diff --git a/.github/workflows/qc_checks.yaml b/.github/workflows/qc_checks.yaml index 2d98aacd989a..37c28301eaf3 100644 --- a/.github/workflows/qc_checks.yaml +++ b/.github/workflows/qc_checks.yaml @@ -551,6 +551,13 @@ jobs: token: ${{ secrets.CODECOV_TOKEN }} slug: inventree/InvenTree flags: pui + - name: Upload bundler info + env: + CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} + run: | + cd src/frontend + yarn install + yarn run build platform_ui_build: name: Build - UI Platform diff --git a/.github/workflows/scorecard.yaml b/.github/workflows/scorecard.yaml index 7088be1b44c3..20424324c1cc 100644 --- a/.github/workflows/scorecard.yaml +++ b/.github/workflows/scorecard.yaml @@ -67,6 +67,6 @@ jobs: # Upload the results to GitHub's code scanning dashboard. - name: "Upload to code-scanning" - uses: github/codeql-action/upload-sarif@4dd16135b69a43b6c8efb853346f8437d92d3c93 # v3.26.6 + uses: github/codeql-action/upload-sarif@8214744c546c1e5c8f03dde8fab3a7353211988d # v3.26.7 with: sarif_file: results.sarif diff --git a/.vscode/tasks.json b/.vscode/tasks.json index 335cc9a67398..830889fb4447 100644 --- a/.vscode/tasks.json +++ b/.vscode/tasks.json @@ -9,7 +9,7 @@ { "label": "worker", "type": "shell", - "command": "invoke int.worker", + "command": "invoke worker", "problemMatcher": [], }, { diff --git a/codecov.yml b/codecov.yml index 79d066e93bd2..a9544d9875b7 100644 --- a/codecov.yml +++ b/codecov.yml @@ -27,3 +27,11 @@ flag_management: statuses: - type: project target: 45% + +comment: + require_bundle_changes: True + bundle_change_threshold: "1Kb" + +bundle_analysis: + warning_threshold: "5%" + status: "informational" diff --git a/contrib/container/dev-docker-compose.yml b/contrib/container/dev-docker-compose.yml index 94e72abfc335..54636da3d56a 100644 --- a/contrib/container/dev-docker-compose.yml +++ b/contrib/container/dev-docker-compose.yml @@ -56,7 +56,7 @@ services: inventree-dev-worker: image: inventree-dev-image build: *build_config - command: invoke int.worker + command: invoke worker depends_on: - inventree-dev-server volumes: diff --git a/contrib/container/docker-compose.yml b/contrib/container/docker-compose.yml index 93440934dbd2..6a0b001f8bf4 100644 --- a/contrib/container/docker-compose.yml +++ b/contrib/container/docker-compose.yml @@ -83,7 +83,7 @@ services: # If you wish to specify a particular InvenTree version, do so here image: inventree/inventree:${INVENTREE_TAG:-stable} container_name: inventree-worker - command: invoke int.worker + command: invoke worker depends_on: - inventree-server env_file: diff --git a/docs/docs/demo.md b/docs/docs/demo.md index 7d097fca25e1..d404c7dd7913 100644 --- a/docs/docs/demo.md +++ b/docs/docs/demo.md @@ -16,6 +16,7 @@ The demo instance has a number of user accounts which you can use to explore the | Username | Password | Staff Access | Enabled | Description | | -------- | -------- | ------------ | ------- | ----------- | +| noaccess | youshallnotpass | No | Yes | Can login, but has no permissions | | allaccess | nolimits | No | Yes | View / create / edit all pages and items | | reader | readonly | No | Yes | Can view all pages but cannot create, edit or delete database records | | engineer | partsonly | No | Yes | Can manage parts, view stock, but no access to purchase orders or sales orders | diff --git a/docs/docs/extend/plugins/panel.md b/docs/docs/extend/plugins/panel.md index f91c175ab121..d19c56847542 100644 --- a/docs/docs/extend/plugins/panel.md +++ b/docs/docs/extend/plugins/panel.md @@ -4,6 +4,12 @@ title: Panel Mixin ## PanelMixin +!!! warning "Legacy User Interface" + This plugin mixin class is designed specifically for the the *legacy* user interface (which is rendered on the server using django templates). The new user interface (which is rendered on the client using React) does not support this mixin class. Instead, refer to the new [User Interface Mixin](./ui.md) class. + +!!! warning "Deprecated Class" + This mixin class is considered deprecated, and will be removed in the 1.0.0 release. + The `PanelMixin` enables plugins to render custom content to "panels" on individual pages in the web interface. Most pages in the web interface support multiple panels, which are selected via the sidebar menu on the left side of the screen: diff --git a/docs/docs/extend/plugins/ui.md b/docs/docs/extend/plugins/ui.md new file mode 100644 index 000000000000..33b58faabeb6 --- /dev/null +++ b/docs/docs/extend/plugins/ui.md @@ -0,0 +1,102 @@ +--- +title: User Interface Mixin +--- + +## User Interface Mixin + +The *User Interface* mixin class provides a set of methods to implement custom functionality for the InvenTree web interface. + +### Enable User Interface Mixin + +To enable user interface plugins, the global setting `ENABLE_PLUGINS_INTERFACE` must be enabled, in the [plugin settings](../../settings/global.md#plugin-settings). + +## Plugin Context + +When rendering certain content in the user interface, the rendering functions are passed a `context` object which contains information about the current page being rendered. The type of the `context` object is defined in the `PluginContext` file: + +{{ includefile("src/frontend/src/components/plugins/PluginContext.tsx", title="Plugin Context", fmt="javascript") }} + +## Custom Panels + +Many of the pages in the InvenTree web interface are built using a series of "panels" which are displayed on the page. Custom panels can be added to these pages, by implementing the `get_custom_panels` method: + +::: plugin.base.integration.UserInterfaceMixin.UserInterfaceMixin.get_custom_panels + options: + show_bases: False + show_root_heading: False + show_root_toc_entry: False + show_sources: True + summary: False + members: [] + +The custom panels can display content which is generated either on the server side, or on the client side (see below). + +### Server Side Rendering + +The panel content can be generated on the server side, by returning a 'content' attribute in the response. This 'content' attribute is expected to be raw HTML, and is rendered directly into the page. This is particularly useful for displaying static content. + +Server-side rendering is simple to implement, and can make use of the powerful Django templating system. + +Refer to the [sample plugin](#sample-plugin) for an example of how to implement server side rendering for custom panels. + +**Advantages:** + +- Simple to implement +- Can use Django templates to render content +- Has access to the full InvenTree database, and content not available on the client side (via the API) + +**Disadvantages:** + +- Content is rendered on the server side, and cannot be updated without a page refresh +- Content is not interactive + +### Client Side Rendering + +The panel content can also be generated on the client side, by returning a 'source' attribute in the response. This 'source' attribute is expected to be a URL which points to a JavaScript file which will be loaded by the client. + +Refer to the [sample plugin](#sample-plugin) for an example of how to implement client side rendering for custom panels. + +#### Panel Render Function + +The JavaScript file must implement a `renderPanel` function, which is called by the client when the panel is rendered. This function is passed two parameters: + +- `target`: The HTML element which the panel content should be rendered into +- `context`: A dictionary of context data which can be used to render the panel content + + +**Example** + +```javascript +export function renderPanel(target, context) { + target.innerHTML = "

Hello, world!

"; +} +``` + +#### Panel Visibility Function + +The JavaScript file can also implement a `isPanelHidden` function, which is called by the client to determine if the panel is displayed. This function is passed a single parameter, *context* - which is the same as the context data passed to the `renderPanel` function. + +The `isPanelHidden` function should return a boolean value, which determines if the panel is displayed or not, based on the context data. + +If the `isPanelHidden` function is not implemented, the panel will be displayed by default. + +**Example** + +```javascript +export function isPanelHidden(context) { + // Only visible for active parts + return context.model == 'part' && context.instance?.active; +} +``` + +## Sample Plugin + +A sample plugin which implements custom user interface functionality is provided in the InvenTree source code: + +::: plugin.samples.integration.user_interface_sample.SampleUserInterfacePlugin + options: + show_bases: False + show_root_heading: False + show_root_toc_entry: False + show_source: True + members: [] diff --git a/docs/docs/faq.md b/docs/docs/faq.md index 17cfdf84fe9e..d8b51ecac651 100644 --- a/docs/docs/faq.md +++ b/docs/docs/faq.md @@ -107,7 +107,7 @@ The background worker process must be started separately to the web-server appli From the top-level source directory, run the following command from a separate terminal, while the server is already running: ``` -invoke int.worker +invoke worker ``` !!! info "Supervisor" diff --git a/docs/docs/settings/global.md b/docs/docs/settings/global.md index d2ecaf44e400..5c4f4b9f5a56 100644 --- a/docs/docs/settings/global.md +++ b/docs/docs/settings/global.md @@ -208,7 +208,6 @@ Refer to the [return order settings](../order/return_order.md#return-order-setti ### Plugin Settings - | Name | Description | Default | Units | | ---- | ----------- | ------- | ----- | {{ globalsetting("PLUGIN_ON_STARTUP") }} @@ -218,3 +217,4 @@ Refer to the [return order settings](../order/return_order.md#return-order-setti {{ globalsetting("ENABLE_PLUGINS_APP") }} {{ globalsetting("ENABLE_PLUGINS_SCHEDULE") }} {{ globalsetting("ENABLE_PLUGINS_EVENTS") }} +{{ globalsetting("ENABLE_PLUGINS_INTERFACE") }} diff --git a/docs/docs/start/bare_dev.md b/docs/docs/start/bare_dev.md index 1e02469c635e..51324570b9d5 100644 --- a/docs/docs/start/bare_dev.md +++ b/docs/docs/start/bare_dev.md @@ -52,7 +52,7 @@ source ./env/bin/activate ### Start Background Worker ``` -(env) invoke int.worker +(env) invoke worker ``` This will start the background process manager in the current shell. diff --git a/docs/docs/start/config.md b/docs/docs/start/config.md index 5653b8a65906..0fa4cf1af868 100644 --- a/docs/docs/start/config.md +++ b/docs/docs/start/config.md @@ -26,7 +26,7 @@ The InvenTree server tries to locate the `config.yaml` configuration file on sta The configuration file *template* can be found on [GitHub]({{ sourcefile("src/backend/InvenTree/config_template.yaml") }}), and is shown below: -{{ includefile("src/backend/InvenTree/config_template.yaml", "Configuration File Template", format="yaml") }} +{{ includefile("src/backend/InvenTree/config_template.yaml", "Configuration File Template", fmt="yaml") }} !!! info "Template File" The default configuration file (as defined by the template linked above) will be copied to the specified configuration file location on first run, if a configuration file is not found in that location. diff --git a/docs/docs/start/docker_install.md b/docs/docs/start/docker_install.md index 489e90489824..1f9d11942a4f 100644 --- a/docs/docs/start/docker_install.md +++ b/docs/docs/start/docker_install.md @@ -247,7 +247,7 @@ index 8adee63..dc3993c 100644 - image: inventree/inventree:${INVENTREE_TAG:-stable} + image: inventree/inventree:${INVENTREE_TAG:-stable}-custom + pull_policy: never - command: invoke int.worker + command: invoke worker depends_on: - inventree-server ``` diff --git a/docs/mkdocs.yml b/docs/mkdocs.yml index 059a7fb10bae..b9d4fdd137ca 100644 --- a/docs/mkdocs.yml +++ b/docs/mkdocs.yml @@ -213,6 +213,7 @@ nav: - Schedule Mixin: extend/plugins/schedule.md - Settings Mixin: extend/plugins/settings.md - URL Mixin: extend/plugins/urls.md + - User Interface Mixin: extend/plugins/ui.md - Validation Mixin: extend/plugins/validation.md - Machines: - Overview: extend/machines/overview.md diff --git a/src/backend/InvenTree/InvenTree/api_version.py b/src/backend/InvenTree/InvenTree/api_version.py index 179bbd692cc8..d7f0ffa89ba6 100644 --- a/src/backend/InvenTree/InvenTree/api_version.py +++ b/src/backend/InvenTree/InvenTree/api_version.py @@ -1,13 +1,22 @@ """InvenTree API version information.""" # InvenTree API version -INVENTREE_API_VERSION = 251 +INVENTREE_API_VERSION = 254 """Increment this API version number whenever there is a significant change to the API that any clients need to know about.""" INVENTREE_API_TEXT = """ +v254 - 2024-09-14 : https://github.com/inventree/InvenTree/pull/7470 + - Implements new API endpoints for enabling custom UI functionality via plugins + +v253 - 2024-09-14 : https://github.com/inventree/InvenTree/pull/7944 + - Adjustments for user API endpoints + +v252 - 2024-09-13 : https://github.com/inventree/InvenTree/pull/8040 + - Add endpoint for listing all known units + v251 - 2024-09-06 : https://github.com/inventree/InvenTree/pull/8018 - Adds "attach_to_model" field to the ReporTemplate model diff --git a/src/backend/InvenTree/InvenTree/management/commands/collectplugins.py b/src/backend/InvenTree/InvenTree/management/commands/collectplugins.py index 77b00f73b53b..ce7df416fcde 100644 --- a/src/backend/InvenTree/InvenTree/management/commands/collectplugins.py +++ b/src/backend/InvenTree/InvenTree/management/commands/collectplugins.py @@ -8,6 +8,7 @@ class Command(BaseCommand): def handle(self, *args, **kwargs): """Run the management command.""" - from plugin.staticfiles import collect_plugins_static_files + import plugin.staticfiles - collect_plugins_static_files() + plugin.staticfiles.collect_plugins_static_files() + plugin.staticfiles.clear_plugins_static_files() diff --git a/src/backend/InvenTree/InvenTree/metadata.py b/src/backend/InvenTree/InvenTree/metadata.py index 3fd29d8c608e..0670c9b3acaa 100644 --- a/src/backend/InvenTree/InvenTree/metadata.py +++ b/src/backend/InvenTree/InvenTree/metadata.py @@ -2,9 +2,13 @@ import logging -from rest_framework import serializers +from django.core.exceptions import PermissionDenied +from django.http import Http404 + +from rest_framework import exceptions, serializers from rest_framework.fields import empty from rest_framework.metadata import SimpleMetadata +from rest_framework.request import clone_request from rest_framework.utils import model_meta import common.models @@ -29,6 +33,40 @@ class InvenTreeMetadata(SimpleMetadata): so we can perform lookup for ForeignKey related fields. """ + def determine_actions(self, request, view): + """Determine the 'actions' available to the user for the given view. + + Note that this differs from the standard DRF implementation, + in that we also allow annotation for the 'GET' method. + + This allows the client to determine what fields are available, + even if they are only for a read (GET) operation. + + See SimpleMetadata.determine_actions for more information. + """ + actions = {} + + for method in {'PUT', 'POST', 'GET'} & set(view.allowed_methods): + view.request = clone_request(request, method) + try: + # Test global permissions + if hasattr(view, 'check_permissions'): + view.check_permissions(view.request) + # Test object permissions + if method == 'PUT' and hasattr(view, 'get_object'): + view.get_object() + except (exceptions.APIException, PermissionDenied, Http404): + pass + else: + # If user has appropriate permissions for the view, include + # appropriate metadata about the fields that should be supplied. + serializer = view.get_serializer() + actions[method] = self.get_serializer_info(serializer) + finally: + view.request = request + + return actions + def determine_metadata(self, request, view): """Overwrite the metadata to adapt to the request user.""" self.request = request @@ -81,6 +119,7 @@ def determine_metadata(self, request, view): # Map the request method to a permission type rolemap = { + 'GET': 'view', 'POST': 'add', 'PUT': 'change', 'PATCH': 'change', @@ -102,10 +141,6 @@ def determine_metadata(self, request, view): if 'DELETE' in view.allowed_methods and check(user, table, 'delete'): actions['DELETE'] = {} - # Add a 'VIEW' action if we are allowed to view - if 'GET' in view.allowed_methods and check(user, table, 'view'): - actions['GET'] = {} - metadata['actions'] = actions except AttributeError: diff --git a/src/backend/InvenTree/InvenTree/models.py b/src/backend/InvenTree/InvenTree/models.py index c57a0ccbcbdb..2d2b558b4ea7 100644 --- a/src/backend/InvenTree/InvenTree/models.py +++ b/src/backend/InvenTree/InvenTree/models.py @@ -439,7 +439,7 @@ def validate_reference_field(cls, value): ) # Check that the reference field can be rebuild - cls.rebuild_reference_field(value, validate=True) + return cls.rebuild_reference_field(value, validate=True) @classmethod def rebuild_reference_field(cls, reference, validate=False): diff --git a/src/backend/InvenTree/InvenTree/permissions.py b/src/backend/InvenTree/InvenTree/permissions.py index f943bcf78ece..42088176aebf 100644 --- a/src/backend/InvenTree/InvenTree/permissions.py +++ b/src/backend/InvenTree/InvenTree/permissions.py @@ -79,6 +79,9 @@ def has_permission(self, request, view): # Extract the model name associated with this request model = get_model_for_view(view) + if model is None: + return True + app_label = model._meta.app_label model_name = model._meta.model_name @@ -99,6 +102,17 @@ def has_permission(self, request, view): return bool(request.user and request.user.is_superuser) +class IsSuperuserOrReadOnly(permissions.IsAdminUser): + """Allow read-only access to any user, but write access is restricted to superuser users.""" + + def has_permission(self, request, view): + """Check if the user is a superuser.""" + return bool( + (request.user and request.user.is_superuser) + or request.method in permissions.SAFE_METHODS + ) + + class IsStaffOrReadOnly(permissions.IsAdminUser): """Allows read-only access to any user, but write access is restricted to staff users.""" diff --git a/src/backend/InvenTree/InvenTree/serializers.py b/src/backend/InvenTree/InvenTree/serializers.py index 72fd0968ccb0..63eb6d9683af 100644 --- a/src/backend/InvenTree/InvenTree/serializers.py +++ b/src/backend/InvenTree/InvenTree/serializers.py @@ -403,18 +403,21 @@ class Meta: read_only_fields = ['username', 'email'] username = serializers.CharField(label=_('Username'), help_text=_('Username')) + first_name = serializers.CharField( label=_('First Name'), help_text=_('First name of the user'), allow_blank=True ) + last_name = serializers.CharField( label=_('Last Name'), help_text=_('Last name of the user'), allow_blank=True ) + email = serializers.EmailField( label=_('Email'), help_text=_('Email address of the user'), allow_blank=True ) -class ExendedUserSerializer(UserSerializer): +class ExtendedUserSerializer(UserSerializer): """Serializer for a User with a bit more info.""" from users.serializers import GroupSerializer @@ -437,9 +440,11 @@ class Meta(UserSerializer.Meta): is_staff = serializers.BooleanField( label=_('Staff'), help_text=_('Does this user have staff permissions') ) + is_superuser = serializers.BooleanField( label=_('Superuser'), help_text=_('Is this user a superuser') ) + is_active = serializers.BooleanField( label=_('Active'), help_text=_('Is this user account active') ) @@ -464,9 +469,33 @@ def validate(self, attrs): return super().validate(attrs) -class UserCreateSerializer(ExendedUserSerializer): +class MeUserSerializer(ExtendedUserSerializer): + """API serializer specifically for the 'me' endpoint.""" + + class Meta(ExtendedUserSerializer.Meta): + """Metaclass options. + + Extends the ExtendedUserSerializer.Meta options, + but ensures that certain fields are read-only. + """ + + read_only_fields = [ + *ExtendedUserSerializer.Meta.read_only_fields, + 'is_active', + 'is_staff', + 'is_superuser', + ] + + +class UserCreateSerializer(ExtendedUserSerializer): """Serializer for creating a new User.""" + class Meta(ExtendedUserSerializer.Meta): + """Metaclass options for the UserCreateSerializer.""" + + # Prevent creation of users with superuser or staff permissions + read_only_fields = ['groups', 'is_staff', 'is_superuser'] + def validate(self, attrs): """Expanded valiadation for auth.""" # Check that the user trying to create a new user is a superuser diff --git a/src/backend/InvenTree/InvenTree/settings.py b/src/backend/InvenTree/InvenTree/settings.py index 8b59306e3c1c..8c10edfb089a 100644 --- a/src/backend/InvenTree/InvenTree/settings.py +++ b/src/backend/InvenTree/InvenTree/settings.py @@ -133,6 +133,34 @@ # Web URL endpoint for served media files MEDIA_URL = '/media/' +# Are plugins enabled? +PLUGINS_ENABLED = get_boolean_setting( + 'INVENTREE_PLUGINS_ENABLED', 'plugins_enabled', False +) + +PLUGINS_INSTALL_DISABLED = get_boolean_setting( + 'INVENTREE_PLUGIN_NOINSTALL', 'plugin_noinstall', False +) + +PLUGIN_FILE = config.get_plugin_file() + +# Plugin test settings +PLUGIN_TESTING = get_setting( + 'INVENTREE_PLUGIN_TESTING', 'PLUGIN_TESTING', TESTING +) # Are plugins being tested? + +PLUGIN_TESTING_SETUP = get_setting( + 'INVENTREE_PLUGIN_TESTING_SETUP', 'PLUGIN_TESTING_SETUP', False +) # Load plugins from setup hooks in testing? + +PLUGIN_TESTING_EVENTS = False # Flag if events are tested right now + +PLUGIN_RETRY = get_setting( + 'INVENTREE_PLUGIN_RETRY', 'PLUGIN_RETRY', 3, typecast=int +) # How often should plugin loading be tried? + +PLUGIN_FILE_CHECKED = False # Was the plugin file checked? + STATICFILES_DIRS = [] # Translated Template settings @@ -153,6 +181,12 @@ if web_dir.exists(): STATICFILES_DIRS.append(web_dir) + # Append directory for sample plugin static content (if in debug mode) + if PLUGINS_ENABLED: + print('Adding plugin sample static content') + STATICFILES_DIRS.append(BASE_DIR.joinpath('plugin', 'samples', 'static')) + + print('-', STATICFILES_DIRS[-1]) STATFILES_I18_PROCESSORS = ['InvenTree.context.status_codes'] # Color Themes Directory @@ -1254,32 +1288,12 @@ MAINTENANCE_MODE_RETRY_AFTER = 10 MAINTENANCE_MODE_STATE_BACKEND = 'InvenTree.backends.InvenTreeMaintenanceModeBackend' -# Are plugins enabled? -PLUGINS_ENABLED = get_boolean_setting( - 'INVENTREE_PLUGINS_ENABLED', 'plugins_enabled', False -) -PLUGINS_INSTALL_DISABLED = get_boolean_setting( - 'INVENTREE_PLUGIN_NOINSTALL', 'plugin_noinstall', False -) - -PLUGIN_FILE = config.get_plugin_file() - -# Plugin test settings -PLUGIN_TESTING = get_setting( - 'INVENTREE_PLUGIN_TESTING', 'PLUGIN_TESTING', TESTING -) # Are plugins being tested? -PLUGIN_TESTING_SETUP = get_setting( - 'INVENTREE_PLUGIN_TESTING_SETUP', 'PLUGIN_TESTING_SETUP', False -) # Load plugins from setup hooks in testing? -PLUGIN_TESTING_EVENTS = False # Flag if events are tested right now -PLUGIN_RETRY = get_setting( - 'INVENTREE_PLUGIN_RETRY', 'PLUGIN_RETRY', 3, typecast=int -) # How often should plugin loading be tried? -PLUGIN_FILE_CHECKED = False # Was the plugin file checked? - # Flag to allow table events during testing TESTING_TABLE_EVENTS = False +# Flag to allow pricing recalculations during testing +TESTING_PRICING = False + # User interface customization values CUSTOM_LOGO = get_custom_file( 'INVENTREE_CUSTOM_LOGO', 'customize.logo', 'custom logo', lookup_media=True diff --git a/src/backend/InvenTree/InvenTree/unit_test.py b/src/backend/InvenTree/InvenTree/unit_test.py index f7832c782b2b..c6409fd6c82a 100644 --- a/src/backend/InvenTree/InvenTree/unit_test.py +++ b/src/backend/InvenTree/InvenTree/unit_test.py @@ -263,7 +263,7 @@ class InvenTreeAPITestCase(ExchangeRateMixin, UserMixin, APITestCase): MAX_QUERY_TIME = 7.5 @contextmanager - def assertNumQueriesLessThan(self, value, using='default', verbose=None, url=None): + def assertNumQueriesLessThan(self, value, using='default', verbose=False, url=None): """Context manager to check that the number of queries is less than a certain value. Example: @@ -281,7 +281,7 @@ def assertNumQueriesLessThan(self, value, using='default', verbose=None, url=Non f'Query count exceeded at {url}: Expected < {value} queries, got {n}' ) # pragma: no cover - if verbose or n >= value: + if verbose and n >= value: msg = f'\r\n{json.dumps(context.captured_queries, indent=4)}' # pragma: no cover else: msg = None @@ -291,6 +291,18 @@ def assertNumQueriesLessThan(self, value, using='default', verbose=None, url=Non self.assertLess(n, value, msg=msg) + @classmethod + def setUpTestData(cls): + """Setup for API tests. + + - Ensure that all global settings are assigned default values. + """ + from common.models import InvenTreeSetting + + InvenTreeSetting.build_default_values() + + super().setUpTestData() + def check_response(self, url, response, expected_code=None): """Debug output for an unexpected response.""" # Check that the response returned the expected status code diff --git a/src/backend/InvenTree/InvenTree/urls.py b/src/backend/InvenTree/InvenTree/urls.py index 03712320e18c..7f6d6c6b37c5 100644 --- a/src/backend/InvenTree/InvenTree/urls.py +++ b/src/backend/InvenTree/InvenTree/urls.py @@ -484,7 +484,7 @@ urlpatterns += frontendpatterns -# Append custom plugin URLs (if plugin support is enabled) +# Append custom plugin URLs (if custom plugin support is enabled) if settings.PLUGINS_ENABLED: urlpatterns.append(get_plugin_urls()) diff --git a/src/backend/InvenTree/build/filters.py b/src/backend/InvenTree/build/filters.py new file mode 100644 index 000000000000..ff3c02a5235e --- /dev/null +++ b/src/backend/InvenTree/build/filters.py @@ -0,0 +1,25 @@ +"""Queryset filtering helper functions for the Build app.""" + + +from django.db import models +from django.db.models import Sum, Q +from django.db.models.functions import Coalesce + + +def annotate_allocated_quantity(queryset: Q) -> Q: + """ + Annotate the 'allocated' quantity for each build item in the queryset. + + Arguments: + queryset: The BuildLine queryset to annotate + + """ + + queryset = queryset.prefetch_related('allocations') + + return queryset.annotate( + allocated=Coalesce( + Sum('allocations__quantity'), 0, + output_field=models.DecimalField() + ) + ) diff --git a/src/backend/InvenTree/build/models.py b/src/backend/InvenTree/build/models.py index 899145f98d6c..9b13dbf1edfa 100644 --- a/src/backend/InvenTree/build/models.py +++ b/src/backend/InvenTree/build/models.py @@ -9,7 +9,7 @@ from django.core.exceptions import ValidationError from django.core.validators import MinValueValidator from django.db import models, transaction -from django.db.models import Sum, Q +from django.db.models import F, Sum, Q from django.db.models.functions import Coalesce from django.db.models.signals import post_save from django.dispatch.dispatcher import receiver @@ -24,6 +24,7 @@ from build.status_codes import BuildStatus, BuildStatusGroups from stock.status_codes import StockStatus, StockHistoryCode +from build.filters import annotate_allocated_quantity from build.validators import generate_next_build_reference, validate_build_order_reference from generic.states import StateTransitionMixin @@ -124,8 +125,7 @@ def barcode_model_type_code(cls): def save(self, *args, **kwargs): """Custom save method for the BuildOrder model""" - self.validate_reference_field(self.reference) - self.reference_int = self.rebuild_reference_field(self.reference) + self.reference_int = self.validate_reference_field(self.reference) # Check part when initially creating the build order if not self.pk or self.has_field_changed('part'): @@ -987,12 +987,13 @@ def trim_allocated_stock(self): items_to_save = [] items_to_delete = [] - lines = self.untracked_line_items - lines = lines.prefetch_related('allocations') + lines = self.untracked_line_items.all() + lines = lines.exclude(bom_item__consumable=True) + lines = annotate_allocated_quantity(lines) for build_line in lines: - reduce_by = build_line.allocated_quantity() - build_line.quantity + reduce_by = build_line.allocated - build_line.quantity if reduce_by <= 0: continue @@ -1290,18 +1291,20 @@ def unallocated_lines(self, tracked=None): """Returns a list of BuildLine objects which have not been fully allocated.""" lines = self.build_lines.all() + # Remove any 'consumable' line items + lines = lines.exclude(bom_item__consumable=True) + 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 = [] + lines = annotate_allocated_quantity(lines) - for line in lines: - if not line.is_fully_allocated(): - unallocated_lines.append(line) + # Filter out any lines which have been fully allocated + lines = lines.filter(allocated__lt=F('quantity')) - return unallocated_lines + return lines def is_fully_allocated(self, tracked=None): """Test if the BuildOrder has been fully allocated. @@ -1314,19 +1317,24 @@ def is_fully_allocated(self, tracked=None): Returns: True if the BuildOrder has been fully allocated, otherwise False """ - lines = self.unallocated_lines(tracked=tracked) - return len(lines) == 0 + + return self.unallocated_lines(tracked=tracked).count() == 0 def is_output_fully_allocated(self, output): """Determine if the specified output (StockItem) has been fully allocated for this build Args: - output: StockItem object + output: StockItem object (the "in production" output to test against) To determine if the output has been fully allocated, we need to test all "trackable" BuildLine objects """ - for line in self.build_lines.filter(bom_item__sub_part__trackable=True): + + lines = self.build_lines.filter(bom_item__sub_part__trackable=True) + lines = lines.exclude(bom_item__consumable=True) + + # Find any lines which have not been fully allocated + for line in lines: # Grab all BuildItem objects which point to this output allocations = BuildItem.objects.filter( build_line=line, @@ -1350,11 +1358,14 @@ def is_overallocated(self): Returns: True if any BuildLine has been over-allocated. """ - for line in self.build_lines.all(): - if line.is_overallocated(): - return True - return False + lines = self.build_lines.all().exclude(bom_item__consumable=True) + lines = annotate_allocated_quantity(lines) + + # Find any lines which have been over-allocated + lines = lines.filter(allocated__gt=F('quantity')) + + return lines.count() > 0 @property def is_active(self): @@ -1692,6 +1703,9 @@ def complete_allocation(self, user, notes=''): - If the referenced part is trackable, the stock item will be *installed* into the build output - If the referenced part is *not* trackable, the stock item will be *consumed* by the build order + + TODO: This is quite expensive (in terms of number of database hits) - and requires some thought + """ item = self.stock_item diff --git a/src/backend/InvenTree/build/test_api.py b/src/backend/InvenTree/build/test_api.py index 9183e1b43650..83af0a7f1dae 100644 --- a/src/backend/InvenTree/build/test_api.py +++ b/src/backend/InvenTree/build/test_api.py @@ -1039,6 +1039,12 @@ def setUpTestData(cls): outputs = cls.build.build_outputs.all() cls.build.complete_build_output(outputs[0], cls.user) + def setUp(self): + """Basic operation as part of test suite setup""" + super().setUp() + + self.generate_exchange_rates() + def test_setup(self): """Validate expected state after set-up.""" self.assertEqual(self.build.incomplete_outputs.count(), 0) @@ -1067,7 +1073,7 @@ def test_overallocated_requires_acceptance(self): 'accept_overallocated': 'accept', }, expected_code=201, - max_query_count=550, # TODO: Come back and refactor this + max_query_count=1000, # TODO: Come back and refactor this ) self.build.refresh_from_db() @@ -1088,9 +1094,11 @@ def test_overallocated_can_trim(self): 'accept_overallocated': 'trim', }, expected_code=201, - max_query_count=600, # TODO: Come back and refactor this + max_query_count=1000, # TODO: Come back and refactor this ) + # Note: Large number of queries is due to pricing recalculation for each stock item + self.build.refresh_from_db() # Build should have been marked as complete diff --git a/src/backend/InvenTree/common/api.py b/src/backend/InvenTree/common/api.py index 7d3a47ea8d1a..e257c31a2f2d 100644 --- a/src/backend/InvenTree/common/api.py +++ b/src/backend/InvenTree/common/api.py @@ -1,6 +1,7 @@ """Provides a JSON API for common components.""" import json +from typing import Type from django.conf import settings from django.contrib.contenttypes.models import ContentType @@ -19,6 +20,7 @@ from djmoney.contrib.exchange.models import ExchangeBackend, Rate from drf_spectacular.utils import OpenApiResponse, extend_schema from error_report.models import Error +from pint._typing import UnitLike from rest_framework import permissions, serializers from rest_framework.exceptions import NotAcceptable, NotFound, PermissionDenied from rest_framework.permissions import IsAdminUser @@ -27,6 +29,7 @@ import common.models import common.serializers +import InvenTree.conversion from common.icons import get_icon_packs from common.settings import get_global_setting from generic.states.api import urlpattern as generic_states_api_urls @@ -533,6 +536,36 @@ class CustomUnitDetail(RetrieveUpdateDestroyAPI): permission_classes = [permissions.IsAuthenticated, IsStaffOrReadOnly] +class AllUnitList(ListAPI): + """List of all defined units.""" + + serializer_class = common.serializers.AllUnitListResponseSerializer + permission_classes = [permissions.IsAuthenticated, IsStaffOrReadOnly] + + def get(self, request, *args, **kwargs): + """Return a list of all available units.""" + reg = InvenTree.conversion.get_unit_registry() + all_units = {k: self.get_unit(reg, k) for k in reg} + data = { + 'default_system': reg.default_system, + 'available_systems': dir(reg.sys), + 'available_units': {k: v for k, v in all_units.items() if v}, + } + return Response(data) + + def get_unit(self, reg, k): + """Parse a unit from the registry.""" + if not hasattr(reg, k): + return None + unit: Type[UnitLike] = getattr(reg, k) + return { + 'name': k, + 'is_alias': reg.get_name(k) == k, + 'compatible_units': [str(a) for a in unit.compatible_units()], + 'isdimensionless': unit.dimensionless, + } + + class ErrorMessageList(BulkDeleteMixin, ListAPI): """List view for server error messages.""" @@ -900,6 +933,7 @@ def get_queryset(self): path('', CustomUnitDetail.as_view(), name='api-custom-unit-detail') ]), ), + path('all/', AllUnitList.as_view(), name='api-all-unit-list'), path('', CustomUnitList.as_view(), name='api-custom-unit-list'), ]), ), diff --git a/src/backend/InvenTree/common/models.py b/src/backend/InvenTree/common/models.py index d8f2fc962af3..f09f60df6f08 100644 --- a/src/backend/InvenTree/common/models.py +++ b/src/backend/InvenTree/common/models.py @@ -2095,6 +2095,13 @@ def save(self, *args, **kwargs): 'validator': bool, 'after_save': reload_plugin_registry, }, + 'ENABLE_PLUGINS_INTERFACE': { + 'name': _('Enable interface integration'), + 'description': _('Enable plugins to integrate into the user interface'), + 'default': False, + 'validator': bool, + 'after_save': reload_plugin_registry, + }, 'PROJECT_CODES_ENABLED': { 'name': _('Enable project codes'), 'description': _('Enable project codes for tracking projects'), diff --git a/src/backend/InvenTree/common/serializers.py b/src/backend/InvenTree/common/serializers.py index e0eec23a4997..991254a1e290 100644 --- a/src/backend/InvenTree/common/serializers.py +++ b/src/backend/InvenTree/common/serializers.py @@ -382,6 +382,22 @@ class Meta: fields = ['pk', 'name', 'symbol', 'definition'] +class AllUnitListResponseSerializer(serializers.Serializer): + """Serializer for the AllUnitList.""" + + class Unit(serializers.Serializer): + """Serializer for the AllUnitListResponseSerializer.""" + + name = serializers.CharField() + is_alias = serializers.BooleanField() + compatible_units = serializers.ListField(child=serializers.CharField()) + isdimensionless = serializers.BooleanField() + + default_system = serializers.CharField() + available_systems = serializers.ListField(child=serializers.CharField()) + available_units = Unit(many=True) + + class ErrorMessageSerializer(InvenTreeModelSerializer): """DRF serializer for server error messages.""" diff --git a/src/backend/InvenTree/common/tests.py b/src/backend/InvenTree/common/tests.py index 826bce15b765..6990fc9c18c7 100644 --- a/src/backend/InvenTree/common/tests.py +++ b/src/backend/InvenTree/common/tests.py @@ -1495,6 +1495,14 @@ def test_validation(self): for name in invalid_name_values: self.patch(url, {'name': name}, expected_code=400) + def test_api(self): + """Test the CustomUnit API.""" + response = self.get(reverse('api-all-unit-list')) + self.assertIn('default_system', response.data) + self.assertIn('available_systems', response.data) + self.assertIn('available_units', response.data) + self.assertEqual(len(response.data['available_units']) > 100, True) + class ContentTypeAPITest(InvenTreeAPITestCase): """Unit tests for the ContentType API.""" diff --git a/src/backend/InvenTree/company/models.py b/src/backend/InvenTree/company/models.py index 11c333c254d3..ec621b0e7ab2 100644 --- a/src/backend/InvenTree/company/models.py +++ b/src/backend/InvenTree/company/models.py @@ -1049,7 +1049,10 @@ def get_api_url(): ) def after_save_supplier_price(sender, instance, created, **kwargs): """Callback function when a SupplierPriceBreak is created or updated.""" - if InvenTree.ready.canAppAccessDatabase() and not InvenTree.ready.isImportingData(): + if ( + InvenTree.ready.canAppAccessDatabase(allow_test=settings.TESTING_PRICING) + and not InvenTree.ready.isImportingData() + ): if instance.part and instance.part.part: instance.part.part.schedule_pricing_update(create=True) @@ -1061,6 +1064,9 @@ def after_save_supplier_price(sender, instance, created, **kwargs): ) def after_delete_supplier_price(sender, instance, **kwargs): """Callback function when a SupplierPriceBreak is deleted.""" - if InvenTree.ready.canAppAccessDatabase() and not InvenTree.ready.isImportingData(): + if ( + InvenTree.ready.canAppAccessDatabase(allow_test=settings.TESTING_PRICING) + and not InvenTree.ready.isImportingData() + ): if instance.part and instance.part.part: instance.part.part.schedule_pricing_update(create=False) diff --git a/src/backend/InvenTree/locale/ar/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/ar/LC_MESSAGES/django.po index 905faad5c674..1dda205ffad0 100644 --- a/src/backend/InvenTree/locale/ar/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/ar/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-08-29 07:07+0000\n" -"PO-Revision-Date: 2024-08-29 07:10\n" +"POT-Creation-Date: 2024-09-16 00:37+0000\n" +"PO-Revision-Date: 2024-09-16 00:40\n" "Last-Translator: \n" "Language-Team: Arabic\n" "Language: ar_SA\n" @@ -65,9 +65,9 @@ msgstr "أدخل التاريخ" #: 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:59 -#: part/models.py:3309 part/templates/part/part_sidebar.html:65 +#: part/models.py:3296 part/templates/part/part_sidebar.html:65 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/admin.py:231 stock/models.py:2369 stock/models.py:2557 +#: stock/admin.py:231 stock/models.py:2367 stock/models.py:2552 #: stock/serializers.py:705 stock/serializers.py:863 stock/serializers.py:989 #: stock/serializers.py:1039 stock/serializers.py:1350 #: stock/serializers.py:1439 stock/serializers.py:1604 @@ -126,7 +126,7 @@ msgstr "يجب عليك كتابة نفس البريد الإلكتروني كل #: InvenTree/forms.py:221 msgid "MFA Registration is disabled." -msgstr "" +msgstr "تسجيل MFA معطل." #: InvenTree/forms.py:259 InvenTree/forms.py:267 msgid "The provided primary email address is not valid." @@ -155,21 +155,21 @@ msgstr "تكرار التسلسل" #: InvenTree/helpers.py:554 InvenTree/helpers.py:597 #, python-brace-format msgid "Invalid group range: {group}" -msgstr "" +msgstr "نطاق المجموعة غير صحيح: {group}" #: InvenTree/helpers.py:585 #, python-brace-format msgid "Group range {group} exceeds allowed quantity ({expected_quantity})" -msgstr "" +msgstr "نطاق المجموعة {group} يتجاوز الكَمّيَّة المسموح بها ({expected_quantity})" #: InvenTree/helpers.py:615 InvenTree/helpers.py:622 InvenTree/helpers.py:641 #, python-brace-format msgid "Invalid group sequence: {group}" -msgstr "" +msgstr "تسلسل المجموعة غير صالح: {group}" #: InvenTree/helpers.py:651 msgid "No serial numbers found" -msgstr "" +msgstr "لم يتم العثور على أرقام متسلسلة" #: InvenTree/helpers.py:656 msgid "Number of unique serial numbers ({len(serials)}) must match quantity ({expected_quantity})" @@ -213,7 +213,7 @@ msgstr "" #: InvenTree/locales.py:18 msgid "Arabic" -msgstr "" +msgstr "العربيّة" #: InvenTree/locales.py:19 msgid "Bulgarian" @@ -364,7 +364,7 @@ msgstr "" msgid "[{site_name}] Log in to the app" msgstr "" -#: InvenTree/magic_login.py:38 InvenTree/serializers.py:413 +#: InvenTree/magic_login.py:38 InvenTree/serializers.py:416 #: company/models.py:133 company/templates/company/company_base.html:138 #: templates/InvenTree/settings/user.html:49 #: templates/js/translated/company.js:677 @@ -419,9 +419,9 @@ msgstr "" msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:767 common/models.py:2704 common/models.py:3131 -#: common/models.py:3351 common/serializers.py:439 company/models.py:590 -#: machine/models.py:24 part/models.py:995 part/models.py:3776 +#: InvenTree/models.py:767 common/models.py:2705 common/models.py:3132 +#: common/models.py:3352 common/serializers.py:455 company/models.py:590 +#: machine/models.py:24 part/models.py:995 part/models.py:3763 #: plugin/models.py:51 report/models.py:149 stock/models.py:82 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -446,10 +446,10 @@ msgstr "" #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 order/models.py:289 #: order/models.py:1406 part/admin.py:305 part/admin.py:411 part/models.py:1018 -#: part/models.py:3791 part/templates/part/category.html:79 +#: part/models.py:3778 part/templates/part/category.html:79 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:155 -#: report/models.py:509 report/models.py:535 +#: report/models.py:517 report/models.py:543 #: report/templates/report/inventree_build_order_report.html:117 #: stock/admin.py:54 stock/models.py:88 stock/templates/stock/location.html:122 #: templates/InvenTree/settings/notifications.html:19 @@ -517,12 +517,12 @@ msgstr "" msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:63 part/models.py:4400 +#: InvenTree/serializers.py:63 part/models.py:4387 msgid "Must be a valid number" msgstr "" #: InvenTree/serializers.py:100 company/models.py:183 -#: company/templates/company/company_base.html:112 part/models.py:3127 +#: company/templates/company/company_base.html:112 part/models.py:3114 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -536,43 +536,43 @@ msgstr "" msgid "Username" msgstr "" -#: InvenTree/serializers.py:407 templates/InvenTree/settings/user.html:37 +#: InvenTree/serializers.py:408 templates/InvenTree/settings/user.html:37 msgid "First Name" msgstr "" -#: InvenTree/serializers.py:407 +#: InvenTree/serializers.py:408 msgid "First name of the user" msgstr "" -#: InvenTree/serializers.py:410 templates/InvenTree/settings/user.html:41 +#: InvenTree/serializers.py:412 templates/InvenTree/settings/user.html:41 msgid "Last Name" msgstr "" -#: InvenTree/serializers.py:410 +#: InvenTree/serializers.py:412 msgid "Last name of the user" msgstr "" -#: InvenTree/serializers.py:413 +#: InvenTree/serializers.py:416 msgid "Email address of the user" msgstr "" -#: InvenTree/serializers.py:438 +#: InvenTree/serializers.py:441 msgid "Staff" msgstr "" -#: InvenTree/serializers.py:438 +#: InvenTree/serializers.py:441 msgid "Does this user have staff permissions" msgstr "" -#: InvenTree/serializers.py:441 +#: InvenTree/serializers.py:445 msgid "Superuser" msgstr "" -#: InvenTree/serializers.py:441 +#: InvenTree/serializers.py:445 msgid "Is this user a superuser" msgstr "" -#: InvenTree/serializers.py:444 common/models.py:2709 company/models.py:160 +#: InvenTree/serializers.py:449 common/models.py:2710 company/models.py:160 #: company/models.py:798 machine/models.py:39 part/admin.py:88 #: part/models.py:1201 plugin/models.py:66 #: templates/js/translated/company.js:523 @@ -585,89 +585,89 @@ msgstr "" msgid "Active" msgstr "" -#: InvenTree/serializers.py:444 +#: InvenTree/serializers.py:449 msgid "Is this user account active" msgstr "" -#: InvenTree/serializers.py:462 +#: InvenTree/serializers.py:467 msgid "You do not have permission to change this user role." msgstr "" -#: InvenTree/serializers.py:474 +#: InvenTree/serializers.py:503 msgid "Only superusers can create new users" msgstr "" -#: InvenTree/serializers.py:493 +#: InvenTree/serializers.py:522 msgid "Your account has been created." msgstr "" -#: InvenTree/serializers.py:495 +#: InvenTree/serializers.py:524 msgid "Please use the password reset function to login" msgstr "" -#: InvenTree/serializers.py:502 +#: InvenTree/serializers.py:531 msgid "Welcome to InvenTree" msgstr "" -#: InvenTree/serializers.py:560 +#: InvenTree/serializers.py:589 msgid "Invalid value" msgstr "" -#: InvenTree/serializers.py:580 importer/models.py:64 +#: InvenTree/serializers.py:609 importer/models.py:64 msgid "Data File" msgstr "" -#: InvenTree/serializers.py:581 +#: InvenTree/serializers.py:610 msgid "Select data file for upload" msgstr "" -#: InvenTree/serializers.py:598 +#: InvenTree/serializers.py:627 msgid "Unsupported file type" msgstr "" -#: InvenTree/serializers.py:604 +#: InvenTree/serializers.py:633 msgid "File is too large" msgstr "" -#: InvenTree/serializers.py:625 +#: InvenTree/serializers.py:654 msgid "No columns found in file" msgstr "" -#: InvenTree/serializers.py:628 +#: InvenTree/serializers.py:657 msgid "No data rows found in file" msgstr "" -#: InvenTree/serializers.py:740 +#: InvenTree/serializers.py:769 msgid "No data rows provided" msgstr "" -#: InvenTree/serializers.py:743 +#: InvenTree/serializers.py:772 msgid "No data columns supplied" msgstr "" -#: InvenTree/serializers.py:809 +#: InvenTree/serializers.py:838 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "" -#: InvenTree/serializers.py:818 +#: InvenTree/serializers.py:847 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "" -#: InvenTree/serializers.py:857 +#: InvenTree/serializers.py:886 msgid "Remote Image" msgstr "" -#: InvenTree/serializers.py:858 +#: InvenTree/serializers.py:887 msgid "URL of remote image file" msgstr "" -#: InvenTree/serializers.py:876 +#: InvenTree/serializers.py:905 msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/status.py:65 part/serializers.py:1267 +#: InvenTree/status.py:65 part/serializers.py:1265 msgid "Background worker check failed" msgstr "" @@ -759,7 +759,7 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:319 build/serializers.py:1332 part/models.py:4278 +#: build/api.py:319 build/serializers.py:1332 part/models.py:4265 #: templates/js/translated/bom.js:997 templates/js/translated/bom.js:1037 #: templates/js/translated/build.js:2705 #: templates/js/translated/table_filters.js:197 @@ -767,7 +767,7 @@ msgstr "" msgid "Consumable" msgstr "" -#: build/api.py:320 build/serializers.py:1333 part/models.py:4272 +#: build/api.py:320 build/serializers.py:1333 part/models.py:4259 #: part/templates/part/upload_bom.html:58 templates/js/translated/bom.js:1001 #: templates/js/translated/bom.js:1028 templates/js/translated/build.js:2696 #: templates/js/translated/table_filters.js:193 @@ -777,7 +777,7 @@ msgid "Optional" msgstr "" #: build/api.py:321 common/models.py:1491 part/admin.py:91 part/admin.py:428 -#: part/models.py:1166 part/serializers.py:1596 +#: part/models.py:1166 part/serializers.py:1594 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:337 #: templates/js/translated/table_filters.js:729 @@ -816,7 +816,7 @@ msgstr "" msgid "Available" msgstr "" -#: build/models.py:87 build/templates/build/build_base.html:9 +#: build/models.py:88 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_report.html:105 #: stock/serializers.py:85 templates/email/build_order_completed.html:16 @@ -825,7 +825,7 @@ msgstr "" msgid "Build Order" msgstr "" -#: build/models.py:88 build/templates/build/build_base.html:13 +#: build/models.py:89 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:111 #: order/templates/order/so_sidebar.html:13 @@ -866,7 +866,7 @@ msgstr "" #: build/models.py:243 build/serializers.py:1331 order/models.py:468 #: order/models.py:979 order/models.py:1366 order/models.py:2128 -#: part/admin.py:414 part/models.py:4293 part/templates/part/upload_bom.html:54 +#: part/admin.py:414 part/models.py:4280 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 @@ -892,11 +892,11 @@ msgstr "" #: build/templates/build/build_base.html:105 #: build/templates/build/detail.html:29 company/models.py:1043 order/api.py:761 #: order/models.py:1496 order/models.py:1651 order/models.py:1652 -#: part/api.py:1506 part/api.py:1806 part/models.py:419 part/models.py:3138 -#: part/models.py:3282 part/models.py:3430 part/models.py:3451 -#: part/models.py:3473 part/models.py:3609 part/models.py:3951 -#: part/models.py:4114 part/models.py:4244 part/models.py:4602 -#: part/serializers.py:1213 part/serializers.py:1857 +#: part/api.py:1506 part/api.py:1806 part/models.py:419 part/models.py:3125 +#: part/models.py:3269 part/models.py:3417 part/models.py:3438 +#: part/models.py:3460 part/models.py:3596 part/models.py:3938 +#: part/models.py:4101 part/models.py:4231 part/models.py:4595 +#: part/serializers.py:1211 part/serializers.py:1855 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -1063,12 +1063,12 @@ msgstr "" #: order/templates/order/return_order_base.html:148 #: order/templates/order/sales_order_base.html:187 #: part/templates/part/part_base.html:399 stock/models.py:859 -#: stock/templates/stock/item_base.html:200 +#: stock/templates/stock/item_base.html:196 #: templates/js/translated/company.js:1019 msgid "External Link" msgstr "" -#: build/models.py:378 common/models.py:3272 part/models.py:1070 +#: build/models.py:378 common/models.py:3273 part/models.py:1070 #: stock/models.py:859 msgid "Link to external URL" msgstr "" @@ -1110,7 +1110,7 @@ msgstr "" msgid "A build order has been completed" msgstr "" -#: build/models.py:968 build/models.py:1056 +#: build/models.py:968 build/models.py:1057 msgid "No build output specified" msgstr "" @@ -1122,37 +1122,37 @@ msgstr "" msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:1060 build/serializers.py:279 build/serializers.py:328 +#: build/models.py:1061 build/serializers.py:279 build/serializers.py:328 #: build/serializers.py:959 order/models.py:565 order/serializers.py:500 -#: order/serializers.py:666 part/serializers.py:1590 part/serializers.py:2019 +#: order/serializers.py:666 part/serializers.py:1588 part/serializers.py:2017 #: stock/models.py:704 stock/models.py:1515 stock/serializers.py:676 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:1065 build/serializers.py:284 +#: build/models.py:1066 build/serializers.py:284 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1125 build/serializers.py:607 +#: build/models.py:1126 build/serializers.py:607 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "" -#: build/models.py:1466 +#: build/models.py:1477 msgid "Build Order Line Item" msgstr "" -#: build/models.py:1491 +#: build/models.py:1502 msgid "Build object" msgstr "" -#: build/models.py:1505 build/models.py:1761 build/serializers.py:266 +#: build/models.py:1516 build/models.py:1775 build/serializers.py:266 #: build/serializers.py:313 build/serializers.py:1339 #: build/templates/build/build_base.html:110 -#: build/templates/build/detail.html:34 common/models.py:2581 +#: build/templates/build/detail.html:34 common/models.py:2582 #: order/models.py:1349 order/models.py:2034 order/serializers.py:1464 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:413 -#: part/forms.py:48 part/models.py:3296 part/models.py:4266 +#: part/forms.py:48 part/models.py:3283 part/models.py:4253 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1163,9 +1163,9 @@ msgstr "" #: report/templates/report/inventree_test_report.html:90 #: report/templates/report/inventree_test_report.html:169 stock/admin.py:160 #: stock/serializers.py:128 stock/serializers.py:168 stock/serializers.py:667 -#: stock/templates/stock/item_base.html:287 -#: stock/templates/stock/item_base.html:295 -#: stock/templates/stock/item_base.html:342 +#: stock/templates/stock/item_base.html:283 +#: stock/templates/stock/item_base.html:291 +#: stock/templates/stock/item_base.html:338 #: templates/email/build_order_completed.html:18 #: templates/js/translated/barcode.js:579 templates/js/translated/bom.js:771 #: templates/js/translated/bom.js:981 templates/js/translated/build.js:525 @@ -1194,41 +1194,41 @@ msgstr "" msgid "Quantity" msgstr "" -#: build/models.py:1506 +#: build/models.py:1517 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1586 +#: build/models.py:1597 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1595 +#: build/models.py:1606 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1605 order/models.py:1985 +#: build/models.py:1616 order/models.py:1985 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1611 order/models.py:1988 +#: build/models.py:1622 order/models.py:1988 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1617 +#: build/models.py:1628 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1676 +#: build/models.py:1687 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1748 build/serializers.py:939 order/serializers.py:1301 +#: build/models.py:1762 build/serializers.py:939 order/serializers.py:1301 #: order/serializers.py:1322 stock/models.py:381 stock/serializers.py:94 #: stock/serializers.py:770 stock/serializers.py:1288 stock/serializers.py:1400 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 -#: stock/templates/stock/item_base.html:194 +#: stock/templates/stock/item_base.html:190 #: templates/js/translated/build.js:1921 #: templates/js/translated/sales_order.js:301 #: templates/js/translated/sales_order.js:1234 @@ -1241,19 +1241,19 @@ msgstr "" msgid "Stock Item" msgstr "" -#: build/models.py:1749 +#: build/models.py:1763 msgid "Source stock item" msgstr "" -#: build/models.py:1762 +#: build/models.py:1776 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1770 +#: build/models.py:1784 msgid "Install into" msgstr "" -#: build/models.py:1771 +#: build/models.py:1785 msgid "Destination stock item" msgstr "" @@ -1262,7 +1262,7 @@ msgid "Build Level" msgstr "" #: build/serializers.py:115 build/serializers.py:1234 build/serializers.py:1323 -#: part/admin.py:41 part/admin.py:408 part/models.py:4116 part/stocktake.py:219 +#: part/admin.py:41 part/admin.py:408 part/models.py:4103 part/stocktake.py:219 #: stock/admin.py:157 msgid "Part Name" msgstr "" @@ -1323,10 +1323,10 @@ msgid "Enter serial numbers for build outputs" msgstr "" #: build/serializers.py:359 build/serializers.py:500 build/serializers.py:572 -#: order/serializers.py:655 order/serializers.py:778 order/serializers.py:1789 -#: part/serializers.py:1233 stock/serializers.py:103 stock/serializers.py:698 +#: order/serializers.py:655 order/serializers.py:778 order/serializers.py:1797 +#: part/serializers.py:1231 stock/serializers.py:103 stock/serializers.py:698 #: stock/serializers.py:858 stock/serializers.py:984 stock/serializers.py:1432 -#: stock/serializers.py:1688 stock/templates/stock/item_base.html:394 +#: stock/serializers.py:1688 stock/templates/stock/item_base.html:390 #: templates/js/translated/barcode.js:578 #: templates/js/translated/barcode.js:826 templates/js/translated/build.js:1035 #: templates/js/translated/build.js:1177 templates/js/translated/build.js:2547 @@ -1390,7 +1390,7 @@ msgstr "" #: build/templates/build/detail.html:62 order/models.py:477 #: order/models.py:1003 order/models.py:2152 order/serializers.py:687 #: stock/admin.py:165 stock/serializers.py:1035 stock/serializers.py:1576 -#: stock/templates/stock/item_base.html:427 +#: stock/templates/stock/item_base.html:423 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2366 #: templates/js/translated/purchase_order.js:1371 #: templates/js/translated/purchase_order.js:1792 @@ -1522,7 +1522,7 @@ msgstr "" msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:1030 order/serializers.py:1614 +#: build/serializers.py:1030 order/serializers.py:1622 msgid "Allocation items must be provided" msgstr "" @@ -1590,7 +1590,7 @@ msgstr "" #: build/serializers.py:1230 company/models.py:849 #: company/templates/company/supplier_part.html:160 order/serializers.py:691 #: stock/admin.py:229 stock/models.py:822 stock/serializers.py:1586 -#: stock/templates/stock/item_base.html:240 +#: stock/templates/stock/item_base.html:236 #: templates/js/translated/company.js:1646 #: templates/js/translated/purchase_order.js:1169 #: templates/js/translated/purchase_order.js:1332 @@ -1600,12 +1600,12 @@ msgid "Packaging" msgstr "" #: build/serializers.py:1233 part/admin.py:39 part/admin.py:398 -#: part/models.py:4115 part/stocktake.py:218 stock/admin.py:153 +#: part/models.py:4102 part/stocktake.py:218 stock/admin.py:153 msgid "Part ID" msgstr "" #: build/serializers.py:1235 build/serializers.py:1324 part/admin.py:402 -#: part/models.py:4117 +#: part/models.py:4104 msgid "Part IPN" msgstr "" @@ -1625,7 +1625,7 @@ msgstr "" #: build/serializers.py:1243 #: report/templates/report/inventree_return_order_report.html:25 #: report/templates/report/inventree_test_report.html:88 stock/models.py:849 -#: stock/serializers.py:152 stock/templates/stock/item_base.html:311 +#: stock/serializers.py:152 stock/templates/stock/item_base.html:307 #: templates/js/translated/build.js:523 templates/js/translated/build.js:1543 #: templates/js/translated/build.js:2530 #: templates/js/translated/model_renderers.js:231 @@ -1644,7 +1644,7 @@ msgstr "" msgid "Allocated Quantity" msgstr "" -#: build/serializers.py:1257 stock/templates/stock/item_base.html:340 +#: build/serializers.py:1257 stock/templates/stock/item_base.html:336 msgid "Available Quantity" msgstr "" @@ -1667,13 +1667,13 @@ msgstr "" msgid "Inherited" msgstr "" -#: build/serializers.py:1337 part/models.py:4326 +#: build/serializers.py:1337 part/models.py:4313 #: part/templates/part/upload_bom.html:56 templates/js/translated/bom.js:1046 #: templates/js/translated/build.js:2714 msgid "Allow Variants" msgstr "" -#: build/serializers.py:1341 part/models.py:4124 part/models.py:4594 +#: build/serializers.py:1341 part/models.py:4111 part/models.py:4587 #: stock/api.py:793 msgid "BOM Item" msgstr "" @@ -1684,7 +1684,7 @@ msgid "Allocated Stock" msgstr "" #: build/serializers.py:1355 order/serializers.py:1179 part/admin.py:132 -#: part/bom.py:186 part/serializers.py:920 part/serializers.py:1623 +#: part/bom.py:186 part/serializers.py:918 part/serializers.py:1621 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 #: templates/js/translated/build.js:2807 templates/js/translated/part.js:712 #: templates/js/translated/part.js:2155 @@ -1692,13 +1692,13 @@ msgstr "" msgid "On Order" msgstr "" -#: build/serializers.py:1360 order/serializers.py:1180 part/serializers.py:1625 +#: build/serializers.py:1360 order/serializers.py:1180 part/serializers.py:1623 #: templates/js/translated/build.js:2811 #: templates/js/translated/table_filters.js:367 msgid "In Production" msgstr "" -#: build/serializers.py:1365 part/bom.py:185 part/serializers.py:1650 +#: build/serializers.py:1365 part/bom.py:185 part/serializers.py:1648 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" @@ -1716,7 +1716,7 @@ msgstr "" msgid "Total Available Stock" msgstr "" -#: build/serializers.py:1372 part/serializers.py:927 +#: build/serializers.py:1372 part/serializers.py:925 msgid "External Stock" msgstr "" @@ -1745,7 +1745,7 @@ msgstr "" #: importer/status_codes.py:27 order/status_codes.py:15 #: order/status_codes.py:50 order/status_codes.py:81 #: order/templates/order/order_base.html:163 -#: order/templates/order/sales_order_base.html:168 report/models.py:443 +#: order/templates/order/sales_order_base.html:168 report/models.py:451 msgid "Complete" msgstr "" @@ -1849,9 +1849,6 @@ msgid "Delete Build" msgstr "" #: build/templates/build/build_base.html:87 -msgid "Isueue Build" -msgstr "" - #: build/templates/build/build_base.html:88 msgid "Issue Build" msgstr "" @@ -1931,7 +1928,7 @@ msgstr "" #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_report.html:135 #: report/templates/report/inventree_sales_order_report.html:14 -#: stock/templates/stock/item_base.html:369 +#: stock/templates/stock/item_base.html:365 #: templates/email/overdue_sales_order.html:15 #: templates/js/translated/pricing.js:929 #: templates/js/translated/sales_order.js:805 @@ -1991,7 +1988,7 @@ msgid "Allocated Parts" msgstr "" #: build/templates/build/detail.html:80 stock/admin.py:163 -#: stock/templates/stock/item_base.html:162 +#: stock/templates/stock/item_base.html:158 #: templates/js/translated/build.js:1556 #: templates/js/translated/model_renderers.js:242 #: templates/js/translated/purchase_order.js:1326 @@ -2148,19 +2145,19 @@ msgstr "" msgid "Test Statistics" msgstr "" -#: common/api.py:692 +#: common/api.py:725 msgid "Is Link" msgstr "" -#: common/api.py:700 +#: common/api.py:733 msgid "Is File" msgstr "" -#: common/api.py:743 +#: common/api.py:776 msgid "User does not have permission to delete these attachments" msgstr "" -#: common/api.py:760 +#: common/api.py:793 msgid "User does not have permission to delete this attachment" msgstr "" @@ -2352,8 +2349,8 @@ msgstr "" #: common/models.py:1297 common/models.py:1353 common/models.py:1366 #: common/models.py:1374 common/models.py:1383 common/models.py:1392 -#: common/models.py:1629 common/models.py:1651 common/models.py:1766 -#: common/models.py:2148 +#: common/models.py:1629 common/models.py:1651 common/models.py:1752 +#: common/models.py:2141 msgid "days" msgstr "" @@ -2581,9 +2578,9 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1485 part/admin.py:108 part/models.py:3959 -#: report/models.py:293 report/models.py:360 report/serializers.py:90 -#: report/serializers.py:131 stock/serializers.py:233 +#: common/models.py:1485 part/admin.py:108 part/models.py:3946 +#: report/models.py:301 report/models.py:368 report/serializers.py:91 +#: report/serializers.py:132 stock/serializers.py:233 #: templates/js/translated/table_filters.js:138 #: templates/js/translated/table_filters.js:775 msgid "Template" @@ -2598,7 +2595,7 @@ msgid "Parts can be assembled from other components by default" msgstr "" #: common/models.py:1497 part/admin.py:95 part/models.py:1172 -#: part/serializers.py:1617 templates/js/translated/table_filters.js:737 +#: part/serializers.py:1615 templates/js/translated/table_filters.js:737 msgid "Component" msgstr "" @@ -2823,7 +2820,7 @@ msgid "Log errors which occur when generating reports" msgstr "" #: common/models.py:1702 plugin/builtin/labels/label_sheet.py:28 -#: report/models.py:301 +#: report/models.py:309 msgid "Page Size" msgstr "" @@ -2832,914 +2829,914 @@ msgid "Default page size for PDF reports" msgstr "" #: common/models.py:1708 -msgid "Enable Test Reports" -msgstr "" - -#: common/models.py:1709 -msgid "Enable generation of test reports" -msgstr "" - -#: common/models.py:1714 -msgid "Attach Test Reports" -msgstr "" - -#: common/models.py:1716 -msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" -msgstr "" - -#: common/models.py:1722 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1723 +#: common/models.py:1709 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1728 +#: common/models.py:1714 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1729 +#: common/models.py:1715 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1734 +#: common/models.py:1720 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1736 +#: common/models.py:1722 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/models.py:1742 +#: common/models.py:1728 msgid "Batch Code Template" msgstr "" -#: common/models.py:1744 +#: common/models.py:1730 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1749 +#: common/models.py:1735 msgid "Stock Expiry" msgstr "" -#: common/models.py:1750 +#: common/models.py:1736 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1755 +#: common/models.py:1741 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1756 +#: common/models.py:1742 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1761 +#: common/models.py:1747 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1763 +#: common/models.py:1749 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1770 +#: common/models.py:1756 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1771 +#: common/models.py:1757 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1776 +#: common/models.py:1762 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1777 +#: common/models.py:1763 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1782 +#: common/models.py:1768 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1783 +#: common/models.py:1769 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1788 +#: common/models.py:1774 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1789 +#: common/models.py:1775 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1794 +#: common/models.py:1780 msgid "Check BOM when installing items" msgstr "" -#: common/models.py:1796 +#: common/models.py:1782 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/models.py:1802 +#: common/models.py:1788 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/models.py:1804 +#: common/models.py:1790 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/models.py:1810 +#: common/models.py:1796 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1812 +#: common/models.py:1798 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1818 common/models.py:1874 common/models.py:1896 -#: common/models.py:1932 +#: common/models.py:1804 common/models.py:1860 common/models.py:1882 +#: common/models.py:1918 msgid "Require Responsible Owner" msgstr "" -#: common/models.py:1819 common/models.py:1875 common/models.py:1897 -#: common/models.py:1933 +#: common/models.py:1805 common/models.py:1861 common/models.py:1883 +#: common/models.py:1919 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/models.py:1824 +#: common/models.py:1810 msgid "Require Active Part" msgstr "" -#: common/models.py:1825 +#: common/models.py:1811 msgid "Prevent build order creation for inactive parts" msgstr "" -#: common/models.py:1830 +#: common/models.py:1816 msgid "Require Locked Part" msgstr "" -#: common/models.py:1831 +#: common/models.py:1817 msgid "Prevent build order creation for unlocked parts" msgstr "" -#: common/models.py:1836 +#: common/models.py:1822 msgid "Require Valid BOM" msgstr "" -#: common/models.py:1838 +#: common/models.py:1824 msgid "Prevent build order creation unless BOM has been validated" msgstr "" -#: common/models.py:1844 +#: common/models.py:1830 msgid "Require Closed Child Orders" msgstr "" -#: common/models.py:1846 +#: common/models.py:1832 msgid "Prevent build order completion until all child orders are closed" msgstr "" -#: common/models.py:1852 +#: common/models.py:1838 msgid "Block Until Tests Pass" msgstr "" -#: common/models.py:1854 +#: common/models.py:1840 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "" -#: common/models.py:1860 +#: common/models.py:1846 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1861 +#: common/models.py:1847 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1866 +#: common/models.py:1852 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1868 +#: common/models.py:1854 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1880 +#: common/models.py:1866 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1882 +#: common/models.py:1868 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1888 +#: common/models.py:1874 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1890 +#: common/models.py:1876 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1902 +#: common/models.py:1888 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1903 +#: common/models.py:1889 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1908 +#: common/models.py:1894 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1910 +#: common/models.py:1896 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1916 +#: common/models.py:1902 msgid "Mark Shipped Orders as Complete" msgstr "" -#: common/models.py:1918 +#: common/models.py:1904 msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status" msgstr "" -#: common/models.py:1924 +#: common/models.py:1910 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1926 +#: common/models.py:1912 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1938 +#: common/models.py:1924 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1940 +#: common/models.py:1926 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1946 +#: common/models.py:1932 msgid "Auto Complete Purchase Orders" msgstr "" -#: common/models.py:1948 +#: common/models.py:1934 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/models.py:1955 +#: common/models.py:1941 msgid "Enable password forgot" msgstr "" -#: common/models.py:1956 +#: common/models.py:1942 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1961 +#: common/models.py:1947 msgid "Enable registration" msgstr "" -#: common/models.py:1962 +#: common/models.py:1948 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1967 +#: common/models.py:1953 msgid "Enable SSO" msgstr "" -#: common/models.py:1968 +#: common/models.py:1954 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1973 +#: common/models.py:1959 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1975 +#: common/models.py:1961 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1981 +#: common/models.py:1967 msgid "Enable SSO group sync" msgstr "" -#: common/models.py:1983 +#: common/models.py:1969 msgid "Enable synchronizing InvenTree groups with groups provided by the IdP" msgstr "" -#: common/models.py:1989 +#: common/models.py:1975 msgid "SSO group key" msgstr "" -#: common/models.py:1991 +#: common/models.py:1977 msgid "The name of the groups claim attribute provided by the IdP" msgstr "" -#: common/models.py:1997 +#: common/models.py:1983 msgid "SSO group map" msgstr "" -#: common/models.py:1999 +#: common/models.py:1985 msgid "A mapping from SSO groups to local InvenTree groups. If the local group does not exist, it will be created." msgstr "" -#: common/models.py:2005 +#: common/models.py:1991 msgid "Remove groups outside of SSO" msgstr "" -#: common/models.py:2007 +#: common/models.py:1993 msgid "Whether groups assigned to the user should be removed if they are not backend by the IdP. Disabling this setting might cause security issues" msgstr "" -#: common/models.py:2013 +#: common/models.py:1999 msgid "Email required" msgstr "" -#: common/models.py:2014 +#: common/models.py:2000 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:2019 +#: common/models.py:2005 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:2021 +#: common/models.py:2007 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:2027 +#: common/models.py:2013 msgid "Mail twice" msgstr "" -#: common/models.py:2028 +#: common/models.py:2014 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:2033 +#: common/models.py:2019 msgid "Password twice" msgstr "" -#: common/models.py:2034 +#: common/models.py:2020 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:2039 +#: common/models.py:2025 msgid "Allowed domains" msgstr "" -#: common/models.py:2041 +#: common/models.py:2027 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:2047 +#: common/models.py:2033 msgid "Group on signup" msgstr "" -#: common/models.py:2049 +#: common/models.py:2035 msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP." msgstr "" -#: common/models.py:2055 +#: common/models.py:2041 msgid "Enforce MFA" msgstr "" -#: common/models.py:2056 +#: common/models.py:2042 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:2061 +#: common/models.py:2047 msgid "Check plugins on startup" msgstr "" -#: common/models.py:2063 +#: common/models.py:2049 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:2071 +#: common/models.py:2057 msgid "Check for plugin updates" msgstr "" -#: common/models.py:2072 +#: common/models.py:2058 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:2078 +#: common/models.py:2064 msgid "Enable URL integration" msgstr "" -#: common/models.py:2079 +#: common/models.py:2065 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:2085 +#: common/models.py:2071 msgid "Enable navigation integration" msgstr "" -#: common/models.py:2086 +#: common/models.py:2072 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:2092 +#: common/models.py:2078 msgid "Enable app integration" msgstr "" -#: common/models.py:2093 +#: common/models.py:2079 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:2099 +#: common/models.py:2085 msgid "Enable schedule integration" msgstr "" -#: common/models.py:2100 +#: common/models.py:2086 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:2106 +#: common/models.py:2092 msgid "Enable event integration" msgstr "" -#: common/models.py:2107 +#: common/models.py:2093 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:2113 +#: common/models.py:2099 +msgid "Enable interface integration" +msgstr "" + +#: common/models.py:2100 +msgid "Enable plugins to integrate into the user interface" +msgstr "" + +#: common/models.py:2106 msgid "Enable project codes" msgstr "" -#: common/models.py:2114 +#: common/models.py:2107 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:2119 +#: common/models.py:2112 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:2121 +#: common/models.py:2114 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:2127 +#: common/models.py:2120 msgid "Exclude External Locations" msgstr "" -#: common/models.py:2129 +#: common/models.py:2122 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/models.py:2135 +#: common/models.py:2128 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:2137 +#: common/models.py:2130 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:2143 +#: common/models.py:2136 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:2145 +#: common/models.py:2138 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:2152 +#: common/models.py:2145 msgid "Display Users full names" msgstr "" -#: common/models.py:2153 +#: common/models.py:2146 msgid "Display Users full names instead of usernames" msgstr "" -#: common/models.py:2158 +#: common/models.py:2151 msgid "Enable Test Station Data" msgstr "" -#: common/models.py:2159 +#: common/models.py:2152 msgid "Enable test station data collection for test results" msgstr "" -#: common/models.py:2171 common/models.py:2551 +#: common/models.py:2157 +msgid "Create Template on Upload" +msgstr "" + +#: common/models.py:2159 +msgid "Create a new test template when uploading test data which does not match an existing template" +msgstr "" + +#: common/models.py:2172 common/models.py:2552 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:2214 +#: common/models.py:2215 msgid "Hide inactive parts" msgstr "" -#: common/models.py:2216 +#: common/models.py:2217 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:2222 +#: common/models.py:2223 msgid "Show subscribed parts" msgstr "" -#: common/models.py:2223 +#: common/models.py:2224 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:2228 +#: common/models.py:2229 msgid "Show subscribed categories" msgstr "" -#: common/models.py:2229 +#: common/models.py:2230 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:2234 +#: common/models.py:2235 msgid "Show latest parts" msgstr "" -#: common/models.py:2235 +#: common/models.py:2236 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:2240 +#: common/models.py:2241 msgid "Show invalid BOMs" msgstr "" -#: common/models.py:2241 +#: common/models.py:2242 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:2246 +#: common/models.py:2247 msgid "Show recent stock changes" msgstr "" -#: common/models.py:2247 +#: common/models.py:2248 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:2252 +#: common/models.py:2253 msgid "Show low stock" msgstr "" -#: common/models.py:2253 +#: common/models.py:2254 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:2258 +#: common/models.py:2259 msgid "Show depleted stock" msgstr "" -#: common/models.py:2259 +#: common/models.py:2260 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:2264 +#: common/models.py:2265 msgid "Show needed stock" msgstr "" -#: common/models.py:2265 +#: common/models.py:2266 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:2270 +#: common/models.py:2271 msgid "Show expired stock" msgstr "" -#: common/models.py:2271 +#: common/models.py:2272 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:2276 +#: common/models.py:2277 msgid "Show stale stock" msgstr "" -#: common/models.py:2277 +#: common/models.py:2278 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:2282 +#: common/models.py:2283 msgid "Show pending builds" msgstr "" -#: common/models.py:2283 +#: common/models.py:2284 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:2288 +#: common/models.py:2289 msgid "Show overdue builds" msgstr "" -#: common/models.py:2289 +#: common/models.py:2290 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:2294 +#: common/models.py:2295 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2295 +#: common/models.py:2296 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2300 +#: common/models.py:2301 msgid "Show overdue POs" msgstr "" -#: common/models.py:2301 +#: common/models.py:2302 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2306 +#: common/models.py:2307 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2307 +#: common/models.py:2308 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2312 +#: common/models.py:2313 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2313 +#: common/models.py:2314 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2318 +#: common/models.py:2319 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2319 +#: common/models.py:2320 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2324 +#: common/models.py:2325 msgid "Show News" msgstr "" -#: common/models.py:2325 +#: common/models.py:2326 msgid "Show news on the homepage" msgstr "" -#: common/models.py:2330 +#: common/models.py:2331 msgid "Inline label display" msgstr "" -#: common/models.py:2332 +#: common/models.py:2333 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2338 +#: common/models.py:2339 msgid "Default label printer" msgstr "" -#: common/models.py:2340 +#: common/models.py:2341 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2346 +#: common/models.py:2347 msgid "Inline report display" msgstr "" -#: common/models.py:2348 +#: common/models.py:2349 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2354 +#: common/models.py:2355 msgid "Search Parts" msgstr "" -#: common/models.py:2355 +#: common/models.py:2356 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2360 +#: common/models.py:2361 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2361 +#: common/models.py:2362 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2366 +#: common/models.py:2367 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2367 +#: common/models.py:2368 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2372 +#: common/models.py:2373 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2373 +#: common/models.py:2374 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2378 +#: common/models.py:2379 msgid "Search Categories" msgstr "" -#: common/models.py:2379 +#: common/models.py:2380 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2384 +#: common/models.py:2385 msgid "Search Stock" msgstr "" -#: common/models.py:2385 +#: common/models.py:2386 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2390 +#: common/models.py:2391 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2392 +#: common/models.py:2393 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2398 +#: common/models.py:2399 msgid "Search Locations" msgstr "" -#: common/models.py:2399 +#: common/models.py:2400 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2404 +#: common/models.py:2405 msgid "Search Companies" msgstr "" -#: common/models.py:2405 +#: common/models.py:2406 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2410 +#: common/models.py:2411 msgid "Search Build Orders" msgstr "" -#: common/models.py:2411 +#: common/models.py:2412 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2416 +#: common/models.py:2417 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2417 +#: common/models.py:2418 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2422 +#: common/models.py:2423 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2424 +#: common/models.py:2425 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2430 +#: common/models.py:2431 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2431 +#: common/models.py:2432 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2436 +#: common/models.py:2437 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2438 +#: common/models.py:2439 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2444 +#: common/models.py:2445 msgid "Search Return Orders" msgstr "" -#: common/models.py:2445 +#: common/models.py:2446 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2450 +#: common/models.py:2451 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2452 +#: common/models.py:2453 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2458 +#: common/models.py:2459 msgid "Search Preview Results" msgstr "" -#: common/models.py:2460 +#: common/models.py:2461 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2466 +#: common/models.py:2467 msgid "Regex Search" msgstr "" -#: common/models.py:2467 +#: common/models.py:2468 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2472 +#: common/models.py:2473 msgid "Whole Word Search" msgstr "" -#: common/models.py:2473 +#: common/models.py:2474 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2478 +#: common/models.py:2479 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2479 +#: common/models.py:2480 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2484 +#: common/models.py:2485 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2485 +#: common/models.py:2486 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2490 +#: common/models.py:2491 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2491 +#: common/models.py:2492 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2496 +#: common/models.py:2497 msgid "Date Format" msgstr "" -#: common/models.py:2497 +#: common/models.py:2498 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2510 part/templates/part/detail.html:41 +#: common/models.py:2511 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2511 +#: common/models.py:2512 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2516 part/templates/part/detail.html:62 +#: common/models.py:2517 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2518 +#: common/models.py:2519 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2524 +#: common/models.py:2525 msgid "Table String Length" msgstr "" -#: common/models.py:2526 +#: common/models.py:2527 msgid "Maximum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2532 +#: common/models.py:2533 msgid "Receive error reports" msgstr "" -#: common/models.py:2533 +#: common/models.py:2534 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2538 +#: common/models.py:2539 msgid "Last used printing machines" msgstr "" -#: common/models.py:2539 +#: common/models.py:2540 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2559 common/models.py:2560 common/models.py:2717 -#: common/models.py:2718 common/models.py:2963 common/models.py:2964 -#: common/models.py:3287 common/models.py:3288 importer/models.py:89 -#: part/models.py:3319 part/models.py:3406 part/models.py:3480 -#: part/models.py:3508 plugin/models.py:274 plugin/models.py:275 +#: common/models.py:2560 common/models.py:2561 common/models.py:2718 +#: common/models.py:2719 common/models.py:2964 common/models.py:2965 +#: common/models.py:3288 common/models.py:3289 importer/models.py:89 +#: part/models.py:3306 part/models.py:3393 part/models.py:3467 +#: part/models.py:3495 plugin/models.py:274 plugin/models.py:275 #: report/templates/report/inventree_test_report.html:105 #: templates/js/translated/stock.js:3121 users/models.py:111 msgid "User" msgstr "" -#: common/models.py:2582 +#: common/models.py:2583 msgid "Price break quantity" msgstr "" -#: common/models.py:2589 company/serializers.py:517 order/admin.py:42 +#: common/models.py:2590 company/serializers.py:517 order/admin.py:42 #: order/models.py:1423 order/models.py:2410 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1892 #: templates/js/translated/pricing.js:621 @@ -3747,96 +3744,96 @@ msgstr "" msgid "Price" msgstr "" -#: common/models.py:2590 +#: common/models.py:2591 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2694 common/models.py:2879 +#: common/models.py:2695 common/models.py:2880 msgid "Endpoint" msgstr "" -#: common/models.py:2695 +#: common/models.py:2696 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2705 +#: common/models.py:2706 msgid "Name for this webhook" msgstr "" -#: common/models.py:2709 +#: common/models.py:2710 msgid "Is this webhook active" msgstr "" -#: common/models.py:2725 users/models.py:159 +#: common/models.py:2726 users/models.py:159 msgid "Token" msgstr "" -#: common/models.py:2726 +#: common/models.py:2727 msgid "Token for access" msgstr "" -#: common/models.py:2734 +#: common/models.py:2735 msgid "Secret" msgstr "" -#: common/models.py:2735 +#: common/models.py:2736 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2843 +#: common/models.py:2844 msgid "Message ID" msgstr "" -#: common/models.py:2844 +#: common/models.py:2845 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2852 +#: common/models.py:2853 msgid "Host" msgstr "" -#: common/models.py:2853 +#: common/models.py:2854 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2861 +#: common/models.py:2862 msgid "Header" msgstr "" -#: common/models.py:2862 +#: common/models.py:2863 msgid "Header of this message" msgstr "" -#: common/models.py:2869 +#: common/models.py:2870 msgid "Body" msgstr "" -#: common/models.py:2870 +#: common/models.py:2871 msgid "Body of this message" msgstr "" -#: common/models.py:2880 +#: common/models.py:2881 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2885 +#: common/models.py:2886 msgid "Worked on" msgstr "" -#: common/models.py:2886 +#: common/models.py:2887 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:3012 +#: common/models.py:3013 msgid "Id" msgstr "" -#: common/models.py:3014 templates/js/translated/company.js:965 +#: common/models.py:3015 templates/js/translated/company.js:965 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:3016 common/models.py:3271 company/models.py:146 +#: common/models.py:3017 common/models.py:3272 company/models.py:146 #: company/models.py:443 company/models.py:509 company/models.py:815 #: order/models.py:303 order/models.py:1378 order/models.py:1810 #: part/admin.py:55 part/models.py:1069 @@ -3853,217 +3850,217 @@ msgstr "" msgid "Link" msgstr "" -#: common/models.py:3018 templates/js/translated/news.js:60 +#: common/models.py:3019 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:3020 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:3021 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:103 msgid "Author" msgstr "" -#: common/models.py:3022 templates/js/translated/news.js:52 +#: common/models.py:3023 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:3025 +#: common/models.py:3026 msgid "Read" msgstr "" -#: common/models.py:3025 +#: common/models.py:3026 msgid "Was this news item read?" msgstr "" -#: common/models.py:3042 company/models.py:156 part/models.py:1079 +#: common/models.py:3043 company/models.py:156 part/models.py:1079 #: 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.html:35 -#: stock/templates/stock/item_base.html:133 templates/503.html:31 +#: stock/templates/stock/item_base.html:129 templates/503.html:31 #: templates/hover_image.html:7 templates/hover_image.html:9 #: templates/modals.html:6 msgid "Image" msgstr "" -#: common/models.py:3042 +#: common/models.py:3043 msgid "Image file" msgstr "" -#: common/models.py:3054 common/models.py:3255 +#: common/models.py:3055 common/models.py:3256 msgid "Target model type for this image" msgstr "" -#: common/models.py:3058 +#: common/models.py:3059 msgid "Target model ID for this image" msgstr "" -#: common/models.py:3080 +#: common/models.py:3081 msgid "Custom Unit" msgstr "" -#: common/models.py:3098 +#: common/models.py:3099 msgid "Unit symbol must be unique" msgstr "" -#: common/models.py:3113 +#: common/models.py:3114 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:3132 +#: common/models.py:3133 msgid "Unit name" msgstr "" -#: common/models.py:3139 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3140 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:3140 +#: common/models.py:3141 msgid "Optional unit symbol" msgstr "" -#: common/models.py:3146 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3147 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:3147 +#: common/models.py:3148 msgid "Unit definition" msgstr "" -#: common/models.py:3205 common/models.py:3262 stock/models.py:2552 +#: common/models.py:3206 common/models.py:3263 stock/models.py:2547 #: stock/serializers.py:244 templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:345 msgid "Attachment" msgstr "" -#: common/models.py:3217 +#: common/models.py:3218 msgid "Missing file" msgstr "" -#: common/models.py:3218 +#: common/models.py:3219 msgid "Missing external link" msgstr "" -#: common/models.py:3263 +#: common/models.py:3264 msgid "Select file to attach" msgstr "" -#: common/models.py:3278 templates/js/translated/attachment.js:120 +#: common/models.py:3279 templates/js/translated/attachment.js:120 #: templates/js/translated/attachment.js:360 msgid "Comment" msgstr "" -#: common/models.py:3279 +#: common/models.py:3280 msgid "Attachment comment" msgstr "" -#: common/models.py:3295 +#: common/models.py:3296 msgid "Upload date" msgstr "" -#: common/models.py:3296 +#: common/models.py:3297 msgid "Date the file was uploaded" msgstr "" -#: common/models.py:3300 +#: common/models.py:3301 msgid "File size" msgstr "" -#: common/models.py:3300 +#: common/models.py:3301 msgid "File size in bytes" msgstr "" -#: common/models.py:3338 common/serializers.py:588 +#: common/models.py:3339 common/serializers.py:604 msgid "Invalid model type specified for attachment" msgstr "" -#: common/models.py:3347 plugin/models.py:43 users/models.py:100 +#: common/models.py:3348 plugin/models.py:43 users/models.py:100 msgid "Key" msgstr "" -#: common/models.py:3348 +#: common/models.py:3349 msgid "Value that will be saved in the models database" msgstr "" -#: common/models.py:3351 +#: common/models.py:3352 msgid "Name of the state" msgstr "" -#: common/models.py:3355 +#: common/models.py:3356 msgid "Label" msgstr "" -#: common/models.py:3356 +#: common/models.py:3357 msgid "Label that will be displayed in the frontend" msgstr "" -#: common/models.py:3362 +#: common/models.py:3363 msgid "Color" msgstr "" -#: common/models.py:3363 +#: common/models.py:3364 msgid "Color that will be displayed in the frontend" msgstr "" -#: common/models.py:3366 +#: common/models.py:3367 msgid "Logical Key" msgstr "" -#: common/models.py:3368 +#: common/models.py:3369 msgid "State logical key that is equal to this custom state in business logic" msgstr "" -#: common/models.py:3376 +#: common/models.py:3377 msgid "Model" msgstr "" -#: common/models.py:3377 +#: common/models.py:3378 msgid "Model this state is associated with" msgstr "" -#: common/models.py:3381 +#: common/models.py:3382 msgid "Reference Status Set" msgstr "" -#: common/models.py:3382 +#: common/models.py:3383 msgid "Status set that is extended with this custom state" msgstr "" -#: common/models.py:3388 +#: common/models.py:3389 msgid "Custom State" msgstr "" -#: common/models.py:3389 +#: common/models.py:3390 msgid "Custom States" msgstr "" -#: common/models.py:3404 +#: common/models.py:3405 msgid "Model must be selected" msgstr "" -#: common/models.py:3407 +#: common/models.py:3408 msgid "Key must be selected" msgstr "" -#: common/models.py:3410 +#: common/models.py:3411 msgid "Logical key must be selected" msgstr "" -#: common/models.py:3414 +#: common/models.py:3415 msgid "Key must be different from logical key" msgstr "" -#: common/models.py:3418 +#: common/models.py:3419 msgid "Reference status must be selected" msgstr "" -#: common/models.py:3430 +#: common/models.py:3431 msgid "Reference status set not found" msgstr "" -#: common/models.py:3436 +#: common/models.py:3437 msgid "Key must be different from the logical keys of the reference status" msgstr "" -#: common/models.py:3442 +#: common/models.py:3443 msgid "Logical key must be in the logical keys of the reference status" msgstr "" @@ -4101,75 +4098,75 @@ msgstr "" msgid "Error raised by plugin" msgstr "" -#: common/serializers.py:402 +#: common/serializers.py:418 msgid "Is Running" msgstr "" -#: common/serializers.py:408 +#: common/serializers.py:424 msgid "Pending Tasks" msgstr "" -#: common/serializers.py:414 +#: common/serializers.py:430 msgid "Scheduled Tasks" msgstr "" -#: common/serializers.py:420 +#: common/serializers.py:436 msgid "Failed Tasks" msgstr "" -#: common/serializers.py:435 +#: common/serializers.py:451 msgid "Task ID" msgstr "" -#: common/serializers.py:435 +#: common/serializers.py:451 msgid "Unique task ID" msgstr "" -#: common/serializers.py:437 +#: common/serializers.py:453 msgid "Lock" msgstr "" -#: common/serializers.py:437 +#: common/serializers.py:453 msgid "Lock time" msgstr "" -#: common/serializers.py:439 +#: common/serializers.py:455 msgid "Task name" msgstr "" -#: common/serializers.py:441 +#: common/serializers.py:457 msgid "Function" msgstr "" -#: common/serializers.py:441 +#: common/serializers.py:457 msgid "Function name" msgstr "" -#: common/serializers.py:443 +#: common/serializers.py:459 msgid "Arguments" msgstr "" -#: common/serializers.py:443 +#: common/serializers.py:459 msgid "Task arguments" msgstr "" -#: common/serializers.py:446 +#: common/serializers.py:462 msgid "Keyword Arguments" msgstr "" -#: common/serializers.py:446 +#: common/serializers.py:462 msgid "Task keyword arguments" msgstr "" -#: common/serializers.py:556 +#: common/serializers.py:572 msgid "Filename" msgstr "" -#: common/serializers.py:563 report/api.py:100 report/serializers.py:53 +#: common/serializers.py:579 report/api.py:100 report/serializers.py:54 msgid "Model Type" msgstr "" -#: common/serializers.py:591 +#: common/serializers.py:607 msgid "User does not have permission to create or edit attachments for this model" msgstr "" @@ -4447,12 +4444,12 @@ msgstr "" #: company/models.py:467 company/models.py:584 company/models.py:808 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 -#: stock/templates/stock/item_base.html:217 +#: stock/templates/stock/item_base.html:213 msgid "Manufacturer Part" msgstr "" #: company/models.py:484 company/models.py:776 stock/models.py:791 -#: stock/serializers.py:452 stock/templates/stock/item_base.html:142 +#: stock/serializers.py:452 stock/templates/stock/item_base.html:138 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" @@ -4463,8 +4460,8 @@ msgstr "" #: company/models.py:495 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:567 -#: stock/templates/stock/item_base.html:207 +#: company/templates/company/supplier_part.html:145 part/serializers.py:565 +#: stock/templates/stock/item_base.html:203 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 #: templates/js/translated/company.js:1296 @@ -4479,7 +4476,7 @@ msgstr "" #: company/models.py:502 company/templates/company/manufacturer_part.html:101 #: company/templates/company/supplier_part.html:153 order/serializers.py:557 -#: part/serializers.py:577 templates/js/translated/company.js:351 +#: part/serializers.py:575 templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 #: templates/js/translated/company.js:1630 templates/js/translated/part.js:1807 @@ -4505,7 +4502,7 @@ msgid "Parameter name" msgstr "" #: company/models.py:597 report/templates/report/inventree_test_report.html:104 -#: stock/models.py:2544 templates/js/translated/company.js:1166 +#: stock/models.py:2539 templates/js/translated/company.js:1166 #: templates/js/translated/company.js:1419 templates/js/translated/part.js:1499 #: templates/js/translated/stock.js:1607 msgid "Value" @@ -4516,7 +4513,7 @@ msgid "Parameter value" msgstr "" #: company/models.py:605 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1159 part/models.py:3783 +#: part/admin.py:57 part/models.py:1159 part/models.py:3770 #: part/templates/part/part_base.html:300 #: templates/js/translated/company.js:1425 templates/js/translated/part.js:1518 #: templates/js/translated/part.js:1622 templates/js/translated/part.js:2376 @@ -4530,7 +4527,7 @@ msgstr "" #: company/models.py:659 company/templates/company/supplier_part.html:7 #: company/templates/company/supplier_part.html:24 order/api.py:440 #: order/serializers.py:492 stock/models.py:802 -#: stock/templates/stock/item_base.html:233 +#: stock/templates/stock/item_base.html:229 #: templates/js/translated/build.js:1055 #: templates/js/translated/company.js:1600 #: templates/js/translated/purchase_order.js:752 @@ -4553,9 +4550,9 @@ msgstr "" #: company/models.py:786 company/templates/company/company_base.html:87 #: company/templates/company/supplier_part.html:129 order/models.py:492 #: order/templates/order/order_base.html:141 part/bom.py:279 part/bom.py:314 -#: part/serializers.py:551 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:549 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 -#: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 +#: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:220 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:511 @@ -4570,7 +4567,7 @@ msgstr "" msgid "Select supplier" msgstr "" -#: company/models.py:793 part/serializers.py:562 +#: company/models.py:793 part/serializers.py:560 msgid "Supplier stock keeping unit" msgstr "" @@ -4591,7 +4588,7 @@ msgid "Supplier part description" msgstr "" #: company/models.py:832 company/templates/company/supplier_part.html:187 -#: order/serializers.py:699 part/admin.py:415 part/models.py:4301 +#: order/serializers.py:699 part/admin.py:415 part/models.py:4288 #: part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 @@ -4603,11 +4600,11 @@ msgstr "" msgid "Note" msgstr "" -#: company/models.py:841 part/models.py:2129 +#: company/models.py:841 part/models.py:2128 msgid "base cost" msgstr "" -#: company/models.py:842 part/models.py:2130 +#: company/models.py:842 part/models.py:2129 msgid "Minimum charge (e.g. stocking fee)" msgstr "" @@ -4629,7 +4626,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:876 part/models.py:2136 +#: company/models.py:876 part/models.py:2135 msgid "multiple" msgstr "" @@ -4661,7 +4658,7 @@ msgstr "" msgid "Company Name" msgstr "" -#: company/serializers.py:397 part/admin.py:126 part/serializers.py:919 +#: company/serializers.py:397 part/admin.py:126 part/serializers.py:917 #: part/templates/part/part_base.html:197 #: templates/js/translated/company.js:1689 #: templates/js/translated/table_filters.js:362 @@ -4735,7 +4732,7 @@ msgstr "" #: order/models.py:2140 order/templates/order/return_order_base.html:134 #: order/templates/order/sales_order_base.html:151 stock/models.py:844 #: stock/models.py:845 stock/serializers.py:1336 -#: stock/templates/stock/item_base.html:405 +#: stock/templates/stock/item_base.html:401 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 #: templates/js/translated/return_order.js:295 @@ -4939,7 +4936,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:925 +#: part/admin.py:122 part/serializers.py:923 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -5030,7 +5027,7 @@ msgid "No supplier information available" msgstr "" #: company/templates/company/supplier_part.html:139 order/serializers.py:554 -#: part/bom.py:286 part/bom.py:315 part/serializers.py:561 +#: part/bom.py:286 part/bom.py:315 part/serializers.py:559 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1793 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1920 @@ -5084,7 +5081,7 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:923 part/stocktake.py:223 +#: part/serializers.py:921 part/stocktake.py:223 #: part/templates/part/category.html:180 #: part/templates/part/category_sidebar.html:17 stock/admin.py:68 #: stock/serializers.py:1021 stock/serializers.py:1199 @@ -5215,7 +5212,7 @@ msgstr "" msgid "Original row data" msgstr "" -#: importer/models.py:504 part/models.py:3965 +#: importer/models.py:504 part/models.py:3952 msgid "Data" msgstr "" @@ -5473,7 +5470,7 @@ msgstr "" #: order/models.py:1592 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_purchase_order_report.html:14 -#: stock/serializers.py:121 stock/templates/stock/item_base.html:176 +#: stock/serializers.py:121 stock/templates/stock/item_base.html:172 #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/part.js:1752 templates/js/translated/pricing.js:804 #: templates/js/translated/purchase_order.js:168 @@ -5694,7 +5691,7 @@ msgid "Number of items received" msgstr "" #: order/models.py:1513 stock/models.py:963 stock/serializers.py:617 -#: stock/templates/stock/item_base.html:183 +#: stock/templates/stock/item_base.html:179 #: templates/js/translated/stock.js:2397 msgid "Purchase Price" msgstr "" @@ -5768,7 +5765,7 @@ msgid "User who checked this shipment" msgstr "" #: order/models.py:1788 order/models.py:2011 order/serializers.py:1479 -#: order/serializers.py:1589 templates/js/translated/model_renderers.js:455 +#: order/serializers.py:1597 templates/js/translated/model_renderers.js:455 msgid "Shipment" msgstr "" @@ -5982,7 +5979,7 @@ msgstr "" msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:656 order/serializers.py:779 order/serializers.py:1790 +#: order/serializers.py:656 order/serializers.py:779 order/serializers.py:1798 msgid "Select destination location for received items" msgstr "" @@ -6019,7 +6016,7 @@ msgstr "" msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:795 order/serializers.py:1806 +#: order/serializers.py:795 order/serializers.py:1814 msgid "Line items must be provided" msgstr "" @@ -6051,39 +6048,39 @@ msgstr "" msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1491 order/serializers.py:1597 +#: order/serializers.py:1491 order/serializers.py:1605 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1494 order/serializers.py:1600 +#: order/serializers.py:1494 order/serializers.py:1608 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1541 +#: order/serializers.py:1549 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1548 -msgid "The following serial numbers are already allocated" +#: order/serializers.py:1556 +msgid "The following serial numbers are unavailable" msgstr "" -#: order/serializers.py:1760 +#: order/serializers.py:1768 msgid "Return order line item" msgstr "" -#: order/serializers.py:1766 +#: order/serializers.py:1774 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1769 +#: order/serializers.py:1777 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1798 +#: order/serializers.py:1806 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1881 +#: order/serializers.py:1889 msgid "Line price currency" msgstr "" @@ -6510,7 +6507,7 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:48 part/models.py:1044 part/serializers.py:908 +#: part/admin.py:48 part/models.py:1044 part/serializers.py:906 #: part/templates/part/part_base.html:276 #: report/templates/report/inventree_stock_location_report.html:103 #: templates/js/translated/part.js:1233 templates/js/translated/part.js:2347 @@ -6537,7 +6534,7 @@ msgstr "" msgid "Category ID" msgstr "" -#: part/admin.py:67 part/admin.py:304 part/serializers.py:893 +#: part/admin.py:67 part/admin.py:304 part/serializers.py:891 #: part/stocktake.py:222 msgid "Category Name" msgstr "" @@ -6562,18 +6559,18 @@ msgstr "" msgid "Used In" msgstr "" -#: part/admin.py:150 part/serializers.py:918 +#: part/admin.py:150 part/serializers.py:916 #: part/templates/part/part_base.html:248 stock/admin.py:236 #: templates/js/translated/part.js:717 templates/js/translated/part.js:2159 msgid "Building" msgstr "" -#: part/admin.py:155 part/models.py:3214 part/models.py:3228 +#: part/admin.py:155 part/models.py:3201 part/models.py:3215 #: templates/js/translated/part.js:976 msgid "Minimum Cost" msgstr "" -#: part/admin.py:158 part/models.py:3221 part/models.py:3235 +#: part/admin.py:158 part/models.py:3208 part/models.py:3222 #: templates/js/translated/part.js:986 msgid "Maximum Cost" msgstr "" @@ -6592,7 +6589,7 @@ msgid "Category Path" msgstr "" #: part/admin.py:325 part/models.py:420 part/serializers.py:130 -#: part/serializers.py:290 part/serializers.py:428 +#: part/serializers.py:290 part/serializers.py:426 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:20 #: part/templates/part/category.html:138 part/templates/part/category.html:158 #: part/templates/part/category_sidebar.html:9 @@ -6619,13 +6616,13 @@ msgstr "" msgid "Part Revision" msgstr "" -#: part/admin.py:418 part/serializers.py:1367 +#: part/admin.py:418 part/serializers.py:1365 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:423 part/serializers.py:1382 +#: part/admin.py:423 part/serializers.py:1380 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -6719,8 +6716,8 @@ msgstr "" msgid "BOM Valid" msgstr "" -#: part/api.py:1520 part/models.py:1036 part/models.py:3501 part/models.py:4060 -#: part/serializers.py:443 part/serializers.py:1223 +#: part/api.py:1520 part/models.py:1036 part/models.py:3488 part/models.py:4047 +#: part/serializers.py:441 part/serializers.py:1221 #: part/templates/part/part_base.html:267 stock/api.py:780 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 @@ -6746,7 +6743,7 @@ msgstr "" msgid "Default Location" msgstr "" -#: part/bom.py:184 part/serializers.py:926 +#: part/bom.py:184 part/serializers.py:924 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -6755,7 +6752,7 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:89 part/models.py:4061 part/templates/part/category.html:16 +#: part/models.py:89 part/models.py:4048 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -6878,7 +6875,7 @@ msgstr "" msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:995 part/models.py:4116 +#: part/models.py:995 part/models.py:4103 msgid "Part name" msgstr "" @@ -6906,7 +6903,7 @@ msgstr "" msgid "Part category" msgstr "" -#: part/models.py:1052 part/serializers.py:360 +#: part/models.py:1052 msgid "Part revision or version number" msgstr "" @@ -7012,164 +7009,164 @@ msgid "Owner responsible for this part" msgstr "" #: part/models.py:1264 part/templates/part/part_base.html:355 -#: stock/templates/stock/item_base.html:451 +#: stock/templates/stock/item_base.html:447 #: templates/js/translated/part.js:2490 msgid "Last Stocktake" msgstr "" -#: part/models.py:2137 +#: part/models.py:2136 msgid "Sell multiple" msgstr "" -#: part/models.py:3128 +#: part/models.py:3115 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3144 +#: part/models.py:3131 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3145 +#: part/models.py:3132 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3151 +#: part/models.py:3138 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3152 +#: part/models.py:3139 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3158 +#: part/models.py:3145 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3159 +#: part/models.py:3146 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3165 +#: part/models.py:3152 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3166 +#: part/models.py:3153 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3172 +#: part/models.py:3159 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3173 +#: part/models.py:3160 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3179 +#: part/models.py:3166 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3180 +#: part/models.py:3167 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3186 +#: part/models.py:3173 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3187 +#: part/models.py:3174 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3193 +#: part/models.py:3180 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3194 +#: part/models.py:3181 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3200 +#: part/models.py:3187 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3201 +#: part/models.py:3188 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3207 +#: part/models.py:3194 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3208 +#: part/models.py:3195 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3215 +#: part/models.py:3202 msgid "Override minimum cost" msgstr "" -#: part/models.py:3222 +#: part/models.py:3209 msgid "Override maximum cost" msgstr "" -#: part/models.py:3229 +#: part/models.py:3216 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3236 +#: part/models.py:3223 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3242 +#: part/models.py:3229 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3243 +#: part/models.py:3230 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3249 +#: part/models.py:3236 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3250 +#: part/models.py:3237 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3256 +#: part/models.py:3243 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3257 +#: part/models.py:3244 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3263 +#: part/models.py:3250 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3264 +#: part/models.py:3251 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3283 +#: part/models.py:3270 msgid "Part for stocktake" msgstr "" -#: part/models.py:3288 +#: part/models.py:3275 msgid "Item Count" msgstr "" -#: part/models.py:3289 +#: part/models.py:3276 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3297 +#: part/models.py:3284 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3301 part/models.py:3384 +#: part/models.py:3288 part/models.py:3371 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -7181,363 +7178,363 @@ msgstr "" msgid "Date" msgstr "" -#: part/models.py:3302 +#: part/models.py:3289 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3310 +#: part/models.py:3297 msgid "Additional notes" msgstr "" -#: part/models.py:3320 +#: part/models.py:3307 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3326 +#: part/models.py:3313 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3327 +#: part/models.py:3314 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3333 +#: part/models.py:3320 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3334 +#: part/models.py:3321 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3390 templates/InvenTree/settings/settings_staff_js.html:532 +#: part/models.py:3377 templates/InvenTree/settings/settings_staff_js.html:532 msgid "Report" msgstr "" -#: part/models.py:3391 +#: part/models.py:3378 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3396 templates/InvenTree/settings/settings_staff_js.html:539 +#: part/models.py:3383 templates/InvenTree/settings/settings_staff_js.html:539 msgid "Part Count" msgstr "" -#: part/models.py:3397 +#: part/models.py:3384 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3407 +#: part/models.py:3394 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3417 +#: part/models.py:3404 msgid "Part Sale Price Break" msgstr "" -#: part/models.py:3529 +#: part/models.py:3516 msgid "Part Test Template" msgstr "" -#: part/models.py:3555 +#: part/models.py:3542 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3576 part/models.py:3745 +#: part/models.py:3563 part/models.py:3732 msgid "Choices must be unique" msgstr "" -#: part/models.py:3587 +#: part/models.py:3574 msgid "Test templates can only be created for testable parts" msgstr "" -#: part/models.py:3598 +#: part/models.py:3585 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3615 templates/js/translated/part.js:2898 +#: part/models.py:3602 templates/js/translated/part.js:2898 msgid "Test Name" msgstr "" -#: part/models.py:3616 +#: part/models.py:3603 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3622 +#: part/models.py:3609 msgid "Test Key" msgstr "" -#: part/models.py:3623 +#: part/models.py:3610 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3630 +#: part/models.py:3617 msgid "Test Description" msgstr "" -#: part/models.py:3631 +#: part/models.py:3618 msgid "Enter description for this test" msgstr "" -#: part/models.py:3635 report/models.py:208 +#: part/models.py:3622 report/models.py:216 #: templates/js/translated/part.js:2919 #: templates/js/translated/table_filters.js:502 msgid "Enabled" msgstr "" -#: part/models.py:3635 +#: part/models.py:3622 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3640 templates/js/translated/part.js:2927 +#: part/models.py:3627 templates/js/translated/part.js:2927 #: templates/js/translated/table_filters.js:498 msgid "Required" msgstr "" -#: part/models.py:3641 +#: part/models.py:3628 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3646 templates/js/translated/part.js:2935 +#: part/models.py:3633 templates/js/translated/part.js:2935 msgid "Requires Value" msgstr "" -#: part/models.py:3647 +#: part/models.py:3634 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3652 templates/js/translated/part.js:2942 +#: part/models.py:3639 templates/js/translated/part.js:2942 msgid "Requires Attachment" msgstr "" -#: part/models.py:3654 +#: part/models.py:3641 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3660 part/models.py:3804 templates/js/translated/part.js:1643 +#: part/models.py:3647 part/models.py:3791 templates/js/translated/part.js:1643 msgid "Choices" msgstr "" -#: part/models.py:3661 +#: part/models.py:3648 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3693 +#: part/models.py:3680 msgid "Part Parameter Template" msgstr "" -#: part/models.py:3720 +#: part/models.py:3707 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3725 +#: part/models.py:3712 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3762 +#: part/models.py:3749 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3777 +#: part/models.py:3764 msgid "Parameter Name" msgstr "" -#: part/models.py:3784 +#: part/models.py:3771 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3792 +#: part/models.py:3779 msgid "Parameter description" msgstr "" -#: part/models.py:3798 templates/js/translated/part.js:1634 +#: part/models.py:3785 templates/js/translated/part.js:1634 #: templates/js/translated/table_filters.js:837 msgid "Checkbox" msgstr "" -#: part/models.py:3799 +#: part/models.py:3786 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3805 +#: part/models.py:3792 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3839 +#: part/models.py:3826 msgid "Part Parameter" msgstr "" -#: part/models.py:3865 +#: part/models.py:3852 msgid "Parameter cannot be modified - part is locked" msgstr "" -#: part/models.py:3903 +#: part/models.py:3890 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3952 +#: part/models.py:3939 msgid "Parent Part" msgstr "" -#: part/models.py:3960 part/models.py:4068 part/models.py:4069 +#: part/models.py:3947 part/models.py:4055 part/models.py:4056 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3966 +#: part/models.py:3953 msgid "Parameter Value" msgstr "" -#: part/models.py:4016 +#: part/models.py:4003 msgid "Part Category Parameter Template" msgstr "" -#: part/models.py:4075 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:4062 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:4076 +#: part/models.py:4063 msgid "Default Parameter Value" msgstr "" -#: part/models.py:4114 +#: part/models.py:4101 msgid "Part ID or part name" msgstr "" -#: part/models.py:4115 +#: part/models.py:4102 msgid "Unique part ID value" msgstr "" -#: part/models.py:4117 +#: part/models.py:4104 msgid "Part IPN value" msgstr "" -#: part/models.py:4118 +#: part/models.py:4105 msgid "Level" msgstr "" -#: part/models.py:4118 +#: part/models.py:4105 msgid "BOM level" msgstr "" -#: part/models.py:4228 +#: part/models.py:4215 msgid "BOM item cannot be modified - assembly is locked" msgstr "" -#: part/models.py:4235 +#: part/models.py:4222 msgid "BOM item cannot be modified - variant assembly is locked" msgstr "" -#: part/models.py:4245 +#: part/models.py:4232 msgid "Select parent part" msgstr "" -#: part/models.py:4255 +#: part/models.py:4242 msgid "Sub part" msgstr "" -#: part/models.py:4256 +#: part/models.py:4243 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4267 +#: part/models.py:4254 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4273 +#: part/models.py:4260 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4279 +#: part/models.py:4266 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4286 part/templates/part/upload_bom.html:55 +#: part/models.py:4273 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4287 +#: part/models.py:4274 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4294 +#: part/models.py:4281 msgid "BOM item reference" msgstr "" -#: part/models.py:4302 +#: part/models.py:4289 msgid "BOM item notes" msgstr "" -#: part/models.py:4308 +#: part/models.py:4295 msgid "Checksum" msgstr "" -#: part/models.py:4309 +#: part/models.py:4296 msgid "BOM line checksum" msgstr "" -#: part/models.py:4314 templates/js/translated/table_filters.js:181 +#: part/models.py:4301 templates/js/translated/table_filters.js:181 msgid "Validated" msgstr "" -#: part/models.py:4315 +#: part/models.py:4302 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4320 part/templates/part/upload_bom.html:57 +#: part/models.py:4307 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:185 #: templates/js/translated/table_filters.js:218 msgid "Gets inherited" msgstr "" -#: part/models.py:4321 +#: part/models.py:4308 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4327 +#: part/models.py:4314 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4412 stock/models.py:689 +#: part/models.py:4399 stock/models.py:689 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4422 part/models.py:4424 +#: part/models.py:4409 part/models.py:4411 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4561 +#: part/models.py:4554 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4582 +#: part/models.py:4575 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4595 +#: part/models.py:4588 msgid "Parent BOM item" msgstr "" -#: part/models.py:4603 +#: part/models.py:4596 msgid "Substitute part" msgstr "" -#: part/models.py:4619 +#: part/models.py:4612 msgid "Part 1" msgstr "" -#: part/models.py:4627 +#: part/models.py:4620 msgid "Part 2" msgstr "" -#: part/models.py:4628 +#: part/models.py:4621 msgid "Select Related Part" msgstr "" -#: part/models.py:4647 +#: part/models.py:4640 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4652 +#: part/models.py:4645 msgid "Duplicate relationship already exists" msgstr "" @@ -7571,326 +7568,326 @@ msgstr "" msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:434 +#: part/serializers.py:432 msgid "No parts selected" msgstr "" -#: part/serializers.py:444 +#: part/serializers.py:442 msgid "Select category" msgstr "" -#: part/serializers.py:479 +#: part/serializers.py:477 msgid "Original Part" msgstr "" -#: part/serializers.py:480 +#: part/serializers.py:478 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:485 +#: part/serializers.py:483 msgid "Copy Image" msgstr "" -#: part/serializers.py:486 +#: part/serializers.py:484 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:492 part/templates/part/detail.html:293 +#: part/serializers.py:490 part/templates/part/detail.html:293 msgid "Copy BOM" msgstr "" -#: part/serializers.py:493 +#: part/serializers.py:491 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:499 +#: part/serializers.py:497 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:500 +#: part/serializers.py:498 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:506 +#: part/serializers.py:504 msgid "Copy Notes" msgstr "" -#: part/serializers.py:507 +#: part/serializers.py:505 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:525 +#: part/serializers.py:523 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:527 +#: part/serializers.py:525 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:534 +#: part/serializers.py:532 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:535 +#: part/serializers.py:533 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:552 +#: part/serializers.py:550 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:568 +#: part/serializers.py:566 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:578 +#: part/serializers.py:576 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:585 +#: part/serializers.py:583 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:594 +#: part/serializers.py:592 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:605 +#: part/serializers.py:603 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:612 +#: part/serializers.py:610 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:924 +#: part/serializers.py:922 msgid "Revisions" msgstr "" -#: part/serializers.py:929 +#: part/serializers.py:927 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:932 +#: part/serializers.py:930 msgid "Variant Stock" msgstr "" -#: part/serializers.py:962 part/templates/part/copy_part.html:9 +#: part/serializers.py:960 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:474 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:963 +#: part/serializers.py:961 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:969 templates/js/translated/part.js:103 +#: part/serializers.py:967 templates/js/translated/part.js:103 msgid "Initial Stock" msgstr "" -#: part/serializers.py:970 +#: part/serializers.py:968 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:976 +#: part/serializers.py:974 msgid "Supplier Information" msgstr "" -#: part/serializers.py:977 +#: part/serializers.py:975 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:985 +#: part/serializers.py:983 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:986 +#: part/serializers.py:984 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:991 +#: part/serializers.py:989 msgid "Existing Image" msgstr "" -#: part/serializers.py:992 +#: part/serializers.py:990 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:1009 +#: part/serializers.py:1007 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1215 +#: part/serializers.py:1213 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1225 +#: part/serializers.py:1223 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1235 +#: part/serializers.py:1233 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1241 +#: part/serializers.py:1239 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1242 +#: part/serializers.py:1240 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1247 +#: part/serializers.py:1245 msgid "Generate Report" msgstr "" -#: part/serializers.py:1248 +#: part/serializers.py:1246 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1253 +#: part/serializers.py:1251 msgid "Update Parts" msgstr "" -#: part/serializers.py:1254 +#: part/serializers.py:1252 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1262 +#: part/serializers.py:1260 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1368 +#: part/serializers.py:1366 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1375 +#: part/serializers.py:1373 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1383 +#: part/serializers.py:1381 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1390 +#: part/serializers.py:1388 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1419 +#: part/serializers.py:1417 msgid "Update" msgstr "" -#: part/serializers.py:1420 +#: part/serializers.py:1418 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1443 +#: part/serializers.py:1441 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1450 +#: part/serializers.py:1448 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1453 +#: part/serializers.py:1451 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1597 +#: part/serializers.py:1595 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1606 +#: part/serializers.py:1604 msgid "Component Name" msgstr "" -#: part/serializers.py:1609 +#: part/serializers.py:1607 msgid "Component IPN" msgstr "" -#: part/serializers.py:1612 +#: part/serializers.py:1610 msgid "Component Description" msgstr "" -#: part/serializers.py:1618 +#: part/serializers.py:1616 msgid "Select the component part" msgstr "" -#: part/serializers.py:1627 part/templates/part/part_base.html:242 +#: part/serializers.py:1625 part/templates/part/part_base.html:242 #: templates/js/translated/bom.js:1219 msgid "Can Build" msgstr "" -#: part/serializers.py:1858 +#: part/serializers.py:1856 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1866 +#: part/serializers.py:1864 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1867 +#: part/serializers.py:1865 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1872 +#: part/serializers.py:1870 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1873 +#: part/serializers.py:1871 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1878 +#: part/serializers.py:1876 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1879 +#: part/serializers.py:1877 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1884 +#: part/serializers.py:1882 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1885 +#: part/serializers.py:1883 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1922 +#: part/serializers.py:1920 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1923 +#: part/serializers.py:1921 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1955 +#: part/serializers.py:1953 msgid "No part column specified" msgstr "" -#: part/serializers.py:1999 +#: part/serializers.py:1997 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:2002 +#: part/serializers.py:2000 msgid "No matching part found" msgstr "" -#: part/serializers.py:2004 +#: part/serializers.py:2002 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:2013 +#: part/serializers.py:2011 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:2021 +#: part/serializers.py:2019 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:2044 +#: part/serializers.py:2042 msgid "At least one BOM item is required" msgstr "" @@ -8216,7 +8213,7 @@ msgid "Subscribe to notifications for this part" msgstr "" #: part/templates/part/part_base.html:52 -#: stock/templates/stock/item_base.html:62 +#: stock/templates/stock/item_base.html:61 #: stock/templates/stock/location.html:71 templates/js/translated/label.js:136 msgid "Print Label" msgstr "" @@ -8226,7 +8223,7 @@ msgid "Show pricing information" msgstr "" #: part/templates/part/part_base.html:63 -#: stock/templates/stock/item_base.html:110 +#: stock/templates/stock/item_base.html:106 #: stock/templates/stock/location.html:80 msgid "Stock actions" msgstr "" @@ -8297,12 +8294,12 @@ msgid "Required for Orders" msgstr "" #: part/templates/part/part_base.html:225 -#: stock/templates/stock/item_base.html:388 +#: stock/templates/stock/item_base.html:384 msgid "Allocated to Build Orders" msgstr "" #: part/templates/part/part_base.html:234 -#: stock/templates/stock/item_base.html:381 +#: stock/templates/stock/item_base.html:377 msgid "Allocated to Sales Orders" msgstr "" @@ -8322,7 +8319,7 @@ msgid "Latest Serial Number" msgstr "" #: part/templates/part/part_base.html:372 -#: stock/templates/stock/item_base.html:322 +#: stock/templates/stock/item_base.html:318 msgid "Search for serial number" msgstr "" @@ -8449,7 +8446,7 @@ msgid "Edit" msgstr "" #: part/templates/part/prices.html:28 stock/admin.py:252 -#: stock/templates/stock/item_base.html:446 +#: stock/templates/stock/item_base.html:442 #: templates/js/translated/company.js:1703 #: templates/js/translated/company.js:1713 #: templates/js/translated/stock.js:2332 @@ -8604,7 +8601,7 @@ msgstr "" msgid "Part Pricing" msgstr "" -#: plugin/api.py:172 +#: plugin/api.py:174 msgid "Plugin cannot be deleted as it is currently active" msgstr "" @@ -8940,7 +8937,7 @@ msgstr "" msgid "Print a border around each label" msgstr "" -#: plugin/builtin/labels/label_sheet.py:47 report/models.py:307 +#: plugin/builtin/labels/label_sheet.py:47 report/models.py:315 msgid "Landscape" msgstr "" @@ -9012,44 +9009,44 @@ msgstr "" msgid "The Supplier which acts as 'TME'" msgstr "" -#: plugin/installer.py:194 plugin/installer.py:274 +#: plugin/installer.py:199 plugin/installer.py:282 msgid "Only staff users can administer plugins" msgstr "" -#: plugin/installer.py:197 +#: plugin/installer.py:202 msgid "Plugin installation is disabled" msgstr "" -#: plugin/installer.py:241 +#: plugin/installer.py:246 msgid "Installed plugin successfully" msgstr "" -#: plugin/installer.py:246 +#: plugin/installer.py:251 #, python-brace-format msgid "Installed plugin into {path}" msgstr "" -#: plugin/installer.py:265 +#: plugin/installer.py:273 msgid "Plugin was not found in registry" msgstr "" -#: plugin/installer.py:268 +#: plugin/installer.py:276 msgid "Plugin is not a packaged plugin" msgstr "" -#: plugin/installer.py:271 +#: plugin/installer.py:279 msgid "Plugin package name not found" msgstr "" -#: plugin/installer.py:291 +#: plugin/installer.py:299 msgid "Plugin uninstalling is disabled" msgstr "" -#: plugin/installer.py:295 +#: plugin/installer.py:303 msgid "Plugin cannot be uninstalled as it is currently active" msgstr "" -#: plugin/installer.py:308 +#: plugin/installer.py:316 msgid "Uninstalled plugin successfully" msgstr "" @@ -9098,7 +9095,7 @@ msgstr "" msgid "Package Plugin" msgstr "" -#: plugin/models.py:220 report/models.py:474 +#: plugin/models.py:220 report/models.py:482 #: templates/InvenTree/settings/plugin_settings.html:9 #: templates/js/translated/plugin.js:51 msgid "Plugin" @@ -9167,6 +9164,38 @@ msgstr "" msgid "InvenTree Contributors" msgstr "" +#: plugin/samples/integration/user_interface_sample.py:22 +msgid "Enable Part Panels" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:23 +msgid "Enable custom panels for Part views" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:28 +msgid "Enable Purchase Order Panels" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:29 +msgid "Enable custom panels for Purchase Order views" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:34 +msgid "Enable Broken Panels" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:35 +msgid "Enable broken panels for testing" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:40 +msgid "Enable Dynamic Panel" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:41 +msgid "Enable dynamic panels for testing" +msgstr "" + #: plugin/serializers.py:81 msgid "Source URL" msgstr "" @@ -9245,12 +9274,36 @@ msgstr "" msgid "Delete the plugin configuration from the database" msgstr "" +#: plugin/serializers.py:324 +msgid "Plugin Key" +msgstr "" + +#: plugin/serializers.py:328 +msgid "Panel Name" +msgstr "" + +#: plugin/serializers.py:332 +msgid "Panel Title" +msgstr "" + +#: plugin/serializers.py:337 +msgid "Panel Icon" +msgstr "" + +#: plugin/serializers.py:341 +msgid "Panel Content (HTML)" +msgstr "" + +#: plugin/serializers.py:345 +msgid "Panel Source (javascript)" +msgstr "" + #: report/api.py:88 msgid "No valid objects provided to template" msgstr "" -#: report/api.py:103 report/models.py:438 report/serializers.py:98 -#: report/serializers.py:148 templates/js/translated/purchase_order.js:1817 +#: report/api.py:103 report/models.py:446 report/serializers.py:99 +#: report/serializers.py:149 templates/js/translated/purchase_order.js:1817 #: templates/js/translated/return_order.js:353 #: templates/js/translated/sales_order.js:887 #: templates/js/translated/sales_order.js:1047 @@ -9281,7 +9334,11 @@ msgstr "" msgid "Error printing label" msgstr "" -#: report/api.py:375 report/api.py:411 +#: report/api.py:358 +msgid "Report saved at time of printing" +msgstr "" + +#: report/api.py:384 report/api.py:420 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" @@ -9318,135 +9375,143 @@ msgstr "" msgid "Revision number (auto-increments)" msgstr "" -#: report/models.py:202 +#: report/models.py:168 +msgid "Attach to Model on Print" +msgstr "" + +#: report/models.py:170 +msgid "Save report output as an attachment against linked model instance when printing" +msgstr "" + +#: report/models.py:210 msgid "Filename Pattern" msgstr "" -#: report/models.py:203 +#: report/models.py:211 msgid "Pattern for generating filenames" msgstr "" -#: report/models.py:208 +#: report/models.py:216 msgid "Template is enabled" msgstr "" -#: report/models.py:214 +#: report/models.py:222 msgid "Target model type for template" msgstr "" -#: report/models.py:234 +#: report/models.py:242 msgid "Filters" msgstr "" -#: report/models.py:235 +#: report/models.py:243 msgid "Template query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:294 report/models.py:361 +#: report/models.py:302 report/models.py:369 msgid "Template file" msgstr "" -#: report/models.py:302 +#: report/models.py:310 msgid "Page size for PDF reports" msgstr "" -#: report/models.py:308 +#: report/models.py:316 msgid "Render report in landscape orientation" msgstr "" -#: report/models.py:367 +#: report/models.py:375 msgid "Width [mm]" msgstr "" -#: report/models.py:368 +#: report/models.py:376 msgid "Label width, specified in mm" msgstr "" -#: report/models.py:374 +#: report/models.py:382 msgid "Height [mm]" msgstr "" -#: report/models.py:375 +#: report/models.py:383 msgid "Label height, specified in mm" msgstr "" -#: report/models.py:438 +#: report/models.py:446 msgid "Number of items to process" msgstr "" -#: report/models.py:444 +#: report/models.py:452 msgid "Report generation is complete" msgstr "" -#: report/models.py:448 templates/js/translated/build.js:2352 +#: report/models.py:456 templates/js/translated/build.js:2352 msgid "Progress" msgstr "" -#: report/models.py:448 +#: report/models.py:456 msgid "Report generation progress" msgstr "" -#: report/models.py:456 +#: report/models.py:464 msgid "Report Template" msgstr "" -#: report/models.py:463 report/models.py:486 +#: report/models.py:471 report/models.py:494 msgid "Output File" msgstr "" -#: report/models.py:464 report/models.py:487 +#: report/models.py:472 report/models.py:495 msgid "Generated output file" msgstr "" -#: report/models.py:475 +#: report/models.py:483 msgid "Label output plugin" msgstr "" -#: report/models.py:479 +#: report/models.py:487 msgid "Label Template" msgstr "" -#: report/models.py:502 +#: report/models.py:510 msgid "Snippet" msgstr "" -#: report/models.py:503 +#: report/models.py:511 msgid "Report snippet file" msgstr "" -#: report/models.py:510 +#: report/models.py:518 msgid "Snippet file description" msgstr "" -#: report/models.py:528 +#: report/models.py:536 msgid "Asset" msgstr "" -#: report/models.py:529 +#: report/models.py:537 msgid "Report asset file" msgstr "" -#: report/models.py:536 +#: report/models.py:544 msgid "Asset file description" msgstr "" -#: report/serializers.py:91 +#: report/serializers.py:92 msgid "Select report template" msgstr "" -#: report/serializers.py:99 report/serializers.py:149 +#: report/serializers.py:100 report/serializers.py:150 msgid "List of item primary keys to include in the report" msgstr "" -#: report/serializers.py:132 +#: report/serializers.py:133 msgid "Select label template" msgstr "" -#: report/serializers.py:140 +#: report/serializers.py:141 msgid "Printing Plugin" msgstr "" -#: report/serializers.py:141 +#: report/serializers.py:142 msgid "Select plugin to use for label printing" msgstr "" @@ -9517,7 +9582,7 @@ msgstr "" msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report.html:103 stock/models.py:2538 +#: report/templates/report/inventree_test_report.html:103 stock/models.py:2533 msgid "Result" msgstr "" @@ -9598,7 +9663,7 @@ msgid "Customer ID" msgstr "" #: stock/admin.py:206 stock/models.py:829 -#: stock/templates/stock/item_base.html:354 +#: stock/templates/stock/item_base.html:350 msgid "Installed In" msgstr "" @@ -9623,7 +9688,7 @@ msgid "Delete on Deplete" msgstr "" #: stock/admin.py:261 stock/models.py:923 -#: stock/templates/stock/item_base.html:433 +#: stock/templates/stock/item_base.html:429 #: templates/js/translated/stock.js:2316 users/models.py:124 msgid "Expiry Date" msgstr "" @@ -9665,7 +9730,7 @@ msgid "Expiry date after" msgstr "" #: stock/api.py:839 stock/serializers.py:611 -#: stock/templates/stock/item_base.html:439 +#: stock/templates/stock/item_base.html:435 #: templates/js/translated/table_filters.js:448 msgid "Stale" msgstr "" @@ -9715,7 +9780,7 @@ msgid "Stock Locations" msgstr "" #: stock/models.py:185 stock/models.py:972 -#: stock/templates/stock/item_base.html:247 +#: stock/templates/stock/item_base.html:243 msgid "Owner" msgstr "" @@ -9826,7 +9891,7 @@ msgstr "" msgid "Build for this stock item" msgstr "" -#: stock/models.py:892 stock/templates/stock/item_base.html:363 +#: stock/models.py:892 stock/templates/stock/item_base.html:359 msgid "Consumed By" msgstr "" @@ -9891,7 +9956,7 @@ msgstr "" msgid "Serial numbers already exist" msgstr "" -#: stock/models.py:1636 +#: stock/models.py:1636 stock/models.py:2436 msgid "Test template does not exist" msgstr "" @@ -9939,67 +10004,67 @@ msgstr "" msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2337 +#: stock/models.py:2335 msgid "Stock Item Tracking" msgstr "" -#: stock/models.py:2370 +#: stock/models.py:2368 msgid "Entry notes" msgstr "" -#: stock/models.py:2410 +#: stock/models.py:2408 msgid "Stock Item Test Result" msgstr "" -#: stock/models.py:2443 +#: stock/models.py:2439 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2448 +#: stock/models.py:2443 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2453 +#: stock/models.py:2448 msgid "Invalid value for this test" msgstr "" -#: stock/models.py:2538 +#: stock/models.py:2533 msgid "Test result" msgstr "" -#: stock/models.py:2545 +#: stock/models.py:2540 msgid "Test output value" msgstr "" -#: stock/models.py:2553 stock/serializers.py:245 +#: stock/models.py:2548 stock/serializers.py:245 msgid "Test result attachment" msgstr "" -#: stock/models.py:2557 +#: stock/models.py:2552 msgid "Test notes" msgstr "" -#: stock/models.py:2565 templates/js/translated/stock.js:1633 +#: stock/models.py:2560 templates/js/translated/stock.js:1633 msgid "Test station" msgstr "" -#: stock/models.py:2566 +#: stock/models.py:2561 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2572 +#: stock/models.py:2567 msgid "Started" msgstr "" -#: stock/models.py:2573 +#: stock/models.py:2568 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2579 +#: stock/models.py:2574 msgid "Finished" msgstr "" -#: stock/models.py:2580 +#: stock/models.py:2575 msgid "The timestamp of the test finish" msgstr "" @@ -10059,7 +10124,7 @@ msgstr "" msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:459 stock/templates/stock/item_base.html:193 +#: stock/serializers.py:459 stock/templates/stock/item_base.html:189 msgid "Parent Item" msgstr "" @@ -10071,7 +10136,7 @@ msgstr "" msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:603 stock/templates/stock/item_base.html:437 +#: stock/serializers.py:603 stock/templates/stock/item_base.html:433 #: templates/js/translated/table_filters.js:442 users/models.py:174 msgid "Expired" msgstr "" @@ -10410,7 +10475,7 @@ msgstr "" msgid "Test Data" msgstr "" -#: stock/templates/stock/item.html:85 stock/templates/stock/item_base.html:65 +#: stock/templates/stock/item.html:85 msgid "Test Report" msgstr "" @@ -10450,200 +10515,204 @@ msgstr "" msgid "Scan to Location" msgstr "" -#: stock/templates/stock/item_base.html:59 +#: stock/templates/stock/item_base.html:58 #: stock/templates/stock/location.html:67 #: templates/js/translated/filters.js:434 msgid "Printing actions" msgstr "" -#: stock/templates/stock/item_base.html:75 +#: stock/templates/stock/item_base.html:63 templates/js/translated/report.js:49 +msgid "Print Report" +msgstr "" + +#: stock/templates/stock/item_base.html:71 msgid "Stock adjustment actions" msgstr "" -#: stock/templates/stock/item_base.html:79 +#: stock/templates/stock/item_base.html:75 #: stock/templates/stock/location.html:87 templates/js/translated/stock.js:1909 msgid "Count stock" msgstr "" -#: stock/templates/stock/item_base.html:81 +#: stock/templates/stock/item_base.html:77 #: templates/js/translated/stock.js:1891 msgid "Add stock" msgstr "" -#: stock/templates/stock/item_base.html:82 +#: stock/templates/stock/item_base.html:78 #: templates/js/translated/stock.js:1900 msgid "Remove stock" msgstr "" -#: stock/templates/stock/item_base.html:85 +#: stock/templates/stock/item_base.html:81 msgid "Serialize stock" msgstr "" -#: stock/templates/stock/item_base.html:88 +#: stock/templates/stock/item_base.html:84 #: stock/templates/stock/location.html:93 templates/js/translated/stock.js:1918 msgid "Transfer stock" msgstr "" -#: stock/templates/stock/item_base.html:91 +#: stock/templates/stock/item_base.html:87 #: templates/js/translated/stock.js:1973 msgid "Assign to customer" msgstr "" -#: stock/templates/stock/item_base.html:94 +#: stock/templates/stock/item_base.html:90 msgid "Return to stock" msgstr "" -#: stock/templates/stock/item_base.html:97 +#: stock/templates/stock/item_base.html:93 msgid "Uninstall stock item" msgstr "" -#: stock/templates/stock/item_base.html:97 +#: stock/templates/stock/item_base.html:93 msgid "Uninstall" msgstr "" -#: stock/templates/stock/item_base.html:101 +#: stock/templates/stock/item_base.html:97 msgid "Install stock item" msgstr "" -#: stock/templates/stock/item_base.html:101 +#: stock/templates/stock/item_base.html:97 msgid "Install" msgstr "" -#: stock/templates/stock/item_base.html:115 +#: stock/templates/stock/item_base.html:111 msgid "Convert to variant" msgstr "" -#: stock/templates/stock/item_base.html:118 +#: stock/templates/stock/item_base.html:114 msgid "Duplicate stock item" msgstr "" -#: stock/templates/stock/item_base.html:120 +#: stock/templates/stock/item_base.html:116 msgid "Edit stock item" msgstr "" -#: stock/templates/stock/item_base.html:123 +#: stock/templates/stock/item_base.html:119 msgid "Delete stock item" msgstr "" -#: stock/templates/stock/item_base.html:169 templates/InvenTree/search.html:139 +#: stock/templates/stock/item_base.html:165 templates/InvenTree/search.html:139 #: templates/js/translated/build.js:2298 templates/navbar.html:38 msgid "Build" msgstr "" -#: stock/templates/stock/item_base.html:211 +#: stock/templates/stock/item_base.html:207 msgid "No manufacturer set" msgstr "" -#: stock/templates/stock/item_base.html:251 +#: stock/templates/stock/item_base.html:247 msgid "You are not in the list of owners of this item. This stock item cannot be edited." msgstr "" -#: stock/templates/stock/item_base.html:252 +#: stock/templates/stock/item_base.html:248 #: stock/templates/stock/location.html:146 msgid "Read only" msgstr "" -#: stock/templates/stock/item_base.html:265 +#: stock/templates/stock/item_base.html:261 msgid "This stock item is unavailable" msgstr "" -#: stock/templates/stock/item_base.html:271 +#: stock/templates/stock/item_base.html:267 msgid "This stock item is in production and cannot be edited." msgstr "" -#: stock/templates/stock/item_base.html:272 +#: stock/templates/stock/item_base.html:268 msgid "Edit the stock item from the build view." msgstr "" -#: stock/templates/stock/item_base.html:287 +#: stock/templates/stock/item_base.html:283 msgid "This stock item is allocated to Sales Order" msgstr "" -#: stock/templates/stock/item_base.html:295 +#: stock/templates/stock/item_base.html:291 msgid "This stock item is allocated to Build Order" msgstr "" -#: stock/templates/stock/item_base.html:311 +#: stock/templates/stock/item_base.html:307 msgid "This stock item is serialized. It has a unique serial number and the quantity cannot be adjusted" msgstr "" -#: stock/templates/stock/item_base.html:317 +#: stock/templates/stock/item_base.html:313 msgid "previous page" msgstr "" -#: stock/templates/stock/item_base.html:317 +#: stock/templates/stock/item_base.html:313 msgid "Navigate to previous serial number" msgstr "" -#: stock/templates/stock/item_base.html:326 +#: stock/templates/stock/item_base.html:322 msgid "next page" msgstr "" -#: stock/templates/stock/item_base.html:326 +#: stock/templates/stock/item_base.html:322 msgid "Navigate to next serial number" msgstr "" -#: stock/templates/stock/item_base.html:398 +#: stock/templates/stock/item_base.html:394 #: templates/js/translated/build.js:2555 msgid "No location set" msgstr "" -#: stock/templates/stock/item_base.html:413 +#: stock/templates/stock/item_base.html:409 msgid "Tests" msgstr "" -#: stock/templates/stock/item_base.html:419 +#: stock/templates/stock/item_base.html:415 msgid "This stock item has not passed all required tests" msgstr "" -#: stock/templates/stock/item_base.html:437 +#: stock/templates/stock/item_base.html:433 #, python-format msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:439 +#: stock/templates/stock/item_base.html:435 #, python-format msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:455 +#: stock/templates/stock/item_base.html:451 msgid "No stocktake performed" msgstr "" -#: stock/templates/stock/item_base.html:504 +#: stock/templates/stock/item_base.html:500 #: templates/js/translated/stock.js:2038 msgid "stock item" msgstr "" -#: stock/templates/stock/item_base.html:527 +#: stock/templates/stock/item_base.html:523 msgid "Edit Stock Status" msgstr "" -#: stock/templates/stock/item_base.html:536 +#: stock/templates/stock/item_base.html:532 msgid "Stock Item QR Code" msgstr "" -#: stock/templates/stock/item_base.html:547 +#: stock/templates/stock/item_base.html:543 msgid "Link Barcode to Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:611 +#: stock/templates/stock/item_base.html:607 msgid "Select one of the part variants listed below." msgstr "" -#: stock/templates/stock/item_base.html:614 +#: stock/templates/stock/item_base.html:610 msgid "Warning" msgstr "" -#: stock/templates/stock/item_base.html:615 +#: stock/templates/stock/item_base.html:611 msgid "This action cannot be easily undone" msgstr "" -#: stock/templates/stock/item_base.html:623 +#: stock/templates/stock/item_base.html:619 msgid "Convert Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:656 +#: stock/templates/stock/item_base.html:652 msgid "Return to Stock" msgstr "" @@ -11310,7 +11379,7 @@ msgid "Delete Location Type" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:503 -#: templates/InvenTree/settings/stock.html:38 +#: templates/InvenTree/settings/stock.html:39 msgid "New Location Type" msgstr "" @@ -11367,7 +11436,7 @@ msgstr "" msgid "Stock Settings" msgstr "" -#: templates/InvenTree/settings/stock.html:34 +#: templates/InvenTree/settings/stock.html:35 msgid "Stock Location Types" msgstr "" @@ -11852,23 +11921,23 @@ msgstr "" msgid "Barcode Identifier" msgstr "" -#: templates/base.html:103 +#: templates/base.html:102 msgid "Server Restart Required" msgstr "" -#: templates/base.html:106 +#: templates/base.html:105 msgid "A configuration option has been changed which requires a server restart" msgstr "" -#: templates/base.html:106 templates/base.html:116 +#: templates/base.html:105 templates/base.html:115 msgid "Contact your system administrator for further information" msgstr "" -#: templates/base.html:113 +#: templates/base.html:112 msgid "Pending Database Migrations" msgstr "" -#: templates/base.html:116 +#: templates/base.html:115 msgid "There are pending database migrations which require attention" msgstr "" @@ -13946,10 +14015,6 @@ msgstr "" msgid "Delete line item" msgstr "" -#: templates/js/translated/report.js:49 -msgid "Print Report" -msgstr "" - #: templates/js/translated/report.js:68 msgid "Report print successful" msgstr "" diff --git a/src/backend/InvenTree/locale/bg/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/bg/LC_MESSAGES/django.po index 0902a240ab44..e2db3b7d1406 100644 --- a/src/backend/InvenTree/locale/bg/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/bg/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-08-29 07:07+0000\n" -"PO-Revision-Date: 2024-08-29 07:10\n" +"POT-Creation-Date: 2024-09-16 00:37+0000\n" +"PO-Revision-Date: 2024-09-16 00:40\n" "Last-Translator: \n" "Language-Team: Bulgarian\n" "Language: bg_BG\n" @@ -65,9 +65,9 @@ msgstr "Въведи дата" #: 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:59 -#: part/models.py:3309 part/templates/part/part_sidebar.html:65 +#: part/models.py:3296 part/templates/part/part_sidebar.html:65 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/admin.py:231 stock/models.py:2369 stock/models.py:2557 +#: stock/admin.py:231 stock/models.py:2367 stock/models.py:2552 #: stock/serializers.py:705 stock/serializers.py:863 stock/serializers.py:989 #: stock/serializers.py:1039 stock/serializers.py:1350 #: stock/serializers.py:1439 stock/serializers.py:1604 @@ -364,7 +364,7 @@ msgstr "Китайски (традиционен)" msgid "[{site_name}] Log in to the app" msgstr "" -#: InvenTree/magic_login.py:38 InvenTree/serializers.py:413 +#: InvenTree/magic_login.py:38 InvenTree/serializers.py:416 #: company/models.py:133 company/templates/company/company_base.html:138 #: templates/InvenTree/settings/user.html:49 #: templates/js/translated/company.js:677 @@ -419,9 +419,9 @@ msgstr "" msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:767 common/models.py:2704 common/models.py:3131 -#: common/models.py:3351 common/serializers.py:439 company/models.py:590 -#: machine/models.py:24 part/models.py:995 part/models.py:3776 +#: InvenTree/models.py:767 common/models.py:2705 common/models.py:3132 +#: common/models.py:3352 common/serializers.py:455 company/models.py:590 +#: machine/models.py:24 part/models.py:995 part/models.py:3763 #: plugin/models.py:51 report/models.py:149 stock/models.py:82 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -446,10 +446,10 @@ msgstr "" #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 order/models.py:289 #: order/models.py:1406 part/admin.py:305 part/admin.py:411 part/models.py:1018 -#: part/models.py:3791 part/templates/part/category.html:79 +#: part/models.py:3778 part/templates/part/category.html:79 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:155 -#: report/models.py:509 report/models.py:535 +#: report/models.py:517 report/models.py:543 #: report/templates/report/inventree_build_order_report.html:117 #: stock/admin.py:54 stock/models.py:88 stock/templates/stock/location.html:122 #: templates/InvenTree/settings/notifications.html:19 @@ -517,12 +517,12 @@ msgstr "" msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:63 part/models.py:4400 +#: InvenTree/serializers.py:63 part/models.py:4387 msgid "Must be a valid number" msgstr "" #: InvenTree/serializers.py:100 company/models.py:183 -#: company/templates/company/company_base.html:112 part/models.py:3127 +#: company/templates/company/company_base.html:112 part/models.py:3114 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -536,43 +536,43 @@ msgstr "" msgid "Username" msgstr "" -#: InvenTree/serializers.py:407 templates/InvenTree/settings/user.html:37 +#: InvenTree/serializers.py:408 templates/InvenTree/settings/user.html:37 msgid "First Name" msgstr "" -#: InvenTree/serializers.py:407 +#: InvenTree/serializers.py:408 msgid "First name of the user" msgstr "" -#: InvenTree/serializers.py:410 templates/InvenTree/settings/user.html:41 +#: InvenTree/serializers.py:412 templates/InvenTree/settings/user.html:41 msgid "Last Name" msgstr "" -#: InvenTree/serializers.py:410 +#: InvenTree/serializers.py:412 msgid "Last name of the user" msgstr "" -#: InvenTree/serializers.py:413 +#: InvenTree/serializers.py:416 msgid "Email address of the user" msgstr "" -#: InvenTree/serializers.py:438 +#: InvenTree/serializers.py:441 msgid "Staff" msgstr "" -#: InvenTree/serializers.py:438 +#: InvenTree/serializers.py:441 msgid "Does this user have staff permissions" msgstr "" -#: InvenTree/serializers.py:441 +#: InvenTree/serializers.py:445 msgid "Superuser" msgstr "" -#: InvenTree/serializers.py:441 +#: InvenTree/serializers.py:445 msgid "Is this user a superuser" msgstr "" -#: InvenTree/serializers.py:444 common/models.py:2709 company/models.py:160 +#: InvenTree/serializers.py:449 common/models.py:2710 company/models.py:160 #: company/models.py:798 machine/models.py:39 part/admin.py:88 #: part/models.py:1201 plugin/models.py:66 #: templates/js/translated/company.js:523 @@ -585,89 +585,89 @@ msgstr "" msgid "Active" msgstr "" -#: InvenTree/serializers.py:444 +#: InvenTree/serializers.py:449 msgid "Is this user account active" msgstr "" -#: InvenTree/serializers.py:462 +#: InvenTree/serializers.py:467 msgid "You do not have permission to change this user role." msgstr "" -#: InvenTree/serializers.py:474 +#: InvenTree/serializers.py:503 msgid "Only superusers can create new users" msgstr "" -#: InvenTree/serializers.py:493 +#: InvenTree/serializers.py:522 msgid "Your account has been created." msgstr "" -#: InvenTree/serializers.py:495 +#: InvenTree/serializers.py:524 msgid "Please use the password reset function to login" msgstr "" -#: InvenTree/serializers.py:502 +#: InvenTree/serializers.py:531 msgid "Welcome to InvenTree" msgstr "" -#: InvenTree/serializers.py:560 +#: InvenTree/serializers.py:589 msgid "Invalid value" msgstr "" -#: InvenTree/serializers.py:580 importer/models.py:64 +#: InvenTree/serializers.py:609 importer/models.py:64 msgid "Data File" msgstr "" -#: InvenTree/serializers.py:581 +#: InvenTree/serializers.py:610 msgid "Select data file for upload" msgstr "" -#: InvenTree/serializers.py:598 +#: InvenTree/serializers.py:627 msgid "Unsupported file type" msgstr "" -#: InvenTree/serializers.py:604 +#: InvenTree/serializers.py:633 msgid "File is too large" msgstr "" -#: InvenTree/serializers.py:625 +#: InvenTree/serializers.py:654 msgid "No columns found in file" msgstr "" -#: InvenTree/serializers.py:628 +#: InvenTree/serializers.py:657 msgid "No data rows found in file" msgstr "" -#: InvenTree/serializers.py:740 +#: InvenTree/serializers.py:769 msgid "No data rows provided" msgstr "" -#: InvenTree/serializers.py:743 +#: InvenTree/serializers.py:772 msgid "No data columns supplied" msgstr "" -#: InvenTree/serializers.py:809 +#: InvenTree/serializers.py:838 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "" -#: InvenTree/serializers.py:818 +#: InvenTree/serializers.py:847 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "" -#: InvenTree/serializers.py:857 +#: InvenTree/serializers.py:886 msgid "Remote Image" msgstr "" -#: InvenTree/serializers.py:858 +#: InvenTree/serializers.py:887 msgid "URL of remote image file" msgstr "" -#: InvenTree/serializers.py:876 +#: InvenTree/serializers.py:905 msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/status.py:65 part/serializers.py:1267 +#: InvenTree/status.py:65 part/serializers.py:1265 msgid "Background worker check failed" msgstr "" @@ -759,7 +759,7 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:319 build/serializers.py:1332 part/models.py:4278 +#: build/api.py:319 build/serializers.py:1332 part/models.py:4265 #: templates/js/translated/bom.js:997 templates/js/translated/bom.js:1037 #: templates/js/translated/build.js:2705 #: templates/js/translated/table_filters.js:197 @@ -767,7 +767,7 @@ msgstr "" msgid "Consumable" msgstr "" -#: build/api.py:320 build/serializers.py:1333 part/models.py:4272 +#: build/api.py:320 build/serializers.py:1333 part/models.py:4259 #: part/templates/part/upload_bom.html:58 templates/js/translated/bom.js:1001 #: templates/js/translated/bom.js:1028 templates/js/translated/build.js:2696 #: templates/js/translated/table_filters.js:193 @@ -777,7 +777,7 @@ msgid "Optional" msgstr "" #: build/api.py:321 common/models.py:1491 part/admin.py:91 part/admin.py:428 -#: part/models.py:1166 part/serializers.py:1596 +#: part/models.py:1166 part/serializers.py:1594 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:337 #: templates/js/translated/table_filters.js:729 @@ -816,7 +816,7 @@ msgstr "" msgid "Available" msgstr "" -#: build/models.py:87 build/templates/build/build_base.html:9 +#: build/models.py:88 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_report.html:105 #: stock/serializers.py:85 templates/email/build_order_completed.html:16 @@ -825,7 +825,7 @@ msgstr "" msgid "Build Order" msgstr "" -#: build/models.py:88 build/templates/build/build_base.html:13 +#: build/models.py:89 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:111 #: order/templates/order/so_sidebar.html:13 @@ -866,7 +866,7 @@ msgstr "" #: build/models.py:243 build/serializers.py:1331 order/models.py:468 #: order/models.py:979 order/models.py:1366 order/models.py:2128 -#: part/admin.py:414 part/models.py:4293 part/templates/part/upload_bom.html:54 +#: part/admin.py:414 part/models.py:4280 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 @@ -892,11 +892,11 @@ msgstr "" #: build/templates/build/build_base.html:105 #: build/templates/build/detail.html:29 company/models.py:1043 order/api.py:761 #: order/models.py:1496 order/models.py:1651 order/models.py:1652 -#: part/api.py:1506 part/api.py:1806 part/models.py:419 part/models.py:3138 -#: part/models.py:3282 part/models.py:3430 part/models.py:3451 -#: part/models.py:3473 part/models.py:3609 part/models.py:3951 -#: part/models.py:4114 part/models.py:4244 part/models.py:4602 -#: part/serializers.py:1213 part/serializers.py:1857 +#: part/api.py:1506 part/api.py:1806 part/models.py:419 part/models.py:3125 +#: part/models.py:3269 part/models.py:3417 part/models.py:3438 +#: part/models.py:3460 part/models.py:3596 part/models.py:3938 +#: part/models.py:4101 part/models.py:4231 part/models.py:4595 +#: part/serializers.py:1211 part/serializers.py:1855 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -1063,12 +1063,12 @@ msgstr "" #: order/templates/order/return_order_base.html:148 #: order/templates/order/sales_order_base.html:187 #: part/templates/part/part_base.html:399 stock/models.py:859 -#: stock/templates/stock/item_base.html:200 +#: stock/templates/stock/item_base.html:196 #: templates/js/translated/company.js:1019 msgid "External Link" msgstr "" -#: build/models.py:378 common/models.py:3272 part/models.py:1070 +#: build/models.py:378 common/models.py:3273 part/models.py:1070 #: stock/models.py:859 msgid "Link to external URL" msgstr "" @@ -1110,7 +1110,7 @@ msgstr "" msgid "A build order has been completed" msgstr "" -#: build/models.py:968 build/models.py:1056 +#: build/models.py:968 build/models.py:1057 msgid "No build output specified" msgstr "" @@ -1122,37 +1122,37 @@ msgstr "" msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:1060 build/serializers.py:279 build/serializers.py:328 +#: build/models.py:1061 build/serializers.py:279 build/serializers.py:328 #: build/serializers.py:959 order/models.py:565 order/serializers.py:500 -#: order/serializers.py:666 part/serializers.py:1590 part/serializers.py:2019 +#: order/serializers.py:666 part/serializers.py:1588 part/serializers.py:2017 #: stock/models.py:704 stock/models.py:1515 stock/serializers.py:676 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:1065 build/serializers.py:284 +#: build/models.py:1066 build/serializers.py:284 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1125 build/serializers.py:607 +#: build/models.py:1126 build/serializers.py:607 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "" -#: build/models.py:1466 +#: build/models.py:1477 msgid "Build Order Line Item" msgstr "" -#: build/models.py:1491 +#: build/models.py:1502 msgid "Build object" msgstr "" -#: build/models.py:1505 build/models.py:1761 build/serializers.py:266 +#: build/models.py:1516 build/models.py:1775 build/serializers.py:266 #: build/serializers.py:313 build/serializers.py:1339 #: build/templates/build/build_base.html:110 -#: build/templates/build/detail.html:34 common/models.py:2581 +#: build/templates/build/detail.html:34 common/models.py:2582 #: order/models.py:1349 order/models.py:2034 order/serializers.py:1464 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:413 -#: part/forms.py:48 part/models.py:3296 part/models.py:4266 +#: part/forms.py:48 part/models.py:3283 part/models.py:4253 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1163,9 +1163,9 @@ msgstr "" #: report/templates/report/inventree_test_report.html:90 #: report/templates/report/inventree_test_report.html:169 stock/admin.py:160 #: stock/serializers.py:128 stock/serializers.py:168 stock/serializers.py:667 -#: stock/templates/stock/item_base.html:287 -#: stock/templates/stock/item_base.html:295 -#: stock/templates/stock/item_base.html:342 +#: stock/templates/stock/item_base.html:283 +#: stock/templates/stock/item_base.html:291 +#: stock/templates/stock/item_base.html:338 #: templates/email/build_order_completed.html:18 #: templates/js/translated/barcode.js:579 templates/js/translated/bom.js:771 #: templates/js/translated/bom.js:981 templates/js/translated/build.js:525 @@ -1194,41 +1194,41 @@ msgstr "" msgid "Quantity" msgstr "" -#: build/models.py:1506 +#: build/models.py:1517 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1586 +#: build/models.py:1597 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1595 +#: build/models.py:1606 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1605 order/models.py:1985 +#: build/models.py:1616 order/models.py:1985 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1611 order/models.py:1988 +#: build/models.py:1622 order/models.py:1988 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1617 +#: build/models.py:1628 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1676 +#: build/models.py:1687 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1748 build/serializers.py:939 order/serializers.py:1301 +#: build/models.py:1762 build/serializers.py:939 order/serializers.py:1301 #: order/serializers.py:1322 stock/models.py:381 stock/serializers.py:94 #: stock/serializers.py:770 stock/serializers.py:1288 stock/serializers.py:1400 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 -#: stock/templates/stock/item_base.html:194 +#: stock/templates/stock/item_base.html:190 #: templates/js/translated/build.js:1921 #: templates/js/translated/sales_order.js:301 #: templates/js/translated/sales_order.js:1234 @@ -1241,19 +1241,19 @@ msgstr "" msgid "Stock Item" msgstr "" -#: build/models.py:1749 +#: build/models.py:1763 msgid "Source stock item" msgstr "" -#: build/models.py:1762 +#: build/models.py:1776 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1770 +#: build/models.py:1784 msgid "Install into" msgstr "" -#: build/models.py:1771 +#: build/models.py:1785 msgid "Destination stock item" msgstr "" @@ -1262,7 +1262,7 @@ msgid "Build Level" msgstr "" #: build/serializers.py:115 build/serializers.py:1234 build/serializers.py:1323 -#: part/admin.py:41 part/admin.py:408 part/models.py:4116 part/stocktake.py:219 +#: part/admin.py:41 part/admin.py:408 part/models.py:4103 part/stocktake.py:219 #: stock/admin.py:157 msgid "Part Name" msgstr "" @@ -1323,10 +1323,10 @@ msgid "Enter serial numbers for build outputs" msgstr "" #: build/serializers.py:359 build/serializers.py:500 build/serializers.py:572 -#: order/serializers.py:655 order/serializers.py:778 order/serializers.py:1789 -#: part/serializers.py:1233 stock/serializers.py:103 stock/serializers.py:698 +#: order/serializers.py:655 order/serializers.py:778 order/serializers.py:1797 +#: part/serializers.py:1231 stock/serializers.py:103 stock/serializers.py:698 #: stock/serializers.py:858 stock/serializers.py:984 stock/serializers.py:1432 -#: stock/serializers.py:1688 stock/templates/stock/item_base.html:394 +#: stock/serializers.py:1688 stock/templates/stock/item_base.html:390 #: templates/js/translated/barcode.js:578 #: templates/js/translated/barcode.js:826 templates/js/translated/build.js:1035 #: templates/js/translated/build.js:1177 templates/js/translated/build.js:2547 @@ -1390,7 +1390,7 @@ msgstr "" #: build/templates/build/detail.html:62 order/models.py:477 #: order/models.py:1003 order/models.py:2152 order/serializers.py:687 #: stock/admin.py:165 stock/serializers.py:1035 stock/serializers.py:1576 -#: stock/templates/stock/item_base.html:427 +#: stock/templates/stock/item_base.html:423 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2366 #: templates/js/translated/purchase_order.js:1371 #: templates/js/translated/purchase_order.js:1792 @@ -1522,7 +1522,7 @@ msgstr "" msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:1030 order/serializers.py:1614 +#: build/serializers.py:1030 order/serializers.py:1622 msgid "Allocation items must be provided" msgstr "" @@ -1590,7 +1590,7 @@ msgstr "" #: build/serializers.py:1230 company/models.py:849 #: company/templates/company/supplier_part.html:160 order/serializers.py:691 #: stock/admin.py:229 stock/models.py:822 stock/serializers.py:1586 -#: stock/templates/stock/item_base.html:240 +#: stock/templates/stock/item_base.html:236 #: templates/js/translated/company.js:1646 #: templates/js/translated/purchase_order.js:1169 #: templates/js/translated/purchase_order.js:1332 @@ -1600,12 +1600,12 @@ msgid "Packaging" msgstr "" #: build/serializers.py:1233 part/admin.py:39 part/admin.py:398 -#: part/models.py:4115 part/stocktake.py:218 stock/admin.py:153 +#: part/models.py:4102 part/stocktake.py:218 stock/admin.py:153 msgid "Part ID" msgstr "" #: build/serializers.py:1235 build/serializers.py:1324 part/admin.py:402 -#: part/models.py:4117 +#: part/models.py:4104 msgid "Part IPN" msgstr "" @@ -1625,7 +1625,7 @@ msgstr "" #: build/serializers.py:1243 #: report/templates/report/inventree_return_order_report.html:25 #: report/templates/report/inventree_test_report.html:88 stock/models.py:849 -#: stock/serializers.py:152 stock/templates/stock/item_base.html:311 +#: stock/serializers.py:152 stock/templates/stock/item_base.html:307 #: templates/js/translated/build.js:523 templates/js/translated/build.js:1543 #: templates/js/translated/build.js:2530 #: templates/js/translated/model_renderers.js:231 @@ -1644,7 +1644,7 @@ msgstr "" msgid "Allocated Quantity" msgstr "" -#: build/serializers.py:1257 stock/templates/stock/item_base.html:340 +#: build/serializers.py:1257 stock/templates/stock/item_base.html:336 msgid "Available Quantity" msgstr "" @@ -1667,13 +1667,13 @@ msgstr "" msgid "Inherited" msgstr "" -#: build/serializers.py:1337 part/models.py:4326 +#: build/serializers.py:1337 part/models.py:4313 #: part/templates/part/upload_bom.html:56 templates/js/translated/bom.js:1046 #: templates/js/translated/build.js:2714 msgid "Allow Variants" msgstr "" -#: build/serializers.py:1341 part/models.py:4124 part/models.py:4594 +#: build/serializers.py:1341 part/models.py:4111 part/models.py:4587 #: stock/api.py:793 msgid "BOM Item" msgstr "" @@ -1684,7 +1684,7 @@ msgid "Allocated Stock" msgstr "" #: build/serializers.py:1355 order/serializers.py:1179 part/admin.py:132 -#: part/bom.py:186 part/serializers.py:920 part/serializers.py:1623 +#: part/bom.py:186 part/serializers.py:918 part/serializers.py:1621 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 #: templates/js/translated/build.js:2807 templates/js/translated/part.js:712 #: templates/js/translated/part.js:2155 @@ -1692,13 +1692,13 @@ msgstr "" msgid "On Order" msgstr "" -#: build/serializers.py:1360 order/serializers.py:1180 part/serializers.py:1625 +#: build/serializers.py:1360 order/serializers.py:1180 part/serializers.py:1623 #: templates/js/translated/build.js:2811 #: templates/js/translated/table_filters.js:367 msgid "In Production" msgstr "" -#: build/serializers.py:1365 part/bom.py:185 part/serializers.py:1650 +#: build/serializers.py:1365 part/bom.py:185 part/serializers.py:1648 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" @@ -1716,7 +1716,7 @@ msgstr "" msgid "Total Available Stock" msgstr "" -#: build/serializers.py:1372 part/serializers.py:927 +#: build/serializers.py:1372 part/serializers.py:925 msgid "External Stock" msgstr "" @@ -1745,7 +1745,7 @@ msgstr "" #: importer/status_codes.py:27 order/status_codes.py:15 #: order/status_codes.py:50 order/status_codes.py:81 #: order/templates/order/order_base.html:163 -#: order/templates/order/sales_order_base.html:168 report/models.py:443 +#: order/templates/order/sales_order_base.html:168 report/models.py:451 msgid "Complete" msgstr "" @@ -1849,9 +1849,6 @@ msgid "Delete Build" msgstr "" #: build/templates/build/build_base.html:87 -msgid "Isueue Build" -msgstr "" - #: build/templates/build/build_base.html:88 msgid "Issue Build" msgstr "" @@ -1931,7 +1928,7 @@ msgstr "" #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_report.html:135 #: report/templates/report/inventree_sales_order_report.html:14 -#: stock/templates/stock/item_base.html:369 +#: stock/templates/stock/item_base.html:365 #: templates/email/overdue_sales_order.html:15 #: templates/js/translated/pricing.js:929 #: templates/js/translated/sales_order.js:805 @@ -1991,7 +1988,7 @@ msgid "Allocated Parts" msgstr "" #: build/templates/build/detail.html:80 stock/admin.py:163 -#: stock/templates/stock/item_base.html:162 +#: stock/templates/stock/item_base.html:158 #: templates/js/translated/build.js:1556 #: templates/js/translated/model_renderers.js:242 #: templates/js/translated/purchase_order.js:1326 @@ -2148,19 +2145,19 @@ msgstr "" msgid "Test Statistics" msgstr "" -#: common/api.py:692 +#: common/api.py:725 msgid "Is Link" msgstr "" -#: common/api.py:700 +#: common/api.py:733 msgid "Is File" msgstr "" -#: common/api.py:743 +#: common/api.py:776 msgid "User does not have permission to delete these attachments" msgstr "" -#: common/api.py:760 +#: common/api.py:793 msgid "User does not have permission to delete this attachment" msgstr "" @@ -2352,8 +2349,8 @@ msgstr "" #: common/models.py:1297 common/models.py:1353 common/models.py:1366 #: common/models.py:1374 common/models.py:1383 common/models.py:1392 -#: common/models.py:1629 common/models.py:1651 common/models.py:1766 -#: common/models.py:2148 +#: common/models.py:1629 common/models.py:1651 common/models.py:1752 +#: common/models.py:2141 msgid "days" msgstr "" @@ -2581,9 +2578,9 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1485 part/admin.py:108 part/models.py:3959 -#: report/models.py:293 report/models.py:360 report/serializers.py:90 -#: report/serializers.py:131 stock/serializers.py:233 +#: common/models.py:1485 part/admin.py:108 part/models.py:3946 +#: report/models.py:301 report/models.py:368 report/serializers.py:91 +#: report/serializers.py:132 stock/serializers.py:233 #: templates/js/translated/table_filters.js:138 #: templates/js/translated/table_filters.js:775 msgid "Template" @@ -2598,7 +2595,7 @@ msgid "Parts can be assembled from other components by default" msgstr "" #: common/models.py:1497 part/admin.py:95 part/models.py:1172 -#: part/serializers.py:1617 templates/js/translated/table_filters.js:737 +#: part/serializers.py:1615 templates/js/translated/table_filters.js:737 msgid "Component" msgstr "" @@ -2823,7 +2820,7 @@ msgid "Log errors which occur when generating reports" msgstr "" #: common/models.py:1702 plugin/builtin/labels/label_sheet.py:28 -#: report/models.py:301 +#: report/models.py:309 msgid "Page Size" msgstr "" @@ -2832,914 +2829,914 @@ msgid "Default page size for PDF reports" msgstr "" #: common/models.py:1708 -msgid "Enable Test Reports" -msgstr "" - -#: common/models.py:1709 -msgid "Enable generation of test reports" -msgstr "" - -#: common/models.py:1714 -msgid "Attach Test Reports" -msgstr "" - -#: common/models.py:1716 -msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" -msgstr "" - -#: common/models.py:1722 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1723 +#: common/models.py:1709 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1728 +#: common/models.py:1714 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1729 +#: common/models.py:1715 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1734 +#: common/models.py:1720 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1736 +#: common/models.py:1722 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/models.py:1742 +#: common/models.py:1728 msgid "Batch Code Template" msgstr "" -#: common/models.py:1744 +#: common/models.py:1730 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1749 +#: common/models.py:1735 msgid "Stock Expiry" msgstr "" -#: common/models.py:1750 +#: common/models.py:1736 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1755 +#: common/models.py:1741 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1756 +#: common/models.py:1742 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1761 +#: common/models.py:1747 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1763 +#: common/models.py:1749 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1770 +#: common/models.py:1756 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1771 +#: common/models.py:1757 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1776 +#: common/models.py:1762 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1777 +#: common/models.py:1763 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1782 +#: common/models.py:1768 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1783 +#: common/models.py:1769 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1788 +#: common/models.py:1774 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1789 +#: common/models.py:1775 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1794 +#: common/models.py:1780 msgid "Check BOM when installing items" msgstr "" -#: common/models.py:1796 +#: common/models.py:1782 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/models.py:1802 +#: common/models.py:1788 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/models.py:1804 +#: common/models.py:1790 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/models.py:1810 +#: common/models.py:1796 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1812 +#: common/models.py:1798 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1818 common/models.py:1874 common/models.py:1896 -#: common/models.py:1932 +#: common/models.py:1804 common/models.py:1860 common/models.py:1882 +#: common/models.py:1918 msgid "Require Responsible Owner" msgstr "" -#: common/models.py:1819 common/models.py:1875 common/models.py:1897 -#: common/models.py:1933 +#: common/models.py:1805 common/models.py:1861 common/models.py:1883 +#: common/models.py:1919 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/models.py:1824 +#: common/models.py:1810 msgid "Require Active Part" msgstr "" -#: common/models.py:1825 +#: common/models.py:1811 msgid "Prevent build order creation for inactive parts" msgstr "" -#: common/models.py:1830 +#: common/models.py:1816 msgid "Require Locked Part" msgstr "" -#: common/models.py:1831 +#: common/models.py:1817 msgid "Prevent build order creation for unlocked parts" msgstr "" -#: common/models.py:1836 +#: common/models.py:1822 msgid "Require Valid BOM" msgstr "" -#: common/models.py:1838 +#: common/models.py:1824 msgid "Prevent build order creation unless BOM has been validated" msgstr "" -#: common/models.py:1844 +#: common/models.py:1830 msgid "Require Closed Child Orders" msgstr "" -#: common/models.py:1846 +#: common/models.py:1832 msgid "Prevent build order completion until all child orders are closed" msgstr "" -#: common/models.py:1852 +#: common/models.py:1838 msgid "Block Until Tests Pass" msgstr "" -#: common/models.py:1854 +#: common/models.py:1840 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "" -#: common/models.py:1860 +#: common/models.py:1846 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1861 +#: common/models.py:1847 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1866 +#: common/models.py:1852 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1868 +#: common/models.py:1854 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1880 +#: common/models.py:1866 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1882 +#: common/models.py:1868 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1888 +#: common/models.py:1874 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1890 +#: common/models.py:1876 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1902 +#: common/models.py:1888 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1903 +#: common/models.py:1889 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1908 +#: common/models.py:1894 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1910 +#: common/models.py:1896 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1916 +#: common/models.py:1902 msgid "Mark Shipped Orders as Complete" msgstr "" -#: common/models.py:1918 +#: common/models.py:1904 msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status" msgstr "" -#: common/models.py:1924 +#: common/models.py:1910 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1926 +#: common/models.py:1912 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1938 +#: common/models.py:1924 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1940 +#: common/models.py:1926 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1946 +#: common/models.py:1932 msgid "Auto Complete Purchase Orders" msgstr "" -#: common/models.py:1948 +#: common/models.py:1934 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/models.py:1955 +#: common/models.py:1941 msgid "Enable password forgot" msgstr "" -#: common/models.py:1956 +#: common/models.py:1942 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1961 +#: common/models.py:1947 msgid "Enable registration" msgstr "" -#: common/models.py:1962 +#: common/models.py:1948 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1967 +#: common/models.py:1953 msgid "Enable SSO" msgstr "" -#: common/models.py:1968 +#: common/models.py:1954 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1973 +#: common/models.py:1959 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1975 +#: common/models.py:1961 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1981 +#: common/models.py:1967 msgid "Enable SSO group sync" msgstr "" -#: common/models.py:1983 +#: common/models.py:1969 msgid "Enable synchronizing InvenTree groups with groups provided by the IdP" msgstr "" -#: common/models.py:1989 +#: common/models.py:1975 msgid "SSO group key" msgstr "" -#: common/models.py:1991 +#: common/models.py:1977 msgid "The name of the groups claim attribute provided by the IdP" msgstr "" -#: common/models.py:1997 +#: common/models.py:1983 msgid "SSO group map" msgstr "" -#: common/models.py:1999 +#: common/models.py:1985 msgid "A mapping from SSO groups to local InvenTree groups. If the local group does not exist, it will be created." msgstr "" -#: common/models.py:2005 +#: common/models.py:1991 msgid "Remove groups outside of SSO" msgstr "" -#: common/models.py:2007 +#: common/models.py:1993 msgid "Whether groups assigned to the user should be removed if they are not backend by the IdP. Disabling this setting might cause security issues" msgstr "" -#: common/models.py:2013 +#: common/models.py:1999 msgid "Email required" msgstr "" -#: common/models.py:2014 +#: common/models.py:2000 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:2019 +#: common/models.py:2005 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:2021 +#: common/models.py:2007 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:2027 +#: common/models.py:2013 msgid "Mail twice" msgstr "" -#: common/models.py:2028 +#: common/models.py:2014 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:2033 +#: common/models.py:2019 msgid "Password twice" msgstr "" -#: common/models.py:2034 +#: common/models.py:2020 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:2039 +#: common/models.py:2025 msgid "Allowed domains" msgstr "" -#: common/models.py:2041 +#: common/models.py:2027 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:2047 +#: common/models.py:2033 msgid "Group on signup" msgstr "" -#: common/models.py:2049 +#: common/models.py:2035 msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP." msgstr "" -#: common/models.py:2055 +#: common/models.py:2041 msgid "Enforce MFA" msgstr "" -#: common/models.py:2056 +#: common/models.py:2042 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:2061 +#: common/models.py:2047 msgid "Check plugins on startup" msgstr "" -#: common/models.py:2063 +#: common/models.py:2049 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:2071 +#: common/models.py:2057 msgid "Check for plugin updates" msgstr "" -#: common/models.py:2072 +#: common/models.py:2058 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:2078 +#: common/models.py:2064 msgid "Enable URL integration" msgstr "" -#: common/models.py:2079 +#: common/models.py:2065 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:2085 +#: common/models.py:2071 msgid "Enable navigation integration" msgstr "" -#: common/models.py:2086 +#: common/models.py:2072 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:2092 +#: common/models.py:2078 msgid "Enable app integration" msgstr "" -#: common/models.py:2093 +#: common/models.py:2079 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:2099 +#: common/models.py:2085 msgid "Enable schedule integration" msgstr "" -#: common/models.py:2100 +#: common/models.py:2086 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:2106 +#: common/models.py:2092 msgid "Enable event integration" msgstr "" -#: common/models.py:2107 +#: common/models.py:2093 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:2113 +#: common/models.py:2099 +msgid "Enable interface integration" +msgstr "" + +#: common/models.py:2100 +msgid "Enable plugins to integrate into the user interface" +msgstr "" + +#: common/models.py:2106 msgid "Enable project codes" msgstr "" -#: common/models.py:2114 +#: common/models.py:2107 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:2119 +#: common/models.py:2112 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:2121 +#: common/models.py:2114 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:2127 +#: common/models.py:2120 msgid "Exclude External Locations" msgstr "" -#: common/models.py:2129 +#: common/models.py:2122 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/models.py:2135 +#: common/models.py:2128 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:2137 +#: common/models.py:2130 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:2143 +#: common/models.py:2136 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:2145 +#: common/models.py:2138 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:2152 +#: common/models.py:2145 msgid "Display Users full names" msgstr "" -#: common/models.py:2153 +#: common/models.py:2146 msgid "Display Users full names instead of usernames" msgstr "" -#: common/models.py:2158 +#: common/models.py:2151 msgid "Enable Test Station Data" msgstr "" -#: common/models.py:2159 +#: common/models.py:2152 msgid "Enable test station data collection for test results" msgstr "" -#: common/models.py:2171 common/models.py:2551 +#: common/models.py:2157 +msgid "Create Template on Upload" +msgstr "" + +#: common/models.py:2159 +msgid "Create a new test template when uploading test data which does not match an existing template" +msgstr "" + +#: common/models.py:2172 common/models.py:2552 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:2214 +#: common/models.py:2215 msgid "Hide inactive parts" msgstr "" -#: common/models.py:2216 +#: common/models.py:2217 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:2222 +#: common/models.py:2223 msgid "Show subscribed parts" msgstr "" -#: common/models.py:2223 +#: common/models.py:2224 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:2228 +#: common/models.py:2229 msgid "Show subscribed categories" msgstr "" -#: common/models.py:2229 +#: common/models.py:2230 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:2234 +#: common/models.py:2235 msgid "Show latest parts" msgstr "" -#: common/models.py:2235 +#: common/models.py:2236 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:2240 +#: common/models.py:2241 msgid "Show invalid BOMs" msgstr "" -#: common/models.py:2241 +#: common/models.py:2242 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:2246 +#: common/models.py:2247 msgid "Show recent stock changes" msgstr "" -#: common/models.py:2247 +#: common/models.py:2248 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:2252 +#: common/models.py:2253 msgid "Show low stock" msgstr "" -#: common/models.py:2253 +#: common/models.py:2254 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:2258 +#: common/models.py:2259 msgid "Show depleted stock" msgstr "" -#: common/models.py:2259 +#: common/models.py:2260 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:2264 +#: common/models.py:2265 msgid "Show needed stock" msgstr "" -#: common/models.py:2265 +#: common/models.py:2266 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:2270 +#: common/models.py:2271 msgid "Show expired stock" msgstr "" -#: common/models.py:2271 +#: common/models.py:2272 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:2276 +#: common/models.py:2277 msgid "Show stale stock" msgstr "" -#: common/models.py:2277 +#: common/models.py:2278 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:2282 +#: common/models.py:2283 msgid "Show pending builds" msgstr "" -#: common/models.py:2283 +#: common/models.py:2284 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:2288 +#: common/models.py:2289 msgid "Show overdue builds" msgstr "" -#: common/models.py:2289 +#: common/models.py:2290 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:2294 +#: common/models.py:2295 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2295 +#: common/models.py:2296 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2300 +#: common/models.py:2301 msgid "Show overdue POs" msgstr "" -#: common/models.py:2301 +#: common/models.py:2302 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2306 +#: common/models.py:2307 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2307 +#: common/models.py:2308 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2312 +#: common/models.py:2313 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2313 +#: common/models.py:2314 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2318 +#: common/models.py:2319 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2319 +#: common/models.py:2320 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2324 +#: common/models.py:2325 msgid "Show News" msgstr "" -#: common/models.py:2325 +#: common/models.py:2326 msgid "Show news on the homepage" msgstr "" -#: common/models.py:2330 +#: common/models.py:2331 msgid "Inline label display" msgstr "" -#: common/models.py:2332 +#: common/models.py:2333 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2338 +#: common/models.py:2339 msgid "Default label printer" msgstr "" -#: common/models.py:2340 +#: common/models.py:2341 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2346 +#: common/models.py:2347 msgid "Inline report display" msgstr "" -#: common/models.py:2348 +#: common/models.py:2349 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2354 +#: common/models.py:2355 msgid "Search Parts" msgstr "" -#: common/models.py:2355 +#: common/models.py:2356 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2360 +#: common/models.py:2361 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2361 +#: common/models.py:2362 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2366 +#: common/models.py:2367 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2367 +#: common/models.py:2368 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2372 +#: common/models.py:2373 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2373 +#: common/models.py:2374 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2378 +#: common/models.py:2379 msgid "Search Categories" msgstr "" -#: common/models.py:2379 +#: common/models.py:2380 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2384 +#: common/models.py:2385 msgid "Search Stock" msgstr "" -#: common/models.py:2385 +#: common/models.py:2386 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2390 +#: common/models.py:2391 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2392 +#: common/models.py:2393 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2398 +#: common/models.py:2399 msgid "Search Locations" msgstr "" -#: common/models.py:2399 +#: common/models.py:2400 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2404 +#: common/models.py:2405 msgid "Search Companies" msgstr "" -#: common/models.py:2405 +#: common/models.py:2406 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2410 +#: common/models.py:2411 msgid "Search Build Orders" msgstr "" -#: common/models.py:2411 +#: common/models.py:2412 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2416 +#: common/models.py:2417 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2417 +#: common/models.py:2418 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2422 +#: common/models.py:2423 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2424 +#: common/models.py:2425 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2430 +#: common/models.py:2431 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2431 +#: common/models.py:2432 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2436 +#: common/models.py:2437 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2438 +#: common/models.py:2439 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2444 +#: common/models.py:2445 msgid "Search Return Orders" msgstr "" -#: common/models.py:2445 +#: common/models.py:2446 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2450 +#: common/models.py:2451 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2452 +#: common/models.py:2453 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2458 +#: common/models.py:2459 msgid "Search Preview Results" msgstr "" -#: common/models.py:2460 +#: common/models.py:2461 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2466 +#: common/models.py:2467 msgid "Regex Search" msgstr "" -#: common/models.py:2467 +#: common/models.py:2468 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2472 +#: common/models.py:2473 msgid "Whole Word Search" msgstr "" -#: common/models.py:2473 +#: common/models.py:2474 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2478 +#: common/models.py:2479 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2479 +#: common/models.py:2480 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2484 +#: common/models.py:2485 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2485 +#: common/models.py:2486 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2490 +#: common/models.py:2491 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2491 +#: common/models.py:2492 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2496 +#: common/models.py:2497 msgid "Date Format" msgstr "" -#: common/models.py:2497 +#: common/models.py:2498 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2510 part/templates/part/detail.html:41 +#: common/models.py:2511 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2511 +#: common/models.py:2512 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2516 part/templates/part/detail.html:62 +#: common/models.py:2517 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2518 +#: common/models.py:2519 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2524 +#: common/models.py:2525 msgid "Table String Length" msgstr "" -#: common/models.py:2526 +#: common/models.py:2527 msgid "Maximum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2532 +#: common/models.py:2533 msgid "Receive error reports" msgstr "" -#: common/models.py:2533 +#: common/models.py:2534 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2538 +#: common/models.py:2539 msgid "Last used printing machines" msgstr "" -#: common/models.py:2539 +#: common/models.py:2540 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2559 common/models.py:2560 common/models.py:2717 -#: common/models.py:2718 common/models.py:2963 common/models.py:2964 -#: common/models.py:3287 common/models.py:3288 importer/models.py:89 -#: part/models.py:3319 part/models.py:3406 part/models.py:3480 -#: part/models.py:3508 plugin/models.py:274 plugin/models.py:275 +#: common/models.py:2560 common/models.py:2561 common/models.py:2718 +#: common/models.py:2719 common/models.py:2964 common/models.py:2965 +#: common/models.py:3288 common/models.py:3289 importer/models.py:89 +#: part/models.py:3306 part/models.py:3393 part/models.py:3467 +#: part/models.py:3495 plugin/models.py:274 plugin/models.py:275 #: report/templates/report/inventree_test_report.html:105 #: templates/js/translated/stock.js:3121 users/models.py:111 msgid "User" msgstr "Потребител" -#: common/models.py:2582 +#: common/models.py:2583 msgid "Price break quantity" msgstr "" -#: common/models.py:2589 company/serializers.py:517 order/admin.py:42 +#: common/models.py:2590 company/serializers.py:517 order/admin.py:42 #: order/models.py:1423 order/models.py:2410 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1892 #: templates/js/translated/pricing.js:621 @@ -3747,96 +3744,96 @@ msgstr "" msgid "Price" msgstr "" -#: common/models.py:2590 +#: common/models.py:2591 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2694 common/models.py:2879 +#: common/models.py:2695 common/models.py:2880 msgid "Endpoint" msgstr "" -#: common/models.py:2695 +#: common/models.py:2696 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2705 +#: common/models.py:2706 msgid "Name for this webhook" msgstr "" -#: common/models.py:2709 +#: common/models.py:2710 msgid "Is this webhook active" msgstr "" -#: common/models.py:2725 users/models.py:159 +#: common/models.py:2726 users/models.py:159 msgid "Token" msgstr "" -#: common/models.py:2726 +#: common/models.py:2727 msgid "Token for access" msgstr "" -#: common/models.py:2734 +#: common/models.py:2735 msgid "Secret" msgstr "" -#: common/models.py:2735 +#: common/models.py:2736 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2843 +#: common/models.py:2844 msgid "Message ID" msgstr "" -#: common/models.py:2844 +#: common/models.py:2845 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2852 +#: common/models.py:2853 msgid "Host" msgstr "" -#: common/models.py:2853 +#: common/models.py:2854 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2861 +#: common/models.py:2862 msgid "Header" msgstr "" -#: common/models.py:2862 +#: common/models.py:2863 msgid "Header of this message" msgstr "" -#: common/models.py:2869 +#: common/models.py:2870 msgid "Body" msgstr "" -#: common/models.py:2870 +#: common/models.py:2871 msgid "Body of this message" msgstr "" -#: common/models.py:2880 +#: common/models.py:2881 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2885 +#: common/models.py:2886 msgid "Worked on" msgstr "" -#: common/models.py:2886 +#: common/models.py:2887 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:3012 +#: common/models.py:3013 msgid "Id" msgstr "" -#: common/models.py:3014 templates/js/translated/company.js:965 +#: common/models.py:3015 templates/js/translated/company.js:965 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:3016 common/models.py:3271 company/models.py:146 +#: common/models.py:3017 common/models.py:3272 company/models.py:146 #: company/models.py:443 company/models.py:509 company/models.py:815 #: order/models.py:303 order/models.py:1378 order/models.py:1810 #: part/admin.py:55 part/models.py:1069 @@ -3853,217 +3850,217 @@ msgstr "" msgid "Link" msgstr "" -#: common/models.py:3018 templates/js/translated/news.js:60 +#: common/models.py:3019 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:3020 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:3021 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:103 msgid "Author" msgstr "" -#: common/models.py:3022 templates/js/translated/news.js:52 +#: common/models.py:3023 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:3025 +#: common/models.py:3026 msgid "Read" msgstr "" -#: common/models.py:3025 +#: common/models.py:3026 msgid "Was this news item read?" msgstr "" -#: common/models.py:3042 company/models.py:156 part/models.py:1079 +#: common/models.py:3043 company/models.py:156 part/models.py:1079 #: 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.html:35 -#: stock/templates/stock/item_base.html:133 templates/503.html:31 +#: stock/templates/stock/item_base.html:129 templates/503.html:31 #: templates/hover_image.html:7 templates/hover_image.html:9 #: templates/modals.html:6 msgid "Image" msgstr "" -#: common/models.py:3042 +#: common/models.py:3043 msgid "Image file" msgstr "" -#: common/models.py:3054 common/models.py:3255 +#: common/models.py:3055 common/models.py:3256 msgid "Target model type for this image" msgstr "" -#: common/models.py:3058 +#: common/models.py:3059 msgid "Target model ID for this image" msgstr "" -#: common/models.py:3080 +#: common/models.py:3081 msgid "Custom Unit" msgstr "" -#: common/models.py:3098 +#: common/models.py:3099 msgid "Unit symbol must be unique" msgstr "" -#: common/models.py:3113 +#: common/models.py:3114 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:3132 +#: common/models.py:3133 msgid "Unit name" msgstr "" -#: common/models.py:3139 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3140 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:3140 +#: common/models.py:3141 msgid "Optional unit symbol" msgstr "" -#: common/models.py:3146 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3147 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:3147 +#: common/models.py:3148 msgid "Unit definition" msgstr "" -#: common/models.py:3205 common/models.py:3262 stock/models.py:2552 +#: common/models.py:3206 common/models.py:3263 stock/models.py:2547 #: stock/serializers.py:244 templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:345 msgid "Attachment" msgstr "" -#: common/models.py:3217 +#: common/models.py:3218 msgid "Missing file" msgstr "" -#: common/models.py:3218 +#: common/models.py:3219 msgid "Missing external link" msgstr "" -#: common/models.py:3263 +#: common/models.py:3264 msgid "Select file to attach" msgstr "" -#: common/models.py:3278 templates/js/translated/attachment.js:120 +#: common/models.py:3279 templates/js/translated/attachment.js:120 #: templates/js/translated/attachment.js:360 msgid "Comment" msgstr "" -#: common/models.py:3279 +#: common/models.py:3280 msgid "Attachment comment" msgstr "" -#: common/models.py:3295 +#: common/models.py:3296 msgid "Upload date" msgstr "" -#: common/models.py:3296 +#: common/models.py:3297 msgid "Date the file was uploaded" msgstr "" -#: common/models.py:3300 +#: common/models.py:3301 msgid "File size" msgstr "" -#: common/models.py:3300 +#: common/models.py:3301 msgid "File size in bytes" msgstr "" -#: common/models.py:3338 common/serializers.py:588 +#: common/models.py:3339 common/serializers.py:604 msgid "Invalid model type specified for attachment" msgstr "" -#: common/models.py:3347 plugin/models.py:43 users/models.py:100 +#: common/models.py:3348 plugin/models.py:43 users/models.py:100 msgid "Key" msgstr "" -#: common/models.py:3348 +#: common/models.py:3349 msgid "Value that will be saved in the models database" msgstr "" -#: common/models.py:3351 +#: common/models.py:3352 msgid "Name of the state" msgstr "" -#: common/models.py:3355 +#: common/models.py:3356 msgid "Label" msgstr "" -#: common/models.py:3356 +#: common/models.py:3357 msgid "Label that will be displayed in the frontend" msgstr "" -#: common/models.py:3362 +#: common/models.py:3363 msgid "Color" msgstr "" -#: common/models.py:3363 +#: common/models.py:3364 msgid "Color that will be displayed in the frontend" msgstr "" -#: common/models.py:3366 +#: common/models.py:3367 msgid "Logical Key" msgstr "" -#: common/models.py:3368 +#: common/models.py:3369 msgid "State logical key that is equal to this custom state in business logic" msgstr "" -#: common/models.py:3376 +#: common/models.py:3377 msgid "Model" msgstr "" -#: common/models.py:3377 +#: common/models.py:3378 msgid "Model this state is associated with" msgstr "" -#: common/models.py:3381 +#: common/models.py:3382 msgid "Reference Status Set" msgstr "" -#: common/models.py:3382 +#: common/models.py:3383 msgid "Status set that is extended with this custom state" msgstr "" -#: common/models.py:3388 +#: common/models.py:3389 msgid "Custom State" msgstr "" -#: common/models.py:3389 +#: common/models.py:3390 msgid "Custom States" msgstr "" -#: common/models.py:3404 +#: common/models.py:3405 msgid "Model must be selected" msgstr "" -#: common/models.py:3407 +#: common/models.py:3408 msgid "Key must be selected" msgstr "" -#: common/models.py:3410 +#: common/models.py:3411 msgid "Logical key must be selected" msgstr "" -#: common/models.py:3414 +#: common/models.py:3415 msgid "Key must be different from logical key" msgstr "" -#: common/models.py:3418 +#: common/models.py:3419 msgid "Reference status must be selected" msgstr "" -#: common/models.py:3430 +#: common/models.py:3431 msgid "Reference status set not found" msgstr "" -#: common/models.py:3436 +#: common/models.py:3437 msgid "Key must be different from the logical keys of the reference status" msgstr "" -#: common/models.py:3442 +#: common/models.py:3443 msgid "Logical key must be in the logical keys of the reference status" msgstr "" @@ -4101,75 +4098,75 @@ msgstr "" msgid "Error raised by plugin" msgstr "" -#: common/serializers.py:402 +#: common/serializers.py:418 msgid "Is Running" msgstr "" -#: common/serializers.py:408 +#: common/serializers.py:424 msgid "Pending Tasks" msgstr "" -#: common/serializers.py:414 +#: common/serializers.py:430 msgid "Scheduled Tasks" msgstr "" -#: common/serializers.py:420 +#: common/serializers.py:436 msgid "Failed Tasks" msgstr "" -#: common/serializers.py:435 +#: common/serializers.py:451 msgid "Task ID" msgstr "" -#: common/serializers.py:435 +#: common/serializers.py:451 msgid "Unique task ID" msgstr "" -#: common/serializers.py:437 +#: common/serializers.py:453 msgid "Lock" msgstr "" -#: common/serializers.py:437 +#: common/serializers.py:453 msgid "Lock time" msgstr "" -#: common/serializers.py:439 +#: common/serializers.py:455 msgid "Task name" msgstr "" -#: common/serializers.py:441 +#: common/serializers.py:457 msgid "Function" msgstr "" -#: common/serializers.py:441 +#: common/serializers.py:457 msgid "Function name" msgstr "" -#: common/serializers.py:443 +#: common/serializers.py:459 msgid "Arguments" msgstr "" -#: common/serializers.py:443 +#: common/serializers.py:459 msgid "Task arguments" msgstr "" -#: common/serializers.py:446 +#: common/serializers.py:462 msgid "Keyword Arguments" msgstr "" -#: common/serializers.py:446 +#: common/serializers.py:462 msgid "Task keyword arguments" msgstr "" -#: common/serializers.py:556 +#: common/serializers.py:572 msgid "Filename" msgstr "" -#: common/serializers.py:563 report/api.py:100 report/serializers.py:53 +#: common/serializers.py:579 report/api.py:100 report/serializers.py:54 msgid "Model Type" msgstr "" -#: common/serializers.py:591 +#: common/serializers.py:607 msgid "User does not have permission to create or edit attachments for this model" msgstr "" @@ -4447,12 +4444,12 @@ msgstr "" #: company/models.py:467 company/models.py:584 company/models.py:808 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 -#: stock/templates/stock/item_base.html:217 +#: stock/templates/stock/item_base.html:213 msgid "Manufacturer Part" msgstr "" #: company/models.py:484 company/models.py:776 stock/models.py:791 -#: stock/serializers.py:452 stock/templates/stock/item_base.html:142 +#: stock/serializers.py:452 stock/templates/stock/item_base.html:138 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" @@ -4463,8 +4460,8 @@ msgstr "" #: company/models.py:495 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:567 -#: stock/templates/stock/item_base.html:207 +#: company/templates/company/supplier_part.html:145 part/serializers.py:565 +#: stock/templates/stock/item_base.html:203 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 #: templates/js/translated/company.js:1296 @@ -4479,7 +4476,7 @@ msgstr "" #: company/models.py:502 company/templates/company/manufacturer_part.html:101 #: company/templates/company/supplier_part.html:153 order/serializers.py:557 -#: part/serializers.py:577 templates/js/translated/company.js:351 +#: part/serializers.py:575 templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 #: templates/js/translated/company.js:1630 templates/js/translated/part.js:1807 @@ -4505,7 +4502,7 @@ msgid "Parameter name" msgstr "" #: company/models.py:597 report/templates/report/inventree_test_report.html:104 -#: stock/models.py:2544 templates/js/translated/company.js:1166 +#: stock/models.py:2539 templates/js/translated/company.js:1166 #: templates/js/translated/company.js:1419 templates/js/translated/part.js:1499 #: templates/js/translated/stock.js:1607 msgid "Value" @@ -4516,7 +4513,7 @@ msgid "Parameter value" msgstr "" #: company/models.py:605 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1159 part/models.py:3783 +#: part/admin.py:57 part/models.py:1159 part/models.py:3770 #: part/templates/part/part_base.html:300 #: templates/js/translated/company.js:1425 templates/js/translated/part.js:1518 #: templates/js/translated/part.js:1622 templates/js/translated/part.js:2376 @@ -4530,7 +4527,7 @@ msgstr "" #: company/models.py:659 company/templates/company/supplier_part.html:7 #: company/templates/company/supplier_part.html:24 order/api.py:440 #: order/serializers.py:492 stock/models.py:802 -#: stock/templates/stock/item_base.html:233 +#: stock/templates/stock/item_base.html:229 #: templates/js/translated/build.js:1055 #: templates/js/translated/company.js:1600 #: templates/js/translated/purchase_order.js:752 @@ -4553,9 +4550,9 @@ msgstr "" #: company/models.py:786 company/templates/company/company_base.html:87 #: company/templates/company/supplier_part.html:129 order/models.py:492 #: order/templates/order/order_base.html:141 part/bom.py:279 part/bom.py:314 -#: part/serializers.py:551 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:549 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 -#: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 +#: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:220 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:511 @@ -4570,7 +4567,7 @@ msgstr "" msgid "Select supplier" msgstr "" -#: company/models.py:793 part/serializers.py:562 +#: company/models.py:793 part/serializers.py:560 msgid "Supplier stock keeping unit" msgstr "" @@ -4591,7 +4588,7 @@ msgid "Supplier part description" msgstr "" #: company/models.py:832 company/templates/company/supplier_part.html:187 -#: order/serializers.py:699 part/admin.py:415 part/models.py:4301 +#: order/serializers.py:699 part/admin.py:415 part/models.py:4288 #: part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 @@ -4603,11 +4600,11 @@ msgstr "" msgid "Note" msgstr "" -#: company/models.py:841 part/models.py:2129 +#: company/models.py:841 part/models.py:2128 msgid "base cost" msgstr "" -#: company/models.py:842 part/models.py:2130 +#: company/models.py:842 part/models.py:2129 msgid "Minimum charge (e.g. stocking fee)" msgstr "" @@ -4629,7 +4626,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:876 part/models.py:2136 +#: company/models.py:876 part/models.py:2135 msgid "multiple" msgstr "" @@ -4661,7 +4658,7 @@ msgstr "" msgid "Company Name" msgstr "" -#: company/serializers.py:397 part/admin.py:126 part/serializers.py:919 +#: company/serializers.py:397 part/admin.py:126 part/serializers.py:917 #: part/templates/part/part_base.html:197 #: templates/js/translated/company.js:1689 #: templates/js/translated/table_filters.js:362 @@ -4735,7 +4732,7 @@ msgstr "" #: order/models.py:2140 order/templates/order/return_order_base.html:134 #: order/templates/order/sales_order_base.html:151 stock/models.py:844 #: stock/models.py:845 stock/serializers.py:1336 -#: stock/templates/stock/item_base.html:405 +#: stock/templates/stock/item_base.html:401 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 #: templates/js/translated/return_order.js:295 @@ -4939,7 +4936,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:925 +#: part/admin.py:122 part/serializers.py:923 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -5030,7 +5027,7 @@ msgid "No supplier information available" msgstr "" #: company/templates/company/supplier_part.html:139 order/serializers.py:554 -#: part/bom.py:286 part/bom.py:315 part/serializers.py:561 +#: part/bom.py:286 part/bom.py:315 part/serializers.py:559 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1793 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1920 @@ -5084,7 +5081,7 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:923 part/stocktake.py:223 +#: part/serializers.py:921 part/stocktake.py:223 #: part/templates/part/category.html:180 #: part/templates/part/category_sidebar.html:17 stock/admin.py:68 #: stock/serializers.py:1021 stock/serializers.py:1199 @@ -5215,7 +5212,7 @@ msgstr "" msgid "Original row data" msgstr "" -#: importer/models.py:504 part/models.py:3965 +#: importer/models.py:504 part/models.py:3952 msgid "Data" msgstr "" @@ -5473,7 +5470,7 @@ msgstr "" #: order/models.py:1592 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_purchase_order_report.html:14 -#: stock/serializers.py:121 stock/templates/stock/item_base.html:176 +#: stock/serializers.py:121 stock/templates/stock/item_base.html:172 #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/part.js:1752 templates/js/translated/pricing.js:804 #: templates/js/translated/purchase_order.js:168 @@ -5694,7 +5691,7 @@ msgid "Number of items received" msgstr "" #: order/models.py:1513 stock/models.py:963 stock/serializers.py:617 -#: stock/templates/stock/item_base.html:183 +#: stock/templates/stock/item_base.html:179 #: templates/js/translated/stock.js:2397 msgid "Purchase Price" msgstr "" @@ -5768,7 +5765,7 @@ msgid "User who checked this shipment" msgstr "" #: order/models.py:1788 order/models.py:2011 order/serializers.py:1479 -#: order/serializers.py:1589 templates/js/translated/model_renderers.js:455 +#: order/serializers.py:1597 templates/js/translated/model_renderers.js:455 msgid "Shipment" msgstr "" @@ -5982,7 +5979,7 @@ msgstr "" msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:656 order/serializers.py:779 order/serializers.py:1790 +#: order/serializers.py:656 order/serializers.py:779 order/serializers.py:1798 msgid "Select destination location for received items" msgstr "" @@ -6019,7 +6016,7 @@ msgstr "" msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:795 order/serializers.py:1806 +#: order/serializers.py:795 order/serializers.py:1814 msgid "Line items must be provided" msgstr "" @@ -6051,39 +6048,39 @@ msgstr "" msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1491 order/serializers.py:1597 +#: order/serializers.py:1491 order/serializers.py:1605 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1494 order/serializers.py:1600 +#: order/serializers.py:1494 order/serializers.py:1608 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1541 +#: order/serializers.py:1549 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1548 -msgid "The following serial numbers are already allocated" +#: order/serializers.py:1556 +msgid "The following serial numbers are unavailable" msgstr "" -#: order/serializers.py:1760 +#: order/serializers.py:1768 msgid "Return order line item" msgstr "" -#: order/serializers.py:1766 +#: order/serializers.py:1774 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1769 +#: order/serializers.py:1777 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1798 +#: order/serializers.py:1806 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1881 +#: order/serializers.py:1889 msgid "Line price currency" msgstr "" @@ -6510,7 +6507,7 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:48 part/models.py:1044 part/serializers.py:908 +#: part/admin.py:48 part/models.py:1044 part/serializers.py:906 #: part/templates/part/part_base.html:276 #: report/templates/report/inventree_stock_location_report.html:103 #: templates/js/translated/part.js:1233 templates/js/translated/part.js:2347 @@ -6537,7 +6534,7 @@ msgstr "" msgid "Category ID" msgstr "" -#: part/admin.py:67 part/admin.py:304 part/serializers.py:893 +#: part/admin.py:67 part/admin.py:304 part/serializers.py:891 #: part/stocktake.py:222 msgid "Category Name" msgstr "" @@ -6562,18 +6559,18 @@ msgstr "" msgid "Used In" msgstr "" -#: part/admin.py:150 part/serializers.py:918 +#: part/admin.py:150 part/serializers.py:916 #: part/templates/part/part_base.html:248 stock/admin.py:236 #: templates/js/translated/part.js:717 templates/js/translated/part.js:2159 msgid "Building" msgstr "" -#: part/admin.py:155 part/models.py:3214 part/models.py:3228 +#: part/admin.py:155 part/models.py:3201 part/models.py:3215 #: templates/js/translated/part.js:976 msgid "Minimum Cost" msgstr "" -#: part/admin.py:158 part/models.py:3221 part/models.py:3235 +#: part/admin.py:158 part/models.py:3208 part/models.py:3222 #: templates/js/translated/part.js:986 msgid "Maximum Cost" msgstr "" @@ -6592,7 +6589,7 @@ msgid "Category Path" msgstr "" #: part/admin.py:325 part/models.py:420 part/serializers.py:130 -#: part/serializers.py:290 part/serializers.py:428 +#: part/serializers.py:290 part/serializers.py:426 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:20 #: part/templates/part/category.html:138 part/templates/part/category.html:158 #: part/templates/part/category_sidebar.html:9 @@ -6619,13 +6616,13 @@ msgstr "" msgid "Part Revision" msgstr "" -#: part/admin.py:418 part/serializers.py:1367 +#: part/admin.py:418 part/serializers.py:1365 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:423 part/serializers.py:1382 +#: part/admin.py:423 part/serializers.py:1380 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -6719,8 +6716,8 @@ msgstr "" msgid "BOM Valid" msgstr "" -#: part/api.py:1520 part/models.py:1036 part/models.py:3501 part/models.py:4060 -#: part/serializers.py:443 part/serializers.py:1223 +#: part/api.py:1520 part/models.py:1036 part/models.py:3488 part/models.py:4047 +#: part/serializers.py:441 part/serializers.py:1221 #: part/templates/part/part_base.html:267 stock/api.py:780 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 @@ -6746,7 +6743,7 @@ msgstr "" msgid "Default Location" msgstr "" -#: part/bom.py:184 part/serializers.py:926 +#: part/bom.py:184 part/serializers.py:924 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "Цялостна наличност" @@ -6755,7 +6752,7 @@ msgstr "Цялостна наличност" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:89 part/models.py:4061 part/templates/part/category.html:16 +#: part/models.py:89 part/models.py:4048 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -6878,7 +6875,7 @@ msgstr "" msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:995 part/models.py:4116 +#: part/models.py:995 part/models.py:4103 msgid "Part name" msgstr "" @@ -6906,7 +6903,7 @@ msgstr "" msgid "Part category" msgstr "" -#: part/models.py:1052 part/serializers.py:360 +#: part/models.py:1052 msgid "Part revision or version number" msgstr "" @@ -7012,164 +7009,164 @@ msgid "Owner responsible for this part" msgstr "" #: part/models.py:1264 part/templates/part/part_base.html:355 -#: stock/templates/stock/item_base.html:451 +#: stock/templates/stock/item_base.html:447 #: templates/js/translated/part.js:2490 msgid "Last Stocktake" msgstr "" -#: part/models.py:2137 +#: part/models.py:2136 msgid "Sell multiple" msgstr "" -#: part/models.py:3128 +#: part/models.py:3115 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3144 +#: part/models.py:3131 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3145 +#: part/models.py:3132 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3151 +#: part/models.py:3138 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3152 +#: part/models.py:3139 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3158 +#: part/models.py:3145 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3159 +#: part/models.py:3146 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3165 +#: part/models.py:3152 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3166 +#: part/models.py:3153 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3172 +#: part/models.py:3159 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3173 +#: part/models.py:3160 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3179 +#: part/models.py:3166 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3180 +#: part/models.py:3167 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3186 +#: part/models.py:3173 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3187 +#: part/models.py:3174 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3193 +#: part/models.py:3180 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3194 +#: part/models.py:3181 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3200 +#: part/models.py:3187 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3201 +#: part/models.py:3188 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3207 +#: part/models.py:3194 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3208 +#: part/models.py:3195 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3215 +#: part/models.py:3202 msgid "Override minimum cost" msgstr "" -#: part/models.py:3222 +#: part/models.py:3209 msgid "Override maximum cost" msgstr "" -#: part/models.py:3229 +#: part/models.py:3216 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3236 +#: part/models.py:3223 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3242 +#: part/models.py:3229 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3243 +#: part/models.py:3230 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3249 +#: part/models.py:3236 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3250 +#: part/models.py:3237 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3256 +#: part/models.py:3243 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3257 +#: part/models.py:3244 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3263 +#: part/models.py:3250 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3264 +#: part/models.py:3251 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3283 +#: part/models.py:3270 msgid "Part for stocktake" msgstr "" -#: part/models.py:3288 +#: part/models.py:3275 msgid "Item Count" msgstr "" -#: part/models.py:3289 +#: part/models.py:3276 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3297 +#: part/models.py:3284 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3301 part/models.py:3384 +#: part/models.py:3288 part/models.py:3371 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -7181,363 +7178,363 @@ msgstr "" msgid "Date" msgstr "" -#: part/models.py:3302 +#: part/models.py:3289 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3310 +#: part/models.py:3297 msgid "Additional notes" msgstr "" -#: part/models.py:3320 +#: part/models.py:3307 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3326 +#: part/models.py:3313 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3327 +#: part/models.py:3314 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3333 +#: part/models.py:3320 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3334 +#: part/models.py:3321 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3390 templates/InvenTree/settings/settings_staff_js.html:532 +#: part/models.py:3377 templates/InvenTree/settings/settings_staff_js.html:532 msgid "Report" msgstr "" -#: part/models.py:3391 +#: part/models.py:3378 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3396 templates/InvenTree/settings/settings_staff_js.html:539 +#: part/models.py:3383 templates/InvenTree/settings/settings_staff_js.html:539 msgid "Part Count" msgstr "" -#: part/models.py:3397 +#: part/models.py:3384 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3407 +#: part/models.py:3394 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3417 +#: part/models.py:3404 msgid "Part Sale Price Break" msgstr "" -#: part/models.py:3529 +#: part/models.py:3516 msgid "Part Test Template" msgstr "" -#: part/models.py:3555 +#: part/models.py:3542 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3576 part/models.py:3745 +#: part/models.py:3563 part/models.py:3732 msgid "Choices must be unique" msgstr "" -#: part/models.py:3587 +#: part/models.py:3574 msgid "Test templates can only be created for testable parts" msgstr "" -#: part/models.py:3598 +#: part/models.py:3585 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3615 templates/js/translated/part.js:2898 +#: part/models.py:3602 templates/js/translated/part.js:2898 msgid "Test Name" msgstr "" -#: part/models.py:3616 +#: part/models.py:3603 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3622 +#: part/models.py:3609 msgid "Test Key" msgstr "" -#: part/models.py:3623 +#: part/models.py:3610 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3630 +#: part/models.py:3617 msgid "Test Description" msgstr "" -#: part/models.py:3631 +#: part/models.py:3618 msgid "Enter description for this test" msgstr "" -#: part/models.py:3635 report/models.py:208 +#: part/models.py:3622 report/models.py:216 #: templates/js/translated/part.js:2919 #: templates/js/translated/table_filters.js:502 msgid "Enabled" msgstr "" -#: part/models.py:3635 +#: part/models.py:3622 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3640 templates/js/translated/part.js:2927 +#: part/models.py:3627 templates/js/translated/part.js:2927 #: templates/js/translated/table_filters.js:498 msgid "Required" msgstr "" -#: part/models.py:3641 +#: part/models.py:3628 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3646 templates/js/translated/part.js:2935 +#: part/models.py:3633 templates/js/translated/part.js:2935 msgid "Requires Value" msgstr "" -#: part/models.py:3647 +#: part/models.py:3634 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3652 templates/js/translated/part.js:2942 +#: part/models.py:3639 templates/js/translated/part.js:2942 msgid "Requires Attachment" msgstr "" -#: part/models.py:3654 +#: part/models.py:3641 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3660 part/models.py:3804 templates/js/translated/part.js:1643 +#: part/models.py:3647 part/models.py:3791 templates/js/translated/part.js:1643 msgid "Choices" msgstr "" -#: part/models.py:3661 +#: part/models.py:3648 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3693 +#: part/models.py:3680 msgid "Part Parameter Template" msgstr "" -#: part/models.py:3720 +#: part/models.py:3707 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3725 +#: part/models.py:3712 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3762 +#: part/models.py:3749 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3777 +#: part/models.py:3764 msgid "Parameter Name" msgstr "" -#: part/models.py:3784 +#: part/models.py:3771 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3792 +#: part/models.py:3779 msgid "Parameter description" msgstr "" -#: part/models.py:3798 templates/js/translated/part.js:1634 +#: part/models.py:3785 templates/js/translated/part.js:1634 #: templates/js/translated/table_filters.js:837 msgid "Checkbox" msgstr "" -#: part/models.py:3799 +#: part/models.py:3786 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3805 +#: part/models.py:3792 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3839 +#: part/models.py:3826 msgid "Part Parameter" msgstr "" -#: part/models.py:3865 +#: part/models.py:3852 msgid "Parameter cannot be modified - part is locked" msgstr "" -#: part/models.py:3903 +#: part/models.py:3890 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3952 +#: part/models.py:3939 msgid "Parent Part" msgstr "" -#: part/models.py:3960 part/models.py:4068 part/models.py:4069 +#: part/models.py:3947 part/models.py:4055 part/models.py:4056 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3966 +#: part/models.py:3953 msgid "Parameter Value" msgstr "" -#: part/models.py:4016 +#: part/models.py:4003 msgid "Part Category Parameter Template" msgstr "" -#: part/models.py:4075 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:4062 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:4076 +#: part/models.py:4063 msgid "Default Parameter Value" msgstr "" -#: part/models.py:4114 +#: part/models.py:4101 msgid "Part ID or part name" msgstr "" -#: part/models.py:4115 +#: part/models.py:4102 msgid "Unique part ID value" msgstr "" -#: part/models.py:4117 +#: part/models.py:4104 msgid "Part IPN value" msgstr "" -#: part/models.py:4118 +#: part/models.py:4105 msgid "Level" msgstr "" -#: part/models.py:4118 +#: part/models.py:4105 msgid "BOM level" msgstr "" -#: part/models.py:4228 +#: part/models.py:4215 msgid "BOM item cannot be modified - assembly is locked" msgstr "" -#: part/models.py:4235 +#: part/models.py:4222 msgid "BOM item cannot be modified - variant assembly is locked" msgstr "" -#: part/models.py:4245 +#: part/models.py:4232 msgid "Select parent part" msgstr "" -#: part/models.py:4255 +#: part/models.py:4242 msgid "Sub part" msgstr "" -#: part/models.py:4256 +#: part/models.py:4243 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4267 +#: part/models.py:4254 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4273 +#: part/models.py:4260 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4279 +#: part/models.py:4266 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4286 part/templates/part/upload_bom.html:55 +#: part/models.py:4273 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4287 +#: part/models.py:4274 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4294 +#: part/models.py:4281 msgid "BOM item reference" msgstr "" -#: part/models.py:4302 +#: part/models.py:4289 msgid "BOM item notes" msgstr "" -#: part/models.py:4308 +#: part/models.py:4295 msgid "Checksum" msgstr "" -#: part/models.py:4309 +#: part/models.py:4296 msgid "BOM line checksum" msgstr "" -#: part/models.py:4314 templates/js/translated/table_filters.js:181 +#: part/models.py:4301 templates/js/translated/table_filters.js:181 msgid "Validated" msgstr "" -#: part/models.py:4315 +#: part/models.py:4302 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4320 part/templates/part/upload_bom.html:57 +#: part/models.py:4307 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:185 #: templates/js/translated/table_filters.js:218 msgid "Gets inherited" msgstr "" -#: part/models.py:4321 +#: part/models.py:4308 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4327 +#: part/models.py:4314 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4412 stock/models.py:689 +#: part/models.py:4399 stock/models.py:689 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4422 part/models.py:4424 +#: part/models.py:4409 part/models.py:4411 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4561 +#: part/models.py:4554 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4582 +#: part/models.py:4575 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4595 +#: part/models.py:4588 msgid "Parent BOM item" msgstr "" -#: part/models.py:4603 +#: part/models.py:4596 msgid "Substitute part" msgstr "" -#: part/models.py:4619 +#: part/models.py:4612 msgid "Part 1" msgstr "" -#: part/models.py:4627 +#: part/models.py:4620 msgid "Part 2" msgstr "" -#: part/models.py:4628 +#: part/models.py:4621 msgid "Select Related Part" msgstr "" -#: part/models.py:4647 +#: part/models.py:4640 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4652 +#: part/models.py:4645 msgid "Duplicate relationship already exists" msgstr "" @@ -7571,326 +7568,326 @@ msgstr "" msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:434 +#: part/serializers.py:432 msgid "No parts selected" msgstr "" -#: part/serializers.py:444 +#: part/serializers.py:442 msgid "Select category" msgstr "" -#: part/serializers.py:479 +#: part/serializers.py:477 msgid "Original Part" msgstr "" -#: part/serializers.py:480 +#: part/serializers.py:478 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:485 +#: part/serializers.py:483 msgid "Copy Image" msgstr "" -#: part/serializers.py:486 +#: part/serializers.py:484 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:492 part/templates/part/detail.html:293 +#: part/serializers.py:490 part/templates/part/detail.html:293 msgid "Copy BOM" msgstr "" -#: part/serializers.py:493 +#: part/serializers.py:491 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:499 +#: part/serializers.py:497 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:500 +#: part/serializers.py:498 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:506 +#: part/serializers.py:504 msgid "Copy Notes" msgstr "" -#: part/serializers.py:507 +#: part/serializers.py:505 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:525 +#: part/serializers.py:523 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:527 +#: part/serializers.py:525 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:534 +#: part/serializers.py:532 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:535 +#: part/serializers.py:533 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:552 +#: part/serializers.py:550 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:568 +#: part/serializers.py:566 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:578 +#: part/serializers.py:576 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:585 +#: part/serializers.py:583 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:594 +#: part/serializers.py:592 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:605 +#: part/serializers.py:603 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:612 +#: part/serializers.py:610 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:924 +#: part/serializers.py:922 msgid "Revisions" msgstr "" -#: part/serializers.py:929 +#: part/serializers.py:927 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:932 +#: part/serializers.py:930 msgid "Variant Stock" msgstr "" -#: part/serializers.py:962 part/templates/part/copy_part.html:9 +#: part/serializers.py:960 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:474 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:963 +#: part/serializers.py:961 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:969 templates/js/translated/part.js:103 +#: part/serializers.py:967 templates/js/translated/part.js:103 msgid "Initial Stock" msgstr "" -#: part/serializers.py:970 +#: part/serializers.py:968 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:976 +#: part/serializers.py:974 msgid "Supplier Information" msgstr "" -#: part/serializers.py:977 +#: part/serializers.py:975 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:985 +#: part/serializers.py:983 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:986 +#: part/serializers.py:984 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:991 +#: part/serializers.py:989 msgid "Existing Image" msgstr "" -#: part/serializers.py:992 +#: part/serializers.py:990 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:1009 +#: part/serializers.py:1007 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1215 +#: part/serializers.py:1213 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1225 +#: part/serializers.py:1223 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1235 +#: part/serializers.py:1233 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1241 +#: part/serializers.py:1239 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1242 +#: part/serializers.py:1240 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1247 +#: part/serializers.py:1245 msgid "Generate Report" msgstr "" -#: part/serializers.py:1248 +#: part/serializers.py:1246 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1253 +#: part/serializers.py:1251 msgid "Update Parts" msgstr "" -#: part/serializers.py:1254 +#: part/serializers.py:1252 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1262 +#: part/serializers.py:1260 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1368 +#: part/serializers.py:1366 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1375 +#: part/serializers.py:1373 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1383 +#: part/serializers.py:1381 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1390 +#: part/serializers.py:1388 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1419 +#: part/serializers.py:1417 msgid "Update" msgstr "" -#: part/serializers.py:1420 +#: part/serializers.py:1418 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1443 +#: part/serializers.py:1441 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1450 +#: part/serializers.py:1448 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1453 +#: part/serializers.py:1451 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1597 +#: part/serializers.py:1595 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1606 +#: part/serializers.py:1604 msgid "Component Name" msgstr "" -#: part/serializers.py:1609 +#: part/serializers.py:1607 msgid "Component IPN" msgstr "" -#: part/serializers.py:1612 +#: part/serializers.py:1610 msgid "Component Description" msgstr "" -#: part/serializers.py:1618 +#: part/serializers.py:1616 msgid "Select the component part" msgstr "" -#: part/serializers.py:1627 part/templates/part/part_base.html:242 +#: part/serializers.py:1625 part/templates/part/part_base.html:242 #: templates/js/translated/bom.js:1219 msgid "Can Build" msgstr "" -#: part/serializers.py:1858 +#: part/serializers.py:1856 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1866 +#: part/serializers.py:1864 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1867 +#: part/serializers.py:1865 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1872 +#: part/serializers.py:1870 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1873 +#: part/serializers.py:1871 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1878 +#: part/serializers.py:1876 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1879 +#: part/serializers.py:1877 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1884 +#: part/serializers.py:1882 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1885 +#: part/serializers.py:1883 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1922 +#: part/serializers.py:1920 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1923 +#: part/serializers.py:1921 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1955 +#: part/serializers.py:1953 msgid "No part column specified" msgstr "" -#: part/serializers.py:1999 +#: part/serializers.py:1997 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:2002 +#: part/serializers.py:2000 msgid "No matching part found" msgstr "" -#: part/serializers.py:2004 +#: part/serializers.py:2002 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:2013 +#: part/serializers.py:2011 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:2021 +#: part/serializers.py:2019 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:2044 +#: part/serializers.py:2042 msgid "At least one BOM item is required" msgstr "" @@ -8216,7 +8213,7 @@ msgid "Subscribe to notifications for this part" msgstr "" #: part/templates/part/part_base.html:52 -#: stock/templates/stock/item_base.html:62 +#: stock/templates/stock/item_base.html:61 #: stock/templates/stock/location.html:71 templates/js/translated/label.js:136 msgid "Print Label" msgstr "" @@ -8226,7 +8223,7 @@ msgid "Show pricing information" msgstr "" #: part/templates/part/part_base.html:63 -#: stock/templates/stock/item_base.html:110 +#: stock/templates/stock/item_base.html:106 #: stock/templates/stock/location.html:80 msgid "Stock actions" msgstr "" @@ -8297,12 +8294,12 @@ msgid "Required for Orders" msgstr "" #: part/templates/part/part_base.html:225 -#: stock/templates/stock/item_base.html:388 +#: stock/templates/stock/item_base.html:384 msgid "Allocated to Build Orders" msgstr "" #: part/templates/part/part_base.html:234 -#: stock/templates/stock/item_base.html:381 +#: stock/templates/stock/item_base.html:377 msgid "Allocated to Sales Orders" msgstr "" @@ -8322,7 +8319,7 @@ msgid "Latest Serial Number" msgstr "" #: part/templates/part/part_base.html:372 -#: stock/templates/stock/item_base.html:322 +#: stock/templates/stock/item_base.html:318 msgid "Search for serial number" msgstr "" @@ -8449,7 +8446,7 @@ msgid "Edit" msgstr "" #: part/templates/part/prices.html:28 stock/admin.py:252 -#: stock/templates/stock/item_base.html:446 +#: stock/templates/stock/item_base.html:442 #: templates/js/translated/company.js:1703 #: templates/js/translated/company.js:1713 #: templates/js/translated/stock.js:2332 @@ -8604,7 +8601,7 @@ msgstr "" msgid "Part Pricing" msgstr "" -#: plugin/api.py:172 +#: plugin/api.py:174 msgid "Plugin cannot be deleted as it is currently active" msgstr "" @@ -8940,7 +8937,7 @@ msgstr "" msgid "Print a border around each label" msgstr "" -#: plugin/builtin/labels/label_sheet.py:47 report/models.py:307 +#: plugin/builtin/labels/label_sheet.py:47 report/models.py:315 msgid "Landscape" msgstr "" @@ -9012,44 +9009,44 @@ msgstr "" msgid "The Supplier which acts as 'TME'" msgstr "" -#: plugin/installer.py:194 plugin/installer.py:274 +#: plugin/installer.py:199 plugin/installer.py:282 msgid "Only staff users can administer plugins" msgstr "" -#: plugin/installer.py:197 +#: plugin/installer.py:202 msgid "Plugin installation is disabled" msgstr "" -#: plugin/installer.py:241 +#: plugin/installer.py:246 msgid "Installed plugin successfully" msgstr "" -#: plugin/installer.py:246 +#: plugin/installer.py:251 #, python-brace-format msgid "Installed plugin into {path}" msgstr "" -#: plugin/installer.py:265 +#: plugin/installer.py:273 msgid "Plugin was not found in registry" msgstr "" -#: plugin/installer.py:268 +#: plugin/installer.py:276 msgid "Plugin is not a packaged plugin" msgstr "" -#: plugin/installer.py:271 +#: plugin/installer.py:279 msgid "Plugin package name not found" msgstr "" -#: plugin/installer.py:291 +#: plugin/installer.py:299 msgid "Plugin uninstalling is disabled" msgstr "" -#: plugin/installer.py:295 +#: plugin/installer.py:303 msgid "Plugin cannot be uninstalled as it is currently active" msgstr "" -#: plugin/installer.py:308 +#: plugin/installer.py:316 msgid "Uninstalled plugin successfully" msgstr "" @@ -9098,7 +9095,7 @@ msgstr "" msgid "Package Plugin" msgstr "" -#: plugin/models.py:220 report/models.py:474 +#: plugin/models.py:220 report/models.py:482 #: templates/InvenTree/settings/plugin_settings.html:9 #: templates/js/translated/plugin.js:51 msgid "Plugin" @@ -9167,6 +9164,38 @@ msgstr "" msgid "InvenTree Contributors" msgstr "" +#: plugin/samples/integration/user_interface_sample.py:22 +msgid "Enable Part Panels" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:23 +msgid "Enable custom panels for Part views" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:28 +msgid "Enable Purchase Order Panels" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:29 +msgid "Enable custom panels for Purchase Order views" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:34 +msgid "Enable Broken Panels" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:35 +msgid "Enable broken panels for testing" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:40 +msgid "Enable Dynamic Panel" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:41 +msgid "Enable dynamic panels for testing" +msgstr "" + #: plugin/serializers.py:81 msgid "Source URL" msgstr "" @@ -9245,12 +9274,36 @@ msgstr "" msgid "Delete the plugin configuration from the database" msgstr "" +#: plugin/serializers.py:324 +msgid "Plugin Key" +msgstr "" + +#: plugin/serializers.py:328 +msgid "Panel Name" +msgstr "" + +#: plugin/serializers.py:332 +msgid "Panel Title" +msgstr "" + +#: plugin/serializers.py:337 +msgid "Panel Icon" +msgstr "" + +#: plugin/serializers.py:341 +msgid "Panel Content (HTML)" +msgstr "" + +#: plugin/serializers.py:345 +msgid "Panel Source (javascript)" +msgstr "" + #: report/api.py:88 msgid "No valid objects provided to template" msgstr "" -#: report/api.py:103 report/models.py:438 report/serializers.py:98 -#: report/serializers.py:148 templates/js/translated/purchase_order.js:1817 +#: report/api.py:103 report/models.py:446 report/serializers.py:99 +#: report/serializers.py:149 templates/js/translated/purchase_order.js:1817 #: templates/js/translated/return_order.js:353 #: templates/js/translated/sales_order.js:887 #: templates/js/translated/sales_order.js:1047 @@ -9281,7 +9334,11 @@ msgstr "" msgid "Error printing label" msgstr "" -#: report/api.py:375 report/api.py:411 +#: report/api.py:358 +msgid "Report saved at time of printing" +msgstr "" + +#: report/api.py:384 report/api.py:420 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" @@ -9318,135 +9375,143 @@ msgstr "" msgid "Revision number (auto-increments)" msgstr "" -#: report/models.py:202 +#: report/models.py:168 +msgid "Attach to Model on Print" +msgstr "" + +#: report/models.py:170 +msgid "Save report output as an attachment against linked model instance when printing" +msgstr "" + +#: report/models.py:210 msgid "Filename Pattern" msgstr "" -#: report/models.py:203 +#: report/models.py:211 msgid "Pattern for generating filenames" msgstr "" -#: report/models.py:208 +#: report/models.py:216 msgid "Template is enabled" msgstr "" -#: report/models.py:214 +#: report/models.py:222 msgid "Target model type for template" msgstr "" -#: report/models.py:234 +#: report/models.py:242 msgid "Filters" msgstr "" -#: report/models.py:235 +#: report/models.py:243 msgid "Template query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:294 report/models.py:361 +#: report/models.py:302 report/models.py:369 msgid "Template file" msgstr "" -#: report/models.py:302 +#: report/models.py:310 msgid "Page size for PDF reports" msgstr "" -#: report/models.py:308 +#: report/models.py:316 msgid "Render report in landscape orientation" msgstr "" -#: report/models.py:367 +#: report/models.py:375 msgid "Width [mm]" msgstr "" -#: report/models.py:368 +#: report/models.py:376 msgid "Label width, specified in mm" msgstr "" -#: report/models.py:374 +#: report/models.py:382 msgid "Height [mm]" msgstr "" -#: report/models.py:375 +#: report/models.py:383 msgid "Label height, specified in mm" msgstr "" -#: report/models.py:438 +#: report/models.py:446 msgid "Number of items to process" msgstr "" -#: report/models.py:444 +#: report/models.py:452 msgid "Report generation is complete" msgstr "" -#: report/models.py:448 templates/js/translated/build.js:2352 +#: report/models.py:456 templates/js/translated/build.js:2352 msgid "Progress" msgstr "" -#: report/models.py:448 +#: report/models.py:456 msgid "Report generation progress" msgstr "" -#: report/models.py:456 +#: report/models.py:464 msgid "Report Template" msgstr "" -#: report/models.py:463 report/models.py:486 +#: report/models.py:471 report/models.py:494 msgid "Output File" msgstr "" -#: report/models.py:464 report/models.py:487 +#: report/models.py:472 report/models.py:495 msgid "Generated output file" msgstr "" -#: report/models.py:475 +#: report/models.py:483 msgid "Label output plugin" msgstr "" -#: report/models.py:479 +#: report/models.py:487 msgid "Label Template" msgstr "" -#: report/models.py:502 +#: report/models.py:510 msgid "Snippet" msgstr "" -#: report/models.py:503 +#: report/models.py:511 msgid "Report snippet file" msgstr "" -#: report/models.py:510 +#: report/models.py:518 msgid "Snippet file description" msgstr "" -#: report/models.py:528 +#: report/models.py:536 msgid "Asset" msgstr "" -#: report/models.py:529 +#: report/models.py:537 msgid "Report asset file" msgstr "" -#: report/models.py:536 +#: report/models.py:544 msgid "Asset file description" msgstr "" -#: report/serializers.py:91 +#: report/serializers.py:92 msgid "Select report template" msgstr "" -#: report/serializers.py:99 report/serializers.py:149 +#: report/serializers.py:100 report/serializers.py:150 msgid "List of item primary keys to include in the report" msgstr "" -#: report/serializers.py:132 +#: report/serializers.py:133 msgid "Select label template" msgstr "" -#: report/serializers.py:140 +#: report/serializers.py:141 msgid "Printing Plugin" msgstr "" -#: report/serializers.py:141 +#: report/serializers.py:142 msgid "Select plugin to use for label printing" msgstr "" @@ -9517,7 +9582,7 @@ msgstr "" msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report.html:103 stock/models.py:2538 +#: report/templates/report/inventree_test_report.html:103 stock/models.py:2533 msgid "Result" msgstr "" @@ -9598,7 +9663,7 @@ msgid "Customer ID" msgstr "" #: stock/admin.py:206 stock/models.py:829 -#: stock/templates/stock/item_base.html:354 +#: stock/templates/stock/item_base.html:350 msgid "Installed In" msgstr "" @@ -9623,7 +9688,7 @@ msgid "Delete on Deplete" msgstr "" #: stock/admin.py:261 stock/models.py:923 -#: stock/templates/stock/item_base.html:433 +#: stock/templates/stock/item_base.html:429 #: templates/js/translated/stock.js:2316 users/models.py:124 msgid "Expiry Date" msgstr "" @@ -9665,7 +9730,7 @@ msgid "Expiry date after" msgstr "" #: stock/api.py:839 stock/serializers.py:611 -#: stock/templates/stock/item_base.html:439 +#: stock/templates/stock/item_base.html:435 #: templates/js/translated/table_filters.js:448 msgid "Stale" msgstr "" @@ -9715,7 +9780,7 @@ msgid "Stock Locations" msgstr "Места в склада" #: stock/models.py:185 stock/models.py:972 -#: stock/templates/stock/item_base.html:247 +#: stock/templates/stock/item_base.html:243 msgid "Owner" msgstr "" @@ -9826,7 +9891,7 @@ msgstr "" msgid "Build for this stock item" msgstr "" -#: stock/models.py:892 stock/templates/stock/item_base.html:363 +#: stock/models.py:892 stock/templates/stock/item_base.html:359 msgid "Consumed By" msgstr "" @@ -9891,7 +9956,7 @@ msgstr "" msgid "Serial numbers already exist" msgstr "" -#: stock/models.py:1636 +#: stock/models.py:1636 stock/models.py:2436 msgid "Test template does not exist" msgstr "" @@ -9939,67 +10004,67 @@ msgstr "" msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2337 +#: stock/models.py:2335 msgid "Stock Item Tracking" msgstr "" -#: stock/models.py:2370 +#: stock/models.py:2368 msgid "Entry notes" msgstr "" -#: stock/models.py:2410 +#: stock/models.py:2408 msgid "Stock Item Test Result" msgstr "" -#: stock/models.py:2443 +#: stock/models.py:2439 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2448 +#: stock/models.py:2443 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2453 +#: stock/models.py:2448 msgid "Invalid value for this test" msgstr "" -#: stock/models.py:2538 +#: stock/models.py:2533 msgid "Test result" msgstr "" -#: stock/models.py:2545 +#: stock/models.py:2540 msgid "Test output value" msgstr "" -#: stock/models.py:2553 stock/serializers.py:245 +#: stock/models.py:2548 stock/serializers.py:245 msgid "Test result attachment" msgstr "" -#: stock/models.py:2557 +#: stock/models.py:2552 msgid "Test notes" msgstr "" -#: stock/models.py:2565 templates/js/translated/stock.js:1633 +#: stock/models.py:2560 templates/js/translated/stock.js:1633 msgid "Test station" msgstr "" -#: stock/models.py:2566 +#: stock/models.py:2561 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2572 +#: stock/models.py:2567 msgid "Started" msgstr "" -#: stock/models.py:2573 +#: stock/models.py:2568 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2579 +#: stock/models.py:2574 msgid "Finished" msgstr "" -#: stock/models.py:2580 +#: stock/models.py:2575 msgid "The timestamp of the test finish" msgstr "" @@ -10059,7 +10124,7 @@ msgstr "" msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:459 stock/templates/stock/item_base.html:193 +#: stock/serializers.py:459 stock/templates/stock/item_base.html:189 msgid "Parent Item" msgstr "" @@ -10071,7 +10136,7 @@ msgstr "" msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:603 stock/templates/stock/item_base.html:437 +#: stock/serializers.py:603 stock/templates/stock/item_base.html:433 #: templates/js/translated/table_filters.js:442 users/models.py:174 msgid "Expired" msgstr "" @@ -10410,7 +10475,7 @@ msgstr "" msgid "Test Data" msgstr "" -#: stock/templates/stock/item.html:85 stock/templates/stock/item_base.html:65 +#: stock/templates/stock/item.html:85 msgid "Test Report" msgstr "" @@ -10450,200 +10515,204 @@ msgstr "" msgid "Scan to Location" msgstr "" -#: stock/templates/stock/item_base.html:59 +#: stock/templates/stock/item_base.html:58 #: stock/templates/stock/location.html:67 #: templates/js/translated/filters.js:434 msgid "Printing actions" msgstr "" -#: stock/templates/stock/item_base.html:75 +#: stock/templates/stock/item_base.html:63 templates/js/translated/report.js:49 +msgid "Print Report" +msgstr "" + +#: stock/templates/stock/item_base.html:71 msgid "Stock adjustment actions" msgstr "" -#: stock/templates/stock/item_base.html:79 +#: stock/templates/stock/item_base.html:75 #: stock/templates/stock/location.html:87 templates/js/translated/stock.js:1909 msgid "Count stock" msgstr "" -#: stock/templates/stock/item_base.html:81 +#: stock/templates/stock/item_base.html:77 #: templates/js/translated/stock.js:1891 msgid "Add stock" msgstr "" -#: stock/templates/stock/item_base.html:82 +#: stock/templates/stock/item_base.html:78 #: templates/js/translated/stock.js:1900 msgid "Remove stock" msgstr "" -#: stock/templates/stock/item_base.html:85 +#: stock/templates/stock/item_base.html:81 msgid "Serialize stock" msgstr "" -#: stock/templates/stock/item_base.html:88 +#: stock/templates/stock/item_base.html:84 #: stock/templates/stock/location.html:93 templates/js/translated/stock.js:1918 msgid "Transfer stock" msgstr "" -#: stock/templates/stock/item_base.html:91 +#: stock/templates/stock/item_base.html:87 #: templates/js/translated/stock.js:1973 msgid "Assign to customer" msgstr "" -#: stock/templates/stock/item_base.html:94 +#: stock/templates/stock/item_base.html:90 msgid "Return to stock" msgstr "" -#: stock/templates/stock/item_base.html:97 +#: stock/templates/stock/item_base.html:93 msgid "Uninstall stock item" msgstr "" -#: stock/templates/stock/item_base.html:97 +#: stock/templates/stock/item_base.html:93 msgid "Uninstall" msgstr "" -#: stock/templates/stock/item_base.html:101 +#: stock/templates/stock/item_base.html:97 msgid "Install stock item" msgstr "" -#: stock/templates/stock/item_base.html:101 +#: stock/templates/stock/item_base.html:97 msgid "Install" msgstr "" -#: stock/templates/stock/item_base.html:115 +#: stock/templates/stock/item_base.html:111 msgid "Convert to variant" msgstr "" -#: stock/templates/stock/item_base.html:118 +#: stock/templates/stock/item_base.html:114 msgid "Duplicate stock item" msgstr "" -#: stock/templates/stock/item_base.html:120 +#: stock/templates/stock/item_base.html:116 msgid "Edit stock item" msgstr "" -#: stock/templates/stock/item_base.html:123 +#: stock/templates/stock/item_base.html:119 msgid "Delete stock item" msgstr "" -#: stock/templates/stock/item_base.html:169 templates/InvenTree/search.html:139 +#: stock/templates/stock/item_base.html:165 templates/InvenTree/search.html:139 #: templates/js/translated/build.js:2298 templates/navbar.html:38 msgid "Build" msgstr "" -#: stock/templates/stock/item_base.html:211 +#: stock/templates/stock/item_base.html:207 msgid "No manufacturer set" msgstr "" -#: stock/templates/stock/item_base.html:251 +#: stock/templates/stock/item_base.html:247 msgid "You are not in the list of owners of this item. This stock item cannot be edited." msgstr "" -#: stock/templates/stock/item_base.html:252 +#: stock/templates/stock/item_base.html:248 #: stock/templates/stock/location.html:146 msgid "Read only" msgstr "" -#: stock/templates/stock/item_base.html:265 +#: stock/templates/stock/item_base.html:261 msgid "This stock item is unavailable" msgstr "" -#: stock/templates/stock/item_base.html:271 +#: stock/templates/stock/item_base.html:267 msgid "This stock item is in production and cannot be edited." msgstr "" -#: stock/templates/stock/item_base.html:272 +#: stock/templates/stock/item_base.html:268 msgid "Edit the stock item from the build view." msgstr "" -#: stock/templates/stock/item_base.html:287 +#: stock/templates/stock/item_base.html:283 msgid "This stock item is allocated to Sales Order" msgstr "" -#: stock/templates/stock/item_base.html:295 +#: stock/templates/stock/item_base.html:291 msgid "This stock item is allocated to Build Order" msgstr "" -#: stock/templates/stock/item_base.html:311 +#: stock/templates/stock/item_base.html:307 msgid "This stock item is serialized. It has a unique serial number and the quantity cannot be adjusted" msgstr "" -#: stock/templates/stock/item_base.html:317 +#: stock/templates/stock/item_base.html:313 msgid "previous page" msgstr "" -#: stock/templates/stock/item_base.html:317 +#: stock/templates/stock/item_base.html:313 msgid "Navigate to previous serial number" msgstr "" -#: stock/templates/stock/item_base.html:326 +#: stock/templates/stock/item_base.html:322 msgid "next page" msgstr "" -#: stock/templates/stock/item_base.html:326 +#: stock/templates/stock/item_base.html:322 msgid "Navigate to next serial number" msgstr "" -#: stock/templates/stock/item_base.html:398 +#: stock/templates/stock/item_base.html:394 #: templates/js/translated/build.js:2555 msgid "No location set" msgstr "" -#: stock/templates/stock/item_base.html:413 +#: stock/templates/stock/item_base.html:409 msgid "Tests" msgstr "" -#: stock/templates/stock/item_base.html:419 +#: stock/templates/stock/item_base.html:415 msgid "This stock item has not passed all required tests" msgstr "" -#: stock/templates/stock/item_base.html:437 +#: stock/templates/stock/item_base.html:433 #, python-format msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:439 +#: stock/templates/stock/item_base.html:435 #, python-format msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:455 +#: stock/templates/stock/item_base.html:451 msgid "No stocktake performed" msgstr "" -#: stock/templates/stock/item_base.html:504 +#: stock/templates/stock/item_base.html:500 #: templates/js/translated/stock.js:2038 msgid "stock item" msgstr "" -#: stock/templates/stock/item_base.html:527 +#: stock/templates/stock/item_base.html:523 msgid "Edit Stock Status" msgstr "" -#: stock/templates/stock/item_base.html:536 +#: stock/templates/stock/item_base.html:532 msgid "Stock Item QR Code" msgstr "" -#: stock/templates/stock/item_base.html:547 +#: stock/templates/stock/item_base.html:543 msgid "Link Barcode to Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:611 +#: stock/templates/stock/item_base.html:607 msgid "Select one of the part variants listed below." msgstr "" -#: stock/templates/stock/item_base.html:614 +#: stock/templates/stock/item_base.html:610 msgid "Warning" msgstr "" -#: stock/templates/stock/item_base.html:615 +#: stock/templates/stock/item_base.html:611 msgid "This action cannot be easily undone" msgstr "" -#: stock/templates/stock/item_base.html:623 +#: stock/templates/stock/item_base.html:619 msgid "Convert Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:656 +#: stock/templates/stock/item_base.html:652 msgid "Return to Stock" msgstr "" @@ -11310,7 +11379,7 @@ msgid "Delete Location Type" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:503 -#: templates/InvenTree/settings/stock.html:38 +#: templates/InvenTree/settings/stock.html:39 msgid "New Location Type" msgstr "" @@ -11367,7 +11436,7 @@ msgstr "" msgid "Stock Settings" msgstr "" -#: templates/InvenTree/settings/stock.html:34 +#: templates/InvenTree/settings/stock.html:35 msgid "Stock Location Types" msgstr "" @@ -11852,23 +11921,23 @@ msgstr "" msgid "Barcode Identifier" msgstr "" -#: templates/base.html:103 +#: templates/base.html:102 msgid "Server Restart Required" msgstr "" -#: templates/base.html:106 +#: templates/base.html:105 msgid "A configuration option has been changed which requires a server restart" msgstr "" -#: templates/base.html:106 templates/base.html:116 +#: templates/base.html:105 templates/base.html:115 msgid "Contact your system administrator for further information" msgstr "" -#: templates/base.html:113 +#: templates/base.html:112 msgid "Pending Database Migrations" msgstr "" -#: templates/base.html:116 +#: templates/base.html:115 msgid "There are pending database migrations which require attention" msgstr "" @@ -13946,10 +14015,6 @@ msgstr "" msgid "Delete line item" msgstr "" -#: templates/js/translated/report.js:49 -msgid "Print Report" -msgstr "" - #: templates/js/translated/report.js:68 msgid "Report print successful" msgstr "" diff --git a/src/backend/InvenTree/locale/cs/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/cs/LC_MESSAGES/django.po index eeb2ffb5f02a..9b093adef89e 100644 --- a/src/backend/InvenTree/locale/cs/LC_MESSAGES/django.po +++ b/src/backend/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: 2024-08-29 07:07+0000\n" -"PO-Revision-Date: 2024-08-29 07:10\n" +"POT-Creation-Date: 2024-09-16 00:37+0000\n" +"PO-Revision-Date: 2024-09-16 00:40\n" "Last-Translator: \n" "Language-Team: Czech\n" "Language: cs_CZ\n" @@ -65,9 +65,9 @@ msgstr "Zadejte datum" #: 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:59 -#: part/models.py:3309 part/templates/part/part_sidebar.html:65 +#: part/models.py:3296 part/templates/part/part_sidebar.html:65 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/admin.py:231 stock/models.py:2369 stock/models.py:2557 +#: stock/admin.py:231 stock/models.py:2367 stock/models.py:2552 #: stock/serializers.py:705 stock/serializers.py:863 stock/serializers.py:989 #: stock/serializers.py:1039 stock/serializers.py:1350 #: stock/serializers.py:1439 stock/serializers.py:1604 @@ -364,7 +364,7 @@ msgstr "Čínština (tradiční)" msgid "[{site_name}] Log in to the app" msgstr "[{site_name}] Přihlásit se do aplikace" -#: InvenTree/magic_login.py:38 InvenTree/serializers.py:413 +#: InvenTree/magic_login.py:38 InvenTree/serializers.py:416 #: company/models.py:133 company/templates/company/company_base.html:138 #: templates/InvenTree/settings/user.html:49 #: templates/js/translated/company.js:677 @@ -419,9 +419,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:767 common/models.py:2704 common/models.py:3131 -#: common/models.py:3351 common/serializers.py:439 company/models.py:590 -#: machine/models.py:24 part/models.py:995 part/models.py:3776 +#: InvenTree/models.py:767 common/models.py:2705 common/models.py:3132 +#: common/models.py:3352 common/serializers.py:455 company/models.py:590 +#: machine/models.py:24 part/models.py:995 part/models.py:3763 #: plugin/models.py:51 report/models.py:149 stock/models.py:82 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -446,10 +446,10 @@ msgstr "Název" #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 order/models.py:289 #: order/models.py:1406 part/admin.py:305 part/admin.py:411 part/models.py:1018 -#: part/models.py:3791 part/templates/part/category.html:79 +#: part/models.py:3778 part/templates/part/category.html:79 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:155 -#: report/models.py:509 report/models.py:535 +#: report/models.py:517 report/models.py:543 #: report/templates/report/inventree_build_order_report.html:117 #: stock/admin.py:54 stock/models.py:88 stock/templates/stock/location.html:122 #: templates/InvenTree/settings/notifications.html:19 @@ -517,12 +517,12 @@ msgstr "Chyba serveru" msgid "An error has been logged by the server." msgstr "Server zaznamenal chybu." -#: InvenTree/serializers.py:63 part/models.py:4400 +#: InvenTree/serializers.py:63 part/models.py:4387 msgid "Must be a valid number" msgstr "Musí být platné číslo" #: InvenTree/serializers.py:100 company/models.py:183 -#: company/templates/company/company_base.html:112 part/models.py:3127 +#: company/templates/company/company_base.html:112 part/models.py:3114 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -536,43 +536,43 @@ msgstr "Vyberte měnu z dostupných možností" msgid "Username" msgstr "Uživatelské jméno" -#: InvenTree/serializers.py:407 templates/InvenTree/settings/user.html:37 +#: InvenTree/serializers.py:408 templates/InvenTree/settings/user.html:37 msgid "First Name" msgstr "Křestní jméno" -#: InvenTree/serializers.py:407 +#: InvenTree/serializers.py:408 msgid "First name of the user" msgstr "Křestní jméno uživatele" -#: InvenTree/serializers.py:410 templates/InvenTree/settings/user.html:41 +#: InvenTree/serializers.py:412 templates/InvenTree/settings/user.html:41 msgid "Last Name" msgstr "Příjmení" -#: InvenTree/serializers.py:410 +#: InvenTree/serializers.py:412 msgid "Last name of the user" msgstr "Příjmení uživatele" -#: InvenTree/serializers.py:413 +#: InvenTree/serializers.py:416 msgid "Email address of the user" msgstr "Emailová adresa uživatele" -#: InvenTree/serializers.py:438 +#: InvenTree/serializers.py:441 msgid "Staff" msgstr "Personál" -#: InvenTree/serializers.py:438 +#: InvenTree/serializers.py:441 msgid "Does this user have staff permissions" msgstr "Má tento uživatel oprávnění personálu" -#: InvenTree/serializers.py:441 +#: InvenTree/serializers.py:445 msgid "Superuser" msgstr "Super-uživatel" -#: InvenTree/serializers.py:441 +#: InvenTree/serializers.py:445 msgid "Is this user a superuser" msgstr "Je tento uživatel superuživatel" -#: InvenTree/serializers.py:444 common/models.py:2709 company/models.py:160 +#: InvenTree/serializers.py:449 common/models.py:2710 company/models.py:160 #: company/models.py:798 machine/models.py:39 part/admin.py:88 #: part/models.py:1201 plugin/models.py:66 #: templates/js/translated/company.js:523 @@ -585,89 +585,89 @@ msgstr "Je tento uživatel superuživatel" msgid "Active" msgstr "Aktivní" -#: InvenTree/serializers.py:444 +#: InvenTree/serializers.py:449 msgid "Is this user account active" msgstr "Je tento uživatelský účet aktivní" -#: InvenTree/serializers.py:462 +#: InvenTree/serializers.py:467 msgid "You do not have permission to change this user role." msgstr "Nemáte oprávnění měnit tuto uživatelskou roli." -#: InvenTree/serializers.py:474 +#: InvenTree/serializers.py:503 msgid "Only superusers can create new users" msgstr "Pouze superuživatelé mohou vytvářet nové uživatele" -#: InvenTree/serializers.py:493 +#: InvenTree/serializers.py:522 msgid "Your account has been created." msgstr "Váš účet byl vytvořen." -#: InvenTree/serializers.py:495 +#: InvenTree/serializers.py:524 msgid "Please use the password reset function to login" msgstr "Pro přihlášení použijte funkci obnovení hesla" -#: InvenTree/serializers.py:502 +#: InvenTree/serializers.py:531 msgid "Welcome to InvenTree" msgstr "Vítejte v InvenTree" -#: InvenTree/serializers.py:560 +#: InvenTree/serializers.py:589 msgid "Invalid value" msgstr "Neplatná hodnota" -#: InvenTree/serializers.py:580 importer/models.py:64 +#: InvenTree/serializers.py:609 importer/models.py:64 msgid "Data File" msgstr "Datový soubor" -#: InvenTree/serializers.py:581 +#: InvenTree/serializers.py:610 msgid "Select data file for upload" msgstr "Vyberte datový soubor k nahrání" -#: InvenTree/serializers.py:598 +#: InvenTree/serializers.py:627 msgid "Unsupported file type" msgstr "Nepodporovaný typ souboru" -#: InvenTree/serializers.py:604 +#: InvenTree/serializers.py:633 msgid "File is too large" msgstr "Soubor je příliš velký" -#: InvenTree/serializers.py:625 +#: InvenTree/serializers.py:654 msgid "No columns found in file" msgstr "V souboru nebyly nalezeny žádné sloupce" -#: InvenTree/serializers.py:628 +#: InvenTree/serializers.py:657 msgid "No data rows found in file" msgstr "V souboru nebyly nalezeny žádné řádky s daty" -#: InvenTree/serializers.py:740 +#: InvenTree/serializers.py:769 msgid "No data rows provided" msgstr "Nebyly zadány žádné řádky s daty" -#: InvenTree/serializers.py:743 +#: InvenTree/serializers.py:772 msgid "No data columns supplied" msgstr "Nebyly zadány žádné sloupce s daty" -#: InvenTree/serializers.py:809 +#: InvenTree/serializers.py:838 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "Chybí povinný sloupec: '{name}'" -#: InvenTree/serializers.py:818 +#: InvenTree/serializers.py:847 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "Duplicitní sloupec: '{col}'" -#: InvenTree/serializers.py:857 +#: InvenTree/serializers.py:886 msgid "Remote Image" msgstr "Vzdálený obraz" -#: InvenTree/serializers.py:858 +#: InvenTree/serializers.py:887 msgid "URL of remote image file" msgstr "URL souboru vzdáleného obrázku" -#: InvenTree/serializers.py:876 +#: InvenTree/serializers.py:905 msgid "Downloading images from remote URL is not enabled" msgstr "Stahování obrázků ze vzdálené URL není povoleno" -#: InvenTree/status.py:65 part/serializers.py:1267 +#: InvenTree/status.py:65 part/serializers.py:1265 msgid "Background worker check failed" msgstr "Kontrola procesů na pozadí se nezdařila" @@ -759,7 +759,7 @@ msgstr "" 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:319 build/serializers.py:1332 part/models.py:4278 +#: build/api.py:319 build/serializers.py:1332 part/models.py:4265 #: templates/js/translated/bom.js:997 templates/js/translated/bom.js:1037 #: templates/js/translated/build.js:2705 #: templates/js/translated/table_filters.js:197 @@ -767,7 +767,7 @@ msgstr "Sestavení musí být zrušeno před odstraněním" msgid "Consumable" msgstr "Spotřební materiál" -#: build/api.py:320 build/serializers.py:1333 part/models.py:4272 +#: build/api.py:320 build/serializers.py:1333 part/models.py:4259 #: part/templates/part/upload_bom.html:58 templates/js/translated/bom.js:1001 #: templates/js/translated/bom.js:1028 templates/js/translated/build.js:2696 #: templates/js/translated/table_filters.js:193 @@ -777,7 +777,7 @@ msgid "Optional" msgstr "Volitelné" #: build/api.py:321 common/models.py:1491 part/admin.py:91 part/admin.py:428 -#: part/models.py:1166 part/serializers.py:1596 +#: part/models.py:1166 part/serializers.py:1594 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:337 #: templates/js/translated/table_filters.js:729 @@ -816,7 +816,7 @@ msgstr "Přiděleno" msgid "Available" msgstr "Dostupné" -#: build/models.py:87 build/templates/build/build_base.html:9 +#: build/models.py:88 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_report.html:105 #: stock/serializers.py:85 templates/email/build_order_completed.html:16 @@ -825,7 +825,7 @@ msgstr "Dostupné" msgid "Build Order" msgstr "Vytvořit objednávku" -#: build/models.py:88 build/templates/build/build_base.html:13 +#: build/models.py:89 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:111 #: order/templates/order/so_sidebar.html:13 @@ -866,7 +866,7 @@ msgstr "Referenční číslo objednávky" #: build/models.py:243 build/serializers.py:1331 order/models.py:468 #: order/models.py:979 order/models.py:1366 order/models.py:2128 -#: part/admin.py:414 part/models.py:4293 part/templates/part/upload_bom.html:54 +#: part/admin.py:414 part/models.py:4280 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 @@ -892,11 +892,11 @@ msgstr "Příkaz sestavení pro který je toto sestavení přiděleno" #: build/templates/build/build_base.html:105 #: build/templates/build/detail.html:29 company/models.py:1043 order/api.py:761 #: order/models.py:1496 order/models.py:1651 order/models.py:1652 -#: part/api.py:1506 part/api.py:1806 part/models.py:419 part/models.py:3138 -#: part/models.py:3282 part/models.py:3430 part/models.py:3451 -#: part/models.py:3473 part/models.py:3609 part/models.py:3951 -#: part/models.py:4114 part/models.py:4244 part/models.py:4602 -#: part/serializers.py:1213 part/serializers.py:1857 +#: part/api.py:1506 part/api.py:1806 part/models.py:419 part/models.py:3125 +#: part/models.py:3269 part/models.py:3417 part/models.py:3438 +#: part/models.py:3460 part/models.py:3596 part/models.py:3938 +#: part/models.py:4101 part/models.py:4231 part/models.py:4595 +#: part/serializers.py:1211 part/serializers.py:1855 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -1063,12 +1063,12 @@ msgstr "Uživatel nebo skupina odpovědná za tento příkaz k sestavení" #: order/templates/order/return_order_base.html:148 #: order/templates/order/sales_order_base.html:187 #: part/templates/part/part_base.html:399 stock/models.py:859 -#: stock/templates/stock/item_base.html:200 +#: stock/templates/stock/item_base.html:196 #: templates/js/translated/company.js:1019 msgid "External Link" msgstr "Externí odkaz" -#: build/models.py:378 common/models.py:3272 part/models.py:1070 +#: build/models.py:378 common/models.py:3273 part/models.py:1070 #: stock/models.py:859 msgid "Link to external URL" msgstr "Odkaz na externí URL" @@ -1110,7 +1110,7 @@ msgstr "Příkaz k sestavení {build} byl dokončen" msgid "A build order has been completed" msgstr "Příkaz k sestavení byl dokončen" -#: build/models.py:968 build/models.py:1056 +#: build/models.py:968 build/models.py:1057 msgid "No build output specified" msgstr "Nebyl specifikováno žádný výstup sestavení" @@ -1122,37 +1122,37 @@ msgstr "Výstup sestavení je již dokončen" msgid "Build output does not match Build Order" msgstr "Výstup sestavení neodpovídá příkazu sestavení" -#: build/models.py:1060 build/serializers.py:279 build/serializers.py:328 +#: build/models.py:1061 build/serializers.py:279 build/serializers.py:328 #: build/serializers.py:959 order/models.py:565 order/serializers.py:500 -#: order/serializers.py:666 part/serializers.py:1590 part/serializers.py:2019 +#: order/serializers.py:666 part/serializers.py:1588 part/serializers.py:2017 #: stock/models.py:704 stock/models.py:1515 stock/serializers.py:676 msgid "Quantity must be greater than zero" msgstr "Množství musí být vyšší než nula" -#: build/models.py:1065 build/serializers.py:284 +#: build/models.py:1066 build/serializers.py:284 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:1125 build/serializers.py:607 +#: build/models.py:1126 build/serializers.py:607 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "Výstup sestavy {serial} neprošel všemi požadavky" -#: build/models.py:1466 +#: build/models.py:1477 msgid "Build Order Line Item" msgstr "Vytvořit položku řádku objednávky" -#: build/models.py:1491 +#: build/models.py:1502 msgid "Build object" msgstr "Vytvořit objekt" -#: build/models.py:1505 build/models.py:1761 build/serializers.py:266 +#: build/models.py:1516 build/models.py:1775 build/serializers.py:266 #: build/serializers.py:313 build/serializers.py:1339 #: build/templates/build/build_base.html:110 -#: build/templates/build/detail.html:34 common/models.py:2581 +#: build/templates/build/detail.html:34 common/models.py:2582 #: order/models.py:1349 order/models.py:2034 order/serializers.py:1464 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:413 -#: part/forms.py:48 part/models.py:3296 part/models.py:4266 +#: part/forms.py:48 part/models.py:3283 part/models.py:4253 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1163,9 +1163,9 @@ msgstr "Vytvořit objekt" #: report/templates/report/inventree_test_report.html:90 #: report/templates/report/inventree_test_report.html:169 stock/admin.py:160 #: stock/serializers.py:128 stock/serializers.py:168 stock/serializers.py:667 -#: stock/templates/stock/item_base.html:287 -#: stock/templates/stock/item_base.html:295 -#: stock/templates/stock/item_base.html:342 +#: stock/templates/stock/item_base.html:283 +#: stock/templates/stock/item_base.html:291 +#: stock/templates/stock/item_base.html:338 #: templates/email/build_order_completed.html:18 #: templates/js/translated/barcode.js:579 templates/js/translated/bom.js:771 #: templates/js/translated/bom.js:981 templates/js/translated/build.js:525 @@ -1194,41 +1194,41 @@ msgstr "Vytvořit objekt" msgid "Quantity" msgstr "Množství" -#: build/models.py:1506 +#: build/models.py:1517 msgid "Required quantity for build order" msgstr "Vyžadované množství pro objednávku" -#: build/models.py:1586 +#: build/models.py:1597 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:1595 +#: build/models.py:1606 #, 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:1605 order/models.py:1985 +#: build/models.py:1616 order/models.py:1985 msgid "Stock item is over-allocated" msgstr "Skladová položka je nadměrně zabrána" -#: build/models.py:1611 order/models.py:1988 +#: build/models.py:1622 order/models.py:1988 msgid "Allocation quantity must be greater than zero" msgstr "Zabrané množství musí být větší než nula" -#: build/models.py:1617 +#: build/models.py:1628 msgid "Quantity must be 1 for serialized stock" msgstr "Množství musí být 1 pro zřetězený sklad" -#: build/models.py:1676 +#: build/models.py:1687 msgid "Selected stock item does not match BOM line" msgstr "Vybraná položka zásob neodpovídá řádku BOM" -#: build/models.py:1748 build/serializers.py:939 order/serializers.py:1301 +#: build/models.py:1762 build/serializers.py:939 order/serializers.py:1301 #: order/serializers.py:1322 stock/models.py:381 stock/serializers.py:94 #: stock/serializers.py:770 stock/serializers.py:1288 stock/serializers.py:1400 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 -#: stock/templates/stock/item_base.html:194 +#: stock/templates/stock/item_base.html:190 #: templates/js/translated/build.js:1921 #: templates/js/translated/sales_order.js:301 #: templates/js/translated/sales_order.js:1234 @@ -1241,19 +1241,19 @@ msgstr "Vybraná položka zásob neodpovídá řádku BOM" msgid "Stock Item" msgstr "Skladové položky" -#: build/models.py:1749 +#: build/models.py:1763 msgid "Source stock item" msgstr "Zdrojová skladová položka" -#: build/models.py:1762 +#: build/models.py:1776 msgid "Stock quantity to allocate to build" msgstr "Skladové množství pro sestavení" -#: build/models.py:1770 +#: build/models.py:1784 msgid "Install into" msgstr "Instalovat do" -#: build/models.py:1771 +#: build/models.py:1785 msgid "Destination stock item" msgstr "Cílová skladová položka" @@ -1262,7 +1262,7 @@ msgid "Build Level" msgstr "" #: build/serializers.py:115 build/serializers.py:1234 build/serializers.py:1323 -#: part/admin.py:41 part/admin.py:408 part/models.py:4116 part/stocktake.py:219 +#: part/admin.py:41 part/admin.py:408 part/models.py:4103 part/stocktake.py:219 #: stock/admin.py:157 msgid "Part Name" msgstr "Název dílu" @@ -1323,10 +1323,10 @@ msgid "Enter serial numbers for build outputs" msgstr "Zadejte sériová čísla pro sestavení výstupů" #: build/serializers.py:359 build/serializers.py:500 build/serializers.py:572 -#: order/serializers.py:655 order/serializers.py:778 order/serializers.py:1789 -#: part/serializers.py:1233 stock/serializers.py:103 stock/serializers.py:698 +#: order/serializers.py:655 order/serializers.py:778 order/serializers.py:1797 +#: part/serializers.py:1231 stock/serializers.py:103 stock/serializers.py:698 #: stock/serializers.py:858 stock/serializers.py:984 stock/serializers.py:1432 -#: stock/serializers.py:1688 stock/templates/stock/item_base.html:394 +#: stock/serializers.py:1688 stock/templates/stock/item_base.html:390 #: templates/js/translated/barcode.js:578 #: templates/js/translated/barcode.js:826 templates/js/translated/build.js:1035 #: templates/js/translated/build.js:1177 templates/js/translated/build.js:2547 @@ -1390,7 +1390,7 @@ msgstr "Umístění dokončených výstupů sestavy" #: build/templates/build/detail.html:62 order/models.py:477 #: order/models.py:1003 order/models.py:2152 order/serializers.py:687 #: stock/admin.py:165 stock/serializers.py:1035 stock/serializers.py:1576 -#: stock/templates/stock/item_base.html:427 +#: stock/templates/stock/item_base.html:423 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2366 #: templates/js/translated/purchase_order.js:1371 #: templates/js/translated/purchase_order.js:1792 @@ -1522,7 +1522,7 @@ msgstr "Pro přidělení sledovaných dílů musí být zadán výstup sestavy" msgid "Build output cannot be specified for allocation of untracked parts" msgstr "Výstup sestavy nelze zadat pro přidělení nesledovaných dílů" -#: build/serializers.py:1030 order/serializers.py:1614 +#: build/serializers.py:1030 order/serializers.py:1622 msgid "Allocation items must be provided" msgstr "Položky přidělení musí být poskytnuty" @@ -1590,7 +1590,7 @@ msgstr "" #: build/serializers.py:1230 company/models.py:849 #: company/templates/company/supplier_part.html:160 order/serializers.py:691 #: stock/admin.py:229 stock/models.py:822 stock/serializers.py:1586 -#: stock/templates/stock/item_base.html:240 +#: stock/templates/stock/item_base.html:236 #: templates/js/translated/company.js:1646 #: templates/js/translated/purchase_order.js:1169 #: templates/js/translated/purchase_order.js:1332 @@ -1600,12 +1600,12 @@ msgid "Packaging" msgstr "Balení" #: build/serializers.py:1233 part/admin.py:39 part/admin.py:398 -#: part/models.py:4115 part/stocktake.py:218 stock/admin.py:153 +#: part/models.py:4102 part/stocktake.py:218 stock/admin.py:153 msgid "Part ID" msgstr "ID dílu" #: build/serializers.py:1235 build/serializers.py:1324 part/admin.py:402 -#: part/models.py:4117 +#: part/models.py:4104 msgid "Part IPN" msgstr "IPN dílu" @@ -1625,7 +1625,7 @@ msgstr "" #: build/serializers.py:1243 #: report/templates/report/inventree_return_order_report.html:25 #: report/templates/report/inventree_test_report.html:88 stock/models.py:849 -#: stock/serializers.py:152 stock/templates/stock/item_base.html:311 +#: stock/serializers.py:152 stock/templates/stock/item_base.html:307 #: templates/js/translated/build.js:523 templates/js/translated/build.js:1543 #: templates/js/translated/build.js:2530 #: templates/js/translated/model_renderers.js:231 @@ -1644,7 +1644,7 @@ msgstr "" msgid "Allocated Quantity" msgstr "" -#: build/serializers.py:1257 stock/templates/stock/item_base.html:340 +#: build/serializers.py:1257 stock/templates/stock/item_base.html:336 msgid "Available Quantity" msgstr "" @@ -1667,13 +1667,13 @@ msgstr "Sledovatelné" msgid "Inherited" msgstr "" -#: build/serializers.py:1337 part/models.py:4326 +#: build/serializers.py:1337 part/models.py:4313 #: part/templates/part/upload_bom.html:56 templates/js/translated/bom.js:1046 #: templates/js/translated/build.js:2714 msgid "Allow Variants" msgstr "" -#: build/serializers.py:1341 part/models.py:4124 part/models.py:4594 +#: build/serializers.py:1341 part/models.py:4111 part/models.py:4587 #: stock/api.py:793 msgid "BOM Item" msgstr "BOM Položka" @@ -1684,7 +1684,7 @@ msgid "Allocated Stock" msgstr "Přidělené zásoby" #: build/serializers.py:1355 order/serializers.py:1179 part/admin.py:132 -#: part/bom.py:186 part/serializers.py:920 part/serializers.py:1623 +#: part/bom.py:186 part/serializers.py:918 part/serializers.py:1621 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 #: templates/js/translated/build.js:2807 templates/js/translated/part.js:712 #: templates/js/translated/part.js:2155 @@ -1692,13 +1692,13 @@ msgstr "Přidělené zásoby" msgid "On Order" msgstr "Na objednávku" -#: build/serializers.py:1360 order/serializers.py:1180 part/serializers.py:1625 +#: build/serializers.py:1360 order/serializers.py:1180 part/serializers.py:1623 #: templates/js/translated/build.js:2811 #: templates/js/translated/table_filters.js:367 msgid "In Production" msgstr "Ve výrobě" -#: build/serializers.py:1365 part/bom.py:185 part/serializers.py:1650 +#: build/serializers.py:1365 part/bom.py:185 part/serializers.py:1648 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" @@ -1716,7 +1716,7 @@ msgstr "" msgid "Total Available Stock" msgstr "" -#: build/serializers.py:1372 part/serializers.py:927 +#: build/serializers.py:1372 part/serializers.py:925 msgid "External Stock" msgstr "" @@ -1745,7 +1745,7 @@ msgstr "Zrušeno" #: importer/status_codes.py:27 order/status_codes.py:15 #: order/status_codes.py:50 order/status_codes.py:81 #: order/templates/order/order_base.html:163 -#: order/templates/order/sales_order_base.html:168 report/models.py:443 +#: order/templates/order/sales_order_base.html:168 report/models.py:451 msgid "Complete" msgstr "Hotovo" @@ -1849,9 +1849,6 @@ msgid "Delete Build" msgstr "Smazat sestavu" #: build/templates/build/build_base.html:87 -msgid "Isueue Build" -msgstr "" - #: build/templates/build/build_base.html:88 msgid "Issue Build" msgstr "" @@ -1931,7 +1928,7 @@ msgstr "Dokončené výstupy" #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_report.html:135 #: report/templates/report/inventree_sales_order_report.html:14 -#: stock/templates/stock/item_base.html:369 +#: stock/templates/stock/item_base.html:365 #: templates/email/overdue_sales_order.html:15 #: templates/js/translated/pricing.js:929 #: templates/js/translated/sales_order.js:805 @@ -1991,7 +1988,7 @@ msgid "Allocated Parts" msgstr "Přidělené díly" #: build/templates/build/detail.html:80 stock/admin.py:163 -#: stock/templates/stock/item_base.html:162 +#: stock/templates/stock/item_base.html:158 #: templates/js/translated/build.js:1556 #: templates/js/translated/model_renderers.js:242 #: templates/js/translated/purchase_order.js:1326 @@ -2148,19 +2145,19 @@ msgstr "Neúplné výstupy" msgid "Test Statistics" msgstr "" -#: common/api.py:692 +#: common/api.py:725 msgid "Is Link" msgstr "Je odkaz" -#: common/api.py:700 +#: common/api.py:733 msgid "Is File" msgstr "Je soubor" -#: common/api.py:743 +#: common/api.py:776 msgid "User does not have permission to delete these attachments" msgstr "" -#: common/api.py:760 +#: common/api.py:793 msgid "User does not have permission to delete this attachment" msgstr "Uživatel nemá oprávnění k odstranění této přílohy" @@ -2352,8 +2349,8 @@ msgstr "Jak často aktualizovat směnné kurzy (pro vypnutí nastavte na nulu)" #: common/models.py:1297 common/models.py:1353 common/models.py:1366 #: common/models.py:1374 common/models.py:1383 common/models.py:1392 -#: common/models.py:1629 common/models.py:1651 common/models.py:1766 -#: common/models.py:2148 +#: common/models.py:1629 common/models.py:1651 common/models.py:1752 +#: common/models.py:2141 msgid "days" msgstr "dny" @@ -2581,9 +2578,9 @@ msgstr "Kopírovat šablony parametrů kategorie" msgid "Copy category parameter templates when creating a part" msgstr "Kopírování šablon parametrů kategorie při vytváření dílu" -#: common/models.py:1485 part/admin.py:108 part/models.py:3959 -#: report/models.py:293 report/models.py:360 report/serializers.py:90 -#: report/serializers.py:131 stock/serializers.py:233 +#: common/models.py:1485 part/admin.py:108 part/models.py:3946 +#: report/models.py:301 report/models.py:368 report/serializers.py:91 +#: report/serializers.py:132 stock/serializers.py:233 #: templates/js/translated/table_filters.js:138 #: templates/js/translated/table_filters.js:775 msgid "Template" @@ -2598,7 +2595,7 @@ msgid "Parts can be assembled from other components by default" msgstr "Díly lze ve výchozím nastavení sestavit z jiných komponentů" #: common/models.py:1497 part/admin.py:95 part/models.py:1172 -#: part/serializers.py:1617 templates/js/translated/table_filters.js:737 +#: part/serializers.py:1615 templates/js/translated/table_filters.js:737 msgid "Component" msgstr "Komponent" @@ -2823,7 +2820,7 @@ msgid "Log errors which occur when generating reports" msgstr "Zaznamenávat chyby, které se vyskytnou při vytváření reportů" #: common/models.py:1702 plugin/builtin/labels/label_sheet.py:28 -#: report/models.py:301 +#: report/models.py:309 msgid "Page Size" msgstr "Velikost stránky" @@ -2832,914 +2829,914 @@ msgid "Default page size for PDF reports" msgstr "Výchozí velikost stránky pro PDF reporty" #: common/models.py:1708 -msgid "Enable Test Reports" -msgstr "Povolit testovací reporty" - -#: common/models.py:1709 -msgid "Enable generation of test reports" -msgstr "Povolit generování zkušebních reportů" - -#: common/models.py:1714 -msgid "Attach Test Reports" -msgstr "Připojit testovací reporty" - -#: common/models.py:1716 -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:1722 msgid "Globally Unique Serials" msgstr "Globálně unikátní sériová čísla" -#: common/models.py:1723 +#: common/models.py:1709 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:1728 +#: common/models.py:1714 msgid "Autofill Serial Numbers" msgstr "Automaticky vyplnit sériová čísla" -#: common/models.py:1729 +#: common/models.py:1715 msgid "Autofill serial numbers in forms" msgstr "Automaticky vyplnit sériová čísla ve formulářích" -#: common/models.py:1734 +#: common/models.py:1720 msgid "Delete Depleted Stock" msgstr "Odstranit vyčerpané zásoby" -#: common/models.py:1736 +#: common/models.py:1722 msgid "Determines default behavior when a stock item is depleted" msgstr "Určuje výchozí chování při vyčerpání zásoby položky" -#: common/models.py:1742 +#: common/models.py:1728 msgid "Batch Code Template" msgstr "Šablona kódu dávky" -#: common/models.py:1744 +#: common/models.py:1730 msgid "Template for generating default batch codes for stock items" msgstr "Šablona pro generování výchozích kódů dávky pro skladové položky" -#: common/models.py:1749 +#: common/models.py:1735 msgid "Stock Expiry" msgstr "Expirace zásob" -#: common/models.py:1750 +#: common/models.py:1736 msgid "Enable stock expiry functionality" msgstr "Povolit funkci expirace zásob" -#: common/models.py:1755 +#: common/models.py:1741 msgid "Sell Expired Stock" msgstr "Prodat prošlé zásoby" -#: common/models.py:1756 +#: common/models.py:1742 msgid "Allow sale of expired stock" msgstr "Povolit prodej prošlých zásob" -#: common/models.py:1761 +#: common/models.py:1747 msgid "Stock Stale Time" msgstr "Čas stáří zásob" -#: common/models.py:1763 +#: common/models.py:1749 msgid "Number of days stock items are considered stale before expiring" msgstr "Počet dnů, po které jsou skladové položky považovány za nevyužité před uplynutím doby expirace" -#: common/models.py:1770 +#: common/models.py:1756 msgid "Build Expired Stock" msgstr "Sestavit prošlé zásoby" -#: common/models.py:1771 +#: common/models.py:1757 msgid "Allow building with expired stock" msgstr "Povolit sestavování s prošlými zásobami" -#: common/models.py:1776 +#: common/models.py:1762 msgid "Stock Ownership Control" msgstr "Kontrola vlastnictví zásob" -#: common/models.py:1777 +#: common/models.py:1763 msgid "Enable ownership control over stock locations and items" msgstr "Umožnit kontrolu vlastnictví nad skladovými místy a položkami" -#: common/models.py:1782 +#: common/models.py:1768 msgid "Stock Location Default Icon" msgstr "Výchozí ikona umístění zásob" -#: common/models.py:1783 +#: common/models.py:1769 msgid "Stock location default icon (empty means no icon)" msgstr "Výchozí ikona umístění zásob (prázdné znamená bez ikony)" -#: common/models.py:1788 +#: common/models.py:1774 msgid "Show Installed Stock Items" msgstr "Zobrazit nainstalované skladové položky" -#: common/models.py:1789 +#: common/models.py:1775 msgid "Display installed stock items in stock tables" msgstr "Zobrazit nainstalované skladové položky ve skladových tabulkách" -#: common/models.py:1794 +#: common/models.py:1780 msgid "Check BOM when installing items" msgstr "Zkontrolovat BOM při instalaci položek" -#: common/models.py:1796 +#: common/models.py:1782 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "Nainstalované skladové položky musí existovat v BOM pro nadřazený díl" -#: common/models.py:1802 +#: common/models.py:1788 msgid "Allow Out of Stock Transfer" msgstr "Povolit převod mimo sklad" -#: common/models.py:1804 +#: common/models.py:1790 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "Umožnit přesun skladových položek, které nejsou na skladě, mezi skladovými místy" -#: common/models.py:1810 +#: common/models.py:1796 msgid "Build Order Reference Pattern" msgstr "Referenční vzor objednávky sestavy" -#: common/models.py:1812 +#: common/models.py:1798 msgid "Required pattern for generating Build Order reference field" msgstr "Požadovaný vzor pro generování referenčního pole Objednávka sestavy" -#: common/models.py:1818 common/models.py:1874 common/models.py:1896 -#: common/models.py:1932 +#: common/models.py:1804 common/models.py:1860 common/models.py:1882 +#: common/models.py:1918 msgid "Require Responsible Owner" msgstr "Vyžadovat odpovědného vlastníka" -#: common/models.py:1819 common/models.py:1875 common/models.py:1897 -#: common/models.py:1933 +#: common/models.py:1805 common/models.py:1861 common/models.py:1883 +#: common/models.py:1919 msgid "A responsible owner must be assigned to each order" msgstr "Ke každé objednávce musí být přiřazen odpovědný vlastník" -#: common/models.py:1824 +#: common/models.py:1810 msgid "Require Active Part" msgstr "" -#: common/models.py:1825 +#: common/models.py:1811 msgid "Prevent build order creation for inactive parts" msgstr "" -#: common/models.py:1830 +#: common/models.py:1816 msgid "Require Locked Part" msgstr "" -#: common/models.py:1831 +#: common/models.py:1817 msgid "Prevent build order creation for unlocked parts" msgstr "" -#: common/models.py:1836 +#: common/models.py:1822 msgid "Require Valid BOM" msgstr "" -#: common/models.py:1838 +#: common/models.py:1824 msgid "Prevent build order creation unless BOM has been validated" msgstr "" -#: common/models.py:1844 +#: common/models.py:1830 msgid "Require Closed Child Orders" msgstr "" -#: common/models.py:1846 +#: common/models.py:1832 msgid "Prevent build order completion until all child orders are closed" msgstr "" -#: common/models.py:1852 +#: common/models.py:1838 msgid "Block Until Tests Pass" msgstr "Blokovat, dokud testy neprojdou" -#: common/models.py:1854 +#: common/models.py:1840 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "Zabránit dokončení výstupů sestavy, dokud neprojdou všechny požadované testy" -#: common/models.py:1860 +#: common/models.py:1846 msgid "Enable Return Orders" msgstr "Povolit vracení objednávek" -#: common/models.py:1861 +#: common/models.py:1847 msgid "Enable return order functionality in the user interface" msgstr "Povolit funkci vrácení objednávky v uživatelském rozhraní" -#: common/models.py:1866 +#: common/models.py:1852 msgid "Return Order Reference Pattern" msgstr "Referenční vzor návratové objednávky" -#: common/models.py:1868 +#: common/models.py:1854 msgid "Required pattern for generating Return Order reference field" msgstr "Požadovaný vzor pro vygenerování referenčního pole Návratová objednávka" -#: common/models.py:1880 +#: common/models.py:1866 msgid "Edit Completed Return Orders" msgstr "Úprava dokončených návratových objednávek" -#: common/models.py:1882 +#: common/models.py:1868 msgid "Allow editing of return orders after they have been completed" msgstr "Umožnit úpravu návratových objednávek po jejich dokončení" -#: common/models.py:1888 +#: common/models.py:1874 msgid "Sales Order Reference Pattern" msgstr "Referenční vzor prodejní objednávky" -#: common/models.py:1890 +#: common/models.py:1876 msgid "Required pattern for generating Sales Order reference field" msgstr "Požadovaný vzor pro generování referenčního pole prodejní objednávky" -#: common/models.py:1902 +#: common/models.py:1888 msgid "Sales Order Default Shipment" msgstr "Výchozí přeprava prodejní objednávky" -#: common/models.py:1903 +#: common/models.py:1889 msgid "Enable creation of default shipment with sales orders" msgstr "Povolit vytvoření výchozí přepravy s prodejními objednávkami" -#: common/models.py:1908 +#: common/models.py:1894 msgid "Edit Completed Sales Orders" msgstr "Úprava dokončených prodejních objednávek" -#: common/models.py:1910 +#: common/models.py:1896 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "Umožnit úpravy prodejních objednávek po jejich odeslání nebo dokončení" -#: common/models.py:1916 +#: common/models.py:1902 msgid "Mark Shipped Orders as Complete" msgstr "Označit odeslané objednávky jako dokončené" -#: common/models.py:1918 +#: common/models.py:1904 msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status" msgstr "Prodejní objednávky označené jako odeslané se automaticky dokončí a obejdou stav „odesláno“" -#: common/models.py:1924 +#: common/models.py:1910 msgid "Purchase Order Reference Pattern" msgstr "Referenční vzor nákupní objednávky" -#: common/models.py:1926 +#: common/models.py:1912 msgid "Required pattern for generating Purchase Order reference field" msgstr "Požadovaný vzor pro generování referenčního pole nákupní objednávky" -#: common/models.py:1938 +#: common/models.py:1924 msgid "Edit Completed Purchase Orders" msgstr "Úprava dokončených nákupních objednávek" -#: common/models.py:1940 +#: common/models.py:1926 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "Umožnit úpravy nákupních objednávek po jejich odeslání nebo dokončení" -#: common/models.py:1946 +#: common/models.py:1932 msgid "Auto Complete Purchase Orders" msgstr "Automatické dokončování nákupních objednávek" -#: common/models.py:1948 +#: common/models.py:1934 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "Automaticky označit nákupní objednávky jako kompletní, jakmile jsou přijaty všechny řádkové položky" -#: common/models.py:1955 +#: common/models.py:1941 msgid "Enable password forgot" msgstr "Povolit pole zapomenutého hesla" -#: common/models.py:1956 +#: common/models.py:1942 msgid "Enable password forgot function on the login pages" msgstr "Povolení funkce zapomenutého hesla na přihlašovacích stránkách" -#: common/models.py:1961 +#: common/models.py:1947 msgid "Enable registration" msgstr "Povolit registrace" -#: common/models.py:1962 +#: common/models.py:1948 msgid "Enable self-registration for users on the login pages" msgstr "Povolit samoregistraci uživatelů na přihlašovacích stránkách" -#: common/models.py:1967 +#: common/models.py:1953 msgid "Enable SSO" msgstr "Povolit SSO" -#: common/models.py:1968 +#: common/models.py:1954 msgid "Enable SSO on the login pages" msgstr "Povolit SSO na přihlašovacích stránkách" -#: common/models.py:1973 +#: common/models.py:1959 msgid "Enable SSO registration" msgstr "Povolit SSO registraci" -#: common/models.py:1975 +#: common/models.py:1961 msgid "Enable self-registration via SSO for users on the login pages" msgstr "Povolit samoregistraci uživatelů prostřednictvím SSO na přihlašovacích stránkách" -#: common/models.py:1981 +#: common/models.py:1967 msgid "Enable SSO group sync" msgstr "" -#: common/models.py:1983 +#: common/models.py:1969 msgid "Enable synchronizing InvenTree groups with groups provided by the IdP" msgstr "" -#: common/models.py:1989 +#: common/models.py:1975 msgid "SSO group key" msgstr "" -#: common/models.py:1991 +#: common/models.py:1977 msgid "The name of the groups claim attribute provided by the IdP" msgstr "" -#: common/models.py:1997 +#: common/models.py:1983 msgid "SSO group map" msgstr "" -#: common/models.py:1999 +#: common/models.py:1985 msgid "A mapping from SSO groups to local InvenTree groups. If the local group does not exist, it will be created." msgstr "" -#: common/models.py:2005 +#: common/models.py:1991 msgid "Remove groups outside of SSO" msgstr "" -#: common/models.py:2007 +#: common/models.py:1993 msgid "Whether groups assigned to the user should be removed if they are not backend by the IdP. Disabling this setting might cause security issues" msgstr "" -#: common/models.py:2013 +#: common/models.py:1999 msgid "Email required" msgstr "Vyžadován e-mail" -#: common/models.py:2014 +#: common/models.py:2000 msgid "Require user to supply mail on signup" msgstr "Požadovat, aby uživatel při registraci zadal e-mail" -#: common/models.py:2019 +#: common/models.py:2005 msgid "Auto-fill SSO users" msgstr "Automaticky vyplnit SSO uživatele" -#: common/models.py:2021 +#: common/models.py:2007 msgid "Automatically fill out user-details from SSO account-data" msgstr "Automaticky vyplnit údaje o uživateli z údajů o účtu SSO" -#: common/models.py:2027 +#: common/models.py:2013 msgid "Mail twice" msgstr "Mail dvakrát" -#: common/models.py:2028 +#: common/models.py:2014 msgid "On signup ask users twice for their mail" msgstr "Při registraci dvakrát požádat uživatele o zadání e-mailu" -#: common/models.py:2033 +#: common/models.py:2019 msgid "Password twice" msgstr "Heslo dvakrát" -#: common/models.py:2034 +#: common/models.py:2020 msgid "On signup ask users twice for their password" msgstr "Při registraci dvakrát požádat uživatele o heslo" -#: common/models.py:2039 +#: common/models.py:2025 msgid "Allowed domains" msgstr "Povolené domény" -#: common/models.py:2041 +#: common/models.py:2027 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "Omezit registraci na určité domény (oddělené čárkou a začínající @)" -#: common/models.py:2047 +#: common/models.py:2033 msgid "Group on signup" msgstr "Skupina při registraci" -#: common/models.py:2049 +#: common/models.py:2035 msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP." msgstr "" -#: common/models.py:2055 +#: common/models.py:2041 msgid "Enforce MFA" msgstr "Vynutit MFA" -#: common/models.py:2056 +#: common/models.py:2042 msgid "Users must use multifactor security." msgstr "Uživatelé musí používat vícefaktorové zabezpečení." -#: common/models.py:2061 +#: common/models.py:2047 msgid "Check plugins on startup" msgstr "Zkontrolovat pluginy při spuštění" -#: common/models.py:2063 +#: common/models.py:2049 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "Zkontrolujte, zda jsou při spuštění nainstalovány všechny pluginy - povolit v kontejnerových prostředích" -#: common/models.py:2071 +#: common/models.py:2057 msgid "Check for plugin updates" msgstr "Zkontrolovat aktualizace pluginů" -#: common/models.py:2072 +#: common/models.py:2058 msgid "Enable periodic checks for updates to installed plugins" msgstr "Povolit pravidelné kontroly aktualizací nainstalovaných pluginů" -#: common/models.py:2078 +#: common/models.py:2064 msgid "Enable URL integration" msgstr "Povolit integraci URL" -#: common/models.py:2079 +#: common/models.py:2065 msgid "Enable plugins to add URL routes" msgstr "Povolit plug-inům přidávat trasy URL" -#: common/models.py:2085 +#: common/models.py:2071 msgid "Enable navigation integration" msgstr "Povolit integraci navigace" -#: common/models.py:2086 +#: common/models.py:2072 msgid "Enable plugins to integrate into navigation" msgstr "Povolit integrování pluginů do navigace" -#: common/models.py:2092 +#: common/models.py:2078 msgid "Enable app integration" msgstr "Povolit integraci aplikací" -#: common/models.py:2093 +#: common/models.py:2079 msgid "Enable plugins to add apps" msgstr "Povolit pluginům přidávát aplikace" -#: common/models.py:2099 +#: common/models.py:2085 msgid "Enable schedule integration" msgstr "Povolit integraci plánu" -#: common/models.py:2100 +#: common/models.py:2086 msgid "Enable plugins to run scheduled tasks" msgstr "Povolit pluginům spouštění naplánovaných úloh" -#: common/models.py:2106 +#: common/models.py:2092 msgid "Enable event integration" msgstr "Povolit integraci událostí" -#: common/models.py:2107 +#: common/models.py:2093 msgid "Enable plugins to respond to internal events" msgstr "Povolit pluginům reagovat na interní události" -#: common/models.py:2113 +#: common/models.py:2099 +msgid "Enable interface integration" +msgstr "" + +#: common/models.py:2100 +msgid "Enable plugins to integrate into the user interface" +msgstr "" + +#: common/models.py:2106 msgid "Enable project codes" msgstr "Povolit kódy projektů" -#: common/models.py:2114 +#: common/models.py:2107 msgid "Enable project codes for tracking projects" msgstr "Povolit kódy projektů pro sledování projektů" -#: common/models.py:2119 +#: common/models.py:2112 msgid "Stocktake Functionality" msgstr "Funkce inventury" -#: common/models.py:2121 +#: common/models.py:2114 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "Povolit funkci inventury pro evidenci stavu zásob a výpočet hodnoty zásob" -#: common/models.py:2127 +#: common/models.py:2120 msgid "Exclude External Locations" msgstr "Vyloučit externí umístění" -#: common/models.py:2129 +#: common/models.py:2122 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "Vyloučit skladové položky na externích místech z výpočtů inventury" -#: common/models.py:2135 +#: common/models.py:2128 msgid "Automatic Stocktake Period" msgstr "Perioda automatické inventury" -#: common/models.py:2137 +#: common/models.py:2130 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "Počet dní mezi automatickým záznamem inventury (pro vypnutí nastavte nulu)" -#: common/models.py:2143 +#: common/models.py:2136 msgid "Report Deletion Interval" msgstr "Interval mazání reportů" -#: common/models.py:2145 +#: common/models.py:2138 msgid "Stocktake reports will be deleted after specified number of days" msgstr "Reporty o inventuře se po určitém počtu dní vymažou" -#: common/models.py:2152 +#: common/models.py:2145 msgid "Display Users full names" msgstr "Zobrazit celá jména uživatelů" -#: common/models.py:2153 +#: common/models.py:2146 msgid "Display Users full names instead of usernames" msgstr "Zobrazit plná jména uživatelů namísto uživatelských jmen" -#: common/models.py:2158 +#: common/models.py:2151 msgid "Enable Test Station Data" msgstr "Povolit data zkušební stanice" -#: common/models.py:2159 +#: common/models.py:2152 msgid "Enable test station data collection for test results" msgstr "Povolit sběr dat ze zkušební stanice pro výsledky testů" -#: common/models.py:2171 common/models.py:2551 +#: common/models.py:2157 +msgid "Create Template on Upload" +msgstr "" + +#: common/models.py:2159 +msgid "Create a new test template when uploading test data which does not match an existing template" +msgstr "" + +#: common/models.py:2172 common/models.py:2552 msgid "Settings key (must be unique - case insensitive" msgstr "Klíč nastavení (musí být unikátní - rozlišuje malá a velká písmena" -#: common/models.py:2214 +#: common/models.py:2215 msgid "Hide inactive parts" msgstr "Skrýt neaktivní díly" -#: common/models.py:2216 +#: common/models.py:2217 msgid "Hide inactive parts in results displayed on the homepage" msgstr "Skrýt neaktivní díly ve výsledcích zobrazených na domovské stránce" -#: common/models.py:2222 +#: common/models.py:2223 msgid "Show subscribed parts" msgstr "Zobrazit odebírané díly" -#: common/models.py:2223 +#: common/models.py:2224 msgid "Show subscribed parts on the homepage" msgstr "Zobrazit odebírané díly na domovské stránce" -#: common/models.py:2228 +#: common/models.py:2229 msgid "Show subscribed categories" msgstr "Zobrazit odebírané kategorie" -#: common/models.py:2229 +#: common/models.py:2230 msgid "Show subscribed part categories on the homepage" msgstr "Zobrazit kategorie odebíraných dílů na hlavní stránce" -#: common/models.py:2234 +#: common/models.py:2235 msgid "Show latest parts" msgstr "Zobrazit nejnovější díly" -#: common/models.py:2235 +#: common/models.py:2236 msgid "Show latest parts on the homepage" msgstr "Zobrazit nejnovější díly na domovské stránce" -#: common/models.py:2240 +#: common/models.py:2241 msgid "Show invalid BOMs" msgstr "Zobrazit neplatné kusovníky (BOMy)" -#: common/models.py:2241 +#: common/models.py:2242 msgid "Show BOMs that await validation on the homepage" msgstr "Zobrazit kusovníky (BOMy), které čekají na ověření, na domovské stránce" -#: common/models.py:2246 +#: common/models.py:2247 msgid "Show recent stock changes" msgstr "Zobrazit nedávné změny zásob" -#: common/models.py:2247 +#: common/models.py:2248 msgid "Show recently changed stock items on the homepage" msgstr "Zobrazit nedávno změněné skladové položky na domovské stránce" -#: common/models.py:2252 +#: common/models.py:2253 msgid "Show low stock" msgstr "Zobrazit nízký stav zásob" -#: common/models.py:2253 +#: common/models.py:2254 msgid "Show low stock items on the homepage" msgstr "Zobrazit na domovské stránce položky s nízkou skladovou zásobou" -#: common/models.py:2258 +#: common/models.py:2259 msgid "Show depleted stock" msgstr "Zobrazit vyčerpané zásoby" -#: common/models.py:2259 +#: common/models.py:2260 msgid "Show depleted stock items on the homepage" msgstr "Zobrazit vyčerpané položky na domovské stránce" -#: common/models.py:2264 +#: common/models.py:2265 msgid "Show needed stock" msgstr "Zobrazit potřebné zásoby" -#: common/models.py:2265 +#: common/models.py:2266 msgid "Show stock items needed for builds on the homepage" msgstr "Zobrazit skladové položky potřebné pro sestavy na domovské stránce" -#: common/models.py:2270 +#: common/models.py:2271 msgid "Show expired stock" msgstr "Zobrazit expirované zásoby" -#: common/models.py:2271 +#: common/models.py:2272 msgid "Show expired stock items on the homepage" msgstr "Zobrazit expirované skladové položky na domovské stránce" -#: common/models.py:2276 +#: common/models.py:2277 msgid "Show stale stock" msgstr "Zobrazit neaktuální zásoby" -#: common/models.py:2277 +#: common/models.py:2278 msgid "Show stale stock items on the homepage" msgstr "Zobrazit neaktuální skladové položky na domovské stránce" -#: common/models.py:2282 +#: common/models.py:2283 msgid "Show pending builds" msgstr "Zobrazit nevyřízené sestavy" -#: common/models.py:2283 +#: common/models.py:2284 msgid "Show pending builds on the homepage" msgstr "Zobrazit nevyřízené sestavy na domovské stránce" -#: common/models.py:2288 +#: common/models.py:2289 msgid "Show overdue builds" msgstr "Zobrazit sestavy po splatnosti" -#: common/models.py:2289 +#: common/models.py:2290 msgid "Show overdue builds on the homepage" msgstr "Zobrazit sestavy po splatnosti na domovské stránce" -#: common/models.py:2294 +#: common/models.py:2295 msgid "Show outstanding POs" msgstr "Zobrazit nevyřízené PO" -#: common/models.py:2295 +#: common/models.py:2296 msgid "Show outstanding POs on the homepage" msgstr "Zobrazit nevyřízené PO na domovské stránce" -#: common/models.py:2300 +#: common/models.py:2301 msgid "Show overdue POs" msgstr "Zobrazit PO po splatnosti" -#: common/models.py:2301 +#: common/models.py:2302 msgid "Show overdue POs on the homepage" msgstr "Zobrazit PO po splatnosti na domovské stránce" -#: common/models.py:2306 +#: common/models.py:2307 msgid "Show outstanding SOs" msgstr "Zobrazit nevyřízené SO" -#: common/models.py:2307 +#: common/models.py:2308 msgid "Show outstanding SOs on the homepage" msgstr "Zobrazit nevyřízené SO na domovské stránce" -#: common/models.py:2312 +#: common/models.py:2313 msgid "Show overdue SOs" msgstr "Zobrazit SO po splatnosti" -#: common/models.py:2313 +#: common/models.py:2314 msgid "Show overdue SOs on the homepage" msgstr "Zobrazit SO po splatnosti na domovské stránce" -#: common/models.py:2318 +#: common/models.py:2319 msgid "Show pending SO shipments" msgstr "Zobrazit čekající zásilky SO" -#: common/models.py:2319 +#: common/models.py:2320 msgid "Show pending SO shipments on the homepage" msgstr "Zobrazit čekající zásilky SO na domovské stránce" -#: common/models.py:2324 +#: common/models.py:2325 msgid "Show News" msgstr "Zobrazit novinky" -#: common/models.py:2325 +#: common/models.py:2326 msgid "Show news on the homepage" msgstr "Zobrazit novinky na domovské stránce" -#: common/models.py:2330 +#: common/models.py:2331 msgid "Inline label display" msgstr "Zobrazení štítků na řádku" -#: common/models.py:2332 +#: common/models.py:2333 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "Zobrazit štítky PDF v prohlížeči namísto stahování jako soubor" -#: common/models.py:2338 +#: common/models.py:2339 msgid "Default label printer" msgstr "Výchozí tiskárna štítků" -#: common/models.py:2340 +#: common/models.py:2341 msgid "Configure which label printer should be selected by default" msgstr "Konfigurovat tiskárnu štítků, která má být vybrána jako výchozí" -#: common/models.py:2346 +#: common/models.py:2347 msgid "Inline report display" msgstr "Zobrazení reportů na řádku" -#: common/models.py:2348 +#: common/models.py:2349 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "Zobrazit reporty PDF v prohlížeči namísto stahování jako soubor" -#: common/models.py:2354 +#: common/models.py:2355 msgid "Search Parts" msgstr "Hledat díly" -#: common/models.py:2355 +#: common/models.py:2356 msgid "Display parts in search preview window" msgstr "Zobrazit díly v náhledu hledání" -#: common/models.py:2360 +#: common/models.py:2361 msgid "Search Supplier Parts" msgstr "Hledat díly dodavatele" -#: common/models.py:2361 +#: common/models.py:2362 msgid "Display supplier parts in search preview window" msgstr "Zobrazit díly dodavatele v náhledu hledání" -#: common/models.py:2366 +#: common/models.py:2367 msgid "Search Manufacturer Parts" msgstr "Vyhledávání dílů výrobce" -#: common/models.py:2367 +#: common/models.py:2368 msgid "Display manufacturer parts in search preview window" msgstr "Zobrazit díly výrobce v náhledu hledání" -#: common/models.py:2372 +#: common/models.py:2373 msgid "Hide Inactive Parts" msgstr "Skrýt neaktivní díly" -#: common/models.py:2373 +#: common/models.py:2374 msgid "Excluded inactive parts from search preview window" msgstr "Vyloučené neaktivní části z okna náhledu vyhledávání" -#: common/models.py:2378 +#: common/models.py:2379 msgid "Search Categories" msgstr "Hledat kategorie" -#: common/models.py:2379 +#: common/models.py:2380 msgid "Display part categories in search preview window" msgstr "Zobrazit kategorie dílů v náhledu hledání" -#: common/models.py:2384 +#: common/models.py:2385 msgid "Search Stock" msgstr "Hledat zásoby" -#: common/models.py:2385 +#: common/models.py:2386 msgid "Display stock items in search preview window" msgstr "Zobrazit skladové položky v náhledu hledání" -#: common/models.py:2390 +#: common/models.py:2391 msgid "Hide Unavailable Stock Items" msgstr "Skrýt nedostupné skladové položky" -#: common/models.py:2392 +#: common/models.py:2393 msgid "Exclude stock items which are not available from the search preview window" msgstr "Vyloučit skladové položky, které nejsou dostupné z okna náhledu hledání" -#: common/models.py:2398 +#: common/models.py:2399 msgid "Search Locations" msgstr "Hledat umístění" -#: common/models.py:2399 +#: common/models.py:2400 msgid "Display stock locations in search preview window" msgstr "Zobrazit skladová umístění v náhledu hledání" -#: common/models.py:2404 +#: common/models.py:2405 msgid "Search Companies" msgstr "Hledat společnosti" -#: common/models.py:2405 +#: common/models.py:2406 msgid "Display companies in search preview window" msgstr "Zobrazit společnosti v náhledu hledání" -#: common/models.py:2410 +#: common/models.py:2411 msgid "Search Build Orders" msgstr "Hledat objednávky sestav" -#: common/models.py:2411 +#: common/models.py:2412 msgid "Display build orders in search preview window" msgstr "Zobrazit objednávky sestav v náhledu hledání" -#: common/models.py:2416 +#: common/models.py:2417 msgid "Search Purchase Orders" msgstr "Hledat nákupní objednávky" -#: common/models.py:2417 +#: common/models.py:2418 msgid "Display purchase orders in search preview window" msgstr "Zobrazit nákupní objednávky v náhledu hledání" -#: common/models.py:2422 +#: common/models.py:2423 msgid "Exclude Inactive Purchase Orders" msgstr "Vyloučit neaktivní nákupní objednávky" -#: common/models.py:2424 +#: common/models.py:2425 msgid "Exclude inactive purchase orders from search preview window" msgstr "Vyloučit neaktivní nákupní objednávky z okna náhledu vyhledávání" -#: common/models.py:2430 +#: common/models.py:2431 msgid "Search Sales Orders" msgstr "Hledat prodejní objednávky" -#: common/models.py:2431 +#: common/models.py:2432 msgid "Display sales orders in search preview window" msgstr "Zobrazit prodejní objednávky v náhledu hledání" -#: common/models.py:2436 +#: common/models.py:2437 msgid "Exclude Inactive Sales Orders" msgstr "Vyloučit neaktivní prodejní objednávky" -#: common/models.py:2438 +#: common/models.py:2439 msgid "Exclude inactive sales orders from search preview window" msgstr "Vyloučit neaktivní prodejní objednávky z okna náhledu vyhledávání" -#: common/models.py:2444 +#: common/models.py:2445 msgid "Search Return Orders" msgstr "Vyhledávání vrácených objednávek" -#: common/models.py:2445 +#: common/models.py:2446 msgid "Display return orders in search preview window" msgstr "Zobrazit vrácené objednávky v okně náhledu vyhledávání" -#: common/models.py:2450 +#: common/models.py:2451 msgid "Exclude Inactive Return Orders" msgstr "Vyloučit neaktivní vrácené objednávky" -#: common/models.py:2452 +#: common/models.py:2453 msgid "Exclude inactive return orders from search preview window" msgstr "Vyloučit neaktivní vrácené objednávky z okna náhledu vyhledávání" -#: common/models.py:2458 +#: common/models.py:2459 msgid "Search Preview Results" msgstr "Náhled výsledků vyhledávání" -#: common/models.py:2460 +#: common/models.py:2461 msgid "Number of results to show in each section of the search preview window" msgstr "Počet výsledků, které se mají zobrazit v každé části okna náhledu vyhledávání" -#: common/models.py:2466 +#: common/models.py:2467 msgid "Regex Search" msgstr "Regex hledání" -#: common/models.py:2467 +#: common/models.py:2468 msgid "Enable regular expressions in search queries" msgstr "Povolit regulární výrazy ve vyhledávacích dotazech" -#: common/models.py:2472 +#: common/models.py:2473 msgid "Whole Word Search" msgstr "Vyhledávání celého slova" -#: common/models.py:2473 +#: common/models.py:2474 msgid "Search queries return results for whole word matches" msgstr "Vyhledávací dotazy vracejí výsledky pro shody celých slov" -#: common/models.py:2478 +#: common/models.py:2479 msgid "Show Quantity in Forms" msgstr "Zobrazit množství ve formulářích" -#: common/models.py:2479 +#: common/models.py:2480 msgid "Display available part quantity in some forms" msgstr "Zobrazit dostupné množství dílů v některých formulářích" -#: common/models.py:2484 +#: common/models.py:2485 msgid "Escape Key Closes Forms" msgstr "Klávesa Escape zavře formuláře" -#: common/models.py:2485 +#: common/models.py:2486 msgid "Use the escape key to close modal forms" msgstr "Zavřít modální formuláře pomocí klávesy escape" -#: common/models.py:2490 +#: common/models.py:2491 msgid "Fixed Navbar" msgstr "Pevná navigační lišta" -#: common/models.py:2491 +#: common/models.py:2492 msgid "The navbar position is fixed to the top of the screen" msgstr "Pozice navigační lišty je pevně nastavena na horní okraj obrazovky" -#: common/models.py:2496 +#: common/models.py:2497 msgid "Date Format" msgstr "Formát data" -#: common/models.py:2497 +#: common/models.py:2498 msgid "Preferred format for displaying dates" msgstr "Preferovaný formát pro zobrazení datumů" -#: common/models.py:2510 part/templates/part/detail.html:41 +#: common/models.py:2511 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "Plánování dílů" -#: common/models.py:2511 +#: common/models.py:2512 msgid "Display part scheduling information" msgstr "Zobrazit informace o plánování dílů" -#: common/models.py:2516 part/templates/part/detail.html:62 +#: common/models.py:2517 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "Inventura dílu" -#: common/models.py:2518 +#: common/models.py:2519 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "Zobrazit informace o skladových zásobách dílů (pokud je povolena funkce inventury)" -#: common/models.py:2524 +#: common/models.py:2525 msgid "Table String Length" msgstr "Délka textu v tabulce" -#: common/models.py:2526 +#: common/models.py:2527 msgid "Maximum length limit for strings displayed in table views" msgstr "Maximální délka textu v zobrazeních tabulek" -#: common/models.py:2532 +#: common/models.py:2533 msgid "Receive error reports" msgstr "Přijímat zprávy o chybách" -#: common/models.py:2533 +#: common/models.py:2534 msgid "Receive notifications for system errors" msgstr "Dostávat oznámení o systémových chybách" -#: common/models.py:2538 +#: common/models.py:2539 msgid "Last used printing machines" msgstr "Poslední použité tiskárny" -#: common/models.py:2539 +#: common/models.py:2540 msgid "Save the last used printing machines for a user" msgstr "Uložte poslední použité tiskárny pro uživatele" -#: common/models.py:2559 common/models.py:2560 common/models.py:2717 -#: common/models.py:2718 common/models.py:2963 common/models.py:2964 -#: common/models.py:3287 common/models.py:3288 importer/models.py:89 -#: part/models.py:3319 part/models.py:3406 part/models.py:3480 -#: part/models.py:3508 plugin/models.py:274 plugin/models.py:275 +#: common/models.py:2560 common/models.py:2561 common/models.py:2718 +#: common/models.py:2719 common/models.py:2964 common/models.py:2965 +#: common/models.py:3288 common/models.py:3289 importer/models.py:89 +#: part/models.py:3306 part/models.py:3393 part/models.py:3467 +#: part/models.py:3495 plugin/models.py:274 plugin/models.py:275 #: report/templates/report/inventree_test_report.html:105 #: templates/js/translated/stock.js:3121 users/models.py:111 msgid "User" msgstr "Uživatel" -#: common/models.py:2582 +#: common/models.py:2583 msgid "Price break quantity" msgstr "Množství cenové slevy" -#: common/models.py:2589 company/serializers.py:517 order/admin.py:42 +#: common/models.py:2590 company/serializers.py:517 order/admin.py:42 #: order/models.py:1423 order/models.py:2410 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1892 #: templates/js/translated/pricing.js:621 @@ -3747,96 +3744,96 @@ msgstr "Množství cenové slevy" msgid "Price" msgstr "Cena" -#: common/models.py:2590 +#: common/models.py:2591 msgid "Unit price at specified quantity" msgstr "Jednotková cena při stanoveném množství" -#: common/models.py:2694 common/models.py:2879 +#: common/models.py:2695 common/models.py:2880 msgid "Endpoint" msgstr "Koncový bod" -#: common/models.py:2695 +#: common/models.py:2696 msgid "Endpoint at which this webhook is received" msgstr "Koncový bod, ve kterém je tento webhook přijímán" -#: common/models.py:2705 +#: common/models.py:2706 msgid "Name for this webhook" msgstr "Název tohoto webhooku" -#: common/models.py:2709 +#: common/models.py:2710 msgid "Is this webhook active" msgstr "Je tento webhook aktivní" -#: common/models.py:2725 users/models.py:159 +#: common/models.py:2726 users/models.py:159 msgid "Token" msgstr "Token" -#: common/models.py:2726 +#: common/models.py:2727 msgid "Token for access" msgstr "Token pro přístup" -#: common/models.py:2734 +#: common/models.py:2735 msgid "Secret" msgstr "Tajný klíč" -#: common/models.py:2735 +#: common/models.py:2736 msgid "Shared secret for HMAC" msgstr "Sdílený tajný klíč pro HMAC" -#: common/models.py:2843 +#: common/models.py:2844 msgid "Message ID" msgstr "ID zprávy" -#: common/models.py:2844 +#: common/models.py:2845 msgid "Unique identifier for this message" msgstr "Unikátní identifikátor pro tuto zprávu" -#: common/models.py:2852 +#: common/models.py:2853 msgid "Host" msgstr "Hostitel" -#: common/models.py:2853 +#: common/models.py:2854 msgid "Host from which this message was received" msgstr "Hostitel, od kterého byla tato zpráva přijata" -#: common/models.py:2861 +#: common/models.py:2862 msgid "Header" msgstr "Záhlaví" -#: common/models.py:2862 +#: common/models.py:2863 msgid "Header of this message" msgstr "Záhlaví této zprávy" -#: common/models.py:2869 +#: common/models.py:2870 msgid "Body" msgstr "Tělo" -#: common/models.py:2870 +#: common/models.py:2871 msgid "Body of this message" msgstr "Tělo zprávy" -#: common/models.py:2880 +#: common/models.py:2881 msgid "Endpoint on which this message was received" msgstr "Koncový bod, na kterém byla zpráva přijata" -#: common/models.py:2885 +#: common/models.py:2886 msgid "Worked on" msgstr "Pracoval na" -#: common/models.py:2886 +#: common/models.py:2887 msgid "Was the work on this message finished?" msgstr "Byla práce na této zprávě dokončena?" -#: common/models.py:3012 +#: common/models.py:3013 msgid "Id" msgstr "ID" -#: common/models.py:3014 templates/js/translated/company.js:965 +#: common/models.py:3015 templates/js/translated/company.js:965 #: templates/js/translated/news.js:44 msgid "Title" msgstr "Název" -#: common/models.py:3016 common/models.py:3271 company/models.py:146 +#: common/models.py:3017 common/models.py:3272 company/models.py:146 #: company/models.py:443 company/models.py:509 company/models.py:815 #: order/models.py:303 order/models.py:1378 order/models.py:1810 #: part/admin.py:55 part/models.py:1069 @@ -3853,217 +3850,217 @@ msgstr "Název" msgid "Link" msgstr "Odkaz" -#: common/models.py:3018 templates/js/translated/news.js:60 +#: common/models.py:3019 templates/js/translated/news.js:60 msgid "Published" msgstr "Zveřejněno" -#: common/models.py:3020 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:3021 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:103 msgid "Author" msgstr "Autor" -#: common/models.py:3022 templates/js/translated/news.js:52 +#: common/models.py:3023 templates/js/translated/news.js:52 msgid "Summary" msgstr "Souhrn" -#: common/models.py:3025 +#: common/models.py:3026 msgid "Read" msgstr "Přečteno" -#: common/models.py:3025 +#: common/models.py:3026 msgid "Was this news item read?" msgstr "Byla tato novinka přečtena?" -#: common/models.py:3042 company/models.py:156 part/models.py:1079 +#: common/models.py:3043 company/models.py:156 part/models.py:1079 #: 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.html:35 -#: stock/templates/stock/item_base.html:133 templates/503.html:31 +#: stock/templates/stock/item_base.html:129 templates/503.html:31 #: templates/hover_image.html:7 templates/hover_image.html:9 #: templates/modals.html:6 msgid "Image" msgstr "Obrazek" -#: common/models.py:3042 +#: common/models.py:3043 msgid "Image file" msgstr "Soubor obrázku" -#: common/models.py:3054 common/models.py:3255 +#: common/models.py:3055 common/models.py:3256 msgid "Target model type for this image" msgstr "Cílový typ modelu pro tento obrázek" -#: common/models.py:3058 +#: common/models.py:3059 msgid "Target model ID for this image" msgstr "Cílové ID modelu pro tento obrázek" -#: common/models.py:3080 +#: common/models.py:3081 msgid "Custom Unit" msgstr "" -#: common/models.py:3098 +#: common/models.py:3099 msgid "Unit symbol must be unique" msgstr "" -#: common/models.py:3113 +#: common/models.py:3114 msgid "Unit name must be a valid identifier" msgstr "Název jednotky musí být platný identifikátor" -#: common/models.py:3132 +#: common/models.py:3133 msgid "Unit name" msgstr "Název jednotky" -#: common/models.py:3139 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3140 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "Symbol" -#: common/models.py:3140 +#: common/models.py:3141 msgid "Optional unit symbol" msgstr "Volitelný symbol jednotky" -#: common/models.py:3146 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3147 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "Definice" -#: common/models.py:3147 +#: common/models.py:3148 msgid "Unit definition" msgstr "Definice jednotky" -#: common/models.py:3205 common/models.py:3262 stock/models.py:2552 +#: common/models.py:3206 common/models.py:3263 stock/models.py:2547 #: stock/serializers.py:244 templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:345 msgid "Attachment" msgstr "Příloha" -#: common/models.py:3217 +#: common/models.py:3218 msgid "Missing file" msgstr "Chybějící soubor" -#: common/models.py:3218 +#: common/models.py:3219 msgid "Missing external link" msgstr "Chybějící externí odkaz" -#: common/models.py:3263 +#: common/models.py:3264 msgid "Select file to attach" msgstr "Vyberte soubor k přiložení" -#: common/models.py:3278 templates/js/translated/attachment.js:120 +#: common/models.py:3279 templates/js/translated/attachment.js:120 #: templates/js/translated/attachment.js:360 msgid "Comment" msgstr "Komentář" -#: common/models.py:3279 +#: common/models.py:3280 msgid "Attachment comment" msgstr "Komentář přílohy" -#: common/models.py:3295 +#: common/models.py:3296 msgid "Upload date" msgstr "Datum nahrání" -#: common/models.py:3296 +#: common/models.py:3297 msgid "Date the file was uploaded" msgstr "Datum, kdy byl soubor nahrán" -#: common/models.py:3300 +#: common/models.py:3301 msgid "File size" msgstr "Velikost souboru" -#: common/models.py:3300 +#: common/models.py:3301 msgid "File size in bytes" msgstr "Velikost souboru v bytech" -#: common/models.py:3338 common/serializers.py:588 +#: common/models.py:3339 common/serializers.py:604 msgid "Invalid model type specified for attachment" msgstr "Uveden neplatný typ modelu pro přílohu" -#: common/models.py:3347 plugin/models.py:43 users/models.py:100 +#: common/models.py:3348 plugin/models.py:43 users/models.py:100 msgid "Key" msgstr "" -#: common/models.py:3348 +#: common/models.py:3349 msgid "Value that will be saved in the models database" msgstr "" -#: common/models.py:3351 +#: common/models.py:3352 msgid "Name of the state" msgstr "" -#: common/models.py:3355 +#: common/models.py:3356 msgid "Label" msgstr "" -#: common/models.py:3356 +#: common/models.py:3357 msgid "Label that will be displayed in the frontend" msgstr "" -#: common/models.py:3362 +#: common/models.py:3363 msgid "Color" msgstr "" -#: common/models.py:3363 +#: common/models.py:3364 msgid "Color that will be displayed in the frontend" msgstr "" -#: common/models.py:3366 +#: common/models.py:3367 msgid "Logical Key" msgstr "" -#: common/models.py:3368 +#: common/models.py:3369 msgid "State logical key that is equal to this custom state in business logic" msgstr "" -#: common/models.py:3376 +#: common/models.py:3377 msgid "Model" msgstr "" -#: common/models.py:3377 +#: common/models.py:3378 msgid "Model this state is associated with" msgstr "" -#: common/models.py:3381 +#: common/models.py:3382 msgid "Reference Status Set" msgstr "" -#: common/models.py:3382 +#: common/models.py:3383 msgid "Status set that is extended with this custom state" msgstr "" -#: common/models.py:3388 +#: common/models.py:3389 msgid "Custom State" msgstr "" -#: common/models.py:3389 +#: common/models.py:3390 msgid "Custom States" msgstr "" -#: common/models.py:3404 +#: common/models.py:3405 msgid "Model must be selected" msgstr "" -#: common/models.py:3407 +#: common/models.py:3408 msgid "Key must be selected" msgstr "" -#: common/models.py:3410 +#: common/models.py:3411 msgid "Logical key must be selected" msgstr "" -#: common/models.py:3414 +#: common/models.py:3415 msgid "Key must be different from logical key" msgstr "" -#: common/models.py:3418 +#: common/models.py:3419 msgid "Reference status must be selected" msgstr "" -#: common/models.py:3430 +#: common/models.py:3431 msgid "Reference status set not found" msgstr "" -#: common/models.py:3436 +#: common/models.py:3437 msgid "Key must be different from the logical keys of the reference status" msgstr "" -#: common/models.py:3442 +#: common/models.py:3443 msgid "Logical key must be in the logical keys of the reference status" msgstr "" @@ -4101,75 +4098,75 @@ msgstr "" msgid "Error raised by plugin" msgstr "" -#: common/serializers.py:402 +#: common/serializers.py:418 msgid "Is Running" msgstr "" -#: common/serializers.py:408 +#: common/serializers.py:424 msgid "Pending Tasks" msgstr "" -#: common/serializers.py:414 +#: common/serializers.py:430 msgid "Scheduled Tasks" msgstr "" -#: common/serializers.py:420 +#: common/serializers.py:436 msgid "Failed Tasks" msgstr "" -#: common/serializers.py:435 +#: common/serializers.py:451 msgid "Task ID" msgstr "" -#: common/serializers.py:435 +#: common/serializers.py:451 msgid "Unique task ID" msgstr "" -#: common/serializers.py:437 +#: common/serializers.py:453 msgid "Lock" msgstr "" -#: common/serializers.py:437 +#: common/serializers.py:453 msgid "Lock time" msgstr "Čas uzamčení" -#: common/serializers.py:439 +#: common/serializers.py:455 msgid "Task name" msgstr "Jméno úkolu" -#: common/serializers.py:441 +#: common/serializers.py:457 msgid "Function" msgstr "Funkce" -#: common/serializers.py:441 +#: common/serializers.py:457 msgid "Function name" msgstr "Název funkce" -#: common/serializers.py:443 +#: common/serializers.py:459 msgid "Arguments" msgstr "Argumenty" -#: common/serializers.py:443 +#: common/serializers.py:459 msgid "Task arguments" msgstr "Argumenty úlohy" -#: common/serializers.py:446 +#: common/serializers.py:462 msgid "Keyword Arguments" msgstr "Argumenty klíčových slov" -#: common/serializers.py:446 +#: common/serializers.py:462 msgid "Task keyword arguments" msgstr "Argumenty klíčových slov úlohy" -#: common/serializers.py:556 +#: common/serializers.py:572 msgid "Filename" msgstr "Název souboru" -#: common/serializers.py:563 report/api.py:100 report/serializers.py:53 +#: common/serializers.py:579 report/api.py:100 report/serializers.py:54 msgid "Model Type" msgstr "Typ modelu" -#: common/serializers.py:591 +#: common/serializers.py:607 msgid "User does not have permission to create or edit attachments for this model" msgstr "Uživatel nemá oprávnění k vytváření nebo úpravám příloh pro tento model" @@ -4447,12 +4444,12 @@ msgstr "Odkaz na informace o adrese (externí)" #: company/models.py:467 company/models.py:584 company/models.py:808 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 -#: stock/templates/stock/item_base.html:217 +#: stock/templates/stock/item_base.html:213 msgid "Manufacturer Part" msgstr "Výrobce dílu" #: company/models.py:484 company/models.py:776 stock/models.py:791 -#: stock/serializers.py:452 stock/templates/stock/item_base.html:142 +#: stock/serializers.py:452 stock/templates/stock/item_base.html:138 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "Základní díl" @@ -4463,8 +4460,8 @@ msgstr "Zvolte díl" #: company/models.py:495 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:567 -#: stock/templates/stock/item_base.html:207 +#: company/templates/company/supplier_part.html:145 part/serializers.py:565 +#: stock/templates/stock/item_base.html:203 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 #: templates/js/translated/company.js:1296 @@ -4479,7 +4476,7 @@ msgstr "Vyberte výrobce" #: company/models.py:502 company/templates/company/manufacturer_part.html:101 #: company/templates/company/supplier_part.html:153 order/serializers.py:557 -#: part/serializers.py:577 templates/js/translated/company.js:351 +#: part/serializers.py:575 templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 #: templates/js/translated/company.js:1630 templates/js/translated/part.js:1807 @@ -4505,7 +4502,7 @@ msgid "Parameter name" msgstr "Název parametru" #: company/models.py:597 report/templates/report/inventree_test_report.html:104 -#: stock/models.py:2544 templates/js/translated/company.js:1166 +#: stock/models.py:2539 templates/js/translated/company.js:1166 #: templates/js/translated/company.js:1419 templates/js/translated/part.js:1499 #: templates/js/translated/stock.js:1607 msgid "Value" @@ -4516,7 +4513,7 @@ msgid "Parameter value" msgstr "Hodnota parametru" #: company/models.py:605 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1159 part/models.py:3783 +#: part/admin.py:57 part/models.py:1159 part/models.py:3770 #: part/templates/part/part_base.html:300 #: templates/js/translated/company.js:1425 templates/js/translated/part.js:1518 #: templates/js/translated/part.js:1622 templates/js/translated/part.js:2376 @@ -4530,7 +4527,7 @@ msgstr "Jednotky parametru" #: company/models.py:659 company/templates/company/supplier_part.html:7 #: company/templates/company/supplier_part.html:24 order/api.py:440 #: order/serializers.py:492 stock/models.py:802 -#: stock/templates/stock/item_base.html:233 +#: stock/templates/stock/item_base.html:229 #: templates/js/translated/build.js:1055 #: templates/js/translated/company.js:1600 #: templates/js/translated/purchase_order.js:752 @@ -4553,9 +4550,9 @@ msgstr "Odkazovaný díl výrobce musí odkazovat na stejný základní díl" #: company/models.py:786 company/templates/company/company_base.html:87 #: company/templates/company/supplier_part.html:129 order/models.py:492 #: order/templates/order/order_base.html:141 part/bom.py:279 part/bom.py:314 -#: part/serializers.py:551 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:549 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 -#: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 +#: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:220 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:511 @@ -4570,7 +4567,7 @@ msgstr "Dodavatel" msgid "Select supplier" msgstr "Vyberte dodavatele" -#: company/models.py:793 part/serializers.py:562 +#: company/models.py:793 part/serializers.py:560 msgid "Supplier stock keeping unit" msgstr "Skladová evidence dodavatele" @@ -4591,7 +4588,7 @@ msgid "Supplier part description" msgstr "Popis dílu dodavatele" #: company/models.py:832 company/templates/company/supplier_part.html:187 -#: order/serializers.py:699 part/admin.py:415 part/models.py:4301 +#: order/serializers.py:699 part/admin.py:415 part/models.py:4288 #: part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 @@ -4603,11 +4600,11 @@ msgstr "Popis dílu dodavatele" msgid "Note" msgstr "Poznámka" -#: company/models.py:841 part/models.py:2129 +#: company/models.py:841 part/models.py:2128 msgid "base cost" msgstr "základní cena" -#: company/models.py:842 part/models.py:2130 +#: company/models.py:842 part/models.py:2129 msgid "Minimum charge (e.g. stocking fee)" msgstr "Minimální poplatek (např. poplatek za skladování)" @@ -4629,7 +4626,7 @@ msgstr "Počet kusů v balení" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "Celkové množství dodávané v jednom balení. Pro jednotlivé položky ponechte prázdné." -#: company/models.py:876 part/models.py:2136 +#: company/models.py:876 part/models.py:2135 msgid "multiple" msgstr "více" @@ -4661,7 +4658,7 @@ msgstr "Výchozí měna používaná pro tohoto dodavatele" msgid "Company Name" msgstr "" -#: company/serializers.py:397 part/admin.py:126 part/serializers.py:919 +#: company/serializers.py:397 part/admin.py:126 part/serializers.py:917 #: part/templates/part/part_base.html:197 #: templates/js/translated/company.js:1689 #: templates/js/translated/table_filters.js:362 @@ -4735,7 +4732,7 @@ msgstr "Smazat obrázek" #: order/models.py:2140 order/templates/order/return_order_base.html:134 #: order/templates/order/sales_order_base.html:151 stock/models.py:844 #: stock/models.py:845 stock/serializers.py:1336 -#: stock/templates/stock/item_base.html:405 +#: stock/templates/stock/item_base.html:401 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 #: templates/js/translated/return_order.js:295 @@ -4939,7 +4936,7 @@ msgstr "Nejsou k dispozici žádné informace o výrobci" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:925 +#: part/admin.py:122 part/serializers.py:923 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -5030,7 +5027,7 @@ msgid "No supplier information available" msgstr "Nejsou k dispozici žádné informace o dodavateli" #: company/templates/company/supplier_part.html:139 order/serializers.py:554 -#: part/bom.py:286 part/bom.py:315 part/serializers.py:561 +#: part/bom.py:286 part/bom.py:315 part/serializers.py:559 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1793 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1920 @@ -5084,7 +5081,7 @@ msgid "Update Part Availability" msgstr "Aktualizovat dostupnost dílu" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:923 part/stocktake.py:223 +#: part/serializers.py:921 part/stocktake.py:223 #: part/templates/part/category.html:180 #: part/templates/part/category_sidebar.html:17 stock/admin.py:68 #: stock/serializers.py:1021 stock/serializers.py:1199 @@ -5215,7 +5212,7 @@ msgstr "" msgid "Original row data" msgstr "" -#: importer/models.py:504 part/models.py:3965 +#: importer/models.py:504 part/models.py:3952 msgid "Data" msgstr "" @@ -5473,7 +5470,7 @@ msgstr "" #: order/models.py:1592 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_purchase_order_report.html:14 -#: stock/serializers.py:121 stock/templates/stock/item_base.html:176 +#: stock/serializers.py:121 stock/templates/stock/item_base.html:172 #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/part.js:1752 templates/js/translated/pricing.js:804 #: templates/js/translated/purchase_order.js:168 @@ -5694,7 +5691,7 @@ msgid "Number of items received" msgstr "Počet přijatých položek" #: order/models.py:1513 stock/models.py:963 stock/serializers.py:617 -#: stock/templates/stock/item_base.html:183 +#: stock/templates/stock/item_base.html:179 #: templates/js/translated/stock.js:2397 msgid "Purchase Price" msgstr "Nákupní cena" @@ -5768,7 +5765,7 @@ msgid "User who checked this shipment" msgstr "Uživatel, který zkontroloval tuto zásilku" #: order/models.py:1788 order/models.py:2011 order/serializers.py:1479 -#: order/serializers.py:1589 templates/js/translated/model_renderers.js:455 +#: order/serializers.py:1597 templates/js/translated/model_renderers.js:455 msgid "Shipment" msgstr "Doprava" @@ -5982,7 +5979,7 @@ msgstr "Řádková položka" msgid "Line item does not match purchase order" msgstr "Řádková položka neodpovídá nákupní objednávce" -#: order/serializers.py:656 order/serializers.py:779 order/serializers.py:1790 +#: order/serializers.py:656 order/serializers.py:779 order/serializers.py:1798 msgid "Select destination location for received items" msgstr "Vyberte cílové umístění pro přijaté položky" @@ -6019,7 +6016,7 @@ msgstr "Tento čárový kód se již používá" msgid "An integer quantity must be provided for trackable parts" msgstr "U sledovatelných dílů musí být uvedeno celočíselné množství" -#: order/serializers.py:795 order/serializers.py:1806 +#: order/serializers.py:795 order/serializers.py:1814 msgid "Line items must be provided" msgstr "Musí být uvedeny řádkové položky" @@ -6051,39 +6048,39 @@ msgstr "" msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1491 order/serializers.py:1597 +#: order/serializers.py:1491 order/serializers.py:1605 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1494 order/serializers.py:1600 +#: order/serializers.py:1494 order/serializers.py:1608 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1541 +#: order/serializers.py:1549 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1548 -msgid "The following serial numbers are already allocated" +#: order/serializers.py:1556 +msgid "The following serial numbers are unavailable" msgstr "" -#: order/serializers.py:1760 +#: order/serializers.py:1768 msgid "Return order line item" msgstr "" -#: order/serializers.py:1766 +#: order/serializers.py:1774 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1769 +#: order/serializers.py:1777 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1798 +#: order/serializers.py:1806 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1881 +#: order/serializers.py:1889 msgid "Line price currency" msgstr "" @@ -6510,7 +6507,7 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:48 part/models.py:1044 part/serializers.py:908 +#: part/admin.py:48 part/models.py:1044 part/serializers.py:906 #: part/templates/part/part_base.html:276 #: report/templates/report/inventree_stock_location_report.html:103 #: templates/js/translated/part.js:1233 templates/js/translated/part.js:2347 @@ -6537,7 +6534,7 @@ msgstr "" msgid "Category ID" msgstr "" -#: part/admin.py:67 part/admin.py:304 part/serializers.py:893 +#: part/admin.py:67 part/admin.py:304 part/serializers.py:891 #: part/stocktake.py:222 msgid "Category Name" msgstr "" @@ -6562,18 +6559,18 @@ msgstr "" msgid "Used In" msgstr "" -#: part/admin.py:150 part/serializers.py:918 +#: part/admin.py:150 part/serializers.py:916 #: part/templates/part/part_base.html:248 stock/admin.py:236 #: templates/js/translated/part.js:717 templates/js/translated/part.js:2159 msgid "Building" msgstr "" -#: part/admin.py:155 part/models.py:3214 part/models.py:3228 +#: part/admin.py:155 part/models.py:3201 part/models.py:3215 #: templates/js/translated/part.js:976 msgid "Minimum Cost" msgstr "" -#: part/admin.py:158 part/models.py:3221 part/models.py:3235 +#: part/admin.py:158 part/models.py:3208 part/models.py:3222 #: templates/js/translated/part.js:986 msgid "Maximum Cost" msgstr "" @@ -6592,7 +6589,7 @@ msgid "Category Path" msgstr "" #: part/admin.py:325 part/models.py:420 part/serializers.py:130 -#: part/serializers.py:290 part/serializers.py:428 +#: part/serializers.py:290 part/serializers.py:426 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:20 #: part/templates/part/category.html:138 part/templates/part/category.html:158 #: part/templates/part/category_sidebar.html:9 @@ -6619,13 +6616,13 @@ msgstr "" msgid "Part Revision" msgstr "" -#: part/admin.py:418 part/serializers.py:1367 +#: part/admin.py:418 part/serializers.py:1365 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:423 part/serializers.py:1382 +#: part/admin.py:423 part/serializers.py:1380 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -6719,8 +6716,8 @@ msgstr "" msgid "BOM Valid" msgstr "" -#: part/api.py:1520 part/models.py:1036 part/models.py:3501 part/models.py:4060 -#: part/serializers.py:443 part/serializers.py:1223 +#: part/api.py:1520 part/models.py:1036 part/models.py:3488 part/models.py:4047 +#: part/serializers.py:441 part/serializers.py:1221 #: part/templates/part/part_base.html:267 stock/api.py:780 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 @@ -6746,7 +6743,7 @@ msgstr "" msgid "Default Location" msgstr "" -#: part/bom.py:184 part/serializers.py:926 +#: part/bom.py:184 part/serializers.py:924 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -6755,7 +6752,7 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:89 part/models.py:4061 part/templates/part/category.html:16 +#: part/models.py:89 part/models.py:4048 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "Kategorie dílu" @@ -6878,7 +6875,7 @@ msgstr "" msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:995 part/models.py:4116 +#: part/models.py:995 part/models.py:4103 msgid "Part name" msgstr "Název dílu" @@ -6906,7 +6903,7 @@ msgstr "" msgid "Part category" msgstr "Kategorie dílu" -#: part/models.py:1052 part/serializers.py:360 +#: part/models.py:1052 msgid "Part revision or version number" msgstr "" @@ -7012,164 +7009,164 @@ msgid "Owner responsible for this part" msgstr "" #: part/models.py:1264 part/templates/part/part_base.html:355 -#: stock/templates/stock/item_base.html:451 +#: stock/templates/stock/item_base.html:447 #: templates/js/translated/part.js:2490 msgid "Last Stocktake" msgstr "" -#: part/models.py:2137 +#: part/models.py:2136 msgid "Sell multiple" msgstr "" -#: part/models.py:3128 +#: part/models.py:3115 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3144 +#: part/models.py:3131 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3145 +#: part/models.py:3132 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3151 +#: part/models.py:3138 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3152 +#: part/models.py:3139 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3158 +#: part/models.py:3145 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3159 +#: part/models.py:3146 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3165 +#: part/models.py:3152 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3166 +#: part/models.py:3153 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3172 +#: part/models.py:3159 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3173 +#: part/models.py:3160 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3179 +#: part/models.py:3166 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3180 +#: part/models.py:3167 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3186 +#: part/models.py:3173 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3187 +#: part/models.py:3174 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3193 +#: part/models.py:3180 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3194 +#: part/models.py:3181 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3200 +#: part/models.py:3187 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3201 +#: part/models.py:3188 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3207 +#: part/models.py:3194 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3208 +#: part/models.py:3195 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3215 +#: part/models.py:3202 msgid "Override minimum cost" msgstr "" -#: part/models.py:3222 +#: part/models.py:3209 msgid "Override maximum cost" msgstr "" -#: part/models.py:3229 +#: part/models.py:3216 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3236 +#: part/models.py:3223 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3242 +#: part/models.py:3229 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3243 +#: part/models.py:3230 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3249 +#: part/models.py:3236 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3250 +#: part/models.py:3237 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3256 +#: part/models.py:3243 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3257 +#: part/models.py:3244 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3263 +#: part/models.py:3250 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3264 +#: part/models.py:3251 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3283 +#: part/models.py:3270 msgid "Part for stocktake" msgstr "" -#: part/models.py:3288 +#: part/models.py:3275 msgid "Item Count" msgstr "" -#: part/models.py:3289 +#: part/models.py:3276 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3297 +#: part/models.py:3284 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3301 part/models.py:3384 +#: part/models.py:3288 part/models.py:3371 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -7181,363 +7178,363 @@ msgstr "" msgid "Date" msgstr "" -#: part/models.py:3302 +#: part/models.py:3289 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3310 +#: part/models.py:3297 msgid "Additional notes" msgstr "" -#: part/models.py:3320 +#: part/models.py:3307 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3326 +#: part/models.py:3313 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3327 +#: part/models.py:3314 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3333 +#: part/models.py:3320 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3334 +#: part/models.py:3321 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3390 templates/InvenTree/settings/settings_staff_js.html:532 +#: part/models.py:3377 templates/InvenTree/settings/settings_staff_js.html:532 msgid "Report" msgstr "" -#: part/models.py:3391 +#: part/models.py:3378 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3396 templates/InvenTree/settings/settings_staff_js.html:539 +#: part/models.py:3383 templates/InvenTree/settings/settings_staff_js.html:539 msgid "Part Count" msgstr "" -#: part/models.py:3397 +#: part/models.py:3384 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3407 +#: part/models.py:3394 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3417 +#: part/models.py:3404 msgid "Part Sale Price Break" msgstr "" -#: part/models.py:3529 +#: part/models.py:3516 msgid "Part Test Template" msgstr "" -#: part/models.py:3555 +#: part/models.py:3542 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3576 part/models.py:3745 +#: part/models.py:3563 part/models.py:3732 msgid "Choices must be unique" msgstr "" -#: part/models.py:3587 +#: part/models.py:3574 msgid "Test templates can only be created for testable parts" msgstr "" -#: part/models.py:3598 +#: part/models.py:3585 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3615 templates/js/translated/part.js:2898 +#: part/models.py:3602 templates/js/translated/part.js:2898 msgid "Test Name" msgstr "" -#: part/models.py:3616 +#: part/models.py:3603 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3622 +#: part/models.py:3609 msgid "Test Key" msgstr "" -#: part/models.py:3623 +#: part/models.py:3610 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3630 +#: part/models.py:3617 msgid "Test Description" msgstr "" -#: part/models.py:3631 +#: part/models.py:3618 msgid "Enter description for this test" msgstr "" -#: part/models.py:3635 report/models.py:208 +#: part/models.py:3622 report/models.py:216 #: templates/js/translated/part.js:2919 #: templates/js/translated/table_filters.js:502 msgid "Enabled" msgstr "" -#: part/models.py:3635 +#: part/models.py:3622 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3640 templates/js/translated/part.js:2927 +#: part/models.py:3627 templates/js/translated/part.js:2927 #: templates/js/translated/table_filters.js:498 msgid "Required" msgstr "" -#: part/models.py:3641 +#: part/models.py:3628 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3646 templates/js/translated/part.js:2935 +#: part/models.py:3633 templates/js/translated/part.js:2935 msgid "Requires Value" msgstr "" -#: part/models.py:3647 +#: part/models.py:3634 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3652 templates/js/translated/part.js:2942 +#: part/models.py:3639 templates/js/translated/part.js:2942 msgid "Requires Attachment" msgstr "" -#: part/models.py:3654 +#: part/models.py:3641 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3660 part/models.py:3804 templates/js/translated/part.js:1643 +#: part/models.py:3647 part/models.py:3791 templates/js/translated/part.js:1643 msgid "Choices" msgstr "" -#: part/models.py:3661 +#: part/models.py:3648 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3693 +#: part/models.py:3680 msgid "Part Parameter Template" msgstr "" -#: part/models.py:3720 +#: part/models.py:3707 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3725 +#: part/models.py:3712 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3762 +#: part/models.py:3749 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3777 +#: part/models.py:3764 msgid "Parameter Name" msgstr "" -#: part/models.py:3784 +#: part/models.py:3771 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3792 +#: part/models.py:3779 msgid "Parameter description" msgstr "" -#: part/models.py:3798 templates/js/translated/part.js:1634 +#: part/models.py:3785 templates/js/translated/part.js:1634 #: templates/js/translated/table_filters.js:837 msgid "Checkbox" msgstr "" -#: part/models.py:3799 +#: part/models.py:3786 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3805 +#: part/models.py:3792 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3839 +#: part/models.py:3826 msgid "Part Parameter" msgstr "" -#: part/models.py:3865 +#: part/models.py:3852 msgid "Parameter cannot be modified - part is locked" msgstr "" -#: part/models.py:3903 +#: part/models.py:3890 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3952 +#: part/models.py:3939 msgid "Parent Part" msgstr "" -#: part/models.py:3960 part/models.py:4068 part/models.py:4069 +#: part/models.py:3947 part/models.py:4055 part/models.py:4056 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3966 +#: part/models.py:3953 msgid "Parameter Value" msgstr "" -#: part/models.py:4016 +#: part/models.py:4003 msgid "Part Category Parameter Template" msgstr "" -#: part/models.py:4075 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:4062 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:4076 +#: part/models.py:4063 msgid "Default Parameter Value" msgstr "" -#: part/models.py:4114 +#: part/models.py:4101 msgid "Part ID or part name" msgstr "ID dílu nebo název dílu" -#: part/models.py:4115 +#: part/models.py:4102 msgid "Unique part ID value" msgstr "Jedinečná hodnota ID dílu" -#: part/models.py:4117 +#: part/models.py:4104 msgid "Part IPN value" msgstr "Hodnota IPN dílu" -#: part/models.py:4118 +#: part/models.py:4105 msgid "Level" msgstr "" -#: part/models.py:4118 +#: part/models.py:4105 msgid "BOM level" msgstr "" -#: part/models.py:4228 +#: part/models.py:4215 msgid "BOM item cannot be modified - assembly is locked" msgstr "" -#: part/models.py:4235 +#: part/models.py:4222 msgid "BOM item cannot be modified - variant assembly is locked" msgstr "" -#: part/models.py:4245 +#: part/models.py:4232 msgid "Select parent part" msgstr "Vyberte nadřazený díl" -#: part/models.py:4255 +#: part/models.py:4242 msgid "Sub part" msgstr "" -#: part/models.py:4256 +#: part/models.py:4243 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4267 +#: part/models.py:4254 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4273 +#: part/models.py:4260 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4279 +#: part/models.py:4266 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4286 part/templates/part/upload_bom.html:55 +#: part/models.py:4273 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4287 +#: part/models.py:4274 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4294 +#: part/models.py:4281 msgid "BOM item reference" msgstr "" -#: part/models.py:4302 +#: part/models.py:4289 msgid "BOM item notes" msgstr "" -#: part/models.py:4308 +#: part/models.py:4295 msgid "Checksum" msgstr "" -#: part/models.py:4309 +#: part/models.py:4296 msgid "BOM line checksum" msgstr "" -#: part/models.py:4314 templates/js/translated/table_filters.js:181 +#: part/models.py:4301 templates/js/translated/table_filters.js:181 msgid "Validated" msgstr "" -#: part/models.py:4315 +#: part/models.py:4302 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4320 part/templates/part/upload_bom.html:57 +#: part/models.py:4307 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:185 #: templates/js/translated/table_filters.js:218 msgid "Gets inherited" msgstr "" -#: part/models.py:4321 +#: part/models.py:4308 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4327 +#: part/models.py:4314 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4412 stock/models.py:689 +#: part/models.py:4399 stock/models.py:689 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4422 part/models.py:4424 +#: part/models.py:4409 part/models.py:4411 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4561 +#: part/models.py:4554 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4582 +#: part/models.py:4575 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4595 +#: part/models.py:4588 msgid "Parent BOM item" msgstr "" -#: part/models.py:4603 +#: part/models.py:4596 msgid "Substitute part" msgstr "" -#: part/models.py:4619 +#: part/models.py:4612 msgid "Part 1" msgstr "" -#: part/models.py:4627 +#: part/models.py:4620 msgid "Part 2" msgstr "" -#: part/models.py:4628 +#: part/models.py:4621 msgid "Select Related Part" msgstr "" -#: part/models.py:4647 +#: part/models.py:4640 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4652 +#: part/models.py:4645 msgid "Duplicate relationship already exists" msgstr "" @@ -7571,326 +7568,326 @@ msgstr "" msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:434 +#: part/serializers.py:432 msgid "No parts selected" msgstr "" -#: part/serializers.py:444 +#: part/serializers.py:442 msgid "Select category" msgstr "" -#: part/serializers.py:479 +#: part/serializers.py:477 msgid "Original Part" msgstr "" -#: part/serializers.py:480 +#: part/serializers.py:478 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:485 +#: part/serializers.py:483 msgid "Copy Image" msgstr "" -#: part/serializers.py:486 +#: part/serializers.py:484 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:492 part/templates/part/detail.html:293 +#: part/serializers.py:490 part/templates/part/detail.html:293 msgid "Copy BOM" msgstr "" -#: part/serializers.py:493 +#: part/serializers.py:491 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:499 +#: part/serializers.py:497 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:500 +#: part/serializers.py:498 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:506 +#: part/serializers.py:504 msgid "Copy Notes" msgstr "" -#: part/serializers.py:507 +#: part/serializers.py:505 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:525 +#: part/serializers.py:523 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:527 +#: part/serializers.py:525 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:534 +#: part/serializers.py:532 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:535 +#: part/serializers.py:533 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:552 +#: part/serializers.py:550 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:568 +#: part/serializers.py:566 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:578 +#: part/serializers.py:576 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:585 +#: part/serializers.py:583 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:594 +#: part/serializers.py:592 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:605 +#: part/serializers.py:603 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:612 +#: part/serializers.py:610 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:924 +#: part/serializers.py:922 msgid "Revisions" msgstr "" -#: part/serializers.py:929 +#: part/serializers.py:927 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:932 +#: part/serializers.py:930 msgid "Variant Stock" msgstr "" -#: part/serializers.py:962 part/templates/part/copy_part.html:9 +#: part/serializers.py:960 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:474 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:963 +#: part/serializers.py:961 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:969 templates/js/translated/part.js:103 +#: part/serializers.py:967 templates/js/translated/part.js:103 msgid "Initial Stock" msgstr "" -#: part/serializers.py:970 +#: part/serializers.py:968 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:976 +#: part/serializers.py:974 msgid "Supplier Information" msgstr "" -#: part/serializers.py:977 +#: part/serializers.py:975 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:985 +#: part/serializers.py:983 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:986 +#: part/serializers.py:984 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:991 +#: part/serializers.py:989 msgid "Existing Image" msgstr "" -#: part/serializers.py:992 +#: part/serializers.py:990 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:1009 +#: part/serializers.py:1007 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1215 +#: part/serializers.py:1213 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1225 +#: part/serializers.py:1223 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1235 +#: part/serializers.py:1233 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1241 +#: part/serializers.py:1239 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1242 +#: part/serializers.py:1240 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1247 +#: part/serializers.py:1245 msgid "Generate Report" msgstr "" -#: part/serializers.py:1248 +#: part/serializers.py:1246 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1253 +#: part/serializers.py:1251 msgid "Update Parts" msgstr "Aktualizovat díly" -#: part/serializers.py:1254 +#: part/serializers.py:1252 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1262 +#: part/serializers.py:1260 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1368 +#: part/serializers.py:1366 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1375 +#: part/serializers.py:1373 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1383 +#: part/serializers.py:1381 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1390 +#: part/serializers.py:1388 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1419 +#: part/serializers.py:1417 msgid "Update" msgstr "" -#: part/serializers.py:1420 +#: part/serializers.py:1418 msgid "Update pricing for this part" msgstr "Aktualizovat cenu pro díl" -#: part/serializers.py:1443 +#: part/serializers.py:1441 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1450 +#: part/serializers.py:1448 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1453 +#: part/serializers.py:1451 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1597 +#: part/serializers.py:1595 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1606 +#: part/serializers.py:1604 msgid "Component Name" msgstr "" -#: part/serializers.py:1609 +#: part/serializers.py:1607 msgid "Component IPN" msgstr "" -#: part/serializers.py:1612 +#: part/serializers.py:1610 msgid "Component Description" msgstr "" -#: part/serializers.py:1618 +#: part/serializers.py:1616 msgid "Select the component part" msgstr "" -#: part/serializers.py:1627 part/templates/part/part_base.html:242 +#: part/serializers.py:1625 part/templates/part/part_base.html:242 #: templates/js/translated/bom.js:1219 msgid "Can Build" msgstr "" -#: part/serializers.py:1858 +#: part/serializers.py:1856 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1866 +#: part/serializers.py:1864 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1867 +#: part/serializers.py:1865 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1872 +#: part/serializers.py:1870 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1873 +#: part/serializers.py:1871 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1878 +#: part/serializers.py:1876 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1879 +#: part/serializers.py:1877 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1884 +#: part/serializers.py:1882 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1885 +#: part/serializers.py:1883 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1922 +#: part/serializers.py:1920 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1923 +#: part/serializers.py:1921 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1955 +#: part/serializers.py:1953 msgid "No part column specified" msgstr "" -#: part/serializers.py:1999 +#: part/serializers.py:1997 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:2002 +#: part/serializers.py:2000 msgid "No matching part found" msgstr "" -#: part/serializers.py:2004 +#: part/serializers.py:2002 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:2013 +#: part/serializers.py:2011 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:2021 +#: part/serializers.py:2019 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:2044 +#: part/serializers.py:2042 msgid "At least one BOM item is required" msgstr "" @@ -8216,7 +8213,7 @@ msgid "Subscribe to notifications for this part" msgstr "" #: part/templates/part/part_base.html:52 -#: stock/templates/stock/item_base.html:62 +#: stock/templates/stock/item_base.html:61 #: stock/templates/stock/location.html:71 templates/js/translated/label.js:136 msgid "Print Label" msgstr "" @@ -8226,7 +8223,7 @@ msgid "Show pricing information" msgstr "" #: part/templates/part/part_base.html:63 -#: stock/templates/stock/item_base.html:110 +#: stock/templates/stock/item_base.html:106 #: stock/templates/stock/location.html:80 msgid "Stock actions" msgstr "" @@ -8297,12 +8294,12 @@ msgid "Required for Orders" msgstr "" #: part/templates/part/part_base.html:225 -#: stock/templates/stock/item_base.html:388 +#: stock/templates/stock/item_base.html:384 msgid "Allocated to Build Orders" msgstr "" #: part/templates/part/part_base.html:234 -#: stock/templates/stock/item_base.html:381 +#: stock/templates/stock/item_base.html:377 msgid "Allocated to Sales Orders" msgstr "" @@ -8322,7 +8319,7 @@ msgid "Latest Serial Number" msgstr "" #: part/templates/part/part_base.html:372 -#: stock/templates/stock/item_base.html:322 +#: stock/templates/stock/item_base.html:318 msgid "Search for serial number" msgstr "" @@ -8449,7 +8446,7 @@ msgid "Edit" msgstr "" #: part/templates/part/prices.html:28 stock/admin.py:252 -#: stock/templates/stock/item_base.html:446 +#: stock/templates/stock/item_base.html:442 #: templates/js/translated/company.js:1703 #: templates/js/translated/company.js:1713 #: templates/js/translated/stock.js:2332 @@ -8604,7 +8601,7 @@ msgstr "" msgid "Part Pricing" msgstr "" -#: plugin/api.py:172 +#: plugin/api.py:174 msgid "Plugin cannot be deleted as it is currently active" msgstr "" @@ -8940,7 +8937,7 @@ msgstr "" msgid "Print a border around each label" msgstr "" -#: plugin/builtin/labels/label_sheet.py:47 report/models.py:307 +#: plugin/builtin/labels/label_sheet.py:47 report/models.py:315 msgid "Landscape" msgstr "" @@ -9012,44 +9009,44 @@ msgstr "" msgid "The Supplier which acts as 'TME'" msgstr "" -#: plugin/installer.py:194 plugin/installer.py:274 +#: plugin/installer.py:199 plugin/installer.py:282 msgid "Only staff users can administer plugins" msgstr "" -#: plugin/installer.py:197 +#: plugin/installer.py:202 msgid "Plugin installation is disabled" msgstr "" -#: plugin/installer.py:241 +#: plugin/installer.py:246 msgid "Installed plugin successfully" msgstr "" -#: plugin/installer.py:246 +#: plugin/installer.py:251 #, python-brace-format msgid "Installed plugin into {path}" msgstr "" -#: plugin/installer.py:265 +#: plugin/installer.py:273 msgid "Plugin was not found in registry" msgstr "" -#: plugin/installer.py:268 +#: plugin/installer.py:276 msgid "Plugin is not a packaged plugin" msgstr "" -#: plugin/installer.py:271 +#: plugin/installer.py:279 msgid "Plugin package name not found" msgstr "" -#: plugin/installer.py:291 +#: plugin/installer.py:299 msgid "Plugin uninstalling is disabled" msgstr "" -#: plugin/installer.py:295 +#: plugin/installer.py:303 msgid "Plugin cannot be uninstalled as it is currently active" msgstr "" -#: plugin/installer.py:308 +#: plugin/installer.py:316 msgid "Uninstalled plugin successfully" msgstr "" @@ -9098,7 +9095,7 @@ msgstr "" msgid "Package Plugin" msgstr "" -#: plugin/models.py:220 report/models.py:474 +#: plugin/models.py:220 report/models.py:482 #: templates/InvenTree/settings/plugin_settings.html:9 #: templates/js/translated/plugin.js:51 msgid "Plugin" @@ -9167,6 +9164,38 @@ msgstr "" msgid "InvenTree Contributors" msgstr "" +#: plugin/samples/integration/user_interface_sample.py:22 +msgid "Enable Part Panels" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:23 +msgid "Enable custom panels for Part views" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:28 +msgid "Enable Purchase Order Panels" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:29 +msgid "Enable custom panels for Purchase Order views" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:34 +msgid "Enable Broken Panels" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:35 +msgid "Enable broken panels for testing" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:40 +msgid "Enable Dynamic Panel" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:41 +msgid "Enable dynamic panels for testing" +msgstr "" + #: plugin/serializers.py:81 msgid "Source URL" msgstr "" @@ -9245,12 +9274,36 @@ msgstr "" msgid "Delete the plugin configuration from the database" msgstr "" +#: plugin/serializers.py:324 +msgid "Plugin Key" +msgstr "" + +#: plugin/serializers.py:328 +msgid "Panel Name" +msgstr "" + +#: plugin/serializers.py:332 +msgid "Panel Title" +msgstr "" + +#: plugin/serializers.py:337 +msgid "Panel Icon" +msgstr "" + +#: plugin/serializers.py:341 +msgid "Panel Content (HTML)" +msgstr "" + +#: plugin/serializers.py:345 +msgid "Panel Source (javascript)" +msgstr "" + #: report/api.py:88 msgid "No valid objects provided to template" msgstr "" -#: report/api.py:103 report/models.py:438 report/serializers.py:98 -#: report/serializers.py:148 templates/js/translated/purchase_order.js:1817 +#: report/api.py:103 report/models.py:446 report/serializers.py:99 +#: report/serializers.py:149 templates/js/translated/purchase_order.js:1817 #: templates/js/translated/return_order.js:353 #: templates/js/translated/sales_order.js:887 #: templates/js/translated/sales_order.js:1047 @@ -9281,7 +9334,11 @@ msgstr "" msgid "Error printing label" msgstr "" -#: report/api.py:375 report/api.py:411 +#: report/api.py:358 +msgid "Report saved at time of printing" +msgstr "" + +#: report/api.py:384 report/api.py:420 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" @@ -9318,135 +9375,143 @@ msgstr "" msgid "Revision number (auto-increments)" msgstr "" -#: report/models.py:202 +#: report/models.py:168 +msgid "Attach to Model on Print" +msgstr "" + +#: report/models.py:170 +msgid "Save report output as an attachment against linked model instance when printing" +msgstr "" + +#: report/models.py:210 msgid "Filename Pattern" msgstr "" -#: report/models.py:203 +#: report/models.py:211 msgid "Pattern for generating filenames" msgstr "" -#: report/models.py:208 +#: report/models.py:216 msgid "Template is enabled" msgstr "" -#: report/models.py:214 +#: report/models.py:222 msgid "Target model type for template" msgstr "" -#: report/models.py:234 +#: report/models.py:242 msgid "Filters" msgstr "" -#: report/models.py:235 +#: report/models.py:243 msgid "Template query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:294 report/models.py:361 +#: report/models.py:302 report/models.py:369 msgid "Template file" msgstr "" -#: report/models.py:302 +#: report/models.py:310 msgid "Page size for PDF reports" msgstr "" -#: report/models.py:308 +#: report/models.py:316 msgid "Render report in landscape orientation" msgstr "" -#: report/models.py:367 +#: report/models.py:375 msgid "Width [mm]" msgstr "" -#: report/models.py:368 +#: report/models.py:376 msgid "Label width, specified in mm" msgstr "" -#: report/models.py:374 +#: report/models.py:382 msgid "Height [mm]" msgstr "" -#: report/models.py:375 +#: report/models.py:383 msgid "Label height, specified in mm" msgstr "" -#: report/models.py:438 +#: report/models.py:446 msgid "Number of items to process" msgstr "" -#: report/models.py:444 +#: report/models.py:452 msgid "Report generation is complete" msgstr "" -#: report/models.py:448 templates/js/translated/build.js:2352 +#: report/models.py:456 templates/js/translated/build.js:2352 msgid "Progress" msgstr "" -#: report/models.py:448 +#: report/models.py:456 msgid "Report generation progress" msgstr "" -#: report/models.py:456 +#: report/models.py:464 msgid "Report Template" msgstr "" -#: report/models.py:463 report/models.py:486 +#: report/models.py:471 report/models.py:494 msgid "Output File" msgstr "" -#: report/models.py:464 report/models.py:487 +#: report/models.py:472 report/models.py:495 msgid "Generated output file" msgstr "" -#: report/models.py:475 +#: report/models.py:483 msgid "Label output plugin" msgstr "" -#: report/models.py:479 +#: report/models.py:487 msgid "Label Template" msgstr "" -#: report/models.py:502 +#: report/models.py:510 msgid "Snippet" msgstr "" -#: report/models.py:503 +#: report/models.py:511 msgid "Report snippet file" msgstr "" -#: report/models.py:510 +#: report/models.py:518 msgid "Snippet file description" msgstr "" -#: report/models.py:528 +#: report/models.py:536 msgid "Asset" msgstr "" -#: report/models.py:529 +#: report/models.py:537 msgid "Report asset file" msgstr "" -#: report/models.py:536 +#: report/models.py:544 msgid "Asset file description" msgstr "" -#: report/serializers.py:91 +#: report/serializers.py:92 msgid "Select report template" msgstr "" -#: report/serializers.py:99 report/serializers.py:149 +#: report/serializers.py:100 report/serializers.py:150 msgid "List of item primary keys to include in the report" msgstr "" -#: report/serializers.py:132 +#: report/serializers.py:133 msgid "Select label template" msgstr "" -#: report/serializers.py:140 +#: report/serializers.py:141 msgid "Printing Plugin" msgstr "" -#: report/serializers.py:141 +#: report/serializers.py:142 msgid "Select plugin to use for label printing" msgstr "" @@ -9517,7 +9582,7 @@ msgstr "" msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report.html:103 stock/models.py:2538 +#: report/templates/report/inventree_test_report.html:103 stock/models.py:2533 msgid "Result" msgstr "" @@ -9598,7 +9663,7 @@ msgid "Customer ID" msgstr "" #: stock/admin.py:206 stock/models.py:829 -#: stock/templates/stock/item_base.html:354 +#: stock/templates/stock/item_base.html:350 msgid "Installed In" msgstr "" @@ -9623,7 +9688,7 @@ msgid "Delete on Deplete" msgstr "" #: stock/admin.py:261 stock/models.py:923 -#: stock/templates/stock/item_base.html:433 +#: stock/templates/stock/item_base.html:429 #: templates/js/translated/stock.js:2316 users/models.py:124 msgid "Expiry Date" msgstr "" @@ -9665,7 +9730,7 @@ msgid "Expiry date after" msgstr "" #: stock/api.py:839 stock/serializers.py:611 -#: stock/templates/stock/item_base.html:439 +#: stock/templates/stock/item_base.html:435 #: templates/js/translated/table_filters.js:448 msgid "Stale" msgstr "" @@ -9715,7 +9780,7 @@ msgid "Stock Locations" msgstr "" #: stock/models.py:185 stock/models.py:972 -#: stock/templates/stock/item_base.html:247 +#: stock/templates/stock/item_base.html:243 msgid "Owner" msgstr "" @@ -9826,7 +9891,7 @@ msgstr "" msgid "Build for this stock item" msgstr "" -#: stock/models.py:892 stock/templates/stock/item_base.html:363 +#: stock/models.py:892 stock/templates/stock/item_base.html:359 msgid "Consumed By" msgstr "" @@ -9891,7 +9956,7 @@ msgstr "" msgid "Serial numbers already exist" msgstr "" -#: stock/models.py:1636 +#: stock/models.py:1636 stock/models.py:2436 msgid "Test template does not exist" msgstr "" @@ -9939,67 +10004,67 @@ msgstr "" msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2337 +#: stock/models.py:2335 msgid "Stock Item Tracking" msgstr "" -#: stock/models.py:2370 +#: stock/models.py:2368 msgid "Entry notes" msgstr "" -#: stock/models.py:2410 +#: stock/models.py:2408 msgid "Stock Item Test Result" msgstr "" -#: stock/models.py:2443 +#: stock/models.py:2439 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2448 +#: stock/models.py:2443 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2453 +#: stock/models.py:2448 msgid "Invalid value for this test" msgstr "" -#: stock/models.py:2538 +#: stock/models.py:2533 msgid "Test result" msgstr "" -#: stock/models.py:2545 +#: stock/models.py:2540 msgid "Test output value" msgstr "" -#: stock/models.py:2553 stock/serializers.py:245 +#: stock/models.py:2548 stock/serializers.py:245 msgid "Test result attachment" msgstr "" -#: stock/models.py:2557 +#: stock/models.py:2552 msgid "Test notes" msgstr "" -#: stock/models.py:2565 templates/js/translated/stock.js:1633 +#: stock/models.py:2560 templates/js/translated/stock.js:1633 msgid "Test station" msgstr "" -#: stock/models.py:2566 +#: stock/models.py:2561 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2572 +#: stock/models.py:2567 msgid "Started" msgstr "" -#: stock/models.py:2573 +#: stock/models.py:2568 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2579 +#: stock/models.py:2574 msgid "Finished" msgstr "" -#: stock/models.py:2580 +#: stock/models.py:2575 msgid "The timestamp of the test finish" msgstr "" @@ -10059,7 +10124,7 @@ msgstr "" msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:459 stock/templates/stock/item_base.html:193 +#: stock/serializers.py:459 stock/templates/stock/item_base.html:189 msgid "Parent Item" msgstr "" @@ -10071,7 +10136,7 @@ msgstr "" msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:603 stock/templates/stock/item_base.html:437 +#: stock/serializers.py:603 stock/templates/stock/item_base.html:433 #: templates/js/translated/table_filters.js:442 users/models.py:174 msgid "Expired" msgstr "" @@ -10410,7 +10475,7 @@ msgstr "" msgid "Test Data" msgstr "" -#: stock/templates/stock/item.html:85 stock/templates/stock/item_base.html:65 +#: stock/templates/stock/item.html:85 msgid "Test Report" msgstr "" @@ -10450,200 +10515,204 @@ msgstr "" msgid "Scan to Location" msgstr "" -#: stock/templates/stock/item_base.html:59 +#: stock/templates/stock/item_base.html:58 #: stock/templates/stock/location.html:67 #: templates/js/translated/filters.js:434 msgid "Printing actions" msgstr "" -#: stock/templates/stock/item_base.html:75 +#: stock/templates/stock/item_base.html:63 templates/js/translated/report.js:49 +msgid "Print Report" +msgstr "" + +#: stock/templates/stock/item_base.html:71 msgid "Stock adjustment actions" msgstr "" -#: stock/templates/stock/item_base.html:79 +#: stock/templates/stock/item_base.html:75 #: stock/templates/stock/location.html:87 templates/js/translated/stock.js:1909 msgid "Count stock" msgstr "" -#: stock/templates/stock/item_base.html:81 +#: stock/templates/stock/item_base.html:77 #: templates/js/translated/stock.js:1891 msgid "Add stock" msgstr "" -#: stock/templates/stock/item_base.html:82 +#: stock/templates/stock/item_base.html:78 #: templates/js/translated/stock.js:1900 msgid "Remove stock" msgstr "" -#: stock/templates/stock/item_base.html:85 +#: stock/templates/stock/item_base.html:81 msgid "Serialize stock" msgstr "" -#: stock/templates/stock/item_base.html:88 +#: stock/templates/stock/item_base.html:84 #: stock/templates/stock/location.html:93 templates/js/translated/stock.js:1918 msgid "Transfer stock" msgstr "" -#: stock/templates/stock/item_base.html:91 +#: stock/templates/stock/item_base.html:87 #: templates/js/translated/stock.js:1973 msgid "Assign to customer" msgstr "" -#: stock/templates/stock/item_base.html:94 +#: stock/templates/stock/item_base.html:90 msgid "Return to stock" msgstr "" -#: stock/templates/stock/item_base.html:97 +#: stock/templates/stock/item_base.html:93 msgid "Uninstall stock item" msgstr "" -#: stock/templates/stock/item_base.html:97 +#: stock/templates/stock/item_base.html:93 msgid "Uninstall" msgstr "" -#: stock/templates/stock/item_base.html:101 +#: stock/templates/stock/item_base.html:97 msgid "Install stock item" msgstr "" -#: stock/templates/stock/item_base.html:101 +#: stock/templates/stock/item_base.html:97 msgid "Install" msgstr "" -#: stock/templates/stock/item_base.html:115 +#: stock/templates/stock/item_base.html:111 msgid "Convert to variant" msgstr "" -#: stock/templates/stock/item_base.html:118 +#: stock/templates/stock/item_base.html:114 msgid "Duplicate stock item" msgstr "" -#: stock/templates/stock/item_base.html:120 +#: stock/templates/stock/item_base.html:116 msgid "Edit stock item" msgstr "" -#: stock/templates/stock/item_base.html:123 +#: stock/templates/stock/item_base.html:119 msgid "Delete stock item" msgstr "" -#: stock/templates/stock/item_base.html:169 templates/InvenTree/search.html:139 +#: stock/templates/stock/item_base.html:165 templates/InvenTree/search.html:139 #: templates/js/translated/build.js:2298 templates/navbar.html:38 msgid "Build" msgstr "Sestavení" -#: stock/templates/stock/item_base.html:211 +#: stock/templates/stock/item_base.html:207 msgid "No manufacturer set" msgstr "" -#: stock/templates/stock/item_base.html:251 +#: stock/templates/stock/item_base.html:247 msgid "You are not in the list of owners of this item. This stock item cannot be edited." msgstr "" -#: stock/templates/stock/item_base.html:252 +#: stock/templates/stock/item_base.html:248 #: stock/templates/stock/location.html:146 msgid "Read only" msgstr "" -#: stock/templates/stock/item_base.html:265 +#: stock/templates/stock/item_base.html:261 msgid "This stock item is unavailable" msgstr "" -#: stock/templates/stock/item_base.html:271 +#: stock/templates/stock/item_base.html:267 msgid "This stock item is in production and cannot be edited." msgstr "" -#: stock/templates/stock/item_base.html:272 +#: stock/templates/stock/item_base.html:268 msgid "Edit the stock item from the build view." msgstr "" -#: stock/templates/stock/item_base.html:287 +#: stock/templates/stock/item_base.html:283 msgid "This stock item is allocated to Sales Order" msgstr "" -#: stock/templates/stock/item_base.html:295 +#: stock/templates/stock/item_base.html:291 msgid "This stock item is allocated to Build Order" msgstr "" -#: stock/templates/stock/item_base.html:311 +#: stock/templates/stock/item_base.html:307 msgid "This stock item is serialized. It has a unique serial number and the quantity cannot be adjusted" msgstr "" -#: stock/templates/stock/item_base.html:317 +#: stock/templates/stock/item_base.html:313 msgid "previous page" msgstr "" -#: stock/templates/stock/item_base.html:317 +#: stock/templates/stock/item_base.html:313 msgid "Navigate to previous serial number" msgstr "" -#: stock/templates/stock/item_base.html:326 +#: stock/templates/stock/item_base.html:322 msgid "next page" msgstr "" -#: stock/templates/stock/item_base.html:326 +#: stock/templates/stock/item_base.html:322 msgid "Navigate to next serial number" msgstr "" -#: stock/templates/stock/item_base.html:398 +#: stock/templates/stock/item_base.html:394 #: templates/js/translated/build.js:2555 msgid "No location set" msgstr "" -#: stock/templates/stock/item_base.html:413 +#: stock/templates/stock/item_base.html:409 msgid "Tests" msgstr "" -#: stock/templates/stock/item_base.html:419 +#: stock/templates/stock/item_base.html:415 msgid "This stock item has not passed all required tests" msgstr "" -#: stock/templates/stock/item_base.html:437 +#: stock/templates/stock/item_base.html:433 #, python-format msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:439 +#: stock/templates/stock/item_base.html:435 #, python-format msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:455 +#: stock/templates/stock/item_base.html:451 msgid "No stocktake performed" msgstr "" -#: stock/templates/stock/item_base.html:504 +#: stock/templates/stock/item_base.html:500 #: templates/js/translated/stock.js:2038 msgid "stock item" msgstr "" -#: stock/templates/stock/item_base.html:527 +#: stock/templates/stock/item_base.html:523 msgid "Edit Stock Status" msgstr "" -#: stock/templates/stock/item_base.html:536 +#: stock/templates/stock/item_base.html:532 msgid "Stock Item QR Code" msgstr "" -#: stock/templates/stock/item_base.html:547 +#: stock/templates/stock/item_base.html:543 msgid "Link Barcode to Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:611 +#: stock/templates/stock/item_base.html:607 msgid "Select one of the part variants listed below." msgstr "" -#: stock/templates/stock/item_base.html:614 +#: stock/templates/stock/item_base.html:610 msgid "Warning" msgstr "" -#: stock/templates/stock/item_base.html:615 +#: stock/templates/stock/item_base.html:611 msgid "This action cannot be easily undone" msgstr "" -#: stock/templates/stock/item_base.html:623 +#: stock/templates/stock/item_base.html:619 msgid "Convert Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:656 +#: stock/templates/stock/item_base.html:652 msgid "Return to Stock" msgstr "" @@ -11310,7 +11379,7 @@ msgid "Delete Location Type" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:503 -#: templates/InvenTree/settings/stock.html:38 +#: templates/InvenTree/settings/stock.html:39 msgid "New Location Type" msgstr "" @@ -11367,7 +11436,7 @@ msgstr "" msgid "Stock Settings" msgstr "" -#: templates/InvenTree/settings/stock.html:34 +#: templates/InvenTree/settings/stock.html:35 msgid "Stock Location Types" msgstr "" @@ -11852,23 +11921,23 @@ msgstr "" msgid "Barcode Identifier" msgstr "" -#: templates/base.html:103 +#: templates/base.html:102 msgid "Server Restart Required" msgstr "" -#: templates/base.html:106 +#: templates/base.html:105 msgid "A configuration option has been changed which requires a server restart" msgstr "" -#: templates/base.html:106 templates/base.html:116 +#: templates/base.html:105 templates/base.html:115 msgid "Contact your system administrator for further information" msgstr "" -#: templates/base.html:113 +#: templates/base.html:112 msgid "Pending Database Migrations" msgstr "" -#: templates/base.html:116 +#: templates/base.html:115 msgid "There are pending database migrations which require attention" msgstr "" @@ -13946,10 +14015,6 @@ msgstr "" msgid "Delete line item" msgstr "" -#: templates/js/translated/report.js:49 -msgid "Print Report" -msgstr "" - #: templates/js/translated/report.js:68 msgid "Report print successful" msgstr "" diff --git a/src/backend/InvenTree/locale/da/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/da/LC_MESSAGES/django.po index 359919577bb7..9f5bc21dccd8 100644 --- a/src/backend/InvenTree/locale/da/LC_MESSAGES/django.po +++ b/src/backend/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: 2024-08-29 07:07+0000\n" -"PO-Revision-Date: 2024-08-29 07:10\n" +"POT-Creation-Date: 2024-09-16 00:37+0000\n" +"PO-Revision-Date: 2024-09-16 00:40\n" "Last-Translator: \n" "Language-Team: Danish\n" "Language: da_DK\n" @@ -65,9 +65,9 @@ msgstr "Angiv dato" #: 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:59 -#: part/models.py:3309 part/templates/part/part_sidebar.html:65 +#: part/models.py:3296 part/templates/part/part_sidebar.html:65 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/admin.py:231 stock/models.py:2369 stock/models.py:2557 +#: stock/admin.py:231 stock/models.py:2367 stock/models.py:2552 #: stock/serializers.py:705 stock/serializers.py:863 stock/serializers.py:989 #: stock/serializers.py:1039 stock/serializers.py:1350 #: stock/serializers.py:1439 stock/serializers.py:1604 @@ -364,7 +364,7 @@ msgstr "Kinesisk (traditionelt)" msgid "[{site_name}] Log in to the app" msgstr "" -#: InvenTree/magic_login.py:38 InvenTree/serializers.py:413 +#: InvenTree/magic_login.py:38 InvenTree/serializers.py:416 #: company/models.py:133 company/templates/company/company_base.html:138 #: templates/InvenTree/settings/user.html:49 #: templates/js/translated/company.js:677 @@ -419,9 +419,9 @@ msgstr "" msgid "Invalid choice" msgstr "Ugyldigt valg" -#: InvenTree/models.py:767 common/models.py:2704 common/models.py:3131 -#: common/models.py:3351 common/serializers.py:439 company/models.py:590 -#: machine/models.py:24 part/models.py:995 part/models.py:3776 +#: InvenTree/models.py:767 common/models.py:2705 common/models.py:3132 +#: common/models.py:3352 common/serializers.py:455 company/models.py:590 +#: machine/models.py:24 part/models.py:995 part/models.py:3763 #: plugin/models.py:51 report/models.py:149 stock/models.py:82 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -446,10 +446,10 @@ msgstr "Navn" #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 order/models.py:289 #: order/models.py:1406 part/admin.py:305 part/admin.py:411 part/models.py:1018 -#: part/models.py:3791 part/templates/part/category.html:79 +#: part/models.py:3778 part/templates/part/category.html:79 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:155 -#: report/models.py:509 report/models.py:535 +#: report/models.py:517 report/models.py:543 #: report/templates/report/inventree_build_order_report.html:117 #: stock/admin.py:54 stock/models.py:88 stock/templates/stock/location.html:122 #: templates/InvenTree/settings/notifications.html:19 @@ -517,12 +517,12 @@ msgstr "Serverfejl" msgid "An error has been logged by the server." msgstr "En fejl blev logget af serveren." -#: InvenTree/serializers.py:63 part/models.py:4400 +#: InvenTree/serializers.py:63 part/models.py:4387 msgid "Must be a valid number" msgstr "Skal være et gyldigt tal" #: InvenTree/serializers.py:100 company/models.py:183 -#: company/templates/company/company_base.html:112 part/models.py:3127 +#: company/templates/company/company_base.html:112 part/models.py:3114 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -536,43 +536,43 @@ msgstr "Vælg valuta fra tilgængelige muligheder" msgid "Username" msgstr "" -#: InvenTree/serializers.py:407 templates/InvenTree/settings/user.html:37 +#: InvenTree/serializers.py:408 templates/InvenTree/settings/user.html:37 msgid "First Name" msgstr "" -#: InvenTree/serializers.py:407 +#: InvenTree/serializers.py:408 msgid "First name of the user" msgstr "" -#: InvenTree/serializers.py:410 templates/InvenTree/settings/user.html:41 +#: InvenTree/serializers.py:412 templates/InvenTree/settings/user.html:41 msgid "Last Name" msgstr "" -#: InvenTree/serializers.py:410 +#: InvenTree/serializers.py:412 msgid "Last name of the user" msgstr "" -#: InvenTree/serializers.py:413 +#: InvenTree/serializers.py:416 msgid "Email address of the user" msgstr "" -#: InvenTree/serializers.py:438 +#: InvenTree/serializers.py:441 msgid "Staff" msgstr "" -#: InvenTree/serializers.py:438 +#: InvenTree/serializers.py:441 msgid "Does this user have staff permissions" msgstr "" -#: InvenTree/serializers.py:441 +#: InvenTree/serializers.py:445 msgid "Superuser" msgstr "" -#: InvenTree/serializers.py:441 +#: InvenTree/serializers.py:445 msgid "Is this user a superuser" msgstr "" -#: InvenTree/serializers.py:444 common/models.py:2709 company/models.py:160 +#: InvenTree/serializers.py:449 common/models.py:2710 company/models.py:160 #: company/models.py:798 machine/models.py:39 part/admin.py:88 #: part/models.py:1201 plugin/models.py:66 #: templates/js/translated/company.js:523 @@ -585,89 +585,89 @@ msgstr "" msgid "Active" msgstr "" -#: InvenTree/serializers.py:444 +#: InvenTree/serializers.py:449 msgid "Is this user account active" msgstr "" -#: InvenTree/serializers.py:462 +#: InvenTree/serializers.py:467 msgid "You do not have permission to change this user role." msgstr "Du har ikke tilladelse til at ændre denne brugerrolle." -#: InvenTree/serializers.py:474 +#: InvenTree/serializers.py:503 msgid "Only superusers can create new users" msgstr "Kun superbrugere kan oprette nye brugere" -#: InvenTree/serializers.py:493 +#: InvenTree/serializers.py:522 msgid "Your account has been created." msgstr "" -#: InvenTree/serializers.py:495 +#: InvenTree/serializers.py:524 msgid "Please use the password reset function to login" msgstr "" -#: InvenTree/serializers.py:502 +#: InvenTree/serializers.py:531 msgid "Welcome to InvenTree" msgstr "" -#: InvenTree/serializers.py:560 +#: InvenTree/serializers.py:589 msgid "Invalid value" msgstr "Ugyldig værdi" -#: InvenTree/serializers.py:580 importer/models.py:64 +#: InvenTree/serializers.py:609 importer/models.py:64 msgid "Data File" msgstr "Datafil" -#: InvenTree/serializers.py:581 +#: InvenTree/serializers.py:610 msgid "Select data file for upload" msgstr "Vælg datafilen til upload" -#: InvenTree/serializers.py:598 +#: InvenTree/serializers.py:627 msgid "Unsupported file type" msgstr "Filtype ikke understøttet" -#: InvenTree/serializers.py:604 +#: InvenTree/serializers.py:633 msgid "File is too large" msgstr "Filen er for stor" -#: InvenTree/serializers.py:625 +#: InvenTree/serializers.py:654 msgid "No columns found in file" msgstr "Ingen kolonner fundet i fil" -#: InvenTree/serializers.py:628 +#: InvenTree/serializers.py:657 msgid "No data rows found in file" msgstr "Ingen datarækker fundet i fil" -#: InvenTree/serializers.py:740 +#: InvenTree/serializers.py:769 msgid "No data rows provided" msgstr "Ingen data-rækker angivet" -#: InvenTree/serializers.py:743 +#: InvenTree/serializers.py:772 msgid "No data columns supplied" msgstr "Ingen data-kolonner angivet" -#: InvenTree/serializers.py:809 +#: InvenTree/serializers.py:838 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "Mangler påkrævet kolonne: '{name}'" -#: InvenTree/serializers.py:818 +#: InvenTree/serializers.py:847 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "Duplikeret kolonne: '{col}'" -#: InvenTree/serializers.py:857 +#: InvenTree/serializers.py:886 msgid "Remote Image" msgstr "Eksternt billede" -#: InvenTree/serializers.py:858 +#: InvenTree/serializers.py:887 msgid "URL of remote image file" msgstr "URL til ekstern billedfil" -#: InvenTree/serializers.py:876 +#: InvenTree/serializers.py:905 msgid "Downloading images from remote URL is not enabled" msgstr "Download af billeder fra ekstern URL er ikke aktiveret" -#: InvenTree/status.py:65 part/serializers.py:1267 +#: InvenTree/status.py:65 part/serializers.py:1265 msgid "Background worker check failed" msgstr "Kontrol af baggrundstjeneste mislykkedes" @@ -759,7 +759,7 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "Produktion skal anulleres, før den kan slettes" -#: build/api.py:319 build/serializers.py:1332 part/models.py:4278 +#: build/api.py:319 build/serializers.py:1332 part/models.py:4265 #: templates/js/translated/bom.js:997 templates/js/translated/bom.js:1037 #: templates/js/translated/build.js:2705 #: templates/js/translated/table_filters.js:197 @@ -767,7 +767,7 @@ msgstr "Produktion skal anulleres, før den kan slettes" msgid "Consumable" msgstr "Forbrugsvare" -#: build/api.py:320 build/serializers.py:1333 part/models.py:4272 +#: build/api.py:320 build/serializers.py:1333 part/models.py:4259 #: part/templates/part/upload_bom.html:58 templates/js/translated/bom.js:1001 #: templates/js/translated/bom.js:1028 templates/js/translated/build.js:2696 #: templates/js/translated/table_filters.js:193 @@ -777,7 +777,7 @@ msgid "Optional" msgstr "Valgfri" #: build/api.py:321 common/models.py:1491 part/admin.py:91 part/admin.py:428 -#: part/models.py:1166 part/serializers.py:1596 +#: part/models.py:1166 part/serializers.py:1594 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:337 #: templates/js/translated/table_filters.js:729 @@ -816,7 +816,7 @@ msgstr "Allokeret" msgid "Available" msgstr "Tilgængelig" -#: build/models.py:87 build/templates/build/build_base.html:9 +#: build/models.py:88 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_report.html:105 #: stock/serializers.py:85 templates/email/build_order_completed.html:16 @@ -825,7 +825,7 @@ msgstr "Tilgængelig" msgid "Build Order" msgstr "Produktionsordre" -#: build/models.py:88 build/templates/build/build_base.html:13 +#: build/models.py:89 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:111 #: order/templates/order/so_sidebar.html:13 @@ -866,7 +866,7 @@ msgstr "Produktionsordre reference" #: build/models.py:243 build/serializers.py:1331 order/models.py:468 #: order/models.py:979 order/models.py:1366 order/models.py:2128 -#: part/admin.py:414 part/models.py:4293 part/templates/part/upload_bom.html:54 +#: part/admin.py:414 part/models.py:4280 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 @@ -892,11 +892,11 @@ msgstr "Produktionsordre som er tildelt denne produktion" #: build/templates/build/build_base.html:105 #: build/templates/build/detail.html:29 company/models.py:1043 order/api.py:761 #: order/models.py:1496 order/models.py:1651 order/models.py:1652 -#: part/api.py:1506 part/api.py:1806 part/models.py:419 part/models.py:3138 -#: part/models.py:3282 part/models.py:3430 part/models.py:3451 -#: part/models.py:3473 part/models.py:3609 part/models.py:3951 -#: part/models.py:4114 part/models.py:4244 part/models.py:4602 -#: part/serializers.py:1213 part/serializers.py:1857 +#: part/api.py:1506 part/api.py:1806 part/models.py:419 part/models.py:3125 +#: part/models.py:3269 part/models.py:3417 part/models.py:3438 +#: part/models.py:3460 part/models.py:3596 part/models.py:3938 +#: part/models.py:4101 part/models.py:4231 part/models.py:4595 +#: part/serializers.py:1211 part/serializers.py:1855 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -1063,12 +1063,12 @@ msgstr "Bruger eller gruppe ansvarlig for denne byggeordre" #: order/templates/order/return_order_base.html:148 #: order/templates/order/sales_order_base.html:187 #: part/templates/part/part_base.html:399 stock/models.py:859 -#: stock/templates/stock/item_base.html:200 +#: stock/templates/stock/item_base.html:196 #: templates/js/translated/company.js:1019 msgid "External Link" msgstr "Ekstern link" -#: build/models.py:378 common/models.py:3272 part/models.py:1070 +#: build/models.py:378 common/models.py:3273 part/models.py:1070 #: stock/models.py:859 msgid "Link to external URL" msgstr "Link til ekstern URL" @@ -1110,7 +1110,7 @@ msgstr "Bygningsordre {build} er fuldført" msgid "A build order has been completed" msgstr "En byggeordre er fuldført" -#: build/models.py:968 build/models.py:1056 +#: build/models.py:968 build/models.py:1057 msgid "No build output specified" msgstr "" @@ -1122,37 +1122,37 @@ msgstr "" msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:1060 build/serializers.py:279 build/serializers.py:328 +#: build/models.py:1061 build/serializers.py:279 build/serializers.py:328 #: build/serializers.py:959 order/models.py:565 order/serializers.py:500 -#: order/serializers.py:666 part/serializers.py:1590 part/serializers.py:2019 +#: order/serializers.py:666 part/serializers.py:1588 part/serializers.py:2017 #: stock/models.py:704 stock/models.py:1515 stock/serializers.py:676 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:1065 build/serializers.py:284 +#: build/models.py:1066 build/serializers.py:284 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1125 build/serializers.py:607 +#: build/models.py:1126 build/serializers.py:607 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "" -#: build/models.py:1466 +#: build/models.py:1477 msgid "Build Order Line Item" msgstr "" -#: build/models.py:1491 +#: build/models.py:1502 msgid "Build object" msgstr "" -#: build/models.py:1505 build/models.py:1761 build/serializers.py:266 +#: build/models.py:1516 build/models.py:1775 build/serializers.py:266 #: build/serializers.py:313 build/serializers.py:1339 #: build/templates/build/build_base.html:110 -#: build/templates/build/detail.html:34 common/models.py:2581 +#: build/templates/build/detail.html:34 common/models.py:2582 #: order/models.py:1349 order/models.py:2034 order/serializers.py:1464 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:413 -#: part/forms.py:48 part/models.py:3296 part/models.py:4266 +#: part/forms.py:48 part/models.py:3283 part/models.py:4253 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1163,9 +1163,9 @@ msgstr "" #: report/templates/report/inventree_test_report.html:90 #: report/templates/report/inventree_test_report.html:169 stock/admin.py:160 #: stock/serializers.py:128 stock/serializers.py:168 stock/serializers.py:667 -#: stock/templates/stock/item_base.html:287 -#: stock/templates/stock/item_base.html:295 -#: stock/templates/stock/item_base.html:342 +#: stock/templates/stock/item_base.html:283 +#: stock/templates/stock/item_base.html:291 +#: stock/templates/stock/item_base.html:338 #: templates/email/build_order_completed.html:18 #: templates/js/translated/barcode.js:579 templates/js/translated/bom.js:771 #: templates/js/translated/bom.js:981 templates/js/translated/build.js:525 @@ -1194,41 +1194,41 @@ msgstr "" msgid "Quantity" msgstr "" -#: build/models.py:1506 +#: build/models.py:1517 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1586 +#: build/models.py:1597 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1595 +#: build/models.py:1606 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1605 order/models.py:1985 +#: build/models.py:1616 order/models.py:1985 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1611 order/models.py:1988 +#: build/models.py:1622 order/models.py:1988 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1617 +#: build/models.py:1628 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1676 +#: build/models.py:1687 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1748 build/serializers.py:939 order/serializers.py:1301 +#: build/models.py:1762 build/serializers.py:939 order/serializers.py:1301 #: order/serializers.py:1322 stock/models.py:381 stock/serializers.py:94 #: stock/serializers.py:770 stock/serializers.py:1288 stock/serializers.py:1400 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 -#: stock/templates/stock/item_base.html:194 +#: stock/templates/stock/item_base.html:190 #: templates/js/translated/build.js:1921 #: templates/js/translated/sales_order.js:301 #: templates/js/translated/sales_order.js:1234 @@ -1241,19 +1241,19 @@ msgstr "" msgid "Stock Item" msgstr "" -#: build/models.py:1749 +#: build/models.py:1763 msgid "Source stock item" msgstr "" -#: build/models.py:1762 +#: build/models.py:1776 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1770 +#: build/models.py:1784 msgid "Install into" msgstr "" -#: build/models.py:1771 +#: build/models.py:1785 msgid "Destination stock item" msgstr "" @@ -1262,7 +1262,7 @@ msgid "Build Level" msgstr "" #: build/serializers.py:115 build/serializers.py:1234 build/serializers.py:1323 -#: part/admin.py:41 part/admin.py:408 part/models.py:4116 part/stocktake.py:219 +#: part/admin.py:41 part/admin.py:408 part/models.py:4103 part/stocktake.py:219 #: stock/admin.py:157 msgid "Part Name" msgstr "" @@ -1323,10 +1323,10 @@ msgid "Enter serial numbers for build outputs" msgstr "" #: build/serializers.py:359 build/serializers.py:500 build/serializers.py:572 -#: order/serializers.py:655 order/serializers.py:778 order/serializers.py:1789 -#: part/serializers.py:1233 stock/serializers.py:103 stock/serializers.py:698 +#: order/serializers.py:655 order/serializers.py:778 order/serializers.py:1797 +#: part/serializers.py:1231 stock/serializers.py:103 stock/serializers.py:698 #: stock/serializers.py:858 stock/serializers.py:984 stock/serializers.py:1432 -#: stock/serializers.py:1688 stock/templates/stock/item_base.html:394 +#: stock/serializers.py:1688 stock/templates/stock/item_base.html:390 #: templates/js/translated/barcode.js:578 #: templates/js/translated/barcode.js:826 templates/js/translated/build.js:1035 #: templates/js/translated/build.js:1177 templates/js/translated/build.js:2547 @@ -1390,7 +1390,7 @@ msgstr "" #: build/templates/build/detail.html:62 order/models.py:477 #: order/models.py:1003 order/models.py:2152 order/serializers.py:687 #: stock/admin.py:165 stock/serializers.py:1035 stock/serializers.py:1576 -#: stock/templates/stock/item_base.html:427 +#: stock/templates/stock/item_base.html:423 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2366 #: templates/js/translated/purchase_order.js:1371 #: templates/js/translated/purchase_order.js:1792 @@ -1522,7 +1522,7 @@ msgstr "" msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:1030 order/serializers.py:1614 +#: build/serializers.py:1030 order/serializers.py:1622 msgid "Allocation items must be provided" msgstr "" @@ -1590,7 +1590,7 @@ msgstr "" #: build/serializers.py:1230 company/models.py:849 #: company/templates/company/supplier_part.html:160 order/serializers.py:691 #: stock/admin.py:229 stock/models.py:822 stock/serializers.py:1586 -#: stock/templates/stock/item_base.html:240 +#: stock/templates/stock/item_base.html:236 #: templates/js/translated/company.js:1646 #: templates/js/translated/purchase_order.js:1169 #: templates/js/translated/purchase_order.js:1332 @@ -1600,12 +1600,12 @@ msgid "Packaging" msgstr "" #: build/serializers.py:1233 part/admin.py:39 part/admin.py:398 -#: part/models.py:4115 part/stocktake.py:218 stock/admin.py:153 +#: part/models.py:4102 part/stocktake.py:218 stock/admin.py:153 msgid "Part ID" msgstr "" #: build/serializers.py:1235 build/serializers.py:1324 part/admin.py:402 -#: part/models.py:4117 +#: part/models.py:4104 msgid "Part IPN" msgstr "" @@ -1625,7 +1625,7 @@ msgstr "" #: build/serializers.py:1243 #: report/templates/report/inventree_return_order_report.html:25 #: report/templates/report/inventree_test_report.html:88 stock/models.py:849 -#: stock/serializers.py:152 stock/templates/stock/item_base.html:311 +#: stock/serializers.py:152 stock/templates/stock/item_base.html:307 #: templates/js/translated/build.js:523 templates/js/translated/build.js:1543 #: templates/js/translated/build.js:2530 #: templates/js/translated/model_renderers.js:231 @@ -1644,7 +1644,7 @@ msgstr "" msgid "Allocated Quantity" msgstr "" -#: build/serializers.py:1257 stock/templates/stock/item_base.html:340 +#: build/serializers.py:1257 stock/templates/stock/item_base.html:336 msgid "Available Quantity" msgstr "" @@ -1667,13 +1667,13 @@ msgstr "" msgid "Inherited" msgstr "" -#: build/serializers.py:1337 part/models.py:4326 +#: build/serializers.py:1337 part/models.py:4313 #: part/templates/part/upload_bom.html:56 templates/js/translated/bom.js:1046 #: templates/js/translated/build.js:2714 msgid "Allow Variants" msgstr "" -#: build/serializers.py:1341 part/models.py:4124 part/models.py:4594 +#: build/serializers.py:1341 part/models.py:4111 part/models.py:4587 #: stock/api.py:793 msgid "BOM Item" msgstr "" @@ -1684,7 +1684,7 @@ msgid "Allocated Stock" msgstr "" #: build/serializers.py:1355 order/serializers.py:1179 part/admin.py:132 -#: part/bom.py:186 part/serializers.py:920 part/serializers.py:1623 +#: part/bom.py:186 part/serializers.py:918 part/serializers.py:1621 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 #: templates/js/translated/build.js:2807 templates/js/translated/part.js:712 #: templates/js/translated/part.js:2155 @@ -1692,13 +1692,13 @@ msgstr "" msgid "On Order" msgstr "" -#: build/serializers.py:1360 order/serializers.py:1180 part/serializers.py:1625 +#: build/serializers.py:1360 order/serializers.py:1180 part/serializers.py:1623 #: templates/js/translated/build.js:2811 #: templates/js/translated/table_filters.js:367 msgid "In Production" msgstr "" -#: build/serializers.py:1365 part/bom.py:185 part/serializers.py:1650 +#: build/serializers.py:1365 part/bom.py:185 part/serializers.py:1648 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" @@ -1716,7 +1716,7 @@ msgstr "" msgid "Total Available Stock" msgstr "" -#: build/serializers.py:1372 part/serializers.py:927 +#: build/serializers.py:1372 part/serializers.py:925 msgid "External Stock" msgstr "" @@ -1745,7 +1745,7 @@ msgstr "Annulleret" #: importer/status_codes.py:27 order/status_codes.py:15 #: order/status_codes.py:50 order/status_codes.py:81 #: order/templates/order/order_base.html:163 -#: order/templates/order/sales_order_base.html:168 report/models.py:443 +#: order/templates/order/sales_order_base.html:168 report/models.py:451 msgid "Complete" msgstr "Fuldført" @@ -1849,9 +1849,6 @@ msgid "Delete Build" msgstr "" #: build/templates/build/build_base.html:87 -msgid "Isueue Build" -msgstr "" - #: build/templates/build/build_base.html:88 msgid "Issue Build" msgstr "" @@ -1931,7 +1928,7 @@ msgstr "" #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_report.html:135 #: report/templates/report/inventree_sales_order_report.html:14 -#: stock/templates/stock/item_base.html:369 +#: stock/templates/stock/item_base.html:365 #: templates/email/overdue_sales_order.html:15 #: templates/js/translated/pricing.js:929 #: templates/js/translated/sales_order.js:805 @@ -1991,7 +1988,7 @@ msgid "Allocated Parts" msgstr "" #: build/templates/build/detail.html:80 stock/admin.py:163 -#: stock/templates/stock/item_base.html:162 +#: stock/templates/stock/item_base.html:158 #: templates/js/translated/build.js:1556 #: templates/js/translated/model_renderers.js:242 #: templates/js/translated/purchase_order.js:1326 @@ -2148,19 +2145,19 @@ msgstr "" msgid "Test Statistics" msgstr "" -#: common/api.py:692 +#: common/api.py:725 msgid "Is Link" msgstr "" -#: common/api.py:700 +#: common/api.py:733 msgid "Is File" msgstr "" -#: common/api.py:743 +#: common/api.py:776 msgid "User does not have permission to delete these attachments" msgstr "" -#: common/api.py:760 +#: common/api.py:793 msgid "User does not have permission to delete this attachment" msgstr "" @@ -2352,8 +2349,8 @@ msgstr "" #: common/models.py:1297 common/models.py:1353 common/models.py:1366 #: common/models.py:1374 common/models.py:1383 common/models.py:1392 -#: common/models.py:1629 common/models.py:1651 common/models.py:1766 -#: common/models.py:2148 +#: common/models.py:1629 common/models.py:1651 common/models.py:1752 +#: common/models.py:2141 msgid "days" msgstr "" @@ -2581,9 +2578,9 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1485 part/admin.py:108 part/models.py:3959 -#: report/models.py:293 report/models.py:360 report/serializers.py:90 -#: report/serializers.py:131 stock/serializers.py:233 +#: common/models.py:1485 part/admin.py:108 part/models.py:3946 +#: report/models.py:301 report/models.py:368 report/serializers.py:91 +#: report/serializers.py:132 stock/serializers.py:233 #: templates/js/translated/table_filters.js:138 #: templates/js/translated/table_filters.js:775 msgid "Template" @@ -2598,7 +2595,7 @@ msgid "Parts can be assembled from other components by default" msgstr "" #: common/models.py:1497 part/admin.py:95 part/models.py:1172 -#: part/serializers.py:1617 templates/js/translated/table_filters.js:737 +#: part/serializers.py:1615 templates/js/translated/table_filters.js:737 msgid "Component" msgstr "" @@ -2823,7 +2820,7 @@ msgid "Log errors which occur when generating reports" msgstr "" #: common/models.py:1702 plugin/builtin/labels/label_sheet.py:28 -#: report/models.py:301 +#: report/models.py:309 msgid "Page Size" msgstr "" @@ -2832,914 +2829,914 @@ msgid "Default page size for PDF reports" msgstr "" #: common/models.py:1708 -msgid "Enable Test Reports" -msgstr "" - -#: common/models.py:1709 -msgid "Enable generation of test reports" -msgstr "" - -#: common/models.py:1714 -msgid "Attach Test Reports" -msgstr "" - -#: common/models.py:1716 -msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" -msgstr "" - -#: common/models.py:1722 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1723 +#: common/models.py:1709 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1728 +#: common/models.py:1714 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1729 +#: common/models.py:1715 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1734 +#: common/models.py:1720 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1736 +#: common/models.py:1722 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/models.py:1742 +#: common/models.py:1728 msgid "Batch Code Template" msgstr "" -#: common/models.py:1744 +#: common/models.py:1730 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1749 +#: common/models.py:1735 msgid "Stock Expiry" msgstr "" -#: common/models.py:1750 +#: common/models.py:1736 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1755 +#: common/models.py:1741 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1756 +#: common/models.py:1742 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1761 +#: common/models.py:1747 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1763 +#: common/models.py:1749 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1770 +#: common/models.py:1756 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1771 +#: common/models.py:1757 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1776 +#: common/models.py:1762 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1777 +#: common/models.py:1763 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1782 +#: common/models.py:1768 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1783 +#: common/models.py:1769 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1788 +#: common/models.py:1774 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1789 +#: common/models.py:1775 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1794 +#: common/models.py:1780 msgid "Check BOM when installing items" msgstr "" -#: common/models.py:1796 +#: common/models.py:1782 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/models.py:1802 +#: common/models.py:1788 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/models.py:1804 +#: common/models.py:1790 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/models.py:1810 +#: common/models.py:1796 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1812 +#: common/models.py:1798 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1818 common/models.py:1874 common/models.py:1896 -#: common/models.py:1932 +#: common/models.py:1804 common/models.py:1860 common/models.py:1882 +#: common/models.py:1918 msgid "Require Responsible Owner" msgstr "" -#: common/models.py:1819 common/models.py:1875 common/models.py:1897 -#: common/models.py:1933 +#: common/models.py:1805 common/models.py:1861 common/models.py:1883 +#: common/models.py:1919 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/models.py:1824 +#: common/models.py:1810 msgid "Require Active Part" msgstr "" -#: common/models.py:1825 +#: common/models.py:1811 msgid "Prevent build order creation for inactive parts" msgstr "" -#: common/models.py:1830 +#: common/models.py:1816 msgid "Require Locked Part" msgstr "" -#: common/models.py:1831 +#: common/models.py:1817 msgid "Prevent build order creation for unlocked parts" msgstr "" -#: common/models.py:1836 +#: common/models.py:1822 msgid "Require Valid BOM" msgstr "" -#: common/models.py:1838 +#: common/models.py:1824 msgid "Prevent build order creation unless BOM has been validated" msgstr "" -#: common/models.py:1844 +#: common/models.py:1830 msgid "Require Closed Child Orders" msgstr "" -#: common/models.py:1846 +#: common/models.py:1832 msgid "Prevent build order completion until all child orders are closed" msgstr "" -#: common/models.py:1852 +#: common/models.py:1838 msgid "Block Until Tests Pass" msgstr "" -#: common/models.py:1854 +#: common/models.py:1840 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "" -#: common/models.py:1860 +#: common/models.py:1846 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1861 +#: common/models.py:1847 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1866 +#: common/models.py:1852 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1868 +#: common/models.py:1854 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1880 +#: common/models.py:1866 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1882 +#: common/models.py:1868 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1888 +#: common/models.py:1874 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1890 +#: common/models.py:1876 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1902 +#: common/models.py:1888 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1903 +#: common/models.py:1889 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1908 +#: common/models.py:1894 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1910 +#: common/models.py:1896 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1916 +#: common/models.py:1902 msgid "Mark Shipped Orders as Complete" msgstr "" -#: common/models.py:1918 +#: common/models.py:1904 msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status" msgstr "" -#: common/models.py:1924 +#: common/models.py:1910 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1926 +#: common/models.py:1912 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1938 +#: common/models.py:1924 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1940 +#: common/models.py:1926 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1946 +#: common/models.py:1932 msgid "Auto Complete Purchase Orders" msgstr "" -#: common/models.py:1948 +#: common/models.py:1934 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/models.py:1955 +#: common/models.py:1941 msgid "Enable password forgot" msgstr "" -#: common/models.py:1956 +#: common/models.py:1942 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1961 +#: common/models.py:1947 msgid "Enable registration" msgstr "" -#: common/models.py:1962 +#: common/models.py:1948 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1967 +#: common/models.py:1953 msgid "Enable SSO" msgstr "" -#: common/models.py:1968 +#: common/models.py:1954 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1973 +#: common/models.py:1959 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1975 +#: common/models.py:1961 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1981 +#: common/models.py:1967 msgid "Enable SSO group sync" msgstr "" -#: common/models.py:1983 +#: common/models.py:1969 msgid "Enable synchronizing InvenTree groups with groups provided by the IdP" msgstr "" -#: common/models.py:1989 +#: common/models.py:1975 msgid "SSO group key" msgstr "" -#: common/models.py:1991 +#: common/models.py:1977 msgid "The name of the groups claim attribute provided by the IdP" msgstr "" -#: common/models.py:1997 +#: common/models.py:1983 msgid "SSO group map" msgstr "" -#: common/models.py:1999 +#: common/models.py:1985 msgid "A mapping from SSO groups to local InvenTree groups. If the local group does not exist, it will be created." msgstr "" -#: common/models.py:2005 +#: common/models.py:1991 msgid "Remove groups outside of SSO" msgstr "" -#: common/models.py:2007 +#: common/models.py:1993 msgid "Whether groups assigned to the user should be removed if they are not backend by the IdP. Disabling this setting might cause security issues" msgstr "" -#: common/models.py:2013 +#: common/models.py:1999 msgid "Email required" msgstr "" -#: common/models.py:2014 +#: common/models.py:2000 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:2019 +#: common/models.py:2005 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:2021 +#: common/models.py:2007 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:2027 +#: common/models.py:2013 msgid "Mail twice" msgstr "" -#: common/models.py:2028 +#: common/models.py:2014 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:2033 +#: common/models.py:2019 msgid "Password twice" msgstr "" -#: common/models.py:2034 +#: common/models.py:2020 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:2039 +#: common/models.py:2025 msgid "Allowed domains" msgstr "" -#: common/models.py:2041 +#: common/models.py:2027 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:2047 +#: common/models.py:2033 msgid "Group on signup" msgstr "" -#: common/models.py:2049 +#: common/models.py:2035 msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP." msgstr "" -#: common/models.py:2055 +#: common/models.py:2041 msgid "Enforce MFA" msgstr "" -#: common/models.py:2056 +#: common/models.py:2042 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:2061 +#: common/models.py:2047 msgid "Check plugins on startup" msgstr "" -#: common/models.py:2063 +#: common/models.py:2049 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:2071 +#: common/models.py:2057 msgid "Check for plugin updates" msgstr "" -#: common/models.py:2072 +#: common/models.py:2058 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:2078 +#: common/models.py:2064 msgid "Enable URL integration" msgstr "" -#: common/models.py:2079 +#: common/models.py:2065 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:2085 +#: common/models.py:2071 msgid "Enable navigation integration" msgstr "" -#: common/models.py:2086 +#: common/models.py:2072 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:2092 +#: common/models.py:2078 msgid "Enable app integration" msgstr "" -#: common/models.py:2093 +#: common/models.py:2079 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:2099 +#: common/models.py:2085 msgid "Enable schedule integration" msgstr "" -#: common/models.py:2100 +#: common/models.py:2086 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:2106 +#: common/models.py:2092 msgid "Enable event integration" msgstr "" -#: common/models.py:2107 +#: common/models.py:2093 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:2113 +#: common/models.py:2099 +msgid "Enable interface integration" +msgstr "" + +#: common/models.py:2100 +msgid "Enable plugins to integrate into the user interface" +msgstr "" + +#: common/models.py:2106 msgid "Enable project codes" msgstr "" -#: common/models.py:2114 +#: common/models.py:2107 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:2119 +#: common/models.py:2112 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:2121 +#: common/models.py:2114 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:2127 +#: common/models.py:2120 msgid "Exclude External Locations" msgstr "" -#: common/models.py:2129 +#: common/models.py:2122 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/models.py:2135 +#: common/models.py:2128 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:2137 +#: common/models.py:2130 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:2143 +#: common/models.py:2136 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:2145 +#: common/models.py:2138 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:2152 +#: common/models.py:2145 msgid "Display Users full names" msgstr "" -#: common/models.py:2153 +#: common/models.py:2146 msgid "Display Users full names instead of usernames" msgstr "" -#: common/models.py:2158 +#: common/models.py:2151 msgid "Enable Test Station Data" msgstr "" -#: common/models.py:2159 +#: common/models.py:2152 msgid "Enable test station data collection for test results" msgstr "" -#: common/models.py:2171 common/models.py:2551 +#: common/models.py:2157 +msgid "Create Template on Upload" +msgstr "" + +#: common/models.py:2159 +msgid "Create a new test template when uploading test data which does not match an existing template" +msgstr "" + +#: common/models.py:2172 common/models.py:2552 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:2214 +#: common/models.py:2215 msgid "Hide inactive parts" msgstr "" -#: common/models.py:2216 +#: common/models.py:2217 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:2222 +#: common/models.py:2223 msgid "Show subscribed parts" msgstr "" -#: common/models.py:2223 +#: common/models.py:2224 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:2228 +#: common/models.py:2229 msgid "Show subscribed categories" msgstr "" -#: common/models.py:2229 +#: common/models.py:2230 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:2234 +#: common/models.py:2235 msgid "Show latest parts" msgstr "" -#: common/models.py:2235 +#: common/models.py:2236 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:2240 +#: common/models.py:2241 msgid "Show invalid BOMs" msgstr "" -#: common/models.py:2241 +#: common/models.py:2242 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:2246 +#: common/models.py:2247 msgid "Show recent stock changes" msgstr "" -#: common/models.py:2247 +#: common/models.py:2248 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:2252 +#: common/models.py:2253 msgid "Show low stock" msgstr "" -#: common/models.py:2253 +#: common/models.py:2254 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:2258 +#: common/models.py:2259 msgid "Show depleted stock" msgstr "" -#: common/models.py:2259 +#: common/models.py:2260 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:2264 +#: common/models.py:2265 msgid "Show needed stock" msgstr "" -#: common/models.py:2265 +#: common/models.py:2266 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:2270 +#: common/models.py:2271 msgid "Show expired stock" msgstr "" -#: common/models.py:2271 +#: common/models.py:2272 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:2276 +#: common/models.py:2277 msgid "Show stale stock" msgstr "" -#: common/models.py:2277 +#: common/models.py:2278 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:2282 +#: common/models.py:2283 msgid "Show pending builds" msgstr "" -#: common/models.py:2283 +#: common/models.py:2284 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:2288 +#: common/models.py:2289 msgid "Show overdue builds" msgstr "" -#: common/models.py:2289 +#: common/models.py:2290 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:2294 +#: common/models.py:2295 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2295 +#: common/models.py:2296 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2300 +#: common/models.py:2301 msgid "Show overdue POs" msgstr "" -#: common/models.py:2301 +#: common/models.py:2302 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2306 +#: common/models.py:2307 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2307 +#: common/models.py:2308 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2312 +#: common/models.py:2313 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2313 +#: common/models.py:2314 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2318 +#: common/models.py:2319 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2319 +#: common/models.py:2320 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2324 +#: common/models.py:2325 msgid "Show News" msgstr "" -#: common/models.py:2325 +#: common/models.py:2326 msgid "Show news on the homepage" msgstr "" -#: common/models.py:2330 +#: common/models.py:2331 msgid "Inline label display" msgstr "" -#: common/models.py:2332 +#: common/models.py:2333 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2338 +#: common/models.py:2339 msgid "Default label printer" msgstr "" -#: common/models.py:2340 +#: common/models.py:2341 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2346 +#: common/models.py:2347 msgid "Inline report display" msgstr "" -#: common/models.py:2348 +#: common/models.py:2349 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2354 +#: common/models.py:2355 msgid "Search Parts" msgstr "" -#: common/models.py:2355 +#: common/models.py:2356 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2360 +#: common/models.py:2361 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2361 +#: common/models.py:2362 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2366 +#: common/models.py:2367 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2367 +#: common/models.py:2368 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2372 +#: common/models.py:2373 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2373 +#: common/models.py:2374 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2378 +#: common/models.py:2379 msgid "Search Categories" msgstr "" -#: common/models.py:2379 +#: common/models.py:2380 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2384 +#: common/models.py:2385 msgid "Search Stock" msgstr "" -#: common/models.py:2385 +#: common/models.py:2386 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2390 +#: common/models.py:2391 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2392 +#: common/models.py:2393 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2398 +#: common/models.py:2399 msgid "Search Locations" msgstr "" -#: common/models.py:2399 +#: common/models.py:2400 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2404 +#: common/models.py:2405 msgid "Search Companies" msgstr "" -#: common/models.py:2405 +#: common/models.py:2406 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2410 +#: common/models.py:2411 msgid "Search Build Orders" msgstr "" -#: common/models.py:2411 +#: common/models.py:2412 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2416 +#: common/models.py:2417 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2417 +#: common/models.py:2418 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2422 +#: common/models.py:2423 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2424 +#: common/models.py:2425 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2430 +#: common/models.py:2431 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2431 +#: common/models.py:2432 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2436 +#: common/models.py:2437 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2438 +#: common/models.py:2439 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2444 +#: common/models.py:2445 msgid "Search Return Orders" msgstr "" -#: common/models.py:2445 +#: common/models.py:2446 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2450 +#: common/models.py:2451 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2452 +#: common/models.py:2453 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2458 +#: common/models.py:2459 msgid "Search Preview Results" msgstr "" -#: common/models.py:2460 +#: common/models.py:2461 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2466 +#: common/models.py:2467 msgid "Regex Search" msgstr "" -#: common/models.py:2467 +#: common/models.py:2468 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2472 +#: common/models.py:2473 msgid "Whole Word Search" msgstr "" -#: common/models.py:2473 +#: common/models.py:2474 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2478 +#: common/models.py:2479 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2479 +#: common/models.py:2480 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2484 +#: common/models.py:2485 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2485 +#: common/models.py:2486 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2490 +#: common/models.py:2491 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2491 +#: common/models.py:2492 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2496 +#: common/models.py:2497 msgid "Date Format" msgstr "" -#: common/models.py:2497 +#: common/models.py:2498 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2510 part/templates/part/detail.html:41 +#: common/models.py:2511 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2511 +#: common/models.py:2512 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2516 part/templates/part/detail.html:62 +#: common/models.py:2517 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2518 +#: common/models.py:2519 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2524 +#: common/models.py:2525 msgid "Table String Length" msgstr "" -#: common/models.py:2526 +#: common/models.py:2527 msgid "Maximum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2532 +#: common/models.py:2533 msgid "Receive error reports" msgstr "" -#: common/models.py:2533 +#: common/models.py:2534 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2538 +#: common/models.py:2539 msgid "Last used printing machines" msgstr "" -#: common/models.py:2539 +#: common/models.py:2540 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2559 common/models.py:2560 common/models.py:2717 -#: common/models.py:2718 common/models.py:2963 common/models.py:2964 -#: common/models.py:3287 common/models.py:3288 importer/models.py:89 -#: part/models.py:3319 part/models.py:3406 part/models.py:3480 -#: part/models.py:3508 plugin/models.py:274 plugin/models.py:275 +#: common/models.py:2560 common/models.py:2561 common/models.py:2718 +#: common/models.py:2719 common/models.py:2964 common/models.py:2965 +#: common/models.py:3288 common/models.py:3289 importer/models.py:89 +#: part/models.py:3306 part/models.py:3393 part/models.py:3467 +#: part/models.py:3495 plugin/models.py:274 plugin/models.py:275 #: report/templates/report/inventree_test_report.html:105 #: templates/js/translated/stock.js:3121 users/models.py:111 msgid "User" msgstr "Bruger" -#: common/models.py:2582 +#: common/models.py:2583 msgid "Price break quantity" msgstr "" -#: common/models.py:2589 company/serializers.py:517 order/admin.py:42 +#: common/models.py:2590 company/serializers.py:517 order/admin.py:42 #: order/models.py:1423 order/models.py:2410 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1892 #: templates/js/translated/pricing.js:621 @@ -3747,96 +3744,96 @@ msgstr "" msgid "Price" msgstr "" -#: common/models.py:2590 +#: common/models.py:2591 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2694 common/models.py:2879 +#: common/models.py:2695 common/models.py:2880 msgid "Endpoint" msgstr "" -#: common/models.py:2695 +#: common/models.py:2696 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2705 +#: common/models.py:2706 msgid "Name for this webhook" msgstr "" -#: common/models.py:2709 +#: common/models.py:2710 msgid "Is this webhook active" msgstr "" -#: common/models.py:2725 users/models.py:159 +#: common/models.py:2726 users/models.py:159 msgid "Token" msgstr "" -#: common/models.py:2726 +#: common/models.py:2727 msgid "Token for access" msgstr "" -#: common/models.py:2734 +#: common/models.py:2735 msgid "Secret" msgstr "" -#: common/models.py:2735 +#: common/models.py:2736 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2843 +#: common/models.py:2844 msgid "Message ID" msgstr "" -#: common/models.py:2844 +#: common/models.py:2845 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2852 +#: common/models.py:2853 msgid "Host" msgstr "" -#: common/models.py:2853 +#: common/models.py:2854 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2861 +#: common/models.py:2862 msgid "Header" msgstr "" -#: common/models.py:2862 +#: common/models.py:2863 msgid "Header of this message" msgstr "" -#: common/models.py:2869 +#: common/models.py:2870 msgid "Body" msgstr "" -#: common/models.py:2870 +#: common/models.py:2871 msgid "Body of this message" msgstr "" -#: common/models.py:2880 +#: common/models.py:2881 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2885 +#: common/models.py:2886 msgid "Worked on" msgstr "" -#: common/models.py:2886 +#: common/models.py:2887 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:3012 +#: common/models.py:3013 msgid "Id" msgstr "" -#: common/models.py:3014 templates/js/translated/company.js:965 +#: common/models.py:3015 templates/js/translated/company.js:965 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:3016 common/models.py:3271 company/models.py:146 +#: common/models.py:3017 common/models.py:3272 company/models.py:146 #: company/models.py:443 company/models.py:509 company/models.py:815 #: order/models.py:303 order/models.py:1378 order/models.py:1810 #: part/admin.py:55 part/models.py:1069 @@ -3853,217 +3850,217 @@ msgstr "" msgid "Link" msgstr "" -#: common/models.py:3018 templates/js/translated/news.js:60 +#: common/models.py:3019 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:3020 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:3021 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:103 msgid "Author" msgstr "" -#: common/models.py:3022 templates/js/translated/news.js:52 +#: common/models.py:3023 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:3025 +#: common/models.py:3026 msgid "Read" msgstr "" -#: common/models.py:3025 +#: common/models.py:3026 msgid "Was this news item read?" msgstr "" -#: common/models.py:3042 company/models.py:156 part/models.py:1079 +#: common/models.py:3043 company/models.py:156 part/models.py:1079 #: 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.html:35 -#: stock/templates/stock/item_base.html:133 templates/503.html:31 +#: stock/templates/stock/item_base.html:129 templates/503.html:31 #: templates/hover_image.html:7 templates/hover_image.html:9 #: templates/modals.html:6 msgid "Image" msgstr "" -#: common/models.py:3042 +#: common/models.py:3043 msgid "Image file" msgstr "" -#: common/models.py:3054 common/models.py:3255 +#: common/models.py:3055 common/models.py:3256 msgid "Target model type for this image" msgstr "" -#: common/models.py:3058 +#: common/models.py:3059 msgid "Target model ID for this image" msgstr "" -#: common/models.py:3080 +#: common/models.py:3081 msgid "Custom Unit" msgstr "" -#: common/models.py:3098 +#: common/models.py:3099 msgid "Unit symbol must be unique" msgstr "" -#: common/models.py:3113 +#: common/models.py:3114 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:3132 +#: common/models.py:3133 msgid "Unit name" msgstr "" -#: common/models.py:3139 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3140 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:3140 +#: common/models.py:3141 msgid "Optional unit symbol" msgstr "" -#: common/models.py:3146 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3147 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:3147 +#: common/models.py:3148 msgid "Unit definition" msgstr "" -#: common/models.py:3205 common/models.py:3262 stock/models.py:2552 +#: common/models.py:3206 common/models.py:3263 stock/models.py:2547 #: stock/serializers.py:244 templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:345 msgid "Attachment" msgstr "Vedhæftning" -#: common/models.py:3217 +#: common/models.py:3218 msgid "Missing file" msgstr "Manglende fil" -#: common/models.py:3218 +#: common/models.py:3219 msgid "Missing external link" msgstr "Manglende eksternt link" -#: common/models.py:3263 +#: common/models.py:3264 msgid "Select file to attach" msgstr "Vælg fil, der skal vedhæftes" -#: common/models.py:3278 templates/js/translated/attachment.js:120 +#: common/models.py:3279 templates/js/translated/attachment.js:120 #: templates/js/translated/attachment.js:360 msgid "Comment" msgstr "Kommentar" -#: common/models.py:3279 +#: common/models.py:3280 msgid "Attachment comment" msgstr "" -#: common/models.py:3295 +#: common/models.py:3296 msgid "Upload date" msgstr "" -#: common/models.py:3296 +#: common/models.py:3297 msgid "Date the file was uploaded" msgstr "" -#: common/models.py:3300 +#: common/models.py:3301 msgid "File size" msgstr "" -#: common/models.py:3300 +#: common/models.py:3301 msgid "File size in bytes" msgstr "" -#: common/models.py:3338 common/serializers.py:588 +#: common/models.py:3339 common/serializers.py:604 msgid "Invalid model type specified for attachment" msgstr "" -#: common/models.py:3347 plugin/models.py:43 users/models.py:100 +#: common/models.py:3348 plugin/models.py:43 users/models.py:100 msgid "Key" msgstr "" -#: common/models.py:3348 +#: common/models.py:3349 msgid "Value that will be saved in the models database" msgstr "" -#: common/models.py:3351 +#: common/models.py:3352 msgid "Name of the state" msgstr "" -#: common/models.py:3355 +#: common/models.py:3356 msgid "Label" msgstr "" -#: common/models.py:3356 +#: common/models.py:3357 msgid "Label that will be displayed in the frontend" msgstr "" -#: common/models.py:3362 +#: common/models.py:3363 msgid "Color" msgstr "" -#: common/models.py:3363 +#: common/models.py:3364 msgid "Color that will be displayed in the frontend" msgstr "" -#: common/models.py:3366 +#: common/models.py:3367 msgid "Logical Key" msgstr "" -#: common/models.py:3368 +#: common/models.py:3369 msgid "State logical key that is equal to this custom state in business logic" msgstr "" -#: common/models.py:3376 +#: common/models.py:3377 msgid "Model" msgstr "" -#: common/models.py:3377 +#: common/models.py:3378 msgid "Model this state is associated with" msgstr "" -#: common/models.py:3381 +#: common/models.py:3382 msgid "Reference Status Set" msgstr "" -#: common/models.py:3382 +#: common/models.py:3383 msgid "Status set that is extended with this custom state" msgstr "" -#: common/models.py:3388 +#: common/models.py:3389 msgid "Custom State" msgstr "" -#: common/models.py:3389 +#: common/models.py:3390 msgid "Custom States" msgstr "" -#: common/models.py:3404 +#: common/models.py:3405 msgid "Model must be selected" msgstr "" -#: common/models.py:3407 +#: common/models.py:3408 msgid "Key must be selected" msgstr "" -#: common/models.py:3410 +#: common/models.py:3411 msgid "Logical key must be selected" msgstr "" -#: common/models.py:3414 +#: common/models.py:3415 msgid "Key must be different from logical key" msgstr "" -#: common/models.py:3418 +#: common/models.py:3419 msgid "Reference status must be selected" msgstr "" -#: common/models.py:3430 +#: common/models.py:3431 msgid "Reference status set not found" msgstr "" -#: common/models.py:3436 +#: common/models.py:3437 msgid "Key must be different from the logical keys of the reference status" msgstr "" -#: common/models.py:3442 +#: common/models.py:3443 msgid "Logical key must be in the logical keys of the reference status" msgstr "" @@ -4101,75 +4098,75 @@ msgstr "" msgid "Error raised by plugin" msgstr "" -#: common/serializers.py:402 +#: common/serializers.py:418 msgid "Is Running" msgstr "" -#: common/serializers.py:408 +#: common/serializers.py:424 msgid "Pending Tasks" msgstr "" -#: common/serializers.py:414 +#: common/serializers.py:430 msgid "Scheduled Tasks" msgstr "" -#: common/serializers.py:420 +#: common/serializers.py:436 msgid "Failed Tasks" msgstr "" -#: common/serializers.py:435 +#: common/serializers.py:451 msgid "Task ID" msgstr "" -#: common/serializers.py:435 +#: common/serializers.py:451 msgid "Unique task ID" msgstr "" -#: common/serializers.py:437 +#: common/serializers.py:453 msgid "Lock" msgstr "" -#: common/serializers.py:437 +#: common/serializers.py:453 msgid "Lock time" msgstr "" -#: common/serializers.py:439 +#: common/serializers.py:455 msgid "Task name" msgstr "" -#: common/serializers.py:441 +#: common/serializers.py:457 msgid "Function" msgstr "" -#: common/serializers.py:441 +#: common/serializers.py:457 msgid "Function name" msgstr "" -#: common/serializers.py:443 +#: common/serializers.py:459 msgid "Arguments" msgstr "" -#: common/serializers.py:443 +#: common/serializers.py:459 msgid "Task arguments" msgstr "" -#: common/serializers.py:446 +#: common/serializers.py:462 msgid "Keyword Arguments" msgstr "" -#: common/serializers.py:446 +#: common/serializers.py:462 msgid "Task keyword arguments" msgstr "" -#: common/serializers.py:556 +#: common/serializers.py:572 msgid "Filename" msgstr "Filnavn" -#: common/serializers.py:563 report/api.py:100 report/serializers.py:53 +#: common/serializers.py:579 report/api.py:100 report/serializers.py:54 msgid "Model Type" msgstr "" -#: common/serializers.py:591 +#: common/serializers.py:607 msgid "User does not have permission to create or edit attachments for this model" msgstr "" @@ -4447,12 +4444,12 @@ msgstr "" #: company/models.py:467 company/models.py:584 company/models.py:808 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 -#: stock/templates/stock/item_base.html:217 +#: stock/templates/stock/item_base.html:213 msgid "Manufacturer Part" msgstr "" #: company/models.py:484 company/models.py:776 stock/models.py:791 -#: stock/serializers.py:452 stock/templates/stock/item_base.html:142 +#: stock/serializers.py:452 stock/templates/stock/item_base.html:138 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" @@ -4463,8 +4460,8 @@ msgstr "" #: company/models.py:495 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:567 -#: stock/templates/stock/item_base.html:207 +#: company/templates/company/supplier_part.html:145 part/serializers.py:565 +#: stock/templates/stock/item_base.html:203 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 #: templates/js/translated/company.js:1296 @@ -4479,7 +4476,7 @@ msgstr "" #: company/models.py:502 company/templates/company/manufacturer_part.html:101 #: company/templates/company/supplier_part.html:153 order/serializers.py:557 -#: part/serializers.py:577 templates/js/translated/company.js:351 +#: part/serializers.py:575 templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 #: templates/js/translated/company.js:1630 templates/js/translated/part.js:1807 @@ -4505,7 +4502,7 @@ msgid "Parameter name" msgstr "" #: company/models.py:597 report/templates/report/inventree_test_report.html:104 -#: stock/models.py:2544 templates/js/translated/company.js:1166 +#: stock/models.py:2539 templates/js/translated/company.js:1166 #: templates/js/translated/company.js:1419 templates/js/translated/part.js:1499 #: templates/js/translated/stock.js:1607 msgid "Value" @@ -4516,7 +4513,7 @@ msgid "Parameter value" msgstr "" #: company/models.py:605 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1159 part/models.py:3783 +#: part/admin.py:57 part/models.py:1159 part/models.py:3770 #: part/templates/part/part_base.html:300 #: templates/js/translated/company.js:1425 templates/js/translated/part.js:1518 #: templates/js/translated/part.js:1622 templates/js/translated/part.js:2376 @@ -4530,7 +4527,7 @@ msgstr "" #: company/models.py:659 company/templates/company/supplier_part.html:7 #: company/templates/company/supplier_part.html:24 order/api.py:440 #: order/serializers.py:492 stock/models.py:802 -#: stock/templates/stock/item_base.html:233 +#: stock/templates/stock/item_base.html:229 #: templates/js/translated/build.js:1055 #: templates/js/translated/company.js:1600 #: templates/js/translated/purchase_order.js:752 @@ -4553,9 +4550,9 @@ msgstr "" #: company/models.py:786 company/templates/company/company_base.html:87 #: company/templates/company/supplier_part.html:129 order/models.py:492 #: order/templates/order/order_base.html:141 part/bom.py:279 part/bom.py:314 -#: part/serializers.py:551 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:549 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 -#: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 +#: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:220 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:511 @@ -4570,7 +4567,7 @@ msgstr "" msgid "Select supplier" msgstr "" -#: company/models.py:793 part/serializers.py:562 +#: company/models.py:793 part/serializers.py:560 msgid "Supplier stock keeping unit" msgstr "" @@ -4591,7 +4588,7 @@ msgid "Supplier part description" msgstr "" #: company/models.py:832 company/templates/company/supplier_part.html:187 -#: order/serializers.py:699 part/admin.py:415 part/models.py:4301 +#: order/serializers.py:699 part/admin.py:415 part/models.py:4288 #: part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 @@ -4603,11 +4600,11 @@ msgstr "" msgid "Note" msgstr "" -#: company/models.py:841 part/models.py:2129 +#: company/models.py:841 part/models.py:2128 msgid "base cost" msgstr "" -#: company/models.py:842 part/models.py:2130 +#: company/models.py:842 part/models.py:2129 msgid "Minimum charge (e.g. stocking fee)" msgstr "" @@ -4629,7 +4626,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:876 part/models.py:2136 +#: company/models.py:876 part/models.py:2135 msgid "multiple" msgstr "" @@ -4661,7 +4658,7 @@ msgstr "" msgid "Company Name" msgstr "" -#: company/serializers.py:397 part/admin.py:126 part/serializers.py:919 +#: company/serializers.py:397 part/admin.py:126 part/serializers.py:917 #: part/templates/part/part_base.html:197 #: templates/js/translated/company.js:1689 #: templates/js/translated/table_filters.js:362 @@ -4735,7 +4732,7 @@ msgstr "" #: order/models.py:2140 order/templates/order/return_order_base.html:134 #: order/templates/order/sales_order_base.html:151 stock/models.py:844 #: stock/models.py:845 stock/serializers.py:1336 -#: stock/templates/stock/item_base.html:405 +#: stock/templates/stock/item_base.html:401 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 #: templates/js/translated/return_order.js:295 @@ -4939,7 +4936,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:925 +#: part/admin.py:122 part/serializers.py:923 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -5030,7 +5027,7 @@ msgid "No supplier information available" msgstr "" #: company/templates/company/supplier_part.html:139 order/serializers.py:554 -#: part/bom.py:286 part/bom.py:315 part/serializers.py:561 +#: part/bom.py:286 part/bom.py:315 part/serializers.py:559 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1793 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1920 @@ -5084,7 +5081,7 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:923 part/stocktake.py:223 +#: part/serializers.py:921 part/stocktake.py:223 #: part/templates/part/category.html:180 #: part/templates/part/category_sidebar.html:17 stock/admin.py:68 #: stock/serializers.py:1021 stock/serializers.py:1199 @@ -5215,7 +5212,7 @@ msgstr "" msgid "Original row data" msgstr "" -#: importer/models.py:504 part/models.py:3965 +#: importer/models.py:504 part/models.py:3952 msgid "Data" msgstr "" @@ -5473,7 +5470,7 @@ msgstr "" #: order/models.py:1592 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_purchase_order_report.html:14 -#: stock/serializers.py:121 stock/templates/stock/item_base.html:176 +#: stock/serializers.py:121 stock/templates/stock/item_base.html:172 #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/part.js:1752 templates/js/translated/pricing.js:804 #: templates/js/translated/purchase_order.js:168 @@ -5694,7 +5691,7 @@ msgid "Number of items received" msgstr "" #: order/models.py:1513 stock/models.py:963 stock/serializers.py:617 -#: stock/templates/stock/item_base.html:183 +#: stock/templates/stock/item_base.html:179 #: templates/js/translated/stock.js:2397 msgid "Purchase Price" msgstr "" @@ -5768,7 +5765,7 @@ msgid "User who checked this shipment" msgstr "" #: order/models.py:1788 order/models.py:2011 order/serializers.py:1479 -#: order/serializers.py:1589 templates/js/translated/model_renderers.js:455 +#: order/serializers.py:1597 templates/js/translated/model_renderers.js:455 msgid "Shipment" msgstr "" @@ -5982,7 +5979,7 @@ msgstr "" msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:656 order/serializers.py:779 order/serializers.py:1790 +#: order/serializers.py:656 order/serializers.py:779 order/serializers.py:1798 msgid "Select destination location for received items" msgstr "" @@ -6019,7 +6016,7 @@ msgstr "" msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:795 order/serializers.py:1806 +#: order/serializers.py:795 order/serializers.py:1814 msgid "Line items must be provided" msgstr "" @@ -6051,39 +6048,39 @@ msgstr "" msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1491 order/serializers.py:1597 +#: order/serializers.py:1491 order/serializers.py:1605 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1494 order/serializers.py:1600 +#: order/serializers.py:1494 order/serializers.py:1608 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1541 +#: order/serializers.py:1549 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1548 -msgid "The following serial numbers are already allocated" +#: order/serializers.py:1556 +msgid "The following serial numbers are unavailable" msgstr "" -#: order/serializers.py:1760 +#: order/serializers.py:1768 msgid "Return order line item" msgstr "" -#: order/serializers.py:1766 +#: order/serializers.py:1774 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1769 +#: order/serializers.py:1777 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1798 +#: order/serializers.py:1806 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1881 +#: order/serializers.py:1889 msgid "Line price currency" msgstr "" @@ -6510,7 +6507,7 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:48 part/models.py:1044 part/serializers.py:908 +#: part/admin.py:48 part/models.py:1044 part/serializers.py:906 #: part/templates/part/part_base.html:276 #: report/templates/report/inventree_stock_location_report.html:103 #: templates/js/translated/part.js:1233 templates/js/translated/part.js:2347 @@ -6537,7 +6534,7 @@ msgstr "" msgid "Category ID" msgstr "" -#: part/admin.py:67 part/admin.py:304 part/serializers.py:893 +#: part/admin.py:67 part/admin.py:304 part/serializers.py:891 #: part/stocktake.py:222 msgid "Category Name" msgstr "" @@ -6562,18 +6559,18 @@ msgstr "" msgid "Used In" msgstr "" -#: part/admin.py:150 part/serializers.py:918 +#: part/admin.py:150 part/serializers.py:916 #: part/templates/part/part_base.html:248 stock/admin.py:236 #: templates/js/translated/part.js:717 templates/js/translated/part.js:2159 msgid "Building" msgstr "" -#: part/admin.py:155 part/models.py:3214 part/models.py:3228 +#: part/admin.py:155 part/models.py:3201 part/models.py:3215 #: templates/js/translated/part.js:976 msgid "Minimum Cost" msgstr "" -#: part/admin.py:158 part/models.py:3221 part/models.py:3235 +#: part/admin.py:158 part/models.py:3208 part/models.py:3222 #: templates/js/translated/part.js:986 msgid "Maximum Cost" msgstr "" @@ -6592,7 +6589,7 @@ msgid "Category Path" msgstr "" #: part/admin.py:325 part/models.py:420 part/serializers.py:130 -#: part/serializers.py:290 part/serializers.py:428 +#: part/serializers.py:290 part/serializers.py:426 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:20 #: part/templates/part/category.html:138 part/templates/part/category.html:158 #: part/templates/part/category_sidebar.html:9 @@ -6619,13 +6616,13 @@ msgstr "" msgid "Part Revision" msgstr "" -#: part/admin.py:418 part/serializers.py:1367 +#: part/admin.py:418 part/serializers.py:1365 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:423 part/serializers.py:1382 +#: part/admin.py:423 part/serializers.py:1380 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -6719,8 +6716,8 @@ msgstr "" msgid "BOM Valid" msgstr "" -#: part/api.py:1520 part/models.py:1036 part/models.py:3501 part/models.py:4060 -#: part/serializers.py:443 part/serializers.py:1223 +#: part/api.py:1520 part/models.py:1036 part/models.py:3488 part/models.py:4047 +#: part/serializers.py:441 part/serializers.py:1221 #: part/templates/part/part_base.html:267 stock/api.py:780 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 @@ -6746,7 +6743,7 @@ msgstr "" msgid "Default Location" msgstr "" -#: part/bom.py:184 part/serializers.py:926 +#: part/bom.py:184 part/serializers.py:924 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -6755,7 +6752,7 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:89 part/models.py:4061 part/templates/part/category.html:16 +#: part/models.py:89 part/models.py:4048 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -6878,7 +6875,7 @@ msgstr "" msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:995 part/models.py:4116 +#: part/models.py:995 part/models.py:4103 msgid "Part name" msgstr "" @@ -6906,7 +6903,7 @@ msgstr "" msgid "Part category" msgstr "" -#: part/models.py:1052 part/serializers.py:360 +#: part/models.py:1052 msgid "Part revision or version number" msgstr "" @@ -7012,164 +7009,164 @@ msgid "Owner responsible for this part" msgstr "" #: part/models.py:1264 part/templates/part/part_base.html:355 -#: stock/templates/stock/item_base.html:451 +#: stock/templates/stock/item_base.html:447 #: templates/js/translated/part.js:2490 msgid "Last Stocktake" msgstr "" -#: part/models.py:2137 +#: part/models.py:2136 msgid "Sell multiple" msgstr "" -#: part/models.py:3128 +#: part/models.py:3115 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3144 +#: part/models.py:3131 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3145 +#: part/models.py:3132 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3151 +#: part/models.py:3138 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3152 +#: part/models.py:3139 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3158 +#: part/models.py:3145 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3159 +#: part/models.py:3146 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3165 +#: part/models.py:3152 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3166 +#: part/models.py:3153 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3172 +#: part/models.py:3159 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3173 +#: part/models.py:3160 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3179 +#: part/models.py:3166 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3180 +#: part/models.py:3167 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3186 +#: part/models.py:3173 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3187 +#: part/models.py:3174 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3193 +#: part/models.py:3180 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3194 +#: part/models.py:3181 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3200 +#: part/models.py:3187 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3201 +#: part/models.py:3188 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3207 +#: part/models.py:3194 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3208 +#: part/models.py:3195 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3215 +#: part/models.py:3202 msgid "Override minimum cost" msgstr "" -#: part/models.py:3222 +#: part/models.py:3209 msgid "Override maximum cost" msgstr "" -#: part/models.py:3229 +#: part/models.py:3216 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3236 +#: part/models.py:3223 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3242 +#: part/models.py:3229 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3243 +#: part/models.py:3230 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3249 +#: part/models.py:3236 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3250 +#: part/models.py:3237 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3256 +#: part/models.py:3243 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3257 +#: part/models.py:3244 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3263 +#: part/models.py:3250 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3264 +#: part/models.py:3251 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3283 +#: part/models.py:3270 msgid "Part for stocktake" msgstr "" -#: part/models.py:3288 +#: part/models.py:3275 msgid "Item Count" msgstr "" -#: part/models.py:3289 +#: part/models.py:3276 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3297 +#: part/models.py:3284 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3301 part/models.py:3384 +#: part/models.py:3288 part/models.py:3371 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -7181,363 +7178,363 @@ msgstr "" msgid "Date" msgstr "" -#: part/models.py:3302 +#: part/models.py:3289 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3310 +#: part/models.py:3297 msgid "Additional notes" msgstr "" -#: part/models.py:3320 +#: part/models.py:3307 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3326 +#: part/models.py:3313 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3327 +#: part/models.py:3314 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3333 +#: part/models.py:3320 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3334 +#: part/models.py:3321 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3390 templates/InvenTree/settings/settings_staff_js.html:532 +#: part/models.py:3377 templates/InvenTree/settings/settings_staff_js.html:532 msgid "Report" msgstr "" -#: part/models.py:3391 +#: part/models.py:3378 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3396 templates/InvenTree/settings/settings_staff_js.html:539 +#: part/models.py:3383 templates/InvenTree/settings/settings_staff_js.html:539 msgid "Part Count" msgstr "" -#: part/models.py:3397 +#: part/models.py:3384 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3407 +#: part/models.py:3394 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3417 +#: part/models.py:3404 msgid "Part Sale Price Break" msgstr "" -#: part/models.py:3529 +#: part/models.py:3516 msgid "Part Test Template" msgstr "" -#: part/models.py:3555 +#: part/models.py:3542 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3576 part/models.py:3745 +#: part/models.py:3563 part/models.py:3732 msgid "Choices must be unique" msgstr "" -#: part/models.py:3587 +#: part/models.py:3574 msgid "Test templates can only be created for testable parts" msgstr "" -#: part/models.py:3598 +#: part/models.py:3585 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3615 templates/js/translated/part.js:2898 +#: part/models.py:3602 templates/js/translated/part.js:2898 msgid "Test Name" msgstr "" -#: part/models.py:3616 +#: part/models.py:3603 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3622 +#: part/models.py:3609 msgid "Test Key" msgstr "" -#: part/models.py:3623 +#: part/models.py:3610 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3630 +#: part/models.py:3617 msgid "Test Description" msgstr "" -#: part/models.py:3631 +#: part/models.py:3618 msgid "Enter description for this test" msgstr "" -#: part/models.py:3635 report/models.py:208 +#: part/models.py:3622 report/models.py:216 #: templates/js/translated/part.js:2919 #: templates/js/translated/table_filters.js:502 msgid "Enabled" msgstr "" -#: part/models.py:3635 +#: part/models.py:3622 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3640 templates/js/translated/part.js:2927 +#: part/models.py:3627 templates/js/translated/part.js:2927 #: templates/js/translated/table_filters.js:498 msgid "Required" msgstr "" -#: part/models.py:3641 +#: part/models.py:3628 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3646 templates/js/translated/part.js:2935 +#: part/models.py:3633 templates/js/translated/part.js:2935 msgid "Requires Value" msgstr "" -#: part/models.py:3647 +#: part/models.py:3634 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3652 templates/js/translated/part.js:2942 +#: part/models.py:3639 templates/js/translated/part.js:2942 msgid "Requires Attachment" msgstr "" -#: part/models.py:3654 +#: part/models.py:3641 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3660 part/models.py:3804 templates/js/translated/part.js:1643 +#: part/models.py:3647 part/models.py:3791 templates/js/translated/part.js:1643 msgid "Choices" msgstr "" -#: part/models.py:3661 +#: part/models.py:3648 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3693 +#: part/models.py:3680 msgid "Part Parameter Template" msgstr "" -#: part/models.py:3720 +#: part/models.py:3707 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3725 +#: part/models.py:3712 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3762 +#: part/models.py:3749 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3777 +#: part/models.py:3764 msgid "Parameter Name" msgstr "" -#: part/models.py:3784 +#: part/models.py:3771 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3792 +#: part/models.py:3779 msgid "Parameter description" msgstr "" -#: part/models.py:3798 templates/js/translated/part.js:1634 +#: part/models.py:3785 templates/js/translated/part.js:1634 #: templates/js/translated/table_filters.js:837 msgid "Checkbox" msgstr "" -#: part/models.py:3799 +#: part/models.py:3786 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3805 +#: part/models.py:3792 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3839 +#: part/models.py:3826 msgid "Part Parameter" msgstr "" -#: part/models.py:3865 +#: part/models.py:3852 msgid "Parameter cannot be modified - part is locked" msgstr "" -#: part/models.py:3903 +#: part/models.py:3890 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3952 +#: part/models.py:3939 msgid "Parent Part" msgstr "" -#: part/models.py:3960 part/models.py:4068 part/models.py:4069 +#: part/models.py:3947 part/models.py:4055 part/models.py:4056 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3966 +#: part/models.py:3953 msgid "Parameter Value" msgstr "" -#: part/models.py:4016 +#: part/models.py:4003 msgid "Part Category Parameter Template" msgstr "" -#: part/models.py:4075 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:4062 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:4076 +#: part/models.py:4063 msgid "Default Parameter Value" msgstr "" -#: part/models.py:4114 +#: part/models.py:4101 msgid "Part ID or part name" msgstr "" -#: part/models.py:4115 +#: part/models.py:4102 msgid "Unique part ID value" msgstr "" -#: part/models.py:4117 +#: part/models.py:4104 msgid "Part IPN value" msgstr "" -#: part/models.py:4118 +#: part/models.py:4105 msgid "Level" msgstr "" -#: part/models.py:4118 +#: part/models.py:4105 msgid "BOM level" msgstr "" -#: part/models.py:4228 +#: part/models.py:4215 msgid "BOM item cannot be modified - assembly is locked" msgstr "" -#: part/models.py:4235 +#: part/models.py:4222 msgid "BOM item cannot be modified - variant assembly is locked" msgstr "" -#: part/models.py:4245 +#: part/models.py:4232 msgid "Select parent part" msgstr "" -#: part/models.py:4255 +#: part/models.py:4242 msgid "Sub part" msgstr "" -#: part/models.py:4256 +#: part/models.py:4243 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4267 +#: part/models.py:4254 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4273 +#: part/models.py:4260 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4279 +#: part/models.py:4266 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4286 part/templates/part/upload_bom.html:55 +#: part/models.py:4273 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4287 +#: part/models.py:4274 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4294 +#: part/models.py:4281 msgid "BOM item reference" msgstr "" -#: part/models.py:4302 +#: part/models.py:4289 msgid "BOM item notes" msgstr "" -#: part/models.py:4308 +#: part/models.py:4295 msgid "Checksum" msgstr "" -#: part/models.py:4309 +#: part/models.py:4296 msgid "BOM line checksum" msgstr "" -#: part/models.py:4314 templates/js/translated/table_filters.js:181 +#: part/models.py:4301 templates/js/translated/table_filters.js:181 msgid "Validated" msgstr "" -#: part/models.py:4315 +#: part/models.py:4302 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4320 part/templates/part/upload_bom.html:57 +#: part/models.py:4307 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:185 #: templates/js/translated/table_filters.js:218 msgid "Gets inherited" msgstr "" -#: part/models.py:4321 +#: part/models.py:4308 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4327 +#: part/models.py:4314 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4412 stock/models.py:689 +#: part/models.py:4399 stock/models.py:689 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4422 part/models.py:4424 +#: part/models.py:4409 part/models.py:4411 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4561 +#: part/models.py:4554 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4582 +#: part/models.py:4575 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4595 +#: part/models.py:4588 msgid "Parent BOM item" msgstr "" -#: part/models.py:4603 +#: part/models.py:4596 msgid "Substitute part" msgstr "" -#: part/models.py:4619 +#: part/models.py:4612 msgid "Part 1" msgstr "" -#: part/models.py:4627 +#: part/models.py:4620 msgid "Part 2" msgstr "" -#: part/models.py:4628 +#: part/models.py:4621 msgid "Select Related Part" msgstr "" -#: part/models.py:4647 +#: part/models.py:4640 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4652 +#: part/models.py:4645 msgid "Duplicate relationship already exists" msgstr "" @@ -7571,326 +7568,326 @@ msgstr "" msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:434 +#: part/serializers.py:432 msgid "No parts selected" msgstr "" -#: part/serializers.py:444 +#: part/serializers.py:442 msgid "Select category" msgstr "" -#: part/serializers.py:479 +#: part/serializers.py:477 msgid "Original Part" msgstr "" -#: part/serializers.py:480 +#: part/serializers.py:478 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:485 +#: part/serializers.py:483 msgid "Copy Image" msgstr "" -#: part/serializers.py:486 +#: part/serializers.py:484 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:492 part/templates/part/detail.html:293 +#: part/serializers.py:490 part/templates/part/detail.html:293 msgid "Copy BOM" msgstr "" -#: part/serializers.py:493 +#: part/serializers.py:491 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:499 +#: part/serializers.py:497 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:500 +#: part/serializers.py:498 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:506 +#: part/serializers.py:504 msgid "Copy Notes" msgstr "" -#: part/serializers.py:507 +#: part/serializers.py:505 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:525 +#: part/serializers.py:523 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:527 +#: part/serializers.py:525 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:534 +#: part/serializers.py:532 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:535 +#: part/serializers.py:533 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:552 +#: part/serializers.py:550 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:568 +#: part/serializers.py:566 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:578 +#: part/serializers.py:576 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:585 +#: part/serializers.py:583 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:594 +#: part/serializers.py:592 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:605 +#: part/serializers.py:603 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:612 +#: part/serializers.py:610 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:924 +#: part/serializers.py:922 msgid "Revisions" msgstr "" -#: part/serializers.py:929 +#: part/serializers.py:927 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:932 +#: part/serializers.py:930 msgid "Variant Stock" msgstr "" -#: part/serializers.py:962 part/templates/part/copy_part.html:9 +#: part/serializers.py:960 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:474 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:963 +#: part/serializers.py:961 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:969 templates/js/translated/part.js:103 +#: part/serializers.py:967 templates/js/translated/part.js:103 msgid "Initial Stock" msgstr "" -#: part/serializers.py:970 +#: part/serializers.py:968 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:976 +#: part/serializers.py:974 msgid "Supplier Information" msgstr "" -#: part/serializers.py:977 +#: part/serializers.py:975 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:985 +#: part/serializers.py:983 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:986 +#: part/serializers.py:984 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:991 +#: part/serializers.py:989 msgid "Existing Image" msgstr "" -#: part/serializers.py:992 +#: part/serializers.py:990 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:1009 +#: part/serializers.py:1007 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1215 +#: part/serializers.py:1213 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1225 +#: part/serializers.py:1223 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1235 +#: part/serializers.py:1233 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1241 +#: part/serializers.py:1239 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1242 +#: part/serializers.py:1240 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1247 +#: part/serializers.py:1245 msgid "Generate Report" msgstr "" -#: part/serializers.py:1248 +#: part/serializers.py:1246 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1253 +#: part/serializers.py:1251 msgid "Update Parts" msgstr "" -#: part/serializers.py:1254 +#: part/serializers.py:1252 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1262 +#: part/serializers.py:1260 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1368 +#: part/serializers.py:1366 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1375 +#: part/serializers.py:1373 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1383 +#: part/serializers.py:1381 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1390 +#: part/serializers.py:1388 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1419 +#: part/serializers.py:1417 msgid "Update" msgstr "" -#: part/serializers.py:1420 +#: part/serializers.py:1418 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1443 +#: part/serializers.py:1441 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1450 +#: part/serializers.py:1448 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1453 +#: part/serializers.py:1451 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1597 +#: part/serializers.py:1595 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1606 +#: part/serializers.py:1604 msgid "Component Name" msgstr "" -#: part/serializers.py:1609 +#: part/serializers.py:1607 msgid "Component IPN" msgstr "" -#: part/serializers.py:1612 +#: part/serializers.py:1610 msgid "Component Description" msgstr "" -#: part/serializers.py:1618 +#: part/serializers.py:1616 msgid "Select the component part" msgstr "" -#: part/serializers.py:1627 part/templates/part/part_base.html:242 +#: part/serializers.py:1625 part/templates/part/part_base.html:242 #: templates/js/translated/bom.js:1219 msgid "Can Build" msgstr "" -#: part/serializers.py:1858 +#: part/serializers.py:1856 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1866 +#: part/serializers.py:1864 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1867 +#: part/serializers.py:1865 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1872 +#: part/serializers.py:1870 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1873 +#: part/serializers.py:1871 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1878 +#: part/serializers.py:1876 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1879 +#: part/serializers.py:1877 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1884 +#: part/serializers.py:1882 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1885 +#: part/serializers.py:1883 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1922 +#: part/serializers.py:1920 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1923 +#: part/serializers.py:1921 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1955 +#: part/serializers.py:1953 msgid "No part column specified" msgstr "" -#: part/serializers.py:1999 +#: part/serializers.py:1997 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:2002 +#: part/serializers.py:2000 msgid "No matching part found" msgstr "" -#: part/serializers.py:2004 +#: part/serializers.py:2002 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:2013 +#: part/serializers.py:2011 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:2021 +#: part/serializers.py:2019 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:2044 +#: part/serializers.py:2042 msgid "At least one BOM item is required" msgstr "" @@ -8216,7 +8213,7 @@ msgid "Subscribe to notifications for this part" msgstr "" #: part/templates/part/part_base.html:52 -#: stock/templates/stock/item_base.html:62 +#: stock/templates/stock/item_base.html:61 #: stock/templates/stock/location.html:71 templates/js/translated/label.js:136 msgid "Print Label" msgstr "" @@ -8226,7 +8223,7 @@ msgid "Show pricing information" msgstr "" #: part/templates/part/part_base.html:63 -#: stock/templates/stock/item_base.html:110 +#: stock/templates/stock/item_base.html:106 #: stock/templates/stock/location.html:80 msgid "Stock actions" msgstr "" @@ -8297,12 +8294,12 @@ msgid "Required for Orders" msgstr "" #: part/templates/part/part_base.html:225 -#: stock/templates/stock/item_base.html:388 +#: stock/templates/stock/item_base.html:384 msgid "Allocated to Build Orders" msgstr "" #: part/templates/part/part_base.html:234 -#: stock/templates/stock/item_base.html:381 +#: stock/templates/stock/item_base.html:377 msgid "Allocated to Sales Orders" msgstr "" @@ -8322,7 +8319,7 @@ msgid "Latest Serial Number" msgstr "" #: part/templates/part/part_base.html:372 -#: stock/templates/stock/item_base.html:322 +#: stock/templates/stock/item_base.html:318 msgid "Search for serial number" msgstr "" @@ -8449,7 +8446,7 @@ msgid "Edit" msgstr "" #: part/templates/part/prices.html:28 stock/admin.py:252 -#: stock/templates/stock/item_base.html:446 +#: stock/templates/stock/item_base.html:442 #: templates/js/translated/company.js:1703 #: templates/js/translated/company.js:1713 #: templates/js/translated/stock.js:2332 @@ -8604,7 +8601,7 @@ msgstr "" msgid "Part Pricing" msgstr "" -#: plugin/api.py:172 +#: plugin/api.py:174 msgid "Plugin cannot be deleted as it is currently active" msgstr "" @@ -8940,7 +8937,7 @@ msgstr "" msgid "Print a border around each label" msgstr "" -#: plugin/builtin/labels/label_sheet.py:47 report/models.py:307 +#: plugin/builtin/labels/label_sheet.py:47 report/models.py:315 msgid "Landscape" msgstr "" @@ -9012,44 +9009,44 @@ msgstr "" msgid "The Supplier which acts as 'TME'" msgstr "" -#: plugin/installer.py:194 plugin/installer.py:274 +#: plugin/installer.py:199 plugin/installer.py:282 msgid "Only staff users can administer plugins" msgstr "" -#: plugin/installer.py:197 +#: plugin/installer.py:202 msgid "Plugin installation is disabled" msgstr "" -#: plugin/installer.py:241 +#: plugin/installer.py:246 msgid "Installed plugin successfully" msgstr "" -#: plugin/installer.py:246 +#: plugin/installer.py:251 #, python-brace-format msgid "Installed plugin into {path}" msgstr "" -#: plugin/installer.py:265 +#: plugin/installer.py:273 msgid "Plugin was not found in registry" msgstr "" -#: plugin/installer.py:268 +#: plugin/installer.py:276 msgid "Plugin is not a packaged plugin" msgstr "" -#: plugin/installer.py:271 +#: plugin/installer.py:279 msgid "Plugin package name not found" msgstr "" -#: plugin/installer.py:291 +#: plugin/installer.py:299 msgid "Plugin uninstalling is disabled" msgstr "" -#: plugin/installer.py:295 +#: plugin/installer.py:303 msgid "Plugin cannot be uninstalled as it is currently active" msgstr "" -#: plugin/installer.py:308 +#: plugin/installer.py:316 msgid "Uninstalled plugin successfully" msgstr "" @@ -9098,7 +9095,7 @@ msgstr "" msgid "Package Plugin" msgstr "" -#: plugin/models.py:220 report/models.py:474 +#: plugin/models.py:220 report/models.py:482 #: templates/InvenTree/settings/plugin_settings.html:9 #: templates/js/translated/plugin.js:51 msgid "Plugin" @@ -9167,6 +9164,38 @@ msgstr "" msgid "InvenTree Contributors" msgstr "" +#: plugin/samples/integration/user_interface_sample.py:22 +msgid "Enable Part Panels" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:23 +msgid "Enable custom panels for Part views" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:28 +msgid "Enable Purchase Order Panels" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:29 +msgid "Enable custom panels for Purchase Order views" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:34 +msgid "Enable Broken Panels" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:35 +msgid "Enable broken panels for testing" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:40 +msgid "Enable Dynamic Panel" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:41 +msgid "Enable dynamic panels for testing" +msgstr "" + #: plugin/serializers.py:81 msgid "Source URL" msgstr "" @@ -9245,12 +9274,36 @@ msgstr "" msgid "Delete the plugin configuration from the database" msgstr "" +#: plugin/serializers.py:324 +msgid "Plugin Key" +msgstr "" + +#: plugin/serializers.py:328 +msgid "Panel Name" +msgstr "" + +#: plugin/serializers.py:332 +msgid "Panel Title" +msgstr "" + +#: plugin/serializers.py:337 +msgid "Panel Icon" +msgstr "" + +#: plugin/serializers.py:341 +msgid "Panel Content (HTML)" +msgstr "" + +#: plugin/serializers.py:345 +msgid "Panel Source (javascript)" +msgstr "" + #: report/api.py:88 msgid "No valid objects provided to template" msgstr "" -#: report/api.py:103 report/models.py:438 report/serializers.py:98 -#: report/serializers.py:148 templates/js/translated/purchase_order.js:1817 +#: report/api.py:103 report/models.py:446 report/serializers.py:99 +#: report/serializers.py:149 templates/js/translated/purchase_order.js:1817 #: templates/js/translated/return_order.js:353 #: templates/js/translated/sales_order.js:887 #: templates/js/translated/sales_order.js:1047 @@ -9281,7 +9334,11 @@ msgstr "" msgid "Error printing label" msgstr "" -#: report/api.py:375 report/api.py:411 +#: report/api.py:358 +msgid "Report saved at time of printing" +msgstr "" + +#: report/api.py:384 report/api.py:420 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" @@ -9318,135 +9375,143 @@ msgstr "" msgid "Revision number (auto-increments)" msgstr "" -#: report/models.py:202 +#: report/models.py:168 +msgid "Attach to Model on Print" +msgstr "" + +#: report/models.py:170 +msgid "Save report output as an attachment against linked model instance when printing" +msgstr "" + +#: report/models.py:210 msgid "Filename Pattern" msgstr "" -#: report/models.py:203 +#: report/models.py:211 msgid "Pattern for generating filenames" msgstr "" -#: report/models.py:208 +#: report/models.py:216 msgid "Template is enabled" msgstr "" -#: report/models.py:214 +#: report/models.py:222 msgid "Target model type for template" msgstr "" -#: report/models.py:234 +#: report/models.py:242 msgid "Filters" msgstr "" -#: report/models.py:235 +#: report/models.py:243 msgid "Template query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:294 report/models.py:361 +#: report/models.py:302 report/models.py:369 msgid "Template file" msgstr "" -#: report/models.py:302 +#: report/models.py:310 msgid "Page size for PDF reports" msgstr "" -#: report/models.py:308 +#: report/models.py:316 msgid "Render report in landscape orientation" msgstr "" -#: report/models.py:367 +#: report/models.py:375 msgid "Width [mm]" msgstr "" -#: report/models.py:368 +#: report/models.py:376 msgid "Label width, specified in mm" msgstr "" -#: report/models.py:374 +#: report/models.py:382 msgid "Height [mm]" msgstr "" -#: report/models.py:375 +#: report/models.py:383 msgid "Label height, specified in mm" msgstr "" -#: report/models.py:438 +#: report/models.py:446 msgid "Number of items to process" msgstr "" -#: report/models.py:444 +#: report/models.py:452 msgid "Report generation is complete" msgstr "" -#: report/models.py:448 templates/js/translated/build.js:2352 +#: report/models.py:456 templates/js/translated/build.js:2352 msgid "Progress" msgstr "" -#: report/models.py:448 +#: report/models.py:456 msgid "Report generation progress" msgstr "" -#: report/models.py:456 +#: report/models.py:464 msgid "Report Template" msgstr "" -#: report/models.py:463 report/models.py:486 +#: report/models.py:471 report/models.py:494 msgid "Output File" msgstr "" -#: report/models.py:464 report/models.py:487 +#: report/models.py:472 report/models.py:495 msgid "Generated output file" msgstr "" -#: report/models.py:475 +#: report/models.py:483 msgid "Label output plugin" msgstr "" -#: report/models.py:479 +#: report/models.py:487 msgid "Label Template" msgstr "" -#: report/models.py:502 +#: report/models.py:510 msgid "Snippet" msgstr "" -#: report/models.py:503 +#: report/models.py:511 msgid "Report snippet file" msgstr "" -#: report/models.py:510 +#: report/models.py:518 msgid "Snippet file description" msgstr "" -#: report/models.py:528 +#: report/models.py:536 msgid "Asset" msgstr "" -#: report/models.py:529 +#: report/models.py:537 msgid "Report asset file" msgstr "" -#: report/models.py:536 +#: report/models.py:544 msgid "Asset file description" msgstr "" -#: report/serializers.py:91 +#: report/serializers.py:92 msgid "Select report template" msgstr "" -#: report/serializers.py:99 report/serializers.py:149 +#: report/serializers.py:100 report/serializers.py:150 msgid "List of item primary keys to include in the report" msgstr "" -#: report/serializers.py:132 +#: report/serializers.py:133 msgid "Select label template" msgstr "" -#: report/serializers.py:140 +#: report/serializers.py:141 msgid "Printing Plugin" msgstr "" -#: report/serializers.py:141 +#: report/serializers.py:142 msgid "Select plugin to use for label printing" msgstr "" @@ -9517,7 +9582,7 @@ msgstr "" msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report.html:103 stock/models.py:2538 +#: report/templates/report/inventree_test_report.html:103 stock/models.py:2533 msgid "Result" msgstr "" @@ -9598,7 +9663,7 @@ msgid "Customer ID" msgstr "" #: stock/admin.py:206 stock/models.py:829 -#: stock/templates/stock/item_base.html:354 +#: stock/templates/stock/item_base.html:350 msgid "Installed In" msgstr "" @@ -9623,7 +9688,7 @@ msgid "Delete on Deplete" msgstr "" #: stock/admin.py:261 stock/models.py:923 -#: stock/templates/stock/item_base.html:433 +#: stock/templates/stock/item_base.html:429 #: templates/js/translated/stock.js:2316 users/models.py:124 msgid "Expiry Date" msgstr "" @@ -9665,7 +9730,7 @@ msgid "Expiry date after" msgstr "" #: stock/api.py:839 stock/serializers.py:611 -#: stock/templates/stock/item_base.html:439 +#: stock/templates/stock/item_base.html:435 #: templates/js/translated/table_filters.js:448 msgid "Stale" msgstr "" @@ -9715,7 +9780,7 @@ msgid "Stock Locations" msgstr "" #: stock/models.py:185 stock/models.py:972 -#: stock/templates/stock/item_base.html:247 +#: stock/templates/stock/item_base.html:243 msgid "Owner" msgstr "" @@ -9826,7 +9891,7 @@ msgstr "" msgid "Build for this stock item" msgstr "" -#: stock/models.py:892 stock/templates/stock/item_base.html:363 +#: stock/models.py:892 stock/templates/stock/item_base.html:359 msgid "Consumed By" msgstr "" @@ -9891,7 +9956,7 @@ msgstr "" msgid "Serial numbers already exist" msgstr "" -#: stock/models.py:1636 +#: stock/models.py:1636 stock/models.py:2436 msgid "Test template does not exist" msgstr "" @@ -9939,67 +10004,67 @@ msgstr "" msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2337 +#: stock/models.py:2335 msgid "Stock Item Tracking" msgstr "" -#: stock/models.py:2370 +#: stock/models.py:2368 msgid "Entry notes" msgstr "" -#: stock/models.py:2410 +#: stock/models.py:2408 msgid "Stock Item Test Result" msgstr "" -#: stock/models.py:2443 +#: stock/models.py:2439 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2448 +#: stock/models.py:2443 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2453 +#: stock/models.py:2448 msgid "Invalid value for this test" msgstr "" -#: stock/models.py:2538 +#: stock/models.py:2533 msgid "Test result" msgstr "" -#: stock/models.py:2545 +#: stock/models.py:2540 msgid "Test output value" msgstr "" -#: stock/models.py:2553 stock/serializers.py:245 +#: stock/models.py:2548 stock/serializers.py:245 msgid "Test result attachment" msgstr "" -#: stock/models.py:2557 +#: stock/models.py:2552 msgid "Test notes" msgstr "" -#: stock/models.py:2565 templates/js/translated/stock.js:1633 +#: stock/models.py:2560 templates/js/translated/stock.js:1633 msgid "Test station" msgstr "" -#: stock/models.py:2566 +#: stock/models.py:2561 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2572 +#: stock/models.py:2567 msgid "Started" msgstr "" -#: stock/models.py:2573 +#: stock/models.py:2568 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2579 +#: stock/models.py:2574 msgid "Finished" msgstr "" -#: stock/models.py:2580 +#: stock/models.py:2575 msgid "The timestamp of the test finish" msgstr "" @@ -10059,7 +10124,7 @@ msgstr "" msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:459 stock/templates/stock/item_base.html:193 +#: stock/serializers.py:459 stock/templates/stock/item_base.html:189 msgid "Parent Item" msgstr "" @@ -10071,7 +10136,7 @@ msgstr "" msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:603 stock/templates/stock/item_base.html:437 +#: stock/serializers.py:603 stock/templates/stock/item_base.html:433 #: templates/js/translated/table_filters.js:442 users/models.py:174 msgid "Expired" msgstr "" @@ -10410,7 +10475,7 @@ msgstr "" msgid "Test Data" msgstr "" -#: stock/templates/stock/item.html:85 stock/templates/stock/item_base.html:65 +#: stock/templates/stock/item.html:85 msgid "Test Report" msgstr "" @@ -10450,200 +10515,204 @@ msgstr "" msgid "Scan to Location" msgstr "" -#: stock/templates/stock/item_base.html:59 +#: stock/templates/stock/item_base.html:58 #: stock/templates/stock/location.html:67 #: templates/js/translated/filters.js:434 msgid "Printing actions" msgstr "" -#: stock/templates/stock/item_base.html:75 +#: stock/templates/stock/item_base.html:63 templates/js/translated/report.js:49 +msgid "Print Report" +msgstr "" + +#: stock/templates/stock/item_base.html:71 msgid "Stock adjustment actions" msgstr "" -#: stock/templates/stock/item_base.html:79 +#: stock/templates/stock/item_base.html:75 #: stock/templates/stock/location.html:87 templates/js/translated/stock.js:1909 msgid "Count stock" msgstr "" -#: stock/templates/stock/item_base.html:81 +#: stock/templates/stock/item_base.html:77 #: templates/js/translated/stock.js:1891 msgid "Add stock" msgstr "" -#: stock/templates/stock/item_base.html:82 +#: stock/templates/stock/item_base.html:78 #: templates/js/translated/stock.js:1900 msgid "Remove stock" msgstr "" -#: stock/templates/stock/item_base.html:85 +#: stock/templates/stock/item_base.html:81 msgid "Serialize stock" msgstr "" -#: stock/templates/stock/item_base.html:88 +#: stock/templates/stock/item_base.html:84 #: stock/templates/stock/location.html:93 templates/js/translated/stock.js:1918 msgid "Transfer stock" msgstr "" -#: stock/templates/stock/item_base.html:91 +#: stock/templates/stock/item_base.html:87 #: templates/js/translated/stock.js:1973 msgid "Assign to customer" msgstr "" -#: stock/templates/stock/item_base.html:94 +#: stock/templates/stock/item_base.html:90 msgid "Return to stock" msgstr "" -#: stock/templates/stock/item_base.html:97 +#: stock/templates/stock/item_base.html:93 msgid "Uninstall stock item" msgstr "" -#: stock/templates/stock/item_base.html:97 +#: stock/templates/stock/item_base.html:93 msgid "Uninstall" msgstr "" -#: stock/templates/stock/item_base.html:101 +#: stock/templates/stock/item_base.html:97 msgid "Install stock item" msgstr "" -#: stock/templates/stock/item_base.html:101 +#: stock/templates/stock/item_base.html:97 msgid "Install" msgstr "" -#: stock/templates/stock/item_base.html:115 +#: stock/templates/stock/item_base.html:111 msgid "Convert to variant" msgstr "" -#: stock/templates/stock/item_base.html:118 +#: stock/templates/stock/item_base.html:114 msgid "Duplicate stock item" msgstr "" -#: stock/templates/stock/item_base.html:120 +#: stock/templates/stock/item_base.html:116 msgid "Edit stock item" msgstr "" -#: stock/templates/stock/item_base.html:123 +#: stock/templates/stock/item_base.html:119 msgid "Delete stock item" msgstr "" -#: stock/templates/stock/item_base.html:169 templates/InvenTree/search.html:139 +#: stock/templates/stock/item_base.html:165 templates/InvenTree/search.html:139 #: templates/js/translated/build.js:2298 templates/navbar.html:38 msgid "Build" msgstr "" -#: stock/templates/stock/item_base.html:211 +#: stock/templates/stock/item_base.html:207 msgid "No manufacturer set" msgstr "" -#: stock/templates/stock/item_base.html:251 +#: stock/templates/stock/item_base.html:247 msgid "You are not in the list of owners of this item. This stock item cannot be edited." msgstr "" -#: stock/templates/stock/item_base.html:252 +#: stock/templates/stock/item_base.html:248 #: stock/templates/stock/location.html:146 msgid "Read only" msgstr "" -#: stock/templates/stock/item_base.html:265 +#: stock/templates/stock/item_base.html:261 msgid "This stock item is unavailable" msgstr "" -#: stock/templates/stock/item_base.html:271 +#: stock/templates/stock/item_base.html:267 msgid "This stock item is in production and cannot be edited." msgstr "" -#: stock/templates/stock/item_base.html:272 +#: stock/templates/stock/item_base.html:268 msgid "Edit the stock item from the build view." msgstr "" -#: stock/templates/stock/item_base.html:287 +#: stock/templates/stock/item_base.html:283 msgid "This stock item is allocated to Sales Order" msgstr "" -#: stock/templates/stock/item_base.html:295 +#: stock/templates/stock/item_base.html:291 msgid "This stock item is allocated to Build Order" msgstr "" -#: stock/templates/stock/item_base.html:311 +#: stock/templates/stock/item_base.html:307 msgid "This stock item is serialized. It has a unique serial number and the quantity cannot be adjusted" msgstr "" -#: stock/templates/stock/item_base.html:317 +#: stock/templates/stock/item_base.html:313 msgid "previous page" msgstr "" -#: stock/templates/stock/item_base.html:317 +#: stock/templates/stock/item_base.html:313 msgid "Navigate to previous serial number" msgstr "" -#: stock/templates/stock/item_base.html:326 +#: stock/templates/stock/item_base.html:322 msgid "next page" msgstr "" -#: stock/templates/stock/item_base.html:326 +#: stock/templates/stock/item_base.html:322 msgid "Navigate to next serial number" msgstr "" -#: stock/templates/stock/item_base.html:398 +#: stock/templates/stock/item_base.html:394 #: templates/js/translated/build.js:2555 msgid "No location set" msgstr "" -#: stock/templates/stock/item_base.html:413 +#: stock/templates/stock/item_base.html:409 msgid "Tests" msgstr "" -#: stock/templates/stock/item_base.html:419 +#: stock/templates/stock/item_base.html:415 msgid "This stock item has not passed all required tests" msgstr "" -#: stock/templates/stock/item_base.html:437 +#: stock/templates/stock/item_base.html:433 #, python-format msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:439 +#: stock/templates/stock/item_base.html:435 #, python-format msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:455 +#: stock/templates/stock/item_base.html:451 msgid "No stocktake performed" msgstr "" -#: stock/templates/stock/item_base.html:504 +#: stock/templates/stock/item_base.html:500 #: templates/js/translated/stock.js:2038 msgid "stock item" msgstr "" -#: stock/templates/stock/item_base.html:527 +#: stock/templates/stock/item_base.html:523 msgid "Edit Stock Status" msgstr "" -#: stock/templates/stock/item_base.html:536 +#: stock/templates/stock/item_base.html:532 msgid "Stock Item QR Code" msgstr "" -#: stock/templates/stock/item_base.html:547 +#: stock/templates/stock/item_base.html:543 msgid "Link Barcode to Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:611 +#: stock/templates/stock/item_base.html:607 msgid "Select one of the part variants listed below." msgstr "" -#: stock/templates/stock/item_base.html:614 +#: stock/templates/stock/item_base.html:610 msgid "Warning" msgstr "" -#: stock/templates/stock/item_base.html:615 +#: stock/templates/stock/item_base.html:611 msgid "This action cannot be easily undone" msgstr "" -#: stock/templates/stock/item_base.html:623 +#: stock/templates/stock/item_base.html:619 msgid "Convert Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:656 +#: stock/templates/stock/item_base.html:652 msgid "Return to Stock" msgstr "" @@ -11310,7 +11379,7 @@ msgid "Delete Location Type" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:503 -#: templates/InvenTree/settings/stock.html:38 +#: templates/InvenTree/settings/stock.html:39 msgid "New Location Type" msgstr "" @@ -11367,7 +11436,7 @@ msgstr "" msgid "Stock Settings" msgstr "" -#: templates/InvenTree/settings/stock.html:34 +#: templates/InvenTree/settings/stock.html:35 msgid "Stock Location Types" msgstr "" @@ -11852,23 +11921,23 @@ msgstr "" msgid "Barcode Identifier" msgstr "" -#: templates/base.html:103 +#: templates/base.html:102 msgid "Server Restart Required" msgstr "" -#: templates/base.html:106 +#: templates/base.html:105 msgid "A configuration option has been changed which requires a server restart" msgstr "" -#: templates/base.html:106 templates/base.html:116 +#: templates/base.html:105 templates/base.html:115 msgid "Contact your system administrator for further information" msgstr "" -#: templates/base.html:113 +#: templates/base.html:112 msgid "Pending Database Migrations" msgstr "" -#: templates/base.html:116 +#: templates/base.html:115 msgid "There are pending database migrations which require attention" msgstr "" @@ -13946,10 +14015,6 @@ msgstr "" msgid "Delete line item" msgstr "" -#: templates/js/translated/report.js:49 -msgid "Print Report" -msgstr "" - #: templates/js/translated/report.js:68 msgid "Report print successful" msgstr "" diff --git a/src/backend/InvenTree/locale/de/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/de/LC_MESSAGES/django.po index 72004f82a4f1..03086912f8aa 100644 --- a/src/backend/InvenTree/locale/de/LC_MESSAGES/django.po +++ b/src/backend/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: 2024-08-29 07:07+0000\n" -"PO-Revision-Date: 2024-08-29 07:10\n" +"POT-Creation-Date: 2024-09-16 00:37+0000\n" +"PO-Revision-Date: 2024-09-16 00:40\n" "Last-Translator: \n" "Language-Team: German\n" "Language: de_DE\n" @@ -65,9 +65,9 @@ msgstr "Datum eingeben" #: 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:59 -#: part/models.py:3309 part/templates/part/part_sidebar.html:65 +#: part/models.py:3296 part/templates/part/part_sidebar.html:65 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/admin.py:231 stock/models.py:2369 stock/models.py:2557 +#: stock/admin.py:231 stock/models.py:2367 stock/models.py:2552 #: stock/serializers.py:705 stock/serializers.py:863 stock/serializers.py:989 #: stock/serializers.py:1039 stock/serializers.py:1350 #: stock/serializers.py:1439 stock/serializers.py:1604 @@ -364,7 +364,7 @@ msgstr "Chinesisch (Traditionell)" msgid "[{site_name}] Log in to the app" msgstr "[{site_name}] In App einloggen" -#: InvenTree/magic_login.py:38 InvenTree/serializers.py:413 +#: InvenTree/magic_login.py:38 InvenTree/serializers.py:416 #: company/models.py:133 company/templates/company/company_base.html:138 #: templates/InvenTree/settings/user.html:49 #: templates/js/translated/company.js:677 @@ -419,9 +419,9 @@ msgstr "Doppelte Namen können nicht unter dem selben Elternteil existieren" msgid "Invalid choice" msgstr "Ungültige Auswahl" -#: InvenTree/models.py:767 common/models.py:2704 common/models.py:3131 -#: common/models.py:3351 common/serializers.py:439 company/models.py:590 -#: machine/models.py:24 part/models.py:995 part/models.py:3776 +#: InvenTree/models.py:767 common/models.py:2705 common/models.py:3132 +#: common/models.py:3352 common/serializers.py:455 company/models.py:590 +#: machine/models.py:24 part/models.py:995 part/models.py:3763 #: plugin/models.py:51 report/models.py:149 stock/models.py:82 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -446,10 +446,10 @@ msgstr "Name" #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 order/models.py:289 #: order/models.py:1406 part/admin.py:305 part/admin.py:411 part/models.py:1018 -#: part/models.py:3791 part/templates/part/category.html:79 +#: part/models.py:3778 part/templates/part/category.html:79 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:155 -#: report/models.py:509 report/models.py:535 +#: report/models.py:517 report/models.py:543 #: report/templates/report/inventree_build_order_report.html:117 #: stock/admin.py:54 stock/models.py:88 stock/templates/stock/location.html:122 #: templates/InvenTree/settings/notifications.html:19 @@ -517,12 +517,12 @@ msgstr "Serverfehler" msgid "An error has been logged by the server." msgstr "Ein Fehler wurde vom Server protokolliert." -#: InvenTree/serializers.py:63 part/models.py:4400 +#: InvenTree/serializers.py:63 part/models.py:4387 msgid "Must be a valid number" msgstr "Muss eine gültige Nummer sein" #: InvenTree/serializers.py:100 company/models.py:183 -#: company/templates/company/company_base.html:112 part/models.py:3127 +#: company/templates/company/company_base.html:112 part/models.py:3114 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -536,43 +536,43 @@ msgstr "Währung aus verfügbaren Optionen auswählen" msgid "Username" msgstr "Benutzername" -#: InvenTree/serializers.py:407 templates/InvenTree/settings/user.html:37 +#: InvenTree/serializers.py:408 templates/InvenTree/settings/user.html:37 msgid "First Name" msgstr "Vorname" -#: InvenTree/serializers.py:407 +#: InvenTree/serializers.py:408 msgid "First name of the user" msgstr "Vorname des Benutzers" -#: InvenTree/serializers.py:410 templates/InvenTree/settings/user.html:41 +#: InvenTree/serializers.py:412 templates/InvenTree/settings/user.html:41 msgid "Last Name" msgstr "Nachname" -#: InvenTree/serializers.py:410 +#: InvenTree/serializers.py:412 msgid "Last name of the user" msgstr "Nachname des Benutzers" -#: InvenTree/serializers.py:413 +#: InvenTree/serializers.py:416 msgid "Email address of the user" msgstr "E-Mailadresse des Benutzers" -#: InvenTree/serializers.py:438 +#: InvenTree/serializers.py:441 msgid "Staff" msgstr "Mitarbeiter" -#: InvenTree/serializers.py:438 +#: InvenTree/serializers.py:441 msgid "Does this user have staff permissions" msgstr "Hat der Benutzer die Mitarbeiter Berechtigung" -#: InvenTree/serializers.py:441 +#: InvenTree/serializers.py:445 msgid "Superuser" msgstr "Administrator" -#: InvenTree/serializers.py:441 +#: InvenTree/serializers.py:445 msgid "Is this user a superuser" msgstr "Ist dieser Benutzer ein Administrator" -#: InvenTree/serializers.py:444 common/models.py:2709 company/models.py:160 +#: InvenTree/serializers.py:449 common/models.py:2710 company/models.py:160 #: company/models.py:798 machine/models.py:39 part/admin.py:88 #: part/models.py:1201 plugin/models.py:66 #: templates/js/translated/company.js:523 @@ -585,89 +585,89 @@ msgstr "Ist dieser Benutzer ein Administrator" msgid "Active" msgstr "Aktiv" -#: InvenTree/serializers.py:444 +#: InvenTree/serializers.py:449 msgid "Is this user account active" msgstr "Ist dieses Benutzerkonto aktiv" -#: InvenTree/serializers.py:462 +#: InvenTree/serializers.py:467 msgid "You do not have permission to change this user role." msgstr "Sie haben keine Berechtigung, diese Benutzerrolle zu ändern." -#: InvenTree/serializers.py:474 +#: InvenTree/serializers.py:503 msgid "Only superusers can create new users" msgstr "Nur Superuser können neue Benutzer erstellen" -#: InvenTree/serializers.py:493 +#: InvenTree/serializers.py:522 msgid "Your account has been created." msgstr "Ihr Konto wurde erstellt." -#: InvenTree/serializers.py:495 +#: InvenTree/serializers.py:524 msgid "Please use the password reset function to login" msgstr "Bitte benutzen Sie die Passwort-zurücksetzen-Funktion, um sich anzumelden" -#: InvenTree/serializers.py:502 +#: InvenTree/serializers.py:531 msgid "Welcome to InvenTree" msgstr "Willkommen bei InvenTree" -#: InvenTree/serializers.py:560 +#: InvenTree/serializers.py:589 msgid "Invalid value" msgstr "Ungültiger Wert" -#: InvenTree/serializers.py:580 importer/models.py:64 +#: InvenTree/serializers.py:609 importer/models.py:64 msgid "Data File" msgstr "Datendatei" -#: InvenTree/serializers.py:581 +#: InvenTree/serializers.py:610 msgid "Select data file for upload" msgstr "Neue Datei zum Hochladen auswählen" -#: InvenTree/serializers.py:598 +#: InvenTree/serializers.py:627 msgid "Unsupported file type" msgstr "Nicht unterstütztes Dateiformat" -#: InvenTree/serializers.py:604 +#: InvenTree/serializers.py:633 msgid "File is too large" msgstr "Datei ist zu groß" -#: InvenTree/serializers.py:625 +#: InvenTree/serializers.py:654 msgid "No columns found in file" msgstr "Keine Spalten in der Datei gefunden" -#: InvenTree/serializers.py:628 +#: InvenTree/serializers.py:657 msgid "No data rows found in file" msgstr "Keine Datensätze in der Datei gefunden" -#: InvenTree/serializers.py:740 +#: InvenTree/serializers.py:769 msgid "No data rows provided" msgstr "Keine Zeilen ausgewählt" -#: InvenTree/serializers.py:743 +#: InvenTree/serializers.py:772 msgid "No data columns supplied" msgstr "Keine Spalten angegeben" -#: InvenTree/serializers.py:809 +#: InvenTree/serializers.py:838 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "Erforderliche Spalte '{name}' fehlt" -#: InvenTree/serializers.py:818 +#: InvenTree/serializers.py:847 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "Doppelte Spalte: '{col}'" -#: InvenTree/serializers.py:857 +#: InvenTree/serializers.py:886 msgid "Remote Image" msgstr "Grafiken aus externen Quellen" -#: InvenTree/serializers.py:858 +#: InvenTree/serializers.py:887 msgid "URL of remote image file" msgstr "URL der Remote-Bilddatei" -#: InvenTree/serializers.py:876 +#: InvenTree/serializers.py:905 msgid "Downloading images from remote URL is not enabled" msgstr "Das Herunterladen von Bildern von Remote-URLs ist nicht aktiviert" -#: InvenTree/status.py:65 part/serializers.py:1267 +#: InvenTree/status.py:65 part/serializers.py:1265 msgid "Background worker check failed" msgstr "Hintergrund-Prozess-Kontrolle fehlgeschlagen" @@ -753,13 +753,13 @@ msgstr "Aufgegeben von" #: build/api.py:114 msgid "Assigned To" -msgstr "" +msgstr "Zugewiesen zu" #: build/api.py:275 msgid "Build must be cancelled before it can be deleted" msgstr "Bauauftrag muss abgebrochen werden, bevor er gelöscht werden kann" -#: build/api.py:319 build/serializers.py:1332 part/models.py:4278 +#: build/api.py:319 build/serializers.py:1332 part/models.py:4265 #: templates/js/translated/bom.js:997 templates/js/translated/bom.js:1037 #: templates/js/translated/build.js:2705 #: templates/js/translated/table_filters.js:197 @@ -767,7 +767,7 @@ msgstr "Bauauftrag muss abgebrochen werden, bevor er gelöscht werden kann" msgid "Consumable" msgstr "Verbrauchsmaterial" -#: build/api.py:320 build/serializers.py:1333 part/models.py:4272 +#: build/api.py:320 build/serializers.py:1333 part/models.py:4259 #: part/templates/part/upload_bom.html:58 templates/js/translated/bom.js:1001 #: templates/js/translated/bom.js:1028 templates/js/translated/build.js:2696 #: templates/js/translated/table_filters.js:193 @@ -777,7 +777,7 @@ msgid "Optional" msgstr "Optional" #: build/api.py:321 common/models.py:1491 part/admin.py:91 part/admin.py:428 -#: part/models.py:1166 part/serializers.py:1596 +#: part/models.py:1166 part/serializers.py:1594 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:337 #: templates/js/translated/table_filters.js:729 @@ -816,7 +816,7 @@ msgstr "Zugeordnet" msgid "Available" msgstr "Verfügbar" -#: build/models.py:87 build/templates/build/build_base.html:9 +#: build/models.py:88 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_report.html:105 #: stock/serializers.py:85 templates/email/build_order_completed.html:16 @@ -825,7 +825,7 @@ msgstr "Verfügbar" msgid "Build Order" msgstr "Bauauftrag" -#: build/models.py:88 build/templates/build/build_base.html:13 +#: build/models.py:89 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:111 #: order/templates/order/so_sidebar.html:13 @@ -838,7 +838,7 @@ msgstr "Bauaufträge" #: build/models.py:136 msgid "Assembly BOM has not been validated" -msgstr "" +msgstr "Die Stückliste wurde noch nicht kontrolliert" #: build/models.py:143 msgid "Build order cannot be created for an inactive part" @@ -866,7 +866,7 @@ msgstr "Bauauftragsreferenz" #: build/models.py:243 build/serializers.py:1331 order/models.py:468 #: order/models.py:979 order/models.py:1366 order/models.py:2128 -#: part/admin.py:414 part/models.py:4293 part/templates/part/upload_bom.html:54 +#: part/admin.py:414 part/models.py:4280 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 @@ -892,11 +892,11 @@ msgstr "Bauauftrag, zu dem dieser Bauauftrag zugwiesen ist" #: build/templates/build/build_base.html:105 #: build/templates/build/detail.html:29 company/models.py:1043 order/api.py:761 #: order/models.py:1496 order/models.py:1651 order/models.py:1652 -#: part/api.py:1506 part/api.py:1806 part/models.py:419 part/models.py:3138 -#: part/models.py:3282 part/models.py:3430 part/models.py:3451 -#: part/models.py:3473 part/models.py:3609 part/models.py:3951 -#: part/models.py:4114 part/models.py:4244 part/models.py:4602 -#: part/serializers.py:1213 part/serializers.py:1857 +#: part/api.py:1506 part/api.py:1806 part/models.py:419 part/models.py:3125 +#: part/models.py:3269 part/models.py:3417 part/models.py:3438 +#: part/models.py:3460 part/models.py:3596 part/models.py:3938 +#: part/models.py:4101 part/models.py:4231 part/models.py:4595 +#: part/serializers.py:1211 part/serializers.py:1855 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -1063,12 +1063,12 @@ msgstr "Benutzer oder Gruppe verantwortlich für diesen Bauauftrag" #: order/templates/order/return_order_base.html:148 #: order/templates/order/sales_order_base.html:187 #: part/templates/part/part_base.html:399 stock/models.py:859 -#: stock/templates/stock/item_base.html:200 +#: stock/templates/stock/item_base.html:196 #: templates/js/translated/company.js:1019 msgid "External Link" msgstr "Externer Link" -#: build/models.py:378 common/models.py:3272 part/models.py:1070 +#: build/models.py:378 common/models.py:3273 part/models.py:1070 #: stock/models.py:859 msgid "Link to external URL" msgstr "Link zu einer externen URL" @@ -1110,7 +1110,7 @@ msgstr "Bauauftrag {build} wurde fertiggestellt" msgid "A build order has been completed" msgstr "Ein Bauauftrag wurde fertiggestellt" -#: build/models.py:968 build/models.py:1056 +#: build/models.py:968 build/models.py:1057 msgid "No build output specified" msgstr "kein Endprodukt angegeben" @@ -1122,37 +1122,37 @@ msgstr "Endprodukt bereits hergstellt" msgid "Build output does not match Build Order" msgstr "Endprodukt stimmt nicht mit dem Bauauftrag überein" -#: build/models.py:1060 build/serializers.py:279 build/serializers.py:328 +#: build/models.py:1061 build/serializers.py:279 build/serializers.py:328 #: build/serializers.py:959 order/models.py:565 order/serializers.py:500 -#: order/serializers.py:666 part/serializers.py:1590 part/serializers.py:2019 +#: order/serializers.py:666 part/serializers.py:1588 part/serializers.py:2017 #: stock/models.py:704 stock/models.py:1515 stock/serializers.py:676 msgid "Quantity must be greater than zero" msgstr "Anzahl muss größer Null sein" -#: build/models.py:1065 build/serializers.py:284 +#: build/models.py:1066 build/serializers.py:284 msgid "Quantity cannot be greater than the output quantity" msgstr "Menge kann nicht größer als die Ausgangsmenge sein" -#: build/models.py:1125 build/serializers.py:607 +#: build/models.py:1126 build/serializers.py:607 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "Build Ausgabe {serial} hat nicht alle erforderlichen Tests bestanden" -#: build/models.py:1466 +#: build/models.py:1477 msgid "Build Order Line Item" msgstr "" -#: build/models.py:1491 +#: build/models.py:1502 msgid "Build object" msgstr "Objekt bauen" -#: build/models.py:1505 build/models.py:1761 build/serializers.py:266 +#: build/models.py:1516 build/models.py:1775 build/serializers.py:266 #: build/serializers.py:313 build/serializers.py:1339 #: build/templates/build/build_base.html:110 -#: build/templates/build/detail.html:34 common/models.py:2581 +#: build/templates/build/detail.html:34 common/models.py:2582 #: order/models.py:1349 order/models.py:2034 order/serializers.py:1464 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:413 -#: part/forms.py:48 part/models.py:3296 part/models.py:4266 +#: part/forms.py:48 part/models.py:3283 part/models.py:4253 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1163,9 +1163,9 @@ msgstr "Objekt bauen" #: report/templates/report/inventree_test_report.html:90 #: report/templates/report/inventree_test_report.html:169 stock/admin.py:160 #: stock/serializers.py:128 stock/serializers.py:168 stock/serializers.py:667 -#: stock/templates/stock/item_base.html:287 -#: stock/templates/stock/item_base.html:295 -#: stock/templates/stock/item_base.html:342 +#: stock/templates/stock/item_base.html:283 +#: stock/templates/stock/item_base.html:291 +#: stock/templates/stock/item_base.html:338 #: templates/email/build_order_completed.html:18 #: templates/js/translated/barcode.js:579 templates/js/translated/bom.js:771 #: templates/js/translated/bom.js:981 templates/js/translated/build.js:525 @@ -1194,41 +1194,41 @@ msgstr "Objekt bauen" msgid "Quantity" msgstr "Anzahl" -#: build/models.py:1506 +#: build/models.py:1517 msgid "Required quantity for build order" msgstr "Erforderliche Menge für Auftrag" -#: build/models.py:1586 +#: build/models.py:1597 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:1595 +#: build/models.py:1606 #, 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:1605 order/models.py:1985 +#: build/models.py:1616 order/models.py:1985 msgid "Stock item is over-allocated" msgstr "BestandObjekt ist zu oft zugewiesen" -#: build/models.py:1611 order/models.py:1988 +#: build/models.py:1622 order/models.py:1988 msgid "Allocation quantity must be greater than zero" msgstr "Reserviermenge muss größer null sein" -#: build/models.py:1617 +#: build/models.py:1628 msgid "Quantity must be 1 for serialized stock" msgstr "Anzahl muss 1 für Objekte mit Seriennummer sein" -#: build/models.py:1676 +#: build/models.py:1687 msgid "Selected stock item does not match BOM line" msgstr "Ausgewählter Lagerbestand stimmt nicht mit BOM-Linie überein" -#: build/models.py:1748 build/serializers.py:939 order/serializers.py:1301 +#: build/models.py:1762 build/serializers.py:939 order/serializers.py:1301 #: order/serializers.py:1322 stock/models.py:381 stock/serializers.py:94 #: stock/serializers.py:770 stock/serializers.py:1288 stock/serializers.py:1400 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 -#: stock/templates/stock/item_base.html:194 +#: stock/templates/stock/item_base.html:190 #: templates/js/translated/build.js:1921 #: templates/js/translated/sales_order.js:301 #: templates/js/translated/sales_order.js:1234 @@ -1241,19 +1241,19 @@ msgstr "Ausgewählter Lagerbestand stimmt nicht mit BOM-Linie überein" msgid "Stock Item" msgstr "Lagerartikel" -#: build/models.py:1749 +#: build/models.py:1763 msgid "Source stock item" msgstr "Quell-Lagerartikel" -#: build/models.py:1762 +#: build/models.py:1776 msgid "Stock quantity to allocate to build" msgstr "Anzahl an Lagerartikel dem Bauauftrag zuweisen" -#: build/models.py:1770 +#: build/models.py:1784 msgid "Install into" msgstr "Installiere in" -#: build/models.py:1771 +#: build/models.py:1785 msgid "Destination stock item" msgstr "Ziel-Lagerartikel" @@ -1262,7 +1262,7 @@ msgid "Build Level" msgstr "" #: build/serializers.py:115 build/serializers.py:1234 build/serializers.py:1323 -#: part/admin.py:41 part/admin.py:408 part/models.py:4116 part/stocktake.py:219 +#: part/admin.py:41 part/admin.py:408 part/models.py:4103 part/stocktake.py:219 #: stock/admin.py:157 msgid "Part Name" msgstr "Name des Teils" @@ -1323,10 +1323,10 @@ msgid "Enter serial numbers for build outputs" msgstr "Seriennummer für dieses Endprodukt eingeben" #: build/serializers.py:359 build/serializers.py:500 build/serializers.py:572 -#: order/serializers.py:655 order/serializers.py:778 order/serializers.py:1789 -#: part/serializers.py:1233 stock/serializers.py:103 stock/serializers.py:698 +#: order/serializers.py:655 order/serializers.py:778 order/serializers.py:1797 +#: part/serializers.py:1231 stock/serializers.py:103 stock/serializers.py:698 #: stock/serializers.py:858 stock/serializers.py:984 stock/serializers.py:1432 -#: stock/serializers.py:1688 stock/templates/stock/item_base.html:394 +#: stock/serializers.py:1688 stock/templates/stock/item_base.html:390 #: templates/js/translated/barcode.js:578 #: templates/js/translated/barcode.js:826 templates/js/translated/build.js:1035 #: templates/js/translated/build.js:1177 templates/js/translated/build.js:2547 @@ -1390,7 +1390,7 @@ msgstr "Lagerort für fertige Endprodukte" #: build/templates/build/detail.html:62 order/models.py:477 #: order/models.py:1003 order/models.py:2152 order/serializers.py:687 #: stock/admin.py:165 stock/serializers.py:1035 stock/serializers.py:1576 -#: stock/templates/stock/item_base.html:427 +#: stock/templates/stock/item_base.html:423 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2366 #: templates/js/translated/purchase_order.js:1371 #: templates/js/translated/purchase_order.js:1792 @@ -1522,7 +1522,7 @@ msgstr "Für Zuweisung von verfolgten Teilen muss ein Endprodukt angegeben sein" 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:1030 order/serializers.py:1614 +#: build/serializers.py:1030 order/serializers.py:1622 msgid "Allocation items must be provided" msgstr "Zuweisungen müssen angegeben werden" @@ -1590,7 +1590,7 @@ msgstr "" #: build/serializers.py:1230 company/models.py:849 #: company/templates/company/supplier_part.html:160 order/serializers.py:691 #: stock/admin.py:229 stock/models.py:822 stock/serializers.py:1586 -#: stock/templates/stock/item_base.html:240 +#: stock/templates/stock/item_base.html:236 #: templates/js/translated/company.js:1646 #: templates/js/translated/purchase_order.js:1169 #: templates/js/translated/purchase_order.js:1332 @@ -1600,12 +1600,12 @@ msgid "Packaging" msgstr "Verpackungen" #: build/serializers.py:1233 part/admin.py:39 part/admin.py:398 -#: part/models.py:4115 part/stocktake.py:218 stock/admin.py:153 +#: part/models.py:4102 part/stocktake.py:218 stock/admin.py:153 msgid "Part ID" msgstr "Teil-ID" #: build/serializers.py:1235 build/serializers.py:1324 part/admin.py:402 -#: part/models.py:4117 +#: part/models.py:4104 msgid "Part IPN" msgstr "Teil IPN" @@ -1625,7 +1625,7 @@ msgstr "" #: build/serializers.py:1243 #: report/templates/report/inventree_return_order_report.html:25 #: report/templates/report/inventree_test_report.html:88 stock/models.py:849 -#: stock/serializers.py:152 stock/templates/stock/item_base.html:311 +#: stock/serializers.py:152 stock/templates/stock/item_base.html:307 #: templates/js/translated/build.js:523 templates/js/translated/build.js:1543 #: templates/js/translated/build.js:2530 #: templates/js/translated/model_renderers.js:231 @@ -1644,7 +1644,7 @@ msgstr "Seriennummer" msgid "Allocated Quantity" msgstr "Zugewiesene Menge" -#: build/serializers.py:1257 stock/templates/stock/item_base.html:340 +#: build/serializers.py:1257 stock/templates/stock/item_base.html:336 msgid "Available Quantity" msgstr "Verfügbare Menge" @@ -1667,13 +1667,13 @@ msgstr "Nachverfolgbar" msgid "Inherited" msgstr "Vererbt" -#: build/serializers.py:1337 part/models.py:4326 +#: build/serializers.py:1337 part/models.py:4313 #: part/templates/part/upload_bom.html:56 templates/js/translated/bom.js:1046 #: templates/js/translated/build.js:2714 msgid "Allow Variants" msgstr "Varianten zulassen" -#: build/serializers.py:1341 part/models.py:4124 part/models.py:4594 +#: build/serializers.py:1341 part/models.py:4111 part/models.py:4587 #: stock/api.py:793 msgid "BOM Item" msgstr "Stücklisten-Position" @@ -1684,7 +1684,7 @@ msgid "Allocated Stock" msgstr "Zugewiesener Bestand" #: build/serializers.py:1355 order/serializers.py:1179 part/admin.py:132 -#: part/bom.py:186 part/serializers.py:920 part/serializers.py:1623 +#: part/bom.py:186 part/serializers.py:918 part/serializers.py:1621 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 #: templates/js/translated/build.js:2807 templates/js/translated/part.js:712 #: templates/js/translated/part.js:2155 @@ -1692,13 +1692,13 @@ msgstr "Zugewiesener Bestand" msgid "On Order" msgstr "Bestellt" -#: build/serializers.py:1360 order/serializers.py:1180 part/serializers.py:1625 +#: build/serializers.py:1360 order/serializers.py:1180 part/serializers.py:1623 #: templates/js/translated/build.js:2811 #: templates/js/translated/table_filters.js:367 msgid "In Production" msgstr "In Produktion" -#: build/serializers.py:1365 part/bom.py:185 part/serializers.py:1650 +#: build/serializers.py:1365 part/bom.py:185 part/serializers.py:1648 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" @@ -1716,7 +1716,7 @@ msgstr "" msgid "Total Available Stock" msgstr "" -#: build/serializers.py:1372 part/serializers.py:927 +#: build/serializers.py:1372 part/serializers.py:925 msgid "External Stock" msgstr "Externes Lager" @@ -1745,7 +1745,7 @@ msgstr "Storniert" #: importer/status_codes.py:27 order/status_codes.py:15 #: order/status_codes.py:50 order/status_codes.py:81 #: order/templates/order/order_base.html:163 -#: order/templates/order/sales_order_base.html:168 report/models.py:443 +#: order/templates/order/sales_order_base.html:168 report/models.py:451 msgid "Complete" msgstr "Fertig" @@ -1849,9 +1849,6 @@ msgid "Delete Build" msgstr "Bauauftrag löschen" #: build/templates/build/build_base.html:87 -msgid "Isueue Build" -msgstr "" - #: build/templates/build/build_base.html:88 msgid "Issue Build" msgstr "" @@ -1931,7 +1928,7 @@ msgstr "Fertiggestellte Endprodukte" #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_report.html:135 #: report/templates/report/inventree_sales_order_report.html:14 -#: stock/templates/stock/item_base.html:369 +#: stock/templates/stock/item_base.html:365 #: templates/email/overdue_sales_order.html:15 #: templates/js/translated/pricing.js:929 #: templates/js/translated/sales_order.js:805 @@ -1991,7 +1988,7 @@ msgid "Allocated Parts" msgstr "Zugewiesene Teile" #: build/templates/build/detail.html:80 stock/admin.py:163 -#: stock/templates/stock/item_base.html:162 +#: stock/templates/stock/item_base.html:158 #: templates/js/translated/build.js:1556 #: templates/js/translated/model_renderers.js:242 #: templates/js/translated/purchase_order.js:1326 @@ -2148,19 +2145,19 @@ msgstr "Unfertige Endprodukte" msgid "Test Statistics" msgstr "" -#: common/api.py:692 +#: common/api.py:725 msgid "Is Link" msgstr "Link" -#: common/api.py:700 +#: common/api.py:733 msgid "Is File" msgstr "Datei" -#: common/api.py:743 +#: common/api.py:776 msgid "User does not have permission to delete these attachments" msgstr "" -#: common/api.py:760 +#: common/api.py:793 msgid "User does not have permission to delete this attachment" msgstr "Benutzer hat keine Berechtigung zum Löschen des Anhangs" @@ -2352,8 +2349,8 @@ msgstr "Wie oft Wechselkurse aktualisiert werden sollen (auf Null zum Deaktivier #: common/models.py:1297 common/models.py:1353 common/models.py:1366 #: common/models.py:1374 common/models.py:1383 common/models.py:1392 -#: common/models.py:1629 common/models.py:1651 common/models.py:1766 -#: common/models.py:2148 +#: common/models.py:1629 common/models.py:1651 common/models.py:1752 +#: common/models.py:2141 msgid "days" msgstr "Tage" @@ -2581,9 +2578,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:1485 part/admin.py:108 part/models.py:3959 -#: report/models.py:293 report/models.py:360 report/serializers.py:90 -#: report/serializers.py:131 stock/serializers.py:233 +#: common/models.py:1485 part/admin.py:108 part/models.py:3946 +#: report/models.py:301 report/models.py:368 report/serializers.py:91 +#: report/serializers.py:132 stock/serializers.py:233 #: templates/js/translated/table_filters.js:138 #: templates/js/translated/table_filters.js:775 msgid "Template" @@ -2598,7 +2595,7 @@ msgid "Parts can be assembled from other components by default" msgstr "Teile können standardmäßig aus anderen Teilen angefertigt werden" #: common/models.py:1497 part/admin.py:95 part/models.py:1172 -#: part/serializers.py:1617 templates/js/translated/table_filters.js:737 +#: part/serializers.py:1615 templates/js/translated/table_filters.js:737 msgid "Component" msgstr "Komponente" @@ -2823,7 +2820,7 @@ msgid "Log errors which occur when generating reports" msgstr "Fehler, die beim Erstellen von Berichten auftreten, protokollieren" #: common/models.py:1702 plugin/builtin/labels/label_sheet.py:28 -#: report/models.py:301 +#: report/models.py:309 msgid "Page Size" msgstr "Seitengröße" @@ -2832,914 +2829,914 @@ msgid "Default page size for PDF reports" msgstr "Standardseitenformat für PDF-Bericht" #: common/models.py:1708 -msgid "Enable Test Reports" -msgstr "Testberichte aktivieren" - -#: common/models.py:1709 -msgid "Enable generation of test reports" -msgstr "Erstellung von Test-Berichten aktivieren" - -#: common/models.py:1714 -msgid "Attach Test Reports" -msgstr "Testberichte anhängen" - -#: common/models.py:1716 -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:1722 msgid "Globally Unique Serials" msgstr "Global einzigartige Seriennummern" -#: common/models.py:1723 +#: common/models.py:1709 msgid "Serial numbers for stock items must be globally unique" msgstr "Seriennummern für Lagerartikel müssen global eindeutig sein" -#: common/models.py:1728 +#: common/models.py:1714 msgid "Autofill Serial Numbers" msgstr "Seriennummern automatisch ausfüllen" -#: common/models.py:1729 +#: common/models.py:1715 msgid "Autofill serial numbers in forms" msgstr "Seriennummern in Formularen automatisch ausfüllen" -#: common/models.py:1734 +#: common/models.py:1720 msgid "Delete Depleted Stock" msgstr "Erschöpften Lagerartikel löschen" -#: common/models.py:1736 +#: common/models.py:1722 msgid "Determines default behavior when a stock item is depleted" msgstr "Legt das Standardverhalten fest, wenn ein Lagerartikel aufgebraucht ist" -#: common/models.py:1742 +#: common/models.py:1728 msgid "Batch Code Template" msgstr "Losnummer Vorlage" -#: common/models.py:1744 +#: common/models.py:1730 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:1749 +#: common/models.py:1735 msgid "Stock Expiry" msgstr "Bestands-Ablauf" -#: common/models.py:1750 +#: common/models.py:1736 msgid "Enable stock expiry functionality" msgstr "Ablaufen von Bestand ermöglichen" -#: common/models.py:1755 +#: common/models.py:1741 msgid "Sell Expired Stock" msgstr "Abgelaufenen Bestand verkaufen" -#: common/models.py:1756 +#: common/models.py:1742 msgid "Allow sale of expired stock" msgstr "Verkauf von abgelaufenem Bestand erlaubt" -#: common/models.py:1761 +#: common/models.py:1747 msgid "Stock Stale Time" msgstr "Bestands-Stehzeit" -#: common/models.py:1763 +#: common/models.py:1749 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:1770 +#: common/models.py:1756 msgid "Build Expired Stock" msgstr "Abgelaufenen Bestand verbauen" -#: common/models.py:1771 +#: common/models.py:1757 msgid "Allow building with expired stock" msgstr "Verbauen von abgelaufenen Bestand erlaubt" -#: common/models.py:1776 +#: common/models.py:1762 msgid "Stock Ownership Control" msgstr "Bestands-Eigentümerkontrolle" -#: common/models.py:1777 +#: common/models.py:1763 msgid "Enable ownership control over stock locations and items" msgstr "Eigentümerkontrolle für Lagerorte und Teile aktivieren" -#: common/models.py:1782 +#: common/models.py:1768 msgid "Stock Location Default Icon" msgstr "Standardsymbol für Lagerort" -#: common/models.py:1783 +#: common/models.py:1769 msgid "Stock location default icon (empty means no icon)" msgstr "Standardsymbol für Lagerstandort (leer bedeutet kein Symbol)" -#: common/models.py:1788 +#: common/models.py:1774 msgid "Show Installed Stock Items" msgstr "Zeige installierte Lagerartikel" -#: common/models.py:1789 +#: common/models.py:1775 msgid "Display installed stock items in stock tables" msgstr "Anzeige der installierten Lagerartikel in Bestandstabellen" -#: common/models.py:1794 +#: common/models.py:1780 msgid "Check BOM when installing items" msgstr "Prüfe BOM bei der Installation von Elementen" -#: common/models.py:1796 +#: common/models.py:1782 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "Installierte Lagerbestandteile müssen im BOM für den übergeordneten Teil vorhanden sein" -#: common/models.py:1802 +#: common/models.py:1788 msgid "Allow Out of Stock Transfer" msgstr "Erlaube Verschieben von \"nicht auf Lager\" Bestand" -#: common/models.py:1804 +#: common/models.py:1790 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "Lagerartikel, die nicht auf Lager sind, können zwischen Lagerstandorten übertragen werden" -#: common/models.py:1810 +#: common/models.py:1796 msgid "Build Order Reference Pattern" msgstr "Bauauftragsreferenz-Muster" -#: common/models.py:1812 +#: common/models.py:1798 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:1818 common/models.py:1874 common/models.py:1896 -#: common/models.py:1932 +#: common/models.py:1804 common/models.py:1860 common/models.py:1882 +#: common/models.py:1918 msgid "Require Responsible Owner" msgstr "Verantwortlicher Besitzer erforderlich" -#: common/models.py:1819 common/models.py:1875 common/models.py:1897 -#: common/models.py:1933 +#: common/models.py:1805 common/models.py:1861 common/models.py:1883 +#: common/models.py:1919 msgid "A responsible owner must be assigned to each order" msgstr "Jeder Bestellung muss ein verantwortlicher Besitzer zugewiesen werden" -#: common/models.py:1824 +#: common/models.py:1810 msgid "Require Active Part" msgstr "" -#: common/models.py:1825 +#: common/models.py:1811 msgid "Prevent build order creation for inactive parts" msgstr "" -#: common/models.py:1830 +#: common/models.py:1816 msgid "Require Locked Part" msgstr "" -#: common/models.py:1831 +#: common/models.py:1817 msgid "Prevent build order creation for unlocked parts" msgstr "" -#: common/models.py:1836 +#: common/models.py:1822 msgid "Require Valid BOM" msgstr "" -#: common/models.py:1838 +#: common/models.py:1824 msgid "Prevent build order creation unless BOM has been validated" msgstr "" -#: common/models.py:1844 +#: common/models.py:1830 msgid "Require Closed Child Orders" msgstr "" -#: common/models.py:1846 +#: common/models.py:1832 msgid "Prevent build order completion until all child orders are closed" msgstr "" -#: common/models.py:1852 +#: common/models.py:1838 msgid "Block Until Tests Pass" msgstr "Blockieren bis Test bestanden" -#: common/models.py:1854 +#: common/models.py:1840 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "Verhindert die Fertigstellung bis alle erforderlichen Tests bestanden sind" -#: common/models.py:1860 +#: common/models.py:1846 msgid "Enable Return Orders" msgstr "Rücksendungen aktivieren" -#: common/models.py:1861 +#: common/models.py:1847 msgid "Enable return order functionality in the user interface" msgstr "Aktivieren der Rücksendung-Funktion in der Benutzeroberfläche" -#: common/models.py:1866 +#: common/models.py:1852 msgid "Return Order Reference Pattern" msgstr "Referenz Muster für Rücksendungen" -#: common/models.py:1868 +#: common/models.py:1854 msgid "Required pattern for generating Return Order reference field" msgstr "Benötigtes Muster für die Generierung des Referenzfeldes für Rücksendungen" -#: common/models.py:1880 +#: common/models.py:1866 msgid "Edit Completed Return Orders" msgstr "Abgeschlossene Rücksendungen bearbeiten" -#: common/models.py:1882 +#: common/models.py:1868 msgid "Allow editing of return orders after they have been completed" msgstr "Bearbeitung von Rücksendungen nach Abschluss erlauben" -#: common/models.py:1888 +#: common/models.py:1874 msgid "Sales Order Reference Pattern" msgstr "Auftragsreferenz-Muster" -#: common/models.py:1890 +#: common/models.py:1876 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:1902 +#: common/models.py:1888 msgid "Sales Order Default Shipment" msgstr "Auftrag Standardsendung" -#: common/models.py:1903 +#: common/models.py:1889 msgid "Enable creation of default shipment with sales orders" msgstr "Erstelle eine Standardsendung für Aufträge" -#: common/models.py:1908 +#: common/models.py:1894 msgid "Edit Completed Sales Orders" msgstr "Abgeschlossene Aufträge bearbeiten" -#: common/models.py:1910 +#: common/models.py:1896 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "Bearbeitung von Aufträgen nach Versand oder Abschluss erlauben" -#: common/models.py:1916 +#: common/models.py:1902 msgid "Mark Shipped Orders as Complete" msgstr "Versendete Bestellungen als abgeschlossen markieren" -#: common/models.py:1918 +#: common/models.py:1904 msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status" msgstr "Als versendet markierte Aufträge werden automatisch abgeschlossen und überspringen den Status \"Versandt\"" -#: common/models.py:1924 +#: common/models.py:1910 msgid "Purchase Order Reference Pattern" msgstr "Bestellungsreferenz-Muster" -#: common/models.py:1926 +#: common/models.py:1912 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:1938 +#: common/models.py:1924 msgid "Edit Completed Purchase Orders" msgstr "Abgeschlossene Einkaufsaufträge bearbeiten" -#: common/models.py:1940 +#: common/models.py:1926 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:1946 +#: common/models.py:1932 msgid "Auto Complete Purchase Orders" msgstr "Bestellungen automatisch abschließen" -#: common/models.py:1948 +#: common/models.py:1934 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "Bestellung automatisch als abgeschlossen markieren, wenn der Empfang aller Artikel bestätigt wurde" -#: common/models.py:1955 +#: common/models.py:1941 msgid "Enable password forgot" msgstr "Passwort vergessen aktivieren" -#: common/models.py:1956 +#: common/models.py:1942 msgid "Enable password forgot function on the login pages" msgstr "Passwort-vergessen-Funktion auf den Anmeldeseiten aktivieren" -#: common/models.py:1961 +#: common/models.py:1947 msgid "Enable registration" msgstr "Registrierung erlauben" -#: common/models.py:1962 +#: common/models.py:1948 msgid "Enable self-registration for users on the login pages" msgstr "Selbstregistrierung für Benutzer auf den Anmeldeseiten aktivieren" -#: common/models.py:1967 +#: common/models.py:1953 msgid "Enable SSO" msgstr "SSO aktivieren" -#: common/models.py:1968 +#: common/models.py:1954 msgid "Enable SSO on the login pages" msgstr "SSO auf den Anmeldeseiten aktivieren" -#: common/models.py:1973 +#: common/models.py:1959 msgid "Enable SSO registration" msgstr "SSO Selbstregistrierung aktivieren" -#: common/models.py:1975 +#: common/models.py:1961 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:1981 +#: common/models.py:1967 msgid "Enable SSO group sync" msgstr "SSO Gruppensynchronisation aktivieren" -#: common/models.py:1983 +#: common/models.py:1969 msgid "Enable synchronizing InvenTree groups with groups provided by the IdP" msgstr "" -#: common/models.py:1989 +#: common/models.py:1975 msgid "SSO group key" msgstr "SSO Gruppenschlüssel" -#: common/models.py:1991 +#: common/models.py:1977 msgid "The name of the groups claim attribute provided by the IdP" msgstr "" -#: common/models.py:1997 +#: common/models.py:1983 msgid "SSO group map" msgstr "" -#: common/models.py:1999 +#: common/models.py:1985 msgid "A mapping from SSO groups to local InvenTree groups. If the local group does not exist, it will be created." msgstr "" -#: common/models.py:2005 +#: common/models.py:1991 msgid "Remove groups outside of SSO" msgstr "" -#: common/models.py:2007 +#: common/models.py:1993 msgid "Whether groups assigned to the user should be removed if they are not backend by the IdP. Disabling this setting might cause security issues" msgstr "" -#: common/models.py:2013 +#: common/models.py:1999 msgid "Email required" msgstr "Email-Adresse erforderlich" -#: common/models.py:2014 +#: common/models.py:2000 msgid "Require user to supply mail on signup" msgstr "Benutzer müssen bei der Registrierung eine E-Mail angeben" -#: common/models.py:2019 +#: common/models.py:2005 msgid "Auto-fill SSO users" msgstr "SSO-Benutzer automatisch ausfüllen" -#: common/models.py:2021 +#: common/models.py:2007 msgid "Automatically fill out user-details from SSO account-data" msgstr "Benutzer-Details automatisch aus SSO-Konto ausfüllen" -#: common/models.py:2027 +#: common/models.py:2013 msgid "Mail twice" msgstr "E-Mail zweimal" -#: common/models.py:2028 +#: common/models.py:2014 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:2033 +#: common/models.py:2019 msgid "Password twice" msgstr "Passwort zweimal" -#: common/models.py:2034 +#: common/models.py:2020 msgid "On signup ask users twice for their password" msgstr "Bei der Registrierung den Benutzer zweimal nach dem Passwort fragen" -#: common/models.py:2039 +#: common/models.py:2025 msgid "Allowed domains" msgstr "Erlaubte Domains" -#: common/models.py:2041 +#: common/models.py:2027 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "Anmeldung auf bestimmte Domänen beschränken (kommagetrennt, beginnend mit @)" -#: common/models.py:2047 +#: common/models.py:2033 msgid "Group on signup" msgstr "Gruppe bei Registrierung" -#: common/models.py:2049 +#: common/models.py:2035 msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP." msgstr "" -#: common/models.py:2055 +#: common/models.py:2041 msgid "Enforce MFA" msgstr "MFA erzwingen" -#: common/models.py:2056 +#: common/models.py:2042 msgid "Users must use multifactor security." msgstr "Benutzer müssen Multifaktor-Authentifizierung verwenden." -#: common/models.py:2061 +#: common/models.py:2047 msgid "Check plugins on startup" msgstr "Plugins beim Start prüfen" -#: common/models.py:2063 +#: common/models.py:2049 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:2071 +#: common/models.py:2057 msgid "Check for plugin updates" msgstr "Nach Plugin-Aktualisierungen suchen" -#: common/models.py:2072 +#: common/models.py:2058 msgid "Enable periodic checks for updates to installed plugins" msgstr "Periodische Überprüfungen auf Updates für installierte Plugins aktivieren" -#: common/models.py:2078 +#: common/models.py:2064 msgid "Enable URL integration" msgstr "URL-Integration aktivieren" -#: common/models.py:2079 +#: common/models.py:2065 msgid "Enable plugins to add URL routes" msgstr "Plugins zum Hinzufügen von URLs aktivieren" -#: common/models.py:2085 +#: common/models.py:2071 msgid "Enable navigation integration" msgstr "Navigations-Integration aktivieren" -#: common/models.py:2086 +#: common/models.py:2072 msgid "Enable plugins to integrate into navigation" msgstr "Plugins zur Integration in die Navigation aktivieren" -#: common/models.py:2092 +#: common/models.py:2078 msgid "Enable app integration" msgstr "App-Integration aktivieren" -#: common/models.py:2093 +#: common/models.py:2079 msgid "Enable plugins to add apps" msgstr "Plugins zum Hinzufügen von Apps aktivieren" -#: common/models.py:2099 +#: common/models.py:2085 msgid "Enable schedule integration" msgstr "Terminplan-Integration aktivieren" -#: common/models.py:2100 +#: common/models.py:2086 msgid "Enable plugins to run scheduled tasks" msgstr "Geplante Aufgaben aktivieren" -#: common/models.py:2106 +#: common/models.py:2092 msgid "Enable event integration" msgstr "Ereignis-Integration aktivieren" -#: common/models.py:2107 +#: common/models.py:2093 msgid "Enable plugins to respond to internal events" msgstr "Plugins ermöglichen auf interne Ereignisse zu reagieren" -#: common/models.py:2113 +#: common/models.py:2099 +msgid "Enable interface integration" +msgstr "" + +#: common/models.py:2100 +msgid "Enable plugins to integrate into the user interface" +msgstr "" + +#: common/models.py:2106 msgid "Enable project codes" msgstr "Projektcodes aktivieren" -#: common/models.py:2114 +#: common/models.py:2107 msgid "Enable project codes for tracking projects" msgstr "Aktiviere Projektcodes für die Verfolgung von Projekten" -#: common/models.py:2119 +#: common/models.py:2112 msgid "Stocktake Functionality" msgstr "Inventurfunktionen" -#: common/models.py:2121 +#: common/models.py:2114 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:2127 +#: common/models.py:2120 msgid "Exclude External Locations" msgstr "Externe Standorte ausschließen" -#: common/models.py:2129 +#: common/models.py:2122 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "Lagerartikeln in externen Standorten in der Berechnungen zur Bestandsaufnahme ausschließen" -#: common/models.py:2135 +#: common/models.py:2128 msgid "Automatic Stocktake Period" msgstr "Automatische Inventur-Periode" -#: common/models.py:2137 +#: common/models.py:2130 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:2143 +#: common/models.py:2136 msgid "Report Deletion Interval" msgstr "Löschintervall für Berichte" -#: common/models.py:2145 +#: common/models.py:2138 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:2152 +#: common/models.py:2145 msgid "Display Users full names" msgstr "Vollständige Namen von Benutzern anzeigen" -#: common/models.py:2153 +#: common/models.py:2146 msgid "Display Users full names instead of usernames" msgstr "Vollständigen Namen von Benutzern anstatt Benutzername anzeigen" -#: common/models.py:2158 +#: common/models.py:2151 msgid "Enable Test Station Data" msgstr "Teststation-Daten aktivieren" -#: common/models.py:2159 +#: common/models.py:2152 msgid "Enable test station data collection for test results" msgstr "Teststation-Datenerfassung für Testergebnisse aktivieren" -#: common/models.py:2171 common/models.py:2551 +#: common/models.py:2157 +msgid "Create Template on Upload" +msgstr "" + +#: common/models.py:2159 +msgid "Create a new test template when uploading test data which does not match an existing template" +msgstr "" + +#: common/models.py:2172 common/models.py:2552 msgid "Settings key (must be unique - case insensitive" msgstr "Einstellungs-Schlüssel (muss einzigartig sein, Groß-/ Kleinschreibung wird nicht beachtet)" -#: common/models.py:2214 +#: common/models.py:2215 msgid "Hide inactive parts" msgstr "Inaktive Teile ausblenden" -#: common/models.py:2216 +#: common/models.py:2217 msgid "Hide inactive parts in results displayed on the homepage" msgstr "Ausblenden inaktiver Teile in den auf der Startseite angezeigten Ergebnissen" -#: common/models.py:2222 +#: common/models.py:2223 msgid "Show subscribed parts" msgstr "Abonnierte Teile anzeigen" -#: common/models.py:2223 +#: common/models.py:2224 msgid "Show subscribed parts on the homepage" msgstr "Zeige abonnierte Teile auf der Startseite" -#: common/models.py:2228 +#: common/models.py:2229 msgid "Show subscribed categories" msgstr "Abonnierte Kategorien anzeigen" -#: common/models.py:2229 +#: common/models.py:2230 msgid "Show subscribed part categories on the homepage" msgstr "Zeige abonnierte Teilkategorien auf der Startseite" -#: common/models.py:2234 +#: common/models.py:2235 msgid "Show latest parts" msgstr "Neueste Teile anzeigen" -#: common/models.py:2235 +#: common/models.py:2236 msgid "Show latest parts on the homepage" msgstr "Zeige neueste Teile auf der Startseite" -#: common/models.py:2240 +#: common/models.py:2241 msgid "Show invalid BOMs" msgstr "Zeige ungültige Stücklisten" -#: common/models.py:2241 +#: common/models.py:2242 msgid "Show BOMs that await validation on the homepage" msgstr "Zeige Stücklisten, die noch nicht validiert sind, auf der Startseite" -#: common/models.py:2246 +#: common/models.py:2247 msgid "Show recent stock changes" msgstr "Neueste Bestandänderungen anzeigen" -#: common/models.py:2247 +#: common/models.py:2248 msgid "Show recently changed stock items on the homepage" msgstr "Zeige zuletzt geänderte Lagerbestände auf der Startseite" -#: common/models.py:2252 +#: common/models.py:2253 msgid "Show low stock" msgstr "Niedrigen Bestand anzeigen" -#: common/models.py:2253 +#: common/models.py:2254 msgid "Show low stock items on the homepage" msgstr "Zeige geringen Bestand auf der Startseite" -#: common/models.py:2258 +#: common/models.py:2259 msgid "Show depleted stock" msgstr "Lerren Bestand anzeigen" -#: common/models.py:2259 +#: common/models.py:2260 msgid "Show depleted stock items on the homepage" msgstr "Zeige aufgebrauchte Lagerartikel auf der Startseite" -#: common/models.py:2264 +#: common/models.py:2265 msgid "Show needed stock" msgstr "Benötigten Bestand anzeigen" -#: common/models.py:2265 +#: common/models.py:2266 msgid "Show stock items needed for builds on the homepage" msgstr "Zeige Bestand für Bauaufträge auf der Startseite" -#: common/models.py:2270 +#: common/models.py:2271 msgid "Show expired stock" msgstr "Abgelaufenen Bestand anzeigen" -#: common/models.py:2271 +#: common/models.py:2272 msgid "Show expired stock items on the homepage" msgstr "Zeige abgelaufene Lagerbestände auf der Startseite" -#: common/models.py:2276 +#: common/models.py:2277 msgid "Show stale stock" msgstr "Alten Bestand anzeigen" -#: common/models.py:2277 +#: common/models.py:2278 msgid "Show stale stock items on the homepage" msgstr "Zeige überfällige Lagerartikel auf der Startseite" -#: common/models.py:2282 +#: common/models.py:2283 msgid "Show pending builds" msgstr "Ausstehende Bauaufträge anzeigen" -#: common/models.py:2283 +#: common/models.py:2284 msgid "Show pending builds on the homepage" msgstr "Zeige ausstehende Bauaufträge auf der Startseite" -#: common/models.py:2288 +#: common/models.py:2289 msgid "Show overdue builds" msgstr "Zeige überfällige Bauaufträge" -#: common/models.py:2289 +#: common/models.py:2290 msgid "Show overdue builds on the homepage" msgstr "Zeige überfällige Bauaufträge auf der Startseite" -#: common/models.py:2294 +#: common/models.py:2295 msgid "Show outstanding POs" msgstr "Ausstehende POs anzeigen" -#: common/models.py:2295 +#: common/models.py:2296 msgid "Show outstanding POs on the homepage" msgstr "Zeige ausstehende POs auf der Startseite" -#: common/models.py:2300 +#: common/models.py:2301 msgid "Show overdue POs" msgstr "Überfällige POs anzeigen" -#: common/models.py:2301 +#: common/models.py:2302 msgid "Show overdue POs on the homepage" msgstr "Zeige überfällige POs auf der Startseite" -#: common/models.py:2306 +#: common/models.py:2307 msgid "Show outstanding SOs" msgstr "Ausstehende SOs anzeigen" -#: common/models.py:2307 +#: common/models.py:2308 msgid "Show outstanding SOs on the homepage" msgstr "Zeige ausstehende SOs auf der Startseite" -#: common/models.py:2312 +#: common/models.py:2313 msgid "Show overdue SOs" msgstr "Überfällige SOs anzeigen" -#: common/models.py:2313 +#: common/models.py:2314 msgid "Show overdue SOs on the homepage" msgstr "Zeige überfällige SOs auf der Startseite" -#: common/models.py:2318 +#: common/models.py:2319 msgid "Show pending SO shipments" msgstr "Ausstehende Versandaufträge anzeigen" -#: common/models.py:2319 +#: common/models.py:2320 msgid "Show pending SO shipments on the homepage" msgstr "Ausstehende Versandaufträge auf der Startseite anzeigen" -#: common/models.py:2324 +#: common/models.py:2325 msgid "Show News" msgstr "Zeige Neuigkeiten" -#: common/models.py:2325 +#: common/models.py:2326 msgid "Show news on the homepage" msgstr "Neuigkeiten auf der Startseite anzeigen" -#: common/models.py:2330 +#: common/models.py:2331 msgid "Inline label display" msgstr "Label inline anzeigen" -#: common/models.py:2332 +#: common/models.py:2333 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:2338 +#: common/models.py:2339 msgid "Default label printer" msgstr "Standard-Etikettendrucker" -#: common/models.py:2340 +#: common/models.py:2341 msgid "Configure which label printer should be selected by default" msgstr "Einen standardmäßig ausgewählten Etikettendrucker konfigurieren" -#: common/models.py:2346 +#: common/models.py:2347 msgid "Inline report display" msgstr "Berichte inline anzeigen" -#: common/models.py:2348 +#: common/models.py:2349 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:2354 +#: common/models.py:2355 msgid "Search Parts" msgstr "Teile suchen" -#: common/models.py:2355 +#: common/models.py:2356 msgid "Display parts in search preview window" msgstr "Teile in der Suchvorschau anzeigen" -#: common/models.py:2360 +#: common/models.py:2361 msgid "Search Supplier Parts" msgstr "Zulieferteile durchsuchen" -#: common/models.py:2361 +#: common/models.py:2362 msgid "Display supplier parts in search preview window" msgstr "Zuliefererteile in der Suchvorschau anzeigen" -#: common/models.py:2366 +#: common/models.py:2367 msgid "Search Manufacturer Parts" msgstr "Herstellerteile durchsuchen" -#: common/models.py:2367 +#: common/models.py:2368 msgid "Display manufacturer parts in search preview window" msgstr "Herstellerteile in der Suchvorschau anzeigen" -#: common/models.py:2372 +#: common/models.py:2373 msgid "Hide Inactive Parts" msgstr "Inaktive Teile ausblenden" -#: common/models.py:2373 +#: common/models.py:2374 msgid "Excluded inactive parts from search preview window" msgstr "Inaktive Teile in der Suchvorschau ausblenden" -#: common/models.py:2378 +#: common/models.py:2379 msgid "Search Categories" msgstr "Kategorien durchsuchen" -#: common/models.py:2379 +#: common/models.py:2380 msgid "Display part categories in search preview window" msgstr "Teilekategorien in der Suchvorschau anzeigen" -#: common/models.py:2384 +#: common/models.py:2385 msgid "Search Stock" msgstr "Bestand durchsuchen" -#: common/models.py:2385 +#: common/models.py:2386 msgid "Display stock items in search preview window" msgstr "Lagerartikel in Suchvorschau anzeigen" -#: common/models.py:2390 +#: common/models.py:2391 msgid "Hide Unavailable Stock Items" msgstr "Nicht verfügbare Artikel ausblenden" -#: common/models.py:2392 +#: common/models.py:2393 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:2398 +#: common/models.py:2399 msgid "Search Locations" msgstr "Lagerorte durchsuchen" -#: common/models.py:2399 +#: common/models.py:2400 msgid "Display stock locations in search preview window" msgstr "Lagerorte in Suchvorschau anzeigen" -#: common/models.py:2404 +#: common/models.py:2405 msgid "Search Companies" msgstr "Firmen durchsuchen" -#: common/models.py:2405 +#: common/models.py:2406 msgid "Display companies in search preview window" msgstr "Firmen in der Suchvorschau anzeigen" -#: common/models.py:2410 +#: common/models.py:2411 msgid "Search Build Orders" msgstr "Bauaufträge durchsuchen" -#: common/models.py:2411 +#: common/models.py:2412 msgid "Display build orders in search preview window" msgstr "Bauaufträge in der Suchvorschau anzeigen" -#: common/models.py:2416 +#: common/models.py:2417 msgid "Search Purchase Orders" msgstr "Bestellungen durchsuchen" -#: common/models.py:2417 +#: common/models.py:2418 msgid "Display purchase orders in search preview window" msgstr "Bestellungen in der Suchvorschau anzeigen" -#: common/models.py:2422 +#: common/models.py:2423 msgid "Exclude Inactive Purchase Orders" msgstr "Inaktive Bestellungen ausblenden" -#: common/models.py:2424 +#: common/models.py:2425 msgid "Exclude inactive purchase orders from search preview window" msgstr "Inaktive Bestellungen in der Suchvorschau ausblenden" -#: common/models.py:2430 +#: common/models.py:2431 msgid "Search Sales Orders" msgstr "Aufträge durchsuchen" -#: common/models.py:2431 +#: common/models.py:2432 msgid "Display sales orders in search preview window" msgstr "Aufträge in der Suchvorschau anzeigen" -#: common/models.py:2436 +#: common/models.py:2437 msgid "Exclude Inactive Sales Orders" msgstr "Inaktive Aufträge ausblenden" -#: common/models.py:2438 +#: common/models.py:2439 msgid "Exclude inactive sales orders from search preview window" msgstr "Inaktive Aufträge in der Suchvorschau ausblenden" -#: common/models.py:2444 +#: common/models.py:2445 msgid "Search Return Orders" msgstr "Suche nach Rücksendungen" -#: common/models.py:2445 +#: common/models.py:2446 msgid "Display return orders in search preview window" msgstr "Rücksendungen in der Suchvorschau anzeigen" -#: common/models.py:2450 +#: common/models.py:2451 msgid "Exclude Inactive Return Orders" msgstr "Inaktive Rücksendungen ausblenden" -#: common/models.py:2452 +#: common/models.py:2453 msgid "Exclude inactive return orders from search preview window" msgstr "Inaktive Rücksendungen in der Suchvorschau ausblenden" -#: common/models.py:2458 +#: common/models.py:2459 msgid "Search Preview Results" msgstr "Anzahl Suchergebnisse" -#: common/models.py:2460 +#: common/models.py:2461 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:2466 +#: common/models.py:2467 msgid "Regex Search" msgstr "Regex Suche" -#: common/models.py:2467 +#: common/models.py:2468 msgid "Enable regular expressions in search queries" msgstr "Reguläre Ausdrücke in Suchabfragen aktivieren" -#: common/models.py:2472 +#: common/models.py:2473 msgid "Whole Word Search" msgstr "Ganzes Wort suchen" -#: common/models.py:2473 +#: common/models.py:2474 msgid "Search queries return results for whole word matches" msgstr "Suchabfragen liefern Ergebnisse für ganze Wortkombinationen" -#: common/models.py:2478 +#: common/models.py:2479 msgid "Show Quantity in Forms" msgstr "zeige Bestand in Eingabemasken" -#: common/models.py:2479 +#: common/models.py:2480 msgid "Display available part quantity in some forms" msgstr "Zeige den verfügbaren Bestand in einigen Eingabemasken" -#: common/models.py:2484 +#: common/models.py:2485 msgid "Escape Key Closes Forms" msgstr "Esc-Taste schließt Formulare" -#: common/models.py:2485 +#: common/models.py:2486 msgid "Use the escape key to close modal forms" msgstr "Benutze die Esc-Taste, um Formulare zu schließen" -#: common/models.py:2490 +#: common/models.py:2491 msgid "Fixed Navbar" msgstr "Fixierter Navigationsleiste" -#: common/models.py:2491 +#: common/models.py:2492 msgid "The navbar position is fixed to the top of the screen" msgstr "Position der Navigationsleiste am oberen Bildschirmrand fixieren" -#: common/models.py:2496 +#: common/models.py:2497 msgid "Date Format" msgstr "Datumsformat" -#: common/models.py:2497 +#: common/models.py:2498 msgid "Preferred format for displaying dates" msgstr "Bevorzugtes Format für die Anzeige von Daten" -#: common/models.py:2510 part/templates/part/detail.html:41 +#: common/models.py:2511 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "Teilzeitplanung" -#: common/models.py:2511 +#: common/models.py:2512 msgid "Display part scheduling information" msgstr "Zeige Zeitplanung für Teile" -#: common/models.py:2516 part/templates/part/detail.html:62 +#: common/models.py:2517 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "Inventur" -#: common/models.py:2518 +#: common/models.py:2519 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "Zeigt Inventur-Informationen an (falls die Inventurfunktion aktiviert ist)" -#: common/models.py:2524 +#: common/models.py:2525 msgid "Table String Length" msgstr "Zeichenkettenlänge in Tabellen" -#: common/models.py:2526 +#: common/models.py:2527 msgid "Maximum length limit for strings displayed in table views" msgstr "Maximale Länge für Zeichenketten, die in Tabellenansichten angezeigt werden" -#: common/models.py:2532 +#: common/models.py:2533 msgid "Receive error reports" msgstr "Fehlerberichte empfangen" -#: common/models.py:2533 +#: common/models.py:2534 msgid "Receive notifications for system errors" msgstr "Benachrichtigungen bei Systemfehlern erhalten" -#: common/models.py:2538 +#: common/models.py:2539 msgid "Last used printing machines" msgstr "Zuletzt verwendete Druckmaschinen" -#: common/models.py:2539 +#: common/models.py:2540 msgid "Save the last used printing machines for a user" msgstr "Die zuletzt benutzten Druckmaschinen für einen Benutzer speichern" -#: common/models.py:2559 common/models.py:2560 common/models.py:2717 -#: common/models.py:2718 common/models.py:2963 common/models.py:2964 -#: common/models.py:3287 common/models.py:3288 importer/models.py:89 -#: part/models.py:3319 part/models.py:3406 part/models.py:3480 -#: part/models.py:3508 plugin/models.py:274 plugin/models.py:275 +#: common/models.py:2560 common/models.py:2561 common/models.py:2718 +#: common/models.py:2719 common/models.py:2964 common/models.py:2965 +#: common/models.py:3288 common/models.py:3289 importer/models.py:89 +#: part/models.py:3306 part/models.py:3393 part/models.py:3467 +#: part/models.py:3495 plugin/models.py:274 plugin/models.py:275 #: report/templates/report/inventree_test_report.html:105 #: templates/js/translated/stock.js:3121 users/models.py:111 msgid "User" msgstr "Benutzer" -#: common/models.py:2582 +#: common/models.py:2583 msgid "Price break quantity" msgstr "Preisstaffelungs Anzahl" -#: common/models.py:2589 company/serializers.py:517 order/admin.py:42 +#: common/models.py:2590 company/serializers.py:517 order/admin.py:42 #: order/models.py:1423 order/models.py:2410 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1892 #: templates/js/translated/pricing.js:621 @@ -3747,96 +3744,96 @@ msgstr "Preisstaffelungs Anzahl" msgid "Price" msgstr "Preis" -#: common/models.py:2590 +#: common/models.py:2591 msgid "Unit price at specified quantity" msgstr "Stückpreis für die angegebene Anzahl" -#: common/models.py:2694 common/models.py:2879 +#: common/models.py:2695 common/models.py:2880 msgid "Endpoint" msgstr "Endpunkt" -#: common/models.py:2695 +#: common/models.py:2696 msgid "Endpoint at which this webhook is received" msgstr "Endpunkt, an dem dieser Webhook empfangen wird" -#: common/models.py:2705 +#: common/models.py:2706 msgid "Name for this webhook" msgstr "Name für diesen Webhook" -#: common/models.py:2709 +#: common/models.py:2710 msgid "Is this webhook active" msgstr "Ist dieser Webhook aktiv" -#: common/models.py:2725 users/models.py:159 +#: common/models.py:2726 users/models.py:159 msgid "Token" msgstr "Token" -#: common/models.py:2726 +#: common/models.py:2727 msgid "Token for access" msgstr "Token für Zugang" -#: common/models.py:2734 +#: common/models.py:2735 msgid "Secret" msgstr "Geheimnis" -#: common/models.py:2735 +#: common/models.py:2736 msgid "Shared secret for HMAC" msgstr "Shared Secret für HMAC" -#: common/models.py:2843 +#: common/models.py:2844 msgid "Message ID" msgstr "Nachrichten-ID" -#: common/models.py:2844 +#: common/models.py:2845 msgid "Unique identifier for this message" msgstr "Eindeutige Kennung für diese Nachricht" -#: common/models.py:2852 +#: common/models.py:2853 msgid "Host" msgstr "Host" -#: common/models.py:2853 +#: common/models.py:2854 msgid "Host from which this message was received" msgstr "Host von dem diese Nachricht empfangen wurde" -#: common/models.py:2861 +#: common/models.py:2862 msgid "Header" msgstr "Kopfzeile" -#: common/models.py:2862 +#: common/models.py:2863 msgid "Header of this message" msgstr "Header dieser Nachricht" -#: common/models.py:2869 +#: common/models.py:2870 msgid "Body" msgstr "Body" -#: common/models.py:2870 +#: common/models.py:2871 msgid "Body of this message" msgstr "Body dieser Nachricht" -#: common/models.py:2880 +#: common/models.py:2881 msgid "Endpoint on which this message was received" msgstr "Endpunkt, über den diese Nachricht empfangen wurde" -#: common/models.py:2885 +#: common/models.py:2886 msgid "Worked on" msgstr "Bearbeitet" -#: common/models.py:2886 +#: common/models.py:2887 msgid "Was the work on this message finished?" msgstr "Wurde die Arbeit an dieser Nachricht abgeschlossen?" -#: common/models.py:3012 +#: common/models.py:3013 msgid "Id" msgstr "ID" -#: common/models.py:3014 templates/js/translated/company.js:965 +#: common/models.py:3015 templates/js/translated/company.js:965 #: templates/js/translated/news.js:44 msgid "Title" msgstr "Titel" -#: common/models.py:3016 common/models.py:3271 company/models.py:146 +#: common/models.py:3017 common/models.py:3272 company/models.py:146 #: company/models.py:443 company/models.py:509 company/models.py:815 #: order/models.py:303 order/models.py:1378 order/models.py:1810 #: part/admin.py:55 part/models.py:1069 @@ -3853,217 +3850,217 @@ msgstr "Titel" msgid "Link" msgstr "Link" -#: common/models.py:3018 templates/js/translated/news.js:60 +#: common/models.py:3019 templates/js/translated/news.js:60 msgid "Published" msgstr "Veröffentlicht" -#: common/models.py:3020 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:3021 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:103 msgid "Author" msgstr "Autor" -#: common/models.py:3022 templates/js/translated/news.js:52 +#: common/models.py:3023 templates/js/translated/news.js:52 msgid "Summary" msgstr "Zusammenfassung" -#: common/models.py:3025 +#: common/models.py:3026 msgid "Read" msgstr "Gelesen" -#: common/models.py:3025 +#: common/models.py:3026 msgid "Was this news item read?" msgstr "Wurde diese Nachricht gelesen?" -#: common/models.py:3042 company/models.py:156 part/models.py:1079 +#: common/models.py:3043 company/models.py:156 part/models.py:1079 #: 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.html:35 -#: stock/templates/stock/item_base.html:133 templates/503.html:31 +#: stock/templates/stock/item_base.html:129 templates/503.html:31 #: templates/hover_image.html:7 templates/hover_image.html:9 #: templates/modals.html:6 msgid "Image" msgstr "Bild" -#: common/models.py:3042 +#: common/models.py:3043 msgid "Image file" msgstr "Bilddatei" -#: common/models.py:3054 common/models.py:3255 +#: common/models.py:3055 common/models.py:3256 msgid "Target model type for this image" msgstr "" -#: common/models.py:3058 +#: common/models.py:3059 msgid "Target model ID for this image" msgstr "" -#: common/models.py:3080 +#: common/models.py:3081 msgid "Custom Unit" msgstr "" -#: common/models.py:3098 +#: common/models.py:3099 msgid "Unit symbol must be unique" msgstr "" -#: common/models.py:3113 +#: common/models.py:3114 msgid "Unit name must be a valid identifier" msgstr "Einheitsname muss eine gültige Kennung sein" -#: common/models.py:3132 +#: common/models.py:3133 msgid "Unit name" msgstr "Einheitsname" -#: common/models.py:3139 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3140 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "Symbol" -#: common/models.py:3140 +#: common/models.py:3141 msgid "Optional unit symbol" msgstr "Optionales Einheitssymbol" -#: common/models.py:3146 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3147 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "Definition" -#: common/models.py:3147 +#: common/models.py:3148 msgid "Unit definition" msgstr "Einheitsdefinition" -#: common/models.py:3205 common/models.py:3262 stock/models.py:2552 +#: common/models.py:3206 common/models.py:3263 stock/models.py:2547 #: stock/serializers.py:244 templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:345 msgid "Attachment" msgstr "Anhang" -#: common/models.py:3217 +#: common/models.py:3218 msgid "Missing file" msgstr "Fehlende Datei" -#: common/models.py:3218 +#: common/models.py:3219 msgid "Missing external link" msgstr "Fehlender externer Link" -#: common/models.py:3263 +#: common/models.py:3264 msgid "Select file to attach" msgstr "Datei zum Anhängen auswählen" -#: common/models.py:3278 templates/js/translated/attachment.js:120 +#: common/models.py:3279 templates/js/translated/attachment.js:120 #: templates/js/translated/attachment.js:360 msgid "Comment" msgstr "Kommentar" -#: common/models.py:3279 +#: common/models.py:3280 msgid "Attachment comment" msgstr "" -#: common/models.py:3295 +#: common/models.py:3296 msgid "Upload date" msgstr "Upload Datum" -#: common/models.py:3296 +#: common/models.py:3297 msgid "Date the file was uploaded" msgstr "Datum der hochgeladenen Datei" -#: common/models.py:3300 +#: common/models.py:3301 msgid "File size" msgstr "Dateigröße" -#: common/models.py:3300 +#: common/models.py:3301 msgid "File size in bytes" msgstr "Dateigröße in Bytes" -#: common/models.py:3338 common/serializers.py:588 +#: common/models.py:3339 common/serializers.py:604 msgid "Invalid model type specified for attachment" msgstr "Ungültiger Modelltyp für Anhang angegeben" -#: common/models.py:3347 plugin/models.py:43 users/models.py:100 +#: common/models.py:3348 plugin/models.py:43 users/models.py:100 msgid "Key" msgstr "Schlüssel" -#: common/models.py:3348 +#: common/models.py:3349 msgid "Value that will be saved in the models database" msgstr "" -#: common/models.py:3351 +#: common/models.py:3352 msgid "Name of the state" msgstr "" -#: common/models.py:3355 +#: common/models.py:3356 msgid "Label" msgstr "" -#: common/models.py:3356 +#: common/models.py:3357 msgid "Label that will be displayed in the frontend" msgstr "" -#: common/models.py:3362 +#: common/models.py:3363 msgid "Color" msgstr "" -#: common/models.py:3363 +#: common/models.py:3364 msgid "Color that will be displayed in the frontend" msgstr "" -#: common/models.py:3366 +#: common/models.py:3367 msgid "Logical Key" msgstr "" -#: common/models.py:3368 +#: common/models.py:3369 msgid "State logical key that is equal to this custom state in business logic" msgstr "" -#: common/models.py:3376 +#: common/models.py:3377 msgid "Model" msgstr "" -#: common/models.py:3377 +#: common/models.py:3378 msgid "Model this state is associated with" msgstr "" -#: common/models.py:3381 +#: common/models.py:3382 msgid "Reference Status Set" msgstr "" -#: common/models.py:3382 +#: common/models.py:3383 msgid "Status set that is extended with this custom state" msgstr "" -#: common/models.py:3388 +#: common/models.py:3389 msgid "Custom State" msgstr "" -#: common/models.py:3389 +#: common/models.py:3390 msgid "Custom States" msgstr "" -#: common/models.py:3404 +#: common/models.py:3405 msgid "Model must be selected" msgstr "" -#: common/models.py:3407 +#: common/models.py:3408 msgid "Key must be selected" msgstr "" -#: common/models.py:3410 +#: common/models.py:3411 msgid "Logical key must be selected" msgstr "" -#: common/models.py:3414 +#: common/models.py:3415 msgid "Key must be different from logical key" msgstr "" -#: common/models.py:3418 +#: common/models.py:3419 msgid "Reference status must be selected" msgstr "" -#: common/models.py:3430 +#: common/models.py:3431 msgid "Reference status set not found" msgstr "" -#: common/models.py:3436 +#: common/models.py:3437 msgid "Key must be different from the logical keys of the reference status" msgstr "" -#: common/models.py:3442 +#: common/models.py:3443 msgid "Logical key must be in the logical keys of the reference status" msgstr "" @@ -4101,75 +4098,75 @@ msgstr "Artikel wurden aus einer Rücksendung erhalten" msgid "Error raised by plugin" msgstr "Fehler in Plugin aufgetreten" -#: common/serializers.py:402 +#: common/serializers.py:418 msgid "Is Running" msgstr "Wird ausgeführt" -#: common/serializers.py:408 +#: common/serializers.py:424 msgid "Pending Tasks" msgstr "Anstehende Aufgaben" -#: common/serializers.py:414 +#: common/serializers.py:430 msgid "Scheduled Tasks" msgstr "Geplante Aufgaben" -#: common/serializers.py:420 +#: common/serializers.py:436 msgid "Failed Tasks" msgstr "Fehlgeschlagene Aufgaben" -#: common/serializers.py:435 +#: common/serializers.py:451 msgid "Task ID" msgstr "Aufgabe-ID" -#: common/serializers.py:435 +#: common/serializers.py:451 msgid "Unique task ID" msgstr "Eindeutige Aufgaben-ID" -#: common/serializers.py:437 +#: common/serializers.py:453 msgid "Lock" msgstr "Sperren" -#: common/serializers.py:437 +#: common/serializers.py:453 msgid "Lock time" msgstr "Sperrzeit" -#: common/serializers.py:439 +#: common/serializers.py:455 msgid "Task name" msgstr "Aufgabenname" -#: common/serializers.py:441 +#: common/serializers.py:457 msgid "Function" msgstr "Funktion" -#: common/serializers.py:441 +#: common/serializers.py:457 msgid "Function name" msgstr "Funktionsname" -#: common/serializers.py:443 +#: common/serializers.py:459 msgid "Arguments" msgstr "Parameter" -#: common/serializers.py:443 +#: common/serializers.py:459 msgid "Task arguments" msgstr "Aufgaben-Parameter" -#: common/serializers.py:446 +#: common/serializers.py:462 msgid "Keyword Arguments" msgstr "Schlüsselwort Parameter" -#: common/serializers.py:446 +#: common/serializers.py:462 msgid "Task keyword arguments" msgstr "Schlüsselwort Parameter für Aufgaben" -#: common/serializers.py:556 +#: common/serializers.py:572 msgid "Filename" msgstr "Dateiname" -#: common/serializers.py:563 report/api.py:100 report/serializers.py:53 +#: common/serializers.py:579 report/api.py:100 report/serializers.py:54 msgid "Model Type" msgstr "Modelltyp" -#: common/serializers.py:591 +#: common/serializers.py:607 msgid "User does not have permission to create or edit attachments for this model" msgstr "Benutzer hat keine Berechtigung, Anhänge für dieses Modell zu erstellen oder zu bearbeiten" @@ -4447,12 +4444,12 @@ msgstr "Link zu Adressinformationen (extern)" #: company/models.py:467 company/models.py:584 company/models.py:808 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 -#: stock/templates/stock/item_base.html:217 +#: stock/templates/stock/item_base.html:213 msgid "Manufacturer Part" msgstr "Herstellerteil" #: company/models.py:484 company/models.py:776 stock/models.py:791 -#: stock/serializers.py:452 stock/templates/stock/item_base.html:142 +#: stock/serializers.py:452 stock/templates/stock/item_base.html:138 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "Basisteil" @@ -4463,8 +4460,8 @@ msgstr "Teil auswählen" #: company/models.py:495 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:567 -#: stock/templates/stock/item_base.html:207 +#: company/templates/company/supplier_part.html:145 part/serializers.py:565 +#: stock/templates/stock/item_base.html:203 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 #: templates/js/translated/company.js:1296 @@ -4479,7 +4476,7 @@ msgstr "Hersteller auswählen" #: company/models.py:502 company/templates/company/manufacturer_part.html:101 #: company/templates/company/supplier_part.html:153 order/serializers.py:557 -#: part/serializers.py:577 templates/js/translated/company.js:351 +#: part/serializers.py:575 templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 #: templates/js/translated/company.js:1630 templates/js/translated/part.js:1807 @@ -4505,7 +4502,7 @@ msgid "Parameter name" msgstr "Parametername" #: company/models.py:597 report/templates/report/inventree_test_report.html:104 -#: stock/models.py:2544 templates/js/translated/company.js:1166 +#: stock/models.py:2539 templates/js/translated/company.js:1166 #: templates/js/translated/company.js:1419 templates/js/translated/part.js:1499 #: templates/js/translated/stock.js:1607 msgid "Value" @@ -4516,7 +4513,7 @@ msgid "Parameter value" msgstr "Parameterwert" #: company/models.py:605 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1159 part/models.py:3783 +#: part/admin.py:57 part/models.py:1159 part/models.py:3770 #: part/templates/part/part_base.html:300 #: templates/js/translated/company.js:1425 templates/js/translated/part.js:1518 #: templates/js/translated/part.js:1622 templates/js/translated/part.js:2376 @@ -4530,7 +4527,7 @@ msgstr "Parametereinheit" #: company/models.py:659 company/templates/company/supplier_part.html:7 #: company/templates/company/supplier_part.html:24 order/api.py:440 #: order/serializers.py:492 stock/models.py:802 -#: stock/templates/stock/item_base.html:233 +#: stock/templates/stock/item_base.html:229 #: templates/js/translated/build.js:1055 #: templates/js/translated/company.js:1600 #: templates/js/translated/purchase_order.js:752 @@ -4553,9 +4550,9 @@ msgstr "Verlinktes Herstellerteil muss dasselbe Basisteil referenzieren" #: company/models.py:786 company/templates/company/company_base.html:87 #: company/templates/company/supplier_part.html:129 order/models.py:492 #: order/templates/order/order_base.html:141 part/bom.py:279 part/bom.py:314 -#: part/serializers.py:551 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:549 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 -#: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 +#: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:220 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:511 @@ -4570,7 +4567,7 @@ msgstr "Zulieferer" msgid "Select supplier" msgstr "Zulieferer auswählen" -#: company/models.py:793 part/serializers.py:562 +#: company/models.py:793 part/serializers.py:560 msgid "Supplier stock keeping unit" msgstr "Lagerbestandseinheit (SKU) des Zulieferers" @@ -4591,7 +4588,7 @@ msgid "Supplier part description" msgstr "Zuliefererbeschreibung des Teils" #: company/models.py:832 company/templates/company/supplier_part.html:187 -#: order/serializers.py:699 part/admin.py:415 part/models.py:4301 +#: order/serializers.py:699 part/admin.py:415 part/models.py:4288 #: part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 @@ -4603,11 +4600,11 @@ msgstr "Zuliefererbeschreibung des Teils" msgid "Note" msgstr "Notiz" -#: company/models.py:841 part/models.py:2129 +#: company/models.py:841 part/models.py:2128 msgid "base cost" msgstr "Basiskosten" -#: company/models.py:842 part/models.py:2130 +#: company/models.py:842 part/models.py:2129 msgid "Minimum charge (e.g. stocking fee)" msgstr "Mindestpreis" @@ -4629,7 +4626,7 @@ msgstr "Packmenge" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "Gesamtmenge, die in einer einzelnen Packung geliefert wird. Für Einzelstücke leer lassen." -#: company/models.py:876 part/models.py:2136 +#: company/models.py:876 part/models.py:2135 msgid "multiple" msgstr "Vielfache" @@ -4661,7 +4658,7 @@ msgstr "Standard-Währung für diesen Zulieferer" msgid "Company Name" msgstr "Firmenname" -#: company/serializers.py:397 part/admin.py:126 part/serializers.py:919 +#: company/serializers.py:397 part/admin.py:126 part/serializers.py:917 #: part/templates/part/part_base.html:197 #: templates/js/translated/company.js:1689 #: templates/js/translated/table_filters.js:362 @@ -4735,7 +4732,7 @@ msgstr "Bild löschen" #: order/models.py:2140 order/templates/order/return_order_base.html:134 #: order/templates/order/sales_order_base.html:151 stock/models.py:844 #: stock/models.py:845 stock/serializers.py:1336 -#: stock/templates/stock/item_base.html:405 +#: stock/templates/stock/item_base.html:401 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 #: templates/js/translated/return_order.js:295 @@ -4939,7 +4936,7 @@ msgstr "Keine Herstellerdaten verfügbar" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:925 +#: part/admin.py:122 part/serializers.py:923 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -5030,7 +5027,7 @@ msgid "No supplier information available" msgstr "Keine Lieferanteninformationen verfügbar" #: company/templates/company/supplier_part.html:139 order/serializers.py:554 -#: part/bom.py:286 part/bom.py:315 part/serializers.py:561 +#: part/bom.py:286 part/bom.py:315 part/serializers.py:559 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1793 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1920 @@ -5084,7 +5081,7 @@ msgid "Update Part Availability" msgstr "Verfügbarkeit der Teile aktualisieren" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:923 part/stocktake.py:223 +#: part/serializers.py:921 part/stocktake.py:223 #: part/templates/part/category.html:180 #: part/templates/part/category_sidebar.html:17 stock/admin.py:68 #: stock/serializers.py:1021 stock/serializers.py:1199 @@ -5215,7 +5212,7 @@ msgstr "" msgid "Original row data" msgstr "" -#: importer/models.py:504 part/models.py:3965 +#: importer/models.py:504 part/models.py:3952 msgid "Data" msgstr "Wert" @@ -5473,7 +5470,7 @@ msgstr "Bestellung ausstehend" #: order/models.py:1592 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_purchase_order_report.html:14 -#: stock/serializers.py:121 stock/templates/stock/item_base.html:176 +#: stock/serializers.py:121 stock/templates/stock/item_base.html:172 #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/part.js:1752 templates/js/translated/pricing.js:804 #: templates/js/translated/purchase_order.js:168 @@ -5694,7 +5691,7 @@ msgid "Number of items received" msgstr "Empfangene Objekt-Anzahl" #: order/models.py:1513 stock/models.py:963 stock/serializers.py:617 -#: stock/templates/stock/item_base.html:183 +#: stock/templates/stock/item_base.html:179 #: templates/js/translated/stock.js:2397 msgid "Purchase Price" msgstr "Preis" @@ -5768,7 +5765,7 @@ msgid "User who checked this shipment" msgstr "Benutzer, der diese Sendung kontrolliert hat" #: order/models.py:1788 order/models.py:2011 order/serializers.py:1479 -#: order/serializers.py:1589 templates/js/translated/model_renderers.js:455 +#: order/serializers.py:1597 templates/js/translated/model_renderers.js:455 msgid "Shipment" msgstr "Sendung" @@ -5982,7 +5979,7 @@ msgstr "Position" msgid "Line item does not match purchase order" msgstr "Position stimmt nicht mit Kaufauftrag überein" -#: order/serializers.py:656 order/serializers.py:779 order/serializers.py:1790 +#: order/serializers.py:656 order/serializers.py:779 order/serializers.py:1798 msgid "Select destination location for received items" msgstr "Zielort für empfangene Teile auswählen" @@ -6019,7 +6016,7 @@ msgstr "Barcode ist bereits in Verwendung" msgid "An integer quantity must be provided for trackable parts" msgstr "Ganzzahl für verfolgbare Teile erforderlich" -#: order/serializers.py:795 order/serializers.py:1806 +#: order/serializers.py:795 order/serializers.py:1814 msgid "Line items must be provided" msgstr "Positionen müssen angegeben werden" @@ -6051,39 +6048,39 @@ msgstr "Anzahl muss positiv sein" msgid "Enter serial numbers to allocate" msgstr "Seriennummern zum Zuweisen eingeben" -#: order/serializers.py:1491 order/serializers.py:1597 +#: order/serializers.py:1491 order/serializers.py:1605 msgid "Shipment has already been shipped" msgstr "Sendung wurde bereits versandt" -#: order/serializers.py:1494 order/serializers.py:1600 +#: order/serializers.py:1494 order/serializers.py:1608 msgid "Shipment is not associated with this order" msgstr "Sendung ist nicht diesem Auftrag zugeordnet" -#: order/serializers.py:1541 +#: order/serializers.py:1549 msgid "No match found for the following serial numbers" msgstr "Folgende Serienummern konnten nicht gefunden werden" -#: order/serializers.py:1548 -msgid "The following serial numbers are already allocated" -msgstr "Folgende Seriennummern sind bereits zugewiesen" +#: order/serializers.py:1556 +msgid "The following serial numbers are unavailable" +msgstr "" -#: order/serializers.py:1760 +#: order/serializers.py:1768 msgid "Return order line item" msgstr "Artikel der Bestellzeile zurücksenden" -#: order/serializers.py:1766 +#: order/serializers.py:1774 msgid "Line item does not match return order" msgstr "Artikel entspricht nicht der Rücksendeschrift" -#: order/serializers.py:1769 +#: order/serializers.py:1777 msgid "Line item has already been received" msgstr "Artikel wurde bereits erhalten" -#: order/serializers.py:1798 +#: order/serializers.py:1806 msgid "Items can only be received against orders which are in progress" msgstr "Artikel können nur bei laufenden Bestellungen empfangen werden" -#: order/serializers.py:1881 +#: order/serializers.py:1889 msgid "Line price currency" msgstr "Verkaufspreis-Währung" @@ -6510,7 +6507,7 @@ 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:48 part/models.py:1044 part/serializers.py:908 +#: part/admin.py:48 part/models.py:1044 part/serializers.py:906 #: part/templates/part/part_base.html:276 #: report/templates/report/inventree_stock_location_report.html:103 #: templates/js/translated/part.js:1233 templates/js/translated/part.js:2347 @@ -6537,7 +6534,7 @@ msgstr "Artikelbild" msgid "Category ID" msgstr "Kategorie-ID" -#: part/admin.py:67 part/admin.py:304 part/serializers.py:893 +#: part/admin.py:67 part/admin.py:304 part/serializers.py:891 #: part/stocktake.py:222 msgid "Category Name" msgstr "Kategoriename" @@ -6562,18 +6559,18 @@ msgstr "Minimaler Bestand" msgid "Used In" msgstr "Benutzt in" -#: part/admin.py:150 part/serializers.py:918 +#: part/admin.py:150 part/serializers.py:916 #: part/templates/part/part_base.html:248 stock/admin.py:236 #: templates/js/translated/part.js:717 templates/js/translated/part.js:2159 msgid "Building" msgstr "Im Bau" -#: part/admin.py:155 part/models.py:3214 part/models.py:3228 +#: part/admin.py:155 part/models.py:3201 part/models.py:3215 #: templates/js/translated/part.js:976 msgid "Minimum Cost" msgstr "Minimale Kosten" -#: part/admin.py:158 part/models.py:3221 part/models.py:3235 +#: part/admin.py:158 part/models.py:3208 part/models.py:3222 #: templates/js/translated/part.js:986 msgid "Maximum Cost" msgstr "Maximale Kosten" @@ -6592,7 +6589,7 @@ msgid "Category Path" msgstr "Pfad zur Kategorie" #: part/admin.py:325 part/models.py:420 part/serializers.py:130 -#: part/serializers.py:290 part/serializers.py:428 +#: part/serializers.py:290 part/serializers.py:426 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:20 #: part/templates/part/category.html:138 part/templates/part/category.html:158 #: part/templates/part/category_sidebar.html:9 @@ -6619,13 +6616,13 @@ msgstr "Übergeordnete IPN" msgid "Part Revision" msgstr "" -#: part/admin.py:418 part/serializers.py:1367 +#: part/admin.py:418 part/serializers.py:1365 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "Niedrigster Preis" -#: part/admin.py:423 part/serializers.py:1382 +#: part/admin.py:423 part/serializers.py:1380 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -6719,8 +6716,8 @@ msgstr "" msgid "BOM Valid" msgstr "" -#: part/api.py:1520 part/models.py:1036 part/models.py:3501 part/models.py:4060 -#: part/serializers.py:443 part/serializers.py:1223 +#: part/api.py:1520 part/models.py:1036 part/models.py:3488 part/models.py:4047 +#: part/serializers.py:441 part/serializers.py:1221 #: part/templates/part/part_base.html:267 stock/api.py:780 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 @@ -6746,7 +6743,7 @@ msgstr "Verwendet" msgid "Default Location" msgstr "Standard-Lagerort" -#: part/bom.py:184 part/serializers.py:926 +#: part/bom.py:184 part/serializers.py:924 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "Gesamtbestand" @@ -6755,7 +6752,7 @@ msgstr "Gesamtbestand" msgid "Input quantity for price calculation" msgstr "Menge für die Preisberechnung" -#: part/models.py:89 part/models.py:4061 part/templates/part/category.html:16 +#: part/models.py:89 part/models.py:4048 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "Teil-Kategorie" @@ -6878,7 +6875,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:995 part/models.py:4116 +#: part/models.py:995 part/models.py:4103 msgid "Part name" msgstr "Name des Teils" @@ -6906,7 +6903,7 @@ msgstr "Schlüsselworte um die Sichtbarkeit in Suchergebnissen zu verbessern" msgid "Part category" msgstr "Teile-Kategorie" -#: part/models.py:1052 part/serializers.py:360 +#: part/models.py:1052 msgid "Part revision or version number" msgstr "Revisions- oder Versionsnummer" @@ -7012,164 +7009,164 @@ msgid "Owner responsible for this part" msgstr "Verantwortlicher Besitzer für dieses Teil" #: part/models.py:1264 part/templates/part/part_base.html:355 -#: stock/templates/stock/item_base.html:451 +#: stock/templates/stock/item_base.html:447 #: templates/js/translated/part.js:2490 msgid "Last Stocktake" msgstr "Letzte Inventur" -#: part/models.py:2137 +#: part/models.py:2136 msgid "Sell multiple" msgstr "Mehrere verkaufen" -#: part/models.py:3128 +#: part/models.py:3115 msgid "Currency used to cache pricing calculations" msgstr "Währung für die Berechnung der Preise im Cache" -#: part/models.py:3144 +#: part/models.py:3131 msgid "Minimum BOM Cost" msgstr "Minimale Stücklisten Kosten" -#: part/models.py:3145 +#: part/models.py:3132 msgid "Minimum cost of component parts" msgstr "Minimale Kosten für Teile" -#: part/models.py:3151 +#: part/models.py:3138 msgid "Maximum BOM Cost" msgstr "Maximale Stücklisten Kosten" -#: part/models.py:3152 +#: part/models.py:3139 msgid "Maximum cost of component parts" msgstr "Maximale Kosten für Teile" -#: part/models.py:3158 +#: part/models.py:3145 msgid "Minimum Purchase Cost" msgstr "Minimale Einkaufskosten" -#: part/models.py:3159 +#: part/models.py:3146 msgid "Minimum historical purchase cost" msgstr "Minimale historische Kaufkosten" -#: part/models.py:3165 +#: part/models.py:3152 msgid "Maximum Purchase Cost" msgstr "Maximale Einkaufskosten" -#: part/models.py:3166 +#: part/models.py:3153 msgid "Maximum historical purchase cost" msgstr "Maximale historische Einkaufskosten" -#: part/models.py:3172 +#: part/models.py:3159 msgid "Minimum Internal Price" msgstr "Minimaler interner Preis" -#: part/models.py:3173 +#: part/models.py:3160 msgid "Minimum cost based on internal price breaks" msgstr "Minimale Kosten basierend auf den internen Staffelpreisen" -#: part/models.py:3179 +#: part/models.py:3166 msgid "Maximum Internal Price" msgstr "Maximaler interner Preis" -#: part/models.py:3180 +#: part/models.py:3167 msgid "Maximum cost based on internal price breaks" msgstr "Maximale Kosten basierend auf internen Preisstaffeln" -#: part/models.py:3186 +#: part/models.py:3173 msgid "Minimum Supplier Price" msgstr "Minimaler Lieferantenpreis" -#: part/models.py:3187 +#: part/models.py:3174 msgid "Minimum price of part from external suppliers" msgstr "Mindestpreis für Teil von externen Lieferanten" -#: part/models.py:3193 +#: part/models.py:3180 msgid "Maximum Supplier Price" msgstr "Maximaler Lieferantenpreis" -#: part/models.py:3194 +#: part/models.py:3181 msgid "Maximum price of part from external suppliers" msgstr "Maximaler Preis für Teil von externen Lieferanten" -#: part/models.py:3200 +#: part/models.py:3187 msgid "Minimum Variant Cost" msgstr "Minimale Variantenkosten" -#: part/models.py:3201 +#: part/models.py:3188 msgid "Calculated minimum cost of variant parts" msgstr "Berechnete minimale Kosten für Variantenteile" -#: part/models.py:3207 +#: part/models.py:3194 msgid "Maximum Variant Cost" msgstr "Maximale Variantenkosten" -#: part/models.py:3208 +#: part/models.py:3195 msgid "Calculated maximum cost of variant parts" msgstr "Berechnete maximale Kosten für Variantenteile" -#: part/models.py:3215 +#: part/models.py:3202 msgid "Override minimum cost" msgstr "Mindestkosten überschreiben" -#: part/models.py:3222 +#: part/models.py:3209 msgid "Override maximum cost" msgstr "Maximale Kosten überschreiben" -#: part/models.py:3229 +#: part/models.py:3216 msgid "Calculated overall minimum cost" msgstr "Berechnete Mindestkosten" -#: part/models.py:3236 +#: part/models.py:3223 msgid "Calculated overall maximum cost" msgstr "Berechnete Maximalkosten" -#: part/models.py:3242 +#: part/models.py:3229 msgid "Minimum Sale Price" msgstr "Mindestverkaufspreis" -#: part/models.py:3243 +#: part/models.py:3230 msgid "Minimum sale price based on price breaks" msgstr "Mindestverkaufspreis basierend auf Staffelpreisen" -#: part/models.py:3249 +#: part/models.py:3236 msgid "Maximum Sale Price" msgstr "Maximaler Verkaufspreis" -#: part/models.py:3250 +#: part/models.py:3237 msgid "Maximum sale price based on price breaks" msgstr "Maximalverkaufspreis basierend auf Staffelpreisen" -#: part/models.py:3256 +#: part/models.py:3243 msgid "Minimum Sale Cost" msgstr "Mindestverkaufskosten" -#: part/models.py:3257 +#: part/models.py:3244 msgid "Minimum historical sale price" msgstr "Minimaler historischer Verkaufspreis" -#: part/models.py:3263 +#: part/models.py:3250 msgid "Maximum Sale Cost" msgstr "Maximale Verkaufskosten" -#: part/models.py:3264 +#: part/models.py:3251 msgid "Maximum historical sale price" msgstr "Maximaler historischer Verkaufspreis" -#: part/models.py:3283 +#: part/models.py:3270 msgid "Part for stocktake" msgstr "Teil für die Inventur" -#: part/models.py:3288 +#: part/models.py:3275 msgid "Item Count" msgstr "Stückzahl" -#: part/models.py:3289 +#: part/models.py:3276 msgid "Number of individual stock entries at time of stocktake" msgstr "Anzahl einzelner Bestandseinträge zum Zeitpunkt der Inventur" -#: part/models.py:3297 +#: part/models.py:3284 msgid "Total available stock at time of stocktake" msgstr "Insgesamt verfügbarer Lagerbestand zum Zeitpunkt der Inventur" -#: part/models.py:3301 part/models.py:3384 +#: part/models.py:3288 part/models.py:3371 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -7181,363 +7178,363 @@ msgstr "Insgesamt verfügbarer Lagerbestand zum Zeitpunkt der Inventur" msgid "Date" msgstr "Datum" -#: part/models.py:3302 +#: part/models.py:3289 msgid "Date stocktake was performed" msgstr "Datum der Inventur" -#: part/models.py:3310 +#: part/models.py:3297 msgid "Additional notes" msgstr "Zusätzliche Notizen" -#: part/models.py:3320 +#: part/models.py:3307 msgid "User who performed this stocktake" msgstr "Benutzer, der diese Inventur durchgeführt hat" -#: part/models.py:3326 +#: part/models.py:3313 msgid "Minimum Stock Cost" msgstr "Mindestbestandswert" -#: part/models.py:3327 +#: part/models.py:3314 msgid "Estimated minimum cost of stock on hand" msgstr "Geschätzter Mindestwert des vorhandenen Bestands" -#: part/models.py:3333 +#: part/models.py:3320 msgid "Maximum Stock Cost" msgstr "Maximaler Bestandswert" -#: part/models.py:3334 +#: part/models.py:3321 msgid "Estimated maximum cost of stock on hand" msgstr "Geschätzter Maximalwert des vorhandenen Bestands" -#: part/models.py:3390 templates/InvenTree/settings/settings_staff_js.html:532 +#: part/models.py:3377 templates/InvenTree/settings/settings_staff_js.html:532 msgid "Report" msgstr "Bericht" -#: part/models.py:3391 +#: part/models.py:3378 msgid "Stocktake report file (generated internally)" msgstr "Inventur-Berichtsdatei (intern generiert)" -#: part/models.py:3396 templates/InvenTree/settings/settings_staff_js.html:539 +#: part/models.py:3383 templates/InvenTree/settings/settings_staff_js.html:539 msgid "Part Count" msgstr "Anzahl der Teile" -#: part/models.py:3397 +#: part/models.py:3384 msgid "Number of parts covered by stocktake" msgstr "Anzahl der Teile, die von der Inventur abgedeckt werden" -#: part/models.py:3407 +#: part/models.py:3394 msgid "User who requested this stocktake report" msgstr "Benutzer, der diesen Inventurbericht angefordert hat" -#: part/models.py:3417 +#: part/models.py:3404 msgid "Part Sale Price Break" msgstr "" -#: part/models.py:3529 +#: part/models.py:3516 msgid "Part Test Template" msgstr "" -#: part/models.py:3555 +#: part/models.py:3542 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "Ungültiger Vorlagenname - es muss mindestens ein alphanumerisches Zeichen enthalten sein" -#: part/models.py:3576 part/models.py:3745 +#: part/models.py:3563 part/models.py:3732 msgid "Choices must be unique" msgstr "Auswahl muss einzigartig sein" -#: part/models.py:3587 +#: part/models.py:3574 msgid "Test templates can only be created for testable parts" msgstr "" -#: part/models.py:3598 +#: part/models.py:3585 msgid "Test template with the same key already exists for part" msgstr "Testvorlage mit demselben Schlüssel existiert bereits für Teil" -#: part/models.py:3615 templates/js/translated/part.js:2898 +#: part/models.py:3602 templates/js/translated/part.js:2898 msgid "Test Name" msgstr "Test-Name" -#: part/models.py:3616 +#: part/models.py:3603 msgid "Enter a name for the test" msgstr "Namen für diesen Test eingeben" -#: part/models.py:3622 +#: part/models.py:3609 msgid "Test Key" msgstr "Testschlüssel" -#: part/models.py:3623 +#: part/models.py:3610 msgid "Simplified key for the test" msgstr "Vereinfachter Schlüssel zum Test" -#: part/models.py:3630 +#: part/models.py:3617 msgid "Test Description" msgstr "Test-Beschreibung" -#: part/models.py:3631 +#: part/models.py:3618 msgid "Enter description for this test" msgstr "Beschreibung für diesen Test eingeben" -#: part/models.py:3635 report/models.py:208 +#: part/models.py:3622 report/models.py:216 #: templates/js/translated/part.js:2919 #: templates/js/translated/table_filters.js:502 msgid "Enabled" msgstr "Aktiviert" -#: part/models.py:3635 +#: part/models.py:3622 msgid "Is this test enabled?" msgstr "Ist dieser Test aktiviert?" -#: part/models.py:3640 templates/js/translated/part.js:2927 +#: part/models.py:3627 templates/js/translated/part.js:2927 #: templates/js/translated/table_filters.js:498 msgid "Required" msgstr "Benötigt" -#: part/models.py:3641 +#: part/models.py:3628 msgid "Is this test required to pass?" msgstr "Muss dieser Test erfolgreich sein?" -#: part/models.py:3646 templates/js/translated/part.js:2935 +#: part/models.py:3633 templates/js/translated/part.js:2935 msgid "Requires Value" msgstr "Erfordert Wert" -#: part/models.py:3647 +#: part/models.py:3634 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:3652 templates/js/translated/part.js:2942 +#: part/models.py:3639 templates/js/translated/part.js:2942 msgid "Requires Attachment" msgstr "Anhang muss eingegeben werden" -#: part/models.py:3654 +#: part/models.py:3641 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:3660 part/models.py:3804 templates/js/translated/part.js:1643 +#: part/models.py:3647 part/models.py:3791 templates/js/translated/part.js:1643 msgid "Choices" msgstr "Auswahlmöglichkeiten" -#: part/models.py:3661 +#: part/models.py:3648 msgid "Valid choices for this test (comma-separated)" msgstr "Gültige Optionen für diesen Test (durch Komma getrennt)" -#: part/models.py:3693 +#: part/models.py:3680 msgid "Part Parameter Template" msgstr "" -#: part/models.py:3720 +#: part/models.py:3707 msgid "Checkbox parameters cannot have units" msgstr "Checkbox-Parameter können keine Einheiten haben" -#: part/models.py:3725 +#: part/models.py:3712 msgid "Checkbox parameters cannot have choices" msgstr "Checkbox-Parameter können keine Auswahl haben" -#: part/models.py:3762 +#: part/models.py:3749 msgid "Parameter template name must be unique" msgstr "Vorlagen-Name des Parameters muss eindeutig sein" -#: part/models.py:3777 +#: part/models.py:3764 msgid "Parameter Name" msgstr "Name des Parameters" -#: part/models.py:3784 +#: part/models.py:3771 msgid "Physical units for this parameter" msgstr "Physikalische Einheiten für diesen Parameter" -#: part/models.py:3792 +#: part/models.py:3779 msgid "Parameter description" msgstr "Parameter-Beschreibung" -#: part/models.py:3798 templates/js/translated/part.js:1634 +#: part/models.py:3785 templates/js/translated/part.js:1634 #: templates/js/translated/table_filters.js:837 msgid "Checkbox" msgstr "Checkbox" -#: part/models.py:3799 +#: part/models.py:3786 msgid "Is this parameter a checkbox?" msgstr "Ist dieser Parameter eine Checkbox?" -#: part/models.py:3805 +#: part/models.py:3792 msgid "Valid choices for this parameter (comma-separated)" msgstr "Gültige Optionen für diesen Parameter (durch Kommas getrennt)" -#: part/models.py:3839 +#: part/models.py:3826 msgid "Part Parameter" msgstr "" -#: part/models.py:3865 +#: part/models.py:3852 msgid "Parameter cannot be modified - part is locked" msgstr "" -#: part/models.py:3903 +#: part/models.py:3890 msgid "Invalid choice for parameter value" msgstr "Ungültige Auswahl für Parameterwert" -#: part/models.py:3952 +#: part/models.py:3939 msgid "Parent Part" msgstr "Ausgangsteil" -#: part/models.py:3960 part/models.py:4068 part/models.py:4069 +#: part/models.py:3947 part/models.py:4055 part/models.py:4056 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "Parameter Vorlage" -#: part/models.py:3966 +#: part/models.py:3953 msgid "Parameter Value" msgstr "Parameter Wert" -#: part/models.py:4016 +#: part/models.py:4003 msgid "Part Category Parameter Template" msgstr "" -#: part/models.py:4075 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:4062 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "Standard-Wert" -#: part/models.py:4076 +#: part/models.py:4063 msgid "Default Parameter Value" msgstr "Standard Parameter Wert" -#: part/models.py:4114 +#: part/models.py:4101 msgid "Part ID or part name" msgstr "Teilnummer oder Teilname" -#: part/models.py:4115 +#: part/models.py:4102 msgid "Unique part ID value" msgstr "Eindeutige Teil-ID" -#: part/models.py:4117 +#: part/models.py:4104 msgid "Part IPN value" msgstr "IPN-Wert des Teils" -#: part/models.py:4118 +#: part/models.py:4105 msgid "Level" msgstr "Stufe" -#: part/models.py:4118 +#: part/models.py:4105 msgid "BOM level" msgstr "Stücklistenebene" -#: part/models.py:4228 +#: part/models.py:4215 msgid "BOM item cannot be modified - assembly is locked" msgstr "" -#: part/models.py:4235 +#: part/models.py:4222 msgid "BOM item cannot be modified - variant assembly is locked" msgstr "" -#: part/models.py:4245 +#: part/models.py:4232 msgid "Select parent part" msgstr "Ausgangsteil auswählen" -#: part/models.py:4255 +#: part/models.py:4242 msgid "Sub part" msgstr "Untergeordnetes Teil" -#: part/models.py:4256 +#: part/models.py:4243 msgid "Select part to be used in BOM" msgstr "Teil für die Nutzung in der Stückliste auswählen" -#: part/models.py:4267 +#: part/models.py:4254 msgid "BOM quantity for this BOM item" msgstr "Stücklisten-Anzahl für dieses Stücklisten-Teil" -#: part/models.py:4273 +#: part/models.py:4260 msgid "This BOM item is optional" msgstr "Diese Stücklisten-Position ist optional" -#: part/models.py:4279 +#: part/models.py:4266 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:4286 part/templates/part/upload_bom.html:55 +#: part/models.py:4273 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "Überschuss" -#: part/models.py:4287 +#: part/models.py:4274 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "Geschätzter Ausschuss (absolut oder prozentual)" -#: part/models.py:4294 +#: part/models.py:4281 msgid "BOM item reference" msgstr "Referenz der Postion auf der Stückliste" -#: part/models.py:4302 +#: part/models.py:4289 msgid "BOM item notes" msgstr "Notizen zur Stücklisten-Position" -#: part/models.py:4308 +#: part/models.py:4295 msgid "Checksum" msgstr "Prüfsumme" -#: part/models.py:4309 +#: part/models.py:4296 msgid "BOM line checksum" msgstr "Prüfsumme der Stückliste" -#: part/models.py:4314 templates/js/translated/table_filters.js:181 +#: part/models.py:4301 templates/js/translated/table_filters.js:181 msgid "Validated" msgstr "überprüft" -#: part/models.py:4315 +#: part/models.py:4302 msgid "This BOM item has been validated" msgstr "Diese Stücklistenposition wurde validiert" -#: part/models.py:4320 part/templates/part/upload_bom.html:57 +#: part/models.py:4307 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:185 #: templates/js/translated/table_filters.js:218 msgid "Gets inherited" msgstr "Wird vererbt" -#: part/models.py:4321 +#: part/models.py:4308 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:4327 +#: part/models.py:4314 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:4412 stock/models.py:689 +#: part/models.py:4399 stock/models.py:689 msgid "Quantity must be integer value for trackable parts" msgstr "Menge muss eine Ganzzahl sein" -#: part/models.py:4422 part/models.py:4424 +#: part/models.py:4409 part/models.py:4411 msgid "Sub part must be specified" msgstr "Zuliefererteil muss festgelegt sein" -#: part/models.py:4561 +#: part/models.py:4554 msgid "BOM Item Substitute" msgstr "Stücklisten Ersatzteile" -#: part/models.py:4582 +#: part/models.py:4575 msgid "Substitute part cannot be the same as the master part" msgstr "Ersatzteil kann nicht identisch mit dem Hauptteil sein" -#: part/models.py:4595 +#: part/models.py:4588 msgid "Parent BOM item" msgstr "Übergeordnete Stücklisten Position" -#: part/models.py:4603 +#: part/models.py:4596 msgid "Substitute part" msgstr "Ersatzteil" -#: part/models.py:4619 +#: part/models.py:4612 msgid "Part 1" msgstr "Teil 1" -#: part/models.py:4627 +#: part/models.py:4620 msgid "Part 2" msgstr "Teil 2" -#: part/models.py:4628 +#: part/models.py:4621 msgid "Select Related Part" msgstr "verknüpftes Teil auswählen" -#: part/models.py:4647 +#: part/models.py:4640 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:4652 +#: part/models.py:4645 msgid "Duplicate relationship already exists" msgstr "Doppelte Beziehung existiert bereits" @@ -7571,326 +7568,326 @@ msgstr "Kaufwährung dieses Lagerartikels" msgid "Number of parts using this template" msgstr "Anzahl der Teile, die diese Vorlage verwenden" -#: part/serializers.py:434 +#: part/serializers.py:432 msgid "No parts selected" msgstr "Keine Teile ausgewählt" -#: part/serializers.py:444 +#: part/serializers.py:442 msgid "Select category" msgstr "Kategorie auswählen" -#: part/serializers.py:479 +#: part/serializers.py:477 msgid "Original Part" msgstr "Originalteil" -#: part/serializers.py:480 +#: part/serializers.py:478 msgid "Select original part to duplicate" msgstr "Originalteil zum Duplizieren auswählen" -#: part/serializers.py:485 +#: part/serializers.py:483 msgid "Copy Image" msgstr "Bild kopieren" -#: part/serializers.py:486 +#: part/serializers.py:484 msgid "Copy image from original part" msgstr "Bild vom Originalteil kopieren" -#: part/serializers.py:492 part/templates/part/detail.html:293 +#: part/serializers.py:490 part/templates/part/detail.html:293 msgid "Copy BOM" msgstr "Stückliste kopieren" -#: part/serializers.py:493 +#: part/serializers.py:491 msgid "Copy bill of materials from original part" msgstr "Stückliste vom Originalteil kopieren" -#: part/serializers.py:499 +#: part/serializers.py:497 msgid "Copy Parameters" msgstr "Parameter kopieren" -#: part/serializers.py:500 +#: part/serializers.py:498 msgid "Copy parameter data from original part" msgstr "Parameterdaten vom Originalteil kopieren" -#: part/serializers.py:506 +#: part/serializers.py:504 msgid "Copy Notes" msgstr "Anmerkungen kopieren" -#: part/serializers.py:507 +#: part/serializers.py:505 msgid "Copy notes from original part" msgstr "Notizen aus Originalteil kopieren" -#: part/serializers.py:525 +#: part/serializers.py:523 msgid "Initial Stock Quantity" msgstr "Start-Bestandsmenge" -#: part/serializers.py:527 +#: part/serializers.py:525 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:534 +#: part/serializers.py:532 msgid "Initial Stock Location" msgstr "Initialer Lagerort" -#: part/serializers.py:535 +#: part/serializers.py:533 msgid "Specify initial stock location for this Part" msgstr "Lagerstandort für dieses Teil angeben" -#: part/serializers.py:552 +#: part/serializers.py:550 msgid "Select supplier (or leave blank to skip)" msgstr "Lieferant auswählen (oder leer lassen, um zu überspringen)" -#: part/serializers.py:568 +#: part/serializers.py:566 msgid "Select manufacturer (or leave blank to skip)" msgstr "Hersteller auswählen (oder leer lassen, um zu überspringen)" -#: part/serializers.py:578 +#: part/serializers.py:576 msgid "Manufacturer part number" msgstr "Hersteller-Teilenummer" -#: part/serializers.py:585 +#: part/serializers.py:583 msgid "Selected company is not a valid supplier" msgstr "Ausgewählte Firma ist kein gültiger Lieferant" -#: part/serializers.py:594 +#: part/serializers.py:592 msgid "Selected company is not a valid manufacturer" msgstr "Ausgewählte Firma ist kein gültiger Hersteller" -#: part/serializers.py:605 +#: part/serializers.py:603 msgid "Manufacturer part matching this MPN already exists" msgstr "Herstellerteil mit dieser MPN existiert bereits" -#: part/serializers.py:612 +#: part/serializers.py:610 msgid "Supplier part matching this SKU already exists" msgstr "Lieferantenteil mit dieser SKU existiert bereits" -#: part/serializers.py:924 +#: part/serializers.py:922 msgid "Revisions" msgstr "" -#: part/serializers.py:929 +#: part/serializers.py:927 msgid "Unallocated Stock" msgstr "Nicht zugewiesenes Lager" -#: part/serializers.py:932 +#: part/serializers.py:930 msgid "Variant Stock" msgstr "Alternatives Lager" -#: part/serializers.py:962 part/templates/part/copy_part.html:9 +#: part/serializers.py:960 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:474 msgid "Duplicate Part" msgstr "Teil duplizieren" -#: part/serializers.py:963 +#: part/serializers.py:961 msgid "Copy initial data from another Part" msgstr "Initiale Daten von anderem Teil kopieren" -#: part/serializers.py:969 templates/js/translated/part.js:103 +#: part/serializers.py:967 templates/js/translated/part.js:103 msgid "Initial Stock" msgstr "Initialer Lagerbestand" -#: part/serializers.py:970 +#: part/serializers.py:968 msgid "Create Part with initial stock quantity" msgstr "Erstelle Teil mit Ausgangsbestand" -#: part/serializers.py:976 +#: part/serializers.py:974 msgid "Supplier Information" msgstr "Lieferanteninformationen" -#: part/serializers.py:977 +#: part/serializers.py:975 msgid "Add initial supplier information for this part" msgstr "Lieferanteninformationen zu diesem Teil hinzufügen" -#: part/serializers.py:985 +#: part/serializers.py:983 msgid "Copy Category Parameters" msgstr "Kategorieparameter kopieren" -#: part/serializers.py:986 +#: part/serializers.py:984 msgid "Copy parameter templates from selected part category" msgstr "Parametervorlagen aus der ausgewählten Teilkategorie kopieren" -#: part/serializers.py:991 +#: part/serializers.py:989 msgid "Existing Image" msgstr "Vorhandenes Bild" -#: part/serializers.py:992 +#: part/serializers.py:990 msgid "Filename of an existing part image" msgstr "Dateiname eines vorhandenen Teilbildes" -#: part/serializers.py:1009 +#: part/serializers.py:1007 msgid "Image file does not exist" msgstr "Bilddatei existiert nicht" -#: part/serializers.py:1215 +#: part/serializers.py:1213 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:1225 +#: part/serializers.py:1223 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:1235 +#: part/serializers.py:1233 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:1241 +#: part/serializers.py:1239 msgid "Exclude External Stock" msgstr "Externen Bestand ausschließen" -#: part/serializers.py:1242 +#: part/serializers.py:1240 msgid "Exclude stock items in external locations" msgstr "Lagerartikel an externen Orten ausschließen" -#: part/serializers.py:1247 +#: part/serializers.py:1245 msgid "Generate Report" msgstr "Bericht generieren" -#: part/serializers.py:1248 +#: part/serializers.py:1246 msgid "Generate report file containing calculated stocktake data" msgstr "Erstelle Berichtsdatei mit berechneten Inventurdaten" -#: part/serializers.py:1253 +#: part/serializers.py:1251 msgid "Update Parts" msgstr "Teile aktualisieren" -#: part/serializers.py:1254 +#: part/serializers.py:1252 msgid "Update specified parts with calculated stocktake data" msgstr "Angegebene Teile mit berechneten Inventurdaten aktualisieren" -#: part/serializers.py:1262 +#: part/serializers.py:1260 msgid "Stocktake functionality is not enabled" msgstr "Inventur-Funktionalität ist nicht aktiviert" -#: part/serializers.py:1368 +#: part/serializers.py:1366 msgid "Override calculated value for minimum price" msgstr "Berechneten Wert für Mindestpreis überschreiben" -#: part/serializers.py:1375 +#: part/serializers.py:1373 msgid "Minimum price currency" msgstr "Mindestpreis Währung" -#: part/serializers.py:1383 +#: part/serializers.py:1381 msgid "Override calculated value for maximum price" msgstr "Berechneten Wert für maximalen Preis überschreiben" -#: part/serializers.py:1390 +#: part/serializers.py:1388 msgid "Maximum price currency" msgstr "Maximalpreis Währung" -#: part/serializers.py:1419 +#: part/serializers.py:1417 msgid "Update" msgstr "Aktualisieren" -#: part/serializers.py:1420 +#: part/serializers.py:1418 msgid "Update pricing for this part" msgstr "Preis für dieses Teil aktualisieren" -#: part/serializers.py:1443 +#: part/serializers.py:1441 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "Konnte nicht von den angegebenen Währungen in {default_currency} umrechnen" -#: part/serializers.py:1450 +#: part/serializers.py:1448 msgid "Minimum price must not be greater than maximum price" msgstr "Mindestpreis darf nicht größer als der Maximalpreis sein" -#: part/serializers.py:1453 +#: part/serializers.py:1451 msgid "Maximum price must not be less than minimum price" msgstr "Der Maximalpreis darf nicht kleiner als der Mindestpreis sein" -#: part/serializers.py:1597 +#: part/serializers.py:1595 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1606 +#: part/serializers.py:1604 msgid "Component Name" msgstr "" -#: part/serializers.py:1609 +#: part/serializers.py:1607 msgid "Component IPN" msgstr "" -#: part/serializers.py:1612 +#: part/serializers.py:1610 msgid "Component Description" msgstr "" -#: part/serializers.py:1618 +#: part/serializers.py:1616 msgid "Select the component part" msgstr "" -#: part/serializers.py:1627 part/templates/part/part_base.html:242 +#: part/serializers.py:1625 part/templates/part/part_base.html:242 #: templates/js/translated/bom.js:1219 msgid "Can Build" msgstr "Herstellbar" -#: part/serializers.py:1858 +#: part/serializers.py:1856 msgid "Select part to copy BOM from" msgstr "Teil auswählen, von dem Stückliste kopiert wird" -#: part/serializers.py:1866 +#: part/serializers.py:1864 msgid "Remove Existing Data" msgstr "Bestehende Daten entfernen" -#: part/serializers.py:1867 +#: part/serializers.py:1865 msgid "Remove existing BOM items before copying" msgstr "Bestehende Stücklisten-Positionen vor dem Kopieren entfernen" -#: part/serializers.py:1872 +#: part/serializers.py:1870 msgid "Include Inherited" msgstr "Vererbtes einschließen" -#: part/serializers.py:1873 +#: part/serializers.py:1871 msgid "Include BOM items which are inherited from templated parts" msgstr "Stücklisten-Positionen einbeziehen, die von Vorlage-Teilen geerbt werden" -#: part/serializers.py:1878 +#: part/serializers.py:1876 msgid "Skip Invalid Rows" msgstr "Ungültige Zeilen überspringen" -#: part/serializers.py:1879 +#: part/serializers.py:1877 msgid "Enable this option to skip invalid rows" msgstr "Aktiviere diese Option, um ungültige Zeilen zu überspringen" -#: part/serializers.py:1884 +#: part/serializers.py:1882 msgid "Copy Substitute Parts" msgstr "Ersatzteile kopieren" -#: part/serializers.py:1885 +#: part/serializers.py:1883 msgid "Copy substitute parts when duplicate BOM items" msgstr "Ersatzteile beim Duplizieren von Stücklisten-Positionen kopieren" -#: part/serializers.py:1922 +#: part/serializers.py:1920 msgid "Clear Existing BOM" msgstr "Bestehende Stückliste löschen" -#: part/serializers.py:1923 +#: part/serializers.py:1921 msgid "Delete existing BOM items before uploading" msgstr "Bestehende Stücklisten-Positionen vor dem Importieren entfernen" -#: part/serializers.py:1955 +#: part/serializers.py:1953 msgid "No part column specified" msgstr "Keine Teilspalte angegeben" -#: part/serializers.py:1999 +#: part/serializers.py:1997 msgid "Multiple matching parts found" msgstr "Mehrere übereinstimmende Teile gefunden" -#: part/serializers.py:2002 +#: part/serializers.py:2000 msgid "No matching part found" msgstr "Keine passenden Teile gefunden" -#: part/serializers.py:2004 +#: part/serializers.py:2002 msgid "Part is not designated as a component" msgstr "Teil ist nicht als Komponente angelegt" -#: part/serializers.py:2013 +#: part/serializers.py:2011 msgid "Quantity not provided" msgstr "Menge nicht angegeben" -#: part/serializers.py:2021 +#: part/serializers.py:2019 msgid "Invalid quantity" msgstr "Ungültige Menge" -#: part/serializers.py:2044 +#: part/serializers.py:2042 msgid "At least one BOM item is required" msgstr "Mindestens eine Stückliste-Position ist erforderlich" @@ -8216,7 +8213,7 @@ msgid "Subscribe to notifications for this part" msgstr "Benachrichtigungen für dieses Teil abonnieren" #: part/templates/part/part_base.html:52 -#: stock/templates/stock/item_base.html:62 +#: stock/templates/stock/item_base.html:61 #: stock/templates/stock/location.html:71 templates/js/translated/label.js:136 msgid "Print Label" msgstr "Label drucken" @@ -8226,7 +8223,7 @@ msgid "Show pricing information" msgstr "Kosteninformationen ansehen" #: part/templates/part/part_base.html:63 -#: stock/templates/stock/item_base.html:110 +#: stock/templates/stock/item_base.html:106 #: stock/templates/stock/location.html:80 msgid "Stock actions" msgstr "Bestands-Aktionen" @@ -8297,12 +8294,12 @@ msgid "Required for Orders" msgstr "" #: part/templates/part/part_base.html:225 -#: stock/templates/stock/item_base.html:388 +#: stock/templates/stock/item_base.html:384 msgid "Allocated to Build Orders" msgstr "Zu Bauaufträgen zugeordnet" #: part/templates/part/part_base.html:234 -#: stock/templates/stock/item_base.html:381 +#: stock/templates/stock/item_base.html:377 msgid "Allocated to Sales Orders" msgstr "Zur Bestellung zugeordnet" @@ -8322,7 +8319,7 @@ msgid "Latest Serial Number" msgstr "letzte Seriennummer" #: part/templates/part/part_base.html:372 -#: stock/templates/stock/item_base.html:322 +#: stock/templates/stock/item_base.html:318 msgid "Search for serial number" msgstr "Nach Seriennummer suchen" @@ -8449,7 +8446,7 @@ msgid "Edit" msgstr "Bearbeiten" #: part/templates/part/prices.html:28 stock/admin.py:252 -#: stock/templates/stock/item_base.html:446 +#: stock/templates/stock/item_base.html:442 #: templates/js/translated/company.js:1703 #: templates/js/translated/company.js:1713 #: templates/js/translated/stock.js:2332 @@ -8604,7 +8601,7 @@ msgstr "Teilbild nicht gefunden" msgid "Part Pricing" msgstr "Teilbepreisung" -#: plugin/api.py:172 +#: plugin/api.py:174 msgid "Plugin cannot be deleted as it is currently active" msgstr "Das Plugin kann nicht gelöscht werden, da es derzeit aktiv ist" @@ -8940,7 +8937,7 @@ msgstr "Rand" msgid "Print a border around each label" msgstr "Einen Rahmen um jedes Label drucken" -#: plugin/builtin/labels/label_sheet.py:47 report/models.py:307 +#: plugin/builtin/labels/label_sheet.py:47 report/models.py:315 msgid "Landscape" msgstr "Querformat" @@ -9012,44 +9009,44 @@ msgstr "Unterstützt das Scannen von TME-Barcodes" msgid "The Supplier which acts as 'TME'" msgstr "Der Lieferant, der als 'TME' fungiert" -#: plugin/installer.py:194 plugin/installer.py:274 +#: plugin/installer.py:199 plugin/installer.py:282 msgid "Only staff users can administer plugins" msgstr "Nur Mitarbeiter können Plugins verwalten" -#: plugin/installer.py:197 +#: plugin/installer.py:202 msgid "Plugin installation is disabled" msgstr "Plugin-Installation ist deaktiviert" -#: plugin/installer.py:241 +#: plugin/installer.py:246 msgid "Installed plugin successfully" msgstr "Plugin wurde erfolgreich installiert" -#: plugin/installer.py:246 +#: plugin/installer.py:251 #, python-brace-format msgid "Installed plugin into {path}" msgstr "Plugin installiert in {path}" -#: plugin/installer.py:265 +#: plugin/installer.py:273 msgid "Plugin was not found in registry" msgstr "Plugin wurde nicht in der Registry gefunden" -#: plugin/installer.py:268 +#: plugin/installer.py:276 msgid "Plugin is not a packaged plugin" msgstr "Plugin ist kein gepacktes Plugin" -#: plugin/installer.py:271 +#: plugin/installer.py:279 msgid "Plugin package name not found" msgstr "Plugin-Paketname nicht gefunden" -#: plugin/installer.py:291 +#: plugin/installer.py:299 msgid "Plugin uninstalling is disabled" msgstr "Plugin-Deinstallation ist deaktiviert" -#: plugin/installer.py:295 +#: plugin/installer.py:303 msgid "Plugin cannot be uninstalled as it is currently active" msgstr "Plugin kann nicht deinstalliert werden, da es momentan aktiv ist" -#: plugin/installer.py:308 +#: plugin/installer.py:316 msgid "Uninstalled plugin successfully" msgstr "Plugin erfolgreich deinstallieren" @@ -9098,7 +9095,7 @@ msgstr "Integriertes Plugin" msgid "Package Plugin" msgstr "Paket-Plugin" -#: plugin/models.py:220 report/models.py:474 +#: plugin/models.py:220 report/models.py:482 #: templates/InvenTree/settings/plugin_settings.html:9 #: templates/js/translated/plugin.js:51 msgid "Plugin" @@ -9167,6 +9164,38 @@ msgstr "Beispiel-Währungswechsel-Plugin" msgid "InvenTree Contributors" msgstr "InvenTree Mitwirkende" +#: plugin/samples/integration/user_interface_sample.py:22 +msgid "Enable Part Panels" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:23 +msgid "Enable custom panels for Part views" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:28 +msgid "Enable Purchase Order Panels" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:29 +msgid "Enable custom panels for Purchase Order views" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:34 +msgid "Enable Broken Panels" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:35 +msgid "Enable broken panels for testing" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:40 +msgid "Enable Dynamic Panel" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:41 +msgid "Enable dynamic panels for testing" +msgstr "" + #: plugin/serializers.py:81 msgid "Source URL" msgstr "Quell-URL" @@ -9245,12 +9274,36 @@ msgstr "Konfiguration löschen" msgid "Delete the plugin configuration from the database" msgstr "Plugin-Konfiguration aus der Datenbank löschen" +#: plugin/serializers.py:324 +msgid "Plugin Key" +msgstr "" + +#: plugin/serializers.py:328 +msgid "Panel Name" +msgstr "" + +#: plugin/serializers.py:332 +msgid "Panel Title" +msgstr "" + +#: plugin/serializers.py:337 +msgid "Panel Icon" +msgstr "" + +#: plugin/serializers.py:341 +msgid "Panel Content (HTML)" +msgstr "" + +#: plugin/serializers.py:345 +msgid "Panel Source (javascript)" +msgstr "" + #: report/api.py:88 msgid "No valid objects provided to template" msgstr "Keine korrekten Objekte für Vorlage gegeben" -#: report/api.py:103 report/models.py:438 report/serializers.py:98 -#: report/serializers.py:148 templates/js/translated/purchase_order.js:1817 +#: report/api.py:103 report/models.py:446 report/serializers.py:99 +#: report/serializers.py:149 templates/js/translated/purchase_order.js:1817 #: templates/js/translated/return_order.js:353 #: templates/js/translated/sales_order.js:887 #: templates/js/translated/sales_order.js:1047 @@ -9281,7 +9334,11 @@ msgstr "" msgid "Error printing label" msgstr "Fehler beim Drucken des Labels" -#: report/api.py:375 report/api.py:411 +#: report/api.py:358 +msgid "Report saved at time of printing" +msgstr "" + +#: report/api.py:384 report/api.py:420 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "Vorlagendatei '{template}' fehlt oder existiert nicht" @@ -9318,135 +9375,143 @@ msgstr "" msgid "Revision number (auto-increments)" msgstr "" -#: report/models.py:202 +#: report/models.py:168 +msgid "Attach to Model on Print" +msgstr "" + +#: report/models.py:170 +msgid "Save report output as an attachment against linked model instance when printing" +msgstr "" + +#: report/models.py:210 msgid "Filename Pattern" msgstr "Dateinamen-Muster" -#: report/models.py:203 +#: report/models.py:211 msgid "Pattern for generating filenames" msgstr "" -#: report/models.py:208 +#: report/models.py:216 msgid "Template is enabled" msgstr "" -#: report/models.py:214 +#: report/models.py:222 msgid "Target model type for template" msgstr "" -#: report/models.py:234 +#: report/models.py:242 msgid "Filters" msgstr "Filter" -#: report/models.py:235 +#: report/models.py:243 msgid "Template query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:294 report/models.py:361 +#: report/models.py:302 report/models.py:369 msgid "Template file" msgstr "" -#: report/models.py:302 +#: report/models.py:310 msgid "Page size for PDF reports" msgstr "Seitengröße für PDF-Berichte" -#: report/models.py:308 +#: report/models.py:316 msgid "Render report in landscape orientation" msgstr "Bericht in Querformat anzeigen" -#: report/models.py:367 +#: report/models.py:375 msgid "Width [mm]" msgstr "Breite [mm]" -#: report/models.py:368 +#: report/models.py:376 msgid "Label width, specified in mm" msgstr "Label-Breite in mm" -#: report/models.py:374 +#: report/models.py:382 msgid "Height [mm]" msgstr "Höhe [mm]" -#: report/models.py:375 +#: report/models.py:383 msgid "Label height, specified in mm" msgstr "Label-Höhe in mm" -#: report/models.py:438 +#: report/models.py:446 msgid "Number of items to process" msgstr "" -#: report/models.py:444 +#: report/models.py:452 msgid "Report generation is complete" msgstr "" -#: report/models.py:448 templates/js/translated/build.js:2352 +#: report/models.py:456 templates/js/translated/build.js:2352 msgid "Progress" msgstr "Fortschritt" -#: report/models.py:448 +#: report/models.py:456 msgid "Report generation progress" msgstr "" -#: report/models.py:456 +#: report/models.py:464 msgid "Report Template" msgstr "" -#: report/models.py:463 report/models.py:486 +#: report/models.py:471 report/models.py:494 msgid "Output File" msgstr "Ausgabedatei" -#: report/models.py:464 report/models.py:487 +#: report/models.py:472 report/models.py:495 msgid "Generated output file" msgstr "" -#: report/models.py:475 +#: report/models.py:483 msgid "Label output plugin" msgstr "" -#: report/models.py:479 +#: report/models.py:487 msgid "Label Template" msgstr "" -#: report/models.py:502 +#: report/models.py:510 msgid "Snippet" msgstr "Schnipsel" -#: report/models.py:503 +#: report/models.py:511 msgid "Report snippet file" msgstr "Berichts-Snippet" -#: report/models.py:510 +#: report/models.py:518 msgid "Snippet file description" msgstr "Snippet-Beschreibung" -#: report/models.py:528 +#: report/models.py:536 msgid "Asset" msgstr "Ressource" -#: report/models.py:529 +#: report/models.py:537 msgid "Report asset file" msgstr "Berichts-Ressource" -#: report/models.py:536 +#: report/models.py:544 msgid "Asset file description" msgstr "Ressource-Beschreibung" -#: report/serializers.py:91 +#: report/serializers.py:92 msgid "Select report template" msgstr "" -#: report/serializers.py:99 report/serializers.py:149 +#: report/serializers.py:100 report/serializers.py:150 msgid "List of item primary keys to include in the report" msgstr "" -#: report/serializers.py:132 +#: report/serializers.py:133 msgid "Select label template" msgstr "Etiketten-Vorlage auswählen" -#: report/serializers.py:140 +#: report/serializers.py:141 msgid "Printing Plugin" msgstr "" -#: report/serializers.py:141 +#: report/serializers.py:142 msgid "Select plugin to use for label printing" msgstr "" @@ -9517,7 +9582,7 @@ msgstr "Testergebnisse" msgid "Test" msgstr "Test" -#: report/templates/report/inventree_test_report.html:103 stock/models.py:2538 +#: report/templates/report/inventree_test_report.html:103 stock/models.py:2533 msgid "Result" msgstr "Ergebnis" @@ -9598,7 +9663,7 @@ msgid "Customer ID" msgstr "Kunden ID" #: stock/admin.py:206 stock/models.py:829 -#: stock/templates/stock/item_base.html:354 +#: stock/templates/stock/item_base.html:350 msgid "Installed In" msgstr "verbaut in" @@ -9623,7 +9688,7 @@ msgid "Delete on Deplete" msgstr "Löschen wenn leer" #: stock/admin.py:261 stock/models.py:923 -#: stock/templates/stock/item_base.html:433 +#: stock/templates/stock/item_base.html:429 #: templates/js/translated/stock.js:2316 users/models.py:124 msgid "Expiry Date" msgstr "Ablaufdatum" @@ -9665,7 +9730,7 @@ msgid "Expiry date after" msgstr "Gültigkeitsdauer nach" #: stock/api.py:839 stock/serializers.py:611 -#: stock/templates/stock/item_base.html:439 +#: stock/templates/stock/item_base.html:435 #: templates/js/translated/table_filters.js:448 msgid "Stale" msgstr "überfällig" @@ -9715,7 +9780,7 @@ msgid "Stock Locations" msgstr "Bestand-Lagerorte" #: stock/models.py:185 stock/models.py:972 -#: stock/templates/stock/item_base.html:247 +#: stock/templates/stock/item_base.html:243 msgid "Owner" msgstr "Besitzer" @@ -9826,7 +9891,7 @@ msgstr "Quellbau" msgid "Build for this stock item" msgstr "Bauauftrag für diesen Lagerartikel" -#: stock/models.py:892 stock/templates/stock/item_base.html:363 +#: stock/models.py:892 stock/templates/stock/item_base.html:359 msgid "Consumed By" msgstr "Verbraucht von" @@ -9891,7 +9956,7 @@ msgstr "Anzahl stimmt nicht mit den Seriennummern überein" msgid "Serial numbers already exist" msgstr "Seriennummern existieren bereits" -#: stock/models.py:1636 +#: stock/models.py:1636 stock/models.py:2436 msgid "Test template does not exist" msgstr "Testvorlage existiert nicht" @@ -9939,67 +10004,67 @@ msgstr "Status-Codes müssen zusammenpassen" 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:2337 +#: stock/models.py:2335 msgid "Stock Item Tracking" msgstr "" -#: stock/models.py:2370 +#: stock/models.py:2368 msgid "Entry notes" msgstr "Eintrags-Notizen" -#: stock/models.py:2410 +#: stock/models.py:2408 msgid "Stock Item Test Result" msgstr "" -#: stock/models.py:2443 +#: stock/models.py:2439 msgid "Value must be provided for this test" msgstr "Wert muss für diesen Test angegeben werden" -#: stock/models.py:2448 +#: stock/models.py:2443 msgid "Attachment must be uploaded for this test" msgstr "Anhang muss für diesen Test hochgeladen werden" -#: stock/models.py:2453 +#: stock/models.py:2448 msgid "Invalid value for this test" msgstr "" -#: stock/models.py:2538 +#: stock/models.py:2533 msgid "Test result" msgstr "Testergebnis" -#: stock/models.py:2545 +#: stock/models.py:2540 msgid "Test output value" msgstr "Test Ausgabe Wert" -#: stock/models.py:2553 stock/serializers.py:245 +#: stock/models.py:2548 stock/serializers.py:245 msgid "Test result attachment" msgstr "Test Ergebnis Anhang" -#: stock/models.py:2557 +#: stock/models.py:2552 msgid "Test notes" msgstr "Test Notizen" -#: stock/models.py:2565 templates/js/translated/stock.js:1633 +#: stock/models.py:2560 templates/js/translated/stock.js:1633 msgid "Test station" msgstr "Teststation" -#: stock/models.py:2566 +#: stock/models.py:2561 msgid "The identifier of the test station where the test was performed" msgstr "Der Bezeichner der Teststation, in der der Test durchgeführt wurde" -#: stock/models.py:2572 +#: stock/models.py:2567 msgid "Started" msgstr "Gestartet" -#: stock/models.py:2573 +#: stock/models.py:2568 msgid "The timestamp of the test start" msgstr "Der Zeitstempel des Teststarts" -#: stock/models.py:2579 +#: stock/models.py:2574 msgid "Finished" msgstr "Fertiggestellt" -#: stock/models.py:2580 +#: stock/models.py:2575 msgid "The timestamp of the test finish" msgstr "Der Zeitstempel der Test-Beendigung" @@ -10059,7 +10124,7 @@ msgstr "Die Test-Endzeit kann nicht früher als die Startzeit des Tests sein" msgid "Serial number is too large" msgstr "Seriennummer ist zu lang" -#: stock/serializers.py:459 stock/templates/stock/item_base.html:193 +#: stock/serializers.py:459 stock/templates/stock/item_base.html:189 msgid "Parent Item" msgstr "Elternposition" @@ -10071,7 +10136,7 @@ msgstr "" msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "Packungsgröße beim Hinzufügen verwenden: Die definierte Menge ist die Anzahl der Pakete" -#: stock/serializers.py:603 stock/templates/stock/item_base.html:437 +#: stock/serializers.py:603 stock/templates/stock/item_base.html:433 #: templates/js/translated/table_filters.js:442 users/models.py:174 msgid "Expired" msgstr "abgelaufen" @@ -10410,7 +10475,7 @@ msgstr "Dieser Lagerartikel hat keine Kinder" msgid "Test Data" msgstr "Testdaten" -#: stock/templates/stock/item.html:85 stock/templates/stock/item_base.html:65 +#: stock/templates/stock/item.html:85 msgid "Test Report" msgstr "Test-Bericht" @@ -10450,200 +10515,204 @@ msgstr "Lagerbestand lokalisieren" msgid "Scan to Location" msgstr "zu Lagerort einscannen" -#: stock/templates/stock/item_base.html:59 +#: stock/templates/stock/item_base.html:58 #: stock/templates/stock/location.html:67 #: templates/js/translated/filters.js:434 msgid "Printing actions" msgstr "Druck Aktionen" -#: stock/templates/stock/item_base.html:75 +#: stock/templates/stock/item_base.html:63 templates/js/translated/report.js:49 +msgid "Print Report" +msgstr "" + +#: stock/templates/stock/item_base.html:71 msgid "Stock adjustment actions" msgstr "Bestands-Anpassungs Aktionen" -#: stock/templates/stock/item_base.html:79 +#: stock/templates/stock/item_base.html:75 #: stock/templates/stock/location.html:87 templates/js/translated/stock.js:1909 msgid "Count stock" msgstr "Bestand zählen" -#: stock/templates/stock/item_base.html:81 +#: stock/templates/stock/item_base.html:77 #: templates/js/translated/stock.js:1891 msgid "Add stock" msgstr "Bestand hinzufügen" -#: stock/templates/stock/item_base.html:82 +#: stock/templates/stock/item_base.html:78 #: templates/js/translated/stock.js:1900 msgid "Remove stock" msgstr "Bestand entfernen" -#: stock/templates/stock/item_base.html:85 +#: stock/templates/stock/item_base.html:81 msgid "Serialize stock" msgstr "Bestand serialisieren" -#: stock/templates/stock/item_base.html:88 +#: stock/templates/stock/item_base.html:84 #: stock/templates/stock/location.html:93 templates/js/translated/stock.js:1918 msgid "Transfer stock" msgstr "Bestand verschieben" -#: stock/templates/stock/item_base.html:91 +#: stock/templates/stock/item_base.html:87 #: templates/js/translated/stock.js:1973 msgid "Assign to customer" msgstr "Kunden zuweisen" -#: stock/templates/stock/item_base.html:94 +#: stock/templates/stock/item_base.html:90 msgid "Return to stock" msgstr "zu Bestand zurückgeben" -#: stock/templates/stock/item_base.html:97 +#: stock/templates/stock/item_base.html:93 msgid "Uninstall stock item" msgstr "Lagerartikel deinstallieren" -#: stock/templates/stock/item_base.html:97 +#: stock/templates/stock/item_base.html:93 msgid "Uninstall" msgstr "Deinstallieren" -#: stock/templates/stock/item_base.html:101 +#: stock/templates/stock/item_base.html:97 msgid "Install stock item" msgstr "Lagerartikel installieren" -#: stock/templates/stock/item_base.html:101 +#: stock/templates/stock/item_base.html:97 msgid "Install" msgstr "Installieren" -#: stock/templates/stock/item_base.html:115 +#: stock/templates/stock/item_base.html:111 msgid "Convert to variant" msgstr "in Variante ändern" -#: stock/templates/stock/item_base.html:118 +#: stock/templates/stock/item_base.html:114 msgid "Duplicate stock item" msgstr "Lagerartikel duplizieren" -#: stock/templates/stock/item_base.html:120 +#: stock/templates/stock/item_base.html:116 msgid "Edit stock item" msgstr "Lagerartikel bearbeiten" -#: stock/templates/stock/item_base.html:123 +#: stock/templates/stock/item_base.html:119 msgid "Delete stock item" msgstr "Lagerartikel löschen" -#: stock/templates/stock/item_base.html:169 templates/InvenTree/search.html:139 +#: stock/templates/stock/item_base.html:165 templates/InvenTree/search.html:139 #: templates/js/translated/build.js:2298 templates/navbar.html:38 msgid "Build" msgstr "Bauauftrag" -#: stock/templates/stock/item_base.html:211 +#: stock/templates/stock/item_base.html:207 msgid "No manufacturer set" msgstr "Kein Hersteller ausgewählt" -#: stock/templates/stock/item_base.html:251 +#: stock/templates/stock/item_base.html:247 msgid "You are not in the list of owners of this item. This stock item cannot be edited." msgstr "Sie gehören nicht zu den Eigentümern dieses Objekts und können es nicht ändern." -#: stock/templates/stock/item_base.html:252 +#: stock/templates/stock/item_base.html:248 #: stock/templates/stock/location.html:146 msgid "Read only" msgstr "Nur Leserechte" -#: stock/templates/stock/item_base.html:265 +#: stock/templates/stock/item_base.html:261 msgid "This stock item is unavailable" msgstr "Dieser Lagerartikel ist nicht verfügbar" -#: stock/templates/stock/item_base.html:271 +#: stock/templates/stock/item_base.html:267 msgid "This stock item is in production and cannot be edited." msgstr "Dieser Lagerartikel wird gerade hergestellt und kann nicht geändert werden." -#: stock/templates/stock/item_base.html:272 +#: stock/templates/stock/item_base.html:268 msgid "Edit the stock item from the build view." msgstr "Ändern des Lagerartikel in der Bauauftrag-Ansicht." -#: stock/templates/stock/item_base.html:287 +#: stock/templates/stock/item_base.html:283 msgid "This stock item is allocated to Sales Order" msgstr "Dieser Lagerartikel ist einem Auftrag zugewiesen" -#: stock/templates/stock/item_base.html:295 +#: stock/templates/stock/item_base.html:291 msgid "This stock item is allocated to Build Order" msgstr "Dieser Lagerartikel ist einem Bauauftrag zugewiesen" -#: stock/templates/stock/item_base.html:311 +#: stock/templates/stock/item_base.html:307 msgid "This stock item is serialized. It has a unique serial number and the quantity cannot be adjusted" msgstr "Dieser Lagerartikel hat eine eindeutige Seriennummer, der Bestand kann nicht geändert werden" -#: stock/templates/stock/item_base.html:317 +#: stock/templates/stock/item_base.html:313 msgid "previous page" msgstr "vorherige Seite" -#: stock/templates/stock/item_base.html:317 +#: stock/templates/stock/item_base.html:313 msgid "Navigate to previous serial number" msgstr "Zur vorherigen Seriennummer wechseln" -#: stock/templates/stock/item_base.html:326 +#: stock/templates/stock/item_base.html:322 msgid "next page" msgstr "nächste Seite" -#: stock/templates/stock/item_base.html:326 +#: stock/templates/stock/item_base.html:322 msgid "Navigate to next serial number" msgstr "Zur nächsten Seriennummer wechseln" -#: stock/templates/stock/item_base.html:398 +#: stock/templates/stock/item_base.html:394 #: templates/js/translated/build.js:2555 msgid "No location set" msgstr "Kein Lagerort gesetzt" -#: stock/templates/stock/item_base.html:413 +#: stock/templates/stock/item_base.html:409 msgid "Tests" msgstr "Tests" -#: stock/templates/stock/item_base.html:419 +#: stock/templates/stock/item_base.html:415 msgid "This stock item has not passed all required tests" msgstr "Dieser Lagerartikel hat nicht alle Tests bestanden" -#: stock/templates/stock/item_base.html:437 +#: stock/templates/stock/item_base.html:433 #, python-format msgid "This StockItem expired on %(item.expiry_date)s" msgstr "Dieser Lagerartikel lief am %(item.expiry_date)s ab" -#: stock/templates/stock/item_base.html:439 +#: stock/templates/stock/item_base.html:435 #, python-format msgid "This StockItem expires on %(item.expiry_date)s" msgstr "Dieser Lagerartikel läuft am %(item.expiry_date)s ab" -#: stock/templates/stock/item_base.html:455 +#: stock/templates/stock/item_base.html:451 msgid "No stocktake performed" msgstr "Keine Inventur ausgeführt" -#: stock/templates/stock/item_base.html:504 +#: stock/templates/stock/item_base.html:500 #: templates/js/translated/stock.js:2038 msgid "stock item" msgstr "Lagerartikel" -#: stock/templates/stock/item_base.html:527 +#: stock/templates/stock/item_base.html:523 msgid "Edit Stock Status" msgstr "Lagerstatus bearbeiten" -#: stock/templates/stock/item_base.html:536 +#: stock/templates/stock/item_base.html:532 msgid "Stock Item QR Code" msgstr "Lagerartikel QR-Code" -#: stock/templates/stock/item_base.html:547 +#: stock/templates/stock/item_base.html:543 msgid "Link Barcode to Stock Item" msgstr "Barcode mit Lagerartikel verknüpfen" -#: stock/templates/stock/item_base.html:611 +#: stock/templates/stock/item_base.html:607 msgid "Select one of the part variants listed below." msgstr "Wählen Sie eine der unten aufgeführten Teilvarianten aus." -#: stock/templates/stock/item_base.html:614 +#: stock/templates/stock/item_base.html:610 msgid "Warning" msgstr "Warnung" -#: stock/templates/stock/item_base.html:615 +#: stock/templates/stock/item_base.html:611 msgid "This action cannot be easily undone" msgstr "Diese Aktion kann nicht einfach rückgängig gemacht werden" -#: stock/templates/stock/item_base.html:623 +#: stock/templates/stock/item_base.html:619 msgid "Convert Stock Item" msgstr "Lagerartikel umwandeln" -#: stock/templates/stock/item_base.html:656 +#: stock/templates/stock/item_base.html:652 msgid "Return to Stock" msgstr "Zurück ins Lager" @@ -11310,7 +11379,7 @@ msgid "Delete Location Type" msgstr "Standorttyp löschen" #: templates/InvenTree/settings/settings_staff_js.html:503 -#: templates/InvenTree/settings/stock.html:38 +#: templates/InvenTree/settings/stock.html:39 msgid "New Location Type" msgstr "Neuer Standorttyp" @@ -11367,7 +11436,7 @@ msgstr "Auftrags-Einstellungen" msgid "Stock Settings" msgstr "Bestands-Einstellungen" -#: templates/InvenTree/settings/stock.html:34 +#: templates/InvenTree/settings/stock.html:35 msgid "Stock Location Types" msgstr "Lagerstandort Elemente" @@ -11852,23 +11921,23 @@ msgstr "Anhang hinzufügen" msgid "Barcode Identifier" msgstr "Barcode-Bezeichner" -#: templates/base.html:103 +#: templates/base.html:102 msgid "Server Restart Required" msgstr "Server-Neustart erforderlich" -#: templates/base.html:106 +#: templates/base.html:105 msgid "A configuration option has been changed which requires a server restart" msgstr "Eine Konfigurationsoption wurde geändert, die einen Neustart des Servers erfordert" -#: templates/base.html:106 templates/base.html:116 +#: templates/base.html:105 templates/base.html:115 msgid "Contact your system administrator for further information" msgstr "Bitte kontaktieren Sie Ihren Administrator für mehr Informationen" -#: templates/base.html:113 +#: templates/base.html:112 msgid "Pending Database Migrations" msgstr "Ausstehende Datenbankmigrationen" -#: templates/base.html:116 +#: templates/base.html:115 msgid "There are pending database migrations which require attention" msgstr "Es gibt ausstehende Datenbankmigrationen, die Ihre Aufmerksamkeit erfordern" @@ -13946,10 +14015,6 @@ msgstr "Position bearbeiten" msgid "Delete line item" msgstr "Position löschen" -#: templates/js/translated/report.js:49 -msgid "Print Report" -msgstr "" - #: templates/js/translated/report.js:68 msgid "Report print successful" msgstr "" diff --git a/src/backend/InvenTree/locale/el/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/el/LC_MESSAGES/django.po index b39ad7ec2382..e8ab13745a7d 100644 --- a/src/backend/InvenTree/locale/el/LC_MESSAGES/django.po +++ b/src/backend/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: 2024-08-29 07:07+0000\n" -"PO-Revision-Date: 2024-08-29 07:10\n" +"POT-Creation-Date: 2024-09-16 00:37+0000\n" +"PO-Revision-Date: 2024-09-16 00:40\n" "Last-Translator: \n" "Language-Team: Greek\n" "Language: el_GR\n" @@ -65,9 +65,9 @@ msgstr "Εισάγετε ημερομηνία" #: 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:59 -#: part/models.py:3309 part/templates/part/part_sidebar.html:65 +#: part/models.py:3296 part/templates/part/part_sidebar.html:65 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/admin.py:231 stock/models.py:2369 stock/models.py:2557 +#: stock/admin.py:231 stock/models.py:2367 stock/models.py:2552 #: stock/serializers.py:705 stock/serializers.py:863 stock/serializers.py:989 #: stock/serializers.py:1039 stock/serializers.py:1350 #: stock/serializers.py:1439 stock/serializers.py:1604 @@ -364,7 +364,7 @@ msgstr "Κινέζικα (Παραδοσιακά)" msgid "[{site_name}] Log in to the app" msgstr "[{site_name}] Σύνδεση στην εφαρμογή" -#: InvenTree/magic_login.py:38 InvenTree/serializers.py:413 +#: InvenTree/magic_login.py:38 InvenTree/serializers.py:416 #: company/models.py:133 company/templates/company/company_base.html:138 #: templates/InvenTree/settings/user.html:49 #: templates/js/translated/company.js:677 @@ -419,9 +419,9 @@ msgstr "Διπλότυπα ονόματα δεν μπορούν να υπάρχ msgid "Invalid choice" msgstr "Μη έγκυρη επιλογή" -#: InvenTree/models.py:767 common/models.py:2704 common/models.py:3131 -#: common/models.py:3351 common/serializers.py:439 company/models.py:590 -#: machine/models.py:24 part/models.py:995 part/models.py:3776 +#: InvenTree/models.py:767 common/models.py:2705 common/models.py:3132 +#: common/models.py:3352 common/serializers.py:455 company/models.py:590 +#: machine/models.py:24 part/models.py:995 part/models.py:3763 #: plugin/models.py:51 report/models.py:149 stock/models.py:82 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -446,10 +446,10 @@ msgstr "Όνομα" #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 order/models.py:289 #: order/models.py:1406 part/admin.py:305 part/admin.py:411 part/models.py:1018 -#: part/models.py:3791 part/templates/part/category.html:79 +#: part/models.py:3778 part/templates/part/category.html:79 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:155 -#: report/models.py:509 report/models.py:535 +#: report/models.py:517 report/models.py:543 #: report/templates/report/inventree_build_order_report.html:117 #: stock/admin.py:54 stock/models.py:88 stock/templates/stock/location.html:122 #: templates/InvenTree/settings/notifications.html:19 @@ -517,12 +517,12 @@ msgstr "Σφάλμα διακομιστή" msgid "An error has been logged by the server." msgstr "Ένα σφάλμα έχει καταγραφεί από το διακομιστή." -#: InvenTree/serializers.py:63 part/models.py:4400 +#: InvenTree/serializers.py:63 part/models.py:4387 msgid "Must be a valid number" msgstr "Πρέπει να είναι αριθμός" #: InvenTree/serializers.py:100 company/models.py:183 -#: company/templates/company/company_base.html:112 part/models.py:3127 +#: company/templates/company/company_base.html:112 part/models.py:3114 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -536,43 +536,43 @@ msgstr "Επιλέξτε νόμισμα από τις διαθέσιμες επ msgid "Username" msgstr "" -#: InvenTree/serializers.py:407 templates/InvenTree/settings/user.html:37 +#: InvenTree/serializers.py:408 templates/InvenTree/settings/user.html:37 msgid "First Name" msgstr "" -#: InvenTree/serializers.py:407 +#: InvenTree/serializers.py:408 msgid "First name of the user" msgstr "" -#: InvenTree/serializers.py:410 templates/InvenTree/settings/user.html:41 +#: InvenTree/serializers.py:412 templates/InvenTree/settings/user.html:41 msgid "Last Name" msgstr "" -#: InvenTree/serializers.py:410 +#: InvenTree/serializers.py:412 msgid "Last name of the user" msgstr "" -#: InvenTree/serializers.py:413 +#: InvenTree/serializers.py:416 msgid "Email address of the user" msgstr "" -#: InvenTree/serializers.py:438 +#: InvenTree/serializers.py:441 msgid "Staff" msgstr "" -#: InvenTree/serializers.py:438 +#: InvenTree/serializers.py:441 msgid "Does this user have staff permissions" msgstr "" -#: InvenTree/serializers.py:441 +#: InvenTree/serializers.py:445 msgid "Superuser" msgstr "" -#: InvenTree/serializers.py:441 +#: InvenTree/serializers.py:445 msgid "Is this user a superuser" msgstr "" -#: InvenTree/serializers.py:444 common/models.py:2709 company/models.py:160 +#: InvenTree/serializers.py:449 common/models.py:2710 company/models.py:160 #: company/models.py:798 machine/models.py:39 part/admin.py:88 #: part/models.py:1201 plugin/models.py:66 #: templates/js/translated/company.js:523 @@ -585,89 +585,89 @@ msgstr "" msgid "Active" msgstr "" -#: InvenTree/serializers.py:444 +#: InvenTree/serializers.py:449 msgid "Is this user account active" msgstr "" -#: InvenTree/serializers.py:462 +#: InvenTree/serializers.py:467 msgid "You do not have permission to change this user role." msgstr "Δεν έχετε άδεια να αλλάξετε αυτόν τον ρόλο χρήστη." -#: InvenTree/serializers.py:474 +#: InvenTree/serializers.py:503 msgid "Only superusers can create new users" msgstr "Μόνο υπερχρήστες (superusers) μπορούν να δημιουργήσουν νέους χρήστες" -#: InvenTree/serializers.py:493 +#: InvenTree/serializers.py:522 msgid "Your account has been created." msgstr "Ο λογαριασμός σας δημιουργήθηκε." -#: InvenTree/serializers.py:495 +#: InvenTree/serializers.py:524 msgid "Please use the password reset function to login" msgstr "Παρακαλούμε χρησιμοποιήστε τη λειτουργία επαναφοράς κωδικού πρόσβασης για να συνδεθείτε" -#: InvenTree/serializers.py:502 +#: InvenTree/serializers.py:531 msgid "Welcome to InvenTree" msgstr "Καλώς ήρθατε στο InvenTree" -#: InvenTree/serializers.py:560 +#: InvenTree/serializers.py:589 msgid "Invalid value" msgstr "Μη έγκυρη τιμή" -#: InvenTree/serializers.py:580 importer/models.py:64 +#: InvenTree/serializers.py:609 importer/models.py:64 msgid "Data File" msgstr "Αρχείο Δεδομένων" -#: InvenTree/serializers.py:581 +#: InvenTree/serializers.py:610 msgid "Select data file for upload" msgstr "Επιλέξτε ένα αρχείο για ανέβασμα" -#: InvenTree/serializers.py:598 +#: InvenTree/serializers.py:627 msgid "Unsupported file type" msgstr "Μη υποστηριζόμενος τύπος αρχείου" -#: InvenTree/serializers.py:604 +#: InvenTree/serializers.py:633 msgid "File is too large" msgstr "Το αρχείο είναι πολύ μεγάλο" -#: InvenTree/serializers.py:625 +#: InvenTree/serializers.py:654 msgid "No columns found in file" msgstr "Δεν βρέθηκαν στήλες στο αρχείο" -#: InvenTree/serializers.py:628 +#: InvenTree/serializers.py:657 msgid "No data rows found in file" msgstr "Δεν βρέθηκαν γραμμές δεδομένων στο αρχείο" -#: InvenTree/serializers.py:740 +#: InvenTree/serializers.py:769 msgid "No data rows provided" msgstr "Δεν παρασχέθηκαν σειρές δεδομένων" -#: InvenTree/serializers.py:743 +#: InvenTree/serializers.py:772 msgid "No data columns supplied" msgstr "Δεν δόθηκαν στήλες δεδομένων" -#: InvenTree/serializers.py:809 +#: InvenTree/serializers.py:838 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "Λείπει απαιτούμενη στήλη: '{name}'" -#: InvenTree/serializers.py:818 +#: InvenTree/serializers.py:847 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "Διπλή στήλη: '{col}'" -#: InvenTree/serializers.py:857 +#: InvenTree/serializers.py:886 msgid "Remote Image" msgstr "Απομακρυσμένες Εικόνες" -#: InvenTree/serializers.py:858 +#: InvenTree/serializers.py:887 msgid "URL of remote image file" msgstr "Διεύθυνση URL του αρχείου απομακρυσμένης εικόνας" -#: InvenTree/serializers.py:876 +#: InvenTree/serializers.py:905 msgid "Downloading images from remote URL is not enabled" msgstr "Η λήψη εικόνων από απομακρυσμένο URL δεν είναι ενεργοποιημένη" -#: InvenTree/status.py:65 part/serializers.py:1267 +#: InvenTree/status.py:65 part/serializers.py:1265 msgid "Background worker check failed" msgstr "Ο έλεγχος εργασίας στο παρασκήνιο απέτυχε" @@ -759,7 +759,7 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "Η έκδοση πρέπει να ακυρωθεί πριν διαγραφεί" -#: build/api.py:319 build/serializers.py:1332 part/models.py:4278 +#: build/api.py:319 build/serializers.py:1332 part/models.py:4265 #: templates/js/translated/bom.js:997 templates/js/translated/bom.js:1037 #: templates/js/translated/build.js:2705 #: templates/js/translated/table_filters.js:197 @@ -767,7 +767,7 @@ msgstr "Η έκδοση πρέπει να ακυρωθεί πριν διαγρα msgid "Consumable" msgstr "Αναλώσιμο" -#: build/api.py:320 build/serializers.py:1333 part/models.py:4272 +#: build/api.py:320 build/serializers.py:1333 part/models.py:4259 #: part/templates/part/upload_bom.html:58 templates/js/translated/bom.js:1001 #: templates/js/translated/bom.js:1028 templates/js/translated/build.js:2696 #: templates/js/translated/table_filters.js:193 @@ -777,7 +777,7 @@ msgid "Optional" msgstr "Προαιρετικό" #: build/api.py:321 common/models.py:1491 part/admin.py:91 part/admin.py:428 -#: part/models.py:1166 part/serializers.py:1596 +#: part/models.py:1166 part/serializers.py:1594 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:337 #: templates/js/translated/table_filters.js:729 @@ -816,7 +816,7 @@ msgstr "Κατανεμημένο" msgid "Available" msgstr "Διαθέσιμο" -#: build/models.py:87 build/templates/build/build_base.html:9 +#: build/models.py:88 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_report.html:105 #: stock/serializers.py:85 templates/email/build_order_completed.html:16 @@ -825,7 +825,7 @@ msgstr "Διαθέσιμο" msgid "Build Order" msgstr "Σειρά Κατασκευής" -#: build/models.py:88 build/templates/build/build_base.html:13 +#: build/models.py:89 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:111 #: order/templates/order/so_sidebar.html:13 @@ -866,7 +866,7 @@ msgstr "Αναφορά Παραγγελίας Κατασκευής" #: build/models.py:243 build/serializers.py:1331 order/models.py:468 #: order/models.py:979 order/models.py:1366 order/models.py:2128 -#: part/admin.py:414 part/models.py:4293 part/templates/part/upload_bom.html:54 +#: part/admin.py:414 part/models.py:4280 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 @@ -892,11 +892,11 @@ msgstr "BuildOrder στην οποία έχει δοθεί αυτή η κατα #: build/templates/build/build_base.html:105 #: build/templates/build/detail.html:29 company/models.py:1043 order/api.py:761 #: order/models.py:1496 order/models.py:1651 order/models.py:1652 -#: part/api.py:1506 part/api.py:1806 part/models.py:419 part/models.py:3138 -#: part/models.py:3282 part/models.py:3430 part/models.py:3451 -#: part/models.py:3473 part/models.py:3609 part/models.py:3951 -#: part/models.py:4114 part/models.py:4244 part/models.py:4602 -#: part/serializers.py:1213 part/serializers.py:1857 +#: part/api.py:1506 part/api.py:1806 part/models.py:419 part/models.py:3125 +#: part/models.py:3269 part/models.py:3417 part/models.py:3438 +#: part/models.py:3460 part/models.py:3596 part/models.py:3938 +#: part/models.py:4101 part/models.py:4231 part/models.py:4595 +#: part/serializers.py:1211 part/serializers.py:1855 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -1063,12 +1063,12 @@ msgstr "Χρήστης ή ομάδα υπεύθυνη για αυτή την ε #: order/templates/order/return_order_base.html:148 #: order/templates/order/sales_order_base.html:187 #: part/templates/part/part_base.html:399 stock/models.py:859 -#: stock/templates/stock/item_base.html:200 +#: stock/templates/stock/item_base.html:196 #: templates/js/translated/company.js:1019 msgid "External Link" msgstr "Εξωτερικοί σύνδεσμοι" -#: build/models.py:378 common/models.py:3272 part/models.py:1070 +#: build/models.py:378 common/models.py:3273 part/models.py:1070 #: stock/models.py:859 msgid "Link to external URL" msgstr "Σύνδεσμος προς εξωτερική διεύθυνση URL" @@ -1110,7 +1110,7 @@ msgstr "Η παραγγελία κατασκευής {build} έχει ολοκλ msgid "A build order has been completed" msgstr "Η παραγγελία κατασκευής έχει ολοκληρωθεί" -#: build/models.py:968 build/models.py:1056 +#: build/models.py:968 build/models.py:1057 msgid "No build output specified" msgstr "Δεν καθορίστηκε έξοδος κατασκευής" @@ -1122,37 +1122,37 @@ msgstr "Η παραγγελία κατασκευής έχει ολοκληρωθ msgid "Build output does not match Build Order" msgstr "Η έξοδος κατασκευής δεν ταιριάζει με την παραγγελία κατασκευής" -#: build/models.py:1060 build/serializers.py:279 build/serializers.py:328 +#: build/models.py:1061 build/serializers.py:279 build/serializers.py:328 #: build/serializers.py:959 order/models.py:565 order/serializers.py:500 -#: order/serializers.py:666 part/serializers.py:1590 part/serializers.py:2019 +#: order/serializers.py:666 part/serializers.py:1588 part/serializers.py:2017 #: stock/models.py:704 stock/models.py:1515 stock/serializers.py:676 msgid "Quantity must be greater than zero" msgstr "Η ποσότητα πρέπει να είναι μεγαλύτερη από 0" -#: build/models.py:1065 build/serializers.py:284 +#: build/models.py:1066 build/serializers.py:284 msgid "Quantity cannot be greater than the output quantity" msgstr "Η ποσότητα δεν μπορεί να είναι μεγαλύτερη από την παραγόμενη ποσότητα" -#: build/models.py:1125 build/serializers.py:607 +#: build/models.py:1126 build/serializers.py:607 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "Το προϊόν κατασκευής {serial} δεν έχει περάσει όλες τις απαιτούμενες δοκιμές" -#: build/models.py:1466 +#: build/models.py:1477 msgid "Build Order Line Item" msgstr "" -#: build/models.py:1491 +#: build/models.py:1502 msgid "Build object" msgstr "Αντικείμενο κατασκευής" -#: build/models.py:1505 build/models.py:1761 build/serializers.py:266 +#: build/models.py:1516 build/models.py:1775 build/serializers.py:266 #: build/serializers.py:313 build/serializers.py:1339 #: build/templates/build/build_base.html:110 -#: build/templates/build/detail.html:34 common/models.py:2581 +#: build/templates/build/detail.html:34 common/models.py:2582 #: order/models.py:1349 order/models.py:2034 order/serializers.py:1464 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:413 -#: part/forms.py:48 part/models.py:3296 part/models.py:4266 +#: part/forms.py:48 part/models.py:3283 part/models.py:4253 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1163,9 +1163,9 @@ msgstr "Αντικείμενο κατασκευής" #: report/templates/report/inventree_test_report.html:90 #: report/templates/report/inventree_test_report.html:169 stock/admin.py:160 #: stock/serializers.py:128 stock/serializers.py:168 stock/serializers.py:667 -#: stock/templates/stock/item_base.html:287 -#: stock/templates/stock/item_base.html:295 -#: stock/templates/stock/item_base.html:342 +#: stock/templates/stock/item_base.html:283 +#: stock/templates/stock/item_base.html:291 +#: stock/templates/stock/item_base.html:338 #: templates/email/build_order_completed.html:18 #: templates/js/translated/barcode.js:579 templates/js/translated/bom.js:771 #: templates/js/translated/bom.js:981 templates/js/translated/build.js:525 @@ -1194,41 +1194,41 @@ msgstr "Αντικείμενο κατασκευής" msgid "Quantity" msgstr "Ποσότητα" -#: build/models.py:1506 +#: build/models.py:1517 msgid "Required quantity for build order" msgstr "Απαιτούμενη ποσότητα για την εντολή κατασκευής" -#: build/models.py:1586 +#: build/models.py:1597 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "Το στοιχείο κατασκευής πρέπει να ορίζει μια έξοδο κατασκευής, καθώς το κύριο τμήμα επισημαίνεται ως ανιχνεύσιμο" -#: build/models.py:1595 +#: build/models.py:1606 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "Η καταχωρημένη ποσότητα ({q}) δεν πρέπει να υπερβαίνει τη διαθέσιμη ποσότητα αποθέματος ({a})" -#: build/models.py:1605 order/models.py:1985 +#: build/models.py:1616 order/models.py:1985 msgid "Stock item is over-allocated" msgstr "Στοιχείο αποθέματος είναι υπερ-κατανεμημένο" -#: build/models.py:1611 order/models.py:1988 +#: build/models.py:1622 order/models.py:1988 msgid "Allocation quantity must be greater than zero" msgstr "Η ποσότητα πρέπει να είναι μεγαλύτερη από 0" -#: build/models.py:1617 +#: build/models.py:1628 msgid "Quantity must be 1 for serialized stock" msgstr "Η ποσότητα πρέπει να είναι 1 για σειριακό απόθεμα" -#: build/models.py:1676 +#: build/models.py:1687 msgid "Selected stock item does not match BOM line" msgstr "Το επιλεγμένο στοιχείο αποθέματος δεν ταιριάζει με τη γραμμή ΤΥ" -#: build/models.py:1748 build/serializers.py:939 order/serializers.py:1301 +#: build/models.py:1762 build/serializers.py:939 order/serializers.py:1301 #: order/serializers.py:1322 stock/models.py:381 stock/serializers.py:94 #: stock/serializers.py:770 stock/serializers.py:1288 stock/serializers.py:1400 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 -#: stock/templates/stock/item_base.html:194 +#: stock/templates/stock/item_base.html:190 #: templates/js/translated/build.js:1921 #: templates/js/translated/sales_order.js:301 #: templates/js/translated/sales_order.js:1234 @@ -1241,19 +1241,19 @@ msgstr "Το επιλεγμένο στοιχείο αποθέματος δεν msgid "Stock Item" msgstr "Στοιχείο Αποθέματος" -#: build/models.py:1749 +#: build/models.py:1763 msgid "Source stock item" msgstr "Στοιχείο πηγαίου αποθέματος" -#: build/models.py:1762 +#: build/models.py:1776 msgid "Stock quantity to allocate to build" msgstr "Ποσότητα αποθέματος για διάθεση για κατασκευή" -#: build/models.py:1770 +#: build/models.py:1784 msgid "Install into" msgstr "Εγκατάσταση σε" -#: build/models.py:1771 +#: build/models.py:1785 msgid "Destination stock item" msgstr "Αποθήκη προορισμού" @@ -1262,7 +1262,7 @@ msgid "Build Level" msgstr "" #: build/serializers.py:115 build/serializers.py:1234 build/serializers.py:1323 -#: part/admin.py:41 part/admin.py:408 part/models.py:4116 part/stocktake.py:219 +#: part/admin.py:41 part/admin.py:408 part/models.py:4103 part/stocktake.py:219 #: stock/admin.py:157 msgid "Part Name" msgstr "" @@ -1323,10 +1323,10 @@ msgid "Enter serial numbers for build outputs" msgstr "Εισάγετε ποσότητα για την έξοδο κατασκευής" #: build/serializers.py:359 build/serializers.py:500 build/serializers.py:572 -#: order/serializers.py:655 order/serializers.py:778 order/serializers.py:1789 -#: part/serializers.py:1233 stock/serializers.py:103 stock/serializers.py:698 +#: order/serializers.py:655 order/serializers.py:778 order/serializers.py:1797 +#: part/serializers.py:1231 stock/serializers.py:103 stock/serializers.py:698 #: stock/serializers.py:858 stock/serializers.py:984 stock/serializers.py:1432 -#: stock/serializers.py:1688 stock/templates/stock/item_base.html:394 +#: stock/serializers.py:1688 stock/templates/stock/item_base.html:390 #: templates/js/translated/barcode.js:578 #: templates/js/translated/barcode.js:826 templates/js/translated/build.js:1035 #: templates/js/translated/build.js:1177 templates/js/translated/build.js:2547 @@ -1390,7 +1390,7 @@ msgstr "Τοποθεσία για ολοκληρωμένα προϊόντα κα #: build/templates/build/detail.html:62 order/models.py:477 #: order/models.py:1003 order/models.py:2152 order/serializers.py:687 #: stock/admin.py:165 stock/serializers.py:1035 stock/serializers.py:1576 -#: stock/templates/stock/item_base.html:427 +#: stock/templates/stock/item_base.html:423 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2366 #: templates/js/translated/purchase_order.js:1371 #: templates/js/translated/purchase_order.js:1792 @@ -1522,7 +1522,7 @@ msgstr "" msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:1030 order/serializers.py:1614 +#: build/serializers.py:1030 order/serializers.py:1622 msgid "Allocation items must be provided" msgstr "" @@ -1590,7 +1590,7 @@ msgstr "" #: build/serializers.py:1230 company/models.py:849 #: company/templates/company/supplier_part.html:160 order/serializers.py:691 #: stock/admin.py:229 stock/models.py:822 stock/serializers.py:1586 -#: stock/templates/stock/item_base.html:240 +#: stock/templates/stock/item_base.html:236 #: templates/js/translated/company.js:1646 #: templates/js/translated/purchase_order.js:1169 #: templates/js/translated/purchase_order.js:1332 @@ -1600,12 +1600,12 @@ msgid "Packaging" msgstr "" #: build/serializers.py:1233 part/admin.py:39 part/admin.py:398 -#: part/models.py:4115 part/stocktake.py:218 stock/admin.py:153 +#: part/models.py:4102 part/stocktake.py:218 stock/admin.py:153 msgid "Part ID" msgstr "" #: build/serializers.py:1235 build/serializers.py:1324 part/admin.py:402 -#: part/models.py:4117 +#: part/models.py:4104 msgid "Part IPN" msgstr "" @@ -1625,7 +1625,7 @@ msgstr "" #: build/serializers.py:1243 #: report/templates/report/inventree_return_order_report.html:25 #: report/templates/report/inventree_test_report.html:88 stock/models.py:849 -#: stock/serializers.py:152 stock/templates/stock/item_base.html:311 +#: stock/serializers.py:152 stock/templates/stock/item_base.html:307 #: templates/js/translated/build.js:523 templates/js/translated/build.js:1543 #: templates/js/translated/build.js:2530 #: templates/js/translated/model_renderers.js:231 @@ -1644,7 +1644,7 @@ msgstr "" msgid "Allocated Quantity" msgstr "" -#: build/serializers.py:1257 stock/templates/stock/item_base.html:340 +#: build/serializers.py:1257 stock/templates/stock/item_base.html:336 msgid "Available Quantity" msgstr "" @@ -1667,13 +1667,13 @@ msgstr "" msgid "Inherited" msgstr "" -#: build/serializers.py:1337 part/models.py:4326 +#: build/serializers.py:1337 part/models.py:4313 #: part/templates/part/upload_bom.html:56 templates/js/translated/bom.js:1046 #: templates/js/translated/build.js:2714 msgid "Allow Variants" msgstr "" -#: build/serializers.py:1341 part/models.py:4124 part/models.py:4594 +#: build/serializers.py:1341 part/models.py:4111 part/models.py:4587 #: stock/api.py:793 msgid "BOM Item" msgstr "" @@ -1684,7 +1684,7 @@ msgid "Allocated Stock" msgstr "" #: build/serializers.py:1355 order/serializers.py:1179 part/admin.py:132 -#: part/bom.py:186 part/serializers.py:920 part/serializers.py:1623 +#: part/bom.py:186 part/serializers.py:918 part/serializers.py:1621 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 #: templates/js/translated/build.js:2807 templates/js/translated/part.js:712 #: templates/js/translated/part.js:2155 @@ -1692,13 +1692,13 @@ msgstr "" msgid "On Order" msgstr "" -#: build/serializers.py:1360 order/serializers.py:1180 part/serializers.py:1625 +#: build/serializers.py:1360 order/serializers.py:1180 part/serializers.py:1623 #: templates/js/translated/build.js:2811 #: templates/js/translated/table_filters.js:367 msgid "In Production" msgstr "" -#: build/serializers.py:1365 part/bom.py:185 part/serializers.py:1650 +#: build/serializers.py:1365 part/bom.py:185 part/serializers.py:1648 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" @@ -1716,7 +1716,7 @@ msgstr "" msgid "Total Available Stock" msgstr "" -#: build/serializers.py:1372 part/serializers.py:927 +#: build/serializers.py:1372 part/serializers.py:925 msgid "External Stock" msgstr "" @@ -1745,7 +1745,7 @@ msgstr "Ακυρώθηκε" #: importer/status_codes.py:27 order/status_codes.py:15 #: order/status_codes.py:50 order/status_codes.py:81 #: order/templates/order/order_base.html:163 -#: order/templates/order/sales_order_base.html:168 report/models.py:443 +#: order/templates/order/sales_order_base.html:168 report/models.py:451 msgid "Complete" msgstr "Ολοκληρώθηκε" @@ -1849,9 +1849,6 @@ msgid "Delete Build" msgstr "Διαγραφή Κατασκευής" #: build/templates/build/build_base.html:87 -msgid "Isueue Build" -msgstr "" - #: build/templates/build/build_base.html:88 msgid "Issue Build" msgstr "" @@ -1931,7 +1928,7 @@ msgstr "Ολοκληρωμένα Προϊόντα" #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_report.html:135 #: report/templates/report/inventree_sales_order_report.html:14 -#: stock/templates/stock/item_base.html:369 +#: stock/templates/stock/item_base.html:365 #: templates/email/overdue_sales_order.html:15 #: templates/js/translated/pricing.js:929 #: templates/js/translated/sales_order.js:805 @@ -1991,7 +1988,7 @@ msgid "Allocated Parts" msgstr "" #: build/templates/build/detail.html:80 stock/admin.py:163 -#: stock/templates/stock/item_base.html:162 +#: stock/templates/stock/item_base.html:158 #: templates/js/translated/build.js:1556 #: templates/js/translated/model_renderers.js:242 #: templates/js/translated/purchase_order.js:1326 @@ -2148,19 +2145,19 @@ msgstr "" msgid "Test Statistics" msgstr "" -#: common/api.py:692 +#: common/api.py:725 msgid "Is Link" msgstr "" -#: common/api.py:700 +#: common/api.py:733 msgid "Is File" msgstr "" -#: common/api.py:743 +#: common/api.py:776 msgid "User does not have permission to delete these attachments" msgstr "" -#: common/api.py:760 +#: common/api.py:793 msgid "User does not have permission to delete this attachment" msgstr "" @@ -2352,8 +2349,8 @@ msgstr "" #: common/models.py:1297 common/models.py:1353 common/models.py:1366 #: common/models.py:1374 common/models.py:1383 common/models.py:1392 -#: common/models.py:1629 common/models.py:1651 common/models.py:1766 -#: common/models.py:2148 +#: common/models.py:1629 common/models.py:1651 common/models.py:1752 +#: common/models.py:2141 msgid "days" msgstr "" @@ -2581,9 +2578,9 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1485 part/admin.py:108 part/models.py:3959 -#: report/models.py:293 report/models.py:360 report/serializers.py:90 -#: report/serializers.py:131 stock/serializers.py:233 +#: common/models.py:1485 part/admin.py:108 part/models.py:3946 +#: report/models.py:301 report/models.py:368 report/serializers.py:91 +#: report/serializers.py:132 stock/serializers.py:233 #: templates/js/translated/table_filters.js:138 #: templates/js/translated/table_filters.js:775 msgid "Template" @@ -2598,7 +2595,7 @@ msgid "Parts can be assembled from other components by default" msgstr "" #: common/models.py:1497 part/admin.py:95 part/models.py:1172 -#: part/serializers.py:1617 templates/js/translated/table_filters.js:737 +#: part/serializers.py:1615 templates/js/translated/table_filters.js:737 msgid "Component" msgstr "" @@ -2823,7 +2820,7 @@ msgid "Log errors which occur when generating reports" msgstr "" #: common/models.py:1702 plugin/builtin/labels/label_sheet.py:28 -#: report/models.py:301 +#: report/models.py:309 msgid "Page Size" msgstr "" @@ -2832,914 +2829,914 @@ msgid "Default page size for PDF reports" msgstr "" #: common/models.py:1708 -msgid "Enable Test Reports" -msgstr "" - -#: common/models.py:1709 -msgid "Enable generation of test reports" -msgstr "" - -#: common/models.py:1714 -msgid "Attach Test Reports" -msgstr "" - -#: common/models.py:1716 -msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" -msgstr "" - -#: common/models.py:1722 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1723 +#: common/models.py:1709 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1728 +#: common/models.py:1714 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1729 +#: common/models.py:1715 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1734 +#: common/models.py:1720 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1736 +#: common/models.py:1722 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/models.py:1742 +#: common/models.py:1728 msgid "Batch Code Template" msgstr "" -#: common/models.py:1744 +#: common/models.py:1730 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1749 +#: common/models.py:1735 msgid "Stock Expiry" msgstr "" -#: common/models.py:1750 +#: common/models.py:1736 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1755 +#: common/models.py:1741 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1756 +#: common/models.py:1742 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1761 +#: common/models.py:1747 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1763 +#: common/models.py:1749 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1770 +#: common/models.py:1756 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1771 +#: common/models.py:1757 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1776 +#: common/models.py:1762 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1777 +#: common/models.py:1763 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1782 +#: common/models.py:1768 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1783 +#: common/models.py:1769 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1788 +#: common/models.py:1774 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1789 +#: common/models.py:1775 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1794 +#: common/models.py:1780 msgid "Check BOM when installing items" msgstr "" -#: common/models.py:1796 +#: common/models.py:1782 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/models.py:1802 +#: common/models.py:1788 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/models.py:1804 +#: common/models.py:1790 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/models.py:1810 +#: common/models.py:1796 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1812 +#: common/models.py:1798 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1818 common/models.py:1874 common/models.py:1896 -#: common/models.py:1932 +#: common/models.py:1804 common/models.py:1860 common/models.py:1882 +#: common/models.py:1918 msgid "Require Responsible Owner" msgstr "" -#: common/models.py:1819 common/models.py:1875 common/models.py:1897 -#: common/models.py:1933 +#: common/models.py:1805 common/models.py:1861 common/models.py:1883 +#: common/models.py:1919 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/models.py:1824 +#: common/models.py:1810 msgid "Require Active Part" msgstr "" -#: common/models.py:1825 +#: common/models.py:1811 msgid "Prevent build order creation for inactive parts" msgstr "" -#: common/models.py:1830 +#: common/models.py:1816 msgid "Require Locked Part" msgstr "" -#: common/models.py:1831 +#: common/models.py:1817 msgid "Prevent build order creation for unlocked parts" msgstr "" -#: common/models.py:1836 +#: common/models.py:1822 msgid "Require Valid BOM" msgstr "" -#: common/models.py:1838 +#: common/models.py:1824 msgid "Prevent build order creation unless BOM has been validated" msgstr "" -#: common/models.py:1844 +#: common/models.py:1830 msgid "Require Closed Child Orders" msgstr "" -#: common/models.py:1846 +#: common/models.py:1832 msgid "Prevent build order completion until all child orders are closed" msgstr "" -#: common/models.py:1852 +#: common/models.py:1838 msgid "Block Until Tests Pass" msgstr "" -#: common/models.py:1854 +#: common/models.py:1840 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "" -#: common/models.py:1860 +#: common/models.py:1846 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1861 +#: common/models.py:1847 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1866 +#: common/models.py:1852 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1868 +#: common/models.py:1854 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1880 +#: common/models.py:1866 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1882 +#: common/models.py:1868 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1888 +#: common/models.py:1874 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1890 +#: common/models.py:1876 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1902 +#: common/models.py:1888 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1903 +#: common/models.py:1889 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1908 +#: common/models.py:1894 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1910 +#: common/models.py:1896 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1916 +#: common/models.py:1902 msgid "Mark Shipped Orders as Complete" msgstr "" -#: common/models.py:1918 +#: common/models.py:1904 msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status" msgstr "" -#: common/models.py:1924 +#: common/models.py:1910 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1926 +#: common/models.py:1912 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1938 +#: common/models.py:1924 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1940 +#: common/models.py:1926 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1946 +#: common/models.py:1932 msgid "Auto Complete Purchase Orders" msgstr "" -#: common/models.py:1948 +#: common/models.py:1934 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/models.py:1955 +#: common/models.py:1941 msgid "Enable password forgot" msgstr "" -#: common/models.py:1956 +#: common/models.py:1942 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1961 +#: common/models.py:1947 msgid "Enable registration" msgstr "" -#: common/models.py:1962 +#: common/models.py:1948 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1967 +#: common/models.py:1953 msgid "Enable SSO" msgstr "" -#: common/models.py:1968 +#: common/models.py:1954 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1973 +#: common/models.py:1959 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1975 +#: common/models.py:1961 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1981 +#: common/models.py:1967 msgid "Enable SSO group sync" msgstr "" -#: common/models.py:1983 +#: common/models.py:1969 msgid "Enable synchronizing InvenTree groups with groups provided by the IdP" msgstr "" -#: common/models.py:1989 +#: common/models.py:1975 msgid "SSO group key" msgstr "" -#: common/models.py:1991 +#: common/models.py:1977 msgid "The name of the groups claim attribute provided by the IdP" msgstr "" -#: common/models.py:1997 +#: common/models.py:1983 msgid "SSO group map" msgstr "" -#: common/models.py:1999 +#: common/models.py:1985 msgid "A mapping from SSO groups to local InvenTree groups. If the local group does not exist, it will be created." msgstr "" -#: common/models.py:2005 +#: common/models.py:1991 msgid "Remove groups outside of SSO" msgstr "" -#: common/models.py:2007 +#: common/models.py:1993 msgid "Whether groups assigned to the user should be removed if they are not backend by the IdP. Disabling this setting might cause security issues" msgstr "" -#: common/models.py:2013 +#: common/models.py:1999 msgid "Email required" msgstr "" -#: common/models.py:2014 +#: common/models.py:2000 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:2019 +#: common/models.py:2005 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:2021 +#: common/models.py:2007 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:2027 +#: common/models.py:2013 msgid "Mail twice" msgstr "" -#: common/models.py:2028 +#: common/models.py:2014 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:2033 +#: common/models.py:2019 msgid "Password twice" msgstr "" -#: common/models.py:2034 +#: common/models.py:2020 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:2039 +#: common/models.py:2025 msgid "Allowed domains" msgstr "" -#: common/models.py:2041 +#: common/models.py:2027 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:2047 +#: common/models.py:2033 msgid "Group on signup" msgstr "" -#: common/models.py:2049 +#: common/models.py:2035 msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP." msgstr "" -#: common/models.py:2055 +#: common/models.py:2041 msgid "Enforce MFA" msgstr "" -#: common/models.py:2056 +#: common/models.py:2042 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:2061 +#: common/models.py:2047 msgid "Check plugins on startup" msgstr "" -#: common/models.py:2063 +#: common/models.py:2049 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:2071 +#: common/models.py:2057 msgid "Check for plugin updates" msgstr "" -#: common/models.py:2072 +#: common/models.py:2058 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:2078 +#: common/models.py:2064 msgid "Enable URL integration" msgstr "" -#: common/models.py:2079 +#: common/models.py:2065 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:2085 +#: common/models.py:2071 msgid "Enable navigation integration" msgstr "" -#: common/models.py:2086 +#: common/models.py:2072 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:2092 +#: common/models.py:2078 msgid "Enable app integration" msgstr "" -#: common/models.py:2093 +#: common/models.py:2079 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:2099 +#: common/models.py:2085 msgid "Enable schedule integration" msgstr "" -#: common/models.py:2100 +#: common/models.py:2086 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:2106 +#: common/models.py:2092 msgid "Enable event integration" msgstr "" -#: common/models.py:2107 +#: common/models.py:2093 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:2113 +#: common/models.py:2099 +msgid "Enable interface integration" +msgstr "" + +#: common/models.py:2100 +msgid "Enable plugins to integrate into the user interface" +msgstr "" + +#: common/models.py:2106 msgid "Enable project codes" msgstr "" -#: common/models.py:2114 +#: common/models.py:2107 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:2119 +#: common/models.py:2112 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:2121 +#: common/models.py:2114 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:2127 +#: common/models.py:2120 msgid "Exclude External Locations" msgstr "" -#: common/models.py:2129 +#: common/models.py:2122 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/models.py:2135 +#: common/models.py:2128 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:2137 +#: common/models.py:2130 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:2143 +#: common/models.py:2136 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:2145 +#: common/models.py:2138 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:2152 +#: common/models.py:2145 msgid "Display Users full names" msgstr "" -#: common/models.py:2153 +#: common/models.py:2146 msgid "Display Users full names instead of usernames" msgstr "" -#: common/models.py:2158 +#: common/models.py:2151 msgid "Enable Test Station Data" msgstr "" -#: common/models.py:2159 +#: common/models.py:2152 msgid "Enable test station data collection for test results" msgstr "" -#: common/models.py:2171 common/models.py:2551 +#: common/models.py:2157 +msgid "Create Template on Upload" +msgstr "" + +#: common/models.py:2159 +msgid "Create a new test template when uploading test data which does not match an existing template" +msgstr "" + +#: common/models.py:2172 common/models.py:2552 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:2214 +#: common/models.py:2215 msgid "Hide inactive parts" msgstr "" -#: common/models.py:2216 +#: common/models.py:2217 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:2222 +#: common/models.py:2223 msgid "Show subscribed parts" msgstr "" -#: common/models.py:2223 +#: common/models.py:2224 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:2228 +#: common/models.py:2229 msgid "Show subscribed categories" msgstr "" -#: common/models.py:2229 +#: common/models.py:2230 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:2234 +#: common/models.py:2235 msgid "Show latest parts" msgstr "" -#: common/models.py:2235 +#: common/models.py:2236 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:2240 +#: common/models.py:2241 msgid "Show invalid BOMs" msgstr "" -#: common/models.py:2241 +#: common/models.py:2242 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:2246 +#: common/models.py:2247 msgid "Show recent stock changes" msgstr "" -#: common/models.py:2247 +#: common/models.py:2248 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:2252 +#: common/models.py:2253 msgid "Show low stock" msgstr "" -#: common/models.py:2253 +#: common/models.py:2254 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:2258 +#: common/models.py:2259 msgid "Show depleted stock" msgstr "" -#: common/models.py:2259 +#: common/models.py:2260 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:2264 +#: common/models.py:2265 msgid "Show needed stock" msgstr "" -#: common/models.py:2265 +#: common/models.py:2266 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:2270 +#: common/models.py:2271 msgid "Show expired stock" msgstr "" -#: common/models.py:2271 +#: common/models.py:2272 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:2276 +#: common/models.py:2277 msgid "Show stale stock" msgstr "" -#: common/models.py:2277 +#: common/models.py:2278 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:2282 +#: common/models.py:2283 msgid "Show pending builds" msgstr "" -#: common/models.py:2283 +#: common/models.py:2284 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:2288 +#: common/models.py:2289 msgid "Show overdue builds" msgstr "" -#: common/models.py:2289 +#: common/models.py:2290 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:2294 +#: common/models.py:2295 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2295 +#: common/models.py:2296 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2300 +#: common/models.py:2301 msgid "Show overdue POs" msgstr "" -#: common/models.py:2301 +#: common/models.py:2302 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2306 +#: common/models.py:2307 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2307 +#: common/models.py:2308 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2312 +#: common/models.py:2313 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2313 +#: common/models.py:2314 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2318 +#: common/models.py:2319 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2319 +#: common/models.py:2320 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2324 +#: common/models.py:2325 msgid "Show News" msgstr "" -#: common/models.py:2325 +#: common/models.py:2326 msgid "Show news on the homepage" msgstr "" -#: common/models.py:2330 +#: common/models.py:2331 msgid "Inline label display" msgstr "" -#: common/models.py:2332 +#: common/models.py:2333 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2338 +#: common/models.py:2339 msgid "Default label printer" msgstr "" -#: common/models.py:2340 +#: common/models.py:2341 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2346 +#: common/models.py:2347 msgid "Inline report display" msgstr "" -#: common/models.py:2348 +#: common/models.py:2349 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2354 +#: common/models.py:2355 msgid "Search Parts" msgstr "" -#: common/models.py:2355 +#: common/models.py:2356 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2360 +#: common/models.py:2361 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2361 +#: common/models.py:2362 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2366 +#: common/models.py:2367 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2367 +#: common/models.py:2368 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2372 +#: common/models.py:2373 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2373 +#: common/models.py:2374 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2378 +#: common/models.py:2379 msgid "Search Categories" msgstr "" -#: common/models.py:2379 +#: common/models.py:2380 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2384 +#: common/models.py:2385 msgid "Search Stock" msgstr "" -#: common/models.py:2385 +#: common/models.py:2386 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2390 +#: common/models.py:2391 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2392 +#: common/models.py:2393 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2398 +#: common/models.py:2399 msgid "Search Locations" msgstr "" -#: common/models.py:2399 +#: common/models.py:2400 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2404 +#: common/models.py:2405 msgid "Search Companies" msgstr "" -#: common/models.py:2405 +#: common/models.py:2406 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2410 +#: common/models.py:2411 msgid "Search Build Orders" msgstr "" -#: common/models.py:2411 +#: common/models.py:2412 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2416 +#: common/models.py:2417 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2417 +#: common/models.py:2418 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2422 +#: common/models.py:2423 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2424 +#: common/models.py:2425 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2430 +#: common/models.py:2431 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2431 +#: common/models.py:2432 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2436 +#: common/models.py:2437 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2438 +#: common/models.py:2439 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2444 +#: common/models.py:2445 msgid "Search Return Orders" msgstr "" -#: common/models.py:2445 +#: common/models.py:2446 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2450 +#: common/models.py:2451 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2452 +#: common/models.py:2453 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2458 +#: common/models.py:2459 msgid "Search Preview Results" msgstr "" -#: common/models.py:2460 +#: common/models.py:2461 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2466 +#: common/models.py:2467 msgid "Regex Search" msgstr "" -#: common/models.py:2467 +#: common/models.py:2468 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2472 +#: common/models.py:2473 msgid "Whole Word Search" msgstr "" -#: common/models.py:2473 +#: common/models.py:2474 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2478 +#: common/models.py:2479 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2479 +#: common/models.py:2480 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2484 +#: common/models.py:2485 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2485 +#: common/models.py:2486 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2490 +#: common/models.py:2491 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2491 +#: common/models.py:2492 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2496 +#: common/models.py:2497 msgid "Date Format" msgstr "" -#: common/models.py:2497 +#: common/models.py:2498 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2510 part/templates/part/detail.html:41 +#: common/models.py:2511 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2511 +#: common/models.py:2512 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2516 part/templates/part/detail.html:62 +#: common/models.py:2517 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2518 +#: common/models.py:2519 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2524 +#: common/models.py:2525 msgid "Table String Length" msgstr "" -#: common/models.py:2526 +#: common/models.py:2527 msgid "Maximum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2532 +#: common/models.py:2533 msgid "Receive error reports" msgstr "" -#: common/models.py:2533 +#: common/models.py:2534 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2538 +#: common/models.py:2539 msgid "Last used printing machines" msgstr "" -#: common/models.py:2539 +#: common/models.py:2540 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2559 common/models.py:2560 common/models.py:2717 -#: common/models.py:2718 common/models.py:2963 common/models.py:2964 -#: common/models.py:3287 common/models.py:3288 importer/models.py:89 -#: part/models.py:3319 part/models.py:3406 part/models.py:3480 -#: part/models.py:3508 plugin/models.py:274 plugin/models.py:275 +#: common/models.py:2560 common/models.py:2561 common/models.py:2718 +#: common/models.py:2719 common/models.py:2964 common/models.py:2965 +#: common/models.py:3288 common/models.py:3289 importer/models.py:89 +#: part/models.py:3306 part/models.py:3393 part/models.py:3467 +#: part/models.py:3495 plugin/models.py:274 plugin/models.py:275 #: report/templates/report/inventree_test_report.html:105 #: templates/js/translated/stock.js:3121 users/models.py:111 msgid "User" msgstr "Χρήστης" -#: common/models.py:2582 +#: common/models.py:2583 msgid "Price break quantity" msgstr "" -#: common/models.py:2589 company/serializers.py:517 order/admin.py:42 +#: common/models.py:2590 company/serializers.py:517 order/admin.py:42 #: order/models.py:1423 order/models.py:2410 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1892 #: templates/js/translated/pricing.js:621 @@ -3747,96 +3744,96 @@ msgstr "" msgid "Price" msgstr "" -#: common/models.py:2590 +#: common/models.py:2591 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2694 common/models.py:2879 +#: common/models.py:2695 common/models.py:2880 msgid "Endpoint" msgstr "" -#: common/models.py:2695 +#: common/models.py:2696 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2705 +#: common/models.py:2706 msgid "Name for this webhook" msgstr "" -#: common/models.py:2709 +#: common/models.py:2710 msgid "Is this webhook active" msgstr "" -#: common/models.py:2725 users/models.py:159 +#: common/models.py:2726 users/models.py:159 msgid "Token" msgstr "" -#: common/models.py:2726 +#: common/models.py:2727 msgid "Token for access" msgstr "" -#: common/models.py:2734 +#: common/models.py:2735 msgid "Secret" msgstr "" -#: common/models.py:2735 +#: common/models.py:2736 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2843 +#: common/models.py:2844 msgid "Message ID" msgstr "" -#: common/models.py:2844 +#: common/models.py:2845 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2852 +#: common/models.py:2853 msgid "Host" msgstr "" -#: common/models.py:2853 +#: common/models.py:2854 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2861 +#: common/models.py:2862 msgid "Header" msgstr "" -#: common/models.py:2862 +#: common/models.py:2863 msgid "Header of this message" msgstr "" -#: common/models.py:2869 +#: common/models.py:2870 msgid "Body" msgstr "" -#: common/models.py:2870 +#: common/models.py:2871 msgid "Body of this message" msgstr "" -#: common/models.py:2880 +#: common/models.py:2881 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2885 +#: common/models.py:2886 msgid "Worked on" msgstr "" -#: common/models.py:2886 +#: common/models.py:2887 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:3012 +#: common/models.py:3013 msgid "Id" msgstr "" -#: common/models.py:3014 templates/js/translated/company.js:965 +#: common/models.py:3015 templates/js/translated/company.js:965 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:3016 common/models.py:3271 company/models.py:146 +#: common/models.py:3017 common/models.py:3272 company/models.py:146 #: company/models.py:443 company/models.py:509 company/models.py:815 #: order/models.py:303 order/models.py:1378 order/models.py:1810 #: part/admin.py:55 part/models.py:1069 @@ -3853,217 +3850,217 @@ msgstr "" msgid "Link" msgstr "Σύνδεσμος" -#: common/models.py:3018 templates/js/translated/news.js:60 +#: common/models.py:3019 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:3020 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:3021 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:103 msgid "Author" msgstr "" -#: common/models.py:3022 templates/js/translated/news.js:52 +#: common/models.py:3023 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:3025 +#: common/models.py:3026 msgid "Read" msgstr "" -#: common/models.py:3025 +#: common/models.py:3026 msgid "Was this news item read?" msgstr "" -#: common/models.py:3042 company/models.py:156 part/models.py:1079 +#: common/models.py:3043 company/models.py:156 part/models.py:1079 #: 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.html:35 -#: stock/templates/stock/item_base.html:133 templates/503.html:31 +#: stock/templates/stock/item_base.html:129 templates/503.html:31 #: templates/hover_image.html:7 templates/hover_image.html:9 #: templates/modals.html:6 msgid "Image" msgstr "" -#: common/models.py:3042 +#: common/models.py:3043 msgid "Image file" msgstr "" -#: common/models.py:3054 common/models.py:3255 +#: common/models.py:3055 common/models.py:3256 msgid "Target model type for this image" msgstr "" -#: common/models.py:3058 +#: common/models.py:3059 msgid "Target model ID for this image" msgstr "" -#: common/models.py:3080 +#: common/models.py:3081 msgid "Custom Unit" msgstr "" -#: common/models.py:3098 +#: common/models.py:3099 msgid "Unit symbol must be unique" msgstr "" -#: common/models.py:3113 +#: common/models.py:3114 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:3132 +#: common/models.py:3133 msgid "Unit name" msgstr "" -#: common/models.py:3139 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3140 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:3140 +#: common/models.py:3141 msgid "Optional unit symbol" msgstr "" -#: common/models.py:3146 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3147 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:3147 +#: common/models.py:3148 msgid "Unit definition" msgstr "" -#: common/models.py:3205 common/models.py:3262 stock/models.py:2552 +#: common/models.py:3206 common/models.py:3263 stock/models.py:2547 #: stock/serializers.py:244 templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:345 msgid "Attachment" msgstr "Συνημμένο" -#: common/models.py:3217 +#: common/models.py:3218 msgid "Missing file" msgstr "Το αρχείο λείπει" -#: common/models.py:3218 +#: common/models.py:3219 msgid "Missing external link" msgstr "Λείπει ο εξωτερικός σύνδεσμος" -#: common/models.py:3263 +#: common/models.py:3264 msgid "Select file to attach" msgstr "Επιλέξτε αρχείο για επισύναψη" -#: common/models.py:3278 templates/js/translated/attachment.js:120 +#: common/models.py:3279 templates/js/translated/attachment.js:120 #: templates/js/translated/attachment.js:360 msgid "Comment" msgstr "Σχόλιο" -#: common/models.py:3279 +#: common/models.py:3280 msgid "Attachment comment" msgstr "" -#: common/models.py:3295 +#: common/models.py:3296 msgid "Upload date" msgstr "" -#: common/models.py:3296 +#: common/models.py:3297 msgid "Date the file was uploaded" msgstr "" -#: common/models.py:3300 +#: common/models.py:3301 msgid "File size" msgstr "" -#: common/models.py:3300 +#: common/models.py:3301 msgid "File size in bytes" msgstr "" -#: common/models.py:3338 common/serializers.py:588 +#: common/models.py:3339 common/serializers.py:604 msgid "Invalid model type specified for attachment" msgstr "" -#: common/models.py:3347 plugin/models.py:43 users/models.py:100 +#: common/models.py:3348 plugin/models.py:43 users/models.py:100 msgid "Key" msgstr "" -#: common/models.py:3348 +#: common/models.py:3349 msgid "Value that will be saved in the models database" msgstr "" -#: common/models.py:3351 +#: common/models.py:3352 msgid "Name of the state" msgstr "" -#: common/models.py:3355 +#: common/models.py:3356 msgid "Label" msgstr "" -#: common/models.py:3356 +#: common/models.py:3357 msgid "Label that will be displayed in the frontend" msgstr "" -#: common/models.py:3362 +#: common/models.py:3363 msgid "Color" msgstr "" -#: common/models.py:3363 +#: common/models.py:3364 msgid "Color that will be displayed in the frontend" msgstr "" -#: common/models.py:3366 +#: common/models.py:3367 msgid "Logical Key" msgstr "" -#: common/models.py:3368 +#: common/models.py:3369 msgid "State logical key that is equal to this custom state in business logic" msgstr "" -#: common/models.py:3376 +#: common/models.py:3377 msgid "Model" msgstr "" -#: common/models.py:3377 +#: common/models.py:3378 msgid "Model this state is associated with" msgstr "" -#: common/models.py:3381 +#: common/models.py:3382 msgid "Reference Status Set" msgstr "" -#: common/models.py:3382 +#: common/models.py:3383 msgid "Status set that is extended with this custom state" msgstr "" -#: common/models.py:3388 +#: common/models.py:3389 msgid "Custom State" msgstr "" -#: common/models.py:3389 +#: common/models.py:3390 msgid "Custom States" msgstr "" -#: common/models.py:3404 +#: common/models.py:3405 msgid "Model must be selected" msgstr "" -#: common/models.py:3407 +#: common/models.py:3408 msgid "Key must be selected" msgstr "" -#: common/models.py:3410 +#: common/models.py:3411 msgid "Logical key must be selected" msgstr "" -#: common/models.py:3414 +#: common/models.py:3415 msgid "Key must be different from logical key" msgstr "" -#: common/models.py:3418 +#: common/models.py:3419 msgid "Reference status must be selected" msgstr "" -#: common/models.py:3430 +#: common/models.py:3431 msgid "Reference status set not found" msgstr "" -#: common/models.py:3436 +#: common/models.py:3437 msgid "Key must be different from the logical keys of the reference status" msgstr "" -#: common/models.py:3442 +#: common/models.py:3443 msgid "Logical key must be in the logical keys of the reference status" msgstr "" @@ -4101,75 +4098,75 @@ msgstr "" msgid "Error raised by plugin" msgstr "" -#: common/serializers.py:402 +#: common/serializers.py:418 msgid "Is Running" msgstr "" -#: common/serializers.py:408 +#: common/serializers.py:424 msgid "Pending Tasks" msgstr "" -#: common/serializers.py:414 +#: common/serializers.py:430 msgid "Scheduled Tasks" msgstr "" -#: common/serializers.py:420 +#: common/serializers.py:436 msgid "Failed Tasks" msgstr "" -#: common/serializers.py:435 +#: common/serializers.py:451 msgid "Task ID" msgstr "" -#: common/serializers.py:435 +#: common/serializers.py:451 msgid "Unique task ID" msgstr "" -#: common/serializers.py:437 +#: common/serializers.py:453 msgid "Lock" msgstr "" -#: common/serializers.py:437 +#: common/serializers.py:453 msgid "Lock time" msgstr "" -#: common/serializers.py:439 +#: common/serializers.py:455 msgid "Task name" msgstr "" -#: common/serializers.py:441 +#: common/serializers.py:457 msgid "Function" msgstr "" -#: common/serializers.py:441 +#: common/serializers.py:457 msgid "Function name" msgstr "" -#: common/serializers.py:443 +#: common/serializers.py:459 msgid "Arguments" msgstr "" -#: common/serializers.py:443 +#: common/serializers.py:459 msgid "Task arguments" msgstr "" -#: common/serializers.py:446 +#: common/serializers.py:462 msgid "Keyword Arguments" msgstr "" -#: common/serializers.py:446 +#: common/serializers.py:462 msgid "Task keyword arguments" msgstr "" -#: common/serializers.py:556 +#: common/serializers.py:572 msgid "Filename" msgstr "Όνομα αρχείου" -#: common/serializers.py:563 report/api.py:100 report/serializers.py:53 +#: common/serializers.py:579 report/api.py:100 report/serializers.py:54 msgid "Model Type" msgstr "" -#: common/serializers.py:591 +#: common/serializers.py:607 msgid "User does not have permission to create or edit attachments for this model" msgstr "" @@ -4447,12 +4444,12 @@ msgstr "" #: company/models.py:467 company/models.py:584 company/models.py:808 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 -#: stock/templates/stock/item_base.html:217 +#: stock/templates/stock/item_base.html:213 msgid "Manufacturer Part" msgstr "" #: company/models.py:484 company/models.py:776 stock/models.py:791 -#: stock/serializers.py:452 stock/templates/stock/item_base.html:142 +#: stock/serializers.py:452 stock/templates/stock/item_base.html:138 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" @@ -4463,8 +4460,8 @@ msgstr "" #: company/models.py:495 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:567 -#: stock/templates/stock/item_base.html:207 +#: company/templates/company/supplier_part.html:145 part/serializers.py:565 +#: stock/templates/stock/item_base.html:203 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 #: templates/js/translated/company.js:1296 @@ -4479,7 +4476,7 @@ msgstr "" #: company/models.py:502 company/templates/company/manufacturer_part.html:101 #: company/templates/company/supplier_part.html:153 order/serializers.py:557 -#: part/serializers.py:577 templates/js/translated/company.js:351 +#: part/serializers.py:575 templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 #: templates/js/translated/company.js:1630 templates/js/translated/part.js:1807 @@ -4505,7 +4502,7 @@ msgid "Parameter name" msgstr "" #: company/models.py:597 report/templates/report/inventree_test_report.html:104 -#: stock/models.py:2544 templates/js/translated/company.js:1166 +#: stock/models.py:2539 templates/js/translated/company.js:1166 #: templates/js/translated/company.js:1419 templates/js/translated/part.js:1499 #: templates/js/translated/stock.js:1607 msgid "Value" @@ -4516,7 +4513,7 @@ msgid "Parameter value" msgstr "" #: company/models.py:605 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1159 part/models.py:3783 +#: part/admin.py:57 part/models.py:1159 part/models.py:3770 #: part/templates/part/part_base.html:300 #: templates/js/translated/company.js:1425 templates/js/translated/part.js:1518 #: templates/js/translated/part.js:1622 templates/js/translated/part.js:2376 @@ -4530,7 +4527,7 @@ msgstr "" #: company/models.py:659 company/templates/company/supplier_part.html:7 #: company/templates/company/supplier_part.html:24 order/api.py:440 #: order/serializers.py:492 stock/models.py:802 -#: stock/templates/stock/item_base.html:233 +#: stock/templates/stock/item_base.html:229 #: templates/js/translated/build.js:1055 #: templates/js/translated/company.js:1600 #: templates/js/translated/purchase_order.js:752 @@ -4553,9 +4550,9 @@ msgstr "" #: company/models.py:786 company/templates/company/company_base.html:87 #: company/templates/company/supplier_part.html:129 order/models.py:492 #: order/templates/order/order_base.html:141 part/bom.py:279 part/bom.py:314 -#: part/serializers.py:551 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:549 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 -#: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 +#: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:220 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:511 @@ -4570,7 +4567,7 @@ msgstr "" msgid "Select supplier" msgstr "" -#: company/models.py:793 part/serializers.py:562 +#: company/models.py:793 part/serializers.py:560 msgid "Supplier stock keeping unit" msgstr "" @@ -4591,7 +4588,7 @@ msgid "Supplier part description" msgstr "" #: company/models.py:832 company/templates/company/supplier_part.html:187 -#: order/serializers.py:699 part/admin.py:415 part/models.py:4301 +#: order/serializers.py:699 part/admin.py:415 part/models.py:4288 #: part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 @@ -4603,11 +4600,11 @@ msgstr "" msgid "Note" msgstr "" -#: company/models.py:841 part/models.py:2129 +#: company/models.py:841 part/models.py:2128 msgid "base cost" msgstr "" -#: company/models.py:842 part/models.py:2130 +#: company/models.py:842 part/models.py:2129 msgid "Minimum charge (e.g. stocking fee)" msgstr "" @@ -4629,7 +4626,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:876 part/models.py:2136 +#: company/models.py:876 part/models.py:2135 msgid "multiple" msgstr "" @@ -4661,7 +4658,7 @@ msgstr "" msgid "Company Name" msgstr "" -#: company/serializers.py:397 part/admin.py:126 part/serializers.py:919 +#: company/serializers.py:397 part/admin.py:126 part/serializers.py:917 #: part/templates/part/part_base.html:197 #: templates/js/translated/company.js:1689 #: templates/js/translated/table_filters.js:362 @@ -4735,7 +4732,7 @@ msgstr "" #: order/models.py:2140 order/templates/order/return_order_base.html:134 #: order/templates/order/sales_order_base.html:151 stock/models.py:844 #: stock/models.py:845 stock/serializers.py:1336 -#: stock/templates/stock/item_base.html:405 +#: stock/templates/stock/item_base.html:401 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 #: templates/js/translated/return_order.js:295 @@ -4939,7 +4936,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:925 +#: part/admin.py:122 part/serializers.py:923 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -5030,7 +5027,7 @@ msgid "No supplier information available" msgstr "" #: company/templates/company/supplier_part.html:139 order/serializers.py:554 -#: part/bom.py:286 part/bom.py:315 part/serializers.py:561 +#: part/bom.py:286 part/bom.py:315 part/serializers.py:559 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1793 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1920 @@ -5084,7 +5081,7 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:923 part/stocktake.py:223 +#: part/serializers.py:921 part/stocktake.py:223 #: part/templates/part/category.html:180 #: part/templates/part/category_sidebar.html:17 stock/admin.py:68 #: stock/serializers.py:1021 stock/serializers.py:1199 @@ -5215,7 +5212,7 @@ msgstr "" msgid "Original row data" msgstr "" -#: importer/models.py:504 part/models.py:3965 +#: importer/models.py:504 part/models.py:3952 msgid "Data" msgstr "" @@ -5473,7 +5470,7 @@ msgstr "" #: order/models.py:1592 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_purchase_order_report.html:14 -#: stock/serializers.py:121 stock/templates/stock/item_base.html:176 +#: stock/serializers.py:121 stock/templates/stock/item_base.html:172 #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/part.js:1752 templates/js/translated/pricing.js:804 #: templates/js/translated/purchase_order.js:168 @@ -5694,7 +5691,7 @@ msgid "Number of items received" msgstr "" #: order/models.py:1513 stock/models.py:963 stock/serializers.py:617 -#: stock/templates/stock/item_base.html:183 +#: stock/templates/stock/item_base.html:179 #: templates/js/translated/stock.js:2397 msgid "Purchase Price" msgstr "" @@ -5768,7 +5765,7 @@ msgid "User who checked this shipment" msgstr "" #: order/models.py:1788 order/models.py:2011 order/serializers.py:1479 -#: order/serializers.py:1589 templates/js/translated/model_renderers.js:455 +#: order/serializers.py:1597 templates/js/translated/model_renderers.js:455 msgid "Shipment" msgstr "" @@ -5982,7 +5979,7 @@ msgstr "" msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:656 order/serializers.py:779 order/serializers.py:1790 +#: order/serializers.py:656 order/serializers.py:779 order/serializers.py:1798 msgid "Select destination location for received items" msgstr "" @@ -6019,7 +6016,7 @@ msgstr "" msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:795 order/serializers.py:1806 +#: order/serializers.py:795 order/serializers.py:1814 msgid "Line items must be provided" msgstr "" @@ -6051,39 +6048,39 @@ msgstr "" msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1491 order/serializers.py:1597 +#: order/serializers.py:1491 order/serializers.py:1605 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1494 order/serializers.py:1600 +#: order/serializers.py:1494 order/serializers.py:1608 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1541 +#: order/serializers.py:1549 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1548 -msgid "The following serial numbers are already allocated" +#: order/serializers.py:1556 +msgid "The following serial numbers are unavailable" msgstr "" -#: order/serializers.py:1760 +#: order/serializers.py:1768 msgid "Return order line item" msgstr "" -#: order/serializers.py:1766 +#: order/serializers.py:1774 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1769 +#: order/serializers.py:1777 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1798 +#: order/serializers.py:1806 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1881 +#: order/serializers.py:1889 msgid "Line price currency" msgstr "" @@ -6510,7 +6507,7 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:48 part/models.py:1044 part/serializers.py:908 +#: part/admin.py:48 part/models.py:1044 part/serializers.py:906 #: part/templates/part/part_base.html:276 #: report/templates/report/inventree_stock_location_report.html:103 #: templates/js/translated/part.js:1233 templates/js/translated/part.js:2347 @@ -6537,7 +6534,7 @@ msgstr "" msgid "Category ID" msgstr "" -#: part/admin.py:67 part/admin.py:304 part/serializers.py:893 +#: part/admin.py:67 part/admin.py:304 part/serializers.py:891 #: part/stocktake.py:222 msgid "Category Name" msgstr "" @@ -6562,18 +6559,18 @@ msgstr "" msgid "Used In" msgstr "" -#: part/admin.py:150 part/serializers.py:918 +#: part/admin.py:150 part/serializers.py:916 #: part/templates/part/part_base.html:248 stock/admin.py:236 #: templates/js/translated/part.js:717 templates/js/translated/part.js:2159 msgid "Building" msgstr "" -#: part/admin.py:155 part/models.py:3214 part/models.py:3228 +#: part/admin.py:155 part/models.py:3201 part/models.py:3215 #: templates/js/translated/part.js:976 msgid "Minimum Cost" msgstr "" -#: part/admin.py:158 part/models.py:3221 part/models.py:3235 +#: part/admin.py:158 part/models.py:3208 part/models.py:3222 #: templates/js/translated/part.js:986 msgid "Maximum Cost" msgstr "" @@ -6592,7 +6589,7 @@ msgid "Category Path" msgstr "" #: part/admin.py:325 part/models.py:420 part/serializers.py:130 -#: part/serializers.py:290 part/serializers.py:428 +#: part/serializers.py:290 part/serializers.py:426 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:20 #: part/templates/part/category.html:138 part/templates/part/category.html:158 #: part/templates/part/category_sidebar.html:9 @@ -6619,13 +6616,13 @@ msgstr "" msgid "Part Revision" msgstr "" -#: part/admin.py:418 part/serializers.py:1367 +#: part/admin.py:418 part/serializers.py:1365 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:423 part/serializers.py:1382 +#: part/admin.py:423 part/serializers.py:1380 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -6719,8 +6716,8 @@ msgstr "" msgid "BOM Valid" msgstr "" -#: part/api.py:1520 part/models.py:1036 part/models.py:3501 part/models.py:4060 -#: part/serializers.py:443 part/serializers.py:1223 +#: part/api.py:1520 part/models.py:1036 part/models.py:3488 part/models.py:4047 +#: part/serializers.py:441 part/serializers.py:1221 #: part/templates/part/part_base.html:267 stock/api.py:780 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 @@ -6746,7 +6743,7 @@ msgstr "" msgid "Default Location" msgstr "" -#: part/bom.py:184 part/serializers.py:926 +#: part/bom.py:184 part/serializers.py:924 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -6755,7 +6752,7 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:89 part/models.py:4061 part/templates/part/category.html:16 +#: part/models.py:89 part/models.py:4048 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -6878,7 +6875,7 @@ msgstr "" msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:995 part/models.py:4116 +#: part/models.py:995 part/models.py:4103 msgid "Part name" msgstr "" @@ -6906,7 +6903,7 @@ msgstr "" msgid "Part category" msgstr "" -#: part/models.py:1052 part/serializers.py:360 +#: part/models.py:1052 msgid "Part revision or version number" msgstr "" @@ -7012,164 +7009,164 @@ msgid "Owner responsible for this part" msgstr "" #: part/models.py:1264 part/templates/part/part_base.html:355 -#: stock/templates/stock/item_base.html:451 +#: stock/templates/stock/item_base.html:447 #: templates/js/translated/part.js:2490 msgid "Last Stocktake" msgstr "" -#: part/models.py:2137 +#: part/models.py:2136 msgid "Sell multiple" msgstr "" -#: part/models.py:3128 +#: part/models.py:3115 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3144 +#: part/models.py:3131 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3145 +#: part/models.py:3132 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3151 +#: part/models.py:3138 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3152 +#: part/models.py:3139 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3158 +#: part/models.py:3145 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3159 +#: part/models.py:3146 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3165 +#: part/models.py:3152 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3166 +#: part/models.py:3153 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3172 +#: part/models.py:3159 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3173 +#: part/models.py:3160 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3179 +#: part/models.py:3166 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3180 +#: part/models.py:3167 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3186 +#: part/models.py:3173 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3187 +#: part/models.py:3174 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3193 +#: part/models.py:3180 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3194 +#: part/models.py:3181 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3200 +#: part/models.py:3187 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3201 +#: part/models.py:3188 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3207 +#: part/models.py:3194 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3208 +#: part/models.py:3195 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3215 +#: part/models.py:3202 msgid "Override minimum cost" msgstr "" -#: part/models.py:3222 +#: part/models.py:3209 msgid "Override maximum cost" msgstr "" -#: part/models.py:3229 +#: part/models.py:3216 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3236 +#: part/models.py:3223 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3242 +#: part/models.py:3229 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3243 +#: part/models.py:3230 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3249 +#: part/models.py:3236 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3250 +#: part/models.py:3237 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3256 +#: part/models.py:3243 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3257 +#: part/models.py:3244 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3263 +#: part/models.py:3250 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3264 +#: part/models.py:3251 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3283 +#: part/models.py:3270 msgid "Part for stocktake" msgstr "" -#: part/models.py:3288 +#: part/models.py:3275 msgid "Item Count" msgstr "" -#: part/models.py:3289 +#: part/models.py:3276 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3297 +#: part/models.py:3284 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3301 part/models.py:3384 +#: part/models.py:3288 part/models.py:3371 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -7181,363 +7178,363 @@ msgstr "" msgid "Date" msgstr "" -#: part/models.py:3302 +#: part/models.py:3289 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3310 +#: part/models.py:3297 msgid "Additional notes" msgstr "" -#: part/models.py:3320 +#: part/models.py:3307 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3326 +#: part/models.py:3313 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3327 +#: part/models.py:3314 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3333 +#: part/models.py:3320 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3334 +#: part/models.py:3321 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3390 templates/InvenTree/settings/settings_staff_js.html:532 +#: part/models.py:3377 templates/InvenTree/settings/settings_staff_js.html:532 msgid "Report" msgstr "" -#: part/models.py:3391 +#: part/models.py:3378 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3396 templates/InvenTree/settings/settings_staff_js.html:539 +#: part/models.py:3383 templates/InvenTree/settings/settings_staff_js.html:539 msgid "Part Count" msgstr "" -#: part/models.py:3397 +#: part/models.py:3384 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3407 +#: part/models.py:3394 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3417 +#: part/models.py:3404 msgid "Part Sale Price Break" msgstr "" -#: part/models.py:3529 +#: part/models.py:3516 msgid "Part Test Template" msgstr "" -#: part/models.py:3555 +#: part/models.py:3542 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3576 part/models.py:3745 +#: part/models.py:3563 part/models.py:3732 msgid "Choices must be unique" msgstr "" -#: part/models.py:3587 +#: part/models.py:3574 msgid "Test templates can only be created for testable parts" msgstr "" -#: part/models.py:3598 +#: part/models.py:3585 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3615 templates/js/translated/part.js:2898 +#: part/models.py:3602 templates/js/translated/part.js:2898 msgid "Test Name" msgstr "" -#: part/models.py:3616 +#: part/models.py:3603 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3622 +#: part/models.py:3609 msgid "Test Key" msgstr "" -#: part/models.py:3623 +#: part/models.py:3610 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3630 +#: part/models.py:3617 msgid "Test Description" msgstr "" -#: part/models.py:3631 +#: part/models.py:3618 msgid "Enter description for this test" msgstr "" -#: part/models.py:3635 report/models.py:208 +#: part/models.py:3622 report/models.py:216 #: templates/js/translated/part.js:2919 #: templates/js/translated/table_filters.js:502 msgid "Enabled" msgstr "" -#: part/models.py:3635 +#: part/models.py:3622 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3640 templates/js/translated/part.js:2927 +#: part/models.py:3627 templates/js/translated/part.js:2927 #: templates/js/translated/table_filters.js:498 msgid "Required" msgstr "" -#: part/models.py:3641 +#: part/models.py:3628 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3646 templates/js/translated/part.js:2935 +#: part/models.py:3633 templates/js/translated/part.js:2935 msgid "Requires Value" msgstr "" -#: part/models.py:3647 +#: part/models.py:3634 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3652 templates/js/translated/part.js:2942 +#: part/models.py:3639 templates/js/translated/part.js:2942 msgid "Requires Attachment" msgstr "" -#: part/models.py:3654 +#: part/models.py:3641 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3660 part/models.py:3804 templates/js/translated/part.js:1643 +#: part/models.py:3647 part/models.py:3791 templates/js/translated/part.js:1643 msgid "Choices" msgstr "" -#: part/models.py:3661 +#: part/models.py:3648 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3693 +#: part/models.py:3680 msgid "Part Parameter Template" msgstr "" -#: part/models.py:3720 +#: part/models.py:3707 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3725 +#: part/models.py:3712 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3762 +#: part/models.py:3749 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3777 +#: part/models.py:3764 msgid "Parameter Name" msgstr "" -#: part/models.py:3784 +#: part/models.py:3771 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3792 +#: part/models.py:3779 msgid "Parameter description" msgstr "" -#: part/models.py:3798 templates/js/translated/part.js:1634 +#: part/models.py:3785 templates/js/translated/part.js:1634 #: templates/js/translated/table_filters.js:837 msgid "Checkbox" msgstr "" -#: part/models.py:3799 +#: part/models.py:3786 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3805 +#: part/models.py:3792 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3839 +#: part/models.py:3826 msgid "Part Parameter" msgstr "" -#: part/models.py:3865 +#: part/models.py:3852 msgid "Parameter cannot be modified - part is locked" msgstr "" -#: part/models.py:3903 +#: part/models.py:3890 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3952 +#: part/models.py:3939 msgid "Parent Part" msgstr "" -#: part/models.py:3960 part/models.py:4068 part/models.py:4069 +#: part/models.py:3947 part/models.py:4055 part/models.py:4056 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3966 +#: part/models.py:3953 msgid "Parameter Value" msgstr "" -#: part/models.py:4016 +#: part/models.py:4003 msgid "Part Category Parameter Template" msgstr "" -#: part/models.py:4075 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:4062 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:4076 +#: part/models.py:4063 msgid "Default Parameter Value" msgstr "" -#: part/models.py:4114 +#: part/models.py:4101 msgid "Part ID or part name" msgstr "" -#: part/models.py:4115 +#: part/models.py:4102 msgid "Unique part ID value" msgstr "" -#: part/models.py:4117 +#: part/models.py:4104 msgid "Part IPN value" msgstr "" -#: part/models.py:4118 +#: part/models.py:4105 msgid "Level" msgstr "" -#: part/models.py:4118 +#: part/models.py:4105 msgid "BOM level" msgstr "" -#: part/models.py:4228 +#: part/models.py:4215 msgid "BOM item cannot be modified - assembly is locked" msgstr "" -#: part/models.py:4235 +#: part/models.py:4222 msgid "BOM item cannot be modified - variant assembly is locked" msgstr "" -#: part/models.py:4245 +#: part/models.py:4232 msgid "Select parent part" msgstr "" -#: part/models.py:4255 +#: part/models.py:4242 msgid "Sub part" msgstr "" -#: part/models.py:4256 +#: part/models.py:4243 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4267 +#: part/models.py:4254 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4273 +#: part/models.py:4260 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4279 +#: part/models.py:4266 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4286 part/templates/part/upload_bom.html:55 +#: part/models.py:4273 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4287 +#: part/models.py:4274 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4294 +#: part/models.py:4281 msgid "BOM item reference" msgstr "" -#: part/models.py:4302 +#: part/models.py:4289 msgid "BOM item notes" msgstr "" -#: part/models.py:4308 +#: part/models.py:4295 msgid "Checksum" msgstr "" -#: part/models.py:4309 +#: part/models.py:4296 msgid "BOM line checksum" msgstr "" -#: part/models.py:4314 templates/js/translated/table_filters.js:181 +#: part/models.py:4301 templates/js/translated/table_filters.js:181 msgid "Validated" msgstr "" -#: part/models.py:4315 +#: part/models.py:4302 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4320 part/templates/part/upload_bom.html:57 +#: part/models.py:4307 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:185 #: templates/js/translated/table_filters.js:218 msgid "Gets inherited" msgstr "" -#: part/models.py:4321 +#: part/models.py:4308 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4327 +#: part/models.py:4314 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4412 stock/models.py:689 +#: part/models.py:4399 stock/models.py:689 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4422 part/models.py:4424 +#: part/models.py:4409 part/models.py:4411 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4561 +#: part/models.py:4554 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4582 +#: part/models.py:4575 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4595 +#: part/models.py:4588 msgid "Parent BOM item" msgstr "" -#: part/models.py:4603 +#: part/models.py:4596 msgid "Substitute part" msgstr "" -#: part/models.py:4619 +#: part/models.py:4612 msgid "Part 1" msgstr "" -#: part/models.py:4627 +#: part/models.py:4620 msgid "Part 2" msgstr "" -#: part/models.py:4628 +#: part/models.py:4621 msgid "Select Related Part" msgstr "" -#: part/models.py:4647 +#: part/models.py:4640 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4652 +#: part/models.py:4645 msgid "Duplicate relationship already exists" msgstr "" @@ -7571,326 +7568,326 @@ msgstr "" msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:434 +#: part/serializers.py:432 msgid "No parts selected" msgstr "" -#: part/serializers.py:444 +#: part/serializers.py:442 msgid "Select category" msgstr "" -#: part/serializers.py:479 +#: part/serializers.py:477 msgid "Original Part" msgstr "" -#: part/serializers.py:480 +#: part/serializers.py:478 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:485 +#: part/serializers.py:483 msgid "Copy Image" msgstr "" -#: part/serializers.py:486 +#: part/serializers.py:484 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:492 part/templates/part/detail.html:293 +#: part/serializers.py:490 part/templates/part/detail.html:293 msgid "Copy BOM" msgstr "" -#: part/serializers.py:493 +#: part/serializers.py:491 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:499 +#: part/serializers.py:497 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:500 +#: part/serializers.py:498 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:506 +#: part/serializers.py:504 msgid "Copy Notes" msgstr "" -#: part/serializers.py:507 +#: part/serializers.py:505 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:525 +#: part/serializers.py:523 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:527 +#: part/serializers.py:525 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:534 +#: part/serializers.py:532 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:535 +#: part/serializers.py:533 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:552 +#: part/serializers.py:550 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:568 +#: part/serializers.py:566 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:578 +#: part/serializers.py:576 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:585 +#: part/serializers.py:583 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:594 +#: part/serializers.py:592 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:605 +#: part/serializers.py:603 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:612 +#: part/serializers.py:610 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:924 +#: part/serializers.py:922 msgid "Revisions" msgstr "" -#: part/serializers.py:929 +#: part/serializers.py:927 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:932 +#: part/serializers.py:930 msgid "Variant Stock" msgstr "" -#: part/serializers.py:962 part/templates/part/copy_part.html:9 +#: part/serializers.py:960 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:474 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:963 +#: part/serializers.py:961 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:969 templates/js/translated/part.js:103 +#: part/serializers.py:967 templates/js/translated/part.js:103 msgid "Initial Stock" msgstr "" -#: part/serializers.py:970 +#: part/serializers.py:968 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:976 +#: part/serializers.py:974 msgid "Supplier Information" msgstr "" -#: part/serializers.py:977 +#: part/serializers.py:975 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:985 +#: part/serializers.py:983 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:986 +#: part/serializers.py:984 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:991 +#: part/serializers.py:989 msgid "Existing Image" msgstr "" -#: part/serializers.py:992 +#: part/serializers.py:990 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:1009 +#: part/serializers.py:1007 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1215 +#: part/serializers.py:1213 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1225 +#: part/serializers.py:1223 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1235 +#: part/serializers.py:1233 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1241 +#: part/serializers.py:1239 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1242 +#: part/serializers.py:1240 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1247 +#: part/serializers.py:1245 msgid "Generate Report" msgstr "" -#: part/serializers.py:1248 +#: part/serializers.py:1246 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1253 +#: part/serializers.py:1251 msgid "Update Parts" msgstr "" -#: part/serializers.py:1254 +#: part/serializers.py:1252 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1262 +#: part/serializers.py:1260 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1368 +#: part/serializers.py:1366 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1375 +#: part/serializers.py:1373 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1383 +#: part/serializers.py:1381 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1390 +#: part/serializers.py:1388 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1419 +#: part/serializers.py:1417 msgid "Update" msgstr "" -#: part/serializers.py:1420 +#: part/serializers.py:1418 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1443 +#: part/serializers.py:1441 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1450 +#: part/serializers.py:1448 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1453 +#: part/serializers.py:1451 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1597 +#: part/serializers.py:1595 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1606 +#: part/serializers.py:1604 msgid "Component Name" msgstr "" -#: part/serializers.py:1609 +#: part/serializers.py:1607 msgid "Component IPN" msgstr "" -#: part/serializers.py:1612 +#: part/serializers.py:1610 msgid "Component Description" msgstr "" -#: part/serializers.py:1618 +#: part/serializers.py:1616 msgid "Select the component part" msgstr "" -#: part/serializers.py:1627 part/templates/part/part_base.html:242 +#: part/serializers.py:1625 part/templates/part/part_base.html:242 #: templates/js/translated/bom.js:1219 msgid "Can Build" msgstr "" -#: part/serializers.py:1858 +#: part/serializers.py:1856 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1866 +#: part/serializers.py:1864 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1867 +#: part/serializers.py:1865 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1872 +#: part/serializers.py:1870 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1873 +#: part/serializers.py:1871 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1878 +#: part/serializers.py:1876 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1879 +#: part/serializers.py:1877 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1884 +#: part/serializers.py:1882 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1885 +#: part/serializers.py:1883 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1922 +#: part/serializers.py:1920 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1923 +#: part/serializers.py:1921 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1955 +#: part/serializers.py:1953 msgid "No part column specified" msgstr "" -#: part/serializers.py:1999 +#: part/serializers.py:1997 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:2002 +#: part/serializers.py:2000 msgid "No matching part found" msgstr "" -#: part/serializers.py:2004 +#: part/serializers.py:2002 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:2013 +#: part/serializers.py:2011 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:2021 +#: part/serializers.py:2019 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:2044 +#: part/serializers.py:2042 msgid "At least one BOM item is required" msgstr "" @@ -8216,7 +8213,7 @@ msgid "Subscribe to notifications for this part" msgstr "" #: part/templates/part/part_base.html:52 -#: stock/templates/stock/item_base.html:62 +#: stock/templates/stock/item_base.html:61 #: stock/templates/stock/location.html:71 templates/js/translated/label.js:136 msgid "Print Label" msgstr "" @@ -8226,7 +8223,7 @@ msgid "Show pricing information" msgstr "" #: part/templates/part/part_base.html:63 -#: stock/templates/stock/item_base.html:110 +#: stock/templates/stock/item_base.html:106 #: stock/templates/stock/location.html:80 msgid "Stock actions" msgstr "" @@ -8297,12 +8294,12 @@ msgid "Required for Orders" msgstr "" #: part/templates/part/part_base.html:225 -#: stock/templates/stock/item_base.html:388 +#: stock/templates/stock/item_base.html:384 msgid "Allocated to Build Orders" msgstr "" #: part/templates/part/part_base.html:234 -#: stock/templates/stock/item_base.html:381 +#: stock/templates/stock/item_base.html:377 msgid "Allocated to Sales Orders" msgstr "" @@ -8322,7 +8319,7 @@ msgid "Latest Serial Number" msgstr "" #: part/templates/part/part_base.html:372 -#: stock/templates/stock/item_base.html:322 +#: stock/templates/stock/item_base.html:318 msgid "Search for serial number" msgstr "" @@ -8449,7 +8446,7 @@ msgid "Edit" msgstr "" #: part/templates/part/prices.html:28 stock/admin.py:252 -#: stock/templates/stock/item_base.html:446 +#: stock/templates/stock/item_base.html:442 #: templates/js/translated/company.js:1703 #: templates/js/translated/company.js:1713 #: templates/js/translated/stock.js:2332 @@ -8604,7 +8601,7 @@ msgstr "" msgid "Part Pricing" msgstr "" -#: plugin/api.py:172 +#: plugin/api.py:174 msgid "Plugin cannot be deleted as it is currently active" msgstr "" @@ -8940,7 +8937,7 @@ msgstr "" msgid "Print a border around each label" msgstr "" -#: plugin/builtin/labels/label_sheet.py:47 report/models.py:307 +#: plugin/builtin/labels/label_sheet.py:47 report/models.py:315 msgid "Landscape" msgstr "" @@ -9012,44 +9009,44 @@ msgstr "" msgid "The Supplier which acts as 'TME'" msgstr "" -#: plugin/installer.py:194 plugin/installer.py:274 +#: plugin/installer.py:199 plugin/installer.py:282 msgid "Only staff users can administer plugins" msgstr "" -#: plugin/installer.py:197 +#: plugin/installer.py:202 msgid "Plugin installation is disabled" msgstr "" -#: plugin/installer.py:241 +#: plugin/installer.py:246 msgid "Installed plugin successfully" msgstr "" -#: plugin/installer.py:246 +#: plugin/installer.py:251 #, python-brace-format msgid "Installed plugin into {path}" msgstr "" -#: plugin/installer.py:265 +#: plugin/installer.py:273 msgid "Plugin was not found in registry" msgstr "" -#: plugin/installer.py:268 +#: plugin/installer.py:276 msgid "Plugin is not a packaged plugin" msgstr "" -#: plugin/installer.py:271 +#: plugin/installer.py:279 msgid "Plugin package name not found" msgstr "" -#: plugin/installer.py:291 +#: plugin/installer.py:299 msgid "Plugin uninstalling is disabled" msgstr "" -#: plugin/installer.py:295 +#: plugin/installer.py:303 msgid "Plugin cannot be uninstalled as it is currently active" msgstr "" -#: plugin/installer.py:308 +#: plugin/installer.py:316 msgid "Uninstalled plugin successfully" msgstr "" @@ -9098,7 +9095,7 @@ msgstr "" msgid "Package Plugin" msgstr "" -#: plugin/models.py:220 report/models.py:474 +#: plugin/models.py:220 report/models.py:482 #: templates/InvenTree/settings/plugin_settings.html:9 #: templates/js/translated/plugin.js:51 msgid "Plugin" @@ -9167,6 +9164,38 @@ msgstr "" msgid "InvenTree Contributors" msgstr "" +#: plugin/samples/integration/user_interface_sample.py:22 +msgid "Enable Part Panels" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:23 +msgid "Enable custom panels for Part views" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:28 +msgid "Enable Purchase Order Panels" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:29 +msgid "Enable custom panels for Purchase Order views" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:34 +msgid "Enable Broken Panels" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:35 +msgid "Enable broken panels for testing" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:40 +msgid "Enable Dynamic Panel" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:41 +msgid "Enable dynamic panels for testing" +msgstr "" + #: plugin/serializers.py:81 msgid "Source URL" msgstr "" @@ -9245,12 +9274,36 @@ msgstr "" msgid "Delete the plugin configuration from the database" msgstr "" +#: plugin/serializers.py:324 +msgid "Plugin Key" +msgstr "" + +#: plugin/serializers.py:328 +msgid "Panel Name" +msgstr "" + +#: plugin/serializers.py:332 +msgid "Panel Title" +msgstr "" + +#: plugin/serializers.py:337 +msgid "Panel Icon" +msgstr "" + +#: plugin/serializers.py:341 +msgid "Panel Content (HTML)" +msgstr "" + +#: plugin/serializers.py:345 +msgid "Panel Source (javascript)" +msgstr "" + #: report/api.py:88 msgid "No valid objects provided to template" msgstr "" -#: report/api.py:103 report/models.py:438 report/serializers.py:98 -#: report/serializers.py:148 templates/js/translated/purchase_order.js:1817 +#: report/api.py:103 report/models.py:446 report/serializers.py:99 +#: report/serializers.py:149 templates/js/translated/purchase_order.js:1817 #: templates/js/translated/return_order.js:353 #: templates/js/translated/sales_order.js:887 #: templates/js/translated/sales_order.js:1047 @@ -9281,7 +9334,11 @@ msgstr "" msgid "Error printing label" msgstr "" -#: report/api.py:375 report/api.py:411 +#: report/api.py:358 +msgid "Report saved at time of printing" +msgstr "" + +#: report/api.py:384 report/api.py:420 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" @@ -9318,135 +9375,143 @@ msgstr "" msgid "Revision number (auto-increments)" msgstr "" -#: report/models.py:202 +#: report/models.py:168 +msgid "Attach to Model on Print" +msgstr "" + +#: report/models.py:170 +msgid "Save report output as an attachment against linked model instance when printing" +msgstr "" + +#: report/models.py:210 msgid "Filename Pattern" msgstr "" -#: report/models.py:203 +#: report/models.py:211 msgid "Pattern for generating filenames" msgstr "" -#: report/models.py:208 +#: report/models.py:216 msgid "Template is enabled" msgstr "" -#: report/models.py:214 +#: report/models.py:222 msgid "Target model type for template" msgstr "" -#: report/models.py:234 +#: report/models.py:242 msgid "Filters" msgstr "" -#: report/models.py:235 +#: report/models.py:243 msgid "Template query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:294 report/models.py:361 +#: report/models.py:302 report/models.py:369 msgid "Template file" msgstr "" -#: report/models.py:302 +#: report/models.py:310 msgid "Page size for PDF reports" msgstr "" -#: report/models.py:308 +#: report/models.py:316 msgid "Render report in landscape orientation" msgstr "" -#: report/models.py:367 +#: report/models.py:375 msgid "Width [mm]" msgstr "" -#: report/models.py:368 +#: report/models.py:376 msgid "Label width, specified in mm" msgstr "" -#: report/models.py:374 +#: report/models.py:382 msgid "Height [mm]" msgstr "" -#: report/models.py:375 +#: report/models.py:383 msgid "Label height, specified in mm" msgstr "" -#: report/models.py:438 +#: report/models.py:446 msgid "Number of items to process" msgstr "" -#: report/models.py:444 +#: report/models.py:452 msgid "Report generation is complete" msgstr "" -#: report/models.py:448 templates/js/translated/build.js:2352 +#: report/models.py:456 templates/js/translated/build.js:2352 msgid "Progress" msgstr "" -#: report/models.py:448 +#: report/models.py:456 msgid "Report generation progress" msgstr "" -#: report/models.py:456 +#: report/models.py:464 msgid "Report Template" msgstr "" -#: report/models.py:463 report/models.py:486 +#: report/models.py:471 report/models.py:494 msgid "Output File" msgstr "" -#: report/models.py:464 report/models.py:487 +#: report/models.py:472 report/models.py:495 msgid "Generated output file" msgstr "" -#: report/models.py:475 +#: report/models.py:483 msgid "Label output plugin" msgstr "" -#: report/models.py:479 +#: report/models.py:487 msgid "Label Template" msgstr "" -#: report/models.py:502 +#: report/models.py:510 msgid "Snippet" msgstr "" -#: report/models.py:503 +#: report/models.py:511 msgid "Report snippet file" msgstr "" -#: report/models.py:510 +#: report/models.py:518 msgid "Snippet file description" msgstr "" -#: report/models.py:528 +#: report/models.py:536 msgid "Asset" msgstr "" -#: report/models.py:529 +#: report/models.py:537 msgid "Report asset file" msgstr "" -#: report/models.py:536 +#: report/models.py:544 msgid "Asset file description" msgstr "" -#: report/serializers.py:91 +#: report/serializers.py:92 msgid "Select report template" msgstr "" -#: report/serializers.py:99 report/serializers.py:149 +#: report/serializers.py:100 report/serializers.py:150 msgid "List of item primary keys to include in the report" msgstr "" -#: report/serializers.py:132 +#: report/serializers.py:133 msgid "Select label template" msgstr "" -#: report/serializers.py:140 +#: report/serializers.py:141 msgid "Printing Plugin" msgstr "" -#: report/serializers.py:141 +#: report/serializers.py:142 msgid "Select plugin to use for label printing" msgstr "" @@ -9517,7 +9582,7 @@ msgstr "" msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report.html:103 stock/models.py:2538 +#: report/templates/report/inventree_test_report.html:103 stock/models.py:2533 msgid "Result" msgstr "" @@ -9598,7 +9663,7 @@ msgid "Customer ID" msgstr "" #: stock/admin.py:206 stock/models.py:829 -#: stock/templates/stock/item_base.html:354 +#: stock/templates/stock/item_base.html:350 msgid "Installed In" msgstr "" @@ -9623,7 +9688,7 @@ msgid "Delete on Deplete" msgstr "" #: stock/admin.py:261 stock/models.py:923 -#: stock/templates/stock/item_base.html:433 +#: stock/templates/stock/item_base.html:429 #: templates/js/translated/stock.js:2316 users/models.py:124 msgid "Expiry Date" msgstr "" @@ -9665,7 +9730,7 @@ msgid "Expiry date after" msgstr "" #: stock/api.py:839 stock/serializers.py:611 -#: stock/templates/stock/item_base.html:439 +#: stock/templates/stock/item_base.html:435 #: templates/js/translated/table_filters.js:448 msgid "Stale" msgstr "" @@ -9715,7 +9780,7 @@ msgid "Stock Locations" msgstr "" #: stock/models.py:185 stock/models.py:972 -#: stock/templates/stock/item_base.html:247 +#: stock/templates/stock/item_base.html:243 msgid "Owner" msgstr "" @@ -9826,7 +9891,7 @@ msgstr "" msgid "Build for this stock item" msgstr "" -#: stock/models.py:892 stock/templates/stock/item_base.html:363 +#: stock/models.py:892 stock/templates/stock/item_base.html:359 msgid "Consumed By" msgstr "" @@ -9891,7 +9956,7 @@ msgstr "" msgid "Serial numbers already exist" msgstr "" -#: stock/models.py:1636 +#: stock/models.py:1636 stock/models.py:2436 msgid "Test template does not exist" msgstr "" @@ -9939,67 +10004,67 @@ msgstr "" msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2337 +#: stock/models.py:2335 msgid "Stock Item Tracking" msgstr "" -#: stock/models.py:2370 +#: stock/models.py:2368 msgid "Entry notes" msgstr "" -#: stock/models.py:2410 +#: stock/models.py:2408 msgid "Stock Item Test Result" msgstr "" -#: stock/models.py:2443 +#: stock/models.py:2439 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2448 +#: stock/models.py:2443 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2453 +#: stock/models.py:2448 msgid "Invalid value for this test" msgstr "" -#: stock/models.py:2538 +#: stock/models.py:2533 msgid "Test result" msgstr "" -#: stock/models.py:2545 +#: stock/models.py:2540 msgid "Test output value" msgstr "" -#: stock/models.py:2553 stock/serializers.py:245 +#: stock/models.py:2548 stock/serializers.py:245 msgid "Test result attachment" msgstr "" -#: stock/models.py:2557 +#: stock/models.py:2552 msgid "Test notes" msgstr "" -#: stock/models.py:2565 templates/js/translated/stock.js:1633 +#: stock/models.py:2560 templates/js/translated/stock.js:1633 msgid "Test station" msgstr "" -#: stock/models.py:2566 +#: stock/models.py:2561 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2572 +#: stock/models.py:2567 msgid "Started" msgstr "" -#: stock/models.py:2573 +#: stock/models.py:2568 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2579 +#: stock/models.py:2574 msgid "Finished" msgstr "" -#: stock/models.py:2580 +#: stock/models.py:2575 msgid "The timestamp of the test finish" msgstr "" @@ -10059,7 +10124,7 @@ msgstr "" msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:459 stock/templates/stock/item_base.html:193 +#: stock/serializers.py:459 stock/templates/stock/item_base.html:189 msgid "Parent Item" msgstr "" @@ -10071,7 +10136,7 @@ msgstr "" msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:603 stock/templates/stock/item_base.html:437 +#: stock/serializers.py:603 stock/templates/stock/item_base.html:433 #: templates/js/translated/table_filters.js:442 users/models.py:174 msgid "Expired" msgstr "" @@ -10410,7 +10475,7 @@ msgstr "" msgid "Test Data" msgstr "" -#: stock/templates/stock/item.html:85 stock/templates/stock/item_base.html:65 +#: stock/templates/stock/item.html:85 msgid "Test Report" msgstr "" @@ -10450,200 +10515,204 @@ msgstr "" msgid "Scan to Location" msgstr "" -#: stock/templates/stock/item_base.html:59 +#: stock/templates/stock/item_base.html:58 #: stock/templates/stock/location.html:67 #: templates/js/translated/filters.js:434 msgid "Printing actions" msgstr "" -#: stock/templates/stock/item_base.html:75 +#: stock/templates/stock/item_base.html:63 templates/js/translated/report.js:49 +msgid "Print Report" +msgstr "" + +#: stock/templates/stock/item_base.html:71 msgid "Stock adjustment actions" msgstr "" -#: stock/templates/stock/item_base.html:79 +#: stock/templates/stock/item_base.html:75 #: stock/templates/stock/location.html:87 templates/js/translated/stock.js:1909 msgid "Count stock" msgstr "" -#: stock/templates/stock/item_base.html:81 +#: stock/templates/stock/item_base.html:77 #: templates/js/translated/stock.js:1891 msgid "Add stock" msgstr "" -#: stock/templates/stock/item_base.html:82 +#: stock/templates/stock/item_base.html:78 #: templates/js/translated/stock.js:1900 msgid "Remove stock" msgstr "" -#: stock/templates/stock/item_base.html:85 +#: stock/templates/stock/item_base.html:81 msgid "Serialize stock" msgstr "" -#: stock/templates/stock/item_base.html:88 +#: stock/templates/stock/item_base.html:84 #: stock/templates/stock/location.html:93 templates/js/translated/stock.js:1918 msgid "Transfer stock" msgstr "" -#: stock/templates/stock/item_base.html:91 +#: stock/templates/stock/item_base.html:87 #: templates/js/translated/stock.js:1973 msgid "Assign to customer" msgstr "" -#: stock/templates/stock/item_base.html:94 +#: stock/templates/stock/item_base.html:90 msgid "Return to stock" msgstr "" -#: stock/templates/stock/item_base.html:97 +#: stock/templates/stock/item_base.html:93 msgid "Uninstall stock item" msgstr "" -#: stock/templates/stock/item_base.html:97 +#: stock/templates/stock/item_base.html:93 msgid "Uninstall" msgstr "" -#: stock/templates/stock/item_base.html:101 +#: stock/templates/stock/item_base.html:97 msgid "Install stock item" msgstr "" -#: stock/templates/stock/item_base.html:101 +#: stock/templates/stock/item_base.html:97 msgid "Install" msgstr "" -#: stock/templates/stock/item_base.html:115 +#: stock/templates/stock/item_base.html:111 msgid "Convert to variant" msgstr "" -#: stock/templates/stock/item_base.html:118 +#: stock/templates/stock/item_base.html:114 msgid "Duplicate stock item" msgstr "" -#: stock/templates/stock/item_base.html:120 +#: stock/templates/stock/item_base.html:116 msgid "Edit stock item" msgstr "" -#: stock/templates/stock/item_base.html:123 +#: stock/templates/stock/item_base.html:119 msgid "Delete stock item" msgstr "" -#: stock/templates/stock/item_base.html:169 templates/InvenTree/search.html:139 +#: stock/templates/stock/item_base.html:165 templates/InvenTree/search.html:139 #: templates/js/translated/build.js:2298 templates/navbar.html:38 msgid "Build" msgstr "Κατασκευή" -#: stock/templates/stock/item_base.html:211 +#: stock/templates/stock/item_base.html:207 msgid "No manufacturer set" msgstr "" -#: stock/templates/stock/item_base.html:251 +#: stock/templates/stock/item_base.html:247 msgid "You are not in the list of owners of this item. This stock item cannot be edited." msgstr "" -#: stock/templates/stock/item_base.html:252 +#: stock/templates/stock/item_base.html:248 #: stock/templates/stock/location.html:146 msgid "Read only" msgstr "" -#: stock/templates/stock/item_base.html:265 +#: stock/templates/stock/item_base.html:261 msgid "This stock item is unavailable" msgstr "" -#: stock/templates/stock/item_base.html:271 +#: stock/templates/stock/item_base.html:267 msgid "This stock item is in production and cannot be edited." msgstr "" -#: stock/templates/stock/item_base.html:272 +#: stock/templates/stock/item_base.html:268 msgid "Edit the stock item from the build view." msgstr "" -#: stock/templates/stock/item_base.html:287 +#: stock/templates/stock/item_base.html:283 msgid "This stock item is allocated to Sales Order" msgstr "" -#: stock/templates/stock/item_base.html:295 +#: stock/templates/stock/item_base.html:291 msgid "This stock item is allocated to Build Order" msgstr "" -#: stock/templates/stock/item_base.html:311 +#: stock/templates/stock/item_base.html:307 msgid "This stock item is serialized. It has a unique serial number and the quantity cannot be adjusted" msgstr "" -#: stock/templates/stock/item_base.html:317 +#: stock/templates/stock/item_base.html:313 msgid "previous page" msgstr "" -#: stock/templates/stock/item_base.html:317 +#: stock/templates/stock/item_base.html:313 msgid "Navigate to previous serial number" msgstr "" -#: stock/templates/stock/item_base.html:326 +#: stock/templates/stock/item_base.html:322 msgid "next page" msgstr "" -#: stock/templates/stock/item_base.html:326 +#: stock/templates/stock/item_base.html:322 msgid "Navigate to next serial number" msgstr "" -#: stock/templates/stock/item_base.html:398 +#: stock/templates/stock/item_base.html:394 #: templates/js/translated/build.js:2555 msgid "No location set" msgstr "" -#: stock/templates/stock/item_base.html:413 +#: stock/templates/stock/item_base.html:409 msgid "Tests" msgstr "" -#: stock/templates/stock/item_base.html:419 +#: stock/templates/stock/item_base.html:415 msgid "This stock item has not passed all required tests" msgstr "" -#: stock/templates/stock/item_base.html:437 +#: stock/templates/stock/item_base.html:433 #, python-format msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:439 +#: stock/templates/stock/item_base.html:435 #, python-format msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:455 +#: stock/templates/stock/item_base.html:451 msgid "No stocktake performed" msgstr "" -#: stock/templates/stock/item_base.html:504 +#: stock/templates/stock/item_base.html:500 #: templates/js/translated/stock.js:2038 msgid "stock item" msgstr "" -#: stock/templates/stock/item_base.html:527 +#: stock/templates/stock/item_base.html:523 msgid "Edit Stock Status" msgstr "" -#: stock/templates/stock/item_base.html:536 +#: stock/templates/stock/item_base.html:532 msgid "Stock Item QR Code" msgstr "" -#: stock/templates/stock/item_base.html:547 +#: stock/templates/stock/item_base.html:543 msgid "Link Barcode to Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:611 +#: stock/templates/stock/item_base.html:607 msgid "Select one of the part variants listed below." msgstr "" -#: stock/templates/stock/item_base.html:614 +#: stock/templates/stock/item_base.html:610 msgid "Warning" msgstr "" -#: stock/templates/stock/item_base.html:615 +#: stock/templates/stock/item_base.html:611 msgid "This action cannot be easily undone" msgstr "" -#: stock/templates/stock/item_base.html:623 +#: stock/templates/stock/item_base.html:619 msgid "Convert Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:656 +#: stock/templates/stock/item_base.html:652 msgid "Return to Stock" msgstr "" @@ -11310,7 +11379,7 @@ msgid "Delete Location Type" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:503 -#: templates/InvenTree/settings/stock.html:38 +#: templates/InvenTree/settings/stock.html:39 msgid "New Location Type" msgstr "" @@ -11367,7 +11436,7 @@ msgstr "" msgid "Stock Settings" msgstr "" -#: templates/InvenTree/settings/stock.html:34 +#: templates/InvenTree/settings/stock.html:35 msgid "Stock Location Types" msgstr "" @@ -11852,23 +11921,23 @@ msgstr "" msgid "Barcode Identifier" msgstr "" -#: templates/base.html:103 +#: templates/base.html:102 msgid "Server Restart Required" msgstr "" -#: templates/base.html:106 +#: templates/base.html:105 msgid "A configuration option has been changed which requires a server restart" msgstr "" -#: templates/base.html:106 templates/base.html:116 +#: templates/base.html:105 templates/base.html:115 msgid "Contact your system administrator for further information" msgstr "" -#: templates/base.html:113 +#: templates/base.html:112 msgid "Pending Database Migrations" msgstr "" -#: templates/base.html:116 +#: templates/base.html:115 msgid "There are pending database migrations which require attention" msgstr "" @@ -13946,10 +14015,6 @@ msgstr "" msgid "Delete line item" msgstr "" -#: templates/js/translated/report.js:49 -msgid "Print Report" -msgstr "" - #: templates/js/translated/report.js:68 msgid "Report print successful" msgstr "" diff --git a/src/backend/InvenTree/locale/en/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/en/LC_MESSAGES/django.po index 7208eb3b4a1e..43a03706dfe4 100644 --- a/src/backend/InvenTree/locale/en/LC_MESSAGES/django.po +++ b/src/backend/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: 2024-08-29 07:07+0000\n" +"POT-Creation-Date: 2024-09-16 01:08+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -66,9 +66,9 @@ msgstr "" #: 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:59 -#: part/models.py:3309 part/templates/part/part_sidebar.html:65 +#: part/models.py:3296 part/templates/part/part_sidebar.html:65 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/admin.py:231 stock/models.py:2369 stock/models.py:2557 +#: stock/admin.py:231 stock/models.py:2367 stock/models.py:2552 #: stock/serializers.py:705 stock/serializers.py:863 stock/serializers.py:989 #: stock/serializers.py:1039 stock/serializers.py:1350 #: stock/serializers.py:1439 stock/serializers.py:1604 @@ -365,7 +365,7 @@ msgstr "" msgid "[{site_name}] Log in to the app" msgstr "" -#: InvenTree/magic_login.py:38 InvenTree/serializers.py:413 +#: InvenTree/magic_login.py:38 InvenTree/serializers.py:416 #: company/models.py:133 company/templates/company/company_base.html:138 #: templates/InvenTree/settings/user.html:49 #: templates/js/translated/company.js:677 @@ -420,9 +420,9 @@ msgstr "" msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:767 common/models.py:2704 common/models.py:3131 -#: common/models.py:3351 common/serializers.py:439 company/models.py:590 -#: machine/models.py:24 part/models.py:995 part/models.py:3776 +#: InvenTree/models.py:767 common/models.py:2705 common/models.py:3132 +#: common/models.py:3352 common/serializers.py:455 company/models.py:590 +#: machine/models.py:24 part/models.py:995 part/models.py:3763 #: plugin/models.py:51 report/models.py:149 stock/models.py:82 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -447,10 +447,10 @@ msgstr "" #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 order/models.py:289 #: order/models.py:1406 part/admin.py:305 part/admin.py:411 part/models.py:1018 -#: part/models.py:3791 part/templates/part/category.html:79 +#: part/models.py:3778 part/templates/part/category.html:79 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:155 -#: report/models.py:509 report/models.py:535 +#: report/models.py:517 report/models.py:543 #: report/templates/report/inventree_build_order_report.html:117 #: stock/admin.py:54 stock/models.py:88 stock/templates/stock/location.html:122 #: templates/InvenTree/settings/notifications.html:19 @@ -518,12 +518,12 @@ msgstr "" msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:63 part/models.py:4400 +#: InvenTree/serializers.py:63 part/models.py:4387 msgid "Must be a valid number" msgstr "" #: InvenTree/serializers.py:100 company/models.py:183 -#: company/templates/company/company_base.html:112 part/models.py:3127 +#: company/templates/company/company_base.html:112 part/models.py:3114 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -537,43 +537,43 @@ msgstr "" msgid "Username" msgstr "" -#: InvenTree/serializers.py:407 templates/InvenTree/settings/user.html:37 +#: InvenTree/serializers.py:408 templates/InvenTree/settings/user.html:37 msgid "First Name" msgstr "" -#: InvenTree/serializers.py:407 +#: InvenTree/serializers.py:408 msgid "First name of the user" msgstr "" -#: InvenTree/serializers.py:410 templates/InvenTree/settings/user.html:41 +#: InvenTree/serializers.py:412 templates/InvenTree/settings/user.html:41 msgid "Last Name" msgstr "" -#: InvenTree/serializers.py:410 +#: InvenTree/serializers.py:412 msgid "Last name of the user" msgstr "" -#: InvenTree/serializers.py:413 +#: InvenTree/serializers.py:416 msgid "Email address of the user" msgstr "" -#: InvenTree/serializers.py:438 +#: InvenTree/serializers.py:441 msgid "Staff" msgstr "" -#: InvenTree/serializers.py:438 +#: InvenTree/serializers.py:441 msgid "Does this user have staff permissions" msgstr "" -#: InvenTree/serializers.py:441 +#: InvenTree/serializers.py:445 msgid "Superuser" msgstr "" -#: InvenTree/serializers.py:441 +#: InvenTree/serializers.py:445 msgid "Is this user a superuser" msgstr "" -#: InvenTree/serializers.py:444 common/models.py:2709 company/models.py:160 +#: InvenTree/serializers.py:449 common/models.py:2710 company/models.py:160 #: company/models.py:798 machine/models.py:39 part/admin.py:88 #: part/models.py:1201 plugin/models.py:66 #: templates/js/translated/company.js:523 @@ -586,89 +586,89 @@ msgstr "" msgid "Active" msgstr "" -#: InvenTree/serializers.py:444 +#: InvenTree/serializers.py:449 msgid "Is this user account active" msgstr "" -#: InvenTree/serializers.py:462 +#: InvenTree/serializers.py:467 msgid "You do not have permission to change this user role." msgstr "" -#: InvenTree/serializers.py:474 +#: InvenTree/serializers.py:503 msgid "Only superusers can create new users" msgstr "" -#: InvenTree/serializers.py:493 +#: InvenTree/serializers.py:522 msgid "Your account has been created." msgstr "" -#: InvenTree/serializers.py:495 +#: InvenTree/serializers.py:524 msgid "Please use the password reset function to login" msgstr "" -#: InvenTree/serializers.py:502 +#: InvenTree/serializers.py:531 msgid "Welcome to InvenTree" msgstr "" -#: InvenTree/serializers.py:560 +#: InvenTree/serializers.py:589 msgid "Invalid value" msgstr "" -#: InvenTree/serializers.py:580 importer/models.py:64 +#: InvenTree/serializers.py:609 importer/models.py:64 msgid "Data File" msgstr "" -#: InvenTree/serializers.py:581 +#: InvenTree/serializers.py:610 msgid "Select data file for upload" msgstr "" -#: InvenTree/serializers.py:598 +#: InvenTree/serializers.py:627 msgid "Unsupported file type" msgstr "" -#: InvenTree/serializers.py:604 +#: InvenTree/serializers.py:633 msgid "File is too large" msgstr "" -#: InvenTree/serializers.py:625 +#: InvenTree/serializers.py:654 msgid "No columns found in file" msgstr "" -#: InvenTree/serializers.py:628 +#: InvenTree/serializers.py:657 msgid "No data rows found in file" msgstr "" -#: InvenTree/serializers.py:740 +#: InvenTree/serializers.py:769 msgid "No data rows provided" msgstr "" -#: InvenTree/serializers.py:743 +#: InvenTree/serializers.py:772 msgid "No data columns supplied" msgstr "" -#: InvenTree/serializers.py:809 +#: InvenTree/serializers.py:838 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "" -#: InvenTree/serializers.py:818 +#: InvenTree/serializers.py:847 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "" -#: InvenTree/serializers.py:857 +#: InvenTree/serializers.py:886 msgid "Remote Image" msgstr "" -#: InvenTree/serializers.py:858 +#: InvenTree/serializers.py:887 msgid "URL of remote image file" msgstr "" -#: InvenTree/serializers.py:876 +#: InvenTree/serializers.py:905 msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/status.py:65 part/serializers.py:1267 +#: InvenTree/status.py:65 part/serializers.py:1265 msgid "Background worker check failed" msgstr "" @@ -760,7 +760,7 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:319 build/serializers.py:1332 part/models.py:4278 +#: build/api.py:319 build/serializers.py:1332 part/models.py:4265 #: templates/js/translated/bom.js:997 templates/js/translated/bom.js:1037 #: templates/js/translated/build.js:2705 #: templates/js/translated/table_filters.js:197 @@ -768,7 +768,7 @@ msgstr "" msgid "Consumable" msgstr "" -#: build/api.py:320 build/serializers.py:1333 part/models.py:4272 +#: build/api.py:320 build/serializers.py:1333 part/models.py:4259 #: part/templates/part/upload_bom.html:58 templates/js/translated/bom.js:1001 #: templates/js/translated/bom.js:1028 templates/js/translated/build.js:2696 #: templates/js/translated/table_filters.js:193 @@ -778,7 +778,7 @@ msgid "Optional" msgstr "" #: build/api.py:321 common/models.py:1491 part/admin.py:91 part/admin.py:428 -#: part/models.py:1166 part/serializers.py:1596 +#: part/models.py:1166 part/serializers.py:1594 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:337 #: templates/js/translated/table_filters.js:729 @@ -817,7 +817,7 @@ msgstr "" msgid "Available" msgstr "" -#: build/models.py:87 build/templates/build/build_base.html:9 +#: build/models.py:88 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_report.html:105 #: stock/serializers.py:85 templates/email/build_order_completed.html:16 @@ -826,7 +826,7 @@ msgstr "" msgid "Build Order" msgstr "" -#: build/models.py:88 build/templates/build/build_base.html:13 +#: build/models.py:89 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:111 #: order/templates/order/so_sidebar.html:13 @@ -867,7 +867,7 @@ msgstr "" #: build/models.py:243 build/serializers.py:1331 order/models.py:468 #: order/models.py:979 order/models.py:1366 order/models.py:2128 -#: part/admin.py:414 part/models.py:4293 part/templates/part/upload_bom.html:54 +#: part/admin.py:414 part/models.py:4280 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 @@ -893,11 +893,11 @@ msgstr "" #: build/templates/build/build_base.html:105 #: build/templates/build/detail.html:29 company/models.py:1043 order/api.py:761 #: order/models.py:1496 order/models.py:1651 order/models.py:1652 -#: part/api.py:1506 part/api.py:1806 part/models.py:419 part/models.py:3138 -#: part/models.py:3282 part/models.py:3430 part/models.py:3451 -#: part/models.py:3473 part/models.py:3609 part/models.py:3951 -#: part/models.py:4114 part/models.py:4244 part/models.py:4602 -#: part/serializers.py:1213 part/serializers.py:1857 +#: part/api.py:1506 part/api.py:1806 part/models.py:419 part/models.py:3125 +#: part/models.py:3269 part/models.py:3417 part/models.py:3438 +#: part/models.py:3460 part/models.py:3596 part/models.py:3938 +#: part/models.py:4101 part/models.py:4231 part/models.py:4595 +#: part/serializers.py:1211 part/serializers.py:1855 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -1064,12 +1064,12 @@ msgstr "" #: order/templates/order/return_order_base.html:148 #: order/templates/order/sales_order_base.html:187 #: part/templates/part/part_base.html:399 stock/models.py:859 -#: stock/templates/stock/item_base.html:200 +#: stock/templates/stock/item_base.html:196 #: templates/js/translated/company.js:1019 msgid "External Link" msgstr "" -#: build/models.py:378 common/models.py:3272 part/models.py:1070 +#: build/models.py:378 common/models.py:3273 part/models.py:1070 #: stock/models.py:859 msgid "Link to external URL" msgstr "" @@ -1111,7 +1111,7 @@ msgstr "" msgid "A build order has been completed" msgstr "" -#: build/models.py:968 build/models.py:1056 +#: build/models.py:968 build/models.py:1057 msgid "No build output specified" msgstr "" @@ -1123,37 +1123,37 @@ msgstr "" msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:1060 build/serializers.py:279 build/serializers.py:328 +#: build/models.py:1061 build/serializers.py:279 build/serializers.py:328 #: build/serializers.py:959 order/models.py:565 order/serializers.py:500 -#: order/serializers.py:666 part/serializers.py:1590 part/serializers.py:2019 +#: order/serializers.py:666 part/serializers.py:1588 part/serializers.py:2017 #: stock/models.py:704 stock/models.py:1515 stock/serializers.py:676 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:1065 build/serializers.py:284 +#: build/models.py:1066 build/serializers.py:284 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1125 build/serializers.py:607 +#: build/models.py:1126 build/serializers.py:607 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "" -#: build/models.py:1466 +#: build/models.py:1477 msgid "Build Order Line Item" msgstr "" -#: build/models.py:1491 +#: build/models.py:1502 msgid "Build object" msgstr "" -#: build/models.py:1505 build/models.py:1761 build/serializers.py:266 +#: build/models.py:1516 build/models.py:1775 build/serializers.py:266 #: build/serializers.py:313 build/serializers.py:1339 #: build/templates/build/build_base.html:110 -#: build/templates/build/detail.html:34 common/models.py:2581 +#: build/templates/build/detail.html:34 common/models.py:2582 #: order/models.py:1349 order/models.py:2034 order/serializers.py:1464 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:413 -#: part/forms.py:48 part/models.py:3296 part/models.py:4266 +#: part/forms.py:48 part/models.py:3283 part/models.py:4253 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1164,9 +1164,9 @@ msgstr "" #: report/templates/report/inventree_test_report.html:90 #: report/templates/report/inventree_test_report.html:169 stock/admin.py:160 #: stock/serializers.py:128 stock/serializers.py:168 stock/serializers.py:667 -#: stock/templates/stock/item_base.html:287 -#: stock/templates/stock/item_base.html:295 -#: stock/templates/stock/item_base.html:342 +#: stock/templates/stock/item_base.html:283 +#: stock/templates/stock/item_base.html:291 +#: stock/templates/stock/item_base.html:338 #: templates/email/build_order_completed.html:18 #: templates/js/translated/barcode.js:579 templates/js/translated/bom.js:771 #: templates/js/translated/bom.js:981 templates/js/translated/build.js:525 @@ -1195,41 +1195,41 @@ msgstr "" msgid "Quantity" msgstr "" -#: build/models.py:1506 +#: build/models.py:1517 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1586 +#: build/models.py:1597 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1595 +#: build/models.py:1606 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1605 order/models.py:1985 +#: build/models.py:1616 order/models.py:1985 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1611 order/models.py:1988 +#: build/models.py:1622 order/models.py:1988 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1617 +#: build/models.py:1628 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1676 +#: build/models.py:1687 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1748 build/serializers.py:939 order/serializers.py:1301 +#: build/models.py:1762 build/serializers.py:939 order/serializers.py:1301 #: order/serializers.py:1322 stock/models.py:381 stock/serializers.py:94 #: stock/serializers.py:770 stock/serializers.py:1288 stock/serializers.py:1400 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 -#: stock/templates/stock/item_base.html:194 +#: stock/templates/stock/item_base.html:190 #: templates/js/translated/build.js:1921 #: templates/js/translated/sales_order.js:301 #: templates/js/translated/sales_order.js:1234 @@ -1242,19 +1242,19 @@ msgstr "" msgid "Stock Item" msgstr "" -#: build/models.py:1749 +#: build/models.py:1763 msgid "Source stock item" msgstr "" -#: build/models.py:1762 +#: build/models.py:1776 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1770 +#: build/models.py:1784 msgid "Install into" msgstr "" -#: build/models.py:1771 +#: build/models.py:1785 msgid "Destination stock item" msgstr "" @@ -1263,7 +1263,7 @@ msgid "Build Level" msgstr "" #: build/serializers.py:115 build/serializers.py:1234 build/serializers.py:1323 -#: part/admin.py:41 part/admin.py:408 part/models.py:4116 part/stocktake.py:219 +#: part/admin.py:41 part/admin.py:408 part/models.py:4103 part/stocktake.py:219 #: stock/admin.py:157 msgid "Part Name" msgstr "" @@ -1324,10 +1324,10 @@ msgid "Enter serial numbers for build outputs" msgstr "" #: build/serializers.py:359 build/serializers.py:500 build/serializers.py:572 -#: order/serializers.py:655 order/serializers.py:778 order/serializers.py:1789 -#: part/serializers.py:1233 stock/serializers.py:103 stock/serializers.py:698 +#: order/serializers.py:655 order/serializers.py:778 order/serializers.py:1797 +#: part/serializers.py:1231 stock/serializers.py:103 stock/serializers.py:698 #: stock/serializers.py:858 stock/serializers.py:984 stock/serializers.py:1432 -#: stock/serializers.py:1688 stock/templates/stock/item_base.html:394 +#: stock/serializers.py:1688 stock/templates/stock/item_base.html:390 #: templates/js/translated/barcode.js:578 #: templates/js/translated/barcode.js:826 templates/js/translated/build.js:1035 #: templates/js/translated/build.js:1177 templates/js/translated/build.js:2547 @@ -1391,7 +1391,7 @@ msgstr "" #: build/templates/build/detail.html:62 order/models.py:477 #: order/models.py:1003 order/models.py:2152 order/serializers.py:687 #: stock/admin.py:165 stock/serializers.py:1035 stock/serializers.py:1576 -#: stock/templates/stock/item_base.html:427 +#: stock/templates/stock/item_base.html:423 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2366 #: templates/js/translated/purchase_order.js:1371 #: templates/js/translated/purchase_order.js:1792 @@ -1523,7 +1523,7 @@ msgstr "" msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:1030 order/serializers.py:1614 +#: build/serializers.py:1030 order/serializers.py:1622 msgid "Allocation items must be provided" msgstr "" @@ -1591,7 +1591,7 @@ msgstr "" #: build/serializers.py:1230 company/models.py:849 #: company/templates/company/supplier_part.html:160 order/serializers.py:691 #: stock/admin.py:229 stock/models.py:822 stock/serializers.py:1586 -#: stock/templates/stock/item_base.html:240 +#: stock/templates/stock/item_base.html:236 #: templates/js/translated/company.js:1646 #: templates/js/translated/purchase_order.js:1169 #: templates/js/translated/purchase_order.js:1332 @@ -1601,12 +1601,12 @@ msgid "Packaging" msgstr "" #: build/serializers.py:1233 part/admin.py:39 part/admin.py:398 -#: part/models.py:4115 part/stocktake.py:218 stock/admin.py:153 +#: part/models.py:4102 part/stocktake.py:218 stock/admin.py:153 msgid "Part ID" msgstr "" #: build/serializers.py:1235 build/serializers.py:1324 part/admin.py:402 -#: part/models.py:4117 +#: part/models.py:4104 msgid "Part IPN" msgstr "" @@ -1626,7 +1626,7 @@ msgstr "" #: build/serializers.py:1243 #: report/templates/report/inventree_return_order_report.html:25 #: report/templates/report/inventree_test_report.html:88 stock/models.py:849 -#: stock/serializers.py:152 stock/templates/stock/item_base.html:311 +#: stock/serializers.py:152 stock/templates/stock/item_base.html:307 #: templates/js/translated/build.js:523 templates/js/translated/build.js:1543 #: templates/js/translated/build.js:2530 #: templates/js/translated/model_renderers.js:231 @@ -1645,7 +1645,7 @@ msgstr "" msgid "Allocated Quantity" msgstr "" -#: build/serializers.py:1257 stock/templates/stock/item_base.html:340 +#: build/serializers.py:1257 stock/templates/stock/item_base.html:336 msgid "Available Quantity" msgstr "" @@ -1668,13 +1668,13 @@ msgstr "" msgid "Inherited" msgstr "" -#: build/serializers.py:1337 part/models.py:4326 +#: build/serializers.py:1337 part/models.py:4313 #: part/templates/part/upload_bom.html:56 templates/js/translated/bom.js:1046 #: templates/js/translated/build.js:2714 msgid "Allow Variants" msgstr "" -#: build/serializers.py:1341 part/models.py:4124 part/models.py:4594 +#: build/serializers.py:1341 part/models.py:4111 part/models.py:4587 #: stock/api.py:793 msgid "BOM Item" msgstr "" @@ -1685,7 +1685,7 @@ msgid "Allocated Stock" msgstr "" #: build/serializers.py:1355 order/serializers.py:1179 part/admin.py:132 -#: part/bom.py:186 part/serializers.py:920 part/serializers.py:1623 +#: part/bom.py:186 part/serializers.py:918 part/serializers.py:1621 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 #: templates/js/translated/build.js:2807 templates/js/translated/part.js:712 #: templates/js/translated/part.js:2155 @@ -1693,13 +1693,13 @@ msgstr "" msgid "On Order" msgstr "" -#: build/serializers.py:1360 order/serializers.py:1180 part/serializers.py:1625 +#: build/serializers.py:1360 order/serializers.py:1180 part/serializers.py:1623 #: templates/js/translated/build.js:2811 #: templates/js/translated/table_filters.js:367 msgid "In Production" msgstr "" -#: build/serializers.py:1365 part/bom.py:185 part/serializers.py:1650 +#: build/serializers.py:1365 part/bom.py:185 part/serializers.py:1648 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" @@ -1717,7 +1717,7 @@ msgstr "" msgid "Total Available Stock" msgstr "" -#: build/serializers.py:1372 part/serializers.py:927 +#: build/serializers.py:1372 part/serializers.py:925 msgid "External Stock" msgstr "" @@ -1746,7 +1746,7 @@ msgstr "" #: importer/status_codes.py:27 order/status_codes.py:15 #: order/status_codes.py:50 order/status_codes.py:81 #: order/templates/order/order_base.html:163 -#: order/templates/order/sales_order_base.html:168 report/models.py:443 +#: order/templates/order/sales_order_base.html:168 report/models.py:451 msgid "Complete" msgstr "" @@ -1850,9 +1850,6 @@ msgid "Delete Build" msgstr "" #: build/templates/build/build_base.html:87 -msgid "Isueue Build" -msgstr "" - #: build/templates/build/build_base.html:88 msgid "Issue Build" msgstr "" @@ -1932,7 +1929,7 @@ msgstr "" #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_report.html:135 #: report/templates/report/inventree_sales_order_report.html:14 -#: stock/templates/stock/item_base.html:369 +#: stock/templates/stock/item_base.html:365 #: templates/email/overdue_sales_order.html:15 #: templates/js/translated/pricing.js:929 #: templates/js/translated/sales_order.js:805 @@ -1992,7 +1989,7 @@ msgid "Allocated Parts" msgstr "" #: build/templates/build/detail.html:80 stock/admin.py:163 -#: stock/templates/stock/item_base.html:162 +#: stock/templates/stock/item_base.html:158 #: templates/js/translated/build.js:1556 #: templates/js/translated/model_renderers.js:242 #: templates/js/translated/purchase_order.js:1326 @@ -2149,19 +2146,19 @@ msgstr "" msgid "Test Statistics" msgstr "" -#: common/api.py:692 +#: common/api.py:725 msgid "Is Link" msgstr "" -#: common/api.py:700 +#: common/api.py:733 msgid "Is File" msgstr "" -#: common/api.py:743 +#: common/api.py:776 msgid "User does not have permission to delete these attachments" msgstr "" -#: common/api.py:760 +#: common/api.py:793 msgid "User does not have permission to delete this attachment" msgstr "" @@ -2353,8 +2350,8 @@ msgstr "" #: common/models.py:1297 common/models.py:1353 common/models.py:1366 #: common/models.py:1374 common/models.py:1383 common/models.py:1392 -#: common/models.py:1629 common/models.py:1651 common/models.py:1766 -#: common/models.py:2148 +#: common/models.py:1629 common/models.py:1651 common/models.py:1752 +#: common/models.py:2141 msgid "days" msgstr "" @@ -2582,9 +2579,9 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1485 part/admin.py:108 part/models.py:3959 -#: report/models.py:293 report/models.py:360 report/serializers.py:90 -#: report/serializers.py:131 stock/serializers.py:233 +#: common/models.py:1485 part/admin.py:108 part/models.py:3946 +#: report/models.py:301 report/models.py:368 report/serializers.py:91 +#: report/serializers.py:132 stock/serializers.py:233 #: templates/js/translated/table_filters.js:138 #: templates/js/translated/table_filters.js:775 msgid "Template" @@ -2599,7 +2596,7 @@ msgid "Parts can be assembled from other components by default" msgstr "" #: common/models.py:1497 part/admin.py:95 part/models.py:1172 -#: part/serializers.py:1617 templates/js/translated/table_filters.js:737 +#: part/serializers.py:1615 templates/js/translated/table_filters.js:737 msgid "Component" msgstr "" @@ -2824,7 +2821,7 @@ msgid "Log errors which occur when generating reports" msgstr "" #: common/models.py:1702 plugin/builtin/labels/label_sheet.py:28 -#: report/models.py:301 +#: report/models.py:309 msgid "Page Size" msgstr "" @@ -2833,914 +2830,914 @@ msgid "Default page size for PDF reports" msgstr "" #: common/models.py:1708 -msgid "Enable Test Reports" -msgstr "" - -#: common/models.py:1709 -msgid "Enable generation of test reports" -msgstr "" - -#: common/models.py:1714 -msgid "Attach Test Reports" -msgstr "" - -#: common/models.py:1716 -msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" -msgstr "" - -#: common/models.py:1722 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1723 +#: common/models.py:1709 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1728 +#: common/models.py:1714 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1729 +#: common/models.py:1715 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1734 +#: common/models.py:1720 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1736 +#: common/models.py:1722 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/models.py:1742 +#: common/models.py:1728 msgid "Batch Code Template" msgstr "" -#: common/models.py:1744 +#: common/models.py:1730 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1749 +#: common/models.py:1735 msgid "Stock Expiry" msgstr "" -#: common/models.py:1750 +#: common/models.py:1736 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1755 +#: common/models.py:1741 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1756 +#: common/models.py:1742 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1761 +#: common/models.py:1747 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1763 +#: common/models.py:1749 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1770 +#: common/models.py:1756 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1771 +#: common/models.py:1757 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1776 +#: common/models.py:1762 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1777 +#: common/models.py:1763 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1782 +#: common/models.py:1768 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1783 +#: common/models.py:1769 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1788 +#: common/models.py:1774 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1789 +#: common/models.py:1775 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1794 +#: common/models.py:1780 msgid "Check BOM when installing items" msgstr "" -#: common/models.py:1796 +#: common/models.py:1782 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/models.py:1802 +#: common/models.py:1788 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/models.py:1804 +#: common/models.py:1790 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/models.py:1810 +#: common/models.py:1796 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1812 +#: common/models.py:1798 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1818 common/models.py:1874 common/models.py:1896 -#: common/models.py:1932 +#: common/models.py:1804 common/models.py:1860 common/models.py:1882 +#: common/models.py:1918 msgid "Require Responsible Owner" msgstr "" -#: common/models.py:1819 common/models.py:1875 common/models.py:1897 -#: common/models.py:1933 +#: common/models.py:1805 common/models.py:1861 common/models.py:1883 +#: common/models.py:1919 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/models.py:1824 +#: common/models.py:1810 msgid "Require Active Part" msgstr "" -#: common/models.py:1825 +#: common/models.py:1811 msgid "Prevent build order creation for inactive parts" msgstr "" -#: common/models.py:1830 +#: common/models.py:1816 msgid "Require Locked Part" msgstr "" -#: common/models.py:1831 +#: common/models.py:1817 msgid "Prevent build order creation for unlocked parts" msgstr "" -#: common/models.py:1836 +#: common/models.py:1822 msgid "Require Valid BOM" msgstr "" -#: common/models.py:1838 +#: common/models.py:1824 msgid "Prevent build order creation unless BOM has been validated" msgstr "" -#: common/models.py:1844 +#: common/models.py:1830 msgid "Require Closed Child Orders" msgstr "" -#: common/models.py:1846 +#: common/models.py:1832 msgid "Prevent build order completion until all child orders are closed" msgstr "" -#: common/models.py:1852 +#: common/models.py:1838 msgid "Block Until Tests Pass" msgstr "" -#: common/models.py:1854 +#: common/models.py:1840 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "" -#: common/models.py:1860 +#: common/models.py:1846 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1861 +#: common/models.py:1847 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1866 +#: common/models.py:1852 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1868 +#: common/models.py:1854 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1880 +#: common/models.py:1866 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1882 +#: common/models.py:1868 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1888 +#: common/models.py:1874 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1890 +#: common/models.py:1876 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1902 +#: common/models.py:1888 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1903 +#: common/models.py:1889 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1908 +#: common/models.py:1894 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1910 +#: common/models.py:1896 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1916 +#: common/models.py:1902 msgid "Mark Shipped Orders as Complete" msgstr "" -#: common/models.py:1918 +#: common/models.py:1904 msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status" msgstr "" -#: common/models.py:1924 +#: common/models.py:1910 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1926 +#: common/models.py:1912 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1938 +#: common/models.py:1924 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1940 +#: common/models.py:1926 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1946 +#: common/models.py:1932 msgid "Auto Complete Purchase Orders" msgstr "" -#: common/models.py:1948 +#: common/models.py:1934 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/models.py:1955 +#: common/models.py:1941 msgid "Enable password forgot" msgstr "" -#: common/models.py:1956 +#: common/models.py:1942 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1961 +#: common/models.py:1947 msgid "Enable registration" msgstr "" -#: common/models.py:1962 +#: common/models.py:1948 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1967 +#: common/models.py:1953 msgid "Enable SSO" msgstr "" -#: common/models.py:1968 +#: common/models.py:1954 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1973 +#: common/models.py:1959 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1975 +#: common/models.py:1961 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1981 +#: common/models.py:1967 msgid "Enable SSO group sync" msgstr "" -#: common/models.py:1983 +#: common/models.py:1969 msgid "Enable synchronizing InvenTree groups with groups provided by the IdP" msgstr "" -#: common/models.py:1989 +#: common/models.py:1975 msgid "SSO group key" msgstr "" -#: common/models.py:1991 +#: common/models.py:1977 msgid "The name of the groups claim attribute provided by the IdP" msgstr "" -#: common/models.py:1997 +#: common/models.py:1983 msgid "SSO group map" msgstr "" -#: common/models.py:1999 +#: common/models.py:1985 msgid "A mapping from SSO groups to local InvenTree groups. If the local group does not exist, it will be created." msgstr "" -#: common/models.py:2005 +#: common/models.py:1991 msgid "Remove groups outside of SSO" msgstr "" -#: common/models.py:2007 +#: common/models.py:1993 msgid "Whether groups assigned to the user should be removed if they are not backend by the IdP. Disabling this setting might cause security issues" msgstr "" -#: common/models.py:2013 +#: common/models.py:1999 msgid "Email required" msgstr "" -#: common/models.py:2014 +#: common/models.py:2000 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:2019 +#: common/models.py:2005 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:2021 +#: common/models.py:2007 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:2027 +#: common/models.py:2013 msgid "Mail twice" msgstr "" -#: common/models.py:2028 +#: common/models.py:2014 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:2033 +#: common/models.py:2019 msgid "Password twice" msgstr "" -#: common/models.py:2034 +#: common/models.py:2020 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:2039 +#: common/models.py:2025 msgid "Allowed domains" msgstr "" -#: common/models.py:2041 +#: common/models.py:2027 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:2047 +#: common/models.py:2033 msgid "Group on signup" msgstr "" -#: common/models.py:2049 +#: common/models.py:2035 msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP." msgstr "" -#: common/models.py:2055 +#: common/models.py:2041 msgid "Enforce MFA" msgstr "" -#: common/models.py:2056 +#: common/models.py:2042 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:2061 +#: common/models.py:2047 msgid "Check plugins on startup" msgstr "" -#: common/models.py:2063 +#: common/models.py:2049 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:2071 +#: common/models.py:2057 msgid "Check for plugin updates" msgstr "" -#: common/models.py:2072 +#: common/models.py:2058 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:2078 +#: common/models.py:2064 msgid "Enable URL integration" msgstr "" -#: common/models.py:2079 +#: common/models.py:2065 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:2085 +#: common/models.py:2071 msgid "Enable navigation integration" msgstr "" -#: common/models.py:2086 +#: common/models.py:2072 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:2092 +#: common/models.py:2078 msgid "Enable app integration" msgstr "" -#: common/models.py:2093 +#: common/models.py:2079 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:2099 +#: common/models.py:2085 msgid "Enable schedule integration" msgstr "" -#: common/models.py:2100 +#: common/models.py:2086 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:2106 +#: common/models.py:2092 msgid "Enable event integration" msgstr "" -#: common/models.py:2107 +#: common/models.py:2093 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:2113 +#: common/models.py:2099 +msgid "Enable interface integration" +msgstr "" + +#: common/models.py:2100 +msgid "Enable plugins to integrate into the user interface" +msgstr "" + +#: common/models.py:2106 msgid "Enable project codes" msgstr "" -#: common/models.py:2114 +#: common/models.py:2107 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:2119 +#: common/models.py:2112 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:2121 +#: common/models.py:2114 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:2127 +#: common/models.py:2120 msgid "Exclude External Locations" msgstr "" -#: common/models.py:2129 +#: common/models.py:2122 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/models.py:2135 +#: common/models.py:2128 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:2137 +#: common/models.py:2130 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:2143 +#: common/models.py:2136 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:2145 +#: common/models.py:2138 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:2152 +#: common/models.py:2145 msgid "Display Users full names" msgstr "" -#: common/models.py:2153 +#: common/models.py:2146 msgid "Display Users full names instead of usernames" msgstr "" -#: common/models.py:2158 +#: common/models.py:2151 msgid "Enable Test Station Data" msgstr "" -#: common/models.py:2159 +#: common/models.py:2152 msgid "Enable test station data collection for test results" msgstr "" -#: common/models.py:2171 common/models.py:2551 +#: common/models.py:2157 +msgid "Create Template on Upload" +msgstr "" + +#: common/models.py:2159 +msgid "Create a new test template when uploading test data which does not match an existing template" +msgstr "" + +#: common/models.py:2172 common/models.py:2552 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:2214 +#: common/models.py:2215 msgid "Hide inactive parts" msgstr "" -#: common/models.py:2216 +#: common/models.py:2217 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:2222 +#: common/models.py:2223 msgid "Show subscribed parts" msgstr "" -#: common/models.py:2223 +#: common/models.py:2224 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:2228 +#: common/models.py:2229 msgid "Show subscribed categories" msgstr "" -#: common/models.py:2229 +#: common/models.py:2230 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:2234 +#: common/models.py:2235 msgid "Show latest parts" msgstr "" -#: common/models.py:2235 +#: common/models.py:2236 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:2240 +#: common/models.py:2241 msgid "Show invalid BOMs" msgstr "" -#: common/models.py:2241 +#: common/models.py:2242 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:2246 +#: common/models.py:2247 msgid "Show recent stock changes" msgstr "" -#: common/models.py:2247 +#: common/models.py:2248 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:2252 +#: common/models.py:2253 msgid "Show low stock" msgstr "" -#: common/models.py:2253 +#: common/models.py:2254 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:2258 +#: common/models.py:2259 msgid "Show depleted stock" msgstr "" -#: common/models.py:2259 +#: common/models.py:2260 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:2264 +#: common/models.py:2265 msgid "Show needed stock" msgstr "" -#: common/models.py:2265 +#: common/models.py:2266 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:2270 +#: common/models.py:2271 msgid "Show expired stock" msgstr "" -#: common/models.py:2271 +#: common/models.py:2272 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:2276 +#: common/models.py:2277 msgid "Show stale stock" msgstr "" -#: common/models.py:2277 +#: common/models.py:2278 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:2282 +#: common/models.py:2283 msgid "Show pending builds" msgstr "" -#: common/models.py:2283 +#: common/models.py:2284 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:2288 +#: common/models.py:2289 msgid "Show overdue builds" msgstr "" -#: common/models.py:2289 +#: common/models.py:2290 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:2294 +#: common/models.py:2295 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2295 +#: common/models.py:2296 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2300 +#: common/models.py:2301 msgid "Show overdue POs" msgstr "" -#: common/models.py:2301 +#: common/models.py:2302 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2306 +#: common/models.py:2307 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2307 +#: common/models.py:2308 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2312 +#: common/models.py:2313 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2313 +#: common/models.py:2314 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2318 +#: common/models.py:2319 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2319 +#: common/models.py:2320 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2324 +#: common/models.py:2325 msgid "Show News" msgstr "" -#: common/models.py:2325 +#: common/models.py:2326 msgid "Show news on the homepage" msgstr "" -#: common/models.py:2330 +#: common/models.py:2331 msgid "Inline label display" msgstr "" -#: common/models.py:2332 +#: common/models.py:2333 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2338 +#: common/models.py:2339 msgid "Default label printer" msgstr "" -#: common/models.py:2340 +#: common/models.py:2341 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2346 +#: common/models.py:2347 msgid "Inline report display" msgstr "" -#: common/models.py:2348 +#: common/models.py:2349 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2354 +#: common/models.py:2355 msgid "Search Parts" msgstr "" -#: common/models.py:2355 +#: common/models.py:2356 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2360 +#: common/models.py:2361 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2361 +#: common/models.py:2362 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2366 +#: common/models.py:2367 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2367 +#: common/models.py:2368 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2372 +#: common/models.py:2373 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2373 +#: common/models.py:2374 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2378 +#: common/models.py:2379 msgid "Search Categories" msgstr "" -#: common/models.py:2379 +#: common/models.py:2380 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2384 +#: common/models.py:2385 msgid "Search Stock" msgstr "" -#: common/models.py:2385 +#: common/models.py:2386 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2390 +#: common/models.py:2391 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2392 +#: common/models.py:2393 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2398 +#: common/models.py:2399 msgid "Search Locations" msgstr "" -#: common/models.py:2399 +#: common/models.py:2400 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2404 +#: common/models.py:2405 msgid "Search Companies" msgstr "" -#: common/models.py:2405 +#: common/models.py:2406 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2410 +#: common/models.py:2411 msgid "Search Build Orders" msgstr "" -#: common/models.py:2411 +#: common/models.py:2412 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2416 +#: common/models.py:2417 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2417 +#: common/models.py:2418 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2422 +#: common/models.py:2423 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2424 +#: common/models.py:2425 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2430 +#: common/models.py:2431 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2431 +#: common/models.py:2432 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2436 +#: common/models.py:2437 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2438 +#: common/models.py:2439 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2444 +#: common/models.py:2445 msgid "Search Return Orders" msgstr "" -#: common/models.py:2445 +#: common/models.py:2446 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2450 +#: common/models.py:2451 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2452 +#: common/models.py:2453 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2458 +#: common/models.py:2459 msgid "Search Preview Results" msgstr "" -#: common/models.py:2460 +#: common/models.py:2461 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2466 +#: common/models.py:2467 msgid "Regex Search" msgstr "" -#: common/models.py:2467 +#: common/models.py:2468 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2472 +#: common/models.py:2473 msgid "Whole Word Search" msgstr "" -#: common/models.py:2473 +#: common/models.py:2474 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2478 +#: common/models.py:2479 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2479 +#: common/models.py:2480 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2484 +#: common/models.py:2485 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2485 +#: common/models.py:2486 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2490 +#: common/models.py:2491 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2491 +#: common/models.py:2492 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2496 +#: common/models.py:2497 msgid "Date Format" msgstr "" -#: common/models.py:2497 +#: common/models.py:2498 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2510 part/templates/part/detail.html:41 +#: common/models.py:2511 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2511 +#: common/models.py:2512 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2516 part/templates/part/detail.html:62 +#: common/models.py:2517 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2518 +#: common/models.py:2519 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2524 +#: common/models.py:2525 msgid "Table String Length" msgstr "" -#: common/models.py:2526 +#: common/models.py:2527 msgid "Maximum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2532 +#: common/models.py:2533 msgid "Receive error reports" msgstr "" -#: common/models.py:2533 +#: common/models.py:2534 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2538 +#: common/models.py:2539 msgid "Last used printing machines" msgstr "" -#: common/models.py:2539 +#: common/models.py:2540 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2559 common/models.py:2560 common/models.py:2717 -#: common/models.py:2718 common/models.py:2963 common/models.py:2964 -#: common/models.py:3287 common/models.py:3288 importer/models.py:89 -#: part/models.py:3319 part/models.py:3406 part/models.py:3480 -#: part/models.py:3508 plugin/models.py:274 plugin/models.py:275 +#: common/models.py:2560 common/models.py:2561 common/models.py:2718 +#: common/models.py:2719 common/models.py:2964 common/models.py:2965 +#: common/models.py:3288 common/models.py:3289 importer/models.py:89 +#: part/models.py:3306 part/models.py:3393 part/models.py:3467 +#: part/models.py:3495 plugin/models.py:274 plugin/models.py:275 #: report/templates/report/inventree_test_report.html:105 #: templates/js/translated/stock.js:3121 users/models.py:111 msgid "User" msgstr "" -#: common/models.py:2582 +#: common/models.py:2583 msgid "Price break quantity" msgstr "" -#: common/models.py:2589 company/serializers.py:517 order/admin.py:42 +#: common/models.py:2590 company/serializers.py:517 order/admin.py:42 #: order/models.py:1423 order/models.py:2410 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1892 #: templates/js/translated/pricing.js:621 @@ -3748,96 +3745,96 @@ msgstr "" msgid "Price" msgstr "" -#: common/models.py:2590 +#: common/models.py:2591 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2694 common/models.py:2879 +#: common/models.py:2695 common/models.py:2880 msgid "Endpoint" msgstr "" -#: common/models.py:2695 +#: common/models.py:2696 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2705 +#: common/models.py:2706 msgid "Name for this webhook" msgstr "" -#: common/models.py:2709 +#: common/models.py:2710 msgid "Is this webhook active" msgstr "" -#: common/models.py:2725 users/models.py:159 +#: common/models.py:2726 users/models.py:159 msgid "Token" msgstr "" -#: common/models.py:2726 +#: common/models.py:2727 msgid "Token for access" msgstr "" -#: common/models.py:2734 +#: common/models.py:2735 msgid "Secret" msgstr "" -#: common/models.py:2735 +#: common/models.py:2736 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2843 +#: common/models.py:2844 msgid "Message ID" msgstr "" -#: common/models.py:2844 +#: common/models.py:2845 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2852 +#: common/models.py:2853 msgid "Host" msgstr "" -#: common/models.py:2853 +#: common/models.py:2854 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2861 +#: common/models.py:2862 msgid "Header" msgstr "" -#: common/models.py:2862 +#: common/models.py:2863 msgid "Header of this message" msgstr "" -#: common/models.py:2869 +#: common/models.py:2870 msgid "Body" msgstr "" -#: common/models.py:2870 +#: common/models.py:2871 msgid "Body of this message" msgstr "" -#: common/models.py:2880 +#: common/models.py:2881 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2885 +#: common/models.py:2886 msgid "Worked on" msgstr "" -#: common/models.py:2886 +#: common/models.py:2887 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:3012 +#: common/models.py:3013 msgid "Id" msgstr "" -#: common/models.py:3014 templates/js/translated/company.js:965 +#: common/models.py:3015 templates/js/translated/company.js:965 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:3016 common/models.py:3271 company/models.py:146 +#: common/models.py:3017 common/models.py:3272 company/models.py:146 #: company/models.py:443 company/models.py:509 company/models.py:815 #: order/models.py:303 order/models.py:1378 order/models.py:1810 #: part/admin.py:55 part/models.py:1069 @@ -3854,217 +3851,217 @@ msgstr "" msgid "Link" msgstr "" -#: common/models.py:3018 templates/js/translated/news.js:60 +#: common/models.py:3019 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:3020 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:3021 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:103 msgid "Author" msgstr "" -#: common/models.py:3022 templates/js/translated/news.js:52 +#: common/models.py:3023 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:3025 +#: common/models.py:3026 msgid "Read" msgstr "" -#: common/models.py:3025 +#: common/models.py:3026 msgid "Was this news item read?" msgstr "" -#: common/models.py:3042 company/models.py:156 part/models.py:1079 +#: common/models.py:3043 company/models.py:156 part/models.py:1079 #: 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.html:35 -#: stock/templates/stock/item_base.html:133 templates/503.html:31 +#: stock/templates/stock/item_base.html:129 templates/503.html:31 #: templates/hover_image.html:7 templates/hover_image.html:9 #: templates/modals.html:6 msgid "Image" msgstr "" -#: common/models.py:3042 +#: common/models.py:3043 msgid "Image file" msgstr "" -#: common/models.py:3054 common/models.py:3255 +#: common/models.py:3055 common/models.py:3256 msgid "Target model type for this image" msgstr "" -#: common/models.py:3058 +#: common/models.py:3059 msgid "Target model ID for this image" msgstr "" -#: common/models.py:3080 +#: common/models.py:3081 msgid "Custom Unit" msgstr "" -#: common/models.py:3098 +#: common/models.py:3099 msgid "Unit symbol must be unique" msgstr "" -#: common/models.py:3113 +#: common/models.py:3114 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:3132 +#: common/models.py:3133 msgid "Unit name" msgstr "" -#: common/models.py:3139 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3140 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:3140 +#: common/models.py:3141 msgid "Optional unit symbol" msgstr "" -#: common/models.py:3146 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3147 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:3147 +#: common/models.py:3148 msgid "Unit definition" msgstr "" -#: common/models.py:3205 common/models.py:3262 stock/models.py:2552 +#: common/models.py:3206 common/models.py:3263 stock/models.py:2547 #: stock/serializers.py:244 templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:345 msgid "Attachment" msgstr "" -#: common/models.py:3217 +#: common/models.py:3218 msgid "Missing file" msgstr "" -#: common/models.py:3218 +#: common/models.py:3219 msgid "Missing external link" msgstr "" -#: common/models.py:3263 +#: common/models.py:3264 msgid "Select file to attach" msgstr "" -#: common/models.py:3278 templates/js/translated/attachment.js:120 +#: common/models.py:3279 templates/js/translated/attachment.js:120 #: templates/js/translated/attachment.js:360 msgid "Comment" msgstr "" -#: common/models.py:3279 +#: common/models.py:3280 msgid "Attachment comment" msgstr "" -#: common/models.py:3295 +#: common/models.py:3296 msgid "Upload date" msgstr "" -#: common/models.py:3296 +#: common/models.py:3297 msgid "Date the file was uploaded" msgstr "" -#: common/models.py:3300 +#: common/models.py:3301 msgid "File size" msgstr "" -#: common/models.py:3300 +#: common/models.py:3301 msgid "File size in bytes" msgstr "" -#: common/models.py:3338 common/serializers.py:588 +#: common/models.py:3339 common/serializers.py:604 msgid "Invalid model type specified for attachment" msgstr "" -#: common/models.py:3347 plugin/models.py:43 users/models.py:100 +#: common/models.py:3348 plugin/models.py:43 users/models.py:100 msgid "Key" msgstr "" -#: common/models.py:3348 +#: common/models.py:3349 msgid "Value that will be saved in the models database" msgstr "" -#: common/models.py:3351 +#: common/models.py:3352 msgid "Name of the state" msgstr "" -#: common/models.py:3355 +#: common/models.py:3356 msgid "Label" msgstr "" -#: common/models.py:3356 +#: common/models.py:3357 msgid "Label that will be displayed in the frontend" msgstr "" -#: common/models.py:3362 +#: common/models.py:3363 msgid "Color" msgstr "" -#: common/models.py:3363 +#: common/models.py:3364 msgid "Color that will be displayed in the frontend" msgstr "" -#: common/models.py:3366 +#: common/models.py:3367 msgid "Logical Key" msgstr "" -#: common/models.py:3368 +#: common/models.py:3369 msgid "State logical key that is equal to this custom state in business logic" msgstr "" -#: common/models.py:3376 +#: common/models.py:3377 msgid "Model" msgstr "" -#: common/models.py:3377 +#: common/models.py:3378 msgid "Model this state is associated with" msgstr "" -#: common/models.py:3381 +#: common/models.py:3382 msgid "Reference Status Set" msgstr "" -#: common/models.py:3382 +#: common/models.py:3383 msgid "Status set that is extended with this custom state" msgstr "" -#: common/models.py:3388 +#: common/models.py:3389 msgid "Custom State" msgstr "" -#: common/models.py:3389 +#: common/models.py:3390 msgid "Custom States" msgstr "" -#: common/models.py:3404 +#: common/models.py:3405 msgid "Model must be selected" msgstr "" -#: common/models.py:3407 +#: common/models.py:3408 msgid "Key must be selected" msgstr "" -#: common/models.py:3410 +#: common/models.py:3411 msgid "Logical key must be selected" msgstr "" -#: common/models.py:3414 +#: common/models.py:3415 msgid "Key must be different from logical key" msgstr "" -#: common/models.py:3418 +#: common/models.py:3419 msgid "Reference status must be selected" msgstr "" -#: common/models.py:3430 +#: common/models.py:3431 msgid "Reference status set not found" msgstr "" -#: common/models.py:3436 +#: common/models.py:3437 msgid "Key must be different from the logical keys of the reference status" msgstr "" -#: common/models.py:3442 +#: common/models.py:3443 msgid "Logical key must be in the logical keys of the reference status" msgstr "" @@ -4102,75 +4099,75 @@ msgstr "" msgid "Error raised by plugin" msgstr "" -#: common/serializers.py:402 +#: common/serializers.py:418 msgid "Is Running" msgstr "" -#: common/serializers.py:408 +#: common/serializers.py:424 msgid "Pending Tasks" msgstr "" -#: common/serializers.py:414 +#: common/serializers.py:430 msgid "Scheduled Tasks" msgstr "" -#: common/serializers.py:420 +#: common/serializers.py:436 msgid "Failed Tasks" msgstr "" -#: common/serializers.py:435 +#: common/serializers.py:451 msgid "Task ID" msgstr "" -#: common/serializers.py:435 +#: common/serializers.py:451 msgid "Unique task ID" msgstr "" -#: common/serializers.py:437 +#: common/serializers.py:453 msgid "Lock" msgstr "" -#: common/serializers.py:437 +#: common/serializers.py:453 msgid "Lock time" msgstr "" -#: common/serializers.py:439 +#: common/serializers.py:455 msgid "Task name" msgstr "" -#: common/serializers.py:441 +#: common/serializers.py:457 msgid "Function" msgstr "" -#: common/serializers.py:441 +#: common/serializers.py:457 msgid "Function name" msgstr "" -#: common/serializers.py:443 +#: common/serializers.py:459 msgid "Arguments" msgstr "" -#: common/serializers.py:443 +#: common/serializers.py:459 msgid "Task arguments" msgstr "" -#: common/serializers.py:446 +#: common/serializers.py:462 msgid "Keyword Arguments" msgstr "" -#: common/serializers.py:446 +#: common/serializers.py:462 msgid "Task keyword arguments" msgstr "" -#: common/serializers.py:556 +#: common/serializers.py:572 msgid "Filename" msgstr "" -#: common/serializers.py:563 report/api.py:100 report/serializers.py:53 +#: common/serializers.py:579 report/api.py:100 report/serializers.py:54 msgid "Model Type" msgstr "" -#: common/serializers.py:591 +#: common/serializers.py:607 msgid "User does not have permission to create or edit attachments for this model" msgstr "" @@ -4448,12 +4445,12 @@ msgstr "" #: company/models.py:467 company/models.py:584 company/models.py:808 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 -#: stock/templates/stock/item_base.html:217 +#: stock/templates/stock/item_base.html:213 msgid "Manufacturer Part" msgstr "" #: company/models.py:484 company/models.py:776 stock/models.py:791 -#: stock/serializers.py:452 stock/templates/stock/item_base.html:142 +#: stock/serializers.py:452 stock/templates/stock/item_base.html:138 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" @@ -4464,8 +4461,8 @@ msgstr "" #: company/models.py:495 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:567 -#: stock/templates/stock/item_base.html:207 +#: company/templates/company/supplier_part.html:145 part/serializers.py:565 +#: stock/templates/stock/item_base.html:203 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 #: templates/js/translated/company.js:1296 @@ -4480,7 +4477,7 @@ msgstr "" #: company/models.py:502 company/templates/company/manufacturer_part.html:101 #: company/templates/company/supplier_part.html:153 order/serializers.py:557 -#: part/serializers.py:577 templates/js/translated/company.js:351 +#: part/serializers.py:575 templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 #: templates/js/translated/company.js:1630 templates/js/translated/part.js:1807 @@ -4506,7 +4503,7 @@ msgid "Parameter name" msgstr "" #: company/models.py:597 report/templates/report/inventree_test_report.html:104 -#: stock/models.py:2544 templates/js/translated/company.js:1166 +#: stock/models.py:2539 templates/js/translated/company.js:1166 #: templates/js/translated/company.js:1419 templates/js/translated/part.js:1499 #: templates/js/translated/stock.js:1607 msgid "Value" @@ -4517,7 +4514,7 @@ msgid "Parameter value" msgstr "" #: company/models.py:605 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1159 part/models.py:3783 +#: part/admin.py:57 part/models.py:1159 part/models.py:3770 #: part/templates/part/part_base.html:300 #: templates/js/translated/company.js:1425 templates/js/translated/part.js:1518 #: templates/js/translated/part.js:1622 templates/js/translated/part.js:2376 @@ -4531,7 +4528,7 @@ msgstr "" #: company/models.py:659 company/templates/company/supplier_part.html:7 #: company/templates/company/supplier_part.html:24 order/api.py:440 #: order/serializers.py:492 stock/models.py:802 -#: stock/templates/stock/item_base.html:233 +#: stock/templates/stock/item_base.html:229 #: templates/js/translated/build.js:1055 #: templates/js/translated/company.js:1600 #: templates/js/translated/purchase_order.js:752 @@ -4554,9 +4551,9 @@ msgstr "" #: company/models.py:786 company/templates/company/company_base.html:87 #: company/templates/company/supplier_part.html:129 order/models.py:492 #: order/templates/order/order_base.html:141 part/bom.py:279 part/bom.py:314 -#: part/serializers.py:551 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:549 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 -#: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 +#: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:220 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:511 @@ -4571,7 +4568,7 @@ msgstr "" msgid "Select supplier" msgstr "" -#: company/models.py:793 part/serializers.py:562 +#: company/models.py:793 part/serializers.py:560 msgid "Supplier stock keeping unit" msgstr "" @@ -4592,7 +4589,7 @@ msgid "Supplier part description" msgstr "" #: company/models.py:832 company/templates/company/supplier_part.html:187 -#: order/serializers.py:699 part/admin.py:415 part/models.py:4301 +#: order/serializers.py:699 part/admin.py:415 part/models.py:4288 #: part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 @@ -4604,11 +4601,11 @@ msgstr "" msgid "Note" msgstr "" -#: company/models.py:841 part/models.py:2129 +#: company/models.py:841 part/models.py:2128 msgid "base cost" msgstr "" -#: company/models.py:842 part/models.py:2130 +#: company/models.py:842 part/models.py:2129 msgid "Minimum charge (e.g. stocking fee)" msgstr "" @@ -4630,7 +4627,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:876 part/models.py:2136 +#: company/models.py:876 part/models.py:2135 msgid "multiple" msgstr "" @@ -4662,7 +4659,7 @@ msgstr "" msgid "Company Name" msgstr "" -#: company/serializers.py:397 part/admin.py:126 part/serializers.py:919 +#: company/serializers.py:397 part/admin.py:126 part/serializers.py:917 #: part/templates/part/part_base.html:197 #: templates/js/translated/company.js:1689 #: templates/js/translated/table_filters.js:362 @@ -4736,7 +4733,7 @@ msgstr "" #: order/models.py:2140 order/templates/order/return_order_base.html:134 #: order/templates/order/sales_order_base.html:151 stock/models.py:844 #: stock/models.py:845 stock/serializers.py:1336 -#: stock/templates/stock/item_base.html:405 +#: stock/templates/stock/item_base.html:401 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 #: templates/js/translated/return_order.js:295 @@ -4940,7 +4937,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:925 +#: part/admin.py:122 part/serializers.py:923 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -5031,7 +5028,7 @@ msgid "No supplier information available" msgstr "" #: company/templates/company/supplier_part.html:139 order/serializers.py:554 -#: part/bom.py:286 part/bom.py:315 part/serializers.py:561 +#: part/bom.py:286 part/bom.py:315 part/serializers.py:559 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1793 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1920 @@ -5085,7 +5082,7 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:923 part/stocktake.py:223 +#: part/serializers.py:921 part/stocktake.py:223 #: part/templates/part/category.html:180 #: part/templates/part/category_sidebar.html:17 stock/admin.py:68 #: stock/serializers.py:1021 stock/serializers.py:1199 @@ -5216,7 +5213,7 @@ msgstr "" msgid "Original row data" msgstr "" -#: importer/models.py:504 part/models.py:3965 +#: importer/models.py:504 part/models.py:3952 msgid "Data" msgstr "" @@ -5474,7 +5471,7 @@ msgstr "" #: order/models.py:1592 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_purchase_order_report.html:14 -#: stock/serializers.py:121 stock/templates/stock/item_base.html:176 +#: stock/serializers.py:121 stock/templates/stock/item_base.html:172 #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/part.js:1752 templates/js/translated/pricing.js:804 #: templates/js/translated/purchase_order.js:168 @@ -5695,7 +5692,7 @@ msgid "Number of items received" msgstr "" #: order/models.py:1513 stock/models.py:963 stock/serializers.py:617 -#: stock/templates/stock/item_base.html:183 +#: stock/templates/stock/item_base.html:179 #: templates/js/translated/stock.js:2397 msgid "Purchase Price" msgstr "" @@ -5769,7 +5766,7 @@ msgid "User who checked this shipment" msgstr "" #: order/models.py:1788 order/models.py:2011 order/serializers.py:1479 -#: order/serializers.py:1589 templates/js/translated/model_renderers.js:455 +#: order/serializers.py:1597 templates/js/translated/model_renderers.js:455 msgid "Shipment" msgstr "" @@ -5983,7 +5980,7 @@ msgstr "" msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:656 order/serializers.py:779 order/serializers.py:1790 +#: order/serializers.py:656 order/serializers.py:779 order/serializers.py:1798 msgid "Select destination location for received items" msgstr "" @@ -6020,7 +6017,7 @@ msgstr "" msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:795 order/serializers.py:1806 +#: order/serializers.py:795 order/serializers.py:1814 msgid "Line items must be provided" msgstr "" @@ -6052,39 +6049,39 @@ msgstr "" msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1491 order/serializers.py:1597 +#: order/serializers.py:1491 order/serializers.py:1605 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1494 order/serializers.py:1600 +#: order/serializers.py:1494 order/serializers.py:1608 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1541 +#: order/serializers.py:1549 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1548 -msgid "The following serial numbers are already allocated" +#: order/serializers.py:1556 +msgid "The following serial numbers are unavailable" msgstr "" -#: order/serializers.py:1760 +#: order/serializers.py:1768 msgid "Return order line item" msgstr "" -#: order/serializers.py:1766 +#: order/serializers.py:1774 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1769 +#: order/serializers.py:1777 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1798 +#: order/serializers.py:1806 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1881 +#: order/serializers.py:1889 msgid "Line price currency" msgstr "" @@ -6511,7 +6508,7 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:48 part/models.py:1044 part/serializers.py:908 +#: part/admin.py:48 part/models.py:1044 part/serializers.py:906 #: part/templates/part/part_base.html:276 #: report/templates/report/inventree_stock_location_report.html:103 #: templates/js/translated/part.js:1233 templates/js/translated/part.js:2347 @@ -6538,7 +6535,7 @@ msgstr "" msgid "Category ID" msgstr "" -#: part/admin.py:67 part/admin.py:304 part/serializers.py:893 +#: part/admin.py:67 part/admin.py:304 part/serializers.py:891 #: part/stocktake.py:222 msgid "Category Name" msgstr "" @@ -6563,18 +6560,18 @@ msgstr "" msgid "Used In" msgstr "" -#: part/admin.py:150 part/serializers.py:918 +#: part/admin.py:150 part/serializers.py:916 #: part/templates/part/part_base.html:248 stock/admin.py:236 #: templates/js/translated/part.js:717 templates/js/translated/part.js:2159 msgid "Building" msgstr "" -#: part/admin.py:155 part/models.py:3214 part/models.py:3228 +#: part/admin.py:155 part/models.py:3201 part/models.py:3215 #: templates/js/translated/part.js:976 msgid "Minimum Cost" msgstr "" -#: part/admin.py:158 part/models.py:3221 part/models.py:3235 +#: part/admin.py:158 part/models.py:3208 part/models.py:3222 #: templates/js/translated/part.js:986 msgid "Maximum Cost" msgstr "" @@ -6593,7 +6590,7 @@ msgid "Category Path" msgstr "" #: part/admin.py:325 part/models.py:420 part/serializers.py:130 -#: part/serializers.py:290 part/serializers.py:428 +#: part/serializers.py:290 part/serializers.py:426 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:20 #: part/templates/part/category.html:138 part/templates/part/category.html:158 #: part/templates/part/category_sidebar.html:9 @@ -6620,13 +6617,13 @@ msgstr "" msgid "Part Revision" msgstr "" -#: part/admin.py:418 part/serializers.py:1367 +#: part/admin.py:418 part/serializers.py:1365 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:423 part/serializers.py:1382 +#: part/admin.py:423 part/serializers.py:1380 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -6720,8 +6717,8 @@ msgstr "" msgid "BOM Valid" msgstr "" -#: part/api.py:1520 part/models.py:1036 part/models.py:3501 part/models.py:4060 -#: part/serializers.py:443 part/serializers.py:1223 +#: part/api.py:1520 part/models.py:1036 part/models.py:3488 part/models.py:4047 +#: part/serializers.py:441 part/serializers.py:1221 #: part/templates/part/part_base.html:267 stock/api.py:780 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 @@ -6747,7 +6744,7 @@ msgstr "" msgid "Default Location" msgstr "" -#: part/bom.py:184 part/serializers.py:926 +#: part/bom.py:184 part/serializers.py:924 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -6756,7 +6753,7 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:89 part/models.py:4061 part/templates/part/category.html:16 +#: part/models.py:89 part/models.py:4048 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -6879,7 +6876,7 @@ msgstr "" msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:995 part/models.py:4116 +#: part/models.py:995 part/models.py:4103 msgid "Part name" msgstr "" @@ -6907,7 +6904,7 @@ msgstr "" msgid "Part category" msgstr "" -#: part/models.py:1052 part/serializers.py:360 +#: part/models.py:1052 msgid "Part revision or version number" msgstr "" @@ -7013,164 +7010,164 @@ msgid "Owner responsible for this part" msgstr "" #: part/models.py:1264 part/templates/part/part_base.html:355 -#: stock/templates/stock/item_base.html:451 +#: stock/templates/stock/item_base.html:447 #: templates/js/translated/part.js:2490 msgid "Last Stocktake" msgstr "" -#: part/models.py:2137 +#: part/models.py:2136 msgid "Sell multiple" msgstr "" -#: part/models.py:3128 +#: part/models.py:3115 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3144 +#: part/models.py:3131 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3145 +#: part/models.py:3132 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3151 +#: part/models.py:3138 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3152 +#: part/models.py:3139 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3158 +#: part/models.py:3145 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3159 +#: part/models.py:3146 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3165 +#: part/models.py:3152 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3166 +#: part/models.py:3153 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3172 +#: part/models.py:3159 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3173 +#: part/models.py:3160 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3179 +#: part/models.py:3166 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3180 +#: part/models.py:3167 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3186 +#: part/models.py:3173 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3187 +#: part/models.py:3174 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3193 +#: part/models.py:3180 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3194 +#: part/models.py:3181 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3200 +#: part/models.py:3187 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3201 +#: part/models.py:3188 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3207 +#: part/models.py:3194 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3208 +#: part/models.py:3195 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3215 +#: part/models.py:3202 msgid "Override minimum cost" msgstr "" -#: part/models.py:3222 +#: part/models.py:3209 msgid "Override maximum cost" msgstr "" -#: part/models.py:3229 +#: part/models.py:3216 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3236 +#: part/models.py:3223 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3242 +#: part/models.py:3229 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3243 +#: part/models.py:3230 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3249 +#: part/models.py:3236 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3250 +#: part/models.py:3237 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3256 +#: part/models.py:3243 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3257 +#: part/models.py:3244 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3263 +#: part/models.py:3250 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3264 +#: part/models.py:3251 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3283 +#: part/models.py:3270 msgid "Part for stocktake" msgstr "" -#: part/models.py:3288 +#: part/models.py:3275 msgid "Item Count" msgstr "" -#: part/models.py:3289 +#: part/models.py:3276 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3297 +#: part/models.py:3284 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3301 part/models.py:3384 +#: part/models.py:3288 part/models.py:3371 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -7182,363 +7179,363 @@ msgstr "" msgid "Date" msgstr "" -#: part/models.py:3302 +#: part/models.py:3289 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3310 +#: part/models.py:3297 msgid "Additional notes" msgstr "" -#: part/models.py:3320 +#: part/models.py:3307 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3326 +#: part/models.py:3313 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3327 +#: part/models.py:3314 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3333 +#: part/models.py:3320 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3334 +#: part/models.py:3321 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3390 templates/InvenTree/settings/settings_staff_js.html:532 +#: part/models.py:3377 templates/InvenTree/settings/settings_staff_js.html:532 msgid "Report" msgstr "" -#: part/models.py:3391 +#: part/models.py:3378 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3396 templates/InvenTree/settings/settings_staff_js.html:539 +#: part/models.py:3383 templates/InvenTree/settings/settings_staff_js.html:539 msgid "Part Count" msgstr "" -#: part/models.py:3397 +#: part/models.py:3384 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3407 +#: part/models.py:3394 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3417 +#: part/models.py:3404 msgid "Part Sale Price Break" msgstr "" -#: part/models.py:3529 +#: part/models.py:3516 msgid "Part Test Template" msgstr "" -#: part/models.py:3555 +#: part/models.py:3542 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3576 part/models.py:3745 +#: part/models.py:3563 part/models.py:3732 msgid "Choices must be unique" msgstr "" -#: part/models.py:3587 +#: part/models.py:3574 msgid "Test templates can only be created for testable parts" msgstr "" -#: part/models.py:3598 +#: part/models.py:3585 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3615 templates/js/translated/part.js:2898 +#: part/models.py:3602 templates/js/translated/part.js:2898 msgid "Test Name" msgstr "" -#: part/models.py:3616 +#: part/models.py:3603 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3622 +#: part/models.py:3609 msgid "Test Key" msgstr "" -#: part/models.py:3623 +#: part/models.py:3610 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3630 +#: part/models.py:3617 msgid "Test Description" msgstr "" -#: part/models.py:3631 +#: part/models.py:3618 msgid "Enter description for this test" msgstr "" -#: part/models.py:3635 report/models.py:208 +#: part/models.py:3622 report/models.py:216 #: templates/js/translated/part.js:2919 #: templates/js/translated/table_filters.js:502 msgid "Enabled" msgstr "" -#: part/models.py:3635 +#: part/models.py:3622 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3640 templates/js/translated/part.js:2927 +#: part/models.py:3627 templates/js/translated/part.js:2927 #: templates/js/translated/table_filters.js:498 msgid "Required" msgstr "" -#: part/models.py:3641 +#: part/models.py:3628 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3646 templates/js/translated/part.js:2935 +#: part/models.py:3633 templates/js/translated/part.js:2935 msgid "Requires Value" msgstr "" -#: part/models.py:3647 +#: part/models.py:3634 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3652 templates/js/translated/part.js:2942 +#: part/models.py:3639 templates/js/translated/part.js:2942 msgid "Requires Attachment" msgstr "" -#: part/models.py:3654 +#: part/models.py:3641 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3660 part/models.py:3804 templates/js/translated/part.js:1643 +#: part/models.py:3647 part/models.py:3791 templates/js/translated/part.js:1643 msgid "Choices" msgstr "" -#: part/models.py:3661 +#: part/models.py:3648 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3693 +#: part/models.py:3680 msgid "Part Parameter Template" msgstr "" -#: part/models.py:3720 +#: part/models.py:3707 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3725 +#: part/models.py:3712 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3762 +#: part/models.py:3749 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3777 +#: part/models.py:3764 msgid "Parameter Name" msgstr "" -#: part/models.py:3784 +#: part/models.py:3771 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3792 +#: part/models.py:3779 msgid "Parameter description" msgstr "" -#: part/models.py:3798 templates/js/translated/part.js:1634 +#: part/models.py:3785 templates/js/translated/part.js:1634 #: templates/js/translated/table_filters.js:837 msgid "Checkbox" msgstr "" -#: part/models.py:3799 +#: part/models.py:3786 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3805 +#: part/models.py:3792 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3839 +#: part/models.py:3826 msgid "Part Parameter" msgstr "" -#: part/models.py:3865 +#: part/models.py:3852 msgid "Parameter cannot be modified - part is locked" msgstr "" -#: part/models.py:3903 +#: part/models.py:3890 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3952 +#: part/models.py:3939 msgid "Parent Part" msgstr "" -#: part/models.py:3960 part/models.py:4068 part/models.py:4069 +#: part/models.py:3947 part/models.py:4055 part/models.py:4056 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3966 +#: part/models.py:3953 msgid "Parameter Value" msgstr "" -#: part/models.py:4016 +#: part/models.py:4003 msgid "Part Category Parameter Template" msgstr "" -#: part/models.py:4075 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:4062 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:4076 +#: part/models.py:4063 msgid "Default Parameter Value" msgstr "" -#: part/models.py:4114 +#: part/models.py:4101 msgid "Part ID or part name" msgstr "" -#: part/models.py:4115 +#: part/models.py:4102 msgid "Unique part ID value" msgstr "" -#: part/models.py:4117 +#: part/models.py:4104 msgid "Part IPN value" msgstr "" -#: part/models.py:4118 +#: part/models.py:4105 msgid "Level" msgstr "" -#: part/models.py:4118 +#: part/models.py:4105 msgid "BOM level" msgstr "" -#: part/models.py:4228 +#: part/models.py:4215 msgid "BOM item cannot be modified - assembly is locked" msgstr "" -#: part/models.py:4235 +#: part/models.py:4222 msgid "BOM item cannot be modified - variant assembly is locked" msgstr "" -#: part/models.py:4245 +#: part/models.py:4232 msgid "Select parent part" msgstr "" -#: part/models.py:4255 +#: part/models.py:4242 msgid "Sub part" msgstr "" -#: part/models.py:4256 +#: part/models.py:4243 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4267 +#: part/models.py:4254 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4273 +#: part/models.py:4260 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4279 +#: part/models.py:4266 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4286 part/templates/part/upload_bom.html:55 +#: part/models.py:4273 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4287 +#: part/models.py:4274 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4294 +#: part/models.py:4281 msgid "BOM item reference" msgstr "" -#: part/models.py:4302 +#: part/models.py:4289 msgid "BOM item notes" msgstr "" -#: part/models.py:4308 +#: part/models.py:4295 msgid "Checksum" msgstr "" -#: part/models.py:4309 +#: part/models.py:4296 msgid "BOM line checksum" msgstr "" -#: part/models.py:4314 templates/js/translated/table_filters.js:181 +#: part/models.py:4301 templates/js/translated/table_filters.js:181 msgid "Validated" msgstr "" -#: part/models.py:4315 +#: part/models.py:4302 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4320 part/templates/part/upload_bom.html:57 +#: part/models.py:4307 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:185 #: templates/js/translated/table_filters.js:218 msgid "Gets inherited" msgstr "" -#: part/models.py:4321 +#: part/models.py:4308 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4327 +#: part/models.py:4314 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4412 stock/models.py:689 +#: part/models.py:4399 stock/models.py:689 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4422 part/models.py:4424 +#: part/models.py:4409 part/models.py:4411 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4561 +#: part/models.py:4554 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4582 +#: part/models.py:4575 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4595 +#: part/models.py:4588 msgid "Parent BOM item" msgstr "" -#: part/models.py:4603 +#: part/models.py:4596 msgid "Substitute part" msgstr "" -#: part/models.py:4619 +#: part/models.py:4612 msgid "Part 1" msgstr "" -#: part/models.py:4627 +#: part/models.py:4620 msgid "Part 2" msgstr "" -#: part/models.py:4628 +#: part/models.py:4621 msgid "Select Related Part" msgstr "" -#: part/models.py:4647 +#: part/models.py:4640 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4652 +#: part/models.py:4645 msgid "Duplicate relationship already exists" msgstr "" @@ -7572,326 +7569,326 @@ msgstr "" msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:434 +#: part/serializers.py:432 msgid "No parts selected" msgstr "" -#: part/serializers.py:444 +#: part/serializers.py:442 msgid "Select category" msgstr "" -#: part/serializers.py:479 +#: part/serializers.py:477 msgid "Original Part" msgstr "" -#: part/serializers.py:480 +#: part/serializers.py:478 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:485 +#: part/serializers.py:483 msgid "Copy Image" msgstr "" -#: part/serializers.py:486 +#: part/serializers.py:484 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:492 part/templates/part/detail.html:293 +#: part/serializers.py:490 part/templates/part/detail.html:293 msgid "Copy BOM" msgstr "" -#: part/serializers.py:493 +#: part/serializers.py:491 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:499 +#: part/serializers.py:497 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:500 +#: part/serializers.py:498 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:506 +#: part/serializers.py:504 msgid "Copy Notes" msgstr "" -#: part/serializers.py:507 +#: part/serializers.py:505 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:525 +#: part/serializers.py:523 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:527 +#: part/serializers.py:525 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:534 +#: part/serializers.py:532 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:535 +#: part/serializers.py:533 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:552 +#: part/serializers.py:550 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:568 +#: part/serializers.py:566 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:578 +#: part/serializers.py:576 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:585 +#: part/serializers.py:583 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:594 +#: part/serializers.py:592 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:605 +#: part/serializers.py:603 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:612 +#: part/serializers.py:610 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:924 +#: part/serializers.py:922 msgid "Revisions" msgstr "" -#: part/serializers.py:929 +#: part/serializers.py:927 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:932 +#: part/serializers.py:930 msgid "Variant Stock" msgstr "" -#: part/serializers.py:962 part/templates/part/copy_part.html:9 +#: part/serializers.py:960 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:474 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:963 +#: part/serializers.py:961 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:969 templates/js/translated/part.js:103 +#: part/serializers.py:967 templates/js/translated/part.js:103 msgid "Initial Stock" msgstr "" -#: part/serializers.py:970 +#: part/serializers.py:968 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:976 +#: part/serializers.py:974 msgid "Supplier Information" msgstr "" -#: part/serializers.py:977 +#: part/serializers.py:975 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:985 +#: part/serializers.py:983 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:986 +#: part/serializers.py:984 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:991 +#: part/serializers.py:989 msgid "Existing Image" msgstr "" -#: part/serializers.py:992 +#: part/serializers.py:990 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:1009 +#: part/serializers.py:1007 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1215 +#: part/serializers.py:1213 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1225 +#: part/serializers.py:1223 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1235 +#: part/serializers.py:1233 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1241 +#: part/serializers.py:1239 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1242 +#: part/serializers.py:1240 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1247 +#: part/serializers.py:1245 msgid "Generate Report" msgstr "" -#: part/serializers.py:1248 +#: part/serializers.py:1246 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1253 +#: part/serializers.py:1251 msgid "Update Parts" msgstr "" -#: part/serializers.py:1254 +#: part/serializers.py:1252 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1262 +#: part/serializers.py:1260 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1368 +#: part/serializers.py:1366 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1375 +#: part/serializers.py:1373 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1383 +#: part/serializers.py:1381 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1390 +#: part/serializers.py:1388 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1419 +#: part/serializers.py:1417 msgid "Update" msgstr "" -#: part/serializers.py:1420 +#: part/serializers.py:1418 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1443 +#: part/serializers.py:1441 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1450 +#: part/serializers.py:1448 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1453 +#: part/serializers.py:1451 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1597 +#: part/serializers.py:1595 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1606 +#: part/serializers.py:1604 msgid "Component Name" msgstr "" -#: part/serializers.py:1609 +#: part/serializers.py:1607 msgid "Component IPN" msgstr "" -#: part/serializers.py:1612 +#: part/serializers.py:1610 msgid "Component Description" msgstr "" -#: part/serializers.py:1618 +#: part/serializers.py:1616 msgid "Select the component part" msgstr "" -#: part/serializers.py:1627 part/templates/part/part_base.html:242 +#: part/serializers.py:1625 part/templates/part/part_base.html:242 #: templates/js/translated/bom.js:1219 msgid "Can Build" msgstr "" -#: part/serializers.py:1858 +#: part/serializers.py:1856 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1866 +#: part/serializers.py:1864 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1867 +#: part/serializers.py:1865 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1872 +#: part/serializers.py:1870 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1873 +#: part/serializers.py:1871 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1878 +#: part/serializers.py:1876 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1879 +#: part/serializers.py:1877 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1884 +#: part/serializers.py:1882 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1885 +#: part/serializers.py:1883 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1922 +#: part/serializers.py:1920 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1923 +#: part/serializers.py:1921 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1955 +#: part/serializers.py:1953 msgid "No part column specified" msgstr "" -#: part/serializers.py:1999 +#: part/serializers.py:1997 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:2002 +#: part/serializers.py:2000 msgid "No matching part found" msgstr "" -#: part/serializers.py:2004 +#: part/serializers.py:2002 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:2013 +#: part/serializers.py:2011 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:2021 +#: part/serializers.py:2019 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:2044 +#: part/serializers.py:2042 msgid "At least one BOM item is required" msgstr "" @@ -8217,7 +8214,7 @@ msgid "Subscribe to notifications for this part" msgstr "" #: part/templates/part/part_base.html:52 -#: stock/templates/stock/item_base.html:62 +#: stock/templates/stock/item_base.html:61 #: stock/templates/stock/location.html:71 templates/js/translated/label.js:136 msgid "Print Label" msgstr "" @@ -8227,7 +8224,7 @@ msgid "Show pricing information" msgstr "" #: part/templates/part/part_base.html:63 -#: stock/templates/stock/item_base.html:110 +#: stock/templates/stock/item_base.html:106 #: stock/templates/stock/location.html:80 msgid "Stock actions" msgstr "" @@ -8298,12 +8295,12 @@ msgid "Required for Orders" msgstr "" #: part/templates/part/part_base.html:225 -#: stock/templates/stock/item_base.html:388 +#: stock/templates/stock/item_base.html:384 msgid "Allocated to Build Orders" msgstr "" #: part/templates/part/part_base.html:234 -#: stock/templates/stock/item_base.html:381 +#: stock/templates/stock/item_base.html:377 msgid "Allocated to Sales Orders" msgstr "" @@ -8323,7 +8320,7 @@ msgid "Latest Serial Number" msgstr "" #: part/templates/part/part_base.html:372 -#: stock/templates/stock/item_base.html:322 +#: stock/templates/stock/item_base.html:318 msgid "Search for serial number" msgstr "" @@ -8450,7 +8447,7 @@ msgid "Edit" msgstr "" #: part/templates/part/prices.html:28 stock/admin.py:252 -#: stock/templates/stock/item_base.html:446 +#: stock/templates/stock/item_base.html:442 #: templates/js/translated/company.js:1703 #: templates/js/translated/company.js:1713 #: templates/js/translated/stock.js:2332 @@ -8605,7 +8602,7 @@ msgstr "" msgid "Part Pricing" msgstr "" -#: plugin/api.py:172 +#: plugin/api.py:174 msgid "Plugin cannot be deleted as it is currently active" msgstr "" @@ -8941,7 +8938,7 @@ msgstr "" msgid "Print a border around each label" msgstr "" -#: plugin/builtin/labels/label_sheet.py:47 report/models.py:307 +#: plugin/builtin/labels/label_sheet.py:47 report/models.py:315 msgid "Landscape" msgstr "" @@ -9013,44 +9010,44 @@ msgstr "" msgid "The Supplier which acts as 'TME'" msgstr "" -#: plugin/installer.py:194 plugin/installer.py:274 +#: plugin/installer.py:199 plugin/installer.py:282 msgid "Only staff users can administer plugins" msgstr "" -#: plugin/installer.py:197 +#: plugin/installer.py:202 msgid "Plugin installation is disabled" msgstr "" -#: plugin/installer.py:241 +#: plugin/installer.py:246 msgid "Installed plugin successfully" msgstr "" -#: plugin/installer.py:246 +#: plugin/installer.py:251 #, python-brace-format msgid "Installed plugin into {path}" msgstr "" -#: plugin/installer.py:265 +#: plugin/installer.py:273 msgid "Plugin was not found in registry" msgstr "" -#: plugin/installer.py:268 +#: plugin/installer.py:276 msgid "Plugin is not a packaged plugin" msgstr "" -#: plugin/installer.py:271 +#: plugin/installer.py:279 msgid "Plugin package name not found" msgstr "" -#: plugin/installer.py:291 +#: plugin/installer.py:299 msgid "Plugin uninstalling is disabled" msgstr "" -#: plugin/installer.py:295 +#: plugin/installer.py:303 msgid "Plugin cannot be uninstalled as it is currently active" msgstr "" -#: plugin/installer.py:308 +#: plugin/installer.py:316 msgid "Uninstalled plugin successfully" msgstr "" @@ -9099,7 +9096,7 @@ msgstr "" msgid "Package Plugin" msgstr "" -#: plugin/models.py:220 report/models.py:474 +#: plugin/models.py:220 report/models.py:482 #: templates/InvenTree/settings/plugin_settings.html:9 #: templates/js/translated/plugin.js:51 msgid "Plugin" @@ -9168,6 +9165,38 @@ msgstr "" msgid "InvenTree Contributors" msgstr "" +#: plugin/samples/integration/user_interface_sample.py:22 +msgid "Enable Part Panels" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:23 +msgid "Enable custom panels for Part views" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:28 +msgid "Enable Purchase Order Panels" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:29 +msgid "Enable custom panels for Purchase Order views" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:34 +msgid "Enable Broken Panels" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:35 +msgid "Enable broken panels for testing" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:40 +msgid "Enable Dynamic Panel" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:41 +msgid "Enable dynamic panels for testing" +msgstr "" + #: plugin/serializers.py:81 msgid "Source URL" msgstr "" @@ -9246,12 +9275,36 @@ msgstr "" msgid "Delete the plugin configuration from the database" msgstr "" +#: plugin/serializers.py:324 +msgid "Plugin Key" +msgstr "" + +#: plugin/serializers.py:328 +msgid "Panel Name" +msgstr "" + +#: plugin/serializers.py:332 +msgid "Panel Title" +msgstr "" + +#: plugin/serializers.py:337 +msgid "Panel Icon" +msgstr "" + +#: plugin/serializers.py:341 +msgid "Panel Content (HTML)" +msgstr "" + +#: plugin/serializers.py:345 +msgid "Panel Source (javascript)" +msgstr "" + #: report/api.py:88 msgid "No valid objects provided to template" msgstr "" -#: report/api.py:103 report/models.py:438 report/serializers.py:98 -#: report/serializers.py:148 templates/js/translated/purchase_order.js:1817 +#: report/api.py:103 report/models.py:446 report/serializers.py:99 +#: report/serializers.py:149 templates/js/translated/purchase_order.js:1817 #: templates/js/translated/return_order.js:353 #: templates/js/translated/sales_order.js:887 #: templates/js/translated/sales_order.js:1047 @@ -9282,7 +9335,11 @@ msgstr "" msgid "Error printing label" msgstr "" -#: report/api.py:375 report/api.py:411 +#: report/api.py:358 +msgid "Report saved at time of printing" +msgstr "" + +#: report/api.py:384 report/api.py:420 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" @@ -9319,135 +9376,143 @@ msgstr "" msgid "Revision number (auto-increments)" msgstr "" -#: report/models.py:202 +#: report/models.py:168 +msgid "Attach to Model on Print" +msgstr "" + +#: report/models.py:170 +msgid "Save report output as an attachment against linked model instance when printing" +msgstr "" + +#: report/models.py:210 msgid "Filename Pattern" msgstr "" -#: report/models.py:203 +#: report/models.py:211 msgid "Pattern for generating filenames" msgstr "" -#: report/models.py:208 +#: report/models.py:216 msgid "Template is enabled" msgstr "" -#: report/models.py:214 +#: report/models.py:222 msgid "Target model type for template" msgstr "" -#: report/models.py:234 +#: report/models.py:242 msgid "Filters" msgstr "" -#: report/models.py:235 +#: report/models.py:243 msgid "Template query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:294 report/models.py:361 +#: report/models.py:302 report/models.py:369 msgid "Template file" msgstr "" -#: report/models.py:302 +#: report/models.py:310 msgid "Page size for PDF reports" msgstr "" -#: report/models.py:308 +#: report/models.py:316 msgid "Render report in landscape orientation" msgstr "" -#: report/models.py:367 +#: report/models.py:375 msgid "Width [mm]" msgstr "" -#: report/models.py:368 +#: report/models.py:376 msgid "Label width, specified in mm" msgstr "" -#: report/models.py:374 +#: report/models.py:382 msgid "Height [mm]" msgstr "" -#: report/models.py:375 +#: report/models.py:383 msgid "Label height, specified in mm" msgstr "" -#: report/models.py:438 +#: report/models.py:446 msgid "Number of items to process" msgstr "" -#: report/models.py:444 +#: report/models.py:452 msgid "Report generation is complete" msgstr "" -#: report/models.py:448 templates/js/translated/build.js:2352 +#: report/models.py:456 templates/js/translated/build.js:2352 msgid "Progress" msgstr "" -#: report/models.py:448 +#: report/models.py:456 msgid "Report generation progress" msgstr "" -#: report/models.py:456 +#: report/models.py:464 msgid "Report Template" msgstr "" -#: report/models.py:463 report/models.py:486 +#: report/models.py:471 report/models.py:494 msgid "Output File" msgstr "" -#: report/models.py:464 report/models.py:487 +#: report/models.py:472 report/models.py:495 msgid "Generated output file" msgstr "" -#: report/models.py:475 +#: report/models.py:483 msgid "Label output plugin" msgstr "" -#: report/models.py:479 +#: report/models.py:487 msgid "Label Template" msgstr "" -#: report/models.py:502 +#: report/models.py:510 msgid "Snippet" msgstr "" -#: report/models.py:503 +#: report/models.py:511 msgid "Report snippet file" msgstr "" -#: report/models.py:510 +#: report/models.py:518 msgid "Snippet file description" msgstr "" -#: report/models.py:528 +#: report/models.py:536 msgid "Asset" msgstr "" -#: report/models.py:529 +#: report/models.py:537 msgid "Report asset file" msgstr "" -#: report/models.py:536 +#: report/models.py:544 msgid "Asset file description" msgstr "" -#: report/serializers.py:91 +#: report/serializers.py:92 msgid "Select report template" msgstr "" -#: report/serializers.py:99 report/serializers.py:149 +#: report/serializers.py:100 report/serializers.py:150 msgid "List of item primary keys to include in the report" msgstr "" -#: report/serializers.py:132 +#: report/serializers.py:133 msgid "Select label template" msgstr "" -#: report/serializers.py:140 +#: report/serializers.py:141 msgid "Printing Plugin" msgstr "" -#: report/serializers.py:141 +#: report/serializers.py:142 msgid "Select plugin to use for label printing" msgstr "" @@ -9518,7 +9583,7 @@ msgstr "" msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report.html:103 stock/models.py:2538 +#: report/templates/report/inventree_test_report.html:103 stock/models.py:2533 msgid "Result" msgstr "" @@ -9599,7 +9664,7 @@ msgid "Customer ID" msgstr "" #: stock/admin.py:206 stock/models.py:829 -#: stock/templates/stock/item_base.html:354 +#: stock/templates/stock/item_base.html:350 msgid "Installed In" msgstr "" @@ -9624,7 +9689,7 @@ msgid "Delete on Deplete" msgstr "" #: stock/admin.py:261 stock/models.py:923 -#: stock/templates/stock/item_base.html:433 +#: stock/templates/stock/item_base.html:429 #: templates/js/translated/stock.js:2316 users/models.py:124 msgid "Expiry Date" msgstr "" @@ -9666,7 +9731,7 @@ msgid "Expiry date after" msgstr "" #: stock/api.py:839 stock/serializers.py:611 -#: stock/templates/stock/item_base.html:439 +#: stock/templates/stock/item_base.html:435 #: templates/js/translated/table_filters.js:448 msgid "Stale" msgstr "" @@ -9716,7 +9781,7 @@ msgid "Stock Locations" msgstr "" #: stock/models.py:185 stock/models.py:972 -#: stock/templates/stock/item_base.html:247 +#: stock/templates/stock/item_base.html:243 msgid "Owner" msgstr "" @@ -9827,7 +9892,7 @@ msgstr "" msgid "Build for this stock item" msgstr "" -#: stock/models.py:892 stock/templates/stock/item_base.html:363 +#: stock/models.py:892 stock/templates/stock/item_base.html:359 msgid "Consumed By" msgstr "" @@ -9892,7 +9957,7 @@ msgstr "" msgid "Serial numbers already exist" msgstr "" -#: stock/models.py:1636 +#: stock/models.py:1636 stock/models.py:2436 msgid "Test template does not exist" msgstr "" @@ -9940,67 +10005,67 @@ msgstr "" msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2337 +#: stock/models.py:2335 msgid "Stock Item Tracking" msgstr "" -#: stock/models.py:2370 +#: stock/models.py:2368 msgid "Entry notes" msgstr "" -#: stock/models.py:2410 +#: stock/models.py:2408 msgid "Stock Item Test Result" msgstr "" -#: stock/models.py:2443 +#: stock/models.py:2439 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2448 +#: stock/models.py:2443 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2453 +#: stock/models.py:2448 msgid "Invalid value for this test" msgstr "" -#: stock/models.py:2538 +#: stock/models.py:2533 msgid "Test result" msgstr "" -#: stock/models.py:2545 +#: stock/models.py:2540 msgid "Test output value" msgstr "" -#: stock/models.py:2553 stock/serializers.py:245 +#: stock/models.py:2548 stock/serializers.py:245 msgid "Test result attachment" msgstr "" -#: stock/models.py:2557 +#: stock/models.py:2552 msgid "Test notes" msgstr "" -#: stock/models.py:2565 templates/js/translated/stock.js:1633 +#: stock/models.py:2560 templates/js/translated/stock.js:1633 msgid "Test station" msgstr "" -#: stock/models.py:2566 +#: stock/models.py:2561 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2572 +#: stock/models.py:2567 msgid "Started" msgstr "" -#: stock/models.py:2573 +#: stock/models.py:2568 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2579 +#: stock/models.py:2574 msgid "Finished" msgstr "" -#: stock/models.py:2580 +#: stock/models.py:2575 msgid "The timestamp of the test finish" msgstr "" @@ -10060,7 +10125,7 @@ msgstr "" msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:459 stock/templates/stock/item_base.html:193 +#: stock/serializers.py:459 stock/templates/stock/item_base.html:189 msgid "Parent Item" msgstr "" @@ -10072,7 +10137,7 @@ msgstr "" msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:603 stock/templates/stock/item_base.html:437 +#: stock/serializers.py:603 stock/templates/stock/item_base.html:433 #: templates/js/translated/table_filters.js:442 users/models.py:174 msgid "Expired" msgstr "" @@ -10411,7 +10476,7 @@ msgstr "" msgid "Test Data" msgstr "" -#: stock/templates/stock/item.html:85 stock/templates/stock/item_base.html:65 +#: stock/templates/stock/item.html:85 msgid "Test Report" msgstr "" @@ -10451,200 +10516,204 @@ msgstr "" msgid "Scan to Location" msgstr "" -#: stock/templates/stock/item_base.html:59 +#: stock/templates/stock/item_base.html:58 #: stock/templates/stock/location.html:67 #: templates/js/translated/filters.js:434 msgid "Printing actions" msgstr "" -#: stock/templates/stock/item_base.html:75 +#: stock/templates/stock/item_base.html:63 templates/js/translated/report.js:49 +msgid "Print Report" +msgstr "" + +#: stock/templates/stock/item_base.html:71 msgid "Stock adjustment actions" msgstr "" -#: stock/templates/stock/item_base.html:79 +#: stock/templates/stock/item_base.html:75 #: stock/templates/stock/location.html:87 templates/js/translated/stock.js:1909 msgid "Count stock" msgstr "" -#: stock/templates/stock/item_base.html:81 +#: stock/templates/stock/item_base.html:77 #: templates/js/translated/stock.js:1891 msgid "Add stock" msgstr "" -#: stock/templates/stock/item_base.html:82 +#: stock/templates/stock/item_base.html:78 #: templates/js/translated/stock.js:1900 msgid "Remove stock" msgstr "" -#: stock/templates/stock/item_base.html:85 +#: stock/templates/stock/item_base.html:81 msgid "Serialize stock" msgstr "" -#: stock/templates/stock/item_base.html:88 +#: stock/templates/stock/item_base.html:84 #: stock/templates/stock/location.html:93 templates/js/translated/stock.js:1918 msgid "Transfer stock" msgstr "" -#: stock/templates/stock/item_base.html:91 +#: stock/templates/stock/item_base.html:87 #: templates/js/translated/stock.js:1973 msgid "Assign to customer" msgstr "" -#: stock/templates/stock/item_base.html:94 +#: stock/templates/stock/item_base.html:90 msgid "Return to stock" msgstr "" -#: stock/templates/stock/item_base.html:97 +#: stock/templates/stock/item_base.html:93 msgid "Uninstall stock item" msgstr "" -#: stock/templates/stock/item_base.html:97 +#: stock/templates/stock/item_base.html:93 msgid "Uninstall" msgstr "" -#: stock/templates/stock/item_base.html:101 +#: stock/templates/stock/item_base.html:97 msgid "Install stock item" msgstr "" -#: stock/templates/stock/item_base.html:101 +#: stock/templates/stock/item_base.html:97 msgid "Install" msgstr "" -#: stock/templates/stock/item_base.html:115 +#: stock/templates/stock/item_base.html:111 msgid "Convert to variant" msgstr "" -#: stock/templates/stock/item_base.html:118 +#: stock/templates/stock/item_base.html:114 msgid "Duplicate stock item" msgstr "" -#: stock/templates/stock/item_base.html:120 +#: stock/templates/stock/item_base.html:116 msgid "Edit stock item" msgstr "" -#: stock/templates/stock/item_base.html:123 +#: stock/templates/stock/item_base.html:119 msgid "Delete stock item" msgstr "" -#: stock/templates/stock/item_base.html:169 templates/InvenTree/search.html:139 +#: stock/templates/stock/item_base.html:165 templates/InvenTree/search.html:139 #: templates/js/translated/build.js:2298 templates/navbar.html:38 msgid "Build" msgstr "" -#: stock/templates/stock/item_base.html:211 +#: stock/templates/stock/item_base.html:207 msgid "No manufacturer set" msgstr "" -#: stock/templates/stock/item_base.html:251 +#: stock/templates/stock/item_base.html:247 msgid "You are not in the list of owners of this item. This stock item cannot be edited." msgstr "" -#: stock/templates/stock/item_base.html:252 +#: stock/templates/stock/item_base.html:248 #: stock/templates/stock/location.html:146 msgid "Read only" msgstr "" -#: stock/templates/stock/item_base.html:265 +#: stock/templates/stock/item_base.html:261 msgid "This stock item is unavailable" msgstr "" -#: stock/templates/stock/item_base.html:271 +#: stock/templates/stock/item_base.html:267 msgid "This stock item is in production and cannot be edited." msgstr "" -#: stock/templates/stock/item_base.html:272 +#: stock/templates/stock/item_base.html:268 msgid "Edit the stock item from the build view." msgstr "" -#: stock/templates/stock/item_base.html:287 +#: stock/templates/stock/item_base.html:283 msgid "This stock item is allocated to Sales Order" msgstr "" -#: stock/templates/stock/item_base.html:295 +#: stock/templates/stock/item_base.html:291 msgid "This stock item is allocated to Build Order" msgstr "" -#: stock/templates/stock/item_base.html:311 +#: stock/templates/stock/item_base.html:307 msgid "This stock item is serialized. It has a unique serial number and the quantity cannot be adjusted" msgstr "" -#: stock/templates/stock/item_base.html:317 +#: stock/templates/stock/item_base.html:313 msgid "previous page" msgstr "" -#: stock/templates/stock/item_base.html:317 +#: stock/templates/stock/item_base.html:313 msgid "Navigate to previous serial number" msgstr "" -#: stock/templates/stock/item_base.html:326 +#: stock/templates/stock/item_base.html:322 msgid "next page" msgstr "" -#: stock/templates/stock/item_base.html:326 +#: stock/templates/stock/item_base.html:322 msgid "Navigate to next serial number" msgstr "" -#: stock/templates/stock/item_base.html:398 +#: stock/templates/stock/item_base.html:394 #: templates/js/translated/build.js:2555 msgid "No location set" msgstr "" -#: stock/templates/stock/item_base.html:413 +#: stock/templates/stock/item_base.html:409 msgid "Tests" msgstr "" -#: stock/templates/stock/item_base.html:419 +#: stock/templates/stock/item_base.html:415 msgid "This stock item has not passed all required tests" msgstr "" -#: stock/templates/stock/item_base.html:437 +#: stock/templates/stock/item_base.html:433 #, python-format msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:439 +#: stock/templates/stock/item_base.html:435 #, python-format msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:455 +#: stock/templates/stock/item_base.html:451 msgid "No stocktake performed" msgstr "" -#: stock/templates/stock/item_base.html:504 +#: stock/templates/stock/item_base.html:500 #: templates/js/translated/stock.js:2038 msgid "stock item" msgstr "" -#: stock/templates/stock/item_base.html:527 +#: stock/templates/stock/item_base.html:523 msgid "Edit Stock Status" msgstr "" -#: stock/templates/stock/item_base.html:536 +#: stock/templates/stock/item_base.html:532 msgid "Stock Item QR Code" msgstr "" -#: stock/templates/stock/item_base.html:547 +#: stock/templates/stock/item_base.html:543 msgid "Link Barcode to Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:611 +#: stock/templates/stock/item_base.html:607 msgid "Select one of the part variants listed below." msgstr "" -#: stock/templates/stock/item_base.html:614 +#: stock/templates/stock/item_base.html:610 msgid "Warning" msgstr "" -#: stock/templates/stock/item_base.html:615 +#: stock/templates/stock/item_base.html:611 msgid "This action cannot be easily undone" msgstr "" -#: stock/templates/stock/item_base.html:623 +#: stock/templates/stock/item_base.html:619 msgid "Convert Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:656 +#: stock/templates/stock/item_base.html:652 msgid "Return to Stock" msgstr "" @@ -11311,7 +11380,7 @@ msgid "Delete Location Type" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:503 -#: templates/InvenTree/settings/stock.html:38 +#: templates/InvenTree/settings/stock.html:39 msgid "New Location Type" msgstr "" @@ -11368,7 +11437,7 @@ msgstr "" msgid "Stock Settings" msgstr "" -#: templates/InvenTree/settings/stock.html:34 +#: templates/InvenTree/settings/stock.html:35 msgid "Stock Location Types" msgstr "" @@ -11853,23 +11922,23 @@ msgstr "" msgid "Barcode Identifier" msgstr "" -#: templates/base.html:103 +#: templates/base.html:102 msgid "Server Restart Required" msgstr "" -#: templates/base.html:106 +#: templates/base.html:105 msgid "A configuration option has been changed which requires a server restart" msgstr "" -#: templates/base.html:106 templates/base.html:116 +#: templates/base.html:105 templates/base.html:115 msgid "Contact your system administrator for further information" msgstr "" -#: templates/base.html:113 +#: templates/base.html:112 msgid "Pending Database Migrations" msgstr "" -#: templates/base.html:116 +#: templates/base.html:115 msgid "There are pending database migrations which require attention" msgstr "" @@ -13947,10 +14016,6 @@ msgstr "" msgid "Delete line item" msgstr "" -#: templates/js/translated/report.js:49 -msgid "Print Report" -msgstr "" - #: templates/js/translated/report.js:68 msgid "Report print successful" msgstr "" diff --git a/src/backend/InvenTree/locale/es/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/es/LC_MESSAGES/django.po index fbe8db7f21e3..10129b40b83d 100644 --- a/src/backend/InvenTree/locale/es/LC_MESSAGES/django.po +++ b/src/backend/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: 2024-08-29 07:07+0000\n" -"PO-Revision-Date: 2024-08-29 07:10\n" +"POT-Creation-Date: 2024-09-16 00:37+0000\n" +"PO-Revision-Date: 2024-09-16 00:40\n" "Last-Translator: \n" "Language-Team: Spanish\n" "Language: es_ES\n" @@ -28,7 +28,7 @@ msgstr "El usuario no tiene permiso para ver este modelo" #: InvenTree/conversion.py:161 #, python-brace-format msgid "Invalid unit provided ({unit})" -msgstr "" +msgstr "Unidad proporcionada no válida ({unit})" #: InvenTree/conversion.py:178 msgid "No value provided" @@ -65,9 +65,9 @@ msgstr "Ingrese la fecha" #: 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:59 -#: part/models.py:3309 part/templates/part/part_sidebar.html:65 +#: part/models.py:3296 part/templates/part/part_sidebar.html:65 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/admin.py:231 stock/models.py:2369 stock/models.py:2557 +#: stock/admin.py:231 stock/models.py:2367 stock/models.py:2552 #: stock/serializers.py:705 stock/serializers.py:863 stock/serializers.py:989 #: stock/serializers.py:1039 stock/serializers.py:1350 #: stock/serializers.py:1439 stock/serializers.py:1604 @@ -126,7 +126,7 @@ msgstr "Debe escribir el mismo correo electrónico cada vez." #: InvenTree/forms.py:221 msgid "MFA Registration is disabled." -msgstr "" +msgstr "Registro MFA está deshabilitado." #: InvenTree/forms.py:259 InvenTree/forms.py:267 msgid "The provided primary email address is not valid." @@ -213,7 +213,7 @@ msgstr "La URL proporcionada no es un archivo de imagen válido" #: InvenTree/locales.py:18 msgid "Arabic" -msgstr "" +msgstr "Árabe" #: InvenTree/locales.py:19 msgid "Bulgarian" @@ -249,7 +249,7 @@ msgstr "Español (México)" #: InvenTree/locales.py:27 msgid "Estonian" -msgstr "" +msgstr "Estoniano" #: InvenTree/locales.py:28 msgid "Farsi / Persian" @@ -269,7 +269,7 @@ msgstr "Hebreo" #: InvenTree/locales.py:32 msgid "Hindi" -msgstr "" +msgstr "Hindú" #: InvenTree/locales.py:33 msgid "Hungarian" @@ -289,7 +289,7 @@ msgstr "Coreano" #: InvenTree/locales.py:37 msgid "Latvian" -msgstr "" +msgstr "Latvian" #: InvenTree/locales.py:38 msgid "Dutch" @@ -313,7 +313,7 @@ msgstr "Portugués (Brasileño)" #: InvenTree/locales.py:43 msgid "Romanian" -msgstr "" +msgstr "Rumano" #: InvenTree/locales.py:44 msgid "Russian" @@ -345,7 +345,7 @@ msgstr "Turco" #: InvenTree/locales.py:51 msgid "Ukrainian" -msgstr "" +msgstr "Ucraniano" #: InvenTree/locales.py:52 msgid "Vietnamese" @@ -362,9 +362,9 @@ msgstr "Chino (Tradicional)" #: InvenTree/magic_login.py:28 #, python-brace-format msgid "[{site_name}] Log in to the app" -msgstr "" +msgstr "[{site_name}] Iniciar sesión en la aplicación" -#: InvenTree/magic_login.py:38 InvenTree/serializers.py:413 +#: InvenTree/magic_login.py:38 InvenTree/serializers.py:416 #: company/models.py:133 company/templates/company/company_base.html:138 #: templates/InvenTree/settings/user.html:49 #: templates/js/translated/company.js:677 @@ -419,9 +419,9 @@ msgstr "Los nombres duplicados no pueden existir bajo el mismo padre" msgid "Invalid choice" msgstr "Selección no válida" -#: InvenTree/models.py:767 common/models.py:2704 common/models.py:3131 -#: common/models.py:3351 common/serializers.py:439 company/models.py:590 -#: machine/models.py:24 part/models.py:995 part/models.py:3776 +#: InvenTree/models.py:767 common/models.py:2705 common/models.py:3132 +#: common/models.py:3352 common/serializers.py:455 company/models.py:590 +#: machine/models.py:24 part/models.py:995 part/models.py:3763 #: plugin/models.py:51 report/models.py:149 stock/models.py:82 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -446,10 +446,10 @@ msgstr "Nombre" #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 order/models.py:289 #: order/models.py:1406 part/admin.py:305 part/admin.py:411 part/models.py:1018 -#: part/models.py:3791 part/templates/part/category.html:79 +#: part/models.py:3778 part/templates/part/category.html:79 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:155 -#: report/models.py:509 report/models.py:535 +#: report/models.py:517 report/models.py:543 #: report/templates/report/inventree_build_order_report.html:117 #: stock/admin.py:54 stock/models.py:88 stock/templates/stock/location.html:122 #: templates/InvenTree/settings/notifications.html:19 @@ -517,12 +517,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:63 part/models.py:4400 +#: InvenTree/serializers.py:63 part/models.py:4387 msgid "Must be a valid number" msgstr "Debe ser un número válido" #: InvenTree/serializers.py:100 company/models.py:183 -#: company/templates/company/company_base.html:112 part/models.py:3127 +#: company/templates/company/company_base.html:112 part/models.py:3114 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -536,43 +536,43 @@ msgstr "Seleccionar moneda de las opciones disponibles" msgid "Username" msgstr "Nombre de usuario" -#: InvenTree/serializers.py:407 templates/InvenTree/settings/user.html:37 +#: InvenTree/serializers.py:408 templates/InvenTree/settings/user.html:37 msgid "First Name" msgstr "Nombre" -#: InvenTree/serializers.py:407 +#: InvenTree/serializers.py:408 msgid "First name of the user" -msgstr "" +msgstr "Nombre del usuario" -#: InvenTree/serializers.py:410 templates/InvenTree/settings/user.html:41 +#: InvenTree/serializers.py:412 templates/InvenTree/settings/user.html:41 msgid "Last Name" msgstr "Apellido" -#: InvenTree/serializers.py:410 +#: InvenTree/serializers.py:412 msgid "Last name of the user" -msgstr "" +msgstr "Apellido del usuario" -#: InvenTree/serializers.py:413 +#: InvenTree/serializers.py:416 msgid "Email address of the user" -msgstr "" +msgstr "Dirección de correo del usuario" -#: InvenTree/serializers.py:438 +#: InvenTree/serializers.py:441 msgid "Staff" -msgstr "" +msgstr "Personal" -#: InvenTree/serializers.py:438 +#: InvenTree/serializers.py:441 msgid "Does this user have staff permissions" -msgstr "" +msgstr "Tiene este usuario permisos de personal" -#: InvenTree/serializers.py:441 +#: InvenTree/serializers.py:445 msgid "Superuser" -msgstr "" +msgstr "Superusuario" -#: InvenTree/serializers.py:441 +#: InvenTree/serializers.py:445 msgid "Is this user a superuser" -msgstr "" +msgstr "Es este usuario un superusuario" -#: InvenTree/serializers.py:444 common/models.py:2709 company/models.py:160 +#: InvenTree/serializers.py:449 common/models.py:2710 company/models.py:160 #: company/models.py:798 machine/models.py:39 part/admin.py:88 #: part/models.py:1201 plugin/models.py:66 #: templates/js/translated/company.js:523 @@ -585,89 +585,89 @@ msgstr "" msgid "Active" msgstr "Activo" -#: InvenTree/serializers.py:444 +#: InvenTree/serializers.py:449 msgid "Is this user account active" -msgstr "" +msgstr "Esta cuenta de usuario está activa" -#: InvenTree/serializers.py:462 +#: InvenTree/serializers.py:467 msgid "You do not have permission to change this user role." msgstr "No tiene permiso para cambiar este rol de usuario." -#: InvenTree/serializers.py:474 +#: InvenTree/serializers.py:503 msgid "Only superusers can create new users" msgstr "Solo los superusuarios pueden crear nuevos usuarios" -#: InvenTree/serializers.py:493 +#: InvenTree/serializers.py:522 msgid "Your account has been created." msgstr "Su cuenta ha sido creada." -#: InvenTree/serializers.py:495 +#: InvenTree/serializers.py:524 msgid "Please use the password reset function to login" -msgstr "" +msgstr "Por favor, utilice la función de restablecer la contraseña para iniciar sesión" -#: InvenTree/serializers.py:502 +#: InvenTree/serializers.py:531 msgid "Welcome to InvenTree" msgstr "Bienvenido a InvenTree" -#: InvenTree/serializers.py:560 +#: InvenTree/serializers.py:589 msgid "Invalid value" msgstr "Valor inválido" -#: InvenTree/serializers.py:580 importer/models.py:64 +#: InvenTree/serializers.py:609 importer/models.py:64 msgid "Data File" msgstr "Archivo de datos" -#: InvenTree/serializers.py:581 +#: InvenTree/serializers.py:610 msgid "Select data file for upload" msgstr "Seleccione el archivo para subir" -#: InvenTree/serializers.py:598 +#: InvenTree/serializers.py:627 msgid "Unsupported file type" msgstr "Tipo de archivo no soportado" -#: InvenTree/serializers.py:604 +#: InvenTree/serializers.py:633 msgid "File is too large" msgstr "El archivo es demasiado grande" -#: InvenTree/serializers.py:625 +#: InvenTree/serializers.py:654 msgid "No columns found in file" msgstr "No hay columnas en el archivo" -#: InvenTree/serializers.py:628 +#: InvenTree/serializers.py:657 msgid "No data rows found in file" msgstr "No hay filas de datos en el archivo" -#: InvenTree/serializers.py:740 +#: InvenTree/serializers.py:769 msgid "No data rows provided" msgstr "No se proporcionaron filas de datos" -#: InvenTree/serializers.py:743 +#: InvenTree/serializers.py:772 msgid "No data columns supplied" msgstr "No hay columnas de datos proporcionadas" -#: InvenTree/serializers.py:809 +#: InvenTree/serializers.py:838 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "Falta la columna requerida: '{name}'" -#: InvenTree/serializers.py:818 +#: InvenTree/serializers.py:847 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "Columna duplicada: '{col}'" -#: InvenTree/serializers.py:857 +#: InvenTree/serializers.py:886 msgid "Remote Image" msgstr "Imagen remota" -#: InvenTree/serializers.py:858 +#: InvenTree/serializers.py:887 msgid "URL of remote image file" msgstr "URL de imagen remota" -#: InvenTree/serializers.py:876 +#: InvenTree/serializers.py:905 msgid "Downloading images from remote URL is not enabled" msgstr "La descarga de imágenes desde la URL remota no está habilitada" -#: InvenTree/status.py:65 part/serializers.py:1267 +#: InvenTree/status.py:65 part/serializers.py:1265 msgid "Background worker check failed" msgstr "Falló la comprobación en segundo plano del worker" @@ -742,7 +742,7 @@ msgstr "" #: templates/js/translated/table_filters.js:633 #: templates/js/translated/table_filters.js:674 msgid "Assigned to me" -msgstr "" +msgstr "Asignado a mí" #: build/api.py:95 build/templates/build/build_base.html:205 #: build/templates/build/detail.html:115 @@ -753,13 +753,13 @@ msgstr "Emitido por" #: build/api.py:114 msgid "Assigned To" -msgstr "" +msgstr "Asignadas a" #: build/api.py:275 msgid "Build must be cancelled before it can be deleted" msgstr "La compilación debe cancelarse antes de poder ser eliminada" -#: build/api.py:319 build/serializers.py:1332 part/models.py:4278 +#: build/api.py:319 build/serializers.py:1332 part/models.py:4265 #: templates/js/translated/bom.js:997 templates/js/translated/bom.js:1037 #: templates/js/translated/build.js:2705 #: templates/js/translated/table_filters.js:197 @@ -767,7 +767,7 @@ msgstr "La compilación debe cancelarse antes de poder ser eliminada" msgid "Consumable" msgstr "Consumible" -#: build/api.py:320 build/serializers.py:1333 part/models.py:4272 +#: build/api.py:320 build/serializers.py:1333 part/models.py:4259 #: part/templates/part/upload_bom.html:58 templates/js/translated/bom.js:1001 #: templates/js/translated/bom.js:1028 templates/js/translated/build.js:2696 #: templates/js/translated/table_filters.js:193 @@ -777,7 +777,7 @@ msgid "Optional" msgstr "Opcional" #: build/api.py:321 common/models.py:1491 part/admin.py:91 part/admin.py:428 -#: part/models.py:1166 part/serializers.py:1596 +#: part/models.py:1166 part/serializers.py:1594 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:337 #: templates/js/translated/table_filters.js:729 @@ -816,7 +816,7 @@ msgstr "Asignadas" msgid "Available" msgstr "Disponible" -#: build/models.py:87 build/templates/build/build_base.html:9 +#: build/models.py:88 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_report.html:105 #: stock/serializers.py:85 templates/email/build_order_completed.html:16 @@ -825,7 +825,7 @@ msgstr "Disponible" msgid "Build Order" msgstr "Construir órden" -#: build/models.py:88 build/templates/build/build_base.html:13 +#: build/models.py:89 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:111 #: order/templates/order/so_sidebar.html:13 @@ -838,15 +838,15 @@ msgstr "Construir órdenes" #: build/models.py:136 msgid "Assembly BOM has not been validated" -msgstr "" +msgstr "BOM de ensamblado no ha sido validado" #: build/models.py:143 msgid "Build order cannot be created for an inactive part" -msgstr "" +msgstr "La orden de construcción no puede ser creado para una parte inactiva" #: build/models.py:150 msgid "Build order cannot be created for an unlocked part" -msgstr "" +msgstr "La orden de construcción no puede ser creada para una parte desbloqueada" #: build/models.py:164 msgid "Invalid choice for parent build" @@ -866,7 +866,7 @@ msgstr "Número de orden de construcción o armado" #: build/models.py:243 build/serializers.py:1331 order/models.py:468 #: order/models.py:979 order/models.py:1366 order/models.py:2128 -#: part/admin.py:414 part/models.py:4293 part/templates/part/upload_bom.html:54 +#: part/admin.py:414 part/models.py:4280 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 @@ -892,11 +892,11 @@ msgstr "Orden de Construcción o Armado a la que se asigna" #: build/templates/build/build_base.html:105 #: build/templates/build/detail.html:29 company/models.py:1043 order/api.py:761 #: order/models.py:1496 order/models.py:1651 order/models.py:1652 -#: part/api.py:1506 part/api.py:1806 part/models.py:419 part/models.py:3138 -#: part/models.py:3282 part/models.py:3430 part/models.py:3451 -#: part/models.py:3473 part/models.py:3609 part/models.py:3951 -#: part/models.py:4114 part/models.py:4244 part/models.py:4602 -#: part/serializers.py:1213 part/serializers.py:1857 +#: part/api.py:1506 part/api.py:1806 part/models.py:419 part/models.py:3125 +#: part/models.py:3269 part/models.py:3417 part/models.py:3438 +#: part/models.py:3460 part/models.py:3596 part/models.py:3938 +#: part/models.py:4101 part/models.py:4231 part/models.py:4595 +#: part/serializers.py:1211 part/serializers.py:1855 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -1063,12 +1063,12 @@ msgstr "Usuario o grupo responsable de esta orden de construcción" #: order/templates/order/return_order_base.html:148 #: order/templates/order/sales_order_base.html:187 #: part/templates/part/part_base.html:399 stock/models.py:859 -#: stock/templates/stock/item_base.html:200 +#: stock/templates/stock/item_base.html:196 #: templates/js/translated/company.js:1019 msgid "External Link" msgstr "Link externo" -#: build/models.py:378 common/models.py:3272 part/models.py:1070 +#: build/models.py:378 common/models.py:3273 part/models.py:1070 #: stock/models.py:859 msgid "Link to external URL" msgstr "Enlace a URL externa" @@ -1099,7 +1099,7 @@ msgstr "Código de proyecto para esta orden de ensamble" #: build/models.py:652 build/models.py:779 msgid "Failed to offload task to complete build allocations" -msgstr "" +msgstr "No se pudo descargar la tarea para completar las asignaciones de construcción" #: build/models.py:674 #, python-brace-format @@ -1110,7 +1110,7 @@ msgstr "El pedido {build} ha sido procesado" msgid "A build order has been completed" msgstr "Pedido #[order] ha sido procesado" -#: build/models.py:968 build/models.py:1056 +#: build/models.py:968 build/models.py:1057 msgid "No build output specified" msgstr "No se ha especificado salida de construcción" @@ -1122,37 +1122,37 @@ msgstr "La construcción de la salida ya está completa" 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:1060 build/serializers.py:279 build/serializers.py:328 +#: build/models.py:1061 build/serializers.py:279 build/serializers.py:328 #: build/serializers.py:959 order/models.py:565 order/serializers.py:500 -#: order/serializers.py:666 part/serializers.py:1590 part/serializers.py:2019 +#: order/serializers.py:666 part/serializers.py:1588 part/serializers.py:2017 #: stock/models.py:704 stock/models.py:1515 stock/serializers.py:676 msgid "Quantity must be greater than zero" msgstr "La cantidad debe ser mayor que cero" -#: build/models.py:1065 build/serializers.py:284 +#: build/models.py:1066 build/serializers.py:284 msgid "Quantity cannot be greater than the output quantity" msgstr "La cantidad no puede ser mayor que la cantidad de salida" -#: build/models.py:1125 build/serializers.py:607 +#: build/models.py:1126 build/serializers.py:607 #, python-brace-format msgid "Build output {serial} has not passed all required tests" -msgstr "" +msgstr "La construcción {serial} no ha pasado todas las pruebas requeridas" -#: build/models.py:1466 +#: build/models.py:1477 msgid "Build Order Line Item" -msgstr "" +msgstr "Construir línea de pedido" -#: build/models.py:1491 +#: build/models.py:1502 msgid "Build object" msgstr "Ensamblar equipo" -#: build/models.py:1505 build/models.py:1761 build/serializers.py:266 +#: build/models.py:1516 build/models.py:1775 build/serializers.py:266 #: build/serializers.py:313 build/serializers.py:1339 #: build/templates/build/build_base.html:110 -#: build/templates/build/detail.html:34 common/models.py:2581 +#: build/templates/build/detail.html:34 common/models.py:2582 #: order/models.py:1349 order/models.py:2034 order/serializers.py:1464 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:413 -#: part/forms.py:48 part/models.py:3296 part/models.py:4266 +#: part/forms.py:48 part/models.py:3283 part/models.py:4253 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1163,9 +1163,9 @@ msgstr "Ensamblar equipo" #: report/templates/report/inventree_test_report.html:90 #: report/templates/report/inventree_test_report.html:169 stock/admin.py:160 #: stock/serializers.py:128 stock/serializers.py:168 stock/serializers.py:667 -#: stock/templates/stock/item_base.html:287 -#: stock/templates/stock/item_base.html:295 -#: stock/templates/stock/item_base.html:342 +#: stock/templates/stock/item_base.html:283 +#: stock/templates/stock/item_base.html:291 +#: stock/templates/stock/item_base.html:338 #: templates/email/build_order_completed.html:18 #: templates/js/translated/barcode.js:579 templates/js/translated/bom.js:771 #: templates/js/translated/bom.js:981 templates/js/translated/build.js:525 @@ -1194,41 +1194,41 @@ msgstr "Ensamblar equipo" msgid "Quantity" msgstr "Cantidad" -#: build/models.py:1506 +#: build/models.py:1517 msgid "Required quantity for build order" msgstr "Cantidad requerida para orden de ensamble" -#: build/models.py:1586 +#: build/models.py:1597 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:1595 +#: build/models.py:1606 #, 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:1605 order/models.py:1985 +#: build/models.py:1616 order/models.py:1985 msgid "Stock item is over-allocated" msgstr "Artículo de stock sobreasignado" -#: build/models.py:1611 order/models.py:1988 +#: build/models.py:1622 order/models.py:1988 msgid "Allocation quantity must be greater than zero" msgstr "Cantidad asignada debe ser mayor que cero" -#: build/models.py:1617 +#: build/models.py:1628 msgid "Quantity must be 1 for serialized stock" msgstr "La cantidad debe ser 1 para el stock serializado" -#: build/models.py:1676 +#: build/models.py:1687 msgid "Selected stock item does not match BOM line" msgstr "El artículo de almacén selelccionado no coincide con la línea BOM" -#: build/models.py:1748 build/serializers.py:939 order/serializers.py:1301 +#: build/models.py:1762 build/serializers.py:939 order/serializers.py:1301 #: order/serializers.py:1322 stock/models.py:381 stock/serializers.py:94 #: stock/serializers.py:770 stock/serializers.py:1288 stock/serializers.py:1400 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 -#: stock/templates/stock/item_base.html:194 +#: stock/templates/stock/item_base.html:190 #: templates/js/translated/build.js:1921 #: templates/js/translated/sales_order.js:301 #: templates/js/translated/sales_order.js:1234 @@ -1241,43 +1241,43 @@ msgstr "El artículo de almacén selelccionado no coincide con la línea BOM" msgid "Stock Item" msgstr "Artículo de stock" -#: build/models.py:1749 +#: build/models.py:1763 msgid "Source stock item" msgstr "Producto original de stock" -#: build/models.py:1762 +#: build/models.py:1776 msgid "Stock quantity to allocate to build" msgstr "Cantidad de stock a asignar para construir" -#: build/models.py:1770 +#: build/models.py:1784 msgid "Install into" msgstr "Instalar en" -#: build/models.py:1771 +#: build/models.py:1785 msgid "Destination stock item" msgstr "Artículo de stock de destino" #: build/serializers.py:107 msgid "Build Level" -msgstr "" +msgstr "Nivel de construcción" #: build/serializers.py:115 build/serializers.py:1234 build/serializers.py:1323 -#: part/admin.py:41 part/admin.py:408 part/models.py:4116 part/stocktake.py:219 +#: part/admin.py:41 part/admin.py:408 part/models.py:4103 part/stocktake.py:219 #: stock/admin.py:157 msgid "Part Name" msgstr "Nombre de parte" #: build/serializers.py:127 msgid "Project Code Label" -msgstr "" +msgstr "Etiqueta del código del proyecto" #: build/serializers.py:133 msgid "Create Child Builds" -msgstr "" +msgstr "Crear construcciones hijas" #: build/serializers.py:134 msgid "Automatically generate child build orders" -msgstr "" +msgstr "Generar automáticamente órdenes de construcción hijas" #: build/serializers.py:216 build/serializers.py:968 #: templates/js/translated/build.js:1045 templates/js/translated/build.js:1498 @@ -1323,10 +1323,10 @@ msgid "Enter serial numbers for build outputs" msgstr "Introduzca los números de serie de salidas de construcción" #: build/serializers.py:359 build/serializers.py:500 build/serializers.py:572 -#: order/serializers.py:655 order/serializers.py:778 order/serializers.py:1789 -#: part/serializers.py:1233 stock/serializers.py:103 stock/serializers.py:698 +#: order/serializers.py:655 order/serializers.py:778 order/serializers.py:1797 +#: part/serializers.py:1231 stock/serializers.py:103 stock/serializers.py:698 #: stock/serializers.py:858 stock/serializers.py:984 stock/serializers.py:1432 -#: stock/serializers.py:1688 stock/templates/stock/item_base.html:394 +#: stock/serializers.py:1688 stock/templates/stock/item_base.html:390 #: templates/js/translated/barcode.js:578 #: templates/js/translated/barcode.js:826 templates/js/translated/build.js:1035 #: templates/js/translated/build.js:1177 templates/js/translated/build.js:2547 @@ -1344,7 +1344,7 @@ msgstr "Ubicación" #: build/serializers.py:360 msgid "Stock location for build output" -msgstr "" +msgstr "Ubicación de stock para objetos construidos" #: build/serializers.py:374 msgid "Auto Allocate Serial Numbers" @@ -1356,7 +1356,7 @@ msgstr "Asignar automáticamente los artículos requeridos con números de serie #: build/serializers.py:390 msgid "Serial numbers must be provided for trackable parts" -msgstr "" +msgstr "Los números de serie deben ser proporcionados para las partes rastreables" #: build/serializers.py:415 stock/api.py:1024 msgid "The following serial numbers already exist or are invalid" @@ -1390,7 +1390,7 @@ msgstr "Ubicación para las salidas de construcción completadas" #: build/templates/build/detail.html:62 order/models.py:477 #: order/models.py:1003 order/models.py:2152 order/serializers.py:687 #: stock/admin.py:165 stock/serializers.py:1035 stock/serializers.py:1576 -#: stock/templates/stock/item_base.html:427 +#: stock/templates/stock/item_base.html:423 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2366 #: templates/js/translated/purchase_order.js:1371 #: templates/js/translated/purchase_order.js:1792 @@ -1411,11 +1411,11 @@ msgstr "Completar salidas si el inventario no se ha asignado completamente" #: build/serializers.py:698 msgid "Consume Allocated Stock" -msgstr "" +msgstr "Consumir Stock Asignado" #: build/serializers.py:699 msgid "Consume any stock which has already been allocated to this build" -msgstr "" +msgstr "Consume cualquier stock que ya ha sido asignado a esta construcción" #: build/serializers.py:705 msgid "Remove Incomplete Outputs" @@ -1475,11 +1475,11 @@ msgstr "La cantidad de construcción requerida aún no se ha completado" #: build/serializers.py:818 msgid "Build order has open child build orders" -msgstr "" +msgstr "La orden de construcción tiene órdenes hijas de construcción abiertas" #: build/serializers.py:821 msgid "Build order must be in production state" -msgstr "" +msgstr "Orden de construcción debe estar en estado de producción" #: build/serializers.py:824 templates/js/translated/build.js:307 msgid "Build order has incomplete outputs" @@ -1522,7 +1522,7 @@ msgstr "La salida de la construcción debe especificarse para la asignación de 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:1030 order/serializers.py:1614 +#: build/serializers.py:1030 order/serializers.py:1622 msgid "Allocation items must be provided" msgstr "Debe proporcionarse la adjudicación de artículos" @@ -1564,11 +1564,11 @@ msgstr "Asignar artículos de la BOM opcionales para construir la orden" #: build/serializers.py:1142 msgid "Failed to start auto-allocation task" -msgstr "" +msgstr "Error al iniciar la tarea de asignación automática" #: build/serializers.py:1225 msgid "Supplier Part Number" -msgstr "" +msgstr "Número de pieza del proveedor" #: build/serializers.py:1226 company/models.py:503 msgid "Manufacturer Part Number" @@ -1581,16 +1581,16 @@ msgstr "Nombre de localización" #: build/serializers.py:1228 msgid "Build Reference" -msgstr "" +msgstr "Referencia de orden de Ensamblado" #: build/serializers.py:1229 msgid "BOM Reference" -msgstr "" +msgstr "Referencia BOM" #: build/serializers.py:1230 company/models.py:849 #: company/templates/company/supplier_part.html:160 order/serializers.py:691 #: stock/admin.py:229 stock/models.py:822 stock/serializers.py:1586 -#: stock/templates/stock/item_base.html:240 +#: stock/templates/stock/item_base.html:236 #: templates/js/translated/company.js:1646 #: templates/js/translated/purchase_order.js:1169 #: templates/js/translated/purchase_order.js:1332 @@ -1600,12 +1600,12 @@ msgid "Packaging" msgstr "Paquetes" #: build/serializers.py:1233 part/admin.py:39 part/admin.py:398 -#: part/models.py:4115 part/stocktake.py:218 stock/admin.py:153 +#: part/models.py:4102 part/stocktake.py:218 stock/admin.py:153 msgid "Part ID" msgstr "ID de Parte" #: build/serializers.py:1235 build/serializers.py:1324 part/admin.py:402 -#: part/models.py:4117 +#: part/models.py:4104 msgid "Part IPN" msgstr "IPN de la parte" @@ -1616,16 +1616,16 @@ msgstr "Descripción de parte" #: build/serializers.py:1239 msgid "BOM Part ID" -msgstr "" +msgstr "ID de la parte BOM" #: build/serializers.py:1240 msgid "BOM Part Name" -msgstr "" +msgstr "Nombre de parte la BOM" #: build/serializers.py:1243 #: report/templates/report/inventree_return_order_report.html:25 #: report/templates/report/inventree_test_report.html:88 stock/models.py:849 -#: stock/serializers.py:152 stock/templates/stock/item_base.html:311 +#: stock/serializers.py:152 stock/templates/stock/item_base.html:307 #: templates/js/translated/build.js:523 templates/js/translated/build.js:1543 #: templates/js/translated/build.js:2530 #: templates/js/translated/model_renderers.js:231 @@ -1642,19 +1642,19 @@ msgstr "Número de serie" #: templates/js/translated/build.js:1020 templates/js/translated/build.js:1167 #: templates/js/translated/build.js:2519 msgid "Allocated Quantity" -msgstr "" +msgstr "Cantidad Asignada" -#: build/serializers.py:1257 stock/templates/stock/item_base.html:340 +#: build/serializers.py:1257 stock/templates/stock/item_base.html:336 msgid "Available Quantity" msgstr "Cantidad disponible" #: build/serializers.py:1327 msgid "Part Category ID" -msgstr "" +msgstr "ID de la categoría por pieza" #: build/serializers.py:1328 msgid "Part Category Name" -msgstr "" +msgstr "Nombre de la categoría por pieza" #: build/serializers.py:1335 common/models.py:1515 part/admin.py:113 #: part/models.py:1178 templates/js/translated/table_filters.js:150 @@ -1665,15 +1665,15 @@ msgstr "Rastreable" #: build/serializers.py:1336 msgid "Inherited" -msgstr "" +msgstr "Heredado" -#: build/serializers.py:1337 part/models.py:4326 +#: build/serializers.py:1337 part/models.py:4313 #: part/templates/part/upload_bom.html:56 templates/js/translated/bom.js:1046 #: templates/js/translated/build.js:2714 msgid "Allow Variants" msgstr "Permitir variantes" -#: build/serializers.py:1341 part/models.py:4124 part/models.py:4594 +#: build/serializers.py:1341 part/models.py:4111 part/models.py:4587 #: stock/api.py:793 msgid "BOM Item" msgstr "Item de Lista de Materiales" @@ -1684,7 +1684,7 @@ msgid "Allocated Stock" msgstr "Stock Asignado" #: build/serializers.py:1355 order/serializers.py:1179 part/admin.py:132 -#: part/bom.py:186 part/serializers.py:920 part/serializers.py:1623 +#: part/bom.py:186 part/serializers.py:918 part/serializers.py:1621 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 #: templates/js/translated/build.js:2807 templates/js/translated/part.js:712 #: templates/js/translated/part.js:2155 @@ -1692,13 +1692,13 @@ msgstr "Stock Asignado" msgid "On Order" msgstr "En pedido" -#: build/serializers.py:1360 order/serializers.py:1180 part/serializers.py:1625 +#: build/serializers.py:1360 order/serializers.py:1180 part/serializers.py:1623 #: templates/js/translated/build.js:2811 #: templates/js/translated/table_filters.js:367 msgid "In Production" msgstr "En producción" -#: build/serializers.py:1365 part/bom.py:185 part/serializers.py:1650 +#: build/serializers.py:1365 part/bom.py:185 part/serializers.py:1648 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" @@ -1706,19 +1706,19 @@ msgstr "Stock Disponible" #: build/serializers.py:1369 msgid "Available Substitute Stock" -msgstr "" +msgstr "Stock sustituto disponible" #: build/serializers.py:1370 msgid "Available Variant Stock" -msgstr "" +msgstr "Stock variable disponible" #: build/serializers.py:1371 msgid "Total Available Stock" -msgstr "" +msgstr "Stock total disponible" -#: build/serializers.py:1372 part/serializers.py:927 +#: build/serializers.py:1372 part/serializers.py:925 msgid "External Stock" -msgstr "" +msgstr "Stock externo" #: build/status_codes.py:11 generic/states/tests.py:21 #: generic/states/tests.py:131 order/status_codes.py:12 @@ -1734,7 +1734,7 @@ msgstr "Producción" #: build/status_codes.py:13 order/status_codes.py:14 order/status_codes.py:49 #: order/status_codes.py:79 msgid "On Hold" -msgstr "" +msgstr "En espera" #: build/status_codes.py:14 order/status_codes.py:16 order/status_codes.py:51 #: order/status_codes.py:82 @@ -1745,7 +1745,7 @@ msgstr "Cancelado" #: importer/status_codes.py:27 order/status_codes.py:15 #: order/status_codes.py:50 order/status_codes.py:81 #: order/templates/order/order_base.html:163 -#: order/templates/order/sales_order_base.html:168 report/models.py:443 +#: order/templates/order/sales_order_base.html:168 report/models.py:451 msgid "Complete" msgstr "Terminado" @@ -1838,7 +1838,7 @@ msgstr "Construcción duplicada" #: build/templates/build/build_base.html:76 msgid "Hold Build" -msgstr "" +msgstr "Mantener Construcción" #: build/templates/build/build_base.html:79 msgid "Cancel Build" @@ -1849,12 +1849,9 @@ msgid "Delete Build" msgstr "Eliminar construcción o armado" #: build/templates/build/build_base.html:87 -msgid "Isueue Build" -msgstr "" - #: build/templates/build/build_base.html:88 msgid "Issue Build" -msgstr "" +msgstr "Emitir Construcción" #: build/templates/build/build_base.html:91 #: build/templates/build/build_base.html:92 @@ -1931,7 +1928,7 @@ msgstr "Salidas completadas" #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_report.html:135 #: report/templates/report/inventree_sales_order_report.html:14 -#: stock/templates/stock/item_base.html:369 +#: stock/templates/stock/item_base.html:365 #: templates/email/overdue_sales_order.html:15 #: templates/js/translated/pricing.js:929 #: templates/js/translated/sales_order.js:805 @@ -1947,11 +1944,11 @@ msgstr "Prioridad" #: build/templates/build/build_base.html:267 msgid "Issue Build Order" -msgstr "" +msgstr "Emitir Orden de Construcción" #: build/templates/build/build_base.html:271 msgid "Issue this Build Order?" -msgstr "" +msgstr "¿Emitir esta orden de construcción?" #: build/templates/build/build_base.html:302 msgid "Delete Build Order" @@ -1963,7 +1960,7 @@ msgstr "Código QR de la Orden de Trabajo" #: build/templates/build/build_base.html:324 msgid "Link Barcode to Build Order" -msgstr "" +msgstr "Enlazar código de barras para construir el orden" #: build/templates/build/detail.html:15 msgid "Build Details" @@ -1991,7 +1988,7 @@ msgid "Allocated Parts" msgstr "Partes asignadas" #: build/templates/build/detail.html:80 stock/admin.py:163 -#: stock/templates/stock/item_base.html:162 +#: stock/templates/stock/item_base.html:158 #: templates/js/translated/build.js:1556 #: templates/js/translated/model_renderers.js:242 #: templates/js/translated/purchase_order.js:1326 @@ -2148,25 +2145,25 @@ msgstr "Salidas incompletas" msgid "Test Statistics" msgstr "" -#: common/api.py:692 +#: common/api.py:725 msgid "Is Link" msgstr "" -#: common/api.py:700 +#: common/api.py:733 msgid "Is File" msgstr "" -#: common/api.py:743 +#: common/api.py:776 msgid "User does not have permission to delete these attachments" msgstr "" -#: common/api.py:760 +#: common/api.py:793 msgid "User does not have permission to delete this attachment" msgstr "" #: common/currency.py:132 msgid "Invalid currency code" -msgstr "" +msgstr "Código de divisa inválido" #: common/currency.py:134 msgid "Duplicate currency code" @@ -2228,7 +2225,7 @@ msgstr "Fecha y hora de la última actualización" #: common/models.py:122 msgid "Site URL is locked by configuration" -msgstr "" +msgstr "La URL del sitio está bloqueada por su configuración" #: common/models.py:152 msgid "Unique project code" @@ -2336,7 +2333,7 @@ msgstr "Seleccione la moneda base para los cálculos de precios" #: common/models.py:1285 msgid "Supported Currencies" -msgstr "" +msgstr "Monedas admitidas" #: common/models.py:1286 msgid "List of supported currency codes" @@ -2352,8 +2349,8 @@ msgstr "Con qué frecuencia actualizar los tipos de cambio (establecer a cero pa #: common/models.py:1297 common/models.py:1353 common/models.py:1366 #: common/models.py:1374 common/models.py:1383 common/models.py:1392 -#: common/models.py:1629 common/models.py:1651 common/models.py:1766 -#: common/models.py:2148 +#: common/models.py:1629 common/models.py:1651 common/models.py:1752 +#: common/models.py:2141 msgid "days" msgstr "días" @@ -2581,9 +2578,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:1485 part/admin.py:108 part/models.py:3959 -#: report/models.py:293 report/models.py:360 report/serializers.py:90 -#: report/serializers.py:131 stock/serializers.py:233 +#: common/models.py:1485 part/admin.py:108 part/models.py:3946 +#: report/models.py:301 report/models.py:368 report/serializers.py:91 +#: report/serializers.py:132 stock/serializers.py:233 #: templates/js/translated/table_filters.js:138 #: templates/js/translated/table_filters.js:775 msgid "Template" @@ -2598,7 +2595,7 @@ msgid "Parts can be assembled from other components by default" msgstr "Las partes pueden ser ensambladas desde otros componentes por defecto" #: common/models.py:1497 part/admin.py:95 part/models.py:1172 -#: part/serializers.py:1617 templates/js/translated/table_filters.js:737 +#: part/serializers.py:1615 templates/js/translated/table_filters.js:737 msgid "Component" msgstr "Componente" @@ -2823,7 +2820,7 @@ msgid "Log errors which occur when generating reports" msgstr "" #: common/models.py:1702 plugin/builtin/labels/label_sheet.py:28 -#: report/models.py:301 +#: report/models.py:309 msgid "Page Size" msgstr "Tamaño de página" @@ -2832,914 +2829,914 @@ msgid "Default page size for PDF reports" msgstr "Tamaño de página predeterminado para informes PDF" #: common/models.py:1708 -msgid "Enable Test Reports" -msgstr "Habilitar informes de prueba" - -#: common/models.py:1709 -msgid "Enable generation of test reports" -msgstr "Habilitar generación de informes de prueba" - -#: common/models.py:1714 -msgid "Attach Test Reports" -msgstr "Adjuntar informes de prueba" - -#: common/models.py:1716 -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:1722 msgid "Globally Unique Serials" msgstr "Seriales únicos globalmente" -#: common/models.py:1723 +#: common/models.py:1709 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:1728 +#: common/models.py:1714 msgid "Autofill Serial Numbers" msgstr "Autollenar números de serie" -#: common/models.py:1729 +#: common/models.py:1715 msgid "Autofill serial numbers in forms" msgstr "Autorellenar números de serie en formularios" -#: common/models.py:1734 +#: common/models.py:1720 msgid "Delete Depleted Stock" msgstr "Eliminar existencias agotadas" -#: common/models.py:1736 +#: common/models.py:1722 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/models.py:1742 +#: common/models.py:1728 msgid "Batch Code Template" msgstr "Plantilla de código de lote" -#: common/models.py:1744 +#: common/models.py:1730 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:1749 +#: common/models.py:1735 msgid "Stock Expiry" msgstr "Expiración de stock" -#: common/models.py:1750 +#: common/models.py:1736 msgid "Enable stock expiry functionality" msgstr "Habilitar la funcionalidad de expiración de stock" -#: common/models.py:1755 +#: common/models.py:1741 msgid "Sell Expired Stock" msgstr "Vender existencias caducadas" -#: common/models.py:1756 +#: common/models.py:1742 msgid "Allow sale of expired stock" msgstr "Permitir venta de existencias caducadas" -#: common/models.py:1761 +#: common/models.py:1747 msgid "Stock Stale Time" msgstr "Tiempo histórico de Stock" -#: common/models.py:1763 +#: common/models.py:1749 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:1770 +#: common/models.py:1756 msgid "Build Expired Stock" msgstr "Crear Stock Caducado" -#: common/models.py:1771 +#: common/models.py:1757 msgid "Allow building with expired stock" msgstr "Permitir crear con stock caducado" -#: common/models.py:1776 +#: common/models.py:1762 msgid "Stock Ownership Control" msgstr "Control de Stock" -#: common/models.py:1777 +#: common/models.py:1763 msgid "Enable ownership control over stock locations and items" msgstr "Habilitar control de propiedad sobre ubicaciones de stock y artículos" -#: common/models.py:1782 +#: common/models.py:1768 msgid "Stock Location Default Icon" msgstr "Icono por defecto de ubicación de almacén" -#: common/models.py:1783 +#: common/models.py:1769 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:1788 +#: common/models.py:1774 msgid "Show Installed Stock Items" msgstr "Mostrar Articulos de Stock Instalados" -#: common/models.py:1789 +#: common/models.py:1775 msgid "Display installed stock items in stock tables" msgstr "Mostrar los artículos de stock instalados en las tablas de stock" -#: common/models.py:1794 +#: common/models.py:1780 msgid "Check BOM when installing items" msgstr "" -#: common/models.py:1796 +#: common/models.py:1782 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/models.py:1802 +#: common/models.py:1788 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/models.py:1804 +#: common/models.py:1790 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/models.py:1810 +#: common/models.py:1796 msgid "Build Order Reference Pattern" msgstr "Patrón de Referencia de Ordenes de Armado" -#: common/models.py:1812 +#: common/models.py:1798 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:1818 common/models.py:1874 common/models.py:1896 -#: common/models.py:1932 +#: common/models.py:1804 common/models.py:1860 common/models.py:1882 +#: common/models.py:1918 msgid "Require Responsible Owner" msgstr "" -#: common/models.py:1819 common/models.py:1875 common/models.py:1897 -#: common/models.py:1933 +#: common/models.py:1805 common/models.py:1861 common/models.py:1883 +#: common/models.py:1919 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/models.py:1824 +#: common/models.py:1810 msgid "Require Active Part" msgstr "" -#: common/models.py:1825 +#: common/models.py:1811 msgid "Prevent build order creation for inactive parts" msgstr "" -#: common/models.py:1830 +#: common/models.py:1816 msgid "Require Locked Part" msgstr "" -#: common/models.py:1831 +#: common/models.py:1817 msgid "Prevent build order creation for unlocked parts" msgstr "" -#: common/models.py:1836 +#: common/models.py:1822 msgid "Require Valid BOM" msgstr "" -#: common/models.py:1838 +#: common/models.py:1824 msgid "Prevent build order creation unless BOM has been validated" msgstr "" -#: common/models.py:1844 +#: common/models.py:1830 msgid "Require Closed Child Orders" msgstr "" -#: common/models.py:1846 +#: common/models.py:1832 msgid "Prevent build order completion until all child orders are closed" -msgstr "" +msgstr "Prevenir la finalización de la orden de construcción hasta que todas las órdenes hijas estén cerradas" -#: common/models.py:1852 +#: common/models.py:1838 msgid "Block Until Tests Pass" -msgstr "" +msgstr "Bloquear hasta que los Tests pasen" -#: common/models.py:1854 +#: common/models.py:1840 msgid "Prevent build outputs from being completed until all required tests pass" -msgstr "" +msgstr "Evitar que las construcciones sean completadas hasta que todas las pruebas requeridas pasen" -#: common/models.py:1860 +#: common/models.py:1846 msgid "Enable Return Orders" msgstr "Habilitar órdenes de devolución" -#: common/models.py:1861 +#: common/models.py:1847 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:1866 +#: common/models.py:1852 msgid "Return Order Reference Pattern" msgstr "Patrón de referencia de orden de devolución" -#: common/models.py:1868 +#: common/models.py:1854 msgid "Required pattern for generating Return Order reference field" -msgstr "" +msgstr "Patrón requerido para generar el campo de referencia de devolución de la orden" -#: common/models.py:1880 +#: common/models.py:1866 msgid "Edit Completed Return Orders" msgstr "Editar ordenes de devolución completadas" -#: common/models.py:1882 +#: common/models.py:1868 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:1888 +#: common/models.py:1874 msgid "Sales Order Reference Pattern" msgstr "Patrón de Referencia de Ordenes de Venta" -#: common/models.py:1890 +#: common/models.py:1876 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:1902 +#: common/models.py:1888 msgid "Sales Order Default Shipment" msgstr "Envío Predeterminado de Ordenes de Venta" -#: common/models.py:1903 +#: common/models.py:1889 msgid "Enable creation of default shipment with sales orders" msgstr "Habilitar la creación de envío predeterminado con ordenes de entrega" -#: common/models.py:1908 +#: common/models.py:1894 msgid "Edit Completed Sales Orders" msgstr "Editar Ordenes de Venta Completados" -#: common/models.py:1910 +#: common/models.py:1896 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "Permitir la edición de ordenes de venta después de que hayan sido enviados o completados" -#: common/models.py:1916 +#: common/models.py:1902 msgid "Mark Shipped Orders as Complete" -msgstr "" +msgstr "Marcar pedidos enviados como completados" -#: common/models.py:1918 +#: common/models.py:1904 msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status" -msgstr "" +msgstr "Los pedidos marcados como enviados se completarán automáticamente, evitando el estado de \"envío\"" -#: common/models.py:1924 +#: common/models.py:1910 msgid "Purchase Order Reference Pattern" msgstr "Patrón de Referencia de Orden de Compra" -#: common/models.py:1926 +#: common/models.py:1912 msgid "Required pattern for generating Purchase Order reference field" msgstr "Patrón requerido para generar el campo de referencia de la Orden de Compra" -#: common/models.py:1938 +#: common/models.py:1924 msgid "Edit Completed Purchase Orders" msgstr "Editar Ordenes de Compra Completados" -#: common/models.py:1940 +#: common/models.py:1926 msgid "Allow editing of purchase orders after they have been shipped or completed" -msgstr "" +msgstr "Permitir la edición de órdenes de venta después de que hayan sido enviados o completados" -#: common/models.py:1946 +#: common/models.py:1932 msgid "Auto Complete Purchase Orders" msgstr "Autocompletar Ordenes de compra" -#: common/models.py:1948 +#: common/models.py:1934 msgid "Automatically mark purchase orders as complete when all line items are received" -msgstr "" +msgstr "Marcar automáticamente las órdenes de compra como completas cuando se reciben todos los artículos de línea" -#: common/models.py:1955 +#: common/models.py:1941 msgid "Enable password forgot" msgstr "Habilitar función de contraseña olvidada" -#: common/models.py:1956 +#: common/models.py:1942 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:1961 +#: common/models.py:1947 msgid "Enable registration" msgstr "Habilitar registro" -#: common/models.py:1962 +#: common/models.py:1948 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:1967 +#: common/models.py:1953 msgid "Enable SSO" msgstr "Habilitar SSO" -#: common/models.py:1968 +#: common/models.py:1954 msgid "Enable SSO on the login pages" msgstr "Habilitar SSO en las páginas de inicio de sesión" -#: common/models.py:1973 +#: common/models.py:1959 msgid "Enable SSO registration" msgstr "Habilitar registro SSO" -#: common/models.py:1975 +#: common/models.py:1961 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:1981 +#: common/models.py:1967 msgid "Enable SSO group sync" -msgstr "" +msgstr "Habilitar sincronización de grupo SSO" -#: common/models.py:1983 +#: common/models.py:1969 msgid "Enable synchronizing InvenTree groups with groups provided by the IdP" -msgstr "" +msgstr "Habilitar la sincronización de grupos de Inventree con grupos proporcionados por el IdP" -#: common/models.py:1989 +#: common/models.py:1975 msgid "SSO group key" -msgstr "" +msgstr "Clave de grupo SSO" -#: common/models.py:1991 +#: common/models.py:1977 msgid "The name of the groups claim attribute provided by the IdP" -msgstr "" +msgstr "El nombre del atributo reclamado por el grupo proporcionado por el IdP" -#: common/models.py:1997 +#: common/models.py:1983 msgid "SSO group map" -msgstr "" +msgstr "Mapa del grupo SSO" -#: common/models.py:1999 +#: common/models.py:1985 msgid "A mapping from SSO groups to local InvenTree groups. If the local group does not exist, it will be created." -msgstr "" +msgstr "Un mapeo de grupos SSO a grupos de Inventree locales. Si el grupo local no existe, se creará." -#: common/models.py:2005 +#: common/models.py:1991 msgid "Remove groups outside of SSO" -msgstr "" +msgstr "Eliminar grupos fuera de SSO" -#: common/models.py:2007 +#: common/models.py:1993 msgid "Whether groups assigned to the user should be removed if they are not backend by the IdP. Disabling this setting might cause security issues" msgstr "" -#: common/models.py:2013 +#: common/models.py:1999 msgid "Email required" msgstr "Email requerido" -#: common/models.py:2014 +#: common/models.py:2000 msgid "Require user to supply mail on signup" msgstr "Requiere usuario para suministrar correo al registrarse" -#: common/models.py:2019 +#: common/models.py:2005 msgid "Auto-fill SSO users" msgstr "Auto-rellenar usuarios SSO" -#: common/models.py:2021 +#: common/models.py:2007 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:2027 +#: common/models.py:2013 msgid "Mail twice" msgstr "Correo dos veces" -#: common/models.py:2028 +#: common/models.py:2014 msgid "On signup ask users twice for their mail" msgstr "Al registrarse pregunte dos veces a los usuarios por su correo" -#: common/models.py:2033 +#: common/models.py:2019 msgid "Password twice" msgstr "Contraseña dos veces" -#: common/models.py:2034 +#: common/models.py:2020 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:2039 +#: common/models.py:2025 msgid "Allowed domains" msgstr "Dominios permitidos" -#: common/models.py:2041 +#: common/models.py:2027 msgid "Restrict signup to certain domains (comma-separated, starting with @)" -msgstr "" +msgstr "Restringir el registro a ciertos dominios (separados por comas, comenzando por @)" -#: common/models.py:2047 +#: common/models.py:2033 msgid "Group on signup" msgstr "Grupo al registrarse" -#: common/models.py:2049 +#: common/models.py:2035 msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP." msgstr "" -#: common/models.py:2055 +#: common/models.py:2041 msgid "Enforce MFA" msgstr "Forzar MFA" -#: common/models.py:2056 +#: common/models.py:2042 msgid "Users must use multifactor security." msgstr "Los usuarios deben utilizar seguridad multifactor." -#: common/models.py:2061 +#: common/models.py:2047 msgid "Check plugins on startup" msgstr "Comprobar complementos al iniciar" -#: common/models.py:2063 +#: common/models.py:2049 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:2071 +#: common/models.py:2057 msgid "Check for plugin updates" -msgstr "" +msgstr "Revisar actualizaciones del plugin" -#: common/models.py:2072 +#: common/models.py:2058 msgid "Enable periodic checks for updates to installed plugins" -msgstr "" +msgstr "Habilitar comprobaciones periódicas para actualizaciones de plugins instalados" -#: common/models.py:2078 +#: common/models.py:2064 msgid "Enable URL integration" msgstr "Habilitar integración de URL" -#: common/models.py:2079 +#: common/models.py:2065 msgid "Enable plugins to add URL routes" msgstr "Habilitar plugins para añadir rutas de URL" -#: common/models.py:2085 +#: common/models.py:2071 msgid "Enable navigation integration" msgstr "Habilitar integración de navegación" -#: common/models.py:2086 +#: common/models.py:2072 msgid "Enable plugins to integrate into navigation" msgstr "Habilitar plugins para integrar en la navegación" -#: common/models.py:2092 +#: common/models.py:2078 msgid "Enable app integration" msgstr "Habilitar integración de la aplicación" -#: common/models.py:2093 +#: common/models.py:2079 msgid "Enable plugins to add apps" msgstr "Habilitar plugins para añadir aplicaciones" -#: common/models.py:2099 +#: common/models.py:2085 msgid "Enable schedule integration" msgstr "Habilitar integración de programación" -#: common/models.py:2100 +#: common/models.py:2086 msgid "Enable plugins to run scheduled tasks" msgstr "Habilitar plugins para ejecutar tareas programadas" -#: common/models.py:2106 +#: common/models.py:2092 msgid "Enable event integration" msgstr "Habilitar integración de eventos" -#: common/models.py:2107 +#: common/models.py:2093 msgid "Enable plugins to respond to internal events" msgstr "Habilitar plugins para responder a eventos internos" -#: common/models.py:2113 +#: common/models.py:2099 +msgid "Enable interface integration" +msgstr "" + +#: common/models.py:2100 +msgid "Enable plugins to integrate into the user interface" +msgstr "" + +#: common/models.py:2106 msgid "Enable project codes" msgstr "Habilitar códigos de proyecto" -#: common/models.py:2114 +#: common/models.py:2107 msgid "Enable project codes for tracking projects" msgstr "Habilitar códigos de proyecto para rastrear proyectos" -#: common/models.py:2119 +#: common/models.py:2112 msgid "Stocktake Functionality" -msgstr "" +msgstr "Funcionalidad de inventario" -#: common/models.py:2121 +#: common/models.py:2114 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" -msgstr "" +msgstr "Habilite la funcionalidad de inventario para registrar los niveles de existencias y calcular el valor de las existencias" -#: common/models.py:2127 +#: common/models.py:2120 msgid "Exclude External Locations" msgstr "Excluir Ubicaciones Externas" -#: common/models.py:2129 +#: common/models.py:2122 msgid "Exclude stock items in external locations from stocktake calculations" -msgstr "" +msgstr "Excluir artículos en existencia en ubicaciones externas de los cálculos de inventario" -#: common/models.py:2135 +#: common/models.py:2128 msgid "Automatic Stocktake Period" -msgstr "" +msgstr "Periodo de inventario automático" -#: common/models.py:2137 +#: common/models.py:2130 msgid "Number of days between automatic stocktake recording (set to zero to disable)" -msgstr "" +msgstr "Número de días entre el registro automático del inventario (establecer en cero para desactivarlo)" -#: common/models.py:2143 +#: common/models.py:2136 msgid "Report Deletion Interval" msgstr "Intervalo de borrado de informe" -#: common/models.py:2145 +#: common/models.py:2138 msgid "Stocktake reports will be deleted after specified number of days" -msgstr "" +msgstr "Los informes de inventario se eliminarán después de un número de días especificado" -#: common/models.py:2152 +#: common/models.py:2145 msgid "Display Users full names" msgstr "Mostrar nombres completos de los usuarios" -#: common/models.py:2153 +#: common/models.py:2146 msgid "Display Users full names instead of usernames" msgstr "Mostrar nombres completos de usuarios en lugar de nombres de usuario" -#: common/models.py:2158 +#: common/models.py:2151 msgid "Enable Test Station Data" +msgstr "Habilitar datos de estación de prueba" + +#: common/models.py:2152 +msgid "Enable test station data collection for test results" +msgstr "Habilitar la recolección de datos de estaciones de prueba para resultados de prueba" + +#: common/models.py:2157 +msgid "Create Template on Upload" msgstr "" #: common/models.py:2159 -msgid "Enable test station data collection for test results" +msgid "Create a new test template when uploading test data which does not match an existing template" msgstr "" -#: common/models.py:2171 common/models.py:2551 +#: common/models.py:2172 common/models.py:2552 msgid "Settings key (must be unique - case insensitive" msgstr "Tecla de ajustes (debe ser única - mayúsculas y minúsculas" -#: common/models.py:2214 +#: common/models.py:2215 msgid "Hide inactive parts" msgstr "Ocultar partes inactivas" -#: common/models.py:2216 +#: common/models.py:2217 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:2222 +#: common/models.py:2223 msgid "Show subscribed parts" msgstr "Mostrar partes suscritas" -#: common/models.py:2223 +#: common/models.py:2224 msgid "Show subscribed parts on the homepage" msgstr "Mostrar las partes suscritas en la página principal" -#: common/models.py:2228 +#: common/models.py:2229 msgid "Show subscribed categories" msgstr "Mostrar categorías suscritas" -#: common/models.py:2229 +#: common/models.py:2230 msgid "Show subscribed part categories on the homepage" msgstr "Mostrar categorías de partes suscritas en la página de inicio" -#: common/models.py:2234 +#: common/models.py:2235 msgid "Show latest parts" msgstr "Mostrar últimas partes" -#: common/models.py:2235 +#: common/models.py:2236 msgid "Show latest parts on the homepage" msgstr "Mostrar las últimas partes en la página de inicio" -#: common/models.py:2240 +#: common/models.py:2241 msgid "Show invalid BOMs" -msgstr "" +msgstr "Mostrar BOM inválidos" -#: common/models.py:2241 +#: common/models.py:2242 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:2246 +#: common/models.py:2247 msgid "Show recent stock changes" msgstr "Mostrar cambios recientes de stock" -#: common/models.py:2247 +#: common/models.py:2248 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:2252 +#: common/models.py:2253 msgid "Show low stock" msgstr "Mostrar stock bajo" -#: common/models.py:2253 +#: common/models.py:2254 msgid "Show low stock items on the homepage" msgstr "Mostrar artículos de stock bajo en la página de inicio" -#: common/models.py:2258 +#: common/models.py:2259 msgid "Show depleted stock" msgstr "Mostrar stock agotado" -#: common/models.py:2259 +#: common/models.py:2260 msgid "Show depleted stock items on the homepage" msgstr "Mostrar artículos agotados en la página de inicio" -#: common/models.py:2264 +#: common/models.py:2265 msgid "Show needed stock" msgstr "Mostrar stock necesario" -#: common/models.py:2265 +#: common/models.py:2266 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:2270 +#: common/models.py:2271 msgid "Show expired stock" msgstr "Mostrar stock caducado" -#: common/models.py:2271 +#: common/models.py:2272 msgid "Show expired stock items on the homepage" msgstr "Mostrar artículos de stock caducados en la página de inicio" -#: common/models.py:2276 +#: common/models.py:2277 msgid "Show stale stock" msgstr "Mostrar stock obsoleto" -#: common/models.py:2277 +#: common/models.py:2278 msgid "Show stale stock items on the homepage" msgstr "Mostrar artículos de stock obsoletos en la página de inicio" -#: common/models.py:2282 +#: common/models.py:2283 msgid "Show pending builds" msgstr "Mostrar trabajos pendientes" -#: common/models.py:2283 +#: common/models.py:2284 msgid "Show pending builds on the homepage" msgstr "Mostrar trabajos pendientes en la página de inicio" -#: common/models.py:2288 +#: common/models.py:2289 msgid "Show overdue builds" msgstr "Mostrar trabajos vencidos" -#: common/models.py:2289 +#: common/models.py:2290 msgid "Show overdue builds on the homepage" msgstr "Mostrar trabajos pendientes en la página de inicio" -#: common/models.py:2294 +#: common/models.py:2295 msgid "Show outstanding POs" msgstr "Mostrar Órdenes de Compra Pendientes" -#: common/models.py:2295 +#: common/models.py:2296 msgid "Show outstanding POs on the homepage" msgstr "Mostrar las OC destacadas en la página de inicio" -#: common/models.py:2300 +#: common/models.py:2301 msgid "Show overdue POs" msgstr "Mostrar OC atrasadas" -#: common/models.py:2301 +#: common/models.py:2302 msgid "Show overdue POs on the homepage" msgstr "Mostrar las OC vencidas en la página de inicio" -#: common/models.py:2306 +#: common/models.py:2307 msgid "Show outstanding SOs" msgstr "Mostrar OV pendiemtes" -#: common/models.py:2307 +#: common/models.py:2308 msgid "Show outstanding SOs on the homepage" msgstr "Mostrar OV pendientes en la página de inicio" -#: common/models.py:2312 +#: common/models.py:2313 msgid "Show overdue SOs" msgstr "Mostrar OV atrasadas" -#: common/models.py:2313 +#: common/models.py:2314 msgid "Show overdue SOs on the homepage" msgstr "Mostrar OV atrasadas en la página de inicio" -#: common/models.py:2318 +#: common/models.py:2319 msgid "Show pending SO shipments" -msgstr "" +msgstr "Mostrar envíos pendientes de SO" -#: common/models.py:2319 +#: common/models.py:2320 msgid "Show pending SO shipments on the homepage" -msgstr "" +msgstr "Mostrar envíos SO pendientes en la página de inicio" -#: common/models.py:2324 +#: common/models.py:2325 msgid "Show News" msgstr "Mostrar novedades" -#: common/models.py:2325 +#: common/models.py:2326 msgid "Show news on the homepage" msgstr "Mostrar las últimas novedades de InvenTree en la página de inicio" -#: common/models.py:2330 +#: common/models.py:2331 msgid "Inline label display" msgstr "Mostrar etiqueta interior" -#: common/models.py:2332 +#: common/models.py:2333 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:2338 +#: common/models.py:2339 msgid "Default label printer" msgstr "Impresora predeterminada" -#: common/models.py:2340 +#: common/models.py:2341 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2346 +#: common/models.py:2347 msgid "Inline report display" msgstr "Mostrar informe en línea" -#: common/models.py:2348 +#: common/models.py:2349 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:2354 +#: common/models.py:2355 msgid "Search Parts" msgstr "Buscar partes" -#: common/models.py:2355 +#: common/models.py:2356 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2360 +#: common/models.py:2361 msgid "Search Supplier Parts" msgstr "Buscar partes de proveedor" -#: common/models.py:2361 +#: common/models.py:2362 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2366 +#: common/models.py:2367 msgid "Search Manufacturer Parts" msgstr "Buscar Partes del Fabricante" -#: common/models.py:2367 +#: common/models.py:2368 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2372 +#: common/models.py:2373 msgid "Hide Inactive Parts" msgstr "Ocultar Partes Inactivas" -#: common/models.py:2373 +#: common/models.py:2374 msgid "Excluded inactive parts from search preview window" msgstr "Excluir las partes inactivas de la ventana de previsualización de búsqueda" -#: common/models.py:2378 +#: common/models.py:2379 msgid "Search Categories" msgstr "Buscar categorías" -#: common/models.py:2379 +#: common/models.py:2380 msgid "Display part categories in search preview window" msgstr "Mostrar categorias de la parte en la ventana de previsualización de búsqueda" -#: common/models.py:2384 +#: common/models.py:2385 msgid "Search Stock" msgstr "Buscar inventario" -#: common/models.py:2385 +#: common/models.py:2386 msgid "Display stock items in search preview window" msgstr "Mostrar artículos del stock en la ventana de previsualización de búsqueda" -#: common/models.py:2390 +#: common/models.py:2391 msgid "Hide Unavailable Stock Items" msgstr "Ocultar Artículos del Stock Agotados" -#: common/models.py:2392 +#: common/models.py:2393 msgid "Exclude stock items which are not available from the search preview window" msgstr "Excluir artículos de stock que no están disponibles en la ventana de previsualización de búsqueda" -#: common/models.py:2398 +#: common/models.py:2399 msgid "Search Locations" msgstr "Buscar ubicaciones" -#: common/models.py:2399 +#: common/models.py:2400 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:2404 +#: common/models.py:2405 msgid "Search Companies" msgstr "Buscar empresas" -#: common/models.py:2405 +#: common/models.py:2406 msgid "Display companies in search preview window" msgstr "Mostrar empresas en la ventana de vista previa de búsqueda" -#: common/models.py:2410 +#: common/models.py:2411 msgid "Search Build Orders" msgstr "Buscar Pedidos de Construcción" -#: common/models.py:2411 +#: common/models.py:2412 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2416 +#: common/models.py:2417 msgid "Search Purchase Orders" msgstr "Buscar órdenes de compra" -#: common/models.py:2417 +#: common/models.py:2418 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2422 +#: common/models.py:2423 msgid "Exclude Inactive Purchase Orders" msgstr "Excluir pedidos de compra inactivos" -#: common/models.py:2424 +#: common/models.py:2425 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2430 +#: common/models.py:2431 msgid "Search Sales Orders" msgstr "Buscar órdenes de venta" -#: common/models.py:2431 +#: common/models.py:2432 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2436 +#: common/models.py:2437 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2438 +#: common/models.py:2439 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2444 +#: common/models.py:2445 msgid "Search Return Orders" msgstr "Buscar órdenes de devolución" -#: common/models.py:2445 +#: common/models.py:2446 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2450 +#: common/models.py:2451 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2452 +#: common/models.py:2453 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2458 +#: common/models.py:2459 msgid "Search Preview Results" msgstr "Resultados de la vista previa" -#: common/models.py:2460 +#: common/models.py:2461 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2466 +#: common/models.py:2467 msgid "Regex Search" msgstr "Búsqueda usando una expresión regular" -#: common/models.py:2467 +#: common/models.py:2468 msgid "Enable regular expressions in search queries" msgstr "Habilitar expresiones regulares en las consultas de búsqueda" -#: common/models.py:2472 +#: common/models.py:2473 msgid "Whole Word Search" msgstr "Búsqueda por palabra completa" -#: common/models.py:2473 +#: common/models.py:2474 msgid "Search queries return results for whole word matches" msgstr "Las consultas de búsqueda devuelven resultados para palabras enteras coincidentes" -#: common/models.py:2478 +#: common/models.py:2479 msgid "Show Quantity in Forms" msgstr "Mostrar cantidad en formularios" -#: common/models.py:2479 +#: common/models.py:2480 msgid "Display available part quantity in some forms" msgstr "Mostrar la cantidad de partes disponibles en algunos formularios" -#: common/models.py:2484 +#: common/models.py:2485 msgid "Escape Key Closes Forms" msgstr "Formularios de cierre de teclas de escape" -#: common/models.py:2485 +#: common/models.py:2486 msgid "Use the escape key to close modal forms" msgstr "Usa la clave de escape para cerrar formularios modales" -#: common/models.py:2490 +#: common/models.py:2491 msgid "Fixed Navbar" msgstr "Barra de navegación fija" -#: common/models.py:2491 +#: common/models.py:2492 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:2496 +#: common/models.py:2497 msgid "Date Format" msgstr "Formato de Fecha" -#: common/models.py:2497 +#: common/models.py:2498 msgid "Preferred format for displaying dates" msgstr "Formato preferido para mostrar fechas" -#: common/models.py:2510 part/templates/part/detail.html:41 +#: common/models.py:2511 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "Planificación de partes" -#: common/models.py:2511 +#: common/models.py:2512 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2516 part/templates/part/detail.html:62 +#: common/models.py:2517 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2518 +#: common/models.py:2519 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2524 +#: common/models.py:2525 msgid "Table String Length" msgstr "" -#: common/models.py:2526 +#: common/models.py:2527 msgid "Maximum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2532 +#: common/models.py:2533 msgid "Receive error reports" msgstr "Recibir reportes de error" -#: common/models.py:2533 +#: common/models.py:2534 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2538 +#: common/models.py:2539 msgid "Last used printing machines" msgstr "Últimas impresoras usadas" -#: common/models.py:2539 +#: common/models.py:2540 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2559 common/models.py:2560 common/models.py:2717 -#: common/models.py:2718 common/models.py:2963 common/models.py:2964 -#: common/models.py:3287 common/models.py:3288 importer/models.py:89 -#: part/models.py:3319 part/models.py:3406 part/models.py:3480 -#: part/models.py:3508 plugin/models.py:274 plugin/models.py:275 +#: common/models.py:2560 common/models.py:2561 common/models.py:2718 +#: common/models.py:2719 common/models.py:2964 common/models.py:2965 +#: common/models.py:3288 common/models.py:3289 importer/models.py:89 +#: part/models.py:3306 part/models.py:3393 part/models.py:3467 +#: part/models.py:3495 plugin/models.py:274 plugin/models.py:275 #: report/templates/report/inventree_test_report.html:105 #: templates/js/translated/stock.js:3121 users/models.py:111 msgid "User" msgstr "Usuario" -#: common/models.py:2582 +#: common/models.py:2583 msgid "Price break quantity" msgstr "Cantidad de salto de precio" -#: common/models.py:2589 company/serializers.py:517 order/admin.py:42 +#: common/models.py:2590 company/serializers.py:517 order/admin.py:42 #: order/models.py:1423 order/models.py:2410 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1892 #: templates/js/translated/pricing.js:621 @@ -3747,96 +3744,96 @@ msgstr "Cantidad de salto de precio" msgid "Price" msgstr "Precio" -#: common/models.py:2590 +#: common/models.py:2591 msgid "Unit price at specified quantity" msgstr "Precio unitario a la cantidad especificada" -#: common/models.py:2694 common/models.py:2879 +#: common/models.py:2695 common/models.py:2880 msgid "Endpoint" msgstr "" -#: common/models.py:2695 +#: common/models.py:2696 msgid "Endpoint at which this webhook is received" msgstr "Punto final en el que se recibe este webhook" -#: common/models.py:2705 +#: common/models.py:2706 msgid "Name for this webhook" msgstr "Nombre para este webhook" -#: common/models.py:2709 +#: common/models.py:2710 msgid "Is this webhook active" msgstr "Está activo este webhook" -#: common/models.py:2725 users/models.py:159 +#: common/models.py:2726 users/models.py:159 msgid "Token" msgstr "" -#: common/models.py:2726 +#: common/models.py:2727 msgid "Token for access" msgstr "Token para el acceso" -#: common/models.py:2734 +#: common/models.py:2735 msgid "Secret" msgstr "Clave" -#: common/models.py:2735 +#: common/models.py:2736 msgid "Shared secret for HMAC" msgstr "Secreto compartido para HMAC" -#: common/models.py:2843 +#: common/models.py:2844 msgid "Message ID" msgstr "ID de mensaje" -#: common/models.py:2844 +#: common/models.py:2845 msgid "Unique identifier for this message" msgstr "Identificador único para este mensaje" -#: common/models.py:2852 +#: common/models.py:2853 msgid "Host" msgstr "" -#: common/models.py:2853 +#: common/models.py:2854 msgid "Host from which this message was received" msgstr "Servidor desde el cual se recibió este mensaje" -#: common/models.py:2861 +#: common/models.py:2862 msgid "Header" msgstr "Encabezado" -#: common/models.py:2862 +#: common/models.py:2863 msgid "Header of this message" msgstr "Encabezado del mensaje" -#: common/models.py:2869 +#: common/models.py:2870 msgid "Body" msgstr "Cuerpo" -#: common/models.py:2870 +#: common/models.py:2871 msgid "Body of this message" msgstr "Cuerpo de este mensaje" -#: common/models.py:2880 +#: common/models.py:2881 msgid "Endpoint on which this message was received" msgstr "Endpoint en el que se recibió este mensaje" -#: common/models.py:2885 +#: common/models.py:2886 msgid "Worked on" msgstr "Trabajado en" -#: common/models.py:2886 +#: common/models.py:2887 msgid "Was the work on this message finished?" msgstr "¿El trabajo en este mensaje ha terminado?" -#: common/models.py:3012 +#: common/models.py:3013 msgid "Id" msgstr "" -#: common/models.py:3014 templates/js/translated/company.js:965 +#: common/models.py:3015 templates/js/translated/company.js:965 #: templates/js/translated/news.js:44 msgid "Title" msgstr "Título" -#: common/models.py:3016 common/models.py:3271 company/models.py:146 +#: common/models.py:3017 common/models.py:3272 company/models.py:146 #: company/models.py:443 company/models.py:509 company/models.py:815 #: order/models.py:303 order/models.py:1378 order/models.py:1810 #: part/admin.py:55 part/models.py:1069 @@ -3853,217 +3850,217 @@ msgstr "Título" msgid "Link" msgstr "Enlace" -#: common/models.py:3018 templates/js/translated/news.js:60 +#: common/models.py:3019 templates/js/translated/news.js:60 msgid "Published" msgstr "Publicado" -#: common/models.py:3020 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:3021 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:103 msgid "Author" msgstr "Autor" -#: common/models.py:3022 templates/js/translated/news.js:52 +#: common/models.py:3023 templates/js/translated/news.js:52 msgid "Summary" msgstr "Resumen" -#: common/models.py:3025 +#: common/models.py:3026 msgid "Read" msgstr "Leer" -#: common/models.py:3025 +#: common/models.py:3026 msgid "Was this news item read?" msgstr "¿Esta noticia ya fue leída?" -#: common/models.py:3042 company/models.py:156 part/models.py:1079 +#: common/models.py:3043 company/models.py:156 part/models.py:1079 #: 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.html:35 -#: stock/templates/stock/item_base.html:133 templates/503.html:31 +#: stock/templates/stock/item_base.html:129 templates/503.html:31 #: templates/hover_image.html:7 templates/hover_image.html:9 #: templates/modals.html:6 msgid "Image" msgstr "Imágen" -#: common/models.py:3042 +#: common/models.py:3043 msgid "Image file" msgstr "Archivo de imagen" -#: common/models.py:3054 common/models.py:3255 +#: common/models.py:3055 common/models.py:3256 msgid "Target model type for this image" msgstr "" -#: common/models.py:3058 +#: common/models.py:3059 msgid "Target model ID for this image" msgstr "" -#: common/models.py:3080 +#: common/models.py:3081 msgid "Custom Unit" msgstr "" -#: common/models.py:3098 +#: common/models.py:3099 msgid "Unit symbol must be unique" msgstr "" -#: common/models.py:3113 +#: common/models.py:3114 msgid "Unit name must be a valid identifier" msgstr "Nombre de unidad debe ser un identificador válido" -#: common/models.py:3132 +#: common/models.py:3133 msgid "Unit name" msgstr "Nombre de unidad" -#: common/models.py:3139 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3140 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "Símbolo" -#: common/models.py:3140 +#: common/models.py:3141 msgid "Optional unit symbol" msgstr "Símbolo de unidad opcional" -#: common/models.py:3146 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3147 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "Definición" -#: common/models.py:3147 +#: common/models.py:3148 msgid "Unit definition" msgstr "Definición de unidad" -#: common/models.py:3205 common/models.py:3262 stock/models.py:2552 +#: common/models.py:3206 common/models.py:3263 stock/models.py:2547 #: stock/serializers.py:244 templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:345 msgid "Attachment" msgstr "Archivo adjunto" -#: common/models.py:3217 +#: common/models.py:3218 msgid "Missing file" msgstr "Archivo no encontrado" -#: common/models.py:3218 +#: common/models.py:3219 msgid "Missing external link" msgstr "Falta enlace externo" -#: common/models.py:3263 +#: common/models.py:3264 msgid "Select file to attach" msgstr "Seleccionar archivo para adjuntar" -#: common/models.py:3278 templates/js/translated/attachment.js:120 +#: common/models.py:3279 templates/js/translated/attachment.js:120 #: templates/js/translated/attachment.js:360 msgid "Comment" msgstr "Comentario" -#: common/models.py:3279 +#: common/models.py:3280 msgid "Attachment comment" msgstr "" -#: common/models.py:3295 +#: common/models.py:3296 msgid "Upload date" msgstr "" -#: common/models.py:3296 +#: common/models.py:3297 msgid "Date the file was uploaded" msgstr "" -#: common/models.py:3300 +#: common/models.py:3301 msgid "File size" msgstr "" -#: common/models.py:3300 +#: common/models.py:3301 msgid "File size in bytes" msgstr "" -#: common/models.py:3338 common/serializers.py:588 +#: common/models.py:3339 common/serializers.py:604 msgid "Invalid model type specified for attachment" msgstr "" -#: common/models.py:3347 plugin/models.py:43 users/models.py:100 +#: common/models.py:3348 plugin/models.py:43 users/models.py:100 msgid "Key" msgstr "Clave" -#: common/models.py:3348 +#: common/models.py:3349 msgid "Value that will be saved in the models database" msgstr "" -#: common/models.py:3351 +#: common/models.py:3352 msgid "Name of the state" msgstr "" -#: common/models.py:3355 +#: common/models.py:3356 msgid "Label" -msgstr "" +msgstr "Etiqueta" -#: common/models.py:3356 +#: common/models.py:3357 msgid "Label that will be displayed in the frontend" msgstr "" -#: common/models.py:3362 +#: common/models.py:3363 msgid "Color" msgstr "" -#: common/models.py:3363 +#: common/models.py:3364 msgid "Color that will be displayed in the frontend" msgstr "" -#: common/models.py:3366 +#: common/models.py:3367 msgid "Logical Key" msgstr "" -#: common/models.py:3368 +#: common/models.py:3369 msgid "State logical key that is equal to this custom state in business logic" msgstr "" -#: common/models.py:3376 +#: common/models.py:3377 msgid "Model" msgstr "" -#: common/models.py:3377 +#: common/models.py:3378 msgid "Model this state is associated with" msgstr "" -#: common/models.py:3381 +#: common/models.py:3382 msgid "Reference Status Set" msgstr "" -#: common/models.py:3382 +#: common/models.py:3383 msgid "Status set that is extended with this custom state" msgstr "" -#: common/models.py:3388 +#: common/models.py:3389 msgid "Custom State" msgstr "" -#: common/models.py:3389 +#: common/models.py:3390 msgid "Custom States" msgstr "" -#: common/models.py:3404 +#: common/models.py:3405 msgid "Model must be selected" msgstr "" -#: common/models.py:3407 +#: common/models.py:3408 msgid "Key must be selected" msgstr "" -#: common/models.py:3410 +#: common/models.py:3411 msgid "Logical key must be selected" msgstr "" -#: common/models.py:3414 +#: common/models.py:3415 msgid "Key must be different from logical key" msgstr "" -#: common/models.py:3418 +#: common/models.py:3419 msgid "Reference status must be selected" msgstr "" -#: common/models.py:3430 +#: common/models.py:3431 msgid "Reference status set not found" msgstr "" -#: common/models.py:3436 +#: common/models.py:3437 msgid "Key must be different from the logical keys of the reference status" msgstr "" -#: common/models.py:3442 +#: common/models.py:3443 msgid "Logical key must be in the logical keys of the reference status" msgstr "" @@ -4101,75 +4098,75 @@ msgstr "Los artículos han sido recibidos contra una orden de devolución" msgid "Error raised by plugin" msgstr "Error generado por el complemento" -#: common/serializers.py:402 +#: common/serializers.py:418 msgid "Is Running" msgstr "Está en ejecución" -#: common/serializers.py:408 +#: common/serializers.py:424 msgid "Pending Tasks" msgstr "Tareas pendientes" -#: common/serializers.py:414 +#: common/serializers.py:430 msgid "Scheduled Tasks" msgstr "Tareas Programadas" -#: common/serializers.py:420 +#: common/serializers.py:436 msgid "Failed Tasks" msgstr "Tareas fallidas" -#: common/serializers.py:435 +#: common/serializers.py:451 msgid "Task ID" msgstr "Identificación de Tarea" -#: common/serializers.py:435 +#: common/serializers.py:451 msgid "Unique task ID" msgstr "Identificación de tarea única" -#: common/serializers.py:437 +#: common/serializers.py:453 msgid "Lock" msgstr "Bloquear" -#: common/serializers.py:437 +#: common/serializers.py:453 msgid "Lock time" msgstr "Bloquear hora" -#: common/serializers.py:439 +#: common/serializers.py:455 msgid "Task name" msgstr "Nombre de la tarea" -#: common/serializers.py:441 +#: common/serializers.py:457 msgid "Function" msgstr "Función" -#: common/serializers.py:441 +#: common/serializers.py:457 msgid "Function name" msgstr "Nombre de la Función" -#: common/serializers.py:443 +#: common/serializers.py:459 msgid "Arguments" msgstr "Argumentos" -#: common/serializers.py:443 +#: common/serializers.py:459 msgid "Task arguments" msgstr "Argumentos de la tarea" -#: common/serializers.py:446 +#: common/serializers.py:462 msgid "Keyword Arguments" msgstr "Argumentos de palabra clave" -#: common/serializers.py:446 +#: common/serializers.py:462 msgid "Task keyword arguments" msgstr "Argumentos de palabra clave de tarea" -#: common/serializers.py:556 +#: common/serializers.py:572 msgid "Filename" msgstr "Nombre de Archivo" -#: common/serializers.py:563 report/api.py:100 report/serializers.py:53 +#: common/serializers.py:579 report/api.py:100 report/serializers.py:54 msgid "Model Type" msgstr "" -#: common/serializers.py:591 +#: common/serializers.py:607 msgid "User does not have permission to create or edit attachments for this model" msgstr "" @@ -4447,12 +4444,12 @@ msgstr "Enlace a información de dirección (externa)" #: company/models.py:467 company/models.py:584 company/models.py:808 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 -#: stock/templates/stock/item_base.html:217 +#: stock/templates/stock/item_base.html:213 msgid "Manufacturer Part" msgstr "Parte del fabricante" #: company/models.py:484 company/models.py:776 stock/models.py:791 -#: stock/serializers.py:452 stock/templates/stock/item_base.html:142 +#: stock/serializers.py:452 stock/templates/stock/item_base.html:138 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "Parte base" @@ -4463,8 +4460,8 @@ msgstr "Seleccionar parte" #: company/models.py:495 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:567 -#: stock/templates/stock/item_base.html:207 +#: company/templates/company/supplier_part.html:145 part/serializers.py:565 +#: stock/templates/stock/item_base.html:203 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 #: templates/js/translated/company.js:1296 @@ -4479,7 +4476,7 @@ msgstr "Seleccionar fabricante" #: company/models.py:502 company/templates/company/manufacturer_part.html:101 #: company/templates/company/supplier_part.html:153 order/serializers.py:557 -#: part/serializers.py:577 templates/js/translated/company.js:351 +#: part/serializers.py:575 templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 #: templates/js/translated/company.js:1630 templates/js/translated/part.js:1807 @@ -4505,7 +4502,7 @@ msgid "Parameter name" msgstr "Nombre del parámetro" #: company/models.py:597 report/templates/report/inventree_test_report.html:104 -#: stock/models.py:2544 templates/js/translated/company.js:1166 +#: stock/models.py:2539 templates/js/translated/company.js:1166 #: templates/js/translated/company.js:1419 templates/js/translated/part.js:1499 #: templates/js/translated/stock.js:1607 msgid "Value" @@ -4516,7 +4513,7 @@ msgid "Parameter value" msgstr "Valor del parámetro" #: company/models.py:605 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1159 part/models.py:3783 +#: part/admin.py:57 part/models.py:1159 part/models.py:3770 #: part/templates/part/part_base.html:300 #: templates/js/translated/company.js:1425 templates/js/translated/part.js:1518 #: templates/js/translated/part.js:1622 templates/js/translated/part.js:2376 @@ -4530,7 +4527,7 @@ msgstr "Unidades de parámetro" #: company/models.py:659 company/templates/company/supplier_part.html:7 #: company/templates/company/supplier_part.html:24 order/api.py:440 #: order/serializers.py:492 stock/models.py:802 -#: stock/templates/stock/item_base.html:233 +#: stock/templates/stock/item_base.html:229 #: templates/js/translated/build.js:1055 #: templates/js/translated/company.js:1600 #: templates/js/translated/purchase_order.js:752 @@ -4553,9 +4550,9 @@ msgstr "La parte vinculada del fabricante debe hacer referencia a la misma parte #: company/models.py:786 company/templates/company/company_base.html:87 #: company/templates/company/supplier_part.html:129 order/models.py:492 #: order/templates/order/order_base.html:141 part/bom.py:279 part/bom.py:314 -#: part/serializers.py:551 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:549 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 -#: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 +#: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:220 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:511 @@ -4570,7 +4567,7 @@ msgstr "Proveedor" msgid "Select supplier" msgstr "Seleccionar proveedor" -#: company/models.py:793 part/serializers.py:562 +#: company/models.py:793 part/serializers.py:560 msgid "Supplier stock keeping unit" msgstr "Unidad de mantenimiento de stock de proveedores" @@ -4591,7 +4588,7 @@ msgid "Supplier part description" msgstr "Descripción de la parte del proveedor" #: company/models.py:832 company/templates/company/supplier_part.html:187 -#: order/serializers.py:699 part/admin.py:415 part/models.py:4301 +#: order/serializers.py:699 part/admin.py:415 part/models.py:4288 #: part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 @@ -4603,11 +4600,11 @@ msgstr "Descripción de la parte del proveedor" msgid "Note" msgstr "Nota" -#: company/models.py:841 part/models.py:2129 +#: company/models.py:841 part/models.py:2128 msgid "base cost" msgstr "costo base" -#: company/models.py:842 part/models.py:2130 +#: company/models.py:842 part/models.py:2129 msgid "Minimum charge (e.g. stocking fee)" msgstr "Cargo mínimo (p. ej., cuota de almacenamiento)" @@ -4629,7 +4626,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:876 part/models.py:2136 +#: company/models.py:876 part/models.py:2135 msgid "multiple" msgstr "múltiple" @@ -4661,7 +4658,7 @@ msgstr "Moneda predeterminada utilizada para este proveedor" msgid "Company Name" msgstr "" -#: company/serializers.py:397 part/admin.py:126 part/serializers.py:919 +#: company/serializers.py:397 part/admin.py:126 part/serializers.py:917 #: part/templates/part/part_base.html:197 #: templates/js/translated/company.js:1689 #: templates/js/translated/table_filters.js:362 @@ -4735,7 +4732,7 @@ msgstr "Borrar imagen" #: order/models.py:2140 order/templates/order/return_order_base.html:134 #: order/templates/order/sales_order_base.html:151 stock/models.py:844 #: stock/models.py:845 stock/serializers.py:1336 -#: stock/templates/stock/item_base.html:405 +#: stock/templates/stock/item_base.html:401 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 #: templates/js/translated/return_order.js:295 @@ -4939,7 +4936,7 @@ msgstr "No hay información del fabricante disponible" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:925 +#: part/admin.py:122 part/serializers.py:923 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -5030,7 +5027,7 @@ msgid "No supplier information available" msgstr "No hay información de proveedor disponible" #: company/templates/company/supplier_part.html:139 order/serializers.py:554 -#: part/bom.py:286 part/bom.py:315 part/serializers.py:561 +#: part/bom.py:286 part/bom.py:315 part/serializers.py:559 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1793 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1920 @@ -5084,7 +5081,7 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:923 part/stocktake.py:223 +#: part/serializers.py:921 part/stocktake.py:223 #: part/templates/part/category.html:180 #: part/templates/part/category_sidebar.html:17 stock/admin.py:68 #: stock/serializers.py:1021 stock/serializers.py:1199 @@ -5215,7 +5212,7 @@ msgstr "" msgid "Original row data" msgstr "" -#: importer/models.py:504 part/models.py:3965 +#: importer/models.py:504 part/models.py:3952 msgid "Data" msgstr "Datos" @@ -5473,7 +5470,7 @@ msgstr "" #: order/models.py:1592 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_purchase_order_report.html:14 -#: stock/serializers.py:121 stock/templates/stock/item_base.html:176 +#: stock/serializers.py:121 stock/templates/stock/item_base.html:172 #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/part.js:1752 templates/js/translated/pricing.js:804 #: templates/js/translated/purchase_order.js:168 @@ -5694,7 +5691,7 @@ msgid "Number of items received" msgstr "Número de artículos recibidos" #: order/models.py:1513 stock/models.py:963 stock/serializers.py:617 -#: stock/templates/stock/item_base.html:183 +#: stock/templates/stock/item_base.html:179 #: templates/js/translated/stock.js:2397 msgid "Purchase Price" msgstr "Precio de Compra" @@ -5768,7 +5765,7 @@ msgid "User who checked this shipment" msgstr "Usuario que revisó este envío" #: order/models.py:1788 order/models.py:2011 order/serializers.py:1479 -#: order/serializers.py:1589 templates/js/translated/model_renderers.js:455 +#: order/serializers.py:1597 templates/js/translated/model_renderers.js:455 msgid "Shipment" msgstr "Envío" @@ -5982,7 +5979,7 @@ msgstr "Partida" msgid "Line item does not match purchase order" msgstr "La partida no coincide con la orden de compra" -#: order/serializers.py:656 order/serializers.py:779 order/serializers.py:1790 +#: order/serializers.py:656 order/serializers.py:779 order/serializers.py:1798 msgid "Select destination location for received items" msgstr "Seleccione la ubicación de destino para los artículos recibidos" @@ -6019,7 +6016,7 @@ msgstr "Código de barras en uso" msgid "An integer quantity must be provided for trackable parts" msgstr "Debe proporcionarse una cantidad entera para las partes rastreables" -#: order/serializers.py:795 order/serializers.py:1806 +#: order/serializers.py:795 order/serializers.py:1814 msgid "Line items must be provided" msgstr "Se deben proporcionar las partidas" @@ -6051,39 +6048,39 @@ msgstr "La cantidad debe ser positiva" msgid "Enter serial numbers to allocate" msgstr "Introduzca números de serie para asignar" -#: order/serializers.py:1491 order/serializers.py:1597 +#: order/serializers.py:1491 order/serializers.py:1605 msgid "Shipment has already been shipped" msgstr "El envío ya ha sido enviado" -#: order/serializers.py:1494 order/serializers.py:1600 +#: order/serializers.py:1494 order/serializers.py:1608 msgid "Shipment is not associated with this order" msgstr "El envío no está asociado con este pedido" -#: order/serializers.py:1541 +#: order/serializers.py:1549 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:1548 -msgid "The following serial numbers are already allocated" -msgstr "Los siguientes números de serie ya están asignados" +#: order/serializers.py:1556 +msgid "The following serial numbers are unavailable" +msgstr "" -#: order/serializers.py:1760 +#: order/serializers.py:1768 msgid "Return order line item" msgstr "Partida de orden de devolución" -#: order/serializers.py:1766 +#: order/serializers.py:1774 msgid "Line item does not match return order" msgstr "La partida no coincide con la orden de devolución" -#: order/serializers.py:1769 +#: order/serializers.py:1777 msgid "Line item has already been received" msgstr "La partida ya ha sido recibida" -#: order/serializers.py:1798 +#: order/serializers.py:1806 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:1881 +#: order/serializers.py:1889 msgid "Line price currency" msgstr "Moneda de precio de línea" @@ -6510,7 +6507,7 @@ 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:48 part/models.py:1044 part/serializers.py:908 +#: part/admin.py:48 part/models.py:1044 part/serializers.py:906 #: part/templates/part/part_base.html:276 #: report/templates/report/inventree_stock_location_report.html:103 #: templates/js/translated/part.js:1233 templates/js/translated/part.js:2347 @@ -6537,7 +6534,7 @@ msgstr "Imagen de parte" msgid "Category ID" msgstr "ID de Categoría" -#: part/admin.py:67 part/admin.py:304 part/serializers.py:893 +#: part/admin.py:67 part/admin.py:304 part/serializers.py:891 #: part/stocktake.py:222 msgid "Category Name" msgstr "Nombre de categoría" @@ -6562,18 +6559,18 @@ msgstr "Stock mínimo" msgid "Used In" msgstr "Usado en" -#: part/admin.py:150 part/serializers.py:918 +#: part/admin.py:150 part/serializers.py:916 #: part/templates/part/part_base.html:248 stock/admin.py:236 #: templates/js/translated/part.js:717 templates/js/translated/part.js:2159 msgid "Building" msgstr "En construcción" -#: part/admin.py:155 part/models.py:3214 part/models.py:3228 +#: part/admin.py:155 part/models.py:3201 part/models.py:3215 #: templates/js/translated/part.js:976 msgid "Minimum Cost" msgstr "Costo mínimo" -#: part/admin.py:158 part/models.py:3221 part/models.py:3235 +#: part/admin.py:158 part/models.py:3208 part/models.py:3222 #: templates/js/translated/part.js:986 msgid "Maximum Cost" msgstr "Costo máximo" @@ -6592,7 +6589,7 @@ msgid "Category Path" msgstr "Ruta de Categoría" #: part/admin.py:325 part/models.py:420 part/serializers.py:130 -#: part/serializers.py:290 part/serializers.py:428 +#: part/serializers.py:290 part/serializers.py:426 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:20 #: part/templates/part/category.html:138 part/templates/part/category.html:158 #: part/templates/part/category_sidebar.html:9 @@ -6619,13 +6616,13 @@ msgstr "IPN del padre" msgid "Part Revision" msgstr "" -#: part/admin.py:418 part/serializers.py:1367 +#: part/admin.py:418 part/serializers.py:1365 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "Precio mínimo" -#: part/admin.py:423 part/serializers.py:1382 +#: part/admin.py:423 part/serializers.py:1380 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -6719,8 +6716,8 @@ msgstr "" msgid "BOM Valid" msgstr "" -#: part/api.py:1520 part/models.py:1036 part/models.py:3501 part/models.py:4060 -#: part/serializers.py:443 part/serializers.py:1223 +#: part/api.py:1520 part/models.py:1036 part/models.py:3488 part/models.py:4047 +#: part/serializers.py:441 part/serializers.py:1221 #: part/templates/part/part_base.html:267 stock/api.py:780 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 @@ -6746,7 +6743,7 @@ msgstr "" msgid "Default Location" msgstr "Ubicación Predeterminada" -#: part/bom.py:184 part/serializers.py:926 +#: part/bom.py:184 part/serializers.py:924 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "Inventario Total" @@ -6755,7 +6752,7 @@ msgstr "Inventario Total" msgid "Input quantity for price calculation" msgstr "Cantidad de entrada para el cálculo del precio" -#: part/models.py:89 part/models.py:4061 part/templates/part/category.html:16 +#: part/models.py:89 part/models.py:4048 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "Categoría de parte" @@ -6878,7 +6875,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:995 part/models.py:4116 +#: part/models.py:995 part/models.py:4103 msgid "Part name" msgstr "Nombre de la parte" @@ -6906,7 +6903,7 @@ msgstr "Palabras clave para mejorar la visibilidad en los resultados de búsqued msgid "Part category" msgstr "Categoría de parte" -#: part/models.py:1052 part/serializers.py:360 +#: part/models.py:1052 msgid "Part revision or version number" msgstr "Revisión de parte o número de versión" @@ -7012,164 +7009,164 @@ msgid "Owner responsible for this part" msgstr "" #: part/models.py:1264 part/templates/part/part_base.html:355 -#: stock/templates/stock/item_base.html:451 +#: stock/templates/stock/item_base.html:447 #: templates/js/translated/part.js:2490 msgid "Last Stocktake" msgstr "Último inventario" -#: part/models.py:2137 +#: part/models.py:2136 msgid "Sell multiple" msgstr "Vender múltiples" -#: part/models.py:3128 +#: part/models.py:3115 msgid "Currency used to cache pricing calculations" msgstr "Moneda utilizada para almacenar en caché los cálculos de precios" -#: part/models.py:3144 +#: part/models.py:3131 msgid "Minimum BOM Cost" msgstr "Costo mínimo de BOM" -#: part/models.py:3145 +#: part/models.py:3132 msgid "Minimum cost of component parts" msgstr "Costo mínimo de partes de componentes" -#: part/models.py:3151 +#: part/models.py:3138 msgid "Maximum BOM Cost" msgstr "Costo máximo de BOM" -#: part/models.py:3152 +#: part/models.py:3139 msgid "Maximum cost of component parts" msgstr "Costo máximo de partes de componentes" -#: part/models.py:3158 +#: part/models.py:3145 msgid "Minimum Purchase Cost" msgstr "Costo mínimo de compra" -#: part/models.py:3159 +#: part/models.py:3146 msgid "Minimum historical purchase cost" msgstr "Costo histórico mínimo de compra" -#: part/models.py:3165 +#: part/models.py:3152 msgid "Maximum Purchase Cost" msgstr "Costo máximo de compra" -#: part/models.py:3166 +#: part/models.py:3153 msgid "Maximum historical purchase cost" msgstr "Costo histórico máximo de compra" -#: part/models.py:3172 +#: part/models.py:3159 msgid "Minimum Internal Price" msgstr "Precio interno mínimo" -#: part/models.py:3173 +#: part/models.py:3160 msgid "Minimum cost based on internal price breaks" msgstr "Costo mínimo basado en precios reducidos internos" -#: part/models.py:3179 +#: part/models.py:3166 msgid "Maximum Internal Price" msgstr "Precio interno máximo" -#: part/models.py:3180 +#: part/models.py:3167 msgid "Maximum cost based on internal price breaks" msgstr "Costo máximo basado en precios reducidos internos" -#: part/models.py:3186 +#: part/models.py:3173 msgid "Minimum Supplier Price" msgstr "Precio mínimo de proveedor" -#: part/models.py:3187 +#: part/models.py:3174 msgid "Minimum price of part from external suppliers" msgstr "Precio mínimo de la parte de proveedores externos" -#: part/models.py:3193 +#: part/models.py:3180 msgid "Maximum Supplier Price" msgstr "Precio máximo de proveedor" -#: part/models.py:3194 +#: part/models.py:3181 msgid "Maximum price of part from external suppliers" msgstr "Precio máximo de la parte de proveedores externos" -#: part/models.py:3200 +#: part/models.py:3187 msgid "Minimum Variant Cost" msgstr "Costo mínimo de variante" -#: part/models.py:3201 +#: part/models.py:3188 msgid "Calculated minimum cost of variant parts" msgstr "Costo mínimo calculado de las partes variantes" -#: part/models.py:3207 +#: part/models.py:3194 msgid "Maximum Variant Cost" msgstr "Costo máximo de variante" -#: part/models.py:3208 +#: part/models.py:3195 msgid "Calculated maximum cost of variant parts" msgstr "Costo máximo calculado de las partes variantes" -#: part/models.py:3215 +#: part/models.py:3202 msgid "Override minimum cost" msgstr "Anular el costo mínimo" -#: part/models.py:3222 +#: part/models.py:3209 msgid "Override maximum cost" msgstr "" -#: part/models.py:3229 +#: part/models.py:3216 msgid "Calculated overall minimum cost" msgstr "Costo mínimo general calculado" -#: part/models.py:3236 +#: part/models.py:3223 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3242 +#: part/models.py:3229 msgid "Minimum Sale Price" msgstr "Precio de venta mínimo" -#: part/models.py:3243 +#: part/models.py:3230 msgid "Minimum sale price based on price breaks" msgstr "Precio de venta mínimo basado en precios reducidos" -#: part/models.py:3249 +#: part/models.py:3236 msgid "Maximum Sale Price" msgstr "Precio de venta máximo" -#: part/models.py:3250 +#: part/models.py:3237 msgid "Maximum sale price based on price breaks" msgstr "Precio de venta máximo basado en precios reducidos" -#: part/models.py:3256 +#: part/models.py:3243 msgid "Minimum Sale Cost" msgstr "Costo de venta mínimo" -#: part/models.py:3257 +#: part/models.py:3244 msgid "Minimum historical sale price" msgstr "Precio de venta mínimo histórico" -#: part/models.py:3263 +#: part/models.py:3250 msgid "Maximum Sale Cost" msgstr "Costo de Venta Máximo" -#: part/models.py:3264 +#: part/models.py:3251 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3283 +#: part/models.py:3270 msgid "Part for stocktake" msgstr "" -#: part/models.py:3288 +#: part/models.py:3275 msgid "Item Count" msgstr "Número de artículos" -#: part/models.py:3289 +#: part/models.py:3276 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3297 +#: part/models.py:3284 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3301 part/models.py:3384 +#: part/models.py:3288 part/models.py:3371 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -7181,363 +7178,363 @@ msgstr "" msgid "Date" msgstr "Fecha" -#: part/models.py:3302 +#: part/models.py:3289 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3310 +#: part/models.py:3297 msgid "Additional notes" msgstr "Notas adicionales" -#: part/models.py:3320 +#: part/models.py:3307 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3326 +#: part/models.py:3313 msgid "Minimum Stock Cost" msgstr "Costo de Stock Mínimo" -#: part/models.py:3327 +#: part/models.py:3314 msgid "Estimated minimum cost of stock on hand" msgstr "Costo mínimo estimado del stock disponible" -#: part/models.py:3333 +#: part/models.py:3320 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3334 +#: part/models.py:3321 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3390 templates/InvenTree/settings/settings_staff_js.html:532 +#: part/models.py:3377 templates/InvenTree/settings/settings_staff_js.html:532 msgid "Report" msgstr "Informe" -#: part/models.py:3391 +#: part/models.py:3378 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3396 templates/InvenTree/settings/settings_staff_js.html:539 +#: part/models.py:3383 templates/InvenTree/settings/settings_staff_js.html:539 msgid "Part Count" msgstr "Número de partes" -#: part/models.py:3397 +#: part/models.py:3384 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3407 +#: part/models.py:3394 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3417 +#: part/models.py:3404 msgid "Part Sale Price Break" msgstr "" -#: part/models.py:3529 +#: part/models.py:3516 msgid "Part Test Template" msgstr "" -#: part/models.py:3555 +#: part/models.py:3542 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3576 part/models.py:3745 +#: part/models.py:3563 part/models.py:3732 msgid "Choices must be unique" msgstr "" -#: part/models.py:3587 +#: part/models.py:3574 msgid "Test templates can only be created for testable parts" -msgstr "" +msgstr "Las plantillas de prueba solo pueden ser creadas para partes de prueba" -#: part/models.py:3598 +#: part/models.py:3585 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3615 templates/js/translated/part.js:2898 +#: part/models.py:3602 templates/js/translated/part.js:2898 msgid "Test Name" msgstr "Nombre de prueba" -#: part/models.py:3616 +#: part/models.py:3603 msgid "Enter a name for the test" msgstr "Introduzca un nombre para la prueba" -#: part/models.py:3622 +#: part/models.py:3609 msgid "Test Key" msgstr "" -#: part/models.py:3623 +#: part/models.py:3610 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3630 +#: part/models.py:3617 msgid "Test Description" msgstr "Descripción de prueba" -#: part/models.py:3631 +#: part/models.py:3618 msgid "Enter description for this test" msgstr "Introduce la descripción para esta prueba" -#: part/models.py:3635 report/models.py:208 +#: part/models.py:3622 report/models.py:216 #: templates/js/translated/part.js:2919 #: templates/js/translated/table_filters.js:502 msgid "Enabled" msgstr "Habilitado" -#: part/models.py:3635 +#: part/models.py:3622 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3640 templates/js/translated/part.js:2927 +#: part/models.py:3627 templates/js/translated/part.js:2927 #: templates/js/translated/table_filters.js:498 msgid "Required" msgstr "Requerido" -#: part/models.py:3641 +#: part/models.py:3628 msgid "Is this test required to pass?" msgstr "¿Es necesario pasar esta prueba?" -#: part/models.py:3646 templates/js/translated/part.js:2935 +#: part/models.py:3633 templates/js/translated/part.js:2935 msgid "Requires Value" msgstr "Requiere valor" -#: part/models.py:3647 +#: part/models.py:3634 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:3652 templates/js/translated/part.js:2942 +#: part/models.py:3639 templates/js/translated/part.js:2942 msgid "Requires Attachment" msgstr "Adjunto obligatorio" -#: part/models.py:3654 +#: part/models.py:3641 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:3660 part/models.py:3804 templates/js/translated/part.js:1643 +#: part/models.py:3647 part/models.py:3791 templates/js/translated/part.js:1643 msgid "Choices" msgstr "Opciones" -#: part/models.py:3661 +#: part/models.py:3648 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3693 +#: part/models.py:3680 msgid "Part Parameter Template" msgstr "" -#: part/models.py:3720 +#: part/models.py:3707 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3725 +#: part/models.py:3712 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3762 +#: part/models.py:3749 msgid "Parameter template name must be unique" msgstr "El nombre de parámetro en la plantilla tiene que ser único" -#: part/models.py:3777 +#: part/models.py:3764 msgid "Parameter Name" msgstr "Nombre de Parámetro" -#: part/models.py:3784 +#: part/models.py:3771 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3792 +#: part/models.py:3779 msgid "Parameter description" msgstr "" -#: part/models.py:3798 templates/js/translated/part.js:1634 +#: part/models.py:3785 templates/js/translated/part.js:1634 #: templates/js/translated/table_filters.js:837 msgid "Checkbox" msgstr "Casilla de verificación" -#: part/models.py:3799 +#: part/models.py:3786 msgid "Is this parameter a checkbox?" msgstr "¿Es este parámetro una casilla de verificación?" -#: part/models.py:3805 +#: part/models.py:3792 msgid "Valid choices for this parameter (comma-separated)" msgstr "Opciones válidas para este parámetro (separados por comas)" -#: part/models.py:3839 +#: part/models.py:3826 msgid "Part Parameter" msgstr "" -#: part/models.py:3865 +#: part/models.py:3852 msgid "Parameter cannot be modified - part is locked" msgstr "" -#: part/models.py:3903 +#: part/models.py:3890 msgid "Invalid choice for parameter value" msgstr "Opción inválida para el valor del parámetro" -#: part/models.py:3952 +#: part/models.py:3939 msgid "Parent Part" msgstr "Parte principal" -#: part/models.py:3960 part/models.py:4068 part/models.py:4069 +#: part/models.py:3947 part/models.py:4055 part/models.py:4056 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "Plantilla de parámetro" -#: part/models.py:3966 +#: part/models.py:3953 msgid "Parameter Value" msgstr "Valor del parámetro" -#: part/models.py:4016 +#: part/models.py:4003 msgid "Part Category Parameter Template" msgstr "" -#: part/models.py:4075 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:4062 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "Valor predeterminado" -#: part/models.py:4076 +#: part/models.py:4063 msgid "Default Parameter Value" msgstr "Valor de parámetro por defecto" -#: part/models.py:4114 +#: part/models.py:4101 msgid "Part ID or part name" msgstr "ID de parte o nombre de parte" -#: part/models.py:4115 +#: part/models.py:4102 msgid "Unique part ID value" msgstr "Valor de ID de parte única" -#: part/models.py:4117 +#: part/models.py:4104 msgid "Part IPN value" msgstr "Valor IPN de parte" -#: part/models.py:4118 +#: part/models.py:4105 msgid "Level" msgstr "Nivel" -#: part/models.py:4118 +#: part/models.py:4105 msgid "BOM level" msgstr "Nivel de BOM" -#: part/models.py:4228 +#: part/models.py:4215 msgid "BOM item cannot be modified - assembly is locked" msgstr "" -#: part/models.py:4235 +#: part/models.py:4222 msgid "BOM item cannot be modified - variant assembly is locked" msgstr "" -#: part/models.py:4245 +#: part/models.py:4232 msgid "Select parent part" msgstr "Seleccionar parte principal" -#: part/models.py:4255 +#: part/models.py:4242 msgid "Sub part" msgstr "Sub parte" -#: part/models.py:4256 +#: part/models.py:4243 msgid "Select part to be used in BOM" msgstr "Seleccionar parte a utilizar en BOM" -#: part/models.py:4267 +#: part/models.py:4254 msgid "BOM quantity for this BOM item" msgstr "Cantidad del artículo en BOM" -#: part/models.py:4273 +#: part/models.py:4260 msgid "This BOM item is optional" msgstr "Este artículo BOM es opcional" -#: part/models.py:4279 +#: part/models.py:4266 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "Este artículo de BOM es consumible (no está rastreado en órdenes de construcción)" -#: part/models.py:4286 part/templates/part/upload_bom.html:55 +#: part/models.py:4273 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "Exceso" -#: part/models.py:4287 +#: part/models.py:4274 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "Cantidad estimada de desperdicio de construcción (absoluta o porcentaje)" -#: part/models.py:4294 +#: part/models.py:4281 msgid "BOM item reference" msgstr "Referencia de artículo de BOM" -#: part/models.py:4302 +#: part/models.py:4289 msgid "BOM item notes" msgstr "Notas del artículo de BOM" -#: part/models.py:4308 +#: part/models.py:4295 msgid "Checksum" msgstr "Suma de verificación" -#: part/models.py:4309 +#: part/models.py:4296 msgid "BOM line checksum" msgstr "Suma de verificación de línea de BOM" -#: part/models.py:4314 templates/js/translated/table_filters.js:181 +#: part/models.py:4301 templates/js/translated/table_filters.js:181 msgid "Validated" msgstr "Validado" -#: part/models.py:4315 +#: part/models.py:4302 msgid "This BOM item has been validated" msgstr "Este artículo de BOM ha sido validado" -#: part/models.py:4320 part/templates/part/upload_bom.html:57 +#: part/models.py:4307 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:185 #: templates/js/translated/table_filters.js:218 msgid "Gets inherited" msgstr "" -#: part/models.py:4321 +#: part/models.py:4308 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:4327 +#: part/models.py:4314 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:4412 stock/models.py:689 +#: part/models.py:4399 stock/models.py:689 msgid "Quantity must be integer value for trackable parts" msgstr "La cantidad debe ser un valor entero para las partes rastreables" -#: part/models.py:4422 part/models.py:4424 +#: part/models.py:4409 part/models.py:4411 msgid "Sub part must be specified" msgstr "Debe especificar la subparte" -#: part/models.py:4561 +#: part/models.py:4554 msgid "BOM Item Substitute" msgstr "Ítem de BOM sustituto" -#: part/models.py:4582 +#: part/models.py:4575 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:4595 +#: part/models.py:4588 msgid "Parent BOM item" msgstr "Artículo BOM superior" -#: part/models.py:4603 +#: part/models.py:4596 msgid "Substitute part" msgstr "Sustituir parte" -#: part/models.py:4619 +#: part/models.py:4612 msgid "Part 1" msgstr "Parte 1" -#: part/models.py:4627 +#: part/models.py:4620 msgid "Part 2" msgstr "Parte 2" -#: part/models.py:4628 +#: part/models.py:4621 msgid "Select Related Part" msgstr "Seleccionar parte relacionada" -#: part/models.py:4647 +#: part/models.py:4640 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4652 +#: part/models.py:4645 msgid "Duplicate relationship already exists" msgstr "" @@ -7571,326 +7568,326 @@ msgstr "Moneda de compra de ítem de stock" msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:434 +#: part/serializers.py:432 msgid "No parts selected" msgstr "" -#: part/serializers.py:444 +#: part/serializers.py:442 msgid "Select category" msgstr "" -#: part/serializers.py:479 +#: part/serializers.py:477 msgid "Original Part" msgstr "Parte original" -#: part/serializers.py:480 +#: part/serializers.py:478 msgid "Select original part to duplicate" msgstr "Seleccione la parte original a duplicar" -#: part/serializers.py:485 +#: part/serializers.py:483 msgid "Copy Image" msgstr "Copiar Imagen" -#: part/serializers.py:486 +#: part/serializers.py:484 msgid "Copy image from original part" msgstr "Copiar imagen desde la parte original" -#: part/serializers.py:492 part/templates/part/detail.html:293 +#: part/serializers.py:490 part/templates/part/detail.html:293 msgid "Copy BOM" msgstr "Copiar BOM" -#: part/serializers.py:493 +#: part/serializers.py:491 msgid "Copy bill of materials from original part" msgstr "Copiar la factura de materiales de la parte original" -#: part/serializers.py:499 +#: part/serializers.py:497 msgid "Copy Parameters" msgstr "Copiar Parámetros" -#: part/serializers.py:500 +#: part/serializers.py:498 msgid "Copy parameter data from original part" msgstr "Copiar datos del parámetro de la parte original" -#: part/serializers.py:506 +#: part/serializers.py:504 msgid "Copy Notes" msgstr "Copiar Notas" -#: part/serializers.py:507 +#: part/serializers.py:505 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:525 +#: part/serializers.py:523 msgid "Initial Stock Quantity" msgstr "Cantidad Inicial de Stock" -#: part/serializers.py:527 +#: part/serializers.py:525 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:534 +#: part/serializers.py:532 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:535 +#: part/serializers.py:533 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:552 +#: part/serializers.py:550 msgid "Select supplier (or leave blank to skip)" msgstr "Seleccione proveedor (o déjelo en blanco para saltar)" -#: part/serializers.py:568 +#: part/serializers.py:566 msgid "Select manufacturer (or leave blank to skip)" msgstr "Seleccionar fabricante (o dejar en blanco para saltar)" -#: part/serializers.py:578 +#: part/serializers.py:576 msgid "Manufacturer part number" msgstr "Número de parte del fabricante" -#: part/serializers.py:585 +#: part/serializers.py:583 msgid "Selected company is not a valid supplier" msgstr "La empresa seleccionada no es un proveedor válido" -#: part/serializers.py:594 +#: part/serializers.py:592 msgid "Selected company is not a valid manufacturer" msgstr "La empresa seleccionada no es un fabricante válido" -#: part/serializers.py:605 +#: part/serializers.py:603 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:612 +#: part/serializers.py:610 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:924 +#: part/serializers.py:922 msgid "Revisions" msgstr "" -#: part/serializers.py:929 +#: part/serializers.py:927 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:932 +#: part/serializers.py:930 msgid "Variant Stock" msgstr "" -#: part/serializers.py:962 part/templates/part/copy_part.html:9 +#: part/serializers.py:960 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:474 msgid "Duplicate Part" msgstr "Duplicar Parte" -#: part/serializers.py:963 +#: part/serializers.py:961 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:969 templates/js/translated/part.js:103 +#: part/serializers.py:967 templates/js/translated/part.js:103 msgid "Initial Stock" msgstr "Stock Inicial" -#: part/serializers.py:970 +#: part/serializers.py:968 msgid "Create Part with initial stock quantity" msgstr "Crear Parte con cantidad inicial de stock" -#: part/serializers.py:976 +#: part/serializers.py:974 msgid "Supplier Information" msgstr "Información del proveedor" -#: part/serializers.py:977 +#: part/serializers.py:975 msgid "Add initial supplier information for this part" msgstr "Añadir información inicial del proveedor para esta parte" -#: part/serializers.py:985 +#: part/serializers.py:983 msgid "Copy Category Parameters" msgstr "Copiar Parámetros de Categoría" -#: part/serializers.py:986 +#: part/serializers.py:984 msgid "Copy parameter templates from selected part category" msgstr "Copiar plantillas de parámetro de la categoría de partes seleccionada" -#: part/serializers.py:991 +#: part/serializers.py:989 msgid "Existing Image" msgstr "Imagen Existente" -#: part/serializers.py:992 +#: part/serializers.py:990 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:1009 +#: part/serializers.py:1007 msgid "Image file does not exist" msgstr "El archivo de imagen no existe" -#: part/serializers.py:1215 +#: part/serializers.py:1213 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1225 +#: part/serializers.py:1223 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1235 +#: part/serializers.py:1233 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1241 +#: part/serializers.py:1239 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1242 +#: part/serializers.py:1240 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1247 +#: part/serializers.py:1245 msgid "Generate Report" msgstr "Generar informe" -#: part/serializers.py:1248 +#: part/serializers.py:1246 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1253 +#: part/serializers.py:1251 msgid "Update Parts" msgstr "Actualizar partes" -#: part/serializers.py:1254 +#: part/serializers.py:1252 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1262 +#: part/serializers.py:1260 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1368 +#: part/serializers.py:1366 msgid "Override calculated value for minimum price" msgstr "Anular el valor calculado para precio mínimo" -#: part/serializers.py:1375 +#: part/serializers.py:1373 msgid "Minimum price currency" msgstr "Precio mínimo de moneda" -#: part/serializers.py:1383 +#: part/serializers.py:1381 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1390 +#: part/serializers.py:1388 msgid "Maximum price currency" msgstr "Precio máximo de moneda" -#: part/serializers.py:1419 +#: part/serializers.py:1417 msgid "Update" msgstr "Actualizar" -#: part/serializers.py:1420 +#: part/serializers.py:1418 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1443 +#: part/serializers.py:1441 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1450 +#: part/serializers.py:1448 msgid "Minimum price must not be greater than maximum price" msgstr "El precio mínimo no debe ser mayor que el precio máximo" -#: part/serializers.py:1453 +#: part/serializers.py:1451 msgid "Maximum price must not be less than minimum price" msgstr "El precio máximo no debe ser inferior al precio mínimo" -#: part/serializers.py:1597 +#: part/serializers.py:1595 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1606 +#: part/serializers.py:1604 msgid "Component Name" msgstr "" -#: part/serializers.py:1609 +#: part/serializers.py:1607 msgid "Component IPN" msgstr "" -#: part/serializers.py:1612 +#: part/serializers.py:1610 msgid "Component Description" msgstr "" -#: part/serializers.py:1618 +#: part/serializers.py:1616 msgid "Select the component part" msgstr "" -#: part/serializers.py:1627 part/templates/part/part_base.html:242 +#: part/serializers.py:1625 part/templates/part/part_base.html:242 #: templates/js/translated/bom.js:1219 msgid "Can Build" msgstr "Puede construir" -#: part/serializers.py:1858 +#: part/serializers.py:1856 msgid "Select part to copy BOM from" msgstr "Seleccionar parte de la que copiar BOM" -#: part/serializers.py:1866 +#: part/serializers.py:1864 msgid "Remove Existing Data" msgstr "Eliminar Datos Existentes" -#: part/serializers.py:1867 +#: part/serializers.py:1865 msgid "Remove existing BOM items before copying" msgstr "Eliminar artículos BOM existentes antes de copiar" -#: part/serializers.py:1872 +#: part/serializers.py:1870 msgid "Include Inherited" msgstr "Incluye Heredado" -#: part/serializers.py:1873 +#: part/serializers.py:1871 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:1878 +#: part/serializers.py:1876 msgid "Skip Invalid Rows" msgstr "Omitir filas no válidas" -#: part/serializers.py:1879 +#: part/serializers.py:1877 msgid "Enable this option to skip invalid rows" msgstr "Activar esta opción para omitir filas inválidas" -#: part/serializers.py:1884 +#: part/serializers.py:1882 msgid "Copy Substitute Parts" msgstr "Copiar partes sustitutas" -#: part/serializers.py:1885 +#: part/serializers.py:1883 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1922 +#: part/serializers.py:1920 msgid "Clear Existing BOM" msgstr "Limpiar BOM Existente" -#: part/serializers.py:1923 +#: part/serializers.py:1921 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1955 +#: part/serializers.py:1953 msgid "No part column specified" msgstr "" -#: part/serializers.py:1999 +#: part/serializers.py:1997 msgid "Multiple matching parts found" msgstr "Varios resultados encontrados" -#: part/serializers.py:2002 +#: part/serializers.py:2000 msgid "No matching part found" msgstr "No se encontraron partes coincidentes" -#: part/serializers.py:2004 +#: part/serializers.py:2002 msgid "Part is not designated as a component" msgstr "La parte no está designada como componente" -#: part/serializers.py:2013 +#: part/serializers.py:2011 msgid "Quantity not provided" msgstr "Cantidad no proporcionada" -#: part/serializers.py:2021 +#: part/serializers.py:2019 msgid "Invalid quantity" msgstr "Cantidad no válida" -#: part/serializers.py:2044 +#: part/serializers.py:2042 msgid "At least one BOM item is required" msgstr "Se requiere al menos un artículo BOM" @@ -8216,7 +8213,7 @@ msgid "Subscribe to notifications for this part" msgstr "Suscríbete a las notificaciones de este artículo" #: part/templates/part/part_base.html:52 -#: stock/templates/stock/item_base.html:62 +#: stock/templates/stock/item_base.html:61 #: stock/templates/stock/location.html:71 templates/js/translated/label.js:136 msgid "Print Label" msgstr "Imprimir etiqueta" @@ -8226,7 +8223,7 @@ msgid "Show pricing information" msgstr "Mostrar información de precios" #: part/templates/part/part_base.html:63 -#: stock/templates/stock/item_base.html:110 +#: stock/templates/stock/item_base.html:106 #: stock/templates/stock/location.html:80 msgid "Stock actions" msgstr "Acciones de stock" @@ -8297,12 +8294,12 @@ msgid "Required for Orders" msgstr "" #: part/templates/part/part_base.html:225 -#: stock/templates/stock/item_base.html:388 +#: stock/templates/stock/item_base.html:384 msgid "Allocated to Build Orders" msgstr "" #: part/templates/part/part_base.html:234 -#: stock/templates/stock/item_base.html:381 +#: stock/templates/stock/item_base.html:377 msgid "Allocated to Sales Orders" msgstr "" @@ -8322,7 +8319,7 @@ msgid "Latest Serial Number" msgstr "Último número de serie" #: part/templates/part/part_base.html:372 -#: stock/templates/stock/item_base.html:322 +#: stock/templates/stock/item_base.html:318 msgid "Search for serial number" msgstr "Buscar número de serie" @@ -8449,7 +8446,7 @@ msgid "Edit" msgstr "Editar" #: part/templates/part/prices.html:28 stock/admin.py:252 -#: stock/templates/stock/item_base.html:446 +#: stock/templates/stock/item_base.html:442 #: templates/js/translated/company.js:1703 #: templates/js/translated/company.js:1713 #: templates/js/translated/stock.js:2332 @@ -8604,7 +8601,7 @@ msgstr "Imagen de parte no encontrada" msgid "Part Pricing" msgstr "Precio de parte" -#: plugin/api.py:172 +#: plugin/api.py:174 msgid "Plugin cannot be deleted as it is currently active" msgstr "" @@ -8940,7 +8937,7 @@ msgstr "" msgid "Print a border around each label" msgstr "" -#: plugin/builtin/labels/label_sheet.py:47 report/models.py:307 +#: plugin/builtin/labels/label_sheet.py:47 report/models.py:315 msgid "Landscape" msgstr "" @@ -9012,44 +9009,44 @@ msgstr "" msgid "The Supplier which acts as 'TME'" msgstr "" -#: plugin/installer.py:194 plugin/installer.py:274 +#: plugin/installer.py:199 plugin/installer.py:282 msgid "Only staff users can administer plugins" msgstr "" -#: plugin/installer.py:197 +#: plugin/installer.py:202 msgid "Plugin installation is disabled" msgstr "" -#: plugin/installer.py:241 +#: plugin/installer.py:246 msgid "Installed plugin successfully" msgstr "" -#: plugin/installer.py:246 +#: plugin/installer.py:251 #, python-brace-format msgid "Installed plugin into {path}" msgstr "" -#: plugin/installer.py:265 +#: plugin/installer.py:273 msgid "Plugin was not found in registry" msgstr "" -#: plugin/installer.py:268 +#: plugin/installer.py:276 msgid "Plugin is not a packaged plugin" msgstr "" -#: plugin/installer.py:271 +#: plugin/installer.py:279 msgid "Plugin package name not found" msgstr "" -#: plugin/installer.py:291 +#: plugin/installer.py:299 msgid "Plugin uninstalling is disabled" msgstr "" -#: plugin/installer.py:295 +#: plugin/installer.py:303 msgid "Plugin cannot be uninstalled as it is currently active" msgstr "" -#: plugin/installer.py:308 +#: plugin/installer.py:316 msgid "Uninstalled plugin successfully" msgstr "" @@ -9098,7 +9095,7 @@ msgstr "Complemento integrado" msgid "Package Plugin" msgstr "" -#: plugin/models.py:220 report/models.py:474 +#: plugin/models.py:220 report/models.py:482 #: templates/InvenTree/settings/plugin_settings.html:9 #: templates/js/translated/plugin.js:51 msgid "Plugin" @@ -9167,6 +9164,38 @@ msgstr "" msgid "InvenTree Contributors" msgstr "" +#: plugin/samples/integration/user_interface_sample.py:22 +msgid "Enable Part Panels" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:23 +msgid "Enable custom panels for Part views" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:28 +msgid "Enable Purchase Order Panels" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:29 +msgid "Enable custom panels for Purchase Order views" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:34 +msgid "Enable Broken Panels" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:35 +msgid "Enable broken panels for testing" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:40 +msgid "Enable Dynamic Panel" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:41 +msgid "Enable dynamic panels for testing" +msgstr "" + #: plugin/serializers.py:81 msgid "Source URL" msgstr "URL de origen" @@ -9245,12 +9274,36 @@ msgstr "" msgid "Delete the plugin configuration from the database" msgstr "" +#: plugin/serializers.py:324 +msgid "Plugin Key" +msgstr "" + +#: plugin/serializers.py:328 +msgid "Panel Name" +msgstr "" + +#: plugin/serializers.py:332 +msgid "Panel Title" +msgstr "" + +#: plugin/serializers.py:337 +msgid "Panel Icon" +msgstr "" + +#: plugin/serializers.py:341 +msgid "Panel Content (HTML)" +msgstr "" + +#: plugin/serializers.py:345 +msgid "Panel Source (javascript)" +msgstr "" + #: report/api.py:88 msgid "No valid objects provided to template" msgstr "No se han proporcionado objetos válidos a la plantilla" -#: report/api.py:103 report/models.py:438 report/serializers.py:98 -#: report/serializers.py:148 templates/js/translated/purchase_order.js:1817 +#: report/api.py:103 report/models.py:446 report/serializers.py:99 +#: report/serializers.py:149 templates/js/translated/purchase_order.js:1817 #: templates/js/translated/return_order.js:353 #: templates/js/translated/sales_order.js:887 #: templates/js/translated/sales_order.js:1047 @@ -9281,7 +9334,11 @@ msgstr "" msgid "Error printing label" msgstr "" -#: report/api.py:375 report/api.py:411 +#: report/api.py:358 +msgid "Report saved at time of printing" +msgstr "" + +#: report/api.py:384 report/api.py:420 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" @@ -9318,135 +9375,143 @@ msgstr "" msgid "Revision number (auto-increments)" msgstr "" -#: report/models.py:202 +#: report/models.py:168 +msgid "Attach to Model on Print" +msgstr "" + +#: report/models.py:170 +msgid "Save report output as an attachment against linked model instance when printing" +msgstr "" + +#: report/models.py:210 msgid "Filename Pattern" msgstr "Patrón de Nombre de archivo" -#: report/models.py:203 +#: report/models.py:211 msgid "Pattern for generating filenames" msgstr "" -#: report/models.py:208 +#: report/models.py:216 msgid "Template is enabled" msgstr "" -#: report/models.py:214 +#: report/models.py:222 msgid "Target model type for template" msgstr "" -#: report/models.py:234 +#: report/models.py:242 msgid "Filters" msgstr "Filtros" -#: report/models.py:235 +#: report/models.py:243 msgid "Template query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:294 report/models.py:361 +#: report/models.py:302 report/models.py:369 msgid "Template file" msgstr "" -#: report/models.py:302 +#: report/models.py:310 msgid "Page size for PDF reports" msgstr "Tamaño de página para reportes PDF" -#: report/models.py:308 +#: report/models.py:316 msgid "Render report in landscape orientation" msgstr "" -#: report/models.py:367 +#: report/models.py:375 msgid "Width [mm]" msgstr "Ancho [mm]" -#: report/models.py:368 +#: report/models.py:376 msgid "Label width, specified in mm" msgstr "Ancho de la etiqueta, especificado en mm" -#: report/models.py:374 +#: report/models.py:382 msgid "Height [mm]" msgstr "Altura [mm]" -#: report/models.py:375 +#: report/models.py:383 msgid "Label height, specified in mm" msgstr "Altura de la etiqueta, especificada en mm" -#: report/models.py:438 +#: report/models.py:446 msgid "Number of items to process" msgstr "" -#: report/models.py:444 +#: report/models.py:452 msgid "Report generation is complete" msgstr "" -#: report/models.py:448 templates/js/translated/build.js:2352 +#: report/models.py:456 templates/js/translated/build.js:2352 msgid "Progress" msgstr "Progreso" -#: report/models.py:448 +#: report/models.py:456 msgid "Report generation progress" msgstr "" -#: report/models.py:456 +#: report/models.py:464 msgid "Report Template" msgstr "" -#: report/models.py:463 report/models.py:486 +#: report/models.py:471 report/models.py:494 msgid "Output File" msgstr "" -#: report/models.py:464 report/models.py:487 +#: report/models.py:472 report/models.py:495 msgid "Generated output file" msgstr "" -#: report/models.py:475 +#: report/models.py:483 msgid "Label output plugin" msgstr "" -#: report/models.py:479 +#: report/models.py:487 msgid "Label Template" msgstr "" -#: report/models.py:502 +#: report/models.py:510 msgid "Snippet" msgstr "Fragmento" -#: report/models.py:503 +#: report/models.py:511 msgid "Report snippet file" msgstr "Archivo fragmento de informe" -#: report/models.py:510 +#: report/models.py:518 msgid "Snippet file description" msgstr "Descripción de archivo de fragmento" -#: report/models.py:528 +#: report/models.py:536 msgid "Asset" msgstr "Activo" -#: report/models.py:529 +#: report/models.py:537 msgid "Report asset file" msgstr "Reportar archivo de activos" -#: report/models.py:536 +#: report/models.py:544 msgid "Asset file description" msgstr "Descripción del archivo de activos" -#: report/serializers.py:91 +#: report/serializers.py:92 msgid "Select report template" msgstr "" -#: report/serializers.py:99 report/serializers.py:149 +#: report/serializers.py:100 report/serializers.py:150 msgid "List of item primary keys to include in the report" msgstr "" -#: report/serializers.py:132 +#: report/serializers.py:133 msgid "Select label template" msgstr "" -#: report/serializers.py:140 +#: report/serializers.py:141 msgid "Printing Plugin" msgstr "" -#: report/serializers.py:141 +#: report/serializers.py:142 msgid "Select plugin to use for label printing" msgstr "" @@ -9517,7 +9582,7 @@ msgstr "Resultados de la Prueba" msgid "Test" msgstr "Prueba" -#: report/templates/report/inventree_test_report.html:103 stock/models.py:2538 +#: report/templates/report/inventree_test_report.html:103 stock/models.py:2533 msgid "Result" msgstr "Resultado" @@ -9598,7 +9663,7 @@ msgid "Customer ID" msgstr "ID de cliente" #: stock/admin.py:206 stock/models.py:829 -#: stock/templates/stock/item_base.html:354 +#: stock/templates/stock/item_base.html:350 msgid "Installed In" msgstr "Instalado en" @@ -9623,7 +9688,7 @@ msgid "Delete on Deplete" msgstr "" #: stock/admin.py:261 stock/models.py:923 -#: stock/templates/stock/item_base.html:433 +#: stock/templates/stock/item_base.html:429 #: templates/js/translated/stock.js:2316 users/models.py:124 msgid "Expiry Date" msgstr "Fecha de Expiración" @@ -9665,7 +9730,7 @@ msgid "Expiry date after" msgstr "" #: stock/api.py:839 stock/serializers.py:611 -#: stock/templates/stock/item_base.html:439 +#: stock/templates/stock/item_base.html:435 #: templates/js/translated/table_filters.js:448 msgid "Stale" msgstr "Desactualizado" @@ -9715,7 +9780,7 @@ msgid "Stock Locations" msgstr "Ubicaciones de Stock" #: stock/models.py:185 stock/models.py:972 -#: stock/templates/stock/item_base.html:247 +#: stock/templates/stock/item_base.html:243 msgid "Owner" msgstr "Propietario" @@ -9826,7 +9891,7 @@ msgstr "Build de origen" msgid "Build for this stock item" msgstr "Build para este item de stock" -#: stock/models.py:892 stock/templates/stock/item_base.html:363 +#: stock/models.py:892 stock/templates/stock/item_base.html:359 msgid "Consumed By" msgstr "Consumido por" @@ -9891,7 +9956,7 @@ msgstr "La cantidad no coincide con los números de serie" msgid "Serial numbers already exist" msgstr "Números de serie ya existen" -#: stock/models.py:1636 +#: stock/models.py:1636 stock/models.py:2436 msgid "Test template does not exist" msgstr "" @@ -9939,67 +10004,67 @@ msgstr "Los códigos de estado del stock deben coincidir" 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:2337 +#: stock/models.py:2335 msgid "Stock Item Tracking" msgstr "" -#: stock/models.py:2370 +#: stock/models.py:2368 msgid "Entry notes" msgstr "Notas de entrada" -#: stock/models.py:2410 +#: stock/models.py:2408 msgid "Stock Item Test Result" msgstr "" -#: stock/models.py:2443 +#: stock/models.py:2439 msgid "Value must be provided for this test" msgstr "Debe proporcionarse un valor para esta prueba" -#: stock/models.py:2448 +#: stock/models.py:2443 msgid "Attachment must be uploaded for this test" msgstr "El archivo adjunto debe ser subido para esta prueba" -#: stock/models.py:2453 +#: stock/models.py:2448 msgid "Invalid value for this test" msgstr "" -#: stock/models.py:2538 +#: stock/models.py:2533 msgid "Test result" msgstr "Resultado de la prueba" -#: stock/models.py:2545 +#: stock/models.py:2540 msgid "Test output value" msgstr "Valor de salida de prueba" -#: stock/models.py:2553 stock/serializers.py:245 +#: stock/models.py:2548 stock/serializers.py:245 msgid "Test result attachment" msgstr "Adjunto de resultados de prueba" -#: stock/models.py:2557 +#: stock/models.py:2552 msgid "Test notes" msgstr "Notas de prueba" -#: stock/models.py:2565 templates/js/translated/stock.js:1633 +#: stock/models.py:2560 templates/js/translated/stock.js:1633 msgid "Test station" msgstr "" -#: stock/models.py:2566 +#: stock/models.py:2561 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2572 +#: stock/models.py:2567 msgid "Started" msgstr "" -#: stock/models.py:2573 +#: stock/models.py:2568 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2579 +#: stock/models.py:2574 msgid "Finished" msgstr "" -#: stock/models.py:2580 +#: stock/models.py:2575 msgid "The timestamp of the test finish" msgstr "" @@ -10059,7 +10124,7 @@ msgstr "" msgid "Serial number is too large" msgstr "El número de serie es demasiado grande" -#: stock/serializers.py:459 stock/templates/stock/item_base.html:193 +#: stock/serializers.py:459 stock/templates/stock/item_base.html:189 msgid "Parent Item" msgstr "Elemento padre" @@ -10071,7 +10136,7 @@ msgstr "" msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:603 stock/templates/stock/item_base.html:437 +#: stock/serializers.py:603 stock/templates/stock/item_base.html:433 #: templates/js/translated/table_filters.js:442 users/models.py:174 msgid "Expired" msgstr "Expirado" @@ -10410,7 +10475,7 @@ msgstr "Este artículo de stock no tiene ningún artículo secundario" msgid "Test Data" msgstr "Datos de Prueba" -#: stock/templates/stock/item.html:85 stock/templates/stock/item_base.html:65 +#: stock/templates/stock/item.html:85 msgid "Test Report" msgstr "Informe de Prueba" @@ -10450,200 +10515,204 @@ msgstr "" msgid "Scan to Location" msgstr "Escanear a la ubicación" -#: stock/templates/stock/item_base.html:59 +#: stock/templates/stock/item_base.html:58 #: stock/templates/stock/location.html:67 #: templates/js/translated/filters.js:434 msgid "Printing actions" msgstr "Acciones de impresión" -#: stock/templates/stock/item_base.html:75 +#: stock/templates/stock/item_base.html:63 templates/js/translated/report.js:49 +msgid "Print Report" +msgstr "" + +#: stock/templates/stock/item_base.html:71 msgid "Stock adjustment actions" msgstr "Acciones de ajuste de stock" -#: stock/templates/stock/item_base.html:79 +#: stock/templates/stock/item_base.html:75 #: stock/templates/stock/location.html:87 templates/js/translated/stock.js:1909 msgid "Count stock" msgstr "Contar stock" -#: stock/templates/stock/item_base.html:81 +#: stock/templates/stock/item_base.html:77 #: templates/js/translated/stock.js:1891 msgid "Add stock" msgstr "Añadir stock" -#: stock/templates/stock/item_base.html:82 +#: stock/templates/stock/item_base.html:78 #: templates/js/translated/stock.js:1900 msgid "Remove stock" msgstr "Eliminar stock" -#: stock/templates/stock/item_base.html:85 +#: stock/templates/stock/item_base.html:81 msgid "Serialize stock" msgstr "Serializar stock" -#: stock/templates/stock/item_base.html:88 +#: stock/templates/stock/item_base.html:84 #: stock/templates/stock/location.html:93 templates/js/translated/stock.js:1918 msgid "Transfer stock" msgstr "Transferir stock" -#: stock/templates/stock/item_base.html:91 +#: stock/templates/stock/item_base.html:87 #: templates/js/translated/stock.js:1973 msgid "Assign to customer" msgstr "Asignar a cliente" -#: stock/templates/stock/item_base.html:94 +#: stock/templates/stock/item_base.html:90 msgid "Return to stock" msgstr "Regresar al stock" -#: stock/templates/stock/item_base.html:97 +#: stock/templates/stock/item_base.html:93 msgid "Uninstall stock item" msgstr "Desinstalar artículo de stock" -#: stock/templates/stock/item_base.html:97 +#: stock/templates/stock/item_base.html:93 msgid "Uninstall" msgstr "Desinstalar" -#: stock/templates/stock/item_base.html:101 +#: stock/templates/stock/item_base.html:97 msgid "Install stock item" msgstr "Instalar artículo de stock" -#: stock/templates/stock/item_base.html:101 +#: stock/templates/stock/item_base.html:97 msgid "Install" msgstr "Instalar" -#: stock/templates/stock/item_base.html:115 +#: stock/templates/stock/item_base.html:111 msgid "Convert to variant" msgstr "Convertir a variante" -#: stock/templates/stock/item_base.html:118 +#: stock/templates/stock/item_base.html:114 msgid "Duplicate stock item" msgstr "Duplicar artículo" -#: stock/templates/stock/item_base.html:120 +#: stock/templates/stock/item_base.html:116 msgid "Edit stock item" msgstr "Editar artículo de almacén" -#: stock/templates/stock/item_base.html:123 +#: stock/templates/stock/item_base.html:119 msgid "Delete stock item" msgstr "Eliminar artículo de stock" -#: stock/templates/stock/item_base.html:169 templates/InvenTree/search.html:139 +#: stock/templates/stock/item_base.html:165 templates/InvenTree/search.html:139 #: templates/js/translated/build.js:2298 templates/navbar.html:38 msgid "Build" msgstr "Construcción o Armado" -#: stock/templates/stock/item_base.html:211 +#: stock/templates/stock/item_base.html:207 msgid "No manufacturer set" msgstr "Ningún fabricante establecido" -#: stock/templates/stock/item_base.html:251 +#: stock/templates/stock/item_base.html:247 msgid "You are not in the list of owners of this item. This stock item cannot be edited." 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:252 +#: stock/templates/stock/item_base.html:248 #: stock/templates/stock/location.html:146 msgid "Read only" msgstr "Solo lectura" -#: stock/templates/stock/item_base.html:265 +#: stock/templates/stock/item_base.html:261 msgid "This stock item is unavailable" msgstr "" -#: stock/templates/stock/item_base.html:271 +#: stock/templates/stock/item_base.html:267 msgid "This stock item is in production and cannot be edited." msgstr "Este artículo de stock está en producción y no puede ser editado." -#: stock/templates/stock/item_base.html:272 +#: stock/templates/stock/item_base.html:268 msgid "Edit the stock item from the build view." msgstr "Editar el artículo de stock desde la vista de construcción." -#: stock/templates/stock/item_base.html:287 +#: stock/templates/stock/item_base.html:283 msgid "This stock item is allocated to Sales Order" msgstr "Este artículo de stock está asignado a la orden de venta" -#: stock/templates/stock/item_base.html:295 +#: stock/templates/stock/item_base.html:291 msgid "This stock item is allocated to Build Order" msgstr "Este artículo de stock está asignado al orden de construcción" -#: stock/templates/stock/item_base.html:311 +#: stock/templates/stock/item_base.html:307 msgid "This stock item is serialized. It has a unique serial number and the quantity cannot be adjusted" msgstr "" -#: stock/templates/stock/item_base.html:317 +#: stock/templates/stock/item_base.html:313 msgid "previous page" msgstr "página anterior" -#: stock/templates/stock/item_base.html:317 +#: stock/templates/stock/item_base.html:313 msgid "Navigate to previous serial number" msgstr "Navegar al número de serie anterior" -#: stock/templates/stock/item_base.html:326 +#: stock/templates/stock/item_base.html:322 msgid "next page" msgstr "página siguiente" -#: stock/templates/stock/item_base.html:326 +#: stock/templates/stock/item_base.html:322 msgid "Navigate to next serial number" msgstr "Navegar al siguiente número de serie" -#: stock/templates/stock/item_base.html:398 +#: stock/templates/stock/item_base.html:394 #: templates/js/translated/build.js:2555 msgid "No location set" msgstr "Ubicación no establecida" -#: stock/templates/stock/item_base.html:413 +#: stock/templates/stock/item_base.html:409 msgid "Tests" msgstr "Pruebas" -#: stock/templates/stock/item_base.html:419 +#: stock/templates/stock/item_base.html:415 msgid "This stock item has not passed all required tests" msgstr "Este artículo de stock no ha pasado todas las pruebas requeridas" -#: stock/templates/stock/item_base.html:437 +#: stock/templates/stock/item_base.html:433 #, python-format msgid "This StockItem expired on %(item.expiry_date)s" msgstr "Este ítem expiró el %(item.expiry_date)s" -#: stock/templates/stock/item_base.html:439 +#: stock/templates/stock/item_base.html:435 #, python-format msgid "This StockItem expires on %(item.expiry_date)s" msgstr "Este ítem expira el %(item.expiry_date)s" -#: stock/templates/stock/item_base.html:455 +#: stock/templates/stock/item_base.html:451 msgid "No stocktake performed" msgstr "Ningún inventario realizado" -#: stock/templates/stock/item_base.html:504 +#: stock/templates/stock/item_base.html:500 #: templates/js/translated/stock.js:2038 msgid "stock item" msgstr "" -#: stock/templates/stock/item_base.html:527 +#: stock/templates/stock/item_base.html:523 msgid "Edit Stock Status" msgstr "" -#: stock/templates/stock/item_base.html:536 +#: stock/templates/stock/item_base.html:532 msgid "Stock Item QR Code" msgstr "" -#: stock/templates/stock/item_base.html:547 +#: stock/templates/stock/item_base.html:543 msgid "Link Barcode to Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:611 +#: stock/templates/stock/item_base.html:607 msgid "Select one of the part variants listed below." msgstr "Seleccione una de las variantes de parte listadas a continuación." -#: stock/templates/stock/item_base.html:614 +#: stock/templates/stock/item_base.html:610 msgid "Warning" msgstr "Advertencia" -#: stock/templates/stock/item_base.html:615 +#: stock/templates/stock/item_base.html:611 msgid "This action cannot be easily undone" msgstr "Esta acción no se puede deshacer fácilmente" -#: stock/templates/stock/item_base.html:623 +#: stock/templates/stock/item_base.html:619 msgid "Convert Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:656 +#: stock/templates/stock/item_base.html:652 msgid "Return to Stock" msgstr "" @@ -11310,7 +11379,7 @@ msgid "Delete Location Type" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:503 -#: templates/InvenTree/settings/stock.html:38 +#: templates/InvenTree/settings/stock.html:39 msgid "New Location Type" msgstr "" @@ -11367,7 +11436,7 @@ msgstr "Configuración de orden de venta" msgid "Stock Settings" msgstr "Configuración de Stock" -#: templates/InvenTree/settings/stock.html:34 +#: templates/InvenTree/settings/stock.html:35 msgid "Stock Location Types" msgstr "" @@ -11852,23 +11921,23 @@ msgstr "Añadir archivo adjunto" msgid "Barcode Identifier" msgstr "Identificador de Código de Barras" -#: templates/base.html:103 +#: templates/base.html:102 msgid "Server Restart Required" msgstr "Reinicio del Servidor Requerido" -#: templates/base.html:106 +#: templates/base.html:105 msgid "A configuration option has been changed which requires a server restart" msgstr "Se ha cambiado una opción de configuración que requiere reiniciar el servidor" -#: templates/base.html:106 templates/base.html:116 +#: templates/base.html:105 templates/base.html:115 msgid "Contact your system administrator for further information" msgstr "Póngase en contacto con su administrador para más información" -#: templates/base.html:113 +#: templates/base.html:112 msgid "Pending Database Migrations" msgstr "" -#: templates/base.html:116 +#: templates/base.html:115 msgid "There are pending database migrations which require attention" msgstr "" @@ -13946,10 +14015,6 @@ msgstr "" msgid "Delete line item" msgstr "" -#: templates/js/translated/report.js:49 -msgid "Print Report" -msgstr "" - #: templates/js/translated/report.js:68 msgid "Report print successful" msgstr "" diff --git a/src/backend/InvenTree/locale/es_MX/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/es_MX/LC_MESSAGES/django.po index 23737281e8f5..364edecf78f8 100644 --- a/src/backend/InvenTree/locale/es_MX/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/es_MX/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-08-29 07:07+0000\n" -"PO-Revision-Date: 2024-08-29 07:10\n" +"POT-Creation-Date: 2024-09-16 00:37+0000\n" +"PO-Revision-Date: 2024-09-16 00:40\n" "Last-Translator: \n" "Language-Team: Spanish, Mexico\n" "Language: es_MX\n" @@ -65,9 +65,9 @@ msgstr "Ingrese la fecha" #: 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:59 -#: part/models.py:3309 part/templates/part/part_sidebar.html:65 +#: part/models.py:3296 part/templates/part/part_sidebar.html:65 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/admin.py:231 stock/models.py:2369 stock/models.py:2557 +#: stock/admin.py:231 stock/models.py:2367 stock/models.py:2552 #: stock/serializers.py:705 stock/serializers.py:863 stock/serializers.py:989 #: stock/serializers.py:1039 stock/serializers.py:1350 #: stock/serializers.py:1439 stock/serializers.py:1604 @@ -364,7 +364,7 @@ msgstr "Chino (Tradicional)" msgid "[{site_name}] Log in to the app" msgstr "[{site_name}] Iniciar sesión en la aplicación" -#: InvenTree/magic_login.py:38 InvenTree/serializers.py:413 +#: InvenTree/magic_login.py:38 InvenTree/serializers.py:416 #: company/models.py:133 company/templates/company/company_base.html:138 #: templates/InvenTree/settings/user.html:49 #: templates/js/translated/company.js:677 @@ -419,9 +419,9 @@ msgstr "Los nombres duplicados no pueden existir bajo el mismo padre" msgid "Invalid choice" msgstr "Selección no válida" -#: InvenTree/models.py:767 common/models.py:2704 common/models.py:3131 -#: common/models.py:3351 common/serializers.py:439 company/models.py:590 -#: machine/models.py:24 part/models.py:995 part/models.py:3776 +#: InvenTree/models.py:767 common/models.py:2705 common/models.py:3132 +#: common/models.py:3352 common/serializers.py:455 company/models.py:590 +#: machine/models.py:24 part/models.py:995 part/models.py:3763 #: plugin/models.py:51 report/models.py:149 stock/models.py:82 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -446,10 +446,10 @@ msgstr "Nombre" #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 order/models.py:289 #: order/models.py:1406 part/admin.py:305 part/admin.py:411 part/models.py:1018 -#: part/models.py:3791 part/templates/part/category.html:79 +#: part/models.py:3778 part/templates/part/category.html:79 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:155 -#: report/models.py:509 report/models.py:535 +#: report/models.py:517 report/models.py:543 #: report/templates/report/inventree_build_order_report.html:117 #: stock/admin.py:54 stock/models.py:88 stock/templates/stock/location.html:122 #: templates/InvenTree/settings/notifications.html:19 @@ -517,12 +517,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:63 part/models.py:4400 +#: InvenTree/serializers.py:63 part/models.py:4387 msgid "Must be a valid number" msgstr "Debe ser un número válido" #: InvenTree/serializers.py:100 company/models.py:183 -#: company/templates/company/company_base.html:112 part/models.py:3127 +#: company/templates/company/company_base.html:112 part/models.py:3114 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -536,43 +536,43 @@ msgstr "Seleccionar moneda de las opciones disponibles" msgid "Username" msgstr "Nombre de usuario" -#: InvenTree/serializers.py:407 templates/InvenTree/settings/user.html:37 +#: InvenTree/serializers.py:408 templates/InvenTree/settings/user.html:37 msgid "First Name" msgstr "Nombre" -#: InvenTree/serializers.py:407 +#: InvenTree/serializers.py:408 msgid "First name of the user" msgstr "Nombre de usuario" -#: InvenTree/serializers.py:410 templates/InvenTree/settings/user.html:41 +#: InvenTree/serializers.py:412 templates/InvenTree/settings/user.html:41 msgid "Last Name" msgstr "Apellido" -#: InvenTree/serializers.py:410 +#: InvenTree/serializers.py:412 msgid "Last name of the user" msgstr "Apellido del usuario" -#: InvenTree/serializers.py:413 +#: InvenTree/serializers.py:416 msgid "Email address of the user" msgstr "Dirección de email del usuario" -#: InvenTree/serializers.py:438 +#: InvenTree/serializers.py:441 msgid "Staff" msgstr "Personal" -#: InvenTree/serializers.py:438 +#: InvenTree/serializers.py:441 msgid "Does this user have staff permissions" msgstr "Tiene permisos de personal este usuario" -#: InvenTree/serializers.py:441 +#: InvenTree/serializers.py:445 msgid "Superuser" msgstr "Superusuario" -#: InvenTree/serializers.py:441 +#: InvenTree/serializers.py:445 msgid "Is this user a superuser" msgstr "Este usuario es un superusuario" -#: InvenTree/serializers.py:444 common/models.py:2709 company/models.py:160 +#: InvenTree/serializers.py:449 common/models.py:2710 company/models.py:160 #: company/models.py:798 machine/models.py:39 part/admin.py:88 #: part/models.py:1201 plugin/models.py:66 #: templates/js/translated/company.js:523 @@ -585,89 +585,89 @@ msgstr "Este usuario es un superusuario" msgid "Active" msgstr "Activo" -#: InvenTree/serializers.py:444 +#: InvenTree/serializers.py:449 msgid "Is this user account active" msgstr "Esta cuenta de usuario está activa" -#: InvenTree/serializers.py:462 +#: InvenTree/serializers.py:467 msgid "You do not have permission to change this user role." msgstr "No tiene permiso para cambiar este cargo de usuario." -#: InvenTree/serializers.py:474 +#: InvenTree/serializers.py:503 msgid "Only superusers can create new users" msgstr "Solo los superusuarios pueden crear nuevos usuarios" -#: InvenTree/serializers.py:493 +#: InvenTree/serializers.py:522 msgid "Your account has been created." msgstr "Su cuenta ha sido creada." -#: InvenTree/serializers.py:495 +#: InvenTree/serializers.py:524 msgid "Please use the password reset function to login" msgstr "Por favor, utilice la función de restablecer la contraseña para iniciar sesión" -#: InvenTree/serializers.py:502 +#: InvenTree/serializers.py:531 msgid "Welcome to InvenTree" msgstr "Bienvenido a InvenTree" -#: InvenTree/serializers.py:560 +#: InvenTree/serializers.py:589 msgid "Invalid value" msgstr "Valor inválido" -#: InvenTree/serializers.py:580 importer/models.py:64 +#: InvenTree/serializers.py:609 importer/models.py:64 msgid "Data File" msgstr "Archivo de datos" -#: InvenTree/serializers.py:581 +#: InvenTree/serializers.py:610 msgid "Select data file for upload" msgstr "Seleccione el archivo para subir" -#: InvenTree/serializers.py:598 +#: InvenTree/serializers.py:627 msgid "Unsupported file type" msgstr "Tipo de archivo no soportado" -#: InvenTree/serializers.py:604 +#: InvenTree/serializers.py:633 msgid "File is too large" msgstr "El archivo es demasiado grande" -#: InvenTree/serializers.py:625 +#: InvenTree/serializers.py:654 msgid "No columns found in file" msgstr "No hay columnas en el archivo" -#: InvenTree/serializers.py:628 +#: InvenTree/serializers.py:657 msgid "No data rows found in file" msgstr "No hay filas de datos en el archivo" -#: InvenTree/serializers.py:740 +#: InvenTree/serializers.py:769 msgid "No data rows provided" msgstr "No se proporcionaron filas de datos" -#: InvenTree/serializers.py:743 +#: InvenTree/serializers.py:772 msgid "No data columns supplied" msgstr "No hay columnas de datos para suministrar" -#: InvenTree/serializers.py:809 +#: InvenTree/serializers.py:838 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "Falta la columna requerida: '{name}'" -#: InvenTree/serializers.py:818 +#: InvenTree/serializers.py:847 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "Columna duplicada: '{col}'" -#: InvenTree/serializers.py:857 +#: InvenTree/serializers.py:886 msgid "Remote Image" msgstr "Imagen remota" -#: InvenTree/serializers.py:858 +#: InvenTree/serializers.py:887 msgid "URL of remote image file" msgstr "URL de imagen remota" -#: InvenTree/serializers.py:876 +#: InvenTree/serializers.py:905 msgid "Downloading images from remote URL is not enabled" msgstr "La descarga de imágenes desde la URL remota no está habilitada" -#: InvenTree/status.py:65 part/serializers.py:1267 +#: InvenTree/status.py:65 part/serializers.py:1265 msgid "Background worker check failed" msgstr "" @@ -759,7 +759,7 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:319 build/serializers.py:1332 part/models.py:4278 +#: build/api.py:319 build/serializers.py:1332 part/models.py:4265 #: templates/js/translated/bom.js:997 templates/js/translated/bom.js:1037 #: templates/js/translated/build.js:2705 #: templates/js/translated/table_filters.js:197 @@ -767,7 +767,7 @@ msgstr "" msgid "Consumable" msgstr "" -#: build/api.py:320 build/serializers.py:1333 part/models.py:4272 +#: build/api.py:320 build/serializers.py:1333 part/models.py:4259 #: part/templates/part/upload_bom.html:58 templates/js/translated/bom.js:1001 #: templates/js/translated/bom.js:1028 templates/js/translated/build.js:2696 #: templates/js/translated/table_filters.js:193 @@ -777,7 +777,7 @@ msgid "Optional" msgstr "" #: build/api.py:321 common/models.py:1491 part/admin.py:91 part/admin.py:428 -#: part/models.py:1166 part/serializers.py:1596 +#: part/models.py:1166 part/serializers.py:1594 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:337 #: templates/js/translated/table_filters.js:729 @@ -816,7 +816,7 @@ msgstr "" msgid "Available" msgstr "" -#: build/models.py:87 build/templates/build/build_base.html:9 +#: build/models.py:88 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_report.html:105 #: stock/serializers.py:85 templates/email/build_order_completed.html:16 @@ -825,7 +825,7 @@ msgstr "" msgid "Build Order" msgstr "" -#: build/models.py:88 build/templates/build/build_base.html:13 +#: build/models.py:89 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:111 #: order/templates/order/so_sidebar.html:13 @@ -866,7 +866,7 @@ msgstr "" #: build/models.py:243 build/serializers.py:1331 order/models.py:468 #: order/models.py:979 order/models.py:1366 order/models.py:2128 -#: part/admin.py:414 part/models.py:4293 part/templates/part/upload_bom.html:54 +#: part/admin.py:414 part/models.py:4280 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 @@ -892,11 +892,11 @@ msgstr "" #: build/templates/build/build_base.html:105 #: build/templates/build/detail.html:29 company/models.py:1043 order/api.py:761 #: order/models.py:1496 order/models.py:1651 order/models.py:1652 -#: part/api.py:1506 part/api.py:1806 part/models.py:419 part/models.py:3138 -#: part/models.py:3282 part/models.py:3430 part/models.py:3451 -#: part/models.py:3473 part/models.py:3609 part/models.py:3951 -#: part/models.py:4114 part/models.py:4244 part/models.py:4602 -#: part/serializers.py:1213 part/serializers.py:1857 +#: part/api.py:1506 part/api.py:1806 part/models.py:419 part/models.py:3125 +#: part/models.py:3269 part/models.py:3417 part/models.py:3438 +#: part/models.py:3460 part/models.py:3596 part/models.py:3938 +#: part/models.py:4101 part/models.py:4231 part/models.py:4595 +#: part/serializers.py:1211 part/serializers.py:1855 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -1063,12 +1063,12 @@ msgstr "" #: order/templates/order/return_order_base.html:148 #: order/templates/order/sales_order_base.html:187 #: part/templates/part/part_base.html:399 stock/models.py:859 -#: stock/templates/stock/item_base.html:200 +#: stock/templates/stock/item_base.html:196 #: templates/js/translated/company.js:1019 msgid "External Link" msgstr "" -#: build/models.py:378 common/models.py:3272 part/models.py:1070 +#: build/models.py:378 common/models.py:3273 part/models.py:1070 #: stock/models.py:859 msgid "Link to external URL" msgstr "" @@ -1110,7 +1110,7 @@ msgstr "" msgid "A build order has been completed" msgstr "" -#: build/models.py:968 build/models.py:1056 +#: build/models.py:968 build/models.py:1057 msgid "No build output specified" msgstr "" @@ -1122,37 +1122,37 @@ msgstr "" msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:1060 build/serializers.py:279 build/serializers.py:328 +#: build/models.py:1061 build/serializers.py:279 build/serializers.py:328 #: build/serializers.py:959 order/models.py:565 order/serializers.py:500 -#: order/serializers.py:666 part/serializers.py:1590 part/serializers.py:2019 +#: order/serializers.py:666 part/serializers.py:1588 part/serializers.py:2017 #: stock/models.py:704 stock/models.py:1515 stock/serializers.py:676 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:1065 build/serializers.py:284 +#: build/models.py:1066 build/serializers.py:284 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1125 build/serializers.py:607 +#: build/models.py:1126 build/serializers.py:607 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "" -#: build/models.py:1466 +#: build/models.py:1477 msgid "Build Order Line Item" msgstr "" -#: build/models.py:1491 +#: build/models.py:1502 msgid "Build object" msgstr "" -#: build/models.py:1505 build/models.py:1761 build/serializers.py:266 +#: build/models.py:1516 build/models.py:1775 build/serializers.py:266 #: build/serializers.py:313 build/serializers.py:1339 #: build/templates/build/build_base.html:110 -#: build/templates/build/detail.html:34 common/models.py:2581 +#: build/templates/build/detail.html:34 common/models.py:2582 #: order/models.py:1349 order/models.py:2034 order/serializers.py:1464 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:413 -#: part/forms.py:48 part/models.py:3296 part/models.py:4266 +#: part/forms.py:48 part/models.py:3283 part/models.py:4253 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1163,9 +1163,9 @@ msgstr "" #: report/templates/report/inventree_test_report.html:90 #: report/templates/report/inventree_test_report.html:169 stock/admin.py:160 #: stock/serializers.py:128 stock/serializers.py:168 stock/serializers.py:667 -#: stock/templates/stock/item_base.html:287 -#: stock/templates/stock/item_base.html:295 -#: stock/templates/stock/item_base.html:342 +#: stock/templates/stock/item_base.html:283 +#: stock/templates/stock/item_base.html:291 +#: stock/templates/stock/item_base.html:338 #: templates/email/build_order_completed.html:18 #: templates/js/translated/barcode.js:579 templates/js/translated/bom.js:771 #: templates/js/translated/bom.js:981 templates/js/translated/build.js:525 @@ -1194,41 +1194,41 @@ msgstr "" msgid "Quantity" msgstr "" -#: build/models.py:1506 +#: build/models.py:1517 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1586 +#: build/models.py:1597 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1595 +#: build/models.py:1606 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1605 order/models.py:1985 +#: build/models.py:1616 order/models.py:1985 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1611 order/models.py:1988 +#: build/models.py:1622 order/models.py:1988 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1617 +#: build/models.py:1628 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1676 +#: build/models.py:1687 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1748 build/serializers.py:939 order/serializers.py:1301 +#: build/models.py:1762 build/serializers.py:939 order/serializers.py:1301 #: order/serializers.py:1322 stock/models.py:381 stock/serializers.py:94 #: stock/serializers.py:770 stock/serializers.py:1288 stock/serializers.py:1400 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 -#: stock/templates/stock/item_base.html:194 +#: stock/templates/stock/item_base.html:190 #: templates/js/translated/build.js:1921 #: templates/js/translated/sales_order.js:301 #: templates/js/translated/sales_order.js:1234 @@ -1241,19 +1241,19 @@ msgstr "" msgid "Stock Item" msgstr "" -#: build/models.py:1749 +#: build/models.py:1763 msgid "Source stock item" msgstr "" -#: build/models.py:1762 +#: build/models.py:1776 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1770 +#: build/models.py:1784 msgid "Install into" msgstr "" -#: build/models.py:1771 +#: build/models.py:1785 msgid "Destination stock item" msgstr "" @@ -1262,7 +1262,7 @@ msgid "Build Level" msgstr "" #: build/serializers.py:115 build/serializers.py:1234 build/serializers.py:1323 -#: part/admin.py:41 part/admin.py:408 part/models.py:4116 part/stocktake.py:219 +#: part/admin.py:41 part/admin.py:408 part/models.py:4103 part/stocktake.py:219 #: stock/admin.py:157 msgid "Part Name" msgstr "" @@ -1323,10 +1323,10 @@ msgid "Enter serial numbers for build outputs" msgstr "" #: build/serializers.py:359 build/serializers.py:500 build/serializers.py:572 -#: order/serializers.py:655 order/serializers.py:778 order/serializers.py:1789 -#: part/serializers.py:1233 stock/serializers.py:103 stock/serializers.py:698 +#: order/serializers.py:655 order/serializers.py:778 order/serializers.py:1797 +#: part/serializers.py:1231 stock/serializers.py:103 stock/serializers.py:698 #: stock/serializers.py:858 stock/serializers.py:984 stock/serializers.py:1432 -#: stock/serializers.py:1688 stock/templates/stock/item_base.html:394 +#: stock/serializers.py:1688 stock/templates/stock/item_base.html:390 #: templates/js/translated/barcode.js:578 #: templates/js/translated/barcode.js:826 templates/js/translated/build.js:1035 #: templates/js/translated/build.js:1177 templates/js/translated/build.js:2547 @@ -1390,7 +1390,7 @@ msgstr "" #: build/templates/build/detail.html:62 order/models.py:477 #: order/models.py:1003 order/models.py:2152 order/serializers.py:687 #: stock/admin.py:165 stock/serializers.py:1035 stock/serializers.py:1576 -#: stock/templates/stock/item_base.html:427 +#: stock/templates/stock/item_base.html:423 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2366 #: templates/js/translated/purchase_order.js:1371 #: templates/js/translated/purchase_order.js:1792 @@ -1522,7 +1522,7 @@ msgstr "" msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:1030 order/serializers.py:1614 +#: build/serializers.py:1030 order/serializers.py:1622 msgid "Allocation items must be provided" msgstr "" @@ -1590,7 +1590,7 @@ msgstr "" #: build/serializers.py:1230 company/models.py:849 #: company/templates/company/supplier_part.html:160 order/serializers.py:691 #: stock/admin.py:229 stock/models.py:822 stock/serializers.py:1586 -#: stock/templates/stock/item_base.html:240 +#: stock/templates/stock/item_base.html:236 #: templates/js/translated/company.js:1646 #: templates/js/translated/purchase_order.js:1169 #: templates/js/translated/purchase_order.js:1332 @@ -1600,12 +1600,12 @@ msgid "Packaging" msgstr "" #: build/serializers.py:1233 part/admin.py:39 part/admin.py:398 -#: part/models.py:4115 part/stocktake.py:218 stock/admin.py:153 +#: part/models.py:4102 part/stocktake.py:218 stock/admin.py:153 msgid "Part ID" msgstr "" #: build/serializers.py:1235 build/serializers.py:1324 part/admin.py:402 -#: part/models.py:4117 +#: part/models.py:4104 msgid "Part IPN" msgstr "" @@ -1625,7 +1625,7 @@ msgstr "" #: build/serializers.py:1243 #: report/templates/report/inventree_return_order_report.html:25 #: report/templates/report/inventree_test_report.html:88 stock/models.py:849 -#: stock/serializers.py:152 stock/templates/stock/item_base.html:311 +#: stock/serializers.py:152 stock/templates/stock/item_base.html:307 #: templates/js/translated/build.js:523 templates/js/translated/build.js:1543 #: templates/js/translated/build.js:2530 #: templates/js/translated/model_renderers.js:231 @@ -1644,7 +1644,7 @@ msgstr "" msgid "Allocated Quantity" msgstr "" -#: build/serializers.py:1257 stock/templates/stock/item_base.html:340 +#: build/serializers.py:1257 stock/templates/stock/item_base.html:336 msgid "Available Quantity" msgstr "" @@ -1667,13 +1667,13 @@ msgstr "" msgid "Inherited" msgstr "" -#: build/serializers.py:1337 part/models.py:4326 +#: build/serializers.py:1337 part/models.py:4313 #: part/templates/part/upload_bom.html:56 templates/js/translated/bom.js:1046 #: templates/js/translated/build.js:2714 msgid "Allow Variants" msgstr "" -#: build/serializers.py:1341 part/models.py:4124 part/models.py:4594 +#: build/serializers.py:1341 part/models.py:4111 part/models.py:4587 #: stock/api.py:793 msgid "BOM Item" msgstr "" @@ -1684,7 +1684,7 @@ msgid "Allocated Stock" msgstr "" #: build/serializers.py:1355 order/serializers.py:1179 part/admin.py:132 -#: part/bom.py:186 part/serializers.py:920 part/serializers.py:1623 +#: part/bom.py:186 part/serializers.py:918 part/serializers.py:1621 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 #: templates/js/translated/build.js:2807 templates/js/translated/part.js:712 #: templates/js/translated/part.js:2155 @@ -1692,13 +1692,13 @@ msgstr "" msgid "On Order" msgstr "" -#: build/serializers.py:1360 order/serializers.py:1180 part/serializers.py:1625 +#: build/serializers.py:1360 order/serializers.py:1180 part/serializers.py:1623 #: templates/js/translated/build.js:2811 #: templates/js/translated/table_filters.js:367 msgid "In Production" msgstr "" -#: build/serializers.py:1365 part/bom.py:185 part/serializers.py:1650 +#: build/serializers.py:1365 part/bom.py:185 part/serializers.py:1648 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" @@ -1716,7 +1716,7 @@ msgstr "" msgid "Total Available Stock" msgstr "" -#: build/serializers.py:1372 part/serializers.py:927 +#: build/serializers.py:1372 part/serializers.py:925 msgid "External Stock" msgstr "" @@ -1745,7 +1745,7 @@ msgstr "" #: importer/status_codes.py:27 order/status_codes.py:15 #: order/status_codes.py:50 order/status_codes.py:81 #: order/templates/order/order_base.html:163 -#: order/templates/order/sales_order_base.html:168 report/models.py:443 +#: order/templates/order/sales_order_base.html:168 report/models.py:451 msgid "Complete" msgstr "" @@ -1849,9 +1849,6 @@ msgid "Delete Build" msgstr "" #: build/templates/build/build_base.html:87 -msgid "Isueue Build" -msgstr "" - #: build/templates/build/build_base.html:88 msgid "Issue Build" msgstr "" @@ -1931,7 +1928,7 @@ msgstr "" #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_report.html:135 #: report/templates/report/inventree_sales_order_report.html:14 -#: stock/templates/stock/item_base.html:369 +#: stock/templates/stock/item_base.html:365 #: templates/email/overdue_sales_order.html:15 #: templates/js/translated/pricing.js:929 #: templates/js/translated/sales_order.js:805 @@ -1991,7 +1988,7 @@ msgid "Allocated Parts" msgstr "" #: build/templates/build/detail.html:80 stock/admin.py:163 -#: stock/templates/stock/item_base.html:162 +#: stock/templates/stock/item_base.html:158 #: templates/js/translated/build.js:1556 #: templates/js/translated/model_renderers.js:242 #: templates/js/translated/purchase_order.js:1326 @@ -2148,19 +2145,19 @@ msgstr "" msgid "Test Statistics" msgstr "" -#: common/api.py:692 +#: common/api.py:725 msgid "Is Link" msgstr "" -#: common/api.py:700 +#: common/api.py:733 msgid "Is File" msgstr "" -#: common/api.py:743 +#: common/api.py:776 msgid "User does not have permission to delete these attachments" msgstr "" -#: common/api.py:760 +#: common/api.py:793 msgid "User does not have permission to delete this attachment" msgstr "" @@ -2352,8 +2349,8 @@ msgstr "" #: common/models.py:1297 common/models.py:1353 common/models.py:1366 #: common/models.py:1374 common/models.py:1383 common/models.py:1392 -#: common/models.py:1629 common/models.py:1651 common/models.py:1766 -#: common/models.py:2148 +#: common/models.py:1629 common/models.py:1651 common/models.py:1752 +#: common/models.py:2141 msgid "days" msgstr "" @@ -2581,9 +2578,9 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1485 part/admin.py:108 part/models.py:3959 -#: report/models.py:293 report/models.py:360 report/serializers.py:90 -#: report/serializers.py:131 stock/serializers.py:233 +#: common/models.py:1485 part/admin.py:108 part/models.py:3946 +#: report/models.py:301 report/models.py:368 report/serializers.py:91 +#: report/serializers.py:132 stock/serializers.py:233 #: templates/js/translated/table_filters.js:138 #: templates/js/translated/table_filters.js:775 msgid "Template" @@ -2598,7 +2595,7 @@ msgid "Parts can be assembled from other components by default" msgstr "" #: common/models.py:1497 part/admin.py:95 part/models.py:1172 -#: part/serializers.py:1617 templates/js/translated/table_filters.js:737 +#: part/serializers.py:1615 templates/js/translated/table_filters.js:737 msgid "Component" msgstr "" @@ -2823,7 +2820,7 @@ msgid "Log errors which occur when generating reports" msgstr "" #: common/models.py:1702 plugin/builtin/labels/label_sheet.py:28 -#: report/models.py:301 +#: report/models.py:309 msgid "Page Size" msgstr "" @@ -2832,914 +2829,914 @@ msgid "Default page size for PDF reports" msgstr "" #: common/models.py:1708 -msgid "Enable Test Reports" -msgstr "" - -#: common/models.py:1709 -msgid "Enable generation of test reports" -msgstr "" - -#: common/models.py:1714 -msgid "Attach Test Reports" -msgstr "" - -#: common/models.py:1716 -msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" -msgstr "" - -#: common/models.py:1722 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1723 +#: common/models.py:1709 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1728 +#: common/models.py:1714 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1729 +#: common/models.py:1715 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1734 +#: common/models.py:1720 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1736 +#: common/models.py:1722 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/models.py:1742 +#: common/models.py:1728 msgid "Batch Code Template" msgstr "" -#: common/models.py:1744 +#: common/models.py:1730 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1749 +#: common/models.py:1735 msgid "Stock Expiry" msgstr "" -#: common/models.py:1750 +#: common/models.py:1736 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1755 +#: common/models.py:1741 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1756 +#: common/models.py:1742 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1761 +#: common/models.py:1747 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1763 +#: common/models.py:1749 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1770 +#: common/models.py:1756 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1771 +#: common/models.py:1757 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1776 +#: common/models.py:1762 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1777 +#: common/models.py:1763 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1782 +#: common/models.py:1768 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1783 +#: common/models.py:1769 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1788 +#: common/models.py:1774 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1789 +#: common/models.py:1775 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1794 +#: common/models.py:1780 msgid "Check BOM when installing items" msgstr "" -#: common/models.py:1796 +#: common/models.py:1782 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/models.py:1802 +#: common/models.py:1788 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/models.py:1804 +#: common/models.py:1790 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/models.py:1810 +#: common/models.py:1796 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1812 +#: common/models.py:1798 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1818 common/models.py:1874 common/models.py:1896 -#: common/models.py:1932 +#: common/models.py:1804 common/models.py:1860 common/models.py:1882 +#: common/models.py:1918 msgid "Require Responsible Owner" msgstr "" -#: common/models.py:1819 common/models.py:1875 common/models.py:1897 -#: common/models.py:1933 +#: common/models.py:1805 common/models.py:1861 common/models.py:1883 +#: common/models.py:1919 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/models.py:1824 +#: common/models.py:1810 msgid "Require Active Part" msgstr "" -#: common/models.py:1825 +#: common/models.py:1811 msgid "Prevent build order creation for inactive parts" msgstr "" -#: common/models.py:1830 +#: common/models.py:1816 msgid "Require Locked Part" msgstr "" -#: common/models.py:1831 +#: common/models.py:1817 msgid "Prevent build order creation for unlocked parts" msgstr "" -#: common/models.py:1836 +#: common/models.py:1822 msgid "Require Valid BOM" msgstr "" -#: common/models.py:1838 +#: common/models.py:1824 msgid "Prevent build order creation unless BOM has been validated" msgstr "" -#: common/models.py:1844 +#: common/models.py:1830 msgid "Require Closed Child Orders" msgstr "" -#: common/models.py:1846 +#: common/models.py:1832 msgid "Prevent build order completion until all child orders are closed" msgstr "" -#: common/models.py:1852 +#: common/models.py:1838 msgid "Block Until Tests Pass" msgstr "" -#: common/models.py:1854 +#: common/models.py:1840 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "" -#: common/models.py:1860 +#: common/models.py:1846 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1861 +#: common/models.py:1847 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1866 +#: common/models.py:1852 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1868 +#: common/models.py:1854 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1880 +#: common/models.py:1866 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1882 +#: common/models.py:1868 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1888 +#: common/models.py:1874 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1890 +#: common/models.py:1876 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1902 +#: common/models.py:1888 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1903 +#: common/models.py:1889 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1908 +#: common/models.py:1894 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1910 +#: common/models.py:1896 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1916 +#: common/models.py:1902 msgid "Mark Shipped Orders as Complete" msgstr "" -#: common/models.py:1918 +#: common/models.py:1904 msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status" msgstr "" -#: common/models.py:1924 +#: common/models.py:1910 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1926 +#: common/models.py:1912 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1938 +#: common/models.py:1924 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1940 +#: common/models.py:1926 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1946 +#: common/models.py:1932 msgid "Auto Complete Purchase Orders" msgstr "" -#: common/models.py:1948 +#: common/models.py:1934 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/models.py:1955 +#: common/models.py:1941 msgid "Enable password forgot" msgstr "" -#: common/models.py:1956 +#: common/models.py:1942 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1961 +#: common/models.py:1947 msgid "Enable registration" msgstr "" -#: common/models.py:1962 +#: common/models.py:1948 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1967 +#: common/models.py:1953 msgid "Enable SSO" msgstr "" -#: common/models.py:1968 +#: common/models.py:1954 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1973 +#: common/models.py:1959 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1975 +#: common/models.py:1961 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1981 +#: common/models.py:1967 msgid "Enable SSO group sync" msgstr "" -#: common/models.py:1983 +#: common/models.py:1969 msgid "Enable synchronizing InvenTree groups with groups provided by the IdP" msgstr "" -#: common/models.py:1989 +#: common/models.py:1975 msgid "SSO group key" msgstr "" -#: common/models.py:1991 +#: common/models.py:1977 msgid "The name of the groups claim attribute provided by the IdP" msgstr "" -#: common/models.py:1997 +#: common/models.py:1983 msgid "SSO group map" msgstr "" -#: common/models.py:1999 +#: common/models.py:1985 msgid "A mapping from SSO groups to local InvenTree groups. If the local group does not exist, it will be created." msgstr "" -#: common/models.py:2005 +#: common/models.py:1991 msgid "Remove groups outside of SSO" msgstr "" -#: common/models.py:2007 +#: common/models.py:1993 msgid "Whether groups assigned to the user should be removed if they are not backend by the IdP. Disabling this setting might cause security issues" msgstr "" -#: common/models.py:2013 +#: common/models.py:1999 msgid "Email required" msgstr "" -#: common/models.py:2014 +#: common/models.py:2000 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:2019 +#: common/models.py:2005 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:2021 +#: common/models.py:2007 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:2027 +#: common/models.py:2013 msgid "Mail twice" msgstr "" -#: common/models.py:2028 +#: common/models.py:2014 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:2033 +#: common/models.py:2019 msgid "Password twice" msgstr "" -#: common/models.py:2034 +#: common/models.py:2020 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:2039 +#: common/models.py:2025 msgid "Allowed domains" msgstr "" -#: common/models.py:2041 +#: common/models.py:2027 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:2047 +#: common/models.py:2033 msgid "Group on signup" msgstr "" -#: common/models.py:2049 +#: common/models.py:2035 msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP." msgstr "" -#: common/models.py:2055 +#: common/models.py:2041 msgid "Enforce MFA" msgstr "" -#: common/models.py:2056 +#: common/models.py:2042 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:2061 +#: common/models.py:2047 msgid "Check plugins on startup" msgstr "" -#: common/models.py:2063 +#: common/models.py:2049 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:2071 +#: common/models.py:2057 msgid "Check for plugin updates" msgstr "" -#: common/models.py:2072 +#: common/models.py:2058 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:2078 +#: common/models.py:2064 msgid "Enable URL integration" msgstr "" -#: common/models.py:2079 +#: common/models.py:2065 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:2085 +#: common/models.py:2071 msgid "Enable navigation integration" msgstr "" -#: common/models.py:2086 +#: common/models.py:2072 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:2092 +#: common/models.py:2078 msgid "Enable app integration" msgstr "" -#: common/models.py:2093 +#: common/models.py:2079 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:2099 +#: common/models.py:2085 msgid "Enable schedule integration" msgstr "" -#: common/models.py:2100 +#: common/models.py:2086 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:2106 +#: common/models.py:2092 msgid "Enable event integration" msgstr "" -#: common/models.py:2107 +#: common/models.py:2093 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:2113 +#: common/models.py:2099 +msgid "Enable interface integration" +msgstr "" + +#: common/models.py:2100 +msgid "Enable plugins to integrate into the user interface" +msgstr "" + +#: common/models.py:2106 msgid "Enable project codes" msgstr "" -#: common/models.py:2114 +#: common/models.py:2107 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:2119 +#: common/models.py:2112 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:2121 +#: common/models.py:2114 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:2127 +#: common/models.py:2120 msgid "Exclude External Locations" msgstr "" -#: common/models.py:2129 +#: common/models.py:2122 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/models.py:2135 +#: common/models.py:2128 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:2137 +#: common/models.py:2130 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:2143 +#: common/models.py:2136 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:2145 +#: common/models.py:2138 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:2152 +#: common/models.py:2145 msgid "Display Users full names" msgstr "" -#: common/models.py:2153 +#: common/models.py:2146 msgid "Display Users full names instead of usernames" msgstr "" -#: common/models.py:2158 +#: common/models.py:2151 msgid "Enable Test Station Data" msgstr "" -#: common/models.py:2159 +#: common/models.py:2152 msgid "Enable test station data collection for test results" msgstr "" -#: common/models.py:2171 common/models.py:2551 +#: common/models.py:2157 +msgid "Create Template on Upload" +msgstr "" + +#: common/models.py:2159 +msgid "Create a new test template when uploading test data which does not match an existing template" +msgstr "" + +#: common/models.py:2172 common/models.py:2552 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:2214 +#: common/models.py:2215 msgid "Hide inactive parts" msgstr "" -#: common/models.py:2216 +#: common/models.py:2217 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:2222 +#: common/models.py:2223 msgid "Show subscribed parts" msgstr "" -#: common/models.py:2223 +#: common/models.py:2224 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:2228 +#: common/models.py:2229 msgid "Show subscribed categories" msgstr "" -#: common/models.py:2229 +#: common/models.py:2230 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:2234 +#: common/models.py:2235 msgid "Show latest parts" msgstr "" -#: common/models.py:2235 +#: common/models.py:2236 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:2240 +#: common/models.py:2241 msgid "Show invalid BOMs" msgstr "" -#: common/models.py:2241 +#: common/models.py:2242 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:2246 +#: common/models.py:2247 msgid "Show recent stock changes" msgstr "" -#: common/models.py:2247 +#: common/models.py:2248 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:2252 +#: common/models.py:2253 msgid "Show low stock" msgstr "" -#: common/models.py:2253 +#: common/models.py:2254 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:2258 +#: common/models.py:2259 msgid "Show depleted stock" msgstr "" -#: common/models.py:2259 +#: common/models.py:2260 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:2264 +#: common/models.py:2265 msgid "Show needed stock" msgstr "" -#: common/models.py:2265 +#: common/models.py:2266 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:2270 +#: common/models.py:2271 msgid "Show expired stock" msgstr "" -#: common/models.py:2271 +#: common/models.py:2272 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:2276 +#: common/models.py:2277 msgid "Show stale stock" msgstr "" -#: common/models.py:2277 +#: common/models.py:2278 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:2282 +#: common/models.py:2283 msgid "Show pending builds" msgstr "" -#: common/models.py:2283 +#: common/models.py:2284 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:2288 +#: common/models.py:2289 msgid "Show overdue builds" msgstr "" -#: common/models.py:2289 +#: common/models.py:2290 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:2294 +#: common/models.py:2295 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2295 +#: common/models.py:2296 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2300 +#: common/models.py:2301 msgid "Show overdue POs" msgstr "" -#: common/models.py:2301 +#: common/models.py:2302 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2306 +#: common/models.py:2307 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2307 +#: common/models.py:2308 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2312 +#: common/models.py:2313 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2313 +#: common/models.py:2314 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2318 +#: common/models.py:2319 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2319 +#: common/models.py:2320 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2324 +#: common/models.py:2325 msgid "Show News" msgstr "" -#: common/models.py:2325 +#: common/models.py:2326 msgid "Show news on the homepage" msgstr "" -#: common/models.py:2330 +#: common/models.py:2331 msgid "Inline label display" msgstr "" -#: common/models.py:2332 +#: common/models.py:2333 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2338 +#: common/models.py:2339 msgid "Default label printer" msgstr "" -#: common/models.py:2340 +#: common/models.py:2341 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2346 +#: common/models.py:2347 msgid "Inline report display" msgstr "" -#: common/models.py:2348 +#: common/models.py:2349 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2354 +#: common/models.py:2355 msgid "Search Parts" msgstr "" -#: common/models.py:2355 +#: common/models.py:2356 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2360 +#: common/models.py:2361 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2361 +#: common/models.py:2362 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2366 +#: common/models.py:2367 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2367 +#: common/models.py:2368 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2372 +#: common/models.py:2373 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2373 +#: common/models.py:2374 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2378 +#: common/models.py:2379 msgid "Search Categories" msgstr "" -#: common/models.py:2379 +#: common/models.py:2380 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2384 +#: common/models.py:2385 msgid "Search Stock" msgstr "" -#: common/models.py:2385 +#: common/models.py:2386 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2390 +#: common/models.py:2391 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2392 +#: common/models.py:2393 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2398 +#: common/models.py:2399 msgid "Search Locations" msgstr "" -#: common/models.py:2399 +#: common/models.py:2400 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2404 +#: common/models.py:2405 msgid "Search Companies" msgstr "" -#: common/models.py:2405 +#: common/models.py:2406 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2410 +#: common/models.py:2411 msgid "Search Build Orders" msgstr "" -#: common/models.py:2411 +#: common/models.py:2412 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2416 +#: common/models.py:2417 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2417 +#: common/models.py:2418 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2422 +#: common/models.py:2423 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2424 +#: common/models.py:2425 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2430 +#: common/models.py:2431 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2431 +#: common/models.py:2432 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2436 +#: common/models.py:2437 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2438 +#: common/models.py:2439 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2444 +#: common/models.py:2445 msgid "Search Return Orders" msgstr "" -#: common/models.py:2445 +#: common/models.py:2446 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2450 +#: common/models.py:2451 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2452 +#: common/models.py:2453 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2458 +#: common/models.py:2459 msgid "Search Preview Results" msgstr "" -#: common/models.py:2460 +#: common/models.py:2461 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2466 +#: common/models.py:2467 msgid "Regex Search" msgstr "" -#: common/models.py:2467 +#: common/models.py:2468 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2472 +#: common/models.py:2473 msgid "Whole Word Search" msgstr "" -#: common/models.py:2473 +#: common/models.py:2474 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2478 +#: common/models.py:2479 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2479 +#: common/models.py:2480 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2484 +#: common/models.py:2485 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2485 +#: common/models.py:2486 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2490 +#: common/models.py:2491 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2491 +#: common/models.py:2492 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2496 +#: common/models.py:2497 msgid "Date Format" msgstr "" -#: common/models.py:2497 +#: common/models.py:2498 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2510 part/templates/part/detail.html:41 +#: common/models.py:2511 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2511 +#: common/models.py:2512 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2516 part/templates/part/detail.html:62 +#: common/models.py:2517 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2518 +#: common/models.py:2519 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2524 +#: common/models.py:2525 msgid "Table String Length" msgstr "" -#: common/models.py:2526 +#: common/models.py:2527 msgid "Maximum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2532 +#: common/models.py:2533 msgid "Receive error reports" msgstr "" -#: common/models.py:2533 +#: common/models.py:2534 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2538 +#: common/models.py:2539 msgid "Last used printing machines" msgstr "" -#: common/models.py:2539 +#: common/models.py:2540 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2559 common/models.py:2560 common/models.py:2717 -#: common/models.py:2718 common/models.py:2963 common/models.py:2964 -#: common/models.py:3287 common/models.py:3288 importer/models.py:89 -#: part/models.py:3319 part/models.py:3406 part/models.py:3480 -#: part/models.py:3508 plugin/models.py:274 plugin/models.py:275 +#: common/models.py:2560 common/models.py:2561 common/models.py:2718 +#: common/models.py:2719 common/models.py:2964 common/models.py:2965 +#: common/models.py:3288 common/models.py:3289 importer/models.py:89 +#: part/models.py:3306 part/models.py:3393 part/models.py:3467 +#: part/models.py:3495 plugin/models.py:274 plugin/models.py:275 #: report/templates/report/inventree_test_report.html:105 #: templates/js/translated/stock.js:3121 users/models.py:111 msgid "User" msgstr "" -#: common/models.py:2582 +#: common/models.py:2583 msgid "Price break quantity" msgstr "" -#: common/models.py:2589 company/serializers.py:517 order/admin.py:42 +#: common/models.py:2590 company/serializers.py:517 order/admin.py:42 #: order/models.py:1423 order/models.py:2410 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1892 #: templates/js/translated/pricing.js:621 @@ -3747,96 +3744,96 @@ msgstr "" msgid "Price" msgstr "" -#: common/models.py:2590 +#: common/models.py:2591 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2694 common/models.py:2879 +#: common/models.py:2695 common/models.py:2880 msgid "Endpoint" msgstr "" -#: common/models.py:2695 +#: common/models.py:2696 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2705 +#: common/models.py:2706 msgid "Name for this webhook" msgstr "" -#: common/models.py:2709 +#: common/models.py:2710 msgid "Is this webhook active" msgstr "" -#: common/models.py:2725 users/models.py:159 +#: common/models.py:2726 users/models.py:159 msgid "Token" msgstr "" -#: common/models.py:2726 +#: common/models.py:2727 msgid "Token for access" msgstr "" -#: common/models.py:2734 +#: common/models.py:2735 msgid "Secret" msgstr "" -#: common/models.py:2735 +#: common/models.py:2736 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2843 +#: common/models.py:2844 msgid "Message ID" msgstr "" -#: common/models.py:2844 +#: common/models.py:2845 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2852 +#: common/models.py:2853 msgid "Host" msgstr "" -#: common/models.py:2853 +#: common/models.py:2854 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2861 +#: common/models.py:2862 msgid "Header" msgstr "" -#: common/models.py:2862 +#: common/models.py:2863 msgid "Header of this message" msgstr "" -#: common/models.py:2869 +#: common/models.py:2870 msgid "Body" msgstr "" -#: common/models.py:2870 +#: common/models.py:2871 msgid "Body of this message" msgstr "" -#: common/models.py:2880 +#: common/models.py:2881 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2885 +#: common/models.py:2886 msgid "Worked on" msgstr "" -#: common/models.py:2886 +#: common/models.py:2887 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:3012 +#: common/models.py:3013 msgid "Id" msgstr "" -#: common/models.py:3014 templates/js/translated/company.js:965 +#: common/models.py:3015 templates/js/translated/company.js:965 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:3016 common/models.py:3271 company/models.py:146 +#: common/models.py:3017 common/models.py:3272 company/models.py:146 #: company/models.py:443 company/models.py:509 company/models.py:815 #: order/models.py:303 order/models.py:1378 order/models.py:1810 #: part/admin.py:55 part/models.py:1069 @@ -3853,217 +3850,217 @@ msgstr "" msgid "Link" msgstr "" -#: common/models.py:3018 templates/js/translated/news.js:60 +#: common/models.py:3019 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:3020 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:3021 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:103 msgid "Author" msgstr "" -#: common/models.py:3022 templates/js/translated/news.js:52 +#: common/models.py:3023 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:3025 +#: common/models.py:3026 msgid "Read" msgstr "" -#: common/models.py:3025 +#: common/models.py:3026 msgid "Was this news item read?" msgstr "" -#: common/models.py:3042 company/models.py:156 part/models.py:1079 +#: common/models.py:3043 company/models.py:156 part/models.py:1079 #: 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.html:35 -#: stock/templates/stock/item_base.html:133 templates/503.html:31 +#: stock/templates/stock/item_base.html:129 templates/503.html:31 #: templates/hover_image.html:7 templates/hover_image.html:9 #: templates/modals.html:6 msgid "Image" msgstr "" -#: common/models.py:3042 +#: common/models.py:3043 msgid "Image file" msgstr "" -#: common/models.py:3054 common/models.py:3255 +#: common/models.py:3055 common/models.py:3256 msgid "Target model type for this image" msgstr "" -#: common/models.py:3058 +#: common/models.py:3059 msgid "Target model ID for this image" msgstr "" -#: common/models.py:3080 +#: common/models.py:3081 msgid "Custom Unit" msgstr "" -#: common/models.py:3098 +#: common/models.py:3099 msgid "Unit symbol must be unique" msgstr "" -#: common/models.py:3113 +#: common/models.py:3114 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:3132 +#: common/models.py:3133 msgid "Unit name" msgstr "" -#: common/models.py:3139 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3140 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:3140 +#: common/models.py:3141 msgid "Optional unit symbol" msgstr "" -#: common/models.py:3146 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3147 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:3147 +#: common/models.py:3148 msgid "Unit definition" msgstr "" -#: common/models.py:3205 common/models.py:3262 stock/models.py:2552 +#: common/models.py:3206 common/models.py:3263 stock/models.py:2547 #: stock/serializers.py:244 templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:345 msgid "Attachment" msgstr "" -#: common/models.py:3217 +#: common/models.py:3218 msgid "Missing file" msgstr "" -#: common/models.py:3218 +#: common/models.py:3219 msgid "Missing external link" msgstr "" -#: common/models.py:3263 +#: common/models.py:3264 msgid "Select file to attach" msgstr "" -#: common/models.py:3278 templates/js/translated/attachment.js:120 +#: common/models.py:3279 templates/js/translated/attachment.js:120 #: templates/js/translated/attachment.js:360 msgid "Comment" msgstr "" -#: common/models.py:3279 +#: common/models.py:3280 msgid "Attachment comment" msgstr "" -#: common/models.py:3295 +#: common/models.py:3296 msgid "Upload date" msgstr "" -#: common/models.py:3296 +#: common/models.py:3297 msgid "Date the file was uploaded" msgstr "" -#: common/models.py:3300 +#: common/models.py:3301 msgid "File size" msgstr "" -#: common/models.py:3300 +#: common/models.py:3301 msgid "File size in bytes" msgstr "" -#: common/models.py:3338 common/serializers.py:588 +#: common/models.py:3339 common/serializers.py:604 msgid "Invalid model type specified for attachment" msgstr "" -#: common/models.py:3347 plugin/models.py:43 users/models.py:100 +#: common/models.py:3348 plugin/models.py:43 users/models.py:100 msgid "Key" msgstr "" -#: common/models.py:3348 +#: common/models.py:3349 msgid "Value that will be saved in the models database" msgstr "" -#: common/models.py:3351 +#: common/models.py:3352 msgid "Name of the state" msgstr "" -#: common/models.py:3355 +#: common/models.py:3356 msgid "Label" msgstr "" -#: common/models.py:3356 +#: common/models.py:3357 msgid "Label that will be displayed in the frontend" msgstr "" -#: common/models.py:3362 +#: common/models.py:3363 msgid "Color" msgstr "" -#: common/models.py:3363 +#: common/models.py:3364 msgid "Color that will be displayed in the frontend" msgstr "" -#: common/models.py:3366 +#: common/models.py:3367 msgid "Logical Key" msgstr "" -#: common/models.py:3368 +#: common/models.py:3369 msgid "State logical key that is equal to this custom state in business logic" msgstr "" -#: common/models.py:3376 +#: common/models.py:3377 msgid "Model" msgstr "" -#: common/models.py:3377 +#: common/models.py:3378 msgid "Model this state is associated with" msgstr "" -#: common/models.py:3381 +#: common/models.py:3382 msgid "Reference Status Set" msgstr "" -#: common/models.py:3382 +#: common/models.py:3383 msgid "Status set that is extended with this custom state" msgstr "" -#: common/models.py:3388 +#: common/models.py:3389 msgid "Custom State" msgstr "" -#: common/models.py:3389 +#: common/models.py:3390 msgid "Custom States" msgstr "" -#: common/models.py:3404 +#: common/models.py:3405 msgid "Model must be selected" msgstr "" -#: common/models.py:3407 +#: common/models.py:3408 msgid "Key must be selected" msgstr "" -#: common/models.py:3410 +#: common/models.py:3411 msgid "Logical key must be selected" msgstr "" -#: common/models.py:3414 +#: common/models.py:3415 msgid "Key must be different from logical key" msgstr "" -#: common/models.py:3418 +#: common/models.py:3419 msgid "Reference status must be selected" msgstr "" -#: common/models.py:3430 +#: common/models.py:3431 msgid "Reference status set not found" msgstr "" -#: common/models.py:3436 +#: common/models.py:3437 msgid "Key must be different from the logical keys of the reference status" msgstr "" -#: common/models.py:3442 +#: common/models.py:3443 msgid "Logical key must be in the logical keys of the reference status" msgstr "" @@ -4101,75 +4098,75 @@ msgstr "" msgid "Error raised by plugin" msgstr "" -#: common/serializers.py:402 +#: common/serializers.py:418 msgid "Is Running" msgstr "" -#: common/serializers.py:408 +#: common/serializers.py:424 msgid "Pending Tasks" msgstr "" -#: common/serializers.py:414 +#: common/serializers.py:430 msgid "Scheduled Tasks" msgstr "" -#: common/serializers.py:420 +#: common/serializers.py:436 msgid "Failed Tasks" msgstr "" -#: common/serializers.py:435 +#: common/serializers.py:451 msgid "Task ID" msgstr "" -#: common/serializers.py:435 +#: common/serializers.py:451 msgid "Unique task ID" msgstr "" -#: common/serializers.py:437 +#: common/serializers.py:453 msgid "Lock" msgstr "" -#: common/serializers.py:437 +#: common/serializers.py:453 msgid "Lock time" msgstr "" -#: common/serializers.py:439 +#: common/serializers.py:455 msgid "Task name" msgstr "" -#: common/serializers.py:441 +#: common/serializers.py:457 msgid "Function" msgstr "" -#: common/serializers.py:441 +#: common/serializers.py:457 msgid "Function name" msgstr "" -#: common/serializers.py:443 +#: common/serializers.py:459 msgid "Arguments" msgstr "" -#: common/serializers.py:443 +#: common/serializers.py:459 msgid "Task arguments" msgstr "" -#: common/serializers.py:446 +#: common/serializers.py:462 msgid "Keyword Arguments" msgstr "" -#: common/serializers.py:446 +#: common/serializers.py:462 msgid "Task keyword arguments" msgstr "" -#: common/serializers.py:556 +#: common/serializers.py:572 msgid "Filename" msgstr "" -#: common/serializers.py:563 report/api.py:100 report/serializers.py:53 +#: common/serializers.py:579 report/api.py:100 report/serializers.py:54 msgid "Model Type" msgstr "" -#: common/serializers.py:591 +#: common/serializers.py:607 msgid "User does not have permission to create or edit attachments for this model" msgstr "" @@ -4447,12 +4444,12 @@ msgstr "" #: company/models.py:467 company/models.py:584 company/models.py:808 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 -#: stock/templates/stock/item_base.html:217 +#: stock/templates/stock/item_base.html:213 msgid "Manufacturer Part" msgstr "" #: company/models.py:484 company/models.py:776 stock/models.py:791 -#: stock/serializers.py:452 stock/templates/stock/item_base.html:142 +#: stock/serializers.py:452 stock/templates/stock/item_base.html:138 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" @@ -4463,8 +4460,8 @@ msgstr "" #: company/models.py:495 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:567 -#: stock/templates/stock/item_base.html:207 +#: company/templates/company/supplier_part.html:145 part/serializers.py:565 +#: stock/templates/stock/item_base.html:203 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 #: templates/js/translated/company.js:1296 @@ -4479,7 +4476,7 @@ msgstr "" #: company/models.py:502 company/templates/company/manufacturer_part.html:101 #: company/templates/company/supplier_part.html:153 order/serializers.py:557 -#: part/serializers.py:577 templates/js/translated/company.js:351 +#: part/serializers.py:575 templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 #: templates/js/translated/company.js:1630 templates/js/translated/part.js:1807 @@ -4505,7 +4502,7 @@ msgid "Parameter name" msgstr "" #: company/models.py:597 report/templates/report/inventree_test_report.html:104 -#: stock/models.py:2544 templates/js/translated/company.js:1166 +#: stock/models.py:2539 templates/js/translated/company.js:1166 #: templates/js/translated/company.js:1419 templates/js/translated/part.js:1499 #: templates/js/translated/stock.js:1607 msgid "Value" @@ -4516,7 +4513,7 @@ msgid "Parameter value" msgstr "" #: company/models.py:605 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1159 part/models.py:3783 +#: part/admin.py:57 part/models.py:1159 part/models.py:3770 #: part/templates/part/part_base.html:300 #: templates/js/translated/company.js:1425 templates/js/translated/part.js:1518 #: templates/js/translated/part.js:1622 templates/js/translated/part.js:2376 @@ -4530,7 +4527,7 @@ msgstr "" #: company/models.py:659 company/templates/company/supplier_part.html:7 #: company/templates/company/supplier_part.html:24 order/api.py:440 #: order/serializers.py:492 stock/models.py:802 -#: stock/templates/stock/item_base.html:233 +#: stock/templates/stock/item_base.html:229 #: templates/js/translated/build.js:1055 #: templates/js/translated/company.js:1600 #: templates/js/translated/purchase_order.js:752 @@ -4553,9 +4550,9 @@ msgstr "" #: company/models.py:786 company/templates/company/company_base.html:87 #: company/templates/company/supplier_part.html:129 order/models.py:492 #: order/templates/order/order_base.html:141 part/bom.py:279 part/bom.py:314 -#: part/serializers.py:551 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:549 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 -#: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 +#: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:220 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:511 @@ -4570,7 +4567,7 @@ msgstr "" msgid "Select supplier" msgstr "" -#: company/models.py:793 part/serializers.py:562 +#: company/models.py:793 part/serializers.py:560 msgid "Supplier stock keeping unit" msgstr "" @@ -4591,7 +4588,7 @@ msgid "Supplier part description" msgstr "" #: company/models.py:832 company/templates/company/supplier_part.html:187 -#: order/serializers.py:699 part/admin.py:415 part/models.py:4301 +#: order/serializers.py:699 part/admin.py:415 part/models.py:4288 #: part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 @@ -4603,11 +4600,11 @@ msgstr "" msgid "Note" msgstr "" -#: company/models.py:841 part/models.py:2129 +#: company/models.py:841 part/models.py:2128 msgid "base cost" msgstr "" -#: company/models.py:842 part/models.py:2130 +#: company/models.py:842 part/models.py:2129 msgid "Minimum charge (e.g. stocking fee)" msgstr "" @@ -4629,7 +4626,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:876 part/models.py:2136 +#: company/models.py:876 part/models.py:2135 msgid "multiple" msgstr "" @@ -4661,7 +4658,7 @@ msgstr "" msgid "Company Name" msgstr "" -#: company/serializers.py:397 part/admin.py:126 part/serializers.py:919 +#: company/serializers.py:397 part/admin.py:126 part/serializers.py:917 #: part/templates/part/part_base.html:197 #: templates/js/translated/company.js:1689 #: templates/js/translated/table_filters.js:362 @@ -4735,7 +4732,7 @@ msgstr "" #: order/models.py:2140 order/templates/order/return_order_base.html:134 #: order/templates/order/sales_order_base.html:151 stock/models.py:844 #: stock/models.py:845 stock/serializers.py:1336 -#: stock/templates/stock/item_base.html:405 +#: stock/templates/stock/item_base.html:401 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 #: templates/js/translated/return_order.js:295 @@ -4939,7 +4936,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:925 +#: part/admin.py:122 part/serializers.py:923 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -5030,7 +5027,7 @@ msgid "No supplier information available" msgstr "" #: company/templates/company/supplier_part.html:139 order/serializers.py:554 -#: part/bom.py:286 part/bom.py:315 part/serializers.py:561 +#: part/bom.py:286 part/bom.py:315 part/serializers.py:559 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1793 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1920 @@ -5084,7 +5081,7 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:923 part/stocktake.py:223 +#: part/serializers.py:921 part/stocktake.py:223 #: part/templates/part/category.html:180 #: part/templates/part/category_sidebar.html:17 stock/admin.py:68 #: stock/serializers.py:1021 stock/serializers.py:1199 @@ -5215,7 +5212,7 @@ msgstr "" msgid "Original row data" msgstr "" -#: importer/models.py:504 part/models.py:3965 +#: importer/models.py:504 part/models.py:3952 msgid "Data" msgstr "" @@ -5473,7 +5470,7 @@ msgstr "" #: order/models.py:1592 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_purchase_order_report.html:14 -#: stock/serializers.py:121 stock/templates/stock/item_base.html:176 +#: stock/serializers.py:121 stock/templates/stock/item_base.html:172 #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/part.js:1752 templates/js/translated/pricing.js:804 #: templates/js/translated/purchase_order.js:168 @@ -5694,7 +5691,7 @@ msgid "Number of items received" msgstr "" #: order/models.py:1513 stock/models.py:963 stock/serializers.py:617 -#: stock/templates/stock/item_base.html:183 +#: stock/templates/stock/item_base.html:179 #: templates/js/translated/stock.js:2397 msgid "Purchase Price" msgstr "" @@ -5768,7 +5765,7 @@ msgid "User who checked this shipment" msgstr "" #: order/models.py:1788 order/models.py:2011 order/serializers.py:1479 -#: order/serializers.py:1589 templates/js/translated/model_renderers.js:455 +#: order/serializers.py:1597 templates/js/translated/model_renderers.js:455 msgid "Shipment" msgstr "" @@ -5982,7 +5979,7 @@ msgstr "" msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:656 order/serializers.py:779 order/serializers.py:1790 +#: order/serializers.py:656 order/serializers.py:779 order/serializers.py:1798 msgid "Select destination location for received items" msgstr "" @@ -6019,7 +6016,7 @@ msgstr "" msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:795 order/serializers.py:1806 +#: order/serializers.py:795 order/serializers.py:1814 msgid "Line items must be provided" msgstr "" @@ -6051,39 +6048,39 @@ msgstr "" msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1491 order/serializers.py:1597 +#: order/serializers.py:1491 order/serializers.py:1605 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1494 order/serializers.py:1600 +#: order/serializers.py:1494 order/serializers.py:1608 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1541 +#: order/serializers.py:1549 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1548 -msgid "The following serial numbers are already allocated" +#: order/serializers.py:1556 +msgid "The following serial numbers are unavailable" msgstr "" -#: order/serializers.py:1760 +#: order/serializers.py:1768 msgid "Return order line item" msgstr "" -#: order/serializers.py:1766 +#: order/serializers.py:1774 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1769 +#: order/serializers.py:1777 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1798 +#: order/serializers.py:1806 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1881 +#: order/serializers.py:1889 msgid "Line price currency" msgstr "" @@ -6510,7 +6507,7 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:48 part/models.py:1044 part/serializers.py:908 +#: part/admin.py:48 part/models.py:1044 part/serializers.py:906 #: part/templates/part/part_base.html:276 #: report/templates/report/inventree_stock_location_report.html:103 #: templates/js/translated/part.js:1233 templates/js/translated/part.js:2347 @@ -6537,7 +6534,7 @@ msgstr "" msgid "Category ID" msgstr "" -#: part/admin.py:67 part/admin.py:304 part/serializers.py:893 +#: part/admin.py:67 part/admin.py:304 part/serializers.py:891 #: part/stocktake.py:222 msgid "Category Name" msgstr "" @@ -6562,18 +6559,18 @@ msgstr "" msgid "Used In" msgstr "" -#: part/admin.py:150 part/serializers.py:918 +#: part/admin.py:150 part/serializers.py:916 #: part/templates/part/part_base.html:248 stock/admin.py:236 #: templates/js/translated/part.js:717 templates/js/translated/part.js:2159 msgid "Building" msgstr "" -#: part/admin.py:155 part/models.py:3214 part/models.py:3228 +#: part/admin.py:155 part/models.py:3201 part/models.py:3215 #: templates/js/translated/part.js:976 msgid "Minimum Cost" msgstr "" -#: part/admin.py:158 part/models.py:3221 part/models.py:3235 +#: part/admin.py:158 part/models.py:3208 part/models.py:3222 #: templates/js/translated/part.js:986 msgid "Maximum Cost" msgstr "" @@ -6592,7 +6589,7 @@ msgid "Category Path" msgstr "" #: part/admin.py:325 part/models.py:420 part/serializers.py:130 -#: part/serializers.py:290 part/serializers.py:428 +#: part/serializers.py:290 part/serializers.py:426 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:20 #: part/templates/part/category.html:138 part/templates/part/category.html:158 #: part/templates/part/category_sidebar.html:9 @@ -6619,13 +6616,13 @@ msgstr "" msgid "Part Revision" msgstr "" -#: part/admin.py:418 part/serializers.py:1367 +#: part/admin.py:418 part/serializers.py:1365 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:423 part/serializers.py:1382 +#: part/admin.py:423 part/serializers.py:1380 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -6719,8 +6716,8 @@ msgstr "" msgid "BOM Valid" msgstr "" -#: part/api.py:1520 part/models.py:1036 part/models.py:3501 part/models.py:4060 -#: part/serializers.py:443 part/serializers.py:1223 +#: part/api.py:1520 part/models.py:1036 part/models.py:3488 part/models.py:4047 +#: part/serializers.py:441 part/serializers.py:1221 #: part/templates/part/part_base.html:267 stock/api.py:780 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 @@ -6746,7 +6743,7 @@ msgstr "" msgid "Default Location" msgstr "" -#: part/bom.py:184 part/serializers.py:926 +#: part/bom.py:184 part/serializers.py:924 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -6755,7 +6752,7 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:89 part/models.py:4061 part/templates/part/category.html:16 +#: part/models.py:89 part/models.py:4048 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -6878,7 +6875,7 @@ msgstr "" msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:995 part/models.py:4116 +#: part/models.py:995 part/models.py:4103 msgid "Part name" msgstr "" @@ -6906,7 +6903,7 @@ msgstr "" msgid "Part category" msgstr "" -#: part/models.py:1052 part/serializers.py:360 +#: part/models.py:1052 msgid "Part revision or version number" msgstr "" @@ -7012,164 +7009,164 @@ msgid "Owner responsible for this part" msgstr "" #: part/models.py:1264 part/templates/part/part_base.html:355 -#: stock/templates/stock/item_base.html:451 +#: stock/templates/stock/item_base.html:447 #: templates/js/translated/part.js:2490 msgid "Last Stocktake" msgstr "" -#: part/models.py:2137 +#: part/models.py:2136 msgid "Sell multiple" msgstr "" -#: part/models.py:3128 +#: part/models.py:3115 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3144 +#: part/models.py:3131 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3145 +#: part/models.py:3132 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3151 +#: part/models.py:3138 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3152 +#: part/models.py:3139 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3158 +#: part/models.py:3145 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3159 +#: part/models.py:3146 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3165 +#: part/models.py:3152 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3166 +#: part/models.py:3153 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3172 +#: part/models.py:3159 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3173 +#: part/models.py:3160 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3179 +#: part/models.py:3166 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3180 +#: part/models.py:3167 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3186 +#: part/models.py:3173 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3187 +#: part/models.py:3174 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3193 +#: part/models.py:3180 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3194 +#: part/models.py:3181 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3200 +#: part/models.py:3187 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3201 +#: part/models.py:3188 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3207 +#: part/models.py:3194 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3208 +#: part/models.py:3195 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3215 +#: part/models.py:3202 msgid "Override minimum cost" msgstr "" -#: part/models.py:3222 +#: part/models.py:3209 msgid "Override maximum cost" msgstr "" -#: part/models.py:3229 +#: part/models.py:3216 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3236 +#: part/models.py:3223 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3242 +#: part/models.py:3229 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3243 +#: part/models.py:3230 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3249 +#: part/models.py:3236 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3250 +#: part/models.py:3237 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3256 +#: part/models.py:3243 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3257 +#: part/models.py:3244 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3263 +#: part/models.py:3250 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3264 +#: part/models.py:3251 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3283 +#: part/models.py:3270 msgid "Part for stocktake" msgstr "" -#: part/models.py:3288 +#: part/models.py:3275 msgid "Item Count" msgstr "" -#: part/models.py:3289 +#: part/models.py:3276 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3297 +#: part/models.py:3284 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3301 part/models.py:3384 +#: part/models.py:3288 part/models.py:3371 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -7181,363 +7178,363 @@ msgstr "" msgid "Date" msgstr "" -#: part/models.py:3302 +#: part/models.py:3289 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3310 +#: part/models.py:3297 msgid "Additional notes" msgstr "" -#: part/models.py:3320 +#: part/models.py:3307 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3326 +#: part/models.py:3313 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3327 +#: part/models.py:3314 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3333 +#: part/models.py:3320 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3334 +#: part/models.py:3321 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3390 templates/InvenTree/settings/settings_staff_js.html:532 +#: part/models.py:3377 templates/InvenTree/settings/settings_staff_js.html:532 msgid "Report" msgstr "" -#: part/models.py:3391 +#: part/models.py:3378 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3396 templates/InvenTree/settings/settings_staff_js.html:539 +#: part/models.py:3383 templates/InvenTree/settings/settings_staff_js.html:539 msgid "Part Count" msgstr "" -#: part/models.py:3397 +#: part/models.py:3384 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3407 +#: part/models.py:3394 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3417 +#: part/models.py:3404 msgid "Part Sale Price Break" msgstr "" -#: part/models.py:3529 +#: part/models.py:3516 msgid "Part Test Template" msgstr "" -#: part/models.py:3555 +#: part/models.py:3542 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3576 part/models.py:3745 +#: part/models.py:3563 part/models.py:3732 msgid "Choices must be unique" msgstr "" -#: part/models.py:3587 +#: part/models.py:3574 msgid "Test templates can only be created for testable parts" msgstr "" -#: part/models.py:3598 +#: part/models.py:3585 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3615 templates/js/translated/part.js:2898 +#: part/models.py:3602 templates/js/translated/part.js:2898 msgid "Test Name" msgstr "" -#: part/models.py:3616 +#: part/models.py:3603 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3622 +#: part/models.py:3609 msgid "Test Key" msgstr "" -#: part/models.py:3623 +#: part/models.py:3610 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3630 +#: part/models.py:3617 msgid "Test Description" msgstr "" -#: part/models.py:3631 +#: part/models.py:3618 msgid "Enter description for this test" msgstr "" -#: part/models.py:3635 report/models.py:208 +#: part/models.py:3622 report/models.py:216 #: templates/js/translated/part.js:2919 #: templates/js/translated/table_filters.js:502 msgid "Enabled" msgstr "" -#: part/models.py:3635 +#: part/models.py:3622 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3640 templates/js/translated/part.js:2927 +#: part/models.py:3627 templates/js/translated/part.js:2927 #: templates/js/translated/table_filters.js:498 msgid "Required" msgstr "" -#: part/models.py:3641 +#: part/models.py:3628 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3646 templates/js/translated/part.js:2935 +#: part/models.py:3633 templates/js/translated/part.js:2935 msgid "Requires Value" msgstr "" -#: part/models.py:3647 +#: part/models.py:3634 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3652 templates/js/translated/part.js:2942 +#: part/models.py:3639 templates/js/translated/part.js:2942 msgid "Requires Attachment" msgstr "" -#: part/models.py:3654 +#: part/models.py:3641 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3660 part/models.py:3804 templates/js/translated/part.js:1643 +#: part/models.py:3647 part/models.py:3791 templates/js/translated/part.js:1643 msgid "Choices" msgstr "" -#: part/models.py:3661 +#: part/models.py:3648 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3693 +#: part/models.py:3680 msgid "Part Parameter Template" msgstr "" -#: part/models.py:3720 +#: part/models.py:3707 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3725 +#: part/models.py:3712 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3762 +#: part/models.py:3749 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3777 +#: part/models.py:3764 msgid "Parameter Name" msgstr "" -#: part/models.py:3784 +#: part/models.py:3771 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3792 +#: part/models.py:3779 msgid "Parameter description" msgstr "" -#: part/models.py:3798 templates/js/translated/part.js:1634 +#: part/models.py:3785 templates/js/translated/part.js:1634 #: templates/js/translated/table_filters.js:837 msgid "Checkbox" msgstr "" -#: part/models.py:3799 +#: part/models.py:3786 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3805 +#: part/models.py:3792 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3839 +#: part/models.py:3826 msgid "Part Parameter" msgstr "" -#: part/models.py:3865 +#: part/models.py:3852 msgid "Parameter cannot be modified - part is locked" msgstr "" -#: part/models.py:3903 +#: part/models.py:3890 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3952 +#: part/models.py:3939 msgid "Parent Part" msgstr "" -#: part/models.py:3960 part/models.py:4068 part/models.py:4069 +#: part/models.py:3947 part/models.py:4055 part/models.py:4056 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3966 +#: part/models.py:3953 msgid "Parameter Value" msgstr "" -#: part/models.py:4016 +#: part/models.py:4003 msgid "Part Category Parameter Template" msgstr "" -#: part/models.py:4075 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:4062 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:4076 +#: part/models.py:4063 msgid "Default Parameter Value" msgstr "" -#: part/models.py:4114 +#: part/models.py:4101 msgid "Part ID or part name" msgstr "" -#: part/models.py:4115 +#: part/models.py:4102 msgid "Unique part ID value" msgstr "" -#: part/models.py:4117 +#: part/models.py:4104 msgid "Part IPN value" msgstr "" -#: part/models.py:4118 +#: part/models.py:4105 msgid "Level" msgstr "" -#: part/models.py:4118 +#: part/models.py:4105 msgid "BOM level" msgstr "" -#: part/models.py:4228 +#: part/models.py:4215 msgid "BOM item cannot be modified - assembly is locked" msgstr "" -#: part/models.py:4235 +#: part/models.py:4222 msgid "BOM item cannot be modified - variant assembly is locked" msgstr "" -#: part/models.py:4245 +#: part/models.py:4232 msgid "Select parent part" msgstr "" -#: part/models.py:4255 +#: part/models.py:4242 msgid "Sub part" msgstr "" -#: part/models.py:4256 +#: part/models.py:4243 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4267 +#: part/models.py:4254 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4273 +#: part/models.py:4260 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4279 +#: part/models.py:4266 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4286 part/templates/part/upload_bom.html:55 +#: part/models.py:4273 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4287 +#: part/models.py:4274 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4294 +#: part/models.py:4281 msgid "BOM item reference" msgstr "" -#: part/models.py:4302 +#: part/models.py:4289 msgid "BOM item notes" msgstr "" -#: part/models.py:4308 +#: part/models.py:4295 msgid "Checksum" msgstr "" -#: part/models.py:4309 +#: part/models.py:4296 msgid "BOM line checksum" msgstr "" -#: part/models.py:4314 templates/js/translated/table_filters.js:181 +#: part/models.py:4301 templates/js/translated/table_filters.js:181 msgid "Validated" msgstr "" -#: part/models.py:4315 +#: part/models.py:4302 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4320 part/templates/part/upload_bom.html:57 +#: part/models.py:4307 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:185 #: templates/js/translated/table_filters.js:218 msgid "Gets inherited" msgstr "" -#: part/models.py:4321 +#: part/models.py:4308 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4327 +#: part/models.py:4314 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4412 stock/models.py:689 +#: part/models.py:4399 stock/models.py:689 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4422 part/models.py:4424 +#: part/models.py:4409 part/models.py:4411 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4561 +#: part/models.py:4554 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4582 +#: part/models.py:4575 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4595 +#: part/models.py:4588 msgid "Parent BOM item" msgstr "" -#: part/models.py:4603 +#: part/models.py:4596 msgid "Substitute part" msgstr "" -#: part/models.py:4619 +#: part/models.py:4612 msgid "Part 1" msgstr "" -#: part/models.py:4627 +#: part/models.py:4620 msgid "Part 2" msgstr "" -#: part/models.py:4628 +#: part/models.py:4621 msgid "Select Related Part" msgstr "" -#: part/models.py:4647 +#: part/models.py:4640 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4652 +#: part/models.py:4645 msgid "Duplicate relationship already exists" msgstr "" @@ -7571,326 +7568,326 @@ msgstr "" msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:434 +#: part/serializers.py:432 msgid "No parts selected" msgstr "" -#: part/serializers.py:444 +#: part/serializers.py:442 msgid "Select category" msgstr "" -#: part/serializers.py:479 +#: part/serializers.py:477 msgid "Original Part" msgstr "" -#: part/serializers.py:480 +#: part/serializers.py:478 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:485 +#: part/serializers.py:483 msgid "Copy Image" msgstr "" -#: part/serializers.py:486 +#: part/serializers.py:484 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:492 part/templates/part/detail.html:293 +#: part/serializers.py:490 part/templates/part/detail.html:293 msgid "Copy BOM" msgstr "" -#: part/serializers.py:493 +#: part/serializers.py:491 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:499 +#: part/serializers.py:497 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:500 +#: part/serializers.py:498 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:506 +#: part/serializers.py:504 msgid "Copy Notes" msgstr "" -#: part/serializers.py:507 +#: part/serializers.py:505 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:525 +#: part/serializers.py:523 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:527 +#: part/serializers.py:525 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:534 +#: part/serializers.py:532 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:535 +#: part/serializers.py:533 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:552 +#: part/serializers.py:550 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:568 +#: part/serializers.py:566 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:578 +#: part/serializers.py:576 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:585 +#: part/serializers.py:583 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:594 +#: part/serializers.py:592 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:605 +#: part/serializers.py:603 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:612 +#: part/serializers.py:610 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:924 +#: part/serializers.py:922 msgid "Revisions" msgstr "" -#: part/serializers.py:929 +#: part/serializers.py:927 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:932 +#: part/serializers.py:930 msgid "Variant Stock" msgstr "" -#: part/serializers.py:962 part/templates/part/copy_part.html:9 +#: part/serializers.py:960 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:474 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:963 +#: part/serializers.py:961 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:969 templates/js/translated/part.js:103 +#: part/serializers.py:967 templates/js/translated/part.js:103 msgid "Initial Stock" msgstr "" -#: part/serializers.py:970 +#: part/serializers.py:968 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:976 +#: part/serializers.py:974 msgid "Supplier Information" msgstr "" -#: part/serializers.py:977 +#: part/serializers.py:975 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:985 +#: part/serializers.py:983 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:986 +#: part/serializers.py:984 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:991 +#: part/serializers.py:989 msgid "Existing Image" msgstr "" -#: part/serializers.py:992 +#: part/serializers.py:990 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:1009 +#: part/serializers.py:1007 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1215 +#: part/serializers.py:1213 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1225 +#: part/serializers.py:1223 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1235 +#: part/serializers.py:1233 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1241 +#: part/serializers.py:1239 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1242 +#: part/serializers.py:1240 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1247 +#: part/serializers.py:1245 msgid "Generate Report" msgstr "" -#: part/serializers.py:1248 +#: part/serializers.py:1246 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1253 +#: part/serializers.py:1251 msgid "Update Parts" msgstr "" -#: part/serializers.py:1254 +#: part/serializers.py:1252 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1262 +#: part/serializers.py:1260 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1368 +#: part/serializers.py:1366 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1375 +#: part/serializers.py:1373 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1383 +#: part/serializers.py:1381 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1390 +#: part/serializers.py:1388 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1419 +#: part/serializers.py:1417 msgid "Update" msgstr "" -#: part/serializers.py:1420 +#: part/serializers.py:1418 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1443 +#: part/serializers.py:1441 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1450 +#: part/serializers.py:1448 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1453 +#: part/serializers.py:1451 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1597 +#: part/serializers.py:1595 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1606 +#: part/serializers.py:1604 msgid "Component Name" msgstr "" -#: part/serializers.py:1609 +#: part/serializers.py:1607 msgid "Component IPN" msgstr "" -#: part/serializers.py:1612 +#: part/serializers.py:1610 msgid "Component Description" msgstr "" -#: part/serializers.py:1618 +#: part/serializers.py:1616 msgid "Select the component part" msgstr "" -#: part/serializers.py:1627 part/templates/part/part_base.html:242 +#: part/serializers.py:1625 part/templates/part/part_base.html:242 #: templates/js/translated/bom.js:1219 msgid "Can Build" msgstr "" -#: part/serializers.py:1858 +#: part/serializers.py:1856 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1866 +#: part/serializers.py:1864 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1867 +#: part/serializers.py:1865 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1872 +#: part/serializers.py:1870 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1873 +#: part/serializers.py:1871 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1878 +#: part/serializers.py:1876 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1879 +#: part/serializers.py:1877 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1884 +#: part/serializers.py:1882 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1885 +#: part/serializers.py:1883 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1922 +#: part/serializers.py:1920 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1923 +#: part/serializers.py:1921 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1955 +#: part/serializers.py:1953 msgid "No part column specified" msgstr "" -#: part/serializers.py:1999 +#: part/serializers.py:1997 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:2002 +#: part/serializers.py:2000 msgid "No matching part found" msgstr "" -#: part/serializers.py:2004 +#: part/serializers.py:2002 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:2013 +#: part/serializers.py:2011 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:2021 +#: part/serializers.py:2019 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:2044 +#: part/serializers.py:2042 msgid "At least one BOM item is required" msgstr "" @@ -8216,7 +8213,7 @@ msgid "Subscribe to notifications for this part" msgstr "" #: part/templates/part/part_base.html:52 -#: stock/templates/stock/item_base.html:62 +#: stock/templates/stock/item_base.html:61 #: stock/templates/stock/location.html:71 templates/js/translated/label.js:136 msgid "Print Label" msgstr "" @@ -8226,7 +8223,7 @@ msgid "Show pricing information" msgstr "" #: part/templates/part/part_base.html:63 -#: stock/templates/stock/item_base.html:110 +#: stock/templates/stock/item_base.html:106 #: stock/templates/stock/location.html:80 msgid "Stock actions" msgstr "" @@ -8297,12 +8294,12 @@ msgid "Required for Orders" msgstr "" #: part/templates/part/part_base.html:225 -#: stock/templates/stock/item_base.html:388 +#: stock/templates/stock/item_base.html:384 msgid "Allocated to Build Orders" msgstr "" #: part/templates/part/part_base.html:234 -#: stock/templates/stock/item_base.html:381 +#: stock/templates/stock/item_base.html:377 msgid "Allocated to Sales Orders" msgstr "" @@ -8322,7 +8319,7 @@ msgid "Latest Serial Number" msgstr "" #: part/templates/part/part_base.html:372 -#: stock/templates/stock/item_base.html:322 +#: stock/templates/stock/item_base.html:318 msgid "Search for serial number" msgstr "" @@ -8449,7 +8446,7 @@ msgid "Edit" msgstr "" #: part/templates/part/prices.html:28 stock/admin.py:252 -#: stock/templates/stock/item_base.html:446 +#: stock/templates/stock/item_base.html:442 #: templates/js/translated/company.js:1703 #: templates/js/translated/company.js:1713 #: templates/js/translated/stock.js:2332 @@ -8604,7 +8601,7 @@ msgstr "" msgid "Part Pricing" msgstr "" -#: plugin/api.py:172 +#: plugin/api.py:174 msgid "Plugin cannot be deleted as it is currently active" msgstr "" @@ -8940,7 +8937,7 @@ msgstr "" msgid "Print a border around each label" msgstr "" -#: plugin/builtin/labels/label_sheet.py:47 report/models.py:307 +#: plugin/builtin/labels/label_sheet.py:47 report/models.py:315 msgid "Landscape" msgstr "" @@ -9012,44 +9009,44 @@ msgstr "" msgid "The Supplier which acts as 'TME'" msgstr "" -#: plugin/installer.py:194 plugin/installer.py:274 +#: plugin/installer.py:199 plugin/installer.py:282 msgid "Only staff users can administer plugins" msgstr "" -#: plugin/installer.py:197 +#: plugin/installer.py:202 msgid "Plugin installation is disabled" msgstr "" -#: plugin/installer.py:241 +#: plugin/installer.py:246 msgid "Installed plugin successfully" msgstr "" -#: plugin/installer.py:246 +#: plugin/installer.py:251 #, python-brace-format msgid "Installed plugin into {path}" msgstr "" -#: plugin/installer.py:265 +#: plugin/installer.py:273 msgid "Plugin was not found in registry" msgstr "" -#: plugin/installer.py:268 +#: plugin/installer.py:276 msgid "Plugin is not a packaged plugin" msgstr "" -#: plugin/installer.py:271 +#: plugin/installer.py:279 msgid "Plugin package name not found" msgstr "" -#: plugin/installer.py:291 +#: plugin/installer.py:299 msgid "Plugin uninstalling is disabled" msgstr "" -#: plugin/installer.py:295 +#: plugin/installer.py:303 msgid "Plugin cannot be uninstalled as it is currently active" msgstr "" -#: plugin/installer.py:308 +#: plugin/installer.py:316 msgid "Uninstalled plugin successfully" msgstr "" @@ -9098,7 +9095,7 @@ msgstr "" msgid "Package Plugin" msgstr "" -#: plugin/models.py:220 report/models.py:474 +#: plugin/models.py:220 report/models.py:482 #: templates/InvenTree/settings/plugin_settings.html:9 #: templates/js/translated/plugin.js:51 msgid "Plugin" @@ -9167,6 +9164,38 @@ msgstr "" msgid "InvenTree Contributors" msgstr "" +#: plugin/samples/integration/user_interface_sample.py:22 +msgid "Enable Part Panels" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:23 +msgid "Enable custom panels for Part views" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:28 +msgid "Enable Purchase Order Panels" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:29 +msgid "Enable custom panels for Purchase Order views" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:34 +msgid "Enable Broken Panels" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:35 +msgid "Enable broken panels for testing" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:40 +msgid "Enable Dynamic Panel" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:41 +msgid "Enable dynamic panels for testing" +msgstr "" + #: plugin/serializers.py:81 msgid "Source URL" msgstr "" @@ -9245,12 +9274,36 @@ msgstr "" msgid "Delete the plugin configuration from the database" msgstr "" +#: plugin/serializers.py:324 +msgid "Plugin Key" +msgstr "" + +#: plugin/serializers.py:328 +msgid "Panel Name" +msgstr "" + +#: plugin/serializers.py:332 +msgid "Panel Title" +msgstr "" + +#: plugin/serializers.py:337 +msgid "Panel Icon" +msgstr "" + +#: plugin/serializers.py:341 +msgid "Panel Content (HTML)" +msgstr "" + +#: plugin/serializers.py:345 +msgid "Panel Source (javascript)" +msgstr "" + #: report/api.py:88 msgid "No valid objects provided to template" msgstr "" -#: report/api.py:103 report/models.py:438 report/serializers.py:98 -#: report/serializers.py:148 templates/js/translated/purchase_order.js:1817 +#: report/api.py:103 report/models.py:446 report/serializers.py:99 +#: report/serializers.py:149 templates/js/translated/purchase_order.js:1817 #: templates/js/translated/return_order.js:353 #: templates/js/translated/sales_order.js:887 #: templates/js/translated/sales_order.js:1047 @@ -9281,7 +9334,11 @@ msgstr "" msgid "Error printing label" msgstr "" -#: report/api.py:375 report/api.py:411 +#: report/api.py:358 +msgid "Report saved at time of printing" +msgstr "" + +#: report/api.py:384 report/api.py:420 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" @@ -9318,135 +9375,143 @@ msgstr "" msgid "Revision number (auto-increments)" msgstr "" -#: report/models.py:202 +#: report/models.py:168 +msgid "Attach to Model on Print" +msgstr "" + +#: report/models.py:170 +msgid "Save report output as an attachment against linked model instance when printing" +msgstr "" + +#: report/models.py:210 msgid "Filename Pattern" msgstr "" -#: report/models.py:203 +#: report/models.py:211 msgid "Pattern for generating filenames" msgstr "" -#: report/models.py:208 +#: report/models.py:216 msgid "Template is enabled" msgstr "" -#: report/models.py:214 +#: report/models.py:222 msgid "Target model type for template" msgstr "" -#: report/models.py:234 +#: report/models.py:242 msgid "Filters" msgstr "" -#: report/models.py:235 +#: report/models.py:243 msgid "Template query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:294 report/models.py:361 +#: report/models.py:302 report/models.py:369 msgid "Template file" msgstr "" -#: report/models.py:302 +#: report/models.py:310 msgid "Page size for PDF reports" msgstr "" -#: report/models.py:308 +#: report/models.py:316 msgid "Render report in landscape orientation" msgstr "" -#: report/models.py:367 +#: report/models.py:375 msgid "Width [mm]" msgstr "" -#: report/models.py:368 +#: report/models.py:376 msgid "Label width, specified in mm" msgstr "" -#: report/models.py:374 +#: report/models.py:382 msgid "Height [mm]" msgstr "" -#: report/models.py:375 +#: report/models.py:383 msgid "Label height, specified in mm" msgstr "" -#: report/models.py:438 +#: report/models.py:446 msgid "Number of items to process" msgstr "" -#: report/models.py:444 +#: report/models.py:452 msgid "Report generation is complete" msgstr "" -#: report/models.py:448 templates/js/translated/build.js:2352 +#: report/models.py:456 templates/js/translated/build.js:2352 msgid "Progress" msgstr "" -#: report/models.py:448 +#: report/models.py:456 msgid "Report generation progress" msgstr "" -#: report/models.py:456 +#: report/models.py:464 msgid "Report Template" msgstr "" -#: report/models.py:463 report/models.py:486 +#: report/models.py:471 report/models.py:494 msgid "Output File" msgstr "" -#: report/models.py:464 report/models.py:487 +#: report/models.py:472 report/models.py:495 msgid "Generated output file" msgstr "" -#: report/models.py:475 +#: report/models.py:483 msgid "Label output plugin" msgstr "" -#: report/models.py:479 +#: report/models.py:487 msgid "Label Template" msgstr "" -#: report/models.py:502 +#: report/models.py:510 msgid "Snippet" msgstr "" -#: report/models.py:503 +#: report/models.py:511 msgid "Report snippet file" msgstr "" -#: report/models.py:510 +#: report/models.py:518 msgid "Snippet file description" msgstr "" -#: report/models.py:528 +#: report/models.py:536 msgid "Asset" msgstr "" -#: report/models.py:529 +#: report/models.py:537 msgid "Report asset file" msgstr "" -#: report/models.py:536 +#: report/models.py:544 msgid "Asset file description" msgstr "" -#: report/serializers.py:91 +#: report/serializers.py:92 msgid "Select report template" msgstr "" -#: report/serializers.py:99 report/serializers.py:149 +#: report/serializers.py:100 report/serializers.py:150 msgid "List of item primary keys to include in the report" msgstr "" -#: report/serializers.py:132 +#: report/serializers.py:133 msgid "Select label template" msgstr "" -#: report/serializers.py:140 +#: report/serializers.py:141 msgid "Printing Plugin" msgstr "" -#: report/serializers.py:141 +#: report/serializers.py:142 msgid "Select plugin to use for label printing" msgstr "" @@ -9517,7 +9582,7 @@ msgstr "" msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report.html:103 stock/models.py:2538 +#: report/templates/report/inventree_test_report.html:103 stock/models.py:2533 msgid "Result" msgstr "" @@ -9598,7 +9663,7 @@ msgid "Customer ID" msgstr "" #: stock/admin.py:206 stock/models.py:829 -#: stock/templates/stock/item_base.html:354 +#: stock/templates/stock/item_base.html:350 msgid "Installed In" msgstr "" @@ -9623,7 +9688,7 @@ msgid "Delete on Deplete" msgstr "" #: stock/admin.py:261 stock/models.py:923 -#: stock/templates/stock/item_base.html:433 +#: stock/templates/stock/item_base.html:429 #: templates/js/translated/stock.js:2316 users/models.py:124 msgid "Expiry Date" msgstr "" @@ -9665,7 +9730,7 @@ msgid "Expiry date after" msgstr "" #: stock/api.py:839 stock/serializers.py:611 -#: stock/templates/stock/item_base.html:439 +#: stock/templates/stock/item_base.html:435 #: templates/js/translated/table_filters.js:448 msgid "Stale" msgstr "" @@ -9715,7 +9780,7 @@ msgid "Stock Locations" msgstr "" #: stock/models.py:185 stock/models.py:972 -#: stock/templates/stock/item_base.html:247 +#: stock/templates/stock/item_base.html:243 msgid "Owner" msgstr "" @@ -9826,7 +9891,7 @@ msgstr "" msgid "Build for this stock item" msgstr "" -#: stock/models.py:892 stock/templates/stock/item_base.html:363 +#: stock/models.py:892 stock/templates/stock/item_base.html:359 msgid "Consumed By" msgstr "" @@ -9891,7 +9956,7 @@ msgstr "" msgid "Serial numbers already exist" msgstr "" -#: stock/models.py:1636 +#: stock/models.py:1636 stock/models.py:2436 msgid "Test template does not exist" msgstr "" @@ -9939,67 +10004,67 @@ msgstr "" msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2337 +#: stock/models.py:2335 msgid "Stock Item Tracking" msgstr "" -#: stock/models.py:2370 +#: stock/models.py:2368 msgid "Entry notes" msgstr "" -#: stock/models.py:2410 +#: stock/models.py:2408 msgid "Stock Item Test Result" msgstr "" -#: stock/models.py:2443 +#: stock/models.py:2439 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2448 +#: stock/models.py:2443 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2453 +#: stock/models.py:2448 msgid "Invalid value for this test" msgstr "" -#: stock/models.py:2538 +#: stock/models.py:2533 msgid "Test result" msgstr "" -#: stock/models.py:2545 +#: stock/models.py:2540 msgid "Test output value" msgstr "" -#: stock/models.py:2553 stock/serializers.py:245 +#: stock/models.py:2548 stock/serializers.py:245 msgid "Test result attachment" msgstr "" -#: stock/models.py:2557 +#: stock/models.py:2552 msgid "Test notes" msgstr "" -#: stock/models.py:2565 templates/js/translated/stock.js:1633 +#: stock/models.py:2560 templates/js/translated/stock.js:1633 msgid "Test station" msgstr "" -#: stock/models.py:2566 +#: stock/models.py:2561 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2572 +#: stock/models.py:2567 msgid "Started" msgstr "" -#: stock/models.py:2573 +#: stock/models.py:2568 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2579 +#: stock/models.py:2574 msgid "Finished" msgstr "" -#: stock/models.py:2580 +#: stock/models.py:2575 msgid "The timestamp of the test finish" msgstr "" @@ -10059,7 +10124,7 @@ msgstr "" msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:459 stock/templates/stock/item_base.html:193 +#: stock/serializers.py:459 stock/templates/stock/item_base.html:189 msgid "Parent Item" msgstr "" @@ -10071,7 +10136,7 @@ msgstr "" msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:603 stock/templates/stock/item_base.html:437 +#: stock/serializers.py:603 stock/templates/stock/item_base.html:433 #: templates/js/translated/table_filters.js:442 users/models.py:174 msgid "Expired" msgstr "" @@ -10410,7 +10475,7 @@ msgstr "" msgid "Test Data" msgstr "" -#: stock/templates/stock/item.html:85 stock/templates/stock/item_base.html:65 +#: stock/templates/stock/item.html:85 msgid "Test Report" msgstr "" @@ -10450,200 +10515,204 @@ msgstr "" msgid "Scan to Location" msgstr "" -#: stock/templates/stock/item_base.html:59 +#: stock/templates/stock/item_base.html:58 #: stock/templates/stock/location.html:67 #: templates/js/translated/filters.js:434 msgid "Printing actions" msgstr "" -#: stock/templates/stock/item_base.html:75 +#: stock/templates/stock/item_base.html:63 templates/js/translated/report.js:49 +msgid "Print Report" +msgstr "" + +#: stock/templates/stock/item_base.html:71 msgid "Stock adjustment actions" msgstr "" -#: stock/templates/stock/item_base.html:79 +#: stock/templates/stock/item_base.html:75 #: stock/templates/stock/location.html:87 templates/js/translated/stock.js:1909 msgid "Count stock" msgstr "" -#: stock/templates/stock/item_base.html:81 +#: stock/templates/stock/item_base.html:77 #: templates/js/translated/stock.js:1891 msgid "Add stock" msgstr "" -#: stock/templates/stock/item_base.html:82 +#: stock/templates/stock/item_base.html:78 #: templates/js/translated/stock.js:1900 msgid "Remove stock" msgstr "" -#: stock/templates/stock/item_base.html:85 +#: stock/templates/stock/item_base.html:81 msgid "Serialize stock" msgstr "" -#: stock/templates/stock/item_base.html:88 +#: stock/templates/stock/item_base.html:84 #: stock/templates/stock/location.html:93 templates/js/translated/stock.js:1918 msgid "Transfer stock" msgstr "" -#: stock/templates/stock/item_base.html:91 +#: stock/templates/stock/item_base.html:87 #: templates/js/translated/stock.js:1973 msgid "Assign to customer" msgstr "" -#: stock/templates/stock/item_base.html:94 +#: stock/templates/stock/item_base.html:90 msgid "Return to stock" msgstr "" -#: stock/templates/stock/item_base.html:97 +#: stock/templates/stock/item_base.html:93 msgid "Uninstall stock item" msgstr "" -#: stock/templates/stock/item_base.html:97 +#: stock/templates/stock/item_base.html:93 msgid "Uninstall" msgstr "" -#: stock/templates/stock/item_base.html:101 +#: stock/templates/stock/item_base.html:97 msgid "Install stock item" msgstr "" -#: stock/templates/stock/item_base.html:101 +#: stock/templates/stock/item_base.html:97 msgid "Install" msgstr "" -#: stock/templates/stock/item_base.html:115 +#: stock/templates/stock/item_base.html:111 msgid "Convert to variant" msgstr "" -#: stock/templates/stock/item_base.html:118 +#: stock/templates/stock/item_base.html:114 msgid "Duplicate stock item" msgstr "" -#: stock/templates/stock/item_base.html:120 +#: stock/templates/stock/item_base.html:116 msgid "Edit stock item" msgstr "" -#: stock/templates/stock/item_base.html:123 +#: stock/templates/stock/item_base.html:119 msgid "Delete stock item" msgstr "" -#: stock/templates/stock/item_base.html:169 templates/InvenTree/search.html:139 +#: stock/templates/stock/item_base.html:165 templates/InvenTree/search.html:139 #: templates/js/translated/build.js:2298 templates/navbar.html:38 msgid "Build" msgstr "" -#: stock/templates/stock/item_base.html:211 +#: stock/templates/stock/item_base.html:207 msgid "No manufacturer set" msgstr "" -#: stock/templates/stock/item_base.html:251 +#: stock/templates/stock/item_base.html:247 msgid "You are not in the list of owners of this item. This stock item cannot be edited." msgstr "" -#: stock/templates/stock/item_base.html:252 +#: stock/templates/stock/item_base.html:248 #: stock/templates/stock/location.html:146 msgid "Read only" msgstr "" -#: stock/templates/stock/item_base.html:265 +#: stock/templates/stock/item_base.html:261 msgid "This stock item is unavailable" msgstr "" -#: stock/templates/stock/item_base.html:271 +#: stock/templates/stock/item_base.html:267 msgid "This stock item is in production and cannot be edited." msgstr "" -#: stock/templates/stock/item_base.html:272 +#: stock/templates/stock/item_base.html:268 msgid "Edit the stock item from the build view." msgstr "" -#: stock/templates/stock/item_base.html:287 +#: stock/templates/stock/item_base.html:283 msgid "This stock item is allocated to Sales Order" msgstr "" -#: stock/templates/stock/item_base.html:295 +#: stock/templates/stock/item_base.html:291 msgid "This stock item is allocated to Build Order" msgstr "" -#: stock/templates/stock/item_base.html:311 +#: stock/templates/stock/item_base.html:307 msgid "This stock item is serialized. It has a unique serial number and the quantity cannot be adjusted" msgstr "" -#: stock/templates/stock/item_base.html:317 +#: stock/templates/stock/item_base.html:313 msgid "previous page" msgstr "" -#: stock/templates/stock/item_base.html:317 +#: stock/templates/stock/item_base.html:313 msgid "Navigate to previous serial number" msgstr "" -#: stock/templates/stock/item_base.html:326 +#: stock/templates/stock/item_base.html:322 msgid "next page" msgstr "" -#: stock/templates/stock/item_base.html:326 +#: stock/templates/stock/item_base.html:322 msgid "Navigate to next serial number" msgstr "" -#: stock/templates/stock/item_base.html:398 +#: stock/templates/stock/item_base.html:394 #: templates/js/translated/build.js:2555 msgid "No location set" msgstr "" -#: stock/templates/stock/item_base.html:413 +#: stock/templates/stock/item_base.html:409 msgid "Tests" msgstr "" -#: stock/templates/stock/item_base.html:419 +#: stock/templates/stock/item_base.html:415 msgid "This stock item has not passed all required tests" msgstr "" -#: stock/templates/stock/item_base.html:437 +#: stock/templates/stock/item_base.html:433 #, python-format msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:439 +#: stock/templates/stock/item_base.html:435 #, python-format msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:455 +#: stock/templates/stock/item_base.html:451 msgid "No stocktake performed" msgstr "" -#: stock/templates/stock/item_base.html:504 +#: stock/templates/stock/item_base.html:500 #: templates/js/translated/stock.js:2038 msgid "stock item" msgstr "" -#: stock/templates/stock/item_base.html:527 +#: stock/templates/stock/item_base.html:523 msgid "Edit Stock Status" msgstr "" -#: stock/templates/stock/item_base.html:536 +#: stock/templates/stock/item_base.html:532 msgid "Stock Item QR Code" msgstr "" -#: stock/templates/stock/item_base.html:547 +#: stock/templates/stock/item_base.html:543 msgid "Link Barcode to Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:611 +#: stock/templates/stock/item_base.html:607 msgid "Select one of the part variants listed below." msgstr "" -#: stock/templates/stock/item_base.html:614 +#: stock/templates/stock/item_base.html:610 msgid "Warning" msgstr "" -#: stock/templates/stock/item_base.html:615 +#: stock/templates/stock/item_base.html:611 msgid "This action cannot be easily undone" msgstr "" -#: stock/templates/stock/item_base.html:623 +#: stock/templates/stock/item_base.html:619 msgid "Convert Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:656 +#: stock/templates/stock/item_base.html:652 msgid "Return to Stock" msgstr "" @@ -11310,7 +11379,7 @@ msgid "Delete Location Type" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:503 -#: templates/InvenTree/settings/stock.html:38 +#: templates/InvenTree/settings/stock.html:39 msgid "New Location Type" msgstr "" @@ -11367,7 +11436,7 @@ msgstr "" msgid "Stock Settings" msgstr "" -#: templates/InvenTree/settings/stock.html:34 +#: templates/InvenTree/settings/stock.html:35 msgid "Stock Location Types" msgstr "" @@ -11852,23 +11921,23 @@ msgstr "" msgid "Barcode Identifier" msgstr "" -#: templates/base.html:103 +#: templates/base.html:102 msgid "Server Restart Required" msgstr "" -#: templates/base.html:106 +#: templates/base.html:105 msgid "A configuration option has been changed which requires a server restart" msgstr "" -#: templates/base.html:106 templates/base.html:116 +#: templates/base.html:105 templates/base.html:115 msgid "Contact your system administrator for further information" msgstr "" -#: templates/base.html:113 +#: templates/base.html:112 msgid "Pending Database Migrations" msgstr "" -#: templates/base.html:116 +#: templates/base.html:115 msgid "There are pending database migrations which require attention" msgstr "" @@ -13946,10 +14015,6 @@ msgstr "" msgid "Delete line item" msgstr "" -#: templates/js/translated/report.js:49 -msgid "Print Report" -msgstr "" - #: templates/js/translated/report.js:68 msgid "Report print successful" msgstr "" diff --git a/src/backend/InvenTree/locale/et/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/et/LC_MESSAGES/django.po index 15727cd672e5..5d84f7e4cb45 100644 --- a/src/backend/InvenTree/locale/et/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/et/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-08-29 07:07+0000\n" -"PO-Revision-Date: 2024-08-29 07:10\n" +"POT-Creation-Date: 2024-09-16 00:37+0000\n" +"PO-Revision-Date: 2024-09-16 00:40\n" "Last-Translator: \n" "Language-Team: Estonian\n" "Language: et_EE\n" @@ -65,9 +65,9 @@ msgstr "" #: 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:59 -#: part/models.py:3309 part/templates/part/part_sidebar.html:65 +#: part/models.py:3296 part/templates/part/part_sidebar.html:65 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/admin.py:231 stock/models.py:2369 stock/models.py:2557 +#: stock/admin.py:231 stock/models.py:2367 stock/models.py:2552 #: stock/serializers.py:705 stock/serializers.py:863 stock/serializers.py:989 #: stock/serializers.py:1039 stock/serializers.py:1350 #: stock/serializers.py:1439 stock/serializers.py:1604 @@ -364,7 +364,7 @@ msgstr "" msgid "[{site_name}] Log in to the app" msgstr "" -#: InvenTree/magic_login.py:38 InvenTree/serializers.py:413 +#: InvenTree/magic_login.py:38 InvenTree/serializers.py:416 #: company/models.py:133 company/templates/company/company_base.html:138 #: templates/InvenTree/settings/user.html:49 #: templates/js/translated/company.js:677 @@ -419,9 +419,9 @@ msgstr "" msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:767 common/models.py:2704 common/models.py:3131 -#: common/models.py:3351 common/serializers.py:439 company/models.py:590 -#: machine/models.py:24 part/models.py:995 part/models.py:3776 +#: InvenTree/models.py:767 common/models.py:2705 common/models.py:3132 +#: common/models.py:3352 common/serializers.py:455 company/models.py:590 +#: machine/models.py:24 part/models.py:995 part/models.py:3763 #: plugin/models.py:51 report/models.py:149 stock/models.py:82 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -446,10 +446,10 @@ msgstr "" #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 order/models.py:289 #: order/models.py:1406 part/admin.py:305 part/admin.py:411 part/models.py:1018 -#: part/models.py:3791 part/templates/part/category.html:79 +#: part/models.py:3778 part/templates/part/category.html:79 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:155 -#: report/models.py:509 report/models.py:535 +#: report/models.py:517 report/models.py:543 #: report/templates/report/inventree_build_order_report.html:117 #: stock/admin.py:54 stock/models.py:88 stock/templates/stock/location.html:122 #: templates/InvenTree/settings/notifications.html:19 @@ -517,12 +517,12 @@ msgstr "" msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:63 part/models.py:4400 +#: InvenTree/serializers.py:63 part/models.py:4387 msgid "Must be a valid number" msgstr "" #: InvenTree/serializers.py:100 company/models.py:183 -#: company/templates/company/company_base.html:112 part/models.py:3127 +#: company/templates/company/company_base.html:112 part/models.py:3114 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -536,43 +536,43 @@ msgstr "" msgid "Username" msgstr "" -#: InvenTree/serializers.py:407 templates/InvenTree/settings/user.html:37 +#: InvenTree/serializers.py:408 templates/InvenTree/settings/user.html:37 msgid "First Name" msgstr "Eesnimi" -#: InvenTree/serializers.py:407 +#: InvenTree/serializers.py:408 msgid "First name of the user" msgstr "" -#: InvenTree/serializers.py:410 templates/InvenTree/settings/user.html:41 +#: InvenTree/serializers.py:412 templates/InvenTree/settings/user.html:41 msgid "Last Name" msgstr "Perekonnanimi" -#: InvenTree/serializers.py:410 +#: InvenTree/serializers.py:412 msgid "Last name of the user" msgstr "" -#: InvenTree/serializers.py:413 +#: InvenTree/serializers.py:416 msgid "Email address of the user" msgstr "" -#: InvenTree/serializers.py:438 +#: InvenTree/serializers.py:441 msgid "Staff" msgstr "" -#: InvenTree/serializers.py:438 +#: InvenTree/serializers.py:441 msgid "Does this user have staff permissions" msgstr "" -#: InvenTree/serializers.py:441 +#: InvenTree/serializers.py:445 msgid "Superuser" msgstr "" -#: InvenTree/serializers.py:441 +#: InvenTree/serializers.py:445 msgid "Is this user a superuser" msgstr "" -#: InvenTree/serializers.py:444 common/models.py:2709 company/models.py:160 +#: InvenTree/serializers.py:449 common/models.py:2710 company/models.py:160 #: company/models.py:798 machine/models.py:39 part/admin.py:88 #: part/models.py:1201 plugin/models.py:66 #: templates/js/translated/company.js:523 @@ -585,89 +585,89 @@ msgstr "" msgid "Active" msgstr "" -#: InvenTree/serializers.py:444 +#: InvenTree/serializers.py:449 msgid "Is this user account active" msgstr "" -#: InvenTree/serializers.py:462 +#: InvenTree/serializers.py:467 msgid "You do not have permission to change this user role." msgstr "" -#: InvenTree/serializers.py:474 +#: InvenTree/serializers.py:503 msgid "Only superusers can create new users" msgstr "" -#: InvenTree/serializers.py:493 +#: InvenTree/serializers.py:522 msgid "Your account has been created." msgstr "" -#: InvenTree/serializers.py:495 +#: InvenTree/serializers.py:524 msgid "Please use the password reset function to login" msgstr "" -#: InvenTree/serializers.py:502 +#: InvenTree/serializers.py:531 msgid "Welcome to InvenTree" msgstr "" -#: InvenTree/serializers.py:560 +#: InvenTree/serializers.py:589 msgid "Invalid value" msgstr "" -#: InvenTree/serializers.py:580 importer/models.py:64 +#: InvenTree/serializers.py:609 importer/models.py:64 msgid "Data File" msgstr "" -#: InvenTree/serializers.py:581 +#: InvenTree/serializers.py:610 msgid "Select data file for upload" msgstr "" -#: InvenTree/serializers.py:598 +#: InvenTree/serializers.py:627 msgid "Unsupported file type" msgstr "" -#: InvenTree/serializers.py:604 +#: InvenTree/serializers.py:633 msgid "File is too large" msgstr "" -#: InvenTree/serializers.py:625 +#: InvenTree/serializers.py:654 msgid "No columns found in file" msgstr "" -#: InvenTree/serializers.py:628 +#: InvenTree/serializers.py:657 msgid "No data rows found in file" msgstr "" -#: InvenTree/serializers.py:740 +#: InvenTree/serializers.py:769 msgid "No data rows provided" msgstr "" -#: InvenTree/serializers.py:743 +#: InvenTree/serializers.py:772 msgid "No data columns supplied" msgstr "" -#: InvenTree/serializers.py:809 +#: InvenTree/serializers.py:838 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "" -#: InvenTree/serializers.py:818 +#: InvenTree/serializers.py:847 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "" -#: InvenTree/serializers.py:857 +#: InvenTree/serializers.py:886 msgid "Remote Image" msgstr "" -#: InvenTree/serializers.py:858 +#: InvenTree/serializers.py:887 msgid "URL of remote image file" msgstr "" -#: InvenTree/serializers.py:876 +#: InvenTree/serializers.py:905 msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/status.py:65 part/serializers.py:1267 +#: InvenTree/status.py:65 part/serializers.py:1265 msgid "Background worker check failed" msgstr "" @@ -759,7 +759,7 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:319 build/serializers.py:1332 part/models.py:4278 +#: build/api.py:319 build/serializers.py:1332 part/models.py:4265 #: templates/js/translated/bom.js:997 templates/js/translated/bom.js:1037 #: templates/js/translated/build.js:2705 #: templates/js/translated/table_filters.js:197 @@ -767,7 +767,7 @@ msgstr "" msgid "Consumable" msgstr "" -#: build/api.py:320 build/serializers.py:1333 part/models.py:4272 +#: build/api.py:320 build/serializers.py:1333 part/models.py:4259 #: part/templates/part/upload_bom.html:58 templates/js/translated/bom.js:1001 #: templates/js/translated/bom.js:1028 templates/js/translated/build.js:2696 #: templates/js/translated/table_filters.js:193 @@ -777,7 +777,7 @@ msgid "Optional" msgstr "" #: build/api.py:321 common/models.py:1491 part/admin.py:91 part/admin.py:428 -#: part/models.py:1166 part/serializers.py:1596 +#: part/models.py:1166 part/serializers.py:1594 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:337 #: templates/js/translated/table_filters.js:729 @@ -816,7 +816,7 @@ msgstr "" msgid "Available" msgstr "" -#: build/models.py:87 build/templates/build/build_base.html:9 +#: build/models.py:88 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_report.html:105 #: stock/serializers.py:85 templates/email/build_order_completed.html:16 @@ -825,7 +825,7 @@ msgstr "" msgid "Build Order" msgstr "" -#: build/models.py:88 build/templates/build/build_base.html:13 +#: build/models.py:89 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:111 #: order/templates/order/so_sidebar.html:13 @@ -866,7 +866,7 @@ msgstr "" #: build/models.py:243 build/serializers.py:1331 order/models.py:468 #: order/models.py:979 order/models.py:1366 order/models.py:2128 -#: part/admin.py:414 part/models.py:4293 part/templates/part/upload_bom.html:54 +#: part/admin.py:414 part/models.py:4280 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 @@ -892,11 +892,11 @@ msgstr "" #: build/templates/build/build_base.html:105 #: build/templates/build/detail.html:29 company/models.py:1043 order/api.py:761 #: order/models.py:1496 order/models.py:1651 order/models.py:1652 -#: part/api.py:1506 part/api.py:1806 part/models.py:419 part/models.py:3138 -#: part/models.py:3282 part/models.py:3430 part/models.py:3451 -#: part/models.py:3473 part/models.py:3609 part/models.py:3951 -#: part/models.py:4114 part/models.py:4244 part/models.py:4602 -#: part/serializers.py:1213 part/serializers.py:1857 +#: part/api.py:1506 part/api.py:1806 part/models.py:419 part/models.py:3125 +#: part/models.py:3269 part/models.py:3417 part/models.py:3438 +#: part/models.py:3460 part/models.py:3596 part/models.py:3938 +#: part/models.py:4101 part/models.py:4231 part/models.py:4595 +#: part/serializers.py:1211 part/serializers.py:1855 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -1063,12 +1063,12 @@ msgstr "" #: order/templates/order/return_order_base.html:148 #: order/templates/order/sales_order_base.html:187 #: part/templates/part/part_base.html:399 stock/models.py:859 -#: stock/templates/stock/item_base.html:200 +#: stock/templates/stock/item_base.html:196 #: templates/js/translated/company.js:1019 msgid "External Link" msgstr "" -#: build/models.py:378 common/models.py:3272 part/models.py:1070 +#: build/models.py:378 common/models.py:3273 part/models.py:1070 #: stock/models.py:859 msgid "Link to external URL" msgstr "" @@ -1110,7 +1110,7 @@ msgstr "" msgid "A build order has been completed" msgstr "" -#: build/models.py:968 build/models.py:1056 +#: build/models.py:968 build/models.py:1057 msgid "No build output specified" msgstr "" @@ -1122,37 +1122,37 @@ msgstr "" msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:1060 build/serializers.py:279 build/serializers.py:328 +#: build/models.py:1061 build/serializers.py:279 build/serializers.py:328 #: build/serializers.py:959 order/models.py:565 order/serializers.py:500 -#: order/serializers.py:666 part/serializers.py:1590 part/serializers.py:2019 +#: order/serializers.py:666 part/serializers.py:1588 part/serializers.py:2017 #: stock/models.py:704 stock/models.py:1515 stock/serializers.py:676 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:1065 build/serializers.py:284 +#: build/models.py:1066 build/serializers.py:284 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1125 build/serializers.py:607 +#: build/models.py:1126 build/serializers.py:607 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "" -#: build/models.py:1466 +#: build/models.py:1477 msgid "Build Order Line Item" msgstr "" -#: build/models.py:1491 +#: build/models.py:1502 msgid "Build object" msgstr "" -#: build/models.py:1505 build/models.py:1761 build/serializers.py:266 +#: build/models.py:1516 build/models.py:1775 build/serializers.py:266 #: build/serializers.py:313 build/serializers.py:1339 #: build/templates/build/build_base.html:110 -#: build/templates/build/detail.html:34 common/models.py:2581 +#: build/templates/build/detail.html:34 common/models.py:2582 #: order/models.py:1349 order/models.py:2034 order/serializers.py:1464 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:413 -#: part/forms.py:48 part/models.py:3296 part/models.py:4266 +#: part/forms.py:48 part/models.py:3283 part/models.py:4253 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1163,9 +1163,9 @@ msgstr "" #: report/templates/report/inventree_test_report.html:90 #: report/templates/report/inventree_test_report.html:169 stock/admin.py:160 #: stock/serializers.py:128 stock/serializers.py:168 stock/serializers.py:667 -#: stock/templates/stock/item_base.html:287 -#: stock/templates/stock/item_base.html:295 -#: stock/templates/stock/item_base.html:342 +#: stock/templates/stock/item_base.html:283 +#: stock/templates/stock/item_base.html:291 +#: stock/templates/stock/item_base.html:338 #: templates/email/build_order_completed.html:18 #: templates/js/translated/barcode.js:579 templates/js/translated/bom.js:771 #: templates/js/translated/bom.js:981 templates/js/translated/build.js:525 @@ -1194,41 +1194,41 @@ msgstr "" msgid "Quantity" msgstr "" -#: build/models.py:1506 +#: build/models.py:1517 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1586 +#: build/models.py:1597 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1595 +#: build/models.py:1606 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1605 order/models.py:1985 +#: build/models.py:1616 order/models.py:1985 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1611 order/models.py:1988 +#: build/models.py:1622 order/models.py:1988 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1617 +#: build/models.py:1628 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1676 +#: build/models.py:1687 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1748 build/serializers.py:939 order/serializers.py:1301 +#: build/models.py:1762 build/serializers.py:939 order/serializers.py:1301 #: order/serializers.py:1322 stock/models.py:381 stock/serializers.py:94 #: stock/serializers.py:770 stock/serializers.py:1288 stock/serializers.py:1400 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 -#: stock/templates/stock/item_base.html:194 +#: stock/templates/stock/item_base.html:190 #: templates/js/translated/build.js:1921 #: templates/js/translated/sales_order.js:301 #: templates/js/translated/sales_order.js:1234 @@ -1241,19 +1241,19 @@ msgstr "" msgid "Stock Item" msgstr "" -#: build/models.py:1749 +#: build/models.py:1763 msgid "Source stock item" msgstr "" -#: build/models.py:1762 +#: build/models.py:1776 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1770 +#: build/models.py:1784 msgid "Install into" msgstr "" -#: build/models.py:1771 +#: build/models.py:1785 msgid "Destination stock item" msgstr "" @@ -1262,7 +1262,7 @@ msgid "Build Level" msgstr "" #: build/serializers.py:115 build/serializers.py:1234 build/serializers.py:1323 -#: part/admin.py:41 part/admin.py:408 part/models.py:4116 part/stocktake.py:219 +#: part/admin.py:41 part/admin.py:408 part/models.py:4103 part/stocktake.py:219 #: stock/admin.py:157 msgid "Part Name" msgstr "" @@ -1323,10 +1323,10 @@ msgid "Enter serial numbers for build outputs" msgstr "" #: build/serializers.py:359 build/serializers.py:500 build/serializers.py:572 -#: order/serializers.py:655 order/serializers.py:778 order/serializers.py:1789 -#: part/serializers.py:1233 stock/serializers.py:103 stock/serializers.py:698 +#: order/serializers.py:655 order/serializers.py:778 order/serializers.py:1797 +#: part/serializers.py:1231 stock/serializers.py:103 stock/serializers.py:698 #: stock/serializers.py:858 stock/serializers.py:984 stock/serializers.py:1432 -#: stock/serializers.py:1688 stock/templates/stock/item_base.html:394 +#: stock/serializers.py:1688 stock/templates/stock/item_base.html:390 #: templates/js/translated/barcode.js:578 #: templates/js/translated/barcode.js:826 templates/js/translated/build.js:1035 #: templates/js/translated/build.js:1177 templates/js/translated/build.js:2547 @@ -1390,7 +1390,7 @@ msgstr "" #: build/templates/build/detail.html:62 order/models.py:477 #: order/models.py:1003 order/models.py:2152 order/serializers.py:687 #: stock/admin.py:165 stock/serializers.py:1035 stock/serializers.py:1576 -#: stock/templates/stock/item_base.html:427 +#: stock/templates/stock/item_base.html:423 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2366 #: templates/js/translated/purchase_order.js:1371 #: templates/js/translated/purchase_order.js:1792 @@ -1522,7 +1522,7 @@ msgstr "" msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:1030 order/serializers.py:1614 +#: build/serializers.py:1030 order/serializers.py:1622 msgid "Allocation items must be provided" msgstr "" @@ -1590,7 +1590,7 @@ msgstr "" #: build/serializers.py:1230 company/models.py:849 #: company/templates/company/supplier_part.html:160 order/serializers.py:691 #: stock/admin.py:229 stock/models.py:822 stock/serializers.py:1586 -#: stock/templates/stock/item_base.html:240 +#: stock/templates/stock/item_base.html:236 #: templates/js/translated/company.js:1646 #: templates/js/translated/purchase_order.js:1169 #: templates/js/translated/purchase_order.js:1332 @@ -1600,12 +1600,12 @@ msgid "Packaging" msgstr "" #: build/serializers.py:1233 part/admin.py:39 part/admin.py:398 -#: part/models.py:4115 part/stocktake.py:218 stock/admin.py:153 +#: part/models.py:4102 part/stocktake.py:218 stock/admin.py:153 msgid "Part ID" msgstr "Osa ID" #: build/serializers.py:1235 build/serializers.py:1324 part/admin.py:402 -#: part/models.py:4117 +#: part/models.py:4104 msgid "Part IPN" msgstr "" @@ -1625,7 +1625,7 @@ msgstr "" #: build/serializers.py:1243 #: report/templates/report/inventree_return_order_report.html:25 #: report/templates/report/inventree_test_report.html:88 stock/models.py:849 -#: stock/serializers.py:152 stock/templates/stock/item_base.html:311 +#: stock/serializers.py:152 stock/templates/stock/item_base.html:307 #: templates/js/translated/build.js:523 templates/js/translated/build.js:1543 #: templates/js/translated/build.js:2530 #: templates/js/translated/model_renderers.js:231 @@ -1644,7 +1644,7 @@ msgstr "Seerianumber" msgid "Allocated Quantity" msgstr "" -#: build/serializers.py:1257 stock/templates/stock/item_base.html:340 +#: build/serializers.py:1257 stock/templates/stock/item_base.html:336 msgid "Available Quantity" msgstr "" @@ -1667,13 +1667,13 @@ msgstr "" msgid "Inherited" msgstr "" -#: build/serializers.py:1337 part/models.py:4326 +#: build/serializers.py:1337 part/models.py:4313 #: part/templates/part/upload_bom.html:56 templates/js/translated/bom.js:1046 #: templates/js/translated/build.js:2714 msgid "Allow Variants" msgstr "" -#: build/serializers.py:1341 part/models.py:4124 part/models.py:4594 +#: build/serializers.py:1341 part/models.py:4111 part/models.py:4587 #: stock/api.py:793 msgid "BOM Item" msgstr "" @@ -1684,7 +1684,7 @@ msgid "Allocated Stock" msgstr "" #: build/serializers.py:1355 order/serializers.py:1179 part/admin.py:132 -#: part/bom.py:186 part/serializers.py:920 part/serializers.py:1623 +#: part/bom.py:186 part/serializers.py:918 part/serializers.py:1621 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 #: templates/js/translated/build.js:2807 templates/js/translated/part.js:712 #: templates/js/translated/part.js:2155 @@ -1692,13 +1692,13 @@ msgstr "" msgid "On Order" msgstr "" -#: build/serializers.py:1360 order/serializers.py:1180 part/serializers.py:1625 +#: build/serializers.py:1360 order/serializers.py:1180 part/serializers.py:1623 #: templates/js/translated/build.js:2811 #: templates/js/translated/table_filters.js:367 msgid "In Production" msgstr "" -#: build/serializers.py:1365 part/bom.py:185 part/serializers.py:1650 +#: build/serializers.py:1365 part/bom.py:185 part/serializers.py:1648 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" @@ -1716,7 +1716,7 @@ msgstr "" msgid "Total Available Stock" msgstr "" -#: build/serializers.py:1372 part/serializers.py:927 +#: build/serializers.py:1372 part/serializers.py:925 msgid "External Stock" msgstr "" @@ -1745,7 +1745,7 @@ msgstr "Katkestatud" #: importer/status_codes.py:27 order/status_codes.py:15 #: order/status_codes.py:50 order/status_codes.py:81 #: order/templates/order/order_base.html:163 -#: order/templates/order/sales_order_base.html:168 report/models.py:443 +#: order/templates/order/sales_order_base.html:168 report/models.py:451 msgid "Complete" msgstr "Valmis" @@ -1849,9 +1849,6 @@ msgid "Delete Build" msgstr "" #: build/templates/build/build_base.html:87 -msgid "Isueue Build" -msgstr "" - #: build/templates/build/build_base.html:88 msgid "Issue Build" msgstr "" @@ -1931,7 +1928,7 @@ msgstr "" #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_report.html:135 #: report/templates/report/inventree_sales_order_report.html:14 -#: stock/templates/stock/item_base.html:369 +#: stock/templates/stock/item_base.html:365 #: templates/email/overdue_sales_order.html:15 #: templates/js/translated/pricing.js:929 #: templates/js/translated/sales_order.js:805 @@ -1991,7 +1988,7 @@ msgid "Allocated Parts" msgstr "" #: build/templates/build/detail.html:80 stock/admin.py:163 -#: stock/templates/stock/item_base.html:162 +#: stock/templates/stock/item_base.html:158 #: templates/js/translated/build.js:1556 #: templates/js/translated/model_renderers.js:242 #: templates/js/translated/purchase_order.js:1326 @@ -2148,19 +2145,19 @@ msgstr "" msgid "Test Statistics" msgstr "" -#: common/api.py:692 +#: common/api.py:725 msgid "Is Link" msgstr "" -#: common/api.py:700 +#: common/api.py:733 msgid "Is File" msgstr "" -#: common/api.py:743 +#: common/api.py:776 msgid "User does not have permission to delete these attachments" msgstr "" -#: common/api.py:760 +#: common/api.py:793 msgid "User does not have permission to delete this attachment" msgstr "" @@ -2352,8 +2349,8 @@ msgstr "" #: common/models.py:1297 common/models.py:1353 common/models.py:1366 #: common/models.py:1374 common/models.py:1383 common/models.py:1392 -#: common/models.py:1629 common/models.py:1651 common/models.py:1766 -#: common/models.py:2148 +#: common/models.py:1629 common/models.py:1651 common/models.py:1752 +#: common/models.py:2141 msgid "days" msgstr "" @@ -2581,9 +2578,9 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1485 part/admin.py:108 part/models.py:3959 -#: report/models.py:293 report/models.py:360 report/serializers.py:90 -#: report/serializers.py:131 stock/serializers.py:233 +#: common/models.py:1485 part/admin.py:108 part/models.py:3946 +#: report/models.py:301 report/models.py:368 report/serializers.py:91 +#: report/serializers.py:132 stock/serializers.py:233 #: templates/js/translated/table_filters.js:138 #: templates/js/translated/table_filters.js:775 msgid "Template" @@ -2598,7 +2595,7 @@ msgid "Parts can be assembled from other components by default" msgstr "" #: common/models.py:1497 part/admin.py:95 part/models.py:1172 -#: part/serializers.py:1617 templates/js/translated/table_filters.js:737 +#: part/serializers.py:1615 templates/js/translated/table_filters.js:737 msgid "Component" msgstr "" @@ -2823,7 +2820,7 @@ msgid "Log errors which occur when generating reports" msgstr "" #: common/models.py:1702 plugin/builtin/labels/label_sheet.py:28 -#: report/models.py:301 +#: report/models.py:309 msgid "Page Size" msgstr "" @@ -2832,914 +2829,914 @@ msgid "Default page size for PDF reports" msgstr "" #: common/models.py:1708 -msgid "Enable Test Reports" -msgstr "" - -#: common/models.py:1709 -msgid "Enable generation of test reports" -msgstr "" - -#: common/models.py:1714 -msgid "Attach Test Reports" -msgstr "" - -#: common/models.py:1716 -msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" -msgstr "" - -#: common/models.py:1722 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1723 +#: common/models.py:1709 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1728 +#: common/models.py:1714 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1729 +#: common/models.py:1715 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1734 +#: common/models.py:1720 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1736 +#: common/models.py:1722 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/models.py:1742 +#: common/models.py:1728 msgid "Batch Code Template" msgstr "" -#: common/models.py:1744 +#: common/models.py:1730 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1749 +#: common/models.py:1735 msgid "Stock Expiry" msgstr "" -#: common/models.py:1750 +#: common/models.py:1736 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1755 +#: common/models.py:1741 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1756 +#: common/models.py:1742 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1761 +#: common/models.py:1747 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1763 +#: common/models.py:1749 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1770 +#: common/models.py:1756 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1771 +#: common/models.py:1757 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1776 +#: common/models.py:1762 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1777 +#: common/models.py:1763 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1782 +#: common/models.py:1768 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1783 +#: common/models.py:1769 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1788 +#: common/models.py:1774 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1789 +#: common/models.py:1775 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1794 +#: common/models.py:1780 msgid "Check BOM when installing items" msgstr "" -#: common/models.py:1796 +#: common/models.py:1782 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/models.py:1802 +#: common/models.py:1788 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/models.py:1804 +#: common/models.py:1790 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/models.py:1810 +#: common/models.py:1796 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1812 +#: common/models.py:1798 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1818 common/models.py:1874 common/models.py:1896 -#: common/models.py:1932 +#: common/models.py:1804 common/models.py:1860 common/models.py:1882 +#: common/models.py:1918 msgid "Require Responsible Owner" msgstr "" -#: common/models.py:1819 common/models.py:1875 common/models.py:1897 -#: common/models.py:1933 +#: common/models.py:1805 common/models.py:1861 common/models.py:1883 +#: common/models.py:1919 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/models.py:1824 +#: common/models.py:1810 msgid "Require Active Part" msgstr "" -#: common/models.py:1825 +#: common/models.py:1811 msgid "Prevent build order creation for inactive parts" msgstr "" -#: common/models.py:1830 +#: common/models.py:1816 msgid "Require Locked Part" msgstr "" -#: common/models.py:1831 +#: common/models.py:1817 msgid "Prevent build order creation for unlocked parts" msgstr "" -#: common/models.py:1836 +#: common/models.py:1822 msgid "Require Valid BOM" msgstr "" -#: common/models.py:1838 +#: common/models.py:1824 msgid "Prevent build order creation unless BOM has been validated" msgstr "" -#: common/models.py:1844 +#: common/models.py:1830 msgid "Require Closed Child Orders" msgstr "" -#: common/models.py:1846 +#: common/models.py:1832 msgid "Prevent build order completion until all child orders are closed" msgstr "" -#: common/models.py:1852 +#: common/models.py:1838 msgid "Block Until Tests Pass" msgstr "" -#: common/models.py:1854 +#: common/models.py:1840 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "" -#: common/models.py:1860 +#: common/models.py:1846 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1861 +#: common/models.py:1847 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1866 +#: common/models.py:1852 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1868 +#: common/models.py:1854 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1880 +#: common/models.py:1866 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1882 +#: common/models.py:1868 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1888 +#: common/models.py:1874 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1890 +#: common/models.py:1876 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1902 +#: common/models.py:1888 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1903 +#: common/models.py:1889 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1908 +#: common/models.py:1894 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1910 +#: common/models.py:1896 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1916 +#: common/models.py:1902 msgid "Mark Shipped Orders as Complete" msgstr "" -#: common/models.py:1918 +#: common/models.py:1904 msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status" msgstr "" -#: common/models.py:1924 +#: common/models.py:1910 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1926 +#: common/models.py:1912 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1938 +#: common/models.py:1924 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1940 +#: common/models.py:1926 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1946 +#: common/models.py:1932 msgid "Auto Complete Purchase Orders" msgstr "" -#: common/models.py:1948 +#: common/models.py:1934 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/models.py:1955 +#: common/models.py:1941 msgid "Enable password forgot" msgstr "" -#: common/models.py:1956 +#: common/models.py:1942 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1961 +#: common/models.py:1947 msgid "Enable registration" msgstr "" -#: common/models.py:1962 +#: common/models.py:1948 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1967 +#: common/models.py:1953 msgid "Enable SSO" msgstr "" -#: common/models.py:1968 +#: common/models.py:1954 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1973 +#: common/models.py:1959 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1975 +#: common/models.py:1961 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1981 +#: common/models.py:1967 msgid "Enable SSO group sync" msgstr "" -#: common/models.py:1983 +#: common/models.py:1969 msgid "Enable synchronizing InvenTree groups with groups provided by the IdP" msgstr "" -#: common/models.py:1989 +#: common/models.py:1975 msgid "SSO group key" msgstr "" -#: common/models.py:1991 +#: common/models.py:1977 msgid "The name of the groups claim attribute provided by the IdP" msgstr "" -#: common/models.py:1997 +#: common/models.py:1983 msgid "SSO group map" msgstr "" -#: common/models.py:1999 +#: common/models.py:1985 msgid "A mapping from SSO groups to local InvenTree groups. If the local group does not exist, it will be created." msgstr "" -#: common/models.py:2005 +#: common/models.py:1991 msgid "Remove groups outside of SSO" msgstr "" -#: common/models.py:2007 +#: common/models.py:1993 msgid "Whether groups assigned to the user should be removed if they are not backend by the IdP. Disabling this setting might cause security issues" msgstr "" -#: common/models.py:2013 +#: common/models.py:1999 msgid "Email required" msgstr "" -#: common/models.py:2014 +#: common/models.py:2000 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:2019 +#: common/models.py:2005 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:2021 +#: common/models.py:2007 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:2027 +#: common/models.py:2013 msgid "Mail twice" msgstr "" -#: common/models.py:2028 +#: common/models.py:2014 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:2033 +#: common/models.py:2019 msgid "Password twice" msgstr "" -#: common/models.py:2034 +#: common/models.py:2020 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:2039 +#: common/models.py:2025 msgid "Allowed domains" msgstr "" -#: common/models.py:2041 +#: common/models.py:2027 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:2047 +#: common/models.py:2033 msgid "Group on signup" msgstr "" -#: common/models.py:2049 +#: common/models.py:2035 msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP." msgstr "" -#: common/models.py:2055 +#: common/models.py:2041 msgid "Enforce MFA" msgstr "" -#: common/models.py:2056 +#: common/models.py:2042 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:2061 +#: common/models.py:2047 msgid "Check plugins on startup" msgstr "" -#: common/models.py:2063 +#: common/models.py:2049 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:2071 +#: common/models.py:2057 msgid "Check for plugin updates" msgstr "" -#: common/models.py:2072 +#: common/models.py:2058 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:2078 +#: common/models.py:2064 msgid "Enable URL integration" msgstr "" -#: common/models.py:2079 +#: common/models.py:2065 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:2085 +#: common/models.py:2071 msgid "Enable navigation integration" msgstr "" -#: common/models.py:2086 +#: common/models.py:2072 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:2092 +#: common/models.py:2078 msgid "Enable app integration" msgstr "" -#: common/models.py:2093 +#: common/models.py:2079 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:2099 +#: common/models.py:2085 msgid "Enable schedule integration" msgstr "" -#: common/models.py:2100 +#: common/models.py:2086 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:2106 +#: common/models.py:2092 msgid "Enable event integration" msgstr "" -#: common/models.py:2107 +#: common/models.py:2093 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:2113 +#: common/models.py:2099 +msgid "Enable interface integration" +msgstr "" + +#: common/models.py:2100 +msgid "Enable plugins to integrate into the user interface" +msgstr "" + +#: common/models.py:2106 msgid "Enable project codes" msgstr "" -#: common/models.py:2114 +#: common/models.py:2107 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:2119 +#: common/models.py:2112 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:2121 +#: common/models.py:2114 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:2127 +#: common/models.py:2120 msgid "Exclude External Locations" msgstr "" -#: common/models.py:2129 +#: common/models.py:2122 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/models.py:2135 +#: common/models.py:2128 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:2137 +#: common/models.py:2130 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:2143 +#: common/models.py:2136 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:2145 +#: common/models.py:2138 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:2152 +#: common/models.py:2145 msgid "Display Users full names" msgstr "" -#: common/models.py:2153 +#: common/models.py:2146 msgid "Display Users full names instead of usernames" msgstr "" -#: common/models.py:2158 +#: common/models.py:2151 msgid "Enable Test Station Data" msgstr "" -#: common/models.py:2159 +#: common/models.py:2152 msgid "Enable test station data collection for test results" msgstr "" -#: common/models.py:2171 common/models.py:2551 +#: common/models.py:2157 +msgid "Create Template on Upload" +msgstr "" + +#: common/models.py:2159 +msgid "Create a new test template when uploading test data which does not match an existing template" +msgstr "" + +#: common/models.py:2172 common/models.py:2552 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:2214 +#: common/models.py:2215 msgid "Hide inactive parts" msgstr "" -#: common/models.py:2216 +#: common/models.py:2217 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:2222 +#: common/models.py:2223 msgid "Show subscribed parts" msgstr "" -#: common/models.py:2223 +#: common/models.py:2224 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:2228 +#: common/models.py:2229 msgid "Show subscribed categories" msgstr "" -#: common/models.py:2229 +#: common/models.py:2230 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:2234 +#: common/models.py:2235 msgid "Show latest parts" msgstr "" -#: common/models.py:2235 +#: common/models.py:2236 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:2240 +#: common/models.py:2241 msgid "Show invalid BOMs" msgstr "" -#: common/models.py:2241 +#: common/models.py:2242 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:2246 +#: common/models.py:2247 msgid "Show recent stock changes" msgstr "" -#: common/models.py:2247 +#: common/models.py:2248 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:2252 +#: common/models.py:2253 msgid "Show low stock" msgstr "" -#: common/models.py:2253 +#: common/models.py:2254 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:2258 +#: common/models.py:2259 msgid "Show depleted stock" msgstr "" -#: common/models.py:2259 +#: common/models.py:2260 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:2264 +#: common/models.py:2265 msgid "Show needed stock" msgstr "" -#: common/models.py:2265 +#: common/models.py:2266 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:2270 +#: common/models.py:2271 msgid "Show expired stock" msgstr "" -#: common/models.py:2271 +#: common/models.py:2272 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:2276 +#: common/models.py:2277 msgid "Show stale stock" msgstr "" -#: common/models.py:2277 +#: common/models.py:2278 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:2282 +#: common/models.py:2283 msgid "Show pending builds" msgstr "" -#: common/models.py:2283 +#: common/models.py:2284 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:2288 +#: common/models.py:2289 msgid "Show overdue builds" msgstr "" -#: common/models.py:2289 +#: common/models.py:2290 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:2294 +#: common/models.py:2295 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2295 +#: common/models.py:2296 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2300 +#: common/models.py:2301 msgid "Show overdue POs" msgstr "" -#: common/models.py:2301 +#: common/models.py:2302 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2306 +#: common/models.py:2307 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2307 +#: common/models.py:2308 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2312 +#: common/models.py:2313 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2313 +#: common/models.py:2314 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2318 +#: common/models.py:2319 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2319 +#: common/models.py:2320 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2324 +#: common/models.py:2325 msgid "Show News" msgstr "" -#: common/models.py:2325 +#: common/models.py:2326 msgid "Show news on the homepage" msgstr "" -#: common/models.py:2330 +#: common/models.py:2331 msgid "Inline label display" msgstr "" -#: common/models.py:2332 +#: common/models.py:2333 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2338 +#: common/models.py:2339 msgid "Default label printer" msgstr "" -#: common/models.py:2340 +#: common/models.py:2341 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2346 +#: common/models.py:2347 msgid "Inline report display" msgstr "" -#: common/models.py:2348 +#: common/models.py:2349 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2354 +#: common/models.py:2355 msgid "Search Parts" msgstr "" -#: common/models.py:2355 +#: common/models.py:2356 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2360 +#: common/models.py:2361 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2361 +#: common/models.py:2362 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2366 +#: common/models.py:2367 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2367 +#: common/models.py:2368 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2372 +#: common/models.py:2373 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2373 +#: common/models.py:2374 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2378 +#: common/models.py:2379 msgid "Search Categories" msgstr "" -#: common/models.py:2379 +#: common/models.py:2380 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2384 +#: common/models.py:2385 msgid "Search Stock" msgstr "" -#: common/models.py:2385 +#: common/models.py:2386 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2390 +#: common/models.py:2391 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2392 +#: common/models.py:2393 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2398 +#: common/models.py:2399 msgid "Search Locations" msgstr "" -#: common/models.py:2399 +#: common/models.py:2400 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2404 +#: common/models.py:2405 msgid "Search Companies" msgstr "" -#: common/models.py:2405 +#: common/models.py:2406 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2410 +#: common/models.py:2411 msgid "Search Build Orders" msgstr "" -#: common/models.py:2411 +#: common/models.py:2412 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2416 +#: common/models.py:2417 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2417 +#: common/models.py:2418 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2422 +#: common/models.py:2423 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2424 +#: common/models.py:2425 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2430 +#: common/models.py:2431 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2431 +#: common/models.py:2432 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2436 +#: common/models.py:2437 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2438 +#: common/models.py:2439 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2444 +#: common/models.py:2445 msgid "Search Return Orders" msgstr "" -#: common/models.py:2445 +#: common/models.py:2446 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2450 +#: common/models.py:2451 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2452 +#: common/models.py:2453 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2458 +#: common/models.py:2459 msgid "Search Preview Results" msgstr "" -#: common/models.py:2460 +#: common/models.py:2461 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2466 +#: common/models.py:2467 msgid "Regex Search" msgstr "" -#: common/models.py:2467 +#: common/models.py:2468 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2472 +#: common/models.py:2473 msgid "Whole Word Search" msgstr "" -#: common/models.py:2473 +#: common/models.py:2474 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2478 +#: common/models.py:2479 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2479 +#: common/models.py:2480 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2484 +#: common/models.py:2485 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2485 +#: common/models.py:2486 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2490 +#: common/models.py:2491 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2491 +#: common/models.py:2492 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2496 +#: common/models.py:2497 msgid "Date Format" msgstr "" -#: common/models.py:2497 +#: common/models.py:2498 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2510 part/templates/part/detail.html:41 +#: common/models.py:2511 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2511 +#: common/models.py:2512 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2516 part/templates/part/detail.html:62 +#: common/models.py:2517 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2518 +#: common/models.py:2519 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2524 +#: common/models.py:2525 msgid "Table String Length" msgstr "" -#: common/models.py:2526 +#: common/models.py:2527 msgid "Maximum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2532 +#: common/models.py:2533 msgid "Receive error reports" msgstr "" -#: common/models.py:2533 +#: common/models.py:2534 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2538 +#: common/models.py:2539 msgid "Last used printing machines" msgstr "" -#: common/models.py:2539 +#: common/models.py:2540 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2559 common/models.py:2560 common/models.py:2717 -#: common/models.py:2718 common/models.py:2963 common/models.py:2964 -#: common/models.py:3287 common/models.py:3288 importer/models.py:89 -#: part/models.py:3319 part/models.py:3406 part/models.py:3480 -#: part/models.py:3508 plugin/models.py:274 plugin/models.py:275 +#: common/models.py:2560 common/models.py:2561 common/models.py:2718 +#: common/models.py:2719 common/models.py:2964 common/models.py:2965 +#: common/models.py:3288 common/models.py:3289 importer/models.py:89 +#: part/models.py:3306 part/models.py:3393 part/models.py:3467 +#: part/models.py:3495 plugin/models.py:274 plugin/models.py:275 #: report/templates/report/inventree_test_report.html:105 #: templates/js/translated/stock.js:3121 users/models.py:111 msgid "User" msgstr "" -#: common/models.py:2582 +#: common/models.py:2583 msgid "Price break quantity" msgstr "" -#: common/models.py:2589 company/serializers.py:517 order/admin.py:42 +#: common/models.py:2590 company/serializers.py:517 order/admin.py:42 #: order/models.py:1423 order/models.py:2410 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1892 #: templates/js/translated/pricing.js:621 @@ -3747,96 +3744,96 @@ msgstr "" msgid "Price" msgstr "" -#: common/models.py:2590 +#: common/models.py:2591 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2694 common/models.py:2879 +#: common/models.py:2695 common/models.py:2880 msgid "Endpoint" msgstr "" -#: common/models.py:2695 +#: common/models.py:2696 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2705 +#: common/models.py:2706 msgid "Name for this webhook" msgstr "" -#: common/models.py:2709 +#: common/models.py:2710 msgid "Is this webhook active" msgstr "" -#: common/models.py:2725 users/models.py:159 +#: common/models.py:2726 users/models.py:159 msgid "Token" msgstr "" -#: common/models.py:2726 +#: common/models.py:2727 msgid "Token for access" msgstr "" -#: common/models.py:2734 +#: common/models.py:2735 msgid "Secret" msgstr "" -#: common/models.py:2735 +#: common/models.py:2736 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2843 +#: common/models.py:2844 msgid "Message ID" msgstr "" -#: common/models.py:2844 +#: common/models.py:2845 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2852 +#: common/models.py:2853 msgid "Host" msgstr "" -#: common/models.py:2853 +#: common/models.py:2854 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2861 +#: common/models.py:2862 msgid "Header" msgstr "" -#: common/models.py:2862 +#: common/models.py:2863 msgid "Header of this message" msgstr "" -#: common/models.py:2869 +#: common/models.py:2870 msgid "Body" msgstr "" -#: common/models.py:2870 +#: common/models.py:2871 msgid "Body of this message" msgstr "" -#: common/models.py:2880 +#: common/models.py:2881 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2885 +#: common/models.py:2886 msgid "Worked on" msgstr "" -#: common/models.py:2886 +#: common/models.py:2887 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:3012 +#: common/models.py:3013 msgid "Id" msgstr "" -#: common/models.py:3014 templates/js/translated/company.js:965 +#: common/models.py:3015 templates/js/translated/company.js:965 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:3016 common/models.py:3271 company/models.py:146 +#: common/models.py:3017 common/models.py:3272 company/models.py:146 #: company/models.py:443 company/models.py:509 company/models.py:815 #: order/models.py:303 order/models.py:1378 order/models.py:1810 #: part/admin.py:55 part/models.py:1069 @@ -3853,217 +3850,217 @@ msgstr "" msgid "Link" msgstr "" -#: common/models.py:3018 templates/js/translated/news.js:60 +#: common/models.py:3019 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:3020 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:3021 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:103 msgid "Author" msgstr "" -#: common/models.py:3022 templates/js/translated/news.js:52 +#: common/models.py:3023 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:3025 +#: common/models.py:3026 msgid "Read" msgstr "" -#: common/models.py:3025 +#: common/models.py:3026 msgid "Was this news item read?" msgstr "" -#: common/models.py:3042 company/models.py:156 part/models.py:1079 +#: common/models.py:3043 company/models.py:156 part/models.py:1079 #: 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.html:35 -#: stock/templates/stock/item_base.html:133 templates/503.html:31 +#: stock/templates/stock/item_base.html:129 templates/503.html:31 #: templates/hover_image.html:7 templates/hover_image.html:9 #: templates/modals.html:6 msgid "Image" msgstr "" -#: common/models.py:3042 +#: common/models.py:3043 msgid "Image file" msgstr "" -#: common/models.py:3054 common/models.py:3255 +#: common/models.py:3055 common/models.py:3256 msgid "Target model type for this image" msgstr "" -#: common/models.py:3058 +#: common/models.py:3059 msgid "Target model ID for this image" msgstr "" -#: common/models.py:3080 +#: common/models.py:3081 msgid "Custom Unit" msgstr "" -#: common/models.py:3098 +#: common/models.py:3099 msgid "Unit symbol must be unique" msgstr "" -#: common/models.py:3113 +#: common/models.py:3114 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:3132 +#: common/models.py:3133 msgid "Unit name" msgstr "" -#: common/models.py:3139 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3140 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:3140 +#: common/models.py:3141 msgid "Optional unit symbol" msgstr "" -#: common/models.py:3146 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3147 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:3147 +#: common/models.py:3148 msgid "Unit definition" msgstr "" -#: common/models.py:3205 common/models.py:3262 stock/models.py:2552 +#: common/models.py:3206 common/models.py:3263 stock/models.py:2547 #: stock/serializers.py:244 templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:345 msgid "Attachment" msgstr "" -#: common/models.py:3217 +#: common/models.py:3218 msgid "Missing file" msgstr "" -#: common/models.py:3218 +#: common/models.py:3219 msgid "Missing external link" msgstr "" -#: common/models.py:3263 +#: common/models.py:3264 msgid "Select file to attach" msgstr "" -#: common/models.py:3278 templates/js/translated/attachment.js:120 +#: common/models.py:3279 templates/js/translated/attachment.js:120 #: templates/js/translated/attachment.js:360 msgid "Comment" msgstr "" -#: common/models.py:3279 +#: common/models.py:3280 msgid "Attachment comment" msgstr "" -#: common/models.py:3295 +#: common/models.py:3296 msgid "Upload date" msgstr "" -#: common/models.py:3296 +#: common/models.py:3297 msgid "Date the file was uploaded" msgstr "" -#: common/models.py:3300 +#: common/models.py:3301 msgid "File size" msgstr "" -#: common/models.py:3300 +#: common/models.py:3301 msgid "File size in bytes" msgstr "" -#: common/models.py:3338 common/serializers.py:588 +#: common/models.py:3339 common/serializers.py:604 msgid "Invalid model type specified for attachment" msgstr "" -#: common/models.py:3347 plugin/models.py:43 users/models.py:100 +#: common/models.py:3348 plugin/models.py:43 users/models.py:100 msgid "Key" msgstr "" -#: common/models.py:3348 +#: common/models.py:3349 msgid "Value that will be saved in the models database" msgstr "" -#: common/models.py:3351 +#: common/models.py:3352 msgid "Name of the state" msgstr "" -#: common/models.py:3355 +#: common/models.py:3356 msgid "Label" msgstr "" -#: common/models.py:3356 +#: common/models.py:3357 msgid "Label that will be displayed in the frontend" msgstr "" -#: common/models.py:3362 +#: common/models.py:3363 msgid "Color" msgstr "" -#: common/models.py:3363 +#: common/models.py:3364 msgid "Color that will be displayed in the frontend" msgstr "" -#: common/models.py:3366 +#: common/models.py:3367 msgid "Logical Key" msgstr "" -#: common/models.py:3368 +#: common/models.py:3369 msgid "State logical key that is equal to this custom state in business logic" msgstr "" -#: common/models.py:3376 +#: common/models.py:3377 msgid "Model" msgstr "" -#: common/models.py:3377 +#: common/models.py:3378 msgid "Model this state is associated with" msgstr "" -#: common/models.py:3381 +#: common/models.py:3382 msgid "Reference Status Set" msgstr "" -#: common/models.py:3382 +#: common/models.py:3383 msgid "Status set that is extended with this custom state" msgstr "" -#: common/models.py:3388 +#: common/models.py:3389 msgid "Custom State" msgstr "" -#: common/models.py:3389 +#: common/models.py:3390 msgid "Custom States" msgstr "" -#: common/models.py:3404 +#: common/models.py:3405 msgid "Model must be selected" msgstr "" -#: common/models.py:3407 +#: common/models.py:3408 msgid "Key must be selected" msgstr "" -#: common/models.py:3410 +#: common/models.py:3411 msgid "Logical key must be selected" msgstr "" -#: common/models.py:3414 +#: common/models.py:3415 msgid "Key must be different from logical key" msgstr "" -#: common/models.py:3418 +#: common/models.py:3419 msgid "Reference status must be selected" msgstr "" -#: common/models.py:3430 +#: common/models.py:3431 msgid "Reference status set not found" msgstr "" -#: common/models.py:3436 +#: common/models.py:3437 msgid "Key must be different from the logical keys of the reference status" msgstr "" -#: common/models.py:3442 +#: common/models.py:3443 msgid "Logical key must be in the logical keys of the reference status" msgstr "" @@ -4101,75 +4098,75 @@ msgstr "" msgid "Error raised by plugin" msgstr "" -#: common/serializers.py:402 +#: common/serializers.py:418 msgid "Is Running" msgstr "" -#: common/serializers.py:408 +#: common/serializers.py:424 msgid "Pending Tasks" msgstr "" -#: common/serializers.py:414 +#: common/serializers.py:430 msgid "Scheduled Tasks" msgstr "" -#: common/serializers.py:420 +#: common/serializers.py:436 msgid "Failed Tasks" msgstr "" -#: common/serializers.py:435 +#: common/serializers.py:451 msgid "Task ID" msgstr "" -#: common/serializers.py:435 +#: common/serializers.py:451 msgid "Unique task ID" msgstr "" -#: common/serializers.py:437 +#: common/serializers.py:453 msgid "Lock" msgstr "" -#: common/serializers.py:437 +#: common/serializers.py:453 msgid "Lock time" msgstr "" -#: common/serializers.py:439 +#: common/serializers.py:455 msgid "Task name" msgstr "" -#: common/serializers.py:441 +#: common/serializers.py:457 msgid "Function" msgstr "" -#: common/serializers.py:441 +#: common/serializers.py:457 msgid "Function name" msgstr "" -#: common/serializers.py:443 +#: common/serializers.py:459 msgid "Arguments" msgstr "" -#: common/serializers.py:443 +#: common/serializers.py:459 msgid "Task arguments" msgstr "" -#: common/serializers.py:446 +#: common/serializers.py:462 msgid "Keyword Arguments" msgstr "" -#: common/serializers.py:446 +#: common/serializers.py:462 msgid "Task keyword arguments" msgstr "" -#: common/serializers.py:556 +#: common/serializers.py:572 msgid "Filename" msgstr "" -#: common/serializers.py:563 report/api.py:100 report/serializers.py:53 +#: common/serializers.py:579 report/api.py:100 report/serializers.py:54 msgid "Model Type" msgstr "" -#: common/serializers.py:591 +#: common/serializers.py:607 msgid "User does not have permission to create or edit attachments for this model" msgstr "" @@ -4447,12 +4444,12 @@ msgstr "" #: company/models.py:467 company/models.py:584 company/models.py:808 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 -#: stock/templates/stock/item_base.html:217 +#: stock/templates/stock/item_base.html:213 msgid "Manufacturer Part" msgstr "" #: company/models.py:484 company/models.py:776 stock/models.py:791 -#: stock/serializers.py:452 stock/templates/stock/item_base.html:142 +#: stock/serializers.py:452 stock/templates/stock/item_base.html:138 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" @@ -4463,8 +4460,8 @@ msgstr "" #: company/models.py:495 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:567 -#: stock/templates/stock/item_base.html:207 +#: company/templates/company/supplier_part.html:145 part/serializers.py:565 +#: stock/templates/stock/item_base.html:203 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 #: templates/js/translated/company.js:1296 @@ -4479,7 +4476,7 @@ msgstr "" #: company/models.py:502 company/templates/company/manufacturer_part.html:101 #: company/templates/company/supplier_part.html:153 order/serializers.py:557 -#: part/serializers.py:577 templates/js/translated/company.js:351 +#: part/serializers.py:575 templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 #: templates/js/translated/company.js:1630 templates/js/translated/part.js:1807 @@ -4505,7 +4502,7 @@ msgid "Parameter name" msgstr "" #: company/models.py:597 report/templates/report/inventree_test_report.html:104 -#: stock/models.py:2544 templates/js/translated/company.js:1166 +#: stock/models.py:2539 templates/js/translated/company.js:1166 #: templates/js/translated/company.js:1419 templates/js/translated/part.js:1499 #: templates/js/translated/stock.js:1607 msgid "Value" @@ -4516,7 +4513,7 @@ msgid "Parameter value" msgstr "" #: company/models.py:605 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1159 part/models.py:3783 +#: part/admin.py:57 part/models.py:1159 part/models.py:3770 #: part/templates/part/part_base.html:300 #: templates/js/translated/company.js:1425 templates/js/translated/part.js:1518 #: templates/js/translated/part.js:1622 templates/js/translated/part.js:2376 @@ -4530,7 +4527,7 @@ msgstr "" #: company/models.py:659 company/templates/company/supplier_part.html:7 #: company/templates/company/supplier_part.html:24 order/api.py:440 #: order/serializers.py:492 stock/models.py:802 -#: stock/templates/stock/item_base.html:233 +#: stock/templates/stock/item_base.html:229 #: templates/js/translated/build.js:1055 #: templates/js/translated/company.js:1600 #: templates/js/translated/purchase_order.js:752 @@ -4553,9 +4550,9 @@ msgstr "" #: company/models.py:786 company/templates/company/company_base.html:87 #: company/templates/company/supplier_part.html:129 order/models.py:492 #: order/templates/order/order_base.html:141 part/bom.py:279 part/bom.py:314 -#: part/serializers.py:551 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:549 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 -#: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 +#: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:220 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:511 @@ -4570,7 +4567,7 @@ msgstr "" msgid "Select supplier" msgstr "" -#: company/models.py:793 part/serializers.py:562 +#: company/models.py:793 part/serializers.py:560 msgid "Supplier stock keeping unit" msgstr "" @@ -4591,7 +4588,7 @@ msgid "Supplier part description" msgstr "" #: company/models.py:832 company/templates/company/supplier_part.html:187 -#: order/serializers.py:699 part/admin.py:415 part/models.py:4301 +#: order/serializers.py:699 part/admin.py:415 part/models.py:4288 #: part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 @@ -4603,11 +4600,11 @@ msgstr "" msgid "Note" msgstr "" -#: company/models.py:841 part/models.py:2129 +#: company/models.py:841 part/models.py:2128 msgid "base cost" msgstr "" -#: company/models.py:842 part/models.py:2130 +#: company/models.py:842 part/models.py:2129 msgid "Minimum charge (e.g. stocking fee)" msgstr "" @@ -4629,7 +4626,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:876 part/models.py:2136 +#: company/models.py:876 part/models.py:2135 msgid "multiple" msgstr "" @@ -4661,7 +4658,7 @@ msgstr "" msgid "Company Name" msgstr "" -#: company/serializers.py:397 part/admin.py:126 part/serializers.py:919 +#: company/serializers.py:397 part/admin.py:126 part/serializers.py:917 #: part/templates/part/part_base.html:197 #: templates/js/translated/company.js:1689 #: templates/js/translated/table_filters.js:362 @@ -4735,7 +4732,7 @@ msgstr "" #: order/models.py:2140 order/templates/order/return_order_base.html:134 #: order/templates/order/sales_order_base.html:151 stock/models.py:844 #: stock/models.py:845 stock/serializers.py:1336 -#: stock/templates/stock/item_base.html:405 +#: stock/templates/stock/item_base.html:401 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 #: templates/js/translated/return_order.js:295 @@ -4939,7 +4936,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:925 +#: part/admin.py:122 part/serializers.py:923 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -5030,7 +5027,7 @@ msgid "No supplier information available" msgstr "" #: company/templates/company/supplier_part.html:139 order/serializers.py:554 -#: part/bom.py:286 part/bom.py:315 part/serializers.py:561 +#: part/bom.py:286 part/bom.py:315 part/serializers.py:559 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1793 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1920 @@ -5084,7 +5081,7 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:923 part/stocktake.py:223 +#: part/serializers.py:921 part/stocktake.py:223 #: part/templates/part/category.html:180 #: part/templates/part/category_sidebar.html:17 stock/admin.py:68 #: stock/serializers.py:1021 stock/serializers.py:1199 @@ -5215,7 +5212,7 @@ msgstr "" msgid "Original row data" msgstr "" -#: importer/models.py:504 part/models.py:3965 +#: importer/models.py:504 part/models.py:3952 msgid "Data" msgstr "" @@ -5473,7 +5470,7 @@ msgstr "" #: order/models.py:1592 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_purchase_order_report.html:14 -#: stock/serializers.py:121 stock/templates/stock/item_base.html:176 +#: stock/serializers.py:121 stock/templates/stock/item_base.html:172 #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/part.js:1752 templates/js/translated/pricing.js:804 #: templates/js/translated/purchase_order.js:168 @@ -5694,7 +5691,7 @@ msgid "Number of items received" msgstr "" #: order/models.py:1513 stock/models.py:963 stock/serializers.py:617 -#: stock/templates/stock/item_base.html:183 +#: stock/templates/stock/item_base.html:179 #: templates/js/translated/stock.js:2397 msgid "Purchase Price" msgstr "" @@ -5768,7 +5765,7 @@ msgid "User who checked this shipment" msgstr "" #: order/models.py:1788 order/models.py:2011 order/serializers.py:1479 -#: order/serializers.py:1589 templates/js/translated/model_renderers.js:455 +#: order/serializers.py:1597 templates/js/translated/model_renderers.js:455 msgid "Shipment" msgstr "" @@ -5982,7 +5979,7 @@ msgstr "" msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:656 order/serializers.py:779 order/serializers.py:1790 +#: order/serializers.py:656 order/serializers.py:779 order/serializers.py:1798 msgid "Select destination location for received items" msgstr "" @@ -6019,7 +6016,7 @@ msgstr "" msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:795 order/serializers.py:1806 +#: order/serializers.py:795 order/serializers.py:1814 msgid "Line items must be provided" msgstr "" @@ -6051,39 +6048,39 @@ msgstr "" msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1491 order/serializers.py:1597 +#: order/serializers.py:1491 order/serializers.py:1605 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1494 order/serializers.py:1600 +#: order/serializers.py:1494 order/serializers.py:1608 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1541 +#: order/serializers.py:1549 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1548 -msgid "The following serial numbers are already allocated" +#: order/serializers.py:1556 +msgid "The following serial numbers are unavailable" msgstr "" -#: order/serializers.py:1760 +#: order/serializers.py:1768 msgid "Return order line item" msgstr "" -#: order/serializers.py:1766 +#: order/serializers.py:1774 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1769 +#: order/serializers.py:1777 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1798 +#: order/serializers.py:1806 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1881 +#: order/serializers.py:1889 msgid "Line price currency" msgstr "" @@ -6510,7 +6507,7 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:48 part/models.py:1044 part/serializers.py:908 +#: part/admin.py:48 part/models.py:1044 part/serializers.py:906 #: part/templates/part/part_base.html:276 #: report/templates/report/inventree_stock_location_report.html:103 #: templates/js/translated/part.js:1233 templates/js/translated/part.js:2347 @@ -6537,7 +6534,7 @@ msgstr "" msgid "Category ID" msgstr "" -#: part/admin.py:67 part/admin.py:304 part/serializers.py:893 +#: part/admin.py:67 part/admin.py:304 part/serializers.py:891 #: part/stocktake.py:222 msgid "Category Name" msgstr "" @@ -6562,18 +6559,18 @@ msgstr "" msgid "Used In" msgstr "" -#: part/admin.py:150 part/serializers.py:918 +#: part/admin.py:150 part/serializers.py:916 #: part/templates/part/part_base.html:248 stock/admin.py:236 #: templates/js/translated/part.js:717 templates/js/translated/part.js:2159 msgid "Building" msgstr "" -#: part/admin.py:155 part/models.py:3214 part/models.py:3228 +#: part/admin.py:155 part/models.py:3201 part/models.py:3215 #: templates/js/translated/part.js:976 msgid "Minimum Cost" msgstr "" -#: part/admin.py:158 part/models.py:3221 part/models.py:3235 +#: part/admin.py:158 part/models.py:3208 part/models.py:3222 #: templates/js/translated/part.js:986 msgid "Maximum Cost" msgstr "" @@ -6592,7 +6589,7 @@ msgid "Category Path" msgstr "" #: part/admin.py:325 part/models.py:420 part/serializers.py:130 -#: part/serializers.py:290 part/serializers.py:428 +#: part/serializers.py:290 part/serializers.py:426 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:20 #: part/templates/part/category.html:138 part/templates/part/category.html:158 #: part/templates/part/category_sidebar.html:9 @@ -6619,13 +6616,13 @@ msgstr "" msgid "Part Revision" msgstr "" -#: part/admin.py:418 part/serializers.py:1367 +#: part/admin.py:418 part/serializers.py:1365 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:423 part/serializers.py:1382 +#: part/admin.py:423 part/serializers.py:1380 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -6719,8 +6716,8 @@ msgstr "" msgid "BOM Valid" msgstr "" -#: part/api.py:1520 part/models.py:1036 part/models.py:3501 part/models.py:4060 -#: part/serializers.py:443 part/serializers.py:1223 +#: part/api.py:1520 part/models.py:1036 part/models.py:3488 part/models.py:4047 +#: part/serializers.py:441 part/serializers.py:1221 #: part/templates/part/part_base.html:267 stock/api.py:780 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 @@ -6746,7 +6743,7 @@ msgstr "" msgid "Default Location" msgstr "" -#: part/bom.py:184 part/serializers.py:926 +#: part/bom.py:184 part/serializers.py:924 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -6755,7 +6752,7 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:89 part/models.py:4061 part/templates/part/category.html:16 +#: part/models.py:89 part/models.py:4048 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -6878,7 +6875,7 @@ msgstr "" msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:995 part/models.py:4116 +#: part/models.py:995 part/models.py:4103 msgid "Part name" msgstr "" @@ -6906,7 +6903,7 @@ msgstr "" msgid "Part category" msgstr "" -#: part/models.py:1052 part/serializers.py:360 +#: part/models.py:1052 msgid "Part revision or version number" msgstr "" @@ -7012,164 +7009,164 @@ msgid "Owner responsible for this part" msgstr "" #: part/models.py:1264 part/templates/part/part_base.html:355 -#: stock/templates/stock/item_base.html:451 +#: stock/templates/stock/item_base.html:447 #: templates/js/translated/part.js:2490 msgid "Last Stocktake" msgstr "" -#: part/models.py:2137 +#: part/models.py:2136 msgid "Sell multiple" msgstr "" -#: part/models.py:3128 +#: part/models.py:3115 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3144 +#: part/models.py:3131 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3145 +#: part/models.py:3132 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3151 +#: part/models.py:3138 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3152 +#: part/models.py:3139 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3158 +#: part/models.py:3145 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3159 +#: part/models.py:3146 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3165 +#: part/models.py:3152 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3166 +#: part/models.py:3153 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3172 +#: part/models.py:3159 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3173 +#: part/models.py:3160 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3179 +#: part/models.py:3166 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3180 +#: part/models.py:3167 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3186 +#: part/models.py:3173 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3187 +#: part/models.py:3174 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3193 +#: part/models.py:3180 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3194 +#: part/models.py:3181 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3200 +#: part/models.py:3187 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3201 +#: part/models.py:3188 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3207 +#: part/models.py:3194 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3208 +#: part/models.py:3195 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3215 +#: part/models.py:3202 msgid "Override minimum cost" msgstr "" -#: part/models.py:3222 +#: part/models.py:3209 msgid "Override maximum cost" msgstr "" -#: part/models.py:3229 +#: part/models.py:3216 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3236 +#: part/models.py:3223 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3242 +#: part/models.py:3229 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3243 +#: part/models.py:3230 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3249 +#: part/models.py:3236 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3250 +#: part/models.py:3237 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3256 +#: part/models.py:3243 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3257 +#: part/models.py:3244 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3263 +#: part/models.py:3250 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3264 +#: part/models.py:3251 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3283 +#: part/models.py:3270 msgid "Part for stocktake" msgstr "" -#: part/models.py:3288 +#: part/models.py:3275 msgid "Item Count" msgstr "" -#: part/models.py:3289 +#: part/models.py:3276 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3297 +#: part/models.py:3284 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3301 part/models.py:3384 +#: part/models.py:3288 part/models.py:3371 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -7181,363 +7178,363 @@ msgstr "" msgid "Date" msgstr "" -#: part/models.py:3302 +#: part/models.py:3289 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3310 +#: part/models.py:3297 msgid "Additional notes" msgstr "" -#: part/models.py:3320 +#: part/models.py:3307 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3326 +#: part/models.py:3313 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3327 +#: part/models.py:3314 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3333 +#: part/models.py:3320 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3334 +#: part/models.py:3321 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3390 templates/InvenTree/settings/settings_staff_js.html:532 +#: part/models.py:3377 templates/InvenTree/settings/settings_staff_js.html:532 msgid "Report" msgstr "" -#: part/models.py:3391 +#: part/models.py:3378 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3396 templates/InvenTree/settings/settings_staff_js.html:539 +#: part/models.py:3383 templates/InvenTree/settings/settings_staff_js.html:539 msgid "Part Count" msgstr "" -#: part/models.py:3397 +#: part/models.py:3384 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3407 +#: part/models.py:3394 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3417 +#: part/models.py:3404 msgid "Part Sale Price Break" msgstr "" -#: part/models.py:3529 +#: part/models.py:3516 msgid "Part Test Template" msgstr "" -#: part/models.py:3555 +#: part/models.py:3542 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3576 part/models.py:3745 +#: part/models.py:3563 part/models.py:3732 msgid "Choices must be unique" msgstr "" -#: part/models.py:3587 +#: part/models.py:3574 msgid "Test templates can only be created for testable parts" msgstr "" -#: part/models.py:3598 +#: part/models.py:3585 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3615 templates/js/translated/part.js:2898 +#: part/models.py:3602 templates/js/translated/part.js:2898 msgid "Test Name" msgstr "" -#: part/models.py:3616 +#: part/models.py:3603 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3622 +#: part/models.py:3609 msgid "Test Key" msgstr "" -#: part/models.py:3623 +#: part/models.py:3610 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3630 +#: part/models.py:3617 msgid "Test Description" msgstr "" -#: part/models.py:3631 +#: part/models.py:3618 msgid "Enter description for this test" msgstr "" -#: part/models.py:3635 report/models.py:208 +#: part/models.py:3622 report/models.py:216 #: templates/js/translated/part.js:2919 #: templates/js/translated/table_filters.js:502 msgid "Enabled" msgstr "" -#: part/models.py:3635 +#: part/models.py:3622 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3640 templates/js/translated/part.js:2927 +#: part/models.py:3627 templates/js/translated/part.js:2927 #: templates/js/translated/table_filters.js:498 msgid "Required" msgstr "" -#: part/models.py:3641 +#: part/models.py:3628 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3646 templates/js/translated/part.js:2935 +#: part/models.py:3633 templates/js/translated/part.js:2935 msgid "Requires Value" msgstr "" -#: part/models.py:3647 +#: part/models.py:3634 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3652 templates/js/translated/part.js:2942 +#: part/models.py:3639 templates/js/translated/part.js:2942 msgid "Requires Attachment" msgstr "" -#: part/models.py:3654 +#: part/models.py:3641 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3660 part/models.py:3804 templates/js/translated/part.js:1643 +#: part/models.py:3647 part/models.py:3791 templates/js/translated/part.js:1643 msgid "Choices" msgstr "" -#: part/models.py:3661 +#: part/models.py:3648 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3693 +#: part/models.py:3680 msgid "Part Parameter Template" msgstr "" -#: part/models.py:3720 +#: part/models.py:3707 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3725 +#: part/models.py:3712 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3762 +#: part/models.py:3749 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3777 +#: part/models.py:3764 msgid "Parameter Name" msgstr "" -#: part/models.py:3784 +#: part/models.py:3771 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3792 +#: part/models.py:3779 msgid "Parameter description" msgstr "" -#: part/models.py:3798 templates/js/translated/part.js:1634 +#: part/models.py:3785 templates/js/translated/part.js:1634 #: templates/js/translated/table_filters.js:837 msgid "Checkbox" msgstr "" -#: part/models.py:3799 +#: part/models.py:3786 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3805 +#: part/models.py:3792 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3839 +#: part/models.py:3826 msgid "Part Parameter" msgstr "" -#: part/models.py:3865 +#: part/models.py:3852 msgid "Parameter cannot be modified - part is locked" msgstr "" -#: part/models.py:3903 +#: part/models.py:3890 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3952 +#: part/models.py:3939 msgid "Parent Part" msgstr "" -#: part/models.py:3960 part/models.py:4068 part/models.py:4069 +#: part/models.py:3947 part/models.py:4055 part/models.py:4056 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3966 +#: part/models.py:3953 msgid "Parameter Value" msgstr "" -#: part/models.py:4016 +#: part/models.py:4003 msgid "Part Category Parameter Template" msgstr "" -#: part/models.py:4075 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:4062 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:4076 +#: part/models.py:4063 msgid "Default Parameter Value" msgstr "" -#: part/models.py:4114 +#: part/models.py:4101 msgid "Part ID or part name" msgstr "" -#: part/models.py:4115 +#: part/models.py:4102 msgid "Unique part ID value" msgstr "" -#: part/models.py:4117 +#: part/models.py:4104 msgid "Part IPN value" msgstr "" -#: part/models.py:4118 +#: part/models.py:4105 msgid "Level" msgstr "" -#: part/models.py:4118 +#: part/models.py:4105 msgid "BOM level" msgstr "" -#: part/models.py:4228 +#: part/models.py:4215 msgid "BOM item cannot be modified - assembly is locked" msgstr "" -#: part/models.py:4235 +#: part/models.py:4222 msgid "BOM item cannot be modified - variant assembly is locked" msgstr "" -#: part/models.py:4245 +#: part/models.py:4232 msgid "Select parent part" msgstr "" -#: part/models.py:4255 +#: part/models.py:4242 msgid "Sub part" msgstr "" -#: part/models.py:4256 +#: part/models.py:4243 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4267 +#: part/models.py:4254 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4273 +#: part/models.py:4260 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4279 +#: part/models.py:4266 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4286 part/templates/part/upload_bom.html:55 +#: part/models.py:4273 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4287 +#: part/models.py:4274 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4294 +#: part/models.py:4281 msgid "BOM item reference" msgstr "" -#: part/models.py:4302 +#: part/models.py:4289 msgid "BOM item notes" msgstr "" -#: part/models.py:4308 +#: part/models.py:4295 msgid "Checksum" msgstr "" -#: part/models.py:4309 +#: part/models.py:4296 msgid "BOM line checksum" msgstr "" -#: part/models.py:4314 templates/js/translated/table_filters.js:181 +#: part/models.py:4301 templates/js/translated/table_filters.js:181 msgid "Validated" msgstr "" -#: part/models.py:4315 +#: part/models.py:4302 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4320 part/templates/part/upload_bom.html:57 +#: part/models.py:4307 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:185 #: templates/js/translated/table_filters.js:218 msgid "Gets inherited" msgstr "" -#: part/models.py:4321 +#: part/models.py:4308 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4327 +#: part/models.py:4314 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4412 stock/models.py:689 +#: part/models.py:4399 stock/models.py:689 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4422 part/models.py:4424 +#: part/models.py:4409 part/models.py:4411 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4561 +#: part/models.py:4554 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4582 +#: part/models.py:4575 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4595 +#: part/models.py:4588 msgid "Parent BOM item" msgstr "" -#: part/models.py:4603 +#: part/models.py:4596 msgid "Substitute part" msgstr "" -#: part/models.py:4619 +#: part/models.py:4612 msgid "Part 1" msgstr "" -#: part/models.py:4627 +#: part/models.py:4620 msgid "Part 2" msgstr "" -#: part/models.py:4628 +#: part/models.py:4621 msgid "Select Related Part" msgstr "" -#: part/models.py:4647 +#: part/models.py:4640 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4652 +#: part/models.py:4645 msgid "Duplicate relationship already exists" msgstr "" @@ -7571,326 +7568,326 @@ msgstr "" msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:434 +#: part/serializers.py:432 msgid "No parts selected" msgstr "" -#: part/serializers.py:444 +#: part/serializers.py:442 msgid "Select category" msgstr "" -#: part/serializers.py:479 +#: part/serializers.py:477 msgid "Original Part" msgstr "" -#: part/serializers.py:480 +#: part/serializers.py:478 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:485 +#: part/serializers.py:483 msgid "Copy Image" msgstr "" -#: part/serializers.py:486 +#: part/serializers.py:484 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:492 part/templates/part/detail.html:293 +#: part/serializers.py:490 part/templates/part/detail.html:293 msgid "Copy BOM" msgstr "" -#: part/serializers.py:493 +#: part/serializers.py:491 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:499 +#: part/serializers.py:497 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:500 +#: part/serializers.py:498 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:506 +#: part/serializers.py:504 msgid "Copy Notes" msgstr "" -#: part/serializers.py:507 +#: part/serializers.py:505 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:525 +#: part/serializers.py:523 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:527 +#: part/serializers.py:525 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:534 +#: part/serializers.py:532 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:535 +#: part/serializers.py:533 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:552 +#: part/serializers.py:550 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:568 +#: part/serializers.py:566 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:578 +#: part/serializers.py:576 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:585 +#: part/serializers.py:583 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:594 +#: part/serializers.py:592 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:605 +#: part/serializers.py:603 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:612 +#: part/serializers.py:610 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:924 +#: part/serializers.py:922 msgid "Revisions" msgstr "" -#: part/serializers.py:929 +#: part/serializers.py:927 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:932 +#: part/serializers.py:930 msgid "Variant Stock" msgstr "" -#: part/serializers.py:962 part/templates/part/copy_part.html:9 +#: part/serializers.py:960 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:474 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:963 +#: part/serializers.py:961 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:969 templates/js/translated/part.js:103 +#: part/serializers.py:967 templates/js/translated/part.js:103 msgid "Initial Stock" msgstr "" -#: part/serializers.py:970 +#: part/serializers.py:968 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:976 +#: part/serializers.py:974 msgid "Supplier Information" msgstr "" -#: part/serializers.py:977 +#: part/serializers.py:975 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:985 +#: part/serializers.py:983 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:986 +#: part/serializers.py:984 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:991 +#: part/serializers.py:989 msgid "Existing Image" msgstr "" -#: part/serializers.py:992 +#: part/serializers.py:990 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:1009 +#: part/serializers.py:1007 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1215 +#: part/serializers.py:1213 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1225 +#: part/serializers.py:1223 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1235 +#: part/serializers.py:1233 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1241 +#: part/serializers.py:1239 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1242 +#: part/serializers.py:1240 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1247 +#: part/serializers.py:1245 msgid "Generate Report" msgstr "" -#: part/serializers.py:1248 +#: part/serializers.py:1246 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1253 +#: part/serializers.py:1251 msgid "Update Parts" msgstr "" -#: part/serializers.py:1254 +#: part/serializers.py:1252 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1262 +#: part/serializers.py:1260 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1368 +#: part/serializers.py:1366 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1375 +#: part/serializers.py:1373 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1383 +#: part/serializers.py:1381 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1390 +#: part/serializers.py:1388 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1419 +#: part/serializers.py:1417 msgid "Update" msgstr "" -#: part/serializers.py:1420 +#: part/serializers.py:1418 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1443 +#: part/serializers.py:1441 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1450 +#: part/serializers.py:1448 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1453 +#: part/serializers.py:1451 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1597 +#: part/serializers.py:1595 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1606 +#: part/serializers.py:1604 msgid "Component Name" msgstr "" -#: part/serializers.py:1609 +#: part/serializers.py:1607 msgid "Component IPN" msgstr "" -#: part/serializers.py:1612 +#: part/serializers.py:1610 msgid "Component Description" msgstr "" -#: part/serializers.py:1618 +#: part/serializers.py:1616 msgid "Select the component part" msgstr "" -#: part/serializers.py:1627 part/templates/part/part_base.html:242 +#: part/serializers.py:1625 part/templates/part/part_base.html:242 #: templates/js/translated/bom.js:1219 msgid "Can Build" msgstr "" -#: part/serializers.py:1858 +#: part/serializers.py:1856 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1866 +#: part/serializers.py:1864 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1867 +#: part/serializers.py:1865 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1872 +#: part/serializers.py:1870 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1873 +#: part/serializers.py:1871 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1878 +#: part/serializers.py:1876 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1879 +#: part/serializers.py:1877 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1884 +#: part/serializers.py:1882 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1885 +#: part/serializers.py:1883 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1922 +#: part/serializers.py:1920 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1923 +#: part/serializers.py:1921 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1955 +#: part/serializers.py:1953 msgid "No part column specified" msgstr "" -#: part/serializers.py:1999 +#: part/serializers.py:1997 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:2002 +#: part/serializers.py:2000 msgid "No matching part found" msgstr "" -#: part/serializers.py:2004 +#: part/serializers.py:2002 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:2013 +#: part/serializers.py:2011 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:2021 +#: part/serializers.py:2019 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:2044 +#: part/serializers.py:2042 msgid "At least one BOM item is required" msgstr "" @@ -8216,7 +8213,7 @@ msgid "Subscribe to notifications for this part" msgstr "" #: part/templates/part/part_base.html:52 -#: stock/templates/stock/item_base.html:62 +#: stock/templates/stock/item_base.html:61 #: stock/templates/stock/location.html:71 templates/js/translated/label.js:136 msgid "Print Label" msgstr "" @@ -8226,7 +8223,7 @@ msgid "Show pricing information" msgstr "" #: part/templates/part/part_base.html:63 -#: stock/templates/stock/item_base.html:110 +#: stock/templates/stock/item_base.html:106 #: stock/templates/stock/location.html:80 msgid "Stock actions" msgstr "" @@ -8297,12 +8294,12 @@ msgid "Required for Orders" msgstr "" #: part/templates/part/part_base.html:225 -#: stock/templates/stock/item_base.html:388 +#: stock/templates/stock/item_base.html:384 msgid "Allocated to Build Orders" msgstr "" #: part/templates/part/part_base.html:234 -#: stock/templates/stock/item_base.html:381 +#: stock/templates/stock/item_base.html:377 msgid "Allocated to Sales Orders" msgstr "" @@ -8322,7 +8319,7 @@ msgid "Latest Serial Number" msgstr "" #: part/templates/part/part_base.html:372 -#: stock/templates/stock/item_base.html:322 +#: stock/templates/stock/item_base.html:318 msgid "Search for serial number" msgstr "" @@ -8449,7 +8446,7 @@ msgid "Edit" msgstr "" #: part/templates/part/prices.html:28 stock/admin.py:252 -#: stock/templates/stock/item_base.html:446 +#: stock/templates/stock/item_base.html:442 #: templates/js/translated/company.js:1703 #: templates/js/translated/company.js:1713 #: templates/js/translated/stock.js:2332 @@ -8604,7 +8601,7 @@ msgstr "" msgid "Part Pricing" msgstr "" -#: plugin/api.py:172 +#: plugin/api.py:174 msgid "Plugin cannot be deleted as it is currently active" msgstr "" @@ -8940,7 +8937,7 @@ msgstr "" msgid "Print a border around each label" msgstr "" -#: plugin/builtin/labels/label_sheet.py:47 report/models.py:307 +#: plugin/builtin/labels/label_sheet.py:47 report/models.py:315 msgid "Landscape" msgstr "" @@ -9012,44 +9009,44 @@ msgstr "" msgid "The Supplier which acts as 'TME'" msgstr "" -#: plugin/installer.py:194 plugin/installer.py:274 +#: plugin/installer.py:199 plugin/installer.py:282 msgid "Only staff users can administer plugins" msgstr "" -#: plugin/installer.py:197 +#: plugin/installer.py:202 msgid "Plugin installation is disabled" msgstr "" -#: plugin/installer.py:241 +#: plugin/installer.py:246 msgid "Installed plugin successfully" msgstr "" -#: plugin/installer.py:246 +#: plugin/installer.py:251 #, python-brace-format msgid "Installed plugin into {path}" msgstr "" -#: plugin/installer.py:265 +#: plugin/installer.py:273 msgid "Plugin was not found in registry" msgstr "" -#: plugin/installer.py:268 +#: plugin/installer.py:276 msgid "Plugin is not a packaged plugin" msgstr "" -#: plugin/installer.py:271 +#: plugin/installer.py:279 msgid "Plugin package name not found" msgstr "" -#: plugin/installer.py:291 +#: plugin/installer.py:299 msgid "Plugin uninstalling is disabled" msgstr "" -#: plugin/installer.py:295 +#: plugin/installer.py:303 msgid "Plugin cannot be uninstalled as it is currently active" msgstr "" -#: plugin/installer.py:308 +#: plugin/installer.py:316 msgid "Uninstalled plugin successfully" msgstr "" @@ -9098,7 +9095,7 @@ msgstr "" msgid "Package Plugin" msgstr "" -#: plugin/models.py:220 report/models.py:474 +#: plugin/models.py:220 report/models.py:482 #: templates/InvenTree/settings/plugin_settings.html:9 #: templates/js/translated/plugin.js:51 msgid "Plugin" @@ -9167,6 +9164,38 @@ msgstr "" msgid "InvenTree Contributors" msgstr "" +#: plugin/samples/integration/user_interface_sample.py:22 +msgid "Enable Part Panels" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:23 +msgid "Enable custom panels for Part views" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:28 +msgid "Enable Purchase Order Panels" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:29 +msgid "Enable custom panels for Purchase Order views" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:34 +msgid "Enable Broken Panels" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:35 +msgid "Enable broken panels for testing" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:40 +msgid "Enable Dynamic Panel" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:41 +msgid "Enable dynamic panels for testing" +msgstr "" + #: plugin/serializers.py:81 msgid "Source URL" msgstr "" @@ -9245,12 +9274,36 @@ msgstr "" msgid "Delete the plugin configuration from the database" msgstr "" +#: plugin/serializers.py:324 +msgid "Plugin Key" +msgstr "" + +#: plugin/serializers.py:328 +msgid "Panel Name" +msgstr "" + +#: plugin/serializers.py:332 +msgid "Panel Title" +msgstr "" + +#: plugin/serializers.py:337 +msgid "Panel Icon" +msgstr "" + +#: plugin/serializers.py:341 +msgid "Panel Content (HTML)" +msgstr "" + +#: plugin/serializers.py:345 +msgid "Panel Source (javascript)" +msgstr "" + #: report/api.py:88 msgid "No valid objects provided to template" msgstr "" -#: report/api.py:103 report/models.py:438 report/serializers.py:98 -#: report/serializers.py:148 templates/js/translated/purchase_order.js:1817 +#: report/api.py:103 report/models.py:446 report/serializers.py:99 +#: report/serializers.py:149 templates/js/translated/purchase_order.js:1817 #: templates/js/translated/return_order.js:353 #: templates/js/translated/sales_order.js:887 #: templates/js/translated/sales_order.js:1047 @@ -9281,7 +9334,11 @@ msgstr "" msgid "Error printing label" msgstr "" -#: report/api.py:375 report/api.py:411 +#: report/api.py:358 +msgid "Report saved at time of printing" +msgstr "" + +#: report/api.py:384 report/api.py:420 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" @@ -9318,135 +9375,143 @@ msgstr "" msgid "Revision number (auto-increments)" msgstr "" -#: report/models.py:202 +#: report/models.py:168 +msgid "Attach to Model on Print" +msgstr "" + +#: report/models.py:170 +msgid "Save report output as an attachment against linked model instance when printing" +msgstr "" + +#: report/models.py:210 msgid "Filename Pattern" msgstr "" -#: report/models.py:203 +#: report/models.py:211 msgid "Pattern for generating filenames" msgstr "" -#: report/models.py:208 +#: report/models.py:216 msgid "Template is enabled" msgstr "" -#: report/models.py:214 +#: report/models.py:222 msgid "Target model type for template" msgstr "" -#: report/models.py:234 +#: report/models.py:242 msgid "Filters" msgstr "" -#: report/models.py:235 +#: report/models.py:243 msgid "Template query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:294 report/models.py:361 +#: report/models.py:302 report/models.py:369 msgid "Template file" msgstr "" -#: report/models.py:302 +#: report/models.py:310 msgid "Page size for PDF reports" msgstr "" -#: report/models.py:308 +#: report/models.py:316 msgid "Render report in landscape orientation" msgstr "" -#: report/models.py:367 +#: report/models.py:375 msgid "Width [mm]" msgstr "" -#: report/models.py:368 +#: report/models.py:376 msgid "Label width, specified in mm" msgstr "" -#: report/models.py:374 +#: report/models.py:382 msgid "Height [mm]" msgstr "" -#: report/models.py:375 +#: report/models.py:383 msgid "Label height, specified in mm" msgstr "" -#: report/models.py:438 +#: report/models.py:446 msgid "Number of items to process" msgstr "" -#: report/models.py:444 +#: report/models.py:452 msgid "Report generation is complete" msgstr "" -#: report/models.py:448 templates/js/translated/build.js:2352 +#: report/models.py:456 templates/js/translated/build.js:2352 msgid "Progress" msgstr "" -#: report/models.py:448 +#: report/models.py:456 msgid "Report generation progress" msgstr "" -#: report/models.py:456 +#: report/models.py:464 msgid "Report Template" msgstr "" -#: report/models.py:463 report/models.py:486 +#: report/models.py:471 report/models.py:494 msgid "Output File" msgstr "" -#: report/models.py:464 report/models.py:487 +#: report/models.py:472 report/models.py:495 msgid "Generated output file" msgstr "" -#: report/models.py:475 +#: report/models.py:483 msgid "Label output plugin" msgstr "" -#: report/models.py:479 +#: report/models.py:487 msgid "Label Template" msgstr "" -#: report/models.py:502 +#: report/models.py:510 msgid "Snippet" msgstr "" -#: report/models.py:503 +#: report/models.py:511 msgid "Report snippet file" msgstr "" -#: report/models.py:510 +#: report/models.py:518 msgid "Snippet file description" msgstr "" -#: report/models.py:528 +#: report/models.py:536 msgid "Asset" msgstr "" -#: report/models.py:529 +#: report/models.py:537 msgid "Report asset file" msgstr "" -#: report/models.py:536 +#: report/models.py:544 msgid "Asset file description" msgstr "" -#: report/serializers.py:91 +#: report/serializers.py:92 msgid "Select report template" msgstr "" -#: report/serializers.py:99 report/serializers.py:149 +#: report/serializers.py:100 report/serializers.py:150 msgid "List of item primary keys to include in the report" msgstr "" -#: report/serializers.py:132 +#: report/serializers.py:133 msgid "Select label template" msgstr "" -#: report/serializers.py:140 +#: report/serializers.py:141 msgid "Printing Plugin" msgstr "" -#: report/serializers.py:141 +#: report/serializers.py:142 msgid "Select plugin to use for label printing" msgstr "" @@ -9517,7 +9582,7 @@ msgstr "" msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report.html:103 stock/models.py:2538 +#: report/templates/report/inventree_test_report.html:103 stock/models.py:2533 msgid "Result" msgstr "" @@ -9598,7 +9663,7 @@ msgid "Customer ID" msgstr "" #: stock/admin.py:206 stock/models.py:829 -#: stock/templates/stock/item_base.html:354 +#: stock/templates/stock/item_base.html:350 msgid "Installed In" msgstr "" @@ -9623,7 +9688,7 @@ msgid "Delete on Deplete" msgstr "" #: stock/admin.py:261 stock/models.py:923 -#: stock/templates/stock/item_base.html:433 +#: stock/templates/stock/item_base.html:429 #: templates/js/translated/stock.js:2316 users/models.py:124 msgid "Expiry Date" msgstr "" @@ -9665,7 +9730,7 @@ msgid "Expiry date after" msgstr "" #: stock/api.py:839 stock/serializers.py:611 -#: stock/templates/stock/item_base.html:439 +#: stock/templates/stock/item_base.html:435 #: templates/js/translated/table_filters.js:448 msgid "Stale" msgstr "" @@ -9715,7 +9780,7 @@ msgid "Stock Locations" msgstr "" #: stock/models.py:185 stock/models.py:972 -#: stock/templates/stock/item_base.html:247 +#: stock/templates/stock/item_base.html:243 msgid "Owner" msgstr "" @@ -9826,7 +9891,7 @@ msgstr "" msgid "Build for this stock item" msgstr "" -#: stock/models.py:892 stock/templates/stock/item_base.html:363 +#: stock/models.py:892 stock/templates/stock/item_base.html:359 msgid "Consumed By" msgstr "" @@ -9891,7 +9956,7 @@ msgstr "" msgid "Serial numbers already exist" msgstr "" -#: stock/models.py:1636 +#: stock/models.py:1636 stock/models.py:2436 msgid "Test template does not exist" msgstr "" @@ -9939,67 +10004,67 @@ msgstr "" msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2337 +#: stock/models.py:2335 msgid "Stock Item Tracking" msgstr "" -#: stock/models.py:2370 +#: stock/models.py:2368 msgid "Entry notes" msgstr "" -#: stock/models.py:2410 +#: stock/models.py:2408 msgid "Stock Item Test Result" msgstr "" -#: stock/models.py:2443 +#: stock/models.py:2439 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2448 +#: stock/models.py:2443 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2453 +#: stock/models.py:2448 msgid "Invalid value for this test" msgstr "" -#: stock/models.py:2538 +#: stock/models.py:2533 msgid "Test result" msgstr "" -#: stock/models.py:2545 +#: stock/models.py:2540 msgid "Test output value" msgstr "" -#: stock/models.py:2553 stock/serializers.py:245 +#: stock/models.py:2548 stock/serializers.py:245 msgid "Test result attachment" msgstr "" -#: stock/models.py:2557 +#: stock/models.py:2552 msgid "Test notes" msgstr "" -#: stock/models.py:2565 templates/js/translated/stock.js:1633 +#: stock/models.py:2560 templates/js/translated/stock.js:1633 msgid "Test station" msgstr "" -#: stock/models.py:2566 +#: stock/models.py:2561 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2572 +#: stock/models.py:2567 msgid "Started" msgstr "" -#: stock/models.py:2573 +#: stock/models.py:2568 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2579 +#: stock/models.py:2574 msgid "Finished" msgstr "" -#: stock/models.py:2580 +#: stock/models.py:2575 msgid "The timestamp of the test finish" msgstr "" @@ -10059,7 +10124,7 @@ msgstr "" msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:459 stock/templates/stock/item_base.html:193 +#: stock/serializers.py:459 stock/templates/stock/item_base.html:189 msgid "Parent Item" msgstr "" @@ -10071,7 +10136,7 @@ msgstr "" msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:603 stock/templates/stock/item_base.html:437 +#: stock/serializers.py:603 stock/templates/stock/item_base.html:433 #: templates/js/translated/table_filters.js:442 users/models.py:174 msgid "Expired" msgstr "" @@ -10410,7 +10475,7 @@ msgstr "" msgid "Test Data" msgstr "" -#: stock/templates/stock/item.html:85 stock/templates/stock/item_base.html:65 +#: stock/templates/stock/item.html:85 msgid "Test Report" msgstr "" @@ -10450,200 +10515,204 @@ msgstr "" msgid "Scan to Location" msgstr "" -#: stock/templates/stock/item_base.html:59 +#: stock/templates/stock/item_base.html:58 #: stock/templates/stock/location.html:67 #: templates/js/translated/filters.js:434 msgid "Printing actions" msgstr "" -#: stock/templates/stock/item_base.html:75 +#: stock/templates/stock/item_base.html:63 templates/js/translated/report.js:49 +msgid "Print Report" +msgstr "" + +#: stock/templates/stock/item_base.html:71 msgid "Stock adjustment actions" msgstr "" -#: stock/templates/stock/item_base.html:79 +#: stock/templates/stock/item_base.html:75 #: stock/templates/stock/location.html:87 templates/js/translated/stock.js:1909 msgid "Count stock" msgstr "" -#: stock/templates/stock/item_base.html:81 +#: stock/templates/stock/item_base.html:77 #: templates/js/translated/stock.js:1891 msgid "Add stock" msgstr "" -#: stock/templates/stock/item_base.html:82 +#: stock/templates/stock/item_base.html:78 #: templates/js/translated/stock.js:1900 msgid "Remove stock" msgstr "" -#: stock/templates/stock/item_base.html:85 +#: stock/templates/stock/item_base.html:81 msgid "Serialize stock" msgstr "" -#: stock/templates/stock/item_base.html:88 +#: stock/templates/stock/item_base.html:84 #: stock/templates/stock/location.html:93 templates/js/translated/stock.js:1918 msgid "Transfer stock" msgstr "" -#: stock/templates/stock/item_base.html:91 +#: stock/templates/stock/item_base.html:87 #: templates/js/translated/stock.js:1973 msgid "Assign to customer" msgstr "" -#: stock/templates/stock/item_base.html:94 +#: stock/templates/stock/item_base.html:90 msgid "Return to stock" msgstr "" -#: stock/templates/stock/item_base.html:97 +#: stock/templates/stock/item_base.html:93 msgid "Uninstall stock item" msgstr "" -#: stock/templates/stock/item_base.html:97 +#: stock/templates/stock/item_base.html:93 msgid "Uninstall" msgstr "" -#: stock/templates/stock/item_base.html:101 +#: stock/templates/stock/item_base.html:97 msgid "Install stock item" msgstr "" -#: stock/templates/stock/item_base.html:101 +#: stock/templates/stock/item_base.html:97 msgid "Install" msgstr "" -#: stock/templates/stock/item_base.html:115 +#: stock/templates/stock/item_base.html:111 msgid "Convert to variant" msgstr "" -#: stock/templates/stock/item_base.html:118 +#: stock/templates/stock/item_base.html:114 msgid "Duplicate stock item" msgstr "" -#: stock/templates/stock/item_base.html:120 +#: stock/templates/stock/item_base.html:116 msgid "Edit stock item" msgstr "" -#: stock/templates/stock/item_base.html:123 +#: stock/templates/stock/item_base.html:119 msgid "Delete stock item" msgstr "" -#: stock/templates/stock/item_base.html:169 templates/InvenTree/search.html:139 +#: stock/templates/stock/item_base.html:165 templates/InvenTree/search.html:139 #: templates/js/translated/build.js:2298 templates/navbar.html:38 msgid "Build" msgstr "" -#: stock/templates/stock/item_base.html:211 +#: stock/templates/stock/item_base.html:207 msgid "No manufacturer set" msgstr "" -#: stock/templates/stock/item_base.html:251 +#: stock/templates/stock/item_base.html:247 msgid "You are not in the list of owners of this item. This stock item cannot be edited." msgstr "" -#: stock/templates/stock/item_base.html:252 +#: stock/templates/stock/item_base.html:248 #: stock/templates/stock/location.html:146 msgid "Read only" msgstr "" -#: stock/templates/stock/item_base.html:265 +#: stock/templates/stock/item_base.html:261 msgid "This stock item is unavailable" msgstr "" -#: stock/templates/stock/item_base.html:271 +#: stock/templates/stock/item_base.html:267 msgid "This stock item is in production and cannot be edited." msgstr "" -#: stock/templates/stock/item_base.html:272 +#: stock/templates/stock/item_base.html:268 msgid "Edit the stock item from the build view." msgstr "" -#: stock/templates/stock/item_base.html:287 +#: stock/templates/stock/item_base.html:283 msgid "This stock item is allocated to Sales Order" msgstr "" -#: stock/templates/stock/item_base.html:295 +#: stock/templates/stock/item_base.html:291 msgid "This stock item is allocated to Build Order" msgstr "" -#: stock/templates/stock/item_base.html:311 +#: stock/templates/stock/item_base.html:307 msgid "This stock item is serialized. It has a unique serial number and the quantity cannot be adjusted" msgstr "" -#: stock/templates/stock/item_base.html:317 +#: stock/templates/stock/item_base.html:313 msgid "previous page" msgstr "" -#: stock/templates/stock/item_base.html:317 +#: stock/templates/stock/item_base.html:313 msgid "Navigate to previous serial number" msgstr "" -#: stock/templates/stock/item_base.html:326 +#: stock/templates/stock/item_base.html:322 msgid "next page" msgstr "" -#: stock/templates/stock/item_base.html:326 +#: stock/templates/stock/item_base.html:322 msgid "Navigate to next serial number" msgstr "" -#: stock/templates/stock/item_base.html:398 +#: stock/templates/stock/item_base.html:394 #: templates/js/translated/build.js:2555 msgid "No location set" msgstr "" -#: stock/templates/stock/item_base.html:413 +#: stock/templates/stock/item_base.html:409 msgid "Tests" msgstr "" -#: stock/templates/stock/item_base.html:419 +#: stock/templates/stock/item_base.html:415 msgid "This stock item has not passed all required tests" msgstr "" -#: stock/templates/stock/item_base.html:437 +#: stock/templates/stock/item_base.html:433 #, python-format msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:439 +#: stock/templates/stock/item_base.html:435 #, python-format msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:455 +#: stock/templates/stock/item_base.html:451 msgid "No stocktake performed" msgstr "" -#: stock/templates/stock/item_base.html:504 +#: stock/templates/stock/item_base.html:500 #: templates/js/translated/stock.js:2038 msgid "stock item" msgstr "" -#: stock/templates/stock/item_base.html:527 +#: stock/templates/stock/item_base.html:523 msgid "Edit Stock Status" msgstr "" -#: stock/templates/stock/item_base.html:536 +#: stock/templates/stock/item_base.html:532 msgid "Stock Item QR Code" msgstr "" -#: stock/templates/stock/item_base.html:547 +#: stock/templates/stock/item_base.html:543 msgid "Link Barcode to Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:611 +#: stock/templates/stock/item_base.html:607 msgid "Select one of the part variants listed below." msgstr "" -#: stock/templates/stock/item_base.html:614 +#: stock/templates/stock/item_base.html:610 msgid "Warning" msgstr "" -#: stock/templates/stock/item_base.html:615 +#: stock/templates/stock/item_base.html:611 msgid "This action cannot be easily undone" msgstr "" -#: stock/templates/stock/item_base.html:623 +#: stock/templates/stock/item_base.html:619 msgid "Convert Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:656 +#: stock/templates/stock/item_base.html:652 msgid "Return to Stock" msgstr "" @@ -11310,7 +11379,7 @@ msgid "Delete Location Type" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:503 -#: templates/InvenTree/settings/stock.html:38 +#: templates/InvenTree/settings/stock.html:39 msgid "New Location Type" msgstr "" @@ -11367,7 +11436,7 @@ msgstr "" msgid "Stock Settings" msgstr "" -#: templates/InvenTree/settings/stock.html:34 +#: templates/InvenTree/settings/stock.html:35 msgid "Stock Location Types" msgstr "" @@ -11852,23 +11921,23 @@ msgstr "" msgid "Barcode Identifier" msgstr "" -#: templates/base.html:103 +#: templates/base.html:102 msgid "Server Restart Required" msgstr "" -#: templates/base.html:106 +#: templates/base.html:105 msgid "A configuration option has been changed which requires a server restart" msgstr "" -#: templates/base.html:106 templates/base.html:116 +#: templates/base.html:105 templates/base.html:115 msgid "Contact your system administrator for further information" msgstr "" -#: templates/base.html:113 +#: templates/base.html:112 msgid "Pending Database Migrations" msgstr "" -#: templates/base.html:116 +#: templates/base.html:115 msgid "There are pending database migrations which require attention" msgstr "" @@ -13946,10 +14015,6 @@ msgstr "" msgid "Delete line item" msgstr "" -#: templates/js/translated/report.js:49 -msgid "Print Report" -msgstr "" - #: templates/js/translated/report.js:68 msgid "Report print successful" msgstr "" diff --git a/src/backend/InvenTree/locale/fa/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/fa/LC_MESSAGES/django.po index 1469ea30bc2e..ded2d793c482 100644 --- a/src/backend/InvenTree/locale/fa/LC_MESSAGES/django.po +++ b/src/backend/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: 2024-08-29 07:07+0000\n" -"PO-Revision-Date: 2024-08-29 07:10\n" +"POT-Creation-Date: 2024-09-16 00:37+0000\n" +"PO-Revision-Date: 2024-09-16 00:40\n" "Last-Translator: \n" "Language-Team: Persian\n" "Language: fa_IR\n" @@ -65,9 +65,9 @@ msgstr "تاریخ را وارد کنید" #: 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:59 -#: part/models.py:3309 part/templates/part/part_sidebar.html:65 +#: part/models.py:3296 part/templates/part/part_sidebar.html:65 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/admin.py:231 stock/models.py:2369 stock/models.py:2557 +#: stock/admin.py:231 stock/models.py:2367 stock/models.py:2552 #: stock/serializers.py:705 stock/serializers.py:863 stock/serializers.py:989 #: stock/serializers.py:1039 stock/serializers.py:1350 #: stock/serializers.py:1439 stock/serializers.py:1604 @@ -364,7 +364,7 @@ msgstr "" msgid "[{site_name}] Log in to the app" msgstr "" -#: InvenTree/magic_login.py:38 InvenTree/serializers.py:413 +#: InvenTree/magic_login.py:38 InvenTree/serializers.py:416 #: company/models.py:133 company/templates/company/company_base.html:138 #: templates/InvenTree/settings/user.html:49 #: templates/js/translated/company.js:677 @@ -419,9 +419,9 @@ msgstr "" msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:767 common/models.py:2704 common/models.py:3131 -#: common/models.py:3351 common/serializers.py:439 company/models.py:590 -#: machine/models.py:24 part/models.py:995 part/models.py:3776 +#: InvenTree/models.py:767 common/models.py:2705 common/models.py:3132 +#: common/models.py:3352 common/serializers.py:455 company/models.py:590 +#: machine/models.py:24 part/models.py:995 part/models.py:3763 #: plugin/models.py:51 report/models.py:149 stock/models.py:82 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -446,10 +446,10 @@ msgstr "" #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 order/models.py:289 #: order/models.py:1406 part/admin.py:305 part/admin.py:411 part/models.py:1018 -#: part/models.py:3791 part/templates/part/category.html:79 +#: part/models.py:3778 part/templates/part/category.html:79 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:155 -#: report/models.py:509 report/models.py:535 +#: report/models.py:517 report/models.py:543 #: report/templates/report/inventree_build_order_report.html:117 #: stock/admin.py:54 stock/models.py:88 stock/templates/stock/location.html:122 #: templates/InvenTree/settings/notifications.html:19 @@ -517,12 +517,12 @@ msgstr "" msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:63 part/models.py:4400 +#: InvenTree/serializers.py:63 part/models.py:4387 msgid "Must be a valid number" msgstr "" #: InvenTree/serializers.py:100 company/models.py:183 -#: company/templates/company/company_base.html:112 part/models.py:3127 +#: company/templates/company/company_base.html:112 part/models.py:3114 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -536,43 +536,43 @@ msgstr "" msgid "Username" msgstr "" -#: InvenTree/serializers.py:407 templates/InvenTree/settings/user.html:37 +#: InvenTree/serializers.py:408 templates/InvenTree/settings/user.html:37 msgid "First Name" msgstr "" -#: InvenTree/serializers.py:407 +#: InvenTree/serializers.py:408 msgid "First name of the user" msgstr "" -#: InvenTree/serializers.py:410 templates/InvenTree/settings/user.html:41 +#: InvenTree/serializers.py:412 templates/InvenTree/settings/user.html:41 msgid "Last Name" msgstr "" -#: InvenTree/serializers.py:410 +#: InvenTree/serializers.py:412 msgid "Last name of the user" msgstr "" -#: InvenTree/serializers.py:413 +#: InvenTree/serializers.py:416 msgid "Email address of the user" msgstr "" -#: InvenTree/serializers.py:438 +#: InvenTree/serializers.py:441 msgid "Staff" msgstr "" -#: InvenTree/serializers.py:438 +#: InvenTree/serializers.py:441 msgid "Does this user have staff permissions" msgstr "" -#: InvenTree/serializers.py:441 +#: InvenTree/serializers.py:445 msgid "Superuser" msgstr "" -#: InvenTree/serializers.py:441 +#: InvenTree/serializers.py:445 msgid "Is this user a superuser" msgstr "" -#: InvenTree/serializers.py:444 common/models.py:2709 company/models.py:160 +#: InvenTree/serializers.py:449 common/models.py:2710 company/models.py:160 #: company/models.py:798 machine/models.py:39 part/admin.py:88 #: part/models.py:1201 plugin/models.py:66 #: templates/js/translated/company.js:523 @@ -585,89 +585,89 @@ msgstr "" msgid "Active" msgstr "" -#: InvenTree/serializers.py:444 +#: InvenTree/serializers.py:449 msgid "Is this user account active" msgstr "" -#: InvenTree/serializers.py:462 +#: InvenTree/serializers.py:467 msgid "You do not have permission to change this user role." msgstr "" -#: InvenTree/serializers.py:474 +#: InvenTree/serializers.py:503 msgid "Only superusers can create new users" msgstr "" -#: InvenTree/serializers.py:493 +#: InvenTree/serializers.py:522 msgid "Your account has been created." msgstr "" -#: InvenTree/serializers.py:495 +#: InvenTree/serializers.py:524 msgid "Please use the password reset function to login" msgstr "" -#: InvenTree/serializers.py:502 +#: InvenTree/serializers.py:531 msgid "Welcome to InvenTree" msgstr "" -#: InvenTree/serializers.py:560 +#: InvenTree/serializers.py:589 msgid "Invalid value" msgstr "" -#: InvenTree/serializers.py:580 importer/models.py:64 +#: InvenTree/serializers.py:609 importer/models.py:64 msgid "Data File" msgstr "فایل‌های داده" -#: InvenTree/serializers.py:581 +#: InvenTree/serializers.py:610 msgid "Select data file for upload" msgstr "فایل را برای بارگذاری انتخاب کنید" -#: InvenTree/serializers.py:598 +#: InvenTree/serializers.py:627 msgid "Unsupported file type" msgstr "این نوع فایل پشتیبانی نمی‌شود" -#: InvenTree/serializers.py:604 +#: InvenTree/serializers.py:633 msgid "File is too large" msgstr "حجم فایل خیلی بزرگ است" -#: InvenTree/serializers.py:625 +#: InvenTree/serializers.py:654 msgid "No columns found in file" msgstr "هیچ ستونی در فایل یافت نشد" -#: InvenTree/serializers.py:628 +#: InvenTree/serializers.py:657 msgid "No data rows found in file" msgstr "هیچ ردیف داده ای در فایل یافت نشد" -#: InvenTree/serializers.py:740 +#: InvenTree/serializers.py:769 msgid "No data rows provided" msgstr "هیچ ردیف داده ای ارائه نشده است" -#: InvenTree/serializers.py:743 +#: InvenTree/serializers.py:772 msgid "No data columns supplied" msgstr "هیچ ستون داده ای ارائه نشده است" -#: InvenTree/serializers.py:809 +#: InvenTree/serializers.py:838 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "ستون مورد نیاز وجود ندارد: \"{name}\"" -#: InvenTree/serializers.py:818 +#: InvenTree/serializers.py:847 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "ستون تکراری: '{col}'" -#: InvenTree/serializers.py:857 +#: InvenTree/serializers.py:886 msgid "Remote Image" msgstr "" -#: InvenTree/serializers.py:858 +#: InvenTree/serializers.py:887 msgid "URL of remote image file" msgstr "آدرس فایل تصویری از راه دور" -#: InvenTree/serializers.py:876 +#: InvenTree/serializers.py:905 msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/status.py:65 part/serializers.py:1267 +#: InvenTree/status.py:65 part/serializers.py:1265 msgid "Background worker check failed" msgstr "" @@ -759,7 +759,7 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:319 build/serializers.py:1332 part/models.py:4278 +#: build/api.py:319 build/serializers.py:1332 part/models.py:4265 #: templates/js/translated/bom.js:997 templates/js/translated/bom.js:1037 #: templates/js/translated/build.js:2705 #: templates/js/translated/table_filters.js:197 @@ -767,7 +767,7 @@ msgstr "" msgid "Consumable" msgstr "" -#: build/api.py:320 build/serializers.py:1333 part/models.py:4272 +#: build/api.py:320 build/serializers.py:1333 part/models.py:4259 #: part/templates/part/upload_bom.html:58 templates/js/translated/bom.js:1001 #: templates/js/translated/bom.js:1028 templates/js/translated/build.js:2696 #: templates/js/translated/table_filters.js:193 @@ -777,7 +777,7 @@ msgid "Optional" msgstr "" #: build/api.py:321 common/models.py:1491 part/admin.py:91 part/admin.py:428 -#: part/models.py:1166 part/serializers.py:1596 +#: part/models.py:1166 part/serializers.py:1594 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:337 #: templates/js/translated/table_filters.js:729 @@ -816,7 +816,7 @@ msgstr "" msgid "Available" msgstr "" -#: build/models.py:87 build/templates/build/build_base.html:9 +#: build/models.py:88 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_report.html:105 #: stock/serializers.py:85 templates/email/build_order_completed.html:16 @@ -825,7 +825,7 @@ msgstr "" msgid "Build Order" msgstr "" -#: build/models.py:88 build/templates/build/build_base.html:13 +#: build/models.py:89 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:111 #: order/templates/order/so_sidebar.html:13 @@ -866,7 +866,7 @@ msgstr "" #: build/models.py:243 build/serializers.py:1331 order/models.py:468 #: order/models.py:979 order/models.py:1366 order/models.py:2128 -#: part/admin.py:414 part/models.py:4293 part/templates/part/upload_bom.html:54 +#: part/admin.py:414 part/models.py:4280 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 @@ -892,11 +892,11 @@ msgstr "" #: build/templates/build/build_base.html:105 #: build/templates/build/detail.html:29 company/models.py:1043 order/api.py:761 #: order/models.py:1496 order/models.py:1651 order/models.py:1652 -#: part/api.py:1506 part/api.py:1806 part/models.py:419 part/models.py:3138 -#: part/models.py:3282 part/models.py:3430 part/models.py:3451 -#: part/models.py:3473 part/models.py:3609 part/models.py:3951 -#: part/models.py:4114 part/models.py:4244 part/models.py:4602 -#: part/serializers.py:1213 part/serializers.py:1857 +#: part/api.py:1506 part/api.py:1806 part/models.py:419 part/models.py:3125 +#: part/models.py:3269 part/models.py:3417 part/models.py:3438 +#: part/models.py:3460 part/models.py:3596 part/models.py:3938 +#: part/models.py:4101 part/models.py:4231 part/models.py:4595 +#: part/serializers.py:1211 part/serializers.py:1855 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -1063,12 +1063,12 @@ msgstr "" #: order/templates/order/return_order_base.html:148 #: order/templates/order/sales_order_base.html:187 #: part/templates/part/part_base.html:399 stock/models.py:859 -#: stock/templates/stock/item_base.html:200 +#: stock/templates/stock/item_base.html:196 #: templates/js/translated/company.js:1019 msgid "External Link" msgstr "" -#: build/models.py:378 common/models.py:3272 part/models.py:1070 +#: build/models.py:378 common/models.py:3273 part/models.py:1070 #: stock/models.py:859 msgid "Link to external URL" msgstr "" @@ -1110,7 +1110,7 @@ msgstr "" msgid "A build order has been completed" msgstr "" -#: build/models.py:968 build/models.py:1056 +#: build/models.py:968 build/models.py:1057 msgid "No build output specified" msgstr "" @@ -1122,37 +1122,37 @@ msgstr "" msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:1060 build/serializers.py:279 build/serializers.py:328 +#: build/models.py:1061 build/serializers.py:279 build/serializers.py:328 #: build/serializers.py:959 order/models.py:565 order/serializers.py:500 -#: order/serializers.py:666 part/serializers.py:1590 part/serializers.py:2019 +#: order/serializers.py:666 part/serializers.py:1588 part/serializers.py:2017 #: stock/models.py:704 stock/models.py:1515 stock/serializers.py:676 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:1065 build/serializers.py:284 +#: build/models.py:1066 build/serializers.py:284 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1125 build/serializers.py:607 +#: build/models.py:1126 build/serializers.py:607 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "" -#: build/models.py:1466 +#: build/models.py:1477 msgid "Build Order Line Item" msgstr "" -#: build/models.py:1491 +#: build/models.py:1502 msgid "Build object" msgstr "" -#: build/models.py:1505 build/models.py:1761 build/serializers.py:266 +#: build/models.py:1516 build/models.py:1775 build/serializers.py:266 #: build/serializers.py:313 build/serializers.py:1339 #: build/templates/build/build_base.html:110 -#: build/templates/build/detail.html:34 common/models.py:2581 +#: build/templates/build/detail.html:34 common/models.py:2582 #: order/models.py:1349 order/models.py:2034 order/serializers.py:1464 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:413 -#: part/forms.py:48 part/models.py:3296 part/models.py:4266 +#: part/forms.py:48 part/models.py:3283 part/models.py:4253 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1163,9 +1163,9 @@ msgstr "" #: report/templates/report/inventree_test_report.html:90 #: report/templates/report/inventree_test_report.html:169 stock/admin.py:160 #: stock/serializers.py:128 stock/serializers.py:168 stock/serializers.py:667 -#: stock/templates/stock/item_base.html:287 -#: stock/templates/stock/item_base.html:295 -#: stock/templates/stock/item_base.html:342 +#: stock/templates/stock/item_base.html:283 +#: stock/templates/stock/item_base.html:291 +#: stock/templates/stock/item_base.html:338 #: templates/email/build_order_completed.html:18 #: templates/js/translated/barcode.js:579 templates/js/translated/bom.js:771 #: templates/js/translated/bom.js:981 templates/js/translated/build.js:525 @@ -1194,41 +1194,41 @@ msgstr "" msgid "Quantity" msgstr "" -#: build/models.py:1506 +#: build/models.py:1517 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1586 +#: build/models.py:1597 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1595 +#: build/models.py:1606 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1605 order/models.py:1985 +#: build/models.py:1616 order/models.py:1985 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1611 order/models.py:1988 +#: build/models.py:1622 order/models.py:1988 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1617 +#: build/models.py:1628 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1676 +#: build/models.py:1687 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1748 build/serializers.py:939 order/serializers.py:1301 +#: build/models.py:1762 build/serializers.py:939 order/serializers.py:1301 #: order/serializers.py:1322 stock/models.py:381 stock/serializers.py:94 #: stock/serializers.py:770 stock/serializers.py:1288 stock/serializers.py:1400 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 -#: stock/templates/stock/item_base.html:194 +#: stock/templates/stock/item_base.html:190 #: templates/js/translated/build.js:1921 #: templates/js/translated/sales_order.js:301 #: templates/js/translated/sales_order.js:1234 @@ -1241,19 +1241,19 @@ msgstr "" msgid "Stock Item" msgstr "" -#: build/models.py:1749 +#: build/models.py:1763 msgid "Source stock item" msgstr "" -#: build/models.py:1762 +#: build/models.py:1776 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1770 +#: build/models.py:1784 msgid "Install into" msgstr "" -#: build/models.py:1771 +#: build/models.py:1785 msgid "Destination stock item" msgstr "" @@ -1262,7 +1262,7 @@ msgid "Build Level" msgstr "" #: build/serializers.py:115 build/serializers.py:1234 build/serializers.py:1323 -#: part/admin.py:41 part/admin.py:408 part/models.py:4116 part/stocktake.py:219 +#: part/admin.py:41 part/admin.py:408 part/models.py:4103 part/stocktake.py:219 #: stock/admin.py:157 msgid "Part Name" msgstr "" @@ -1323,10 +1323,10 @@ msgid "Enter serial numbers for build outputs" msgstr "" #: build/serializers.py:359 build/serializers.py:500 build/serializers.py:572 -#: order/serializers.py:655 order/serializers.py:778 order/serializers.py:1789 -#: part/serializers.py:1233 stock/serializers.py:103 stock/serializers.py:698 +#: order/serializers.py:655 order/serializers.py:778 order/serializers.py:1797 +#: part/serializers.py:1231 stock/serializers.py:103 stock/serializers.py:698 #: stock/serializers.py:858 stock/serializers.py:984 stock/serializers.py:1432 -#: stock/serializers.py:1688 stock/templates/stock/item_base.html:394 +#: stock/serializers.py:1688 stock/templates/stock/item_base.html:390 #: templates/js/translated/barcode.js:578 #: templates/js/translated/barcode.js:826 templates/js/translated/build.js:1035 #: templates/js/translated/build.js:1177 templates/js/translated/build.js:2547 @@ -1390,7 +1390,7 @@ msgstr "" #: build/templates/build/detail.html:62 order/models.py:477 #: order/models.py:1003 order/models.py:2152 order/serializers.py:687 #: stock/admin.py:165 stock/serializers.py:1035 stock/serializers.py:1576 -#: stock/templates/stock/item_base.html:427 +#: stock/templates/stock/item_base.html:423 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2366 #: templates/js/translated/purchase_order.js:1371 #: templates/js/translated/purchase_order.js:1792 @@ -1522,7 +1522,7 @@ msgstr "" msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:1030 order/serializers.py:1614 +#: build/serializers.py:1030 order/serializers.py:1622 msgid "Allocation items must be provided" msgstr "" @@ -1590,7 +1590,7 @@ msgstr "" #: build/serializers.py:1230 company/models.py:849 #: company/templates/company/supplier_part.html:160 order/serializers.py:691 #: stock/admin.py:229 stock/models.py:822 stock/serializers.py:1586 -#: stock/templates/stock/item_base.html:240 +#: stock/templates/stock/item_base.html:236 #: templates/js/translated/company.js:1646 #: templates/js/translated/purchase_order.js:1169 #: templates/js/translated/purchase_order.js:1332 @@ -1600,12 +1600,12 @@ msgid "Packaging" msgstr "" #: build/serializers.py:1233 part/admin.py:39 part/admin.py:398 -#: part/models.py:4115 part/stocktake.py:218 stock/admin.py:153 +#: part/models.py:4102 part/stocktake.py:218 stock/admin.py:153 msgid "Part ID" msgstr "" #: build/serializers.py:1235 build/serializers.py:1324 part/admin.py:402 -#: part/models.py:4117 +#: part/models.py:4104 msgid "Part IPN" msgstr "" @@ -1625,7 +1625,7 @@ msgstr "" #: build/serializers.py:1243 #: report/templates/report/inventree_return_order_report.html:25 #: report/templates/report/inventree_test_report.html:88 stock/models.py:849 -#: stock/serializers.py:152 stock/templates/stock/item_base.html:311 +#: stock/serializers.py:152 stock/templates/stock/item_base.html:307 #: templates/js/translated/build.js:523 templates/js/translated/build.js:1543 #: templates/js/translated/build.js:2530 #: templates/js/translated/model_renderers.js:231 @@ -1644,7 +1644,7 @@ msgstr "" msgid "Allocated Quantity" msgstr "" -#: build/serializers.py:1257 stock/templates/stock/item_base.html:340 +#: build/serializers.py:1257 stock/templates/stock/item_base.html:336 msgid "Available Quantity" msgstr "" @@ -1667,13 +1667,13 @@ msgstr "" msgid "Inherited" msgstr "" -#: build/serializers.py:1337 part/models.py:4326 +#: build/serializers.py:1337 part/models.py:4313 #: part/templates/part/upload_bom.html:56 templates/js/translated/bom.js:1046 #: templates/js/translated/build.js:2714 msgid "Allow Variants" msgstr "" -#: build/serializers.py:1341 part/models.py:4124 part/models.py:4594 +#: build/serializers.py:1341 part/models.py:4111 part/models.py:4587 #: stock/api.py:793 msgid "BOM Item" msgstr "" @@ -1684,7 +1684,7 @@ msgid "Allocated Stock" msgstr "" #: build/serializers.py:1355 order/serializers.py:1179 part/admin.py:132 -#: part/bom.py:186 part/serializers.py:920 part/serializers.py:1623 +#: part/bom.py:186 part/serializers.py:918 part/serializers.py:1621 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 #: templates/js/translated/build.js:2807 templates/js/translated/part.js:712 #: templates/js/translated/part.js:2155 @@ -1692,13 +1692,13 @@ msgstr "" msgid "On Order" msgstr "" -#: build/serializers.py:1360 order/serializers.py:1180 part/serializers.py:1625 +#: build/serializers.py:1360 order/serializers.py:1180 part/serializers.py:1623 #: templates/js/translated/build.js:2811 #: templates/js/translated/table_filters.js:367 msgid "In Production" msgstr "" -#: build/serializers.py:1365 part/bom.py:185 part/serializers.py:1650 +#: build/serializers.py:1365 part/bom.py:185 part/serializers.py:1648 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" @@ -1716,7 +1716,7 @@ msgstr "" msgid "Total Available Stock" msgstr "" -#: build/serializers.py:1372 part/serializers.py:927 +#: build/serializers.py:1372 part/serializers.py:925 msgid "External Stock" msgstr "" @@ -1745,7 +1745,7 @@ msgstr "" #: importer/status_codes.py:27 order/status_codes.py:15 #: order/status_codes.py:50 order/status_codes.py:81 #: order/templates/order/order_base.html:163 -#: order/templates/order/sales_order_base.html:168 report/models.py:443 +#: order/templates/order/sales_order_base.html:168 report/models.py:451 msgid "Complete" msgstr "" @@ -1849,9 +1849,6 @@ msgid "Delete Build" msgstr "" #: build/templates/build/build_base.html:87 -msgid "Isueue Build" -msgstr "" - #: build/templates/build/build_base.html:88 msgid "Issue Build" msgstr "" @@ -1931,7 +1928,7 @@ msgstr "" #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_report.html:135 #: report/templates/report/inventree_sales_order_report.html:14 -#: stock/templates/stock/item_base.html:369 +#: stock/templates/stock/item_base.html:365 #: templates/email/overdue_sales_order.html:15 #: templates/js/translated/pricing.js:929 #: templates/js/translated/sales_order.js:805 @@ -1991,7 +1988,7 @@ msgid "Allocated Parts" msgstr "" #: build/templates/build/detail.html:80 stock/admin.py:163 -#: stock/templates/stock/item_base.html:162 +#: stock/templates/stock/item_base.html:158 #: templates/js/translated/build.js:1556 #: templates/js/translated/model_renderers.js:242 #: templates/js/translated/purchase_order.js:1326 @@ -2148,19 +2145,19 @@ msgstr "" msgid "Test Statistics" msgstr "" -#: common/api.py:692 +#: common/api.py:725 msgid "Is Link" msgstr "" -#: common/api.py:700 +#: common/api.py:733 msgid "Is File" msgstr "" -#: common/api.py:743 +#: common/api.py:776 msgid "User does not have permission to delete these attachments" msgstr "" -#: common/api.py:760 +#: common/api.py:793 msgid "User does not have permission to delete this attachment" msgstr "" @@ -2352,8 +2349,8 @@ msgstr "" #: common/models.py:1297 common/models.py:1353 common/models.py:1366 #: common/models.py:1374 common/models.py:1383 common/models.py:1392 -#: common/models.py:1629 common/models.py:1651 common/models.py:1766 -#: common/models.py:2148 +#: common/models.py:1629 common/models.py:1651 common/models.py:1752 +#: common/models.py:2141 msgid "days" msgstr "" @@ -2581,9 +2578,9 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1485 part/admin.py:108 part/models.py:3959 -#: report/models.py:293 report/models.py:360 report/serializers.py:90 -#: report/serializers.py:131 stock/serializers.py:233 +#: common/models.py:1485 part/admin.py:108 part/models.py:3946 +#: report/models.py:301 report/models.py:368 report/serializers.py:91 +#: report/serializers.py:132 stock/serializers.py:233 #: templates/js/translated/table_filters.js:138 #: templates/js/translated/table_filters.js:775 msgid "Template" @@ -2598,7 +2595,7 @@ msgid "Parts can be assembled from other components by default" msgstr "" #: common/models.py:1497 part/admin.py:95 part/models.py:1172 -#: part/serializers.py:1617 templates/js/translated/table_filters.js:737 +#: part/serializers.py:1615 templates/js/translated/table_filters.js:737 msgid "Component" msgstr "" @@ -2823,7 +2820,7 @@ msgid "Log errors which occur when generating reports" msgstr "" #: common/models.py:1702 plugin/builtin/labels/label_sheet.py:28 -#: report/models.py:301 +#: report/models.py:309 msgid "Page Size" msgstr "" @@ -2832,914 +2829,914 @@ msgid "Default page size for PDF reports" msgstr "" #: common/models.py:1708 -msgid "Enable Test Reports" -msgstr "" - -#: common/models.py:1709 -msgid "Enable generation of test reports" -msgstr "" - -#: common/models.py:1714 -msgid "Attach Test Reports" -msgstr "" - -#: common/models.py:1716 -msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" -msgstr "" - -#: common/models.py:1722 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1723 +#: common/models.py:1709 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1728 +#: common/models.py:1714 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1729 +#: common/models.py:1715 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1734 +#: common/models.py:1720 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1736 +#: common/models.py:1722 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/models.py:1742 +#: common/models.py:1728 msgid "Batch Code Template" msgstr "" -#: common/models.py:1744 +#: common/models.py:1730 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1749 +#: common/models.py:1735 msgid "Stock Expiry" msgstr "" -#: common/models.py:1750 +#: common/models.py:1736 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1755 +#: common/models.py:1741 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1756 +#: common/models.py:1742 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1761 +#: common/models.py:1747 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1763 +#: common/models.py:1749 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1770 +#: common/models.py:1756 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1771 +#: common/models.py:1757 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1776 +#: common/models.py:1762 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1777 +#: common/models.py:1763 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1782 +#: common/models.py:1768 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1783 +#: common/models.py:1769 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1788 +#: common/models.py:1774 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1789 +#: common/models.py:1775 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1794 +#: common/models.py:1780 msgid "Check BOM when installing items" msgstr "" -#: common/models.py:1796 +#: common/models.py:1782 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/models.py:1802 +#: common/models.py:1788 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/models.py:1804 +#: common/models.py:1790 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/models.py:1810 +#: common/models.py:1796 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1812 +#: common/models.py:1798 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1818 common/models.py:1874 common/models.py:1896 -#: common/models.py:1932 +#: common/models.py:1804 common/models.py:1860 common/models.py:1882 +#: common/models.py:1918 msgid "Require Responsible Owner" msgstr "" -#: common/models.py:1819 common/models.py:1875 common/models.py:1897 -#: common/models.py:1933 +#: common/models.py:1805 common/models.py:1861 common/models.py:1883 +#: common/models.py:1919 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/models.py:1824 +#: common/models.py:1810 msgid "Require Active Part" msgstr "" -#: common/models.py:1825 +#: common/models.py:1811 msgid "Prevent build order creation for inactive parts" msgstr "" -#: common/models.py:1830 +#: common/models.py:1816 msgid "Require Locked Part" msgstr "" -#: common/models.py:1831 +#: common/models.py:1817 msgid "Prevent build order creation for unlocked parts" msgstr "" -#: common/models.py:1836 +#: common/models.py:1822 msgid "Require Valid BOM" msgstr "" -#: common/models.py:1838 +#: common/models.py:1824 msgid "Prevent build order creation unless BOM has been validated" msgstr "" -#: common/models.py:1844 +#: common/models.py:1830 msgid "Require Closed Child Orders" msgstr "" -#: common/models.py:1846 +#: common/models.py:1832 msgid "Prevent build order completion until all child orders are closed" msgstr "" -#: common/models.py:1852 +#: common/models.py:1838 msgid "Block Until Tests Pass" msgstr "" -#: common/models.py:1854 +#: common/models.py:1840 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "" -#: common/models.py:1860 +#: common/models.py:1846 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1861 +#: common/models.py:1847 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1866 +#: common/models.py:1852 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1868 +#: common/models.py:1854 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1880 +#: common/models.py:1866 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1882 +#: common/models.py:1868 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1888 +#: common/models.py:1874 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1890 +#: common/models.py:1876 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1902 +#: common/models.py:1888 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1903 +#: common/models.py:1889 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1908 +#: common/models.py:1894 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1910 +#: common/models.py:1896 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1916 +#: common/models.py:1902 msgid "Mark Shipped Orders as Complete" msgstr "" -#: common/models.py:1918 +#: common/models.py:1904 msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status" msgstr "" -#: common/models.py:1924 +#: common/models.py:1910 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1926 +#: common/models.py:1912 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1938 +#: common/models.py:1924 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1940 +#: common/models.py:1926 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1946 +#: common/models.py:1932 msgid "Auto Complete Purchase Orders" msgstr "" -#: common/models.py:1948 +#: common/models.py:1934 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/models.py:1955 +#: common/models.py:1941 msgid "Enable password forgot" msgstr "" -#: common/models.py:1956 +#: common/models.py:1942 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1961 +#: common/models.py:1947 msgid "Enable registration" msgstr "" -#: common/models.py:1962 +#: common/models.py:1948 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1967 +#: common/models.py:1953 msgid "Enable SSO" msgstr "" -#: common/models.py:1968 +#: common/models.py:1954 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1973 +#: common/models.py:1959 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1975 +#: common/models.py:1961 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1981 +#: common/models.py:1967 msgid "Enable SSO group sync" msgstr "" -#: common/models.py:1983 +#: common/models.py:1969 msgid "Enable synchronizing InvenTree groups with groups provided by the IdP" msgstr "" -#: common/models.py:1989 +#: common/models.py:1975 msgid "SSO group key" msgstr "" -#: common/models.py:1991 +#: common/models.py:1977 msgid "The name of the groups claim attribute provided by the IdP" msgstr "" -#: common/models.py:1997 +#: common/models.py:1983 msgid "SSO group map" msgstr "" -#: common/models.py:1999 +#: common/models.py:1985 msgid "A mapping from SSO groups to local InvenTree groups. If the local group does not exist, it will be created." msgstr "" -#: common/models.py:2005 +#: common/models.py:1991 msgid "Remove groups outside of SSO" msgstr "" -#: common/models.py:2007 +#: common/models.py:1993 msgid "Whether groups assigned to the user should be removed if they are not backend by the IdP. Disabling this setting might cause security issues" msgstr "" -#: common/models.py:2013 +#: common/models.py:1999 msgid "Email required" msgstr "" -#: common/models.py:2014 +#: common/models.py:2000 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:2019 +#: common/models.py:2005 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:2021 +#: common/models.py:2007 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:2027 +#: common/models.py:2013 msgid "Mail twice" msgstr "" -#: common/models.py:2028 +#: common/models.py:2014 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:2033 +#: common/models.py:2019 msgid "Password twice" msgstr "" -#: common/models.py:2034 +#: common/models.py:2020 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:2039 +#: common/models.py:2025 msgid "Allowed domains" msgstr "" -#: common/models.py:2041 +#: common/models.py:2027 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:2047 +#: common/models.py:2033 msgid "Group on signup" msgstr "" -#: common/models.py:2049 +#: common/models.py:2035 msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP." msgstr "" -#: common/models.py:2055 +#: common/models.py:2041 msgid "Enforce MFA" msgstr "" -#: common/models.py:2056 +#: common/models.py:2042 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:2061 +#: common/models.py:2047 msgid "Check plugins on startup" msgstr "" -#: common/models.py:2063 +#: common/models.py:2049 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:2071 +#: common/models.py:2057 msgid "Check for plugin updates" msgstr "" -#: common/models.py:2072 +#: common/models.py:2058 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:2078 +#: common/models.py:2064 msgid "Enable URL integration" msgstr "" -#: common/models.py:2079 +#: common/models.py:2065 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:2085 +#: common/models.py:2071 msgid "Enable navigation integration" msgstr "" -#: common/models.py:2086 +#: common/models.py:2072 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:2092 +#: common/models.py:2078 msgid "Enable app integration" msgstr "" -#: common/models.py:2093 +#: common/models.py:2079 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:2099 +#: common/models.py:2085 msgid "Enable schedule integration" msgstr "" -#: common/models.py:2100 +#: common/models.py:2086 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:2106 +#: common/models.py:2092 msgid "Enable event integration" msgstr "" -#: common/models.py:2107 +#: common/models.py:2093 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:2113 +#: common/models.py:2099 +msgid "Enable interface integration" +msgstr "" + +#: common/models.py:2100 +msgid "Enable plugins to integrate into the user interface" +msgstr "" + +#: common/models.py:2106 msgid "Enable project codes" msgstr "" -#: common/models.py:2114 +#: common/models.py:2107 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:2119 +#: common/models.py:2112 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:2121 +#: common/models.py:2114 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:2127 +#: common/models.py:2120 msgid "Exclude External Locations" msgstr "" -#: common/models.py:2129 +#: common/models.py:2122 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/models.py:2135 +#: common/models.py:2128 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:2137 +#: common/models.py:2130 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:2143 +#: common/models.py:2136 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:2145 +#: common/models.py:2138 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:2152 +#: common/models.py:2145 msgid "Display Users full names" msgstr "" -#: common/models.py:2153 +#: common/models.py:2146 msgid "Display Users full names instead of usernames" msgstr "" -#: common/models.py:2158 +#: common/models.py:2151 msgid "Enable Test Station Data" msgstr "" -#: common/models.py:2159 +#: common/models.py:2152 msgid "Enable test station data collection for test results" msgstr "" -#: common/models.py:2171 common/models.py:2551 +#: common/models.py:2157 +msgid "Create Template on Upload" +msgstr "" + +#: common/models.py:2159 +msgid "Create a new test template when uploading test data which does not match an existing template" +msgstr "" + +#: common/models.py:2172 common/models.py:2552 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:2214 +#: common/models.py:2215 msgid "Hide inactive parts" msgstr "" -#: common/models.py:2216 +#: common/models.py:2217 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:2222 +#: common/models.py:2223 msgid "Show subscribed parts" msgstr "" -#: common/models.py:2223 +#: common/models.py:2224 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:2228 +#: common/models.py:2229 msgid "Show subscribed categories" msgstr "" -#: common/models.py:2229 +#: common/models.py:2230 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:2234 +#: common/models.py:2235 msgid "Show latest parts" msgstr "" -#: common/models.py:2235 +#: common/models.py:2236 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:2240 +#: common/models.py:2241 msgid "Show invalid BOMs" msgstr "" -#: common/models.py:2241 +#: common/models.py:2242 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:2246 +#: common/models.py:2247 msgid "Show recent stock changes" msgstr "" -#: common/models.py:2247 +#: common/models.py:2248 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:2252 +#: common/models.py:2253 msgid "Show low stock" msgstr "" -#: common/models.py:2253 +#: common/models.py:2254 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:2258 +#: common/models.py:2259 msgid "Show depleted stock" msgstr "" -#: common/models.py:2259 +#: common/models.py:2260 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:2264 +#: common/models.py:2265 msgid "Show needed stock" msgstr "" -#: common/models.py:2265 +#: common/models.py:2266 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:2270 +#: common/models.py:2271 msgid "Show expired stock" msgstr "" -#: common/models.py:2271 +#: common/models.py:2272 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:2276 +#: common/models.py:2277 msgid "Show stale stock" msgstr "" -#: common/models.py:2277 +#: common/models.py:2278 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:2282 +#: common/models.py:2283 msgid "Show pending builds" msgstr "" -#: common/models.py:2283 +#: common/models.py:2284 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:2288 +#: common/models.py:2289 msgid "Show overdue builds" msgstr "" -#: common/models.py:2289 +#: common/models.py:2290 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:2294 +#: common/models.py:2295 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2295 +#: common/models.py:2296 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2300 +#: common/models.py:2301 msgid "Show overdue POs" msgstr "" -#: common/models.py:2301 +#: common/models.py:2302 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2306 +#: common/models.py:2307 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2307 +#: common/models.py:2308 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2312 +#: common/models.py:2313 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2313 +#: common/models.py:2314 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2318 +#: common/models.py:2319 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2319 +#: common/models.py:2320 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2324 +#: common/models.py:2325 msgid "Show News" msgstr "" -#: common/models.py:2325 +#: common/models.py:2326 msgid "Show news on the homepage" msgstr "" -#: common/models.py:2330 +#: common/models.py:2331 msgid "Inline label display" msgstr "" -#: common/models.py:2332 +#: common/models.py:2333 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2338 +#: common/models.py:2339 msgid "Default label printer" msgstr "" -#: common/models.py:2340 +#: common/models.py:2341 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2346 +#: common/models.py:2347 msgid "Inline report display" msgstr "" -#: common/models.py:2348 +#: common/models.py:2349 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2354 +#: common/models.py:2355 msgid "Search Parts" msgstr "" -#: common/models.py:2355 +#: common/models.py:2356 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2360 +#: common/models.py:2361 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2361 +#: common/models.py:2362 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2366 +#: common/models.py:2367 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2367 +#: common/models.py:2368 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2372 +#: common/models.py:2373 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2373 +#: common/models.py:2374 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2378 +#: common/models.py:2379 msgid "Search Categories" msgstr "" -#: common/models.py:2379 +#: common/models.py:2380 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2384 +#: common/models.py:2385 msgid "Search Stock" msgstr "" -#: common/models.py:2385 +#: common/models.py:2386 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2390 +#: common/models.py:2391 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2392 +#: common/models.py:2393 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2398 +#: common/models.py:2399 msgid "Search Locations" msgstr "" -#: common/models.py:2399 +#: common/models.py:2400 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2404 +#: common/models.py:2405 msgid "Search Companies" msgstr "" -#: common/models.py:2405 +#: common/models.py:2406 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2410 +#: common/models.py:2411 msgid "Search Build Orders" msgstr "" -#: common/models.py:2411 +#: common/models.py:2412 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2416 +#: common/models.py:2417 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2417 +#: common/models.py:2418 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2422 +#: common/models.py:2423 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2424 +#: common/models.py:2425 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2430 +#: common/models.py:2431 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2431 +#: common/models.py:2432 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2436 +#: common/models.py:2437 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2438 +#: common/models.py:2439 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2444 +#: common/models.py:2445 msgid "Search Return Orders" msgstr "" -#: common/models.py:2445 +#: common/models.py:2446 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2450 +#: common/models.py:2451 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2452 +#: common/models.py:2453 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2458 +#: common/models.py:2459 msgid "Search Preview Results" msgstr "" -#: common/models.py:2460 +#: common/models.py:2461 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2466 +#: common/models.py:2467 msgid "Regex Search" msgstr "" -#: common/models.py:2467 +#: common/models.py:2468 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2472 +#: common/models.py:2473 msgid "Whole Word Search" msgstr "" -#: common/models.py:2473 +#: common/models.py:2474 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2478 +#: common/models.py:2479 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2479 +#: common/models.py:2480 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2484 +#: common/models.py:2485 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2485 +#: common/models.py:2486 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2490 +#: common/models.py:2491 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2491 +#: common/models.py:2492 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2496 +#: common/models.py:2497 msgid "Date Format" msgstr "" -#: common/models.py:2497 +#: common/models.py:2498 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2510 part/templates/part/detail.html:41 +#: common/models.py:2511 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2511 +#: common/models.py:2512 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2516 part/templates/part/detail.html:62 +#: common/models.py:2517 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2518 +#: common/models.py:2519 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2524 +#: common/models.py:2525 msgid "Table String Length" msgstr "" -#: common/models.py:2526 +#: common/models.py:2527 msgid "Maximum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2532 +#: common/models.py:2533 msgid "Receive error reports" msgstr "" -#: common/models.py:2533 +#: common/models.py:2534 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2538 +#: common/models.py:2539 msgid "Last used printing machines" msgstr "" -#: common/models.py:2539 +#: common/models.py:2540 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2559 common/models.py:2560 common/models.py:2717 -#: common/models.py:2718 common/models.py:2963 common/models.py:2964 -#: common/models.py:3287 common/models.py:3288 importer/models.py:89 -#: part/models.py:3319 part/models.py:3406 part/models.py:3480 -#: part/models.py:3508 plugin/models.py:274 plugin/models.py:275 +#: common/models.py:2560 common/models.py:2561 common/models.py:2718 +#: common/models.py:2719 common/models.py:2964 common/models.py:2965 +#: common/models.py:3288 common/models.py:3289 importer/models.py:89 +#: part/models.py:3306 part/models.py:3393 part/models.py:3467 +#: part/models.py:3495 plugin/models.py:274 plugin/models.py:275 #: report/templates/report/inventree_test_report.html:105 #: templates/js/translated/stock.js:3121 users/models.py:111 msgid "User" msgstr "" -#: common/models.py:2582 +#: common/models.py:2583 msgid "Price break quantity" msgstr "" -#: common/models.py:2589 company/serializers.py:517 order/admin.py:42 +#: common/models.py:2590 company/serializers.py:517 order/admin.py:42 #: order/models.py:1423 order/models.py:2410 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1892 #: templates/js/translated/pricing.js:621 @@ -3747,96 +3744,96 @@ msgstr "" msgid "Price" msgstr "" -#: common/models.py:2590 +#: common/models.py:2591 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2694 common/models.py:2879 +#: common/models.py:2695 common/models.py:2880 msgid "Endpoint" msgstr "" -#: common/models.py:2695 +#: common/models.py:2696 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2705 +#: common/models.py:2706 msgid "Name for this webhook" msgstr "" -#: common/models.py:2709 +#: common/models.py:2710 msgid "Is this webhook active" msgstr "" -#: common/models.py:2725 users/models.py:159 +#: common/models.py:2726 users/models.py:159 msgid "Token" msgstr "" -#: common/models.py:2726 +#: common/models.py:2727 msgid "Token for access" msgstr "" -#: common/models.py:2734 +#: common/models.py:2735 msgid "Secret" msgstr "" -#: common/models.py:2735 +#: common/models.py:2736 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2843 +#: common/models.py:2844 msgid "Message ID" msgstr "" -#: common/models.py:2844 +#: common/models.py:2845 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2852 +#: common/models.py:2853 msgid "Host" msgstr "" -#: common/models.py:2853 +#: common/models.py:2854 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2861 +#: common/models.py:2862 msgid "Header" msgstr "" -#: common/models.py:2862 +#: common/models.py:2863 msgid "Header of this message" msgstr "" -#: common/models.py:2869 +#: common/models.py:2870 msgid "Body" msgstr "" -#: common/models.py:2870 +#: common/models.py:2871 msgid "Body of this message" msgstr "" -#: common/models.py:2880 +#: common/models.py:2881 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2885 +#: common/models.py:2886 msgid "Worked on" msgstr "" -#: common/models.py:2886 +#: common/models.py:2887 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:3012 +#: common/models.py:3013 msgid "Id" msgstr "" -#: common/models.py:3014 templates/js/translated/company.js:965 +#: common/models.py:3015 templates/js/translated/company.js:965 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:3016 common/models.py:3271 company/models.py:146 +#: common/models.py:3017 common/models.py:3272 company/models.py:146 #: company/models.py:443 company/models.py:509 company/models.py:815 #: order/models.py:303 order/models.py:1378 order/models.py:1810 #: part/admin.py:55 part/models.py:1069 @@ -3853,217 +3850,217 @@ msgstr "" msgid "Link" msgstr "" -#: common/models.py:3018 templates/js/translated/news.js:60 +#: common/models.py:3019 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:3020 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:3021 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:103 msgid "Author" msgstr "" -#: common/models.py:3022 templates/js/translated/news.js:52 +#: common/models.py:3023 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:3025 +#: common/models.py:3026 msgid "Read" msgstr "" -#: common/models.py:3025 +#: common/models.py:3026 msgid "Was this news item read?" msgstr "" -#: common/models.py:3042 company/models.py:156 part/models.py:1079 +#: common/models.py:3043 company/models.py:156 part/models.py:1079 #: 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.html:35 -#: stock/templates/stock/item_base.html:133 templates/503.html:31 +#: stock/templates/stock/item_base.html:129 templates/503.html:31 #: templates/hover_image.html:7 templates/hover_image.html:9 #: templates/modals.html:6 msgid "Image" msgstr "" -#: common/models.py:3042 +#: common/models.py:3043 msgid "Image file" msgstr "" -#: common/models.py:3054 common/models.py:3255 +#: common/models.py:3055 common/models.py:3256 msgid "Target model type for this image" msgstr "" -#: common/models.py:3058 +#: common/models.py:3059 msgid "Target model ID for this image" msgstr "" -#: common/models.py:3080 +#: common/models.py:3081 msgid "Custom Unit" msgstr "" -#: common/models.py:3098 +#: common/models.py:3099 msgid "Unit symbol must be unique" msgstr "" -#: common/models.py:3113 +#: common/models.py:3114 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:3132 +#: common/models.py:3133 msgid "Unit name" msgstr "" -#: common/models.py:3139 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3140 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:3140 +#: common/models.py:3141 msgid "Optional unit symbol" msgstr "" -#: common/models.py:3146 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3147 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:3147 +#: common/models.py:3148 msgid "Unit definition" msgstr "" -#: common/models.py:3205 common/models.py:3262 stock/models.py:2552 +#: common/models.py:3206 common/models.py:3263 stock/models.py:2547 #: stock/serializers.py:244 templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:345 msgid "Attachment" msgstr "" -#: common/models.py:3217 +#: common/models.py:3218 msgid "Missing file" msgstr "" -#: common/models.py:3218 +#: common/models.py:3219 msgid "Missing external link" msgstr "" -#: common/models.py:3263 +#: common/models.py:3264 msgid "Select file to attach" msgstr "" -#: common/models.py:3278 templates/js/translated/attachment.js:120 +#: common/models.py:3279 templates/js/translated/attachment.js:120 #: templates/js/translated/attachment.js:360 msgid "Comment" msgstr "" -#: common/models.py:3279 +#: common/models.py:3280 msgid "Attachment comment" msgstr "" -#: common/models.py:3295 +#: common/models.py:3296 msgid "Upload date" msgstr "" -#: common/models.py:3296 +#: common/models.py:3297 msgid "Date the file was uploaded" msgstr "" -#: common/models.py:3300 +#: common/models.py:3301 msgid "File size" msgstr "" -#: common/models.py:3300 +#: common/models.py:3301 msgid "File size in bytes" msgstr "" -#: common/models.py:3338 common/serializers.py:588 +#: common/models.py:3339 common/serializers.py:604 msgid "Invalid model type specified for attachment" msgstr "" -#: common/models.py:3347 plugin/models.py:43 users/models.py:100 +#: common/models.py:3348 plugin/models.py:43 users/models.py:100 msgid "Key" msgstr "" -#: common/models.py:3348 +#: common/models.py:3349 msgid "Value that will be saved in the models database" msgstr "" -#: common/models.py:3351 +#: common/models.py:3352 msgid "Name of the state" msgstr "" -#: common/models.py:3355 +#: common/models.py:3356 msgid "Label" msgstr "" -#: common/models.py:3356 +#: common/models.py:3357 msgid "Label that will be displayed in the frontend" msgstr "" -#: common/models.py:3362 +#: common/models.py:3363 msgid "Color" msgstr "" -#: common/models.py:3363 +#: common/models.py:3364 msgid "Color that will be displayed in the frontend" msgstr "" -#: common/models.py:3366 +#: common/models.py:3367 msgid "Logical Key" msgstr "" -#: common/models.py:3368 +#: common/models.py:3369 msgid "State logical key that is equal to this custom state in business logic" msgstr "" -#: common/models.py:3376 +#: common/models.py:3377 msgid "Model" msgstr "" -#: common/models.py:3377 +#: common/models.py:3378 msgid "Model this state is associated with" msgstr "" -#: common/models.py:3381 +#: common/models.py:3382 msgid "Reference Status Set" msgstr "" -#: common/models.py:3382 +#: common/models.py:3383 msgid "Status set that is extended with this custom state" msgstr "" -#: common/models.py:3388 +#: common/models.py:3389 msgid "Custom State" msgstr "" -#: common/models.py:3389 +#: common/models.py:3390 msgid "Custom States" msgstr "" -#: common/models.py:3404 +#: common/models.py:3405 msgid "Model must be selected" msgstr "" -#: common/models.py:3407 +#: common/models.py:3408 msgid "Key must be selected" msgstr "" -#: common/models.py:3410 +#: common/models.py:3411 msgid "Logical key must be selected" msgstr "" -#: common/models.py:3414 +#: common/models.py:3415 msgid "Key must be different from logical key" msgstr "" -#: common/models.py:3418 +#: common/models.py:3419 msgid "Reference status must be selected" msgstr "" -#: common/models.py:3430 +#: common/models.py:3431 msgid "Reference status set not found" msgstr "" -#: common/models.py:3436 +#: common/models.py:3437 msgid "Key must be different from the logical keys of the reference status" msgstr "" -#: common/models.py:3442 +#: common/models.py:3443 msgid "Logical key must be in the logical keys of the reference status" msgstr "" @@ -4101,75 +4098,75 @@ msgstr "" msgid "Error raised by plugin" msgstr "" -#: common/serializers.py:402 +#: common/serializers.py:418 msgid "Is Running" msgstr "" -#: common/serializers.py:408 +#: common/serializers.py:424 msgid "Pending Tasks" msgstr "" -#: common/serializers.py:414 +#: common/serializers.py:430 msgid "Scheduled Tasks" msgstr "" -#: common/serializers.py:420 +#: common/serializers.py:436 msgid "Failed Tasks" msgstr "" -#: common/serializers.py:435 +#: common/serializers.py:451 msgid "Task ID" msgstr "" -#: common/serializers.py:435 +#: common/serializers.py:451 msgid "Unique task ID" msgstr "" -#: common/serializers.py:437 +#: common/serializers.py:453 msgid "Lock" msgstr "" -#: common/serializers.py:437 +#: common/serializers.py:453 msgid "Lock time" msgstr "" -#: common/serializers.py:439 +#: common/serializers.py:455 msgid "Task name" msgstr "" -#: common/serializers.py:441 +#: common/serializers.py:457 msgid "Function" msgstr "" -#: common/serializers.py:441 +#: common/serializers.py:457 msgid "Function name" msgstr "" -#: common/serializers.py:443 +#: common/serializers.py:459 msgid "Arguments" msgstr "" -#: common/serializers.py:443 +#: common/serializers.py:459 msgid "Task arguments" msgstr "" -#: common/serializers.py:446 +#: common/serializers.py:462 msgid "Keyword Arguments" msgstr "" -#: common/serializers.py:446 +#: common/serializers.py:462 msgid "Task keyword arguments" msgstr "" -#: common/serializers.py:556 +#: common/serializers.py:572 msgid "Filename" msgstr "" -#: common/serializers.py:563 report/api.py:100 report/serializers.py:53 +#: common/serializers.py:579 report/api.py:100 report/serializers.py:54 msgid "Model Type" msgstr "" -#: common/serializers.py:591 +#: common/serializers.py:607 msgid "User does not have permission to create or edit attachments for this model" msgstr "" @@ -4447,12 +4444,12 @@ msgstr "" #: company/models.py:467 company/models.py:584 company/models.py:808 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 -#: stock/templates/stock/item_base.html:217 +#: stock/templates/stock/item_base.html:213 msgid "Manufacturer Part" msgstr "" #: company/models.py:484 company/models.py:776 stock/models.py:791 -#: stock/serializers.py:452 stock/templates/stock/item_base.html:142 +#: stock/serializers.py:452 stock/templates/stock/item_base.html:138 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" @@ -4463,8 +4460,8 @@ msgstr "" #: company/models.py:495 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:567 -#: stock/templates/stock/item_base.html:207 +#: company/templates/company/supplier_part.html:145 part/serializers.py:565 +#: stock/templates/stock/item_base.html:203 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 #: templates/js/translated/company.js:1296 @@ -4479,7 +4476,7 @@ msgstr "" #: company/models.py:502 company/templates/company/manufacturer_part.html:101 #: company/templates/company/supplier_part.html:153 order/serializers.py:557 -#: part/serializers.py:577 templates/js/translated/company.js:351 +#: part/serializers.py:575 templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 #: templates/js/translated/company.js:1630 templates/js/translated/part.js:1807 @@ -4505,7 +4502,7 @@ msgid "Parameter name" msgstr "" #: company/models.py:597 report/templates/report/inventree_test_report.html:104 -#: stock/models.py:2544 templates/js/translated/company.js:1166 +#: stock/models.py:2539 templates/js/translated/company.js:1166 #: templates/js/translated/company.js:1419 templates/js/translated/part.js:1499 #: templates/js/translated/stock.js:1607 msgid "Value" @@ -4516,7 +4513,7 @@ msgid "Parameter value" msgstr "" #: company/models.py:605 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1159 part/models.py:3783 +#: part/admin.py:57 part/models.py:1159 part/models.py:3770 #: part/templates/part/part_base.html:300 #: templates/js/translated/company.js:1425 templates/js/translated/part.js:1518 #: templates/js/translated/part.js:1622 templates/js/translated/part.js:2376 @@ -4530,7 +4527,7 @@ msgstr "" #: company/models.py:659 company/templates/company/supplier_part.html:7 #: company/templates/company/supplier_part.html:24 order/api.py:440 #: order/serializers.py:492 stock/models.py:802 -#: stock/templates/stock/item_base.html:233 +#: stock/templates/stock/item_base.html:229 #: templates/js/translated/build.js:1055 #: templates/js/translated/company.js:1600 #: templates/js/translated/purchase_order.js:752 @@ -4553,9 +4550,9 @@ msgstr "" #: company/models.py:786 company/templates/company/company_base.html:87 #: company/templates/company/supplier_part.html:129 order/models.py:492 #: order/templates/order/order_base.html:141 part/bom.py:279 part/bom.py:314 -#: part/serializers.py:551 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:549 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 -#: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 +#: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:220 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:511 @@ -4570,7 +4567,7 @@ msgstr "" msgid "Select supplier" msgstr "" -#: company/models.py:793 part/serializers.py:562 +#: company/models.py:793 part/serializers.py:560 msgid "Supplier stock keeping unit" msgstr "" @@ -4591,7 +4588,7 @@ msgid "Supplier part description" msgstr "" #: company/models.py:832 company/templates/company/supplier_part.html:187 -#: order/serializers.py:699 part/admin.py:415 part/models.py:4301 +#: order/serializers.py:699 part/admin.py:415 part/models.py:4288 #: part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 @@ -4603,11 +4600,11 @@ msgstr "" msgid "Note" msgstr "" -#: company/models.py:841 part/models.py:2129 +#: company/models.py:841 part/models.py:2128 msgid "base cost" msgstr "" -#: company/models.py:842 part/models.py:2130 +#: company/models.py:842 part/models.py:2129 msgid "Minimum charge (e.g. stocking fee)" msgstr "" @@ -4629,7 +4626,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:876 part/models.py:2136 +#: company/models.py:876 part/models.py:2135 msgid "multiple" msgstr "" @@ -4661,7 +4658,7 @@ msgstr "" msgid "Company Name" msgstr "" -#: company/serializers.py:397 part/admin.py:126 part/serializers.py:919 +#: company/serializers.py:397 part/admin.py:126 part/serializers.py:917 #: part/templates/part/part_base.html:197 #: templates/js/translated/company.js:1689 #: templates/js/translated/table_filters.js:362 @@ -4735,7 +4732,7 @@ msgstr "" #: order/models.py:2140 order/templates/order/return_order_base.html:134 #: order/templates/order/sales_order_base.html:151 stock/models.py:844 #: stock/models.py:845 stock/serializers.py:1336 -#: stock/templates/stock/item_base.html:405 +#: stock/templates/stock/item_base.html:401 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 #: templates/js/translated/return_order.js:295 @@ -4939,7 +4936,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:925 +#: part/admin.py:122 part/serializers.py:923 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -5030,7 +5027,7 @@ msgid "No supplier information available" msgstr "" #: company/templates/company/supplier_part.html:139 order/serializers.py:554 -#: part/bom.py:286 part/bom.py:315 part/serializers.py:561 +#: part/bom.py:286 part/bom.py:315 part/serializers.py:559 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1793 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1920 @@ -5084,7 +5081,7 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:923 part/stocktake.py:223 +#: part/serializers.py:921 part/stocktake.py:223 #: part/templates/part/category.html:180 #: part/templates/part/category_sidebar.html:17 stock/admin.py:68 #: stock/serializers.py:1021 stock/serializers.py:1199 @@ -5215,7 +5212,7 @@ msgstr "" msgid "Original row data" msgstr "" -#: importer/models.py:504 part/models.py:3965 +#: importer/models.py:504 part/models.py:3952 msgid "Data" msgstr "" @@ -5473,7 +5470,7 @@ msgstr "" #: order/models.py:1592 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_purchase_order_report.html:14 -#: stock/serializers.py:121 stock/templates/stock/item_base.html:176 +#: stock/serializers.py:121 stock/templates/stock/item_base.html:172 #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/part.js:1752 templates/js/translated/pricing.js:804 #: templates/js/translated/purchase_order.js:168 @@ -5694,7 +5691,7 @@ msgid "Number of items received" msgstr "" #: order/models.py:1513 stock/models.py:963 stock/serializers.py:617 -#: stock/templates/stock/item_base.html:183 +#: stock/templates/stock/item_base.html:179 #: templates/js/translated/stock.js:2397 msgid "Purchase Price" msgstr "" @@ -5768,7 +5765,7 @@ msgid "User who checked this shipment" msgstr "" #: order/models.py:1788 order/models.py:2011 order/serializers.py:1479 -#: order/serializers.py:1589 templates/js/translated/model_renderers.js:455 +#: order/serializers.py:1597 templates/js/translated/model_renderers.js:455 msgid "Shipment" msgstr "" @@ -5982,7 +5979,7 @@ msgstr "" msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:656 order/serializers.py:779 order/serializers.py:1790 +#: order/serializers.py:656 order/serializers.py:779 order/serializers.py:1798 msgid "Select destination location for received items" msgstr "" @@ -6019,7 +6016,7 @@ msgstr "" msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:795 order/serializers.py:1806 +#: order/serializers.py:795 order/serializers.py:1814 msgid "Line items must be provided" msgstr "" @@ -6051,39 +6048,39 @@ msgstr "" msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1491 order/serializers.py:1597 +#: order/serializers.py:1491 order/serializers.py:1605 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1494 order/serializers.py:1600 +#: order/serializers.py:1494 order/serializers.py:1608 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1541 +#: order/serializers.py:1549 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1548 -msgid "The following serial numbers are already allocated" +#: order/serializers.py:1556 +msgid "The following serial numbers are unavailable" msgstr "" -#: order/serializers.py:1760 +#: order/serializers.py:1768 msgid "Return order line item" msgstr "" -#: order/serializers.py:1766 +#: order/serializers.py:1774 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1769 +#: order/serializers.py:1777 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1798 +#: order/serializers.py:1806 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1881 +#: order/serializers.py:1889 msgid "Line price currency" msgstr "" @@ -6510,7 +6507,7 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:48 part/models.py:1044 part/serializers.py:908 +#: part/admin.py:48 part/models.py:1044 part/serializers.py:906 #: part/templates/part/part_base.html:276 #: report/templates/report/inventree_stock_location_report.html:103 #: templates/js/translated/part.js:1233 templates/js/translated/part.js:2347 @@ -6537,7 +6534,7 @@ msgstr "" msgid "Category ID" msgstr "" -#: part/admin.py:67 part/admin.py:304 part/serializers.py:893 +#: part/admin.py:67 part/admin.py:304 part/serializers.py:891 #: part/stocktake.py:222 msgid "Category Name" msgstr "" @@ -6562,18 +6559,18 @@ msgstr "" msgid "Used In" msgstr "" -#: part/admin.py:150 part/serializers.py:918 +#: part/admin.py:150 part/serializers.py:916 #: part/templates/part/part_base.html:248 stock/admin.py:236 #: templates/js/translated/part.js:717 templates/js/translated/part.js:2159 msgid "Building" msgstr "" -#: part/admin.py:155 part/models.py:3214 part/models.py:3228 +#: part/admin.py:155 part/models.py:3201 part/models.py:3215 #: templates/js/translated/part.js:976 msgid "Minimum Cost" msgstr "" -#: part/admin.py:158 part/models.py:3221 part/models.py:3235 +#: part/admin.py:158 part/models.py:3208 part/models.py:3222 #: templates/js/translated/part.js:986 msgid "Maximum Cost" msgstr "" @@ -6592,7 +6589,7 @@ msgid "Category Path" msgstr "" #: part/admin.py:325 part/models.py:420 part/serializers.py:130 -#: part/serializers.py:290 part/serializers.py:428 +#: part/serializers.py:290 part/serializers.py:426 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:20 #: part/templates/part/category.html:138 part/templates/part/category.html:158 #: part/templates/part/category_sidebar.html:9 @@ -6619,13 +6616,13 @@ msgstr "" msgid "Part Revision" msgstr "" -#: part/admin.py:418 part/serializers.py:1367 +#: part/admin.py:418 part/serializers.py:1365 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:423 part/serializers.py:1382 +#: part/admin.py:423 part/serializers.py:1380 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -6719,8 +6716,8 @@ msgstr "" msgid "BOM Valid" msgstr "" -#: part/api.py:1520 part/models.py:1036 part/models.py:3501 part/models.py:4060 -#: part/serializers.py:443 part/serializers.py:1223 +#: part/api.py:1520 part/models.py:1036 part/models.py:3488 part/models.py:4047 +#: part/serializers.py:441 part/serializers.py:1221 #: part/templates/part/part_base.html:267 stock/api.py:780 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 @@ -6746,7 +6743,7 @@ msgstr "" msgid "Default Location" msgstr "" -#: part/bom.py:184 part/serializers.py:926 +#: part/bom.py:184 part/serializers.py:924 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -6755,7 +6752,7 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:89 part/models.py:4061 part/templates/part/category.html:16 +#: part/models.py:89 part/models.py:4048 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -6878,7 +6875,7 @@ msgstr "" msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:995 part/models.py:4116 +#: part/models.py:995 part/models.py:4103 msgid "Part name" msgstr "" @@ -6906,7 +6903,7 @@ msgstr "" msgid "Part category" msgstr "" -#: part/models.py:1052 part/serializers.py:360 +#: part/models.py:1052 msgid "Part revision or version number" msgstr "" @@ -7012,164 +7009,164 @@ msgid "Owner responsible for this part" msgstr "" #: part/models.py:1264 part/templates/part/part_base.html:355 -#: stock/templates/stock/item_base.html:451 +#: stock/templates/stock/item_base.html:447 #: templates/js/translated/part.js:2490 msgid "Last Stocktake" msgstr "" -#: part/models.py:2137 +#: part/models.py:2136 msgid "Sell multiple" msgstr "" -#: part/models.py:3128 +#: part/models.py:3115 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3144 +#: part/models.py:3131 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3145 +#: part/models.py:3132 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3151 +#: part/models.py:3138 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3152 +#: part/models.py:3139 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3158 +#: part/models.py:3145 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3159 +#: part/models.py:3146 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3165 +#: part/models.py:3152 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3166 +#: part/models.py:3153 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3172 +#: part/models.py:3159 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3173 +#: part/models.py:3160 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3179 +#: part/models.py:3166 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3180 +#: part/models.py:3167 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3186 +#: part/models.py:3173 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3187 +#: part/models.py:3174 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3193 +#: part/models.py:3180 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3194 +#: part/models.py:3181 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3200 +#: part/models.py:3187 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3201 +#: part/models.py:3188 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3207 +#: part/models.py:3194 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3208 +#: part/models.py:3195 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3215 +#: part/models.py:3202 msgid "Override minimum cost" msgstr "" -#: part/models.py:3222 +#: part/models.py:3209 msgid "Override maximum cost" msgstr "" -#: part/models.py:3229 +#: part/models.py:3216 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3236 +#: part/models.py:3223 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3242 +#: part/models.py:3229 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3243 +#: part/models.py:3230 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3249 +#: part/models.py:3236 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3250 +#: part/models.py:3237 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3256 +#: part/models.py:3243 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3257 +#: part/models.py:3244 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3263 +#: part/models.py:3250 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3264 +#: part/models.py:3251 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3283 +#: part/models.py:3270 msgid "Part for stocktake" msgstr "" -#: part/models.py:3288 +#: part/models.py:3275 msgid "Item Count" msgstr "" -#: part/models.py:3289 +#: part/models.py:3276 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3297 +#: part/models.py:3284 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3301 part/models.py:3384 +#: part/models.py:3288 part/models.py:3371 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -7181,363 +7178,363 @@ msgstr "" msgid "Date" msgstr "" -#: part/models.py:3302 +#: part/models.py:3289 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3310 +#: part/models.py:3297 msgid "Additional notes" msgstr "" -#: part/models.py:3320 +#: part/models.py:3307 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3326 +#: part/models.py:3313 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3327 +#: part/models.py:3314 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3333 +#: part/models.py:3320 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3334 +#: part/models.py:3321 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3390 templates/InvenTree/settings/settings_staff_js.html:532 +#: part/models.py:3377 templates/InvenTree/settings/settings_staff_js.html:532 msgid "Report" msgstr "" -#: part/models.py:3391 +#: part/models.py:3378 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3396 templates/InvenTree/settings/settings_staff_js.html:539 +#: part/models.py:3383 templates/InvenTree/settings/settings_staff_js.html:539 msgid "Part Count" msgstr "" -#: part/models.py:3397 +#: part/models.py:3384 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3407 +#: part/models.py:3394 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3417 +#: part/models.py:3404 msgid "Part Sale Price Break" msgstr "" -#: part/models.py:3529 +#: part/models.py:3516 msgid "Part Test Template" msgstr "" -#: part/models.py:3555 +#: part/models.py:3542 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3576 part/models.py:3745 +#: part/models.py:3563 part/models.py:3732 msgid "Choices must be unique" msgstr "" -#: part/models.py:3587 +#: part/models.py:3574 msgid "Test templates can only be created for testable parts" msgstr "" -#: part/models.py:3598 +#: part/models.py:3585 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3615 templates/js/translated/part.js:2898 +#: part/models.py:3602 templates/js/translated/part.js:2898 msgid "Test Name" msgstr "" -#: part/models.py:3616 +#: part/models.py:3603 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3622 +#: part/models.py:3609 msgid "Test Key" msgstr "" -#: part/models.py:3623 +#: part/models.py:3610 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3630 +#: part/models.py:3617 msgid "Test Description" msgstr "" -#: part/models.py:3631 +#: part/models.py:3618 msgid "Enter description for this test" msgstr "" -#: part/models.py:3635 report/models.py:208 +#: part/models.py:3622 report/models.py:216 #: templates/js/translated/part.js:2919 #: templates/js/translated/table_filters.js:502 msgid "Enabled" msgstr "" -#: part/models.py:3635 +#: part/models.py:3622 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3640 templates/js/translated/part.js:2927 +#: part/models.py:3627 templates/js/translated/part.js:2927 #: templates/js/translated/table_filters.js:498 msgid "Required" msgstr "" -#: part/models.py:3641 +#: part/models.py:3628 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3646 templates/js/translated/part.js:2935 +#: part/models.py:3633 templates/js/translated/part.js:2935 msgid "Requires Value" msgstr "" -#: part/models.py:3647 +#: part/models.py:3634 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3652 templates/js/translated/part.js:2942 +#: part/models.py:3639 templates/js/translated/part.js:2942 msgid "Requires Attachment" msgstr "" -#: part/models.py:3654 +#: part/models.py:3641 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3660 part/models.py:3804 templates/js/translated/part.js:1643 +#: part/models.py:3647 part/models.py:3791 templates/js/translated/part.js:1643 msgid "Choices" msgstr "" -#: part/models.py:3661 +#: part/models.py:3648 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3693 +#: part/models.py:3680 msgid "Part Parameter Template" msgstr "" -#: part/models.py:3720 +#: part/models.py:3707 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3725 +#: part/models.py:3712 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3762 +#: part/models.py:3749 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3777 +#: part/models.py:3764 msgid "Parameter Name" msgstr "" -#: part/models.py:3784 +#: part/models.py:3771 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3792 +#: part/models.py:3779 msgid "Parameter description" msgstr "" -#: part/models.py:3798 templates/js/translated/part.js:1634 +#: part/models.py:3785 templates/js/translated/part.js:1634 #: templates/js/translated/table_filters.js:837 msgid "Checkbox" msgstr "" -#: part/models.py:3799 +#: part/models.py:3786 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3805 +#: part/models.py:3792 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3839 +#: part/models.py:3826 msgid "Part Parameter" msgstr "" -#: part/models.py:3865 +#: part/models.py:3852 msgid "Parameter cannot be modified - part is locked" msgstr "" -#: part/models.py:3903 +#: part/models.py:3890 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3952 +#: part/models.py:3939 msgid "Parent Part" msgstr "" -#: part/models.py:3960 part/models.py:4068 part/models.py:4069 +#: part/models.py:3947 part/models.py:4055 part/models.py:4056 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3966 +#: part/models.py:3953 msgid "Parameter Value" msgstr "" -#: part/models.py:4016 +#: part/models.py:4003 msgid "Part Category Parameter Template" msgstr "" -#: part/models.py:4075 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:4062 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:4076 +#: part/models.py:4063 msgid "Default Parameter Value" msgstr "" -#: part/models.py:4114 +#: part/models.py:4101 msgid "Part ID or part name" msgstr "" -#: part/models.py:4115 +#: part/models.py:4102 msgid "Unique part ID value" msgstr "" -#: part/models.py:4117 +#: part/models.py:4104 msgid "Part IPN value" msgstr "" -#: part/models.py:4118 +#: part/models.py:4105 msgid "Level" msgstr "" -#: part/models.py:4118 +#: part/models.py:4105 msgid "BOM level" msgstr "" -#: part/models.py:4228 +#: part/models.py:4215 msgid "BOM item cannot be modified - assembly is locked" msgstr "" -#: part/models.py:4235 +#: part/models.py:4222 msgid "BOM item cannot be modified - variant assembly is locked" msgstr "" -#: part/models.py:4245 +#: part/models.py:4232 msgid "Select parent part" msgstr "" -#: part/models.py:4255 +#: part/models.py:4242 msgid "Sub part" msgstr "" -#: part/models.py:4256 +#: part/models.py:4243 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4267 +#: part/models.py:4254 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4273 +#: part/models.py:4260 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4279 +#: part/models.py:4266 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4286 part/templates/part/upload_bom.html:55 +#: part/models.py:4273 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4287 +#: part/models.py:4274 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4294 +#: part/models.py:4281 msgid "BOM item reference" msgstr "" -#: part/models.py:4302 +#: part/models.py:4289 msgid "BOM item notes" msgstr "" -#: part/models.py:4308 +#: part/models.py:4295 msgid "Checksum" msgstr "" -#: part/models.py:4309 +#: part/models.py:4296 msgid "BOM line checksum" msgstr "" -#: part/models.py:4314 templates/js/translated/table_filters.js:181 +#: part/models.py:4301 templates/js/translated/table_filters.js:181 msgid "Validated" msgstr "" -#: part/models.py:4315 +#: part/models.py:4302 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4320 part/templates/part/upload_bom.html:57 +#: part/models.py:4307 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:185 #: templates/js/translated/table_filters.js:218 msgid "Gets inherited" msgstr "" -#: part/models.py:4321 +#: part/models.py:4308 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4327 +#: part/models.py:4314 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4412 stock/models.py:689 +#: part/models.py:4399 stock/models.py:689 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4422 part/models.py:4424 +#: part/models.py:4409 part/models.py:4411 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4561 +#: part/models.py:4554 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4582 +#: part/models.py:4575 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4595 +#: part/models.py:4588 msgid "Parent BOM item" msgstr "" -#: part/models.py:4603 +#: part/models.py:4596 msgid "Substitute part" msgstr "" -#: part/models.py:4619 +#: part/models.py:4612 msgid "Part 1" msgstr "" -#: part/models.py:4627 +#: part/models.py:4620 msgid "Part 2" msgstr "" -#: part/models.py:4628 +#: part/models.py:4621 msgid "Select Related Part" msgstr "" -#: part/models.py:4647 +#: part/models.py:4640 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4652 +#: part/models.py:4645 msgid "Duplicate relationship already exists" msgstr "" @@ -7571,326 +7568,326 @@ msgstr "" msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:434 +#: part/serializers.py:432 msgid "No parts selected" msgstr "" -#: part/serializers.py:444 +#: part/serializers.py:442 msgid "Select category" msgstr "" -#: part/serializers.py:479 +#: part/serializers.py:477 msgid "Original Part" msgstr "" -#: part/serializers.py:480 +#: part/serializers.py:478 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:485 +#: part/serializers.py:483 msgid "Copy Image" msgstr "" -#: part/serializers.py:486 +#: part/serializers.py:484 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:492 part/templates/part/detail.html:293 +#: part/serializers.py:490 part/templates/part/detail.html:293 msgid "Copy BOM" msgstr "" -#: part/serializers.py:493 +#: part/serializers.py:491 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:499 +#: part/serializers.py:497 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:500 +#: part/serializers.py:498 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:506 +#: part/serializers.py:504 msgid "Copy Notes" msgstr "" -#: part/serializers.py:507 +#: part/serializers.py:505 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:525 +#: part/serializers.py:523 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:527 +#: part/serializers.py:525 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:534 +#: part/serializers.py:532 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:535 +#: part/serializers.py:533 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:552 +#: part/serializers.py:550 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:568 +#: part/serializers.py:566 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:578 +#: part/serializers.py:576 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:585 +#: part/serializers.py:583 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:594 +#: part/serializers.py:592 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:605 +#: part/serializers.py:603 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:612 +#: part/serializers.py:610 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:924 +#: part/serializers.py:922 msgid "Revisions" msgstr "" -#: part/serializers.py:929 +#: part/serializers.py:927 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:932 +#: part/serializers.py:930 msgid "Variant Stock" msgstr "" -#: part/serializers.py:962 part/templates/part/copy_part.html:9 +#: part/serializers.py:960 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:474 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:963 +#: part/serializers.py:961 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:969 templates/js/translated/part.js:103 +#: part/serializers.py:967 templates/js/translated/part.js:103 msgid "Initial Stock" msgstr "" -#: part/serializers.py:970 +#: part/serializers.py:968 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:976 +#: part/serializers.py:974 msgid "Supplier Information" msgstr "" -#: part/serializers.py:977 +#: part/serializers.py:975 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:985 +#: part/serializers.py:983 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:986 +#: part/serializers.py:984 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:991 +#: part/serializers.py:989 msgid "Existing Image" msgstr "" -#: part/serializers.py:992 +#: part/serializers.py:990 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:1009 +#: part/serializers.py:1007 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1215 +#: part/serializers.py:1213 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1225 +#: part/serializers.py:1223 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1235 +#: part/serializers.py:1233 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1241 +#: part/serializers.py:1239 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1242 +#: part/serializers.py:1240 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1247 +#: part/serializers.py:1245 msgid "Generate Report" msgstr "" -#: part/serializers.py:1248 +#: part/serializers.py:1246 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1253 +#: part/serializers.py:1251 msgid "Update Parts" msgstr "" -#: part/serializers.py:1254 +#: part/serializers.py:1252 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1262 +#: part/serializers.py:1260 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1368 +#: part/serializers.py:1366 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1375 +#: part/serializers.py:1373 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1383 +#: part/serializers.py:1381 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1390 +#: part/serializers.py:1388 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1419 +#: part/serializers.py:1417 msgid "Update" msgstr "" -#: part/serializers.py:1420 +#: part/serializers.py:1418 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1443 +#: part/serializers.py:1441 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1450 +#: part/serializers.py:1448 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1453 +#: part/serializers.py:1451 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1597 +#: part/serializers.py:1595 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1606 +#: part/serializers.py:1604 msgid "Component Name" msgstr "" -#: part/serializers.py:1609 +#: part/serializers.py:1607 msgid "Component IPN" msgstr "" -#: part/serializers.py:1612 +#: part/serializers.py:1610 msgid "Component Description" msgstr "" -#: part/serializers.py:1618 +#: part/serializers.py:1616 msgid "Select the component part" msgstr "" -#: part/serializers.py:1627 part/templates/part/part_base.html:242 +#: part/serializers.py:1625 part/templates/part/part_base.html:242 #: templates/js/translated/bom.js:1219 msgid "Can Build" msgstr "" -#: part/serializers.py:1858 +#: part/serializers.py:1856 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1866 +#: part/serializers.py:1864 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1867 +#: part/serializers.py:1865 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1872 +#: part/serializers.py:1870 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1873 +#: part/serializers.py:1871 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1878 +#: part/serializers.py:1876 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1879 +#: part/serializers.py:1877 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1884 +#: part/serializers.py:1882 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1885 +#: part/serializers.py:1883 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1922 +#: part/serializers.py:1920 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1923 +#: part/serializers.py:1921 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1955 +#: part/serializers.py:1953 msgid "No part column specified" msgstr "" -#: part/serializers.py:1999 +#: part/serializers.py:1997 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:2002 +#: part/serializers.py:2000 msgid "No matching part found" msgstr "" -#: part/serializers.py:2004 +#: part/serializers.py:2002 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:2013 +#: part/serializers.py:2011 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:2021 +#: part/serializers.py:2019 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:2044 +#: part/serializers.py:2042 msgid "At least one BOM item is required" msgstr "" @@ -8216,7 +8213,7 @@ msgid "Subscribe to notifications for this part" msgstr "" #: part/templates/part/part_base.html:52 -#: stock/templates/stock/item_base.html:62 +#: stock/templates/stock/item_base.html:61 #: stock/templates/stock/location.html:71 templates/js/translated/label.js:136 msgid "Print Label" msgstr "" @@ -8226,7 +8223,7 @@ msgid "Show pricing information" msgstr "" #: part/templates/part/part_base.html:63 -#: stock/templates/stock/item_base.html:110 +#: stock/templates/stock/item_base.html:106 #: stock/templates/stock/location.html:80 msgid "Stock actions" msgstr "" @@ -8297,12 +8294,12 @@ msgid "Required for Orders" msgstr "" #: part/templates/part/part_base.html:225 -#: stock/templates/stock/item_base.html:388 +#: stock/templates/stock/item_base.html:384 msgid "Allocated to Build Orders" msgstr "" #: part/templates/part/part_base.html:234 -#: stock/templates/stock/item_base.html:381 +#: stock/templates/stock/item_base.html:377 msgid "Allocated to Sales Orders" msgstr "" @@ -8322,7 +8319,7 @@ msgid "Latest Serial Number" msgstr "" #: part/templates/part/part_base.html:372 -#: stock/templates/stock/item_base.html:322 +#: stock/templates/stock/item_base.html:318 msgid "Search for serial number" msgstr "" @@ -8449,7 +8446,7 @@ msgid "Edit" msgstr "" #: part/templates/part/prices.html:28 stock/admin.py:252 -#: stock/templates/stock/item_base.html:446 +#: stock/templates/stock/item_base.html:442 #: templates/js/translated/company.js:1703 #: templates/js/translated/company.js:1713 #: templates/js/translated/stock.js:2332 @@ -8604,7 +8601,7 @@ msgstr "" msgid "Part Pricing" msgstr "" -#: plugin/api.py:172 +#: plugin/api.py:174 msgid "Plugin cannot be deleted as it is currently active" msgstr "" @@ -8940,7 +8937,7 @@ msgstr "" msgid "Print a border around each label" msgstr "" -#: plugin/builtin/labels/label_sheet.py:47 report/models.py:307 +#: plugin/builtin/labels/label_sheet.py:47 report/models.py:315 msgid "Landscape" msgstr "" @@ -9012,44 +9009,44 @@ msgstr "" msgid "The Supplier which acts as 'TME'" msgstr "" -#: plugin/installer.py:194 plugin/installer.py:274 +#: plugin/installer.py:199 plugin/installer.py:282 msgid "Only staff users can administer plugins" msgstr "" -#: plugin/installer.py:197 +#: plugin/installer.py:202 msgid "Plugin installation is disabled" msgstr "" -#: plugin/installer.py:241 +#: plugin/installer.py:246 msgid "Installed plugin successfully" msgstr "" -#: plugin/installer.py:246 +#: plugin/installer.py:251 #, python-brace-format msgid "Installed plugin into {path}" msgstr "" -#: plugin/installer.py:265 +#: plugin/installer.py:273 msgid "Plugin was not found in registry" msgstr "" -#: plugin/installer.py:268 +#: plugin/installer.py:276 msgid "Plugin is not a packaged plugin" msgstr "" -#: plugin/installer.py:271 +#: plugin/installer.py:279 msgid "Plugin package name not found" msgstr "" -#: plugin/installer.py:291 +#: plugin/installer.py:299 msgid "Plugin uninstalling is disabled" msgstr "" -#: plugin/installer.py:295 +#: plugin/installer.py:303 msgid "Plugin cannot be uninstalled as it is currently active" msgstr "" -#: plugin/installer.py:308 +#: plugin/installer.py:316 msgid "Uninstalled plugin successfully" msgstr "" @@ -9098,7 +9095,7 @@ msgstr "" msgid "Package Plugin" msgstr "" -#: plugin/models.py:220 report/models.py:474 +#: plugin/models.py:220 report/models.py:482 #: templates/InvenTree/settings/plugin_settings.html:9 #: templates/js/translated/plugin.js:51 msgid "Plugin" @@ -9167,6 +9164,38 @@ msgstr "" msgid "InvenTree Contributors" msgstr "" +#: plugin/samples/integration/user_interface_sample.py:22 +msgid "Enable Part Panels" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:23 +msgid "Enable custom panels for Part views" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:28 +msgid "Enable Purchase Order Panels" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:29 +msgid "Enable custom panels for Purchase Order views" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:34 +msgid "Enable Broken Panels" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:35 +msgid "Enable broken panels for testing" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:40 +msgid "Enable Dynamic Panel" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:41 +msgid "Enable dynamic panels for testing" +msgstr "" + #: plugin/serializers.py:81 msgid "Source URL" msgstr "" @@ -9245,12 +9274,36 @@ msgstr "" msgid "Delete the plugin configuration from the database" msgstr "" +#: plugin/serializers.py:324 +msgid "Plugin Key" +msgstr "" + +#: plugin/serializers.py:328 +msgid "Panel Name" +msgstr "" + +#: plugin/serializers.py:332 +msgid "Panel Title" +msgstr "" + +#: plugin/serializers.py:337 +msgid "Panel Icon" +msgstr "" + +#: plugin/serializers.py:341 +msgid "Panel Content (HTML)" +msgstr "" + +#: plugin/serializers.py:345 +msgid "Panel Source (javascript)" +msgstr "" + #: report/api.py:88 msgid "No valid objects provided to template" msgstr "" -#: report/api.py:103 report/models.py:438 report/serializers.py:98 -#: report/serializers.py:148 templates/js/translated/purchase_order.js:1817 +#: report/api.py:103 report/models.py:446 report/serializers.py:99 +#: report/serializers.py:149 templates/js/translated/purchase_order.js:1817 #: templates/js/translated/return_order.js:353 #: templates/js/translated/sales_order.js:887 #: templates/js/translated/sales_order.js:1047 @@ -9281,7 +9334,11 @@ msgstr "" msgid "Error printing label" msgstr "" -#: report/api.py:375 report/api.py:411 +#: report/api.py:358 +msgid "Report saved at time of printing" +msgstr "" + +#: report/api.py:384 report/api.py:420 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" @@ -9318,135 +9375,143 @@ msgstr "" msgid "Revision number (auto-increments)" msgstr "" -#: report/models.py:202 +#: report/models.py:168 +msgid "Attach to Model on Print" +msgstr "" + +#: report/models.py:170 +msgid "Save report output as an attachment against linked model instance when printing" +msgstr "" + +#: report/models.py:210 msgid "Filename Pattern" msgstr "" -#: report/models.py:203 +#: report/models.py:211 msgid "Pattern for generating filenames" msgstr "" -#: report/models.py:208 +#: report/models.py:216 msgid "Template is enabled" msgstr "" -#: report/models.py:214 +#: report/models.py:222 msgid "Target model type for template" msgstr "" -#: report/models.py:234 +#: report/models.py:242 msgid "Filters" msgstr "" -#: report/models.py:235 +#: report/models.py:243 msgid "Template query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:294 report/models.py:361 +#: report/models.py:302 report/models.py:369 msgid "Template file" msgstr "" -#: report/models.py:302 +#: report/models.py:310 msgid "Page size for PDF reports" msgstr "" -#: report/models.py:308 +#: report/models.py:316 msgid "Render report in landscape orientation" msgstr "" -#: report/models.py:367 +#: report/models.py:375 msgid "Width [mm]" msgstr "" -#: report/models.py:368 +#: report/models.py:376 msgid "Label width, specified in mm" msgstr "" -#: report/models.py:374 +#: report/models.py:382 msgid "Height [mm]" msgstr "" -#: report/models.py:375 +#: report/models.py:383 msgid "Label height, specified in mm" msgstr "" -#: report/models.py:438 +#: report/models.py:446 msgid "Number of items to process" msgstr "" -#: report/models.py:444 +#: report/models.py:452 msgid "Report generation is complete" msgstr "" -#: report/models.py:448 templates/js/translated/build.js:2352 +#: report/models.py:456 templates/js/translated/build.js:2352 msgid "Progress" msgstr "" -#: report/models.py:448 +#: report/models.py:456 msgid "Report generation progress" msgstr "" -#: report/models.py:456 +#: report/models.py:464 msgid "Report Template" msgstr "" -#: report/models.py:463 report/models.py:486 +#: report/models.py:471 report/models.py:494 msgid "Output File" msgstr "" -#: report/models.py:464 report/models.py:487 +#: report/models.py:472 report/models.py:495 msgid "Generated output file" msgstr "" -#: report/models.py:475 +#: report/models.py:483 msgid "Label output plugin" msgstr "" -#: report/models.py:479 +#: report/models.py:487 msgid "Label Template" msgstr "" -#: report/models.py:502 +#: report/models.py:510 msgid "Snippet" msgstr "" -#: report/models.py:503 +#: report/models.py:511 msgid "Report snippet file" msgstr "" -#: report/models.py:510 +#: report/models.py:518 msgid "Snippet file description" msgstr "" -#: report/models.py:528 +#: report/models.py:536 msgid "Asset" msgstr "" -#: report/models.py:529 +#: report/models.py:537 msgid "Report asset file" msgstr "" -#: report/models.py:536 +#: report/models.py:544 msgid "Asset file description" msgstr "" -#: report/serializers.py:91 +#: report/serializers.py:92 msgid "Select report template" msgstr "" -#: report/serializers.py:99 report/serializers.py:149 +#: report/serializers.py:100 report/serializers.py:150 msgid "List of item primary keys to include in the report" msgstr "" -#: report/serializers.py:132 +#: report/serializers.py:133 msgid "Select label template" msgstr "" -#: report/serializers.py:140 +#: report/serializers.py:141 msgid "Printing Plugin" msgstr "" -#: report/serializers.py:141 +#: report/serializers.py:142 msgid "Select plugin to use for label printing" msgstr "" @@ -9517,7 +9582,7 @@ msgstr "" msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report.html:103 stock/models.py:2538 +#: report/templates/report/inventree_test_report.html:103 stock/models.py:2533 msgid "Result" msgstr "" @@ -9598,7 +9663,7 @@ msgid "Customer ID" msgstr "" #: stock/admin.py:206 stock/models.py:829 -#: stock/templates/stock/item_base.html:354 +#: stock/templates/stock/item_base.html:350 msgid "Installed In" msgstr "" @@ -9623,7 +9688,7 @@ msgid "Delete on Deplete" msgstr "" #: stock/admin.py:261 stock/models.py:923 -#: stock/templates/stock/item_base.html:433 +#: stock/templates/stock/item_base.html:429 #: templates/js/translated/stock.js:2316 users/models.py:124 msgid "Expiry Date" msgstr "" @@ -9665,7 +9730,7 @@ msgid "Expiry date after" msgstr "" #: stock/api.py:839 stock/serializers.py:611 -#: stock/templates/stock/item_base.html:439 +#: stock/templates/stock/item_base.html:435 #: templates/js/translated/table_filters.js:448 msgid "Stale" msgstr "" @@ -9715,7 +9780,7 @@ msgid "Stock Locations" msgstr "" #: stock/models.py:185 stock/models.py:972 -#: stock/templates/stock/item_base.html:247 +#: stock/templates/stock/item_base.html:243 msgid "Owner" msgstr "" @@ -9826,7 +9891,7 @@ msgstr "" msgid "Build for this stock item" msgstr "" -#: stock/models.py:892 stock/templates/stock/item_base.html:363 +#: stock/models.py:892 stock/templates/stock/item_base.html:359 msgid "Consumed By" msgstr "" @@ -9891,7 +9956,7 @@ msgstr "" msgid "Serial numbers already exist" msgstr "" -#: stock/models.py:1636 +#: stock/models.py:1636 stock/models.py:2436 msgid "Test template does not exist" msgstr "" @@ -9939,67 +10004,67 @@ msgstr "" msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2337 +#: stock/models.py:2335 msgid "Stock Item Tracking" msgstr "" -#: stock/models.py:2370 +#: stock/models.py:2368 msgid "Entry notes" msgstr "" -#: stock/models.py:2410 +#: stock/models.py:2408 msgid "Stock Item Test Result" msgstr "" -#: stock/models.py:2443 +#: stock/models.py:2439 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2448 +#: stock/models.py:2443 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2453 +#: stock/models.py:2448 msgid "Invalid value for this test" msgstr "" -#: stock/models.py:2538 +#: stock/models.py:2533 msgid "Test result" msgstr "" -#: stock/models.py:2545 +#: stock/models.py:2540 msgid "Test output value" msgstr "" -#: stock/models.py:2553 stock/serializers.py:245 +#: stock/models.py:2548 stock/serializers.py:245 msgid "Test result attachment" msgstr "" -#: stock/models.py:2557 +#: stock/models.py:2552 msgid "Test notes" msgstr "" -#: stock/models.py:2565 templates/js/translated/stock.js:1633 +#: stock/models.py:2560 templates/js/translated/stock.js:1633 msgid "Test station" msgstr "" -#: stock/models.py:2566 +#: stock/models.py:2561 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2572 +#: stock/models.py:2567 msgid "Started" msgstr "" -#: stock/models.py:2573 +#: stock/models.py:2568 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2579 +#: stock/models.py:2574 msgid "Finished" msgstr "" -#: stock/models.py:2580 +#: stock/models.py:2575 msgid "The timestamp of the test finish" msgstr "" @@ -10059,7 +10124,7 @@ msgstr "" msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:459 stock/templates/stock/item_base.html:193 +#: stock/serializers.py:459 stock/templates/stock/item_base.html:189 msgid "Parent Item" msgstr "" @@ -10071,7 +10136,7 @@ msgstr "" msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:603 stock/templates/stock/item_base.html:437 +#: stock/serializers.py:603 stock/templates/stock/item_base.html:433 #: templates/js/translated/table_filters.js:442 users/models.py:174 msgid "Expired" msgstr "" @@ -10410,7 +10475,7 @@ msgstr "" msgid "Test Data" msgstr "" -#: stock/templates/stock/item.html:85 stock/templates/stock/item_base.html:65 +#: stock/templates/stock/item.html:85 msgid "Test Report" msgstr "" @@ -10450,200 +10515,204 @@ msgstr "" msgid "Scan to Location" msgstr "" -#: stock/templates/stock/item_base.html:59 +#: stock/templates/stock/item_base.html:58 #: stock/templates/stock/location.html:67 #: templates/js/translated/filters.js:434 msgid "Printing actions" msgstr "" -#: stock/templates/stock/item_base.html:75 +#: stock/templates/stock/item_base.html:63 templates/js/translated/report.js:49 +msgid "Print Report" +msgstr "" + +#: stock/templates/stock/item_base.html:71 msgid "Stock adjustment actions" msgstr "" -#: stock/templates/stock/item_base.html:79 +#: stock/templates/stock/item_base.html:75 #: stock/templates/stock/location.html:87 templates/js/translated/stock.js:1909 msgid "Count stock" msgstr "" -#: stock/templates/stock/item_base.html:81 +#: stock/templates/stock/item_base.html:77 #: templates/js/translated/stock.js:1891 msgid "Add stock" msgstr "" -#: stock/templates/stock/item_base.html:82 +#: stock/templates/stock/item_base.html:78 #: templates/js/translated/stock.js:1900 msgid "Remove stock" msgstr "" -#: stock/templates/stock/item_base.html:85 +#: stock/templates/stock/item_base.html:81 msgid "Serialize stock" msgstr "" -#: stock/templates/stock/item_base.html:88 +#: stock/templates/stock/item_base.html:84 #: stock/templates/stock/location.html:93 templates/js/translated/stock.js:1918 msgid "Transfer stock" msgstr "" -#: stock/templates/stock/item_base.html:91 +#: stock/templates/stock/item_base.html:87 #: templates/js/translated/stock.js:1973 msgid "Assign to customer" msgstr "" -#: stock/templates/stock/item_base.html:94 +#: stock/templates/stock/item_base.html:90 msgid "Return to stock" msgstr "" -#: stock/templates/stock/item_base.html:97 +#: stock/templates/stock/item_base.html:93 msgid "Uninstall stock item" msgstr "" -#: stock/templates/stock/item_base.html:97 +#: stock/templates/stock/item_base.html:93 msgid "Uninstall" msgstr "" -#: stock/templates/stock/item_base.html:101 +#: stock/templates/stock/item_base.html:97 msgid "Install stock item" msgstr "" -#: stock/templates/stock/item_base.html:101 +#: stock/templates/stock/item_base.html:97 msgid "Install" msgstr "" -#: stock/templates/stock/item_base.html:115 +#: stock/templates/stock/item_base.html:111 msgid "Convert to variant" msgstr "" -#: stock/templates/stock/item_base.html:118 +#: stock/templates/stock/item_base.html:114 msgid "Duplicate stock item" msgstr "" -#: stock/templates/stock/item_base.html:120 +#: stock/templates/stock/item_base.html:116 msgid "Edit stock item" msgstr "" -#: stock/templates/stock/item_base.html:123 +#: stock/templates/stock/item_base.html:119 msgid "Delete stock item" msgstr "" -#: stock/templates/stock/item_base.html:169 templates/InvenTree/search.html:139 +#: stock/templates/stock/item_base.html:165 templates/InvenTree/search.html:139 #: templates/js/translated/build.js:2298 templates/navbar.html:38 msgid "Build" msgstr "" -#: stock/templates/stock/item_base.html:211 +#: stock/templates/stock/item_base.html:207 msgid "No manufacturer set" msgstr "" -#: stock/templates/stock/item_base.html:251 +#: stock/templates/stock/item_base.html:247 msgid "You are not in the list of owners of this item. This stock item cannot be edited." msgstr "" -#: stock/templates/stock/item_base.html:252 +#: stock/templates/stock/item_base.html:248 #: stock/templates/stock/location.html:146 msgid "Read only" msgstr "" -#: stock/templates/stock/item_base.html:265 +#: stock/templates/stock/item_base.html:261 msgid "This stock item is unavailable" msgstr "" -#: stock/templates/stock/item_base.html:271 +#: stock/templates/stock/item_base.html:267 msgid "This stock item is in production and cannot be edited." msgstr "" -#: stock/templates/stock/item_base.html:272 +#: stock/templates/stock/item_base.html:268 msgid "Edit the stock item from the build view." msgstr "" -#: stock/templates/stock/item_base.html:287 +#: stock/templates/stock/item_base.html:283 msgid "This stock item is allocated to Sales Order" msgstr "" -#: stock/templates/stock/item_base.html:295 +#: stock/templates/stock/item_base.html:291 msgid "This stock item is allocated to Build Order" msgstr "" -#: stock/templates/stock/item_base.html:311 +#: stock/templates/stock/item_base.html:307 msgid "This stock item is serialized. It has a unique serial number and the quantity cannot be adjusted" msgstr "" -#: stock/templates/stock/item_base.html:317 +#: stock/templates/stock/item_base.html:313 msgid "previous page" msgstr "" -#: stock/templates/stock/item_base.html:317 +#: stock/templates/stock/item_base.html:313 msgid "Navigate to previous serial number" msgstr "" -#: stock/templates/stock/item_base.html:326 +#: stock/templates/stock/item_base.html:322 msgid "next page" msgstr "" -#: stock/templates/stock/item_base.html:326 +#: stock/templates/stock/item_base.html:322 msgid "Navigate to next serial number" msgstr "" -#: stock/templates/stock/item_base.html:398 +#: stock/templates/stock/item_base.html:394 #: templates/js/translated/build.js:2555 msgid "No location set" msgstr "" -#: stock/templates/stock/item_base.html:413 +#: stock/templates/stock/item_base.html:409 msgid "Tests" msgstr "" -#: stock/templates/stock/item_base.html:419 +#: stock/templates/stock/item_base.html:415 msgid "This stock item has not passed all required tests" msgstr "" -#: stock/templates/stock/item_base.html:437 +#: stock/templates/stock/item_base.html:433 #, python-format msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:439 +#: stock/templates/stock/item_base.html:435 #, python-format msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:455 +#: stock/templates/stock/item_base.html:451 msgid "No stocktake performed" msgstr "" -#: stock/templates/stock/item_base.html:504 +#: stock/templates/stock/item_base.html:500 #: templates/js/translated/stock.js:2038 msgid "stock item" msgstr "" -#: stock/templates/stock/item_base.html:527 +#: stock/templates/stock/item_base.html:523 msgid "Edit Stock Status" msgstr "" -#: stock/templates/stock/item_base.html:536 +#: stock/templates/stock/item_base.html:532 msgid "Stock Item QR Code" msgstr "" -#: stock/templates/stock/item_base.html:547 +#: stock/templates/stock/item_base.html:543 msgid "Link Barcode to Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:611 +#: stock/templates/stock/item_base.html:607 msgid "Select one of the part variants listed below." msgstr "" -#: stock/templates/stock/item_base.html:614 +#: stock/templates/stock/item_base.html:610 msgid "Warning" msgstr "" -#: stock/templates/stock/item_base.html:615 +#: stock/templates/stock/item_base.html:611 msgid "This action cannot be easily undone" msgstr "" -#: stock/templates/stock/item_base.html:623 +#: stock/templates/stock/item_base.html:619 msgid "Convert Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:656 +#: stock/templates/stock/item_base.html:652 msgid "Return to Stock" msgstr "" @@ -11310,7 +11379,7 @@ msgid "Delete Location Type" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:503 -#: templates/InvenTree/settings/stock.html:38 +#: templates/InvenTree/settings/stock.html:39 msgid "New Location Type" msgstr "" @@ -11367,7 +11436,7 @@ msgstr "" msgid "Stock Settings" msgstr "" -#: templates/InvenTree/settings/stock.html:34 +#: templates/InvenTree/settings/stock.html:35 msgid "Stock Location Types" msgstr "" @@ -11852,23 +11921,23 @@ msgstr "" msgid "Barcode Identifier" msgstr "" -#: templates/base.html:103 +#: templates/base.html:102 msgid "Server Restart Required" msgstr "" -#: templates/base.html:106 +#: templates/base.html:105 msgid "A configuration option has been changed which requires a server restart" msgstr "" -#: templates/base.html:106 templates/base.html:116 +#: templates/base.html:105 templates/base.html:115 msgid "Contact your system administrator for further information" msgstr "" -#: templates/base.html:113 +#: templates/base.html:112 msgid "Pending Database Migrations" msgstr "" -#: templates/base.html:116 +#: templates/base.html:115 msgid "There are pending database migrations which require attention" msgstr "" @@ -13946,10 +14015,6 @@ msgstr "" msgid "Delete line item" msgstr "" -#: templates/js/translated/report.js:49 -msgid "Print Report" -msgstr "" - #: templates/js/translated/report.js:68 msgid "Report print successful" msgstr "" diff --git a/src/backend/InvenTree/locale/fi/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/fi/LC_MESSAGES/django.po index 24742b725a78..88530909f7a0 100644 --- a/src/backend/InvenTree/locale/fi/LC_MESSAGES/django.po +++ b/src/backend/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: 2024-08-29 07:07+0000\n" -"PO-Revision-Date: 2024-08-29 07:10\n" +"POT-Creation-Date: 2024-09-16 00:37+0000\n" +"PO-Revision-Date: 2024-09-16 00:40\n" "Last-Translator: \n" "Language-Team: Finnish\n" "Language: fi_FI\n" @@ -65,9 +65,9 @@ msgstr "Anna päivämäärä" #: 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:59 -#: part/models.py:3309 part/templates/part/part_sidebar.html:65 +#: part/models.py:3296 part/templates/part/part_sidebar.html:65 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/admin.py:231 stock/models.py:2369 stock/models.py:2557 +#: stock/admin.py:231 stock/models.py:2367 stock/models.py:2552 #: stock/serializers.py:705 stock/serializers.py:863 stock/serializers.py:989 #: stock/serializers.py:1039 stock/serializers.py:1350 #: stock/serializers.py:1439 stock/serializers.py:1604 @@ -364,7 +364,7 @@ msgstr "" msgid "[{site_name}] Log in to the app" msgstr "" -#: InvenTree/magic_login.py:38 InvenTree/serializers.py:413 +#: InvenTree/magic_login.py:38 InvenTree/serializers.py:416 #: company/models.py:133 company/templates/company/company_base.html:138 #: templates/InvenTree/settings/user.html:49 #: templates/js/translated/company.js:677 @@ -419,9 +419,9 @@ msgstr "" msgid "Invalid choice" msgstr "Virheellinen valinta" -#: InvenTree/models.py:767 common/models.py:2704 common/models.py:3131 -#: common/models.py:3351 common/serializers.py:439 company/models.py:590 -#: machine/models.py:24 part/models.py:995 part/models.py:3776 +#: InvenTree/models.py:767 common/models.py:2705 common/models.py:3132 +#: common/models.py:3352 common/serializers.py:455 company/models.py:590 +#: machine/models.py:24 part/models.py:995 part/models.py:3763 #: plugin/models.py:51 report/models.py:149 stock/models.py:82 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -446,10 +446,10 @@ msgstr "Nimi" #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 order/models.py:289 #: order/models.py:1406 part/admin.py:305 part/admin.py:411 part/models.py:1018 -#: part/models.py:3791 part/templates/part/category.html:79 +#: part/models.py:3778 part/templates/part/category.html:79 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:155 -#: report/models.py:509 report/models.py:535 +#: report/models.py:517 report/models.py:543 #: report/templates/report/inventree_build_order_report.html:117 #: stock/admin.py:54 stock/models.py:88 stock/templates/stock/location.html:122 #: templates/InvenTree/settings/notifications.html:19 @@ -517,12 +517,12 @@ msgstr "Palvelinvirhe" msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:63 part/models.py:4400 +#: InvenTree/serializers.py:63 part/models.py:4387 msgid "Must be a valid number" msgstr "Täytyy olla kelvollinen luku" #: InvenTree/serializers.py:100 company/models.py:183 -#: company/templates/company/company_base.html:112 part/models.py:3127 +#: company/templates/company/company_base.html:112 part/models.py:3114 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -536,43 +536,43 @@ msgstr "Valitse valuutta käytettävissä olevista vaihtoehdoista" msgid "Username" msgstr "Käyttäjätunnus" -#: InvenTree/serializers.py:407 templates/InvenTree/settings/user.html:37 +#: InvenTree/serializers.py:408 templates/InvenTree/settings/user.html:37 msgid "First Name" msgstr "Etunimi" -#: InvenTree/serializers.py:407 +#: InvenTree/serializers.py:408 msgid "First name of the user" msgstr "" -#: InvenTree/serializers.py:410 templates/InvenTree/settings/user.html:41 +#: InvenTree/serializers.py:412 templates/InvenTree/settings/user.html:41 msgid "Last Name" msgstr "Sukunimi" -#: InvenTree/serializers.py:410 +#: InvenTree/serializers.py:412 msgid "Last name of the user" msgstr "" -#: InvenTree/serializers.py:413 +#: InvenTree/serializers.py:416 msgid "Email address of the user" msgstr "" -#: InvenTree/serializers.py:438 +#: InvenTree/serializers.py:441 msgid "Staff" msgstr "" -#: InvenTree/serializers.py:438 +#: InvenTree/serializers.py:441 msgid "Does this user have staff permissions" msgstr "" -#: InvenTree/serializers.py:441 +#: InvenTree/serializers.py:445 msgid "Superuser" msgstr "" -#: InvenTree/serializers.py:441 +#: InvenTree/serializers.py:445 msgid "Is this user a superuser" msgstr "" -#: InvenTree/serializers.py:444 common/models.py:2709 company/models.py:160 +#: InvenTree/serializers.py:449 common/models.py:2710 company/models.py:160 #: company/models.py:798 machine/models.py:39 part/admin.py:88 #: part/models.py:1201 plugin/models.py:66 #: templates/js/translated/company.js:523 @@ -585,89 +585,89 @@ msgstr "" msgid "Active" msgstr "Aktiivinen" -#: InvenTree/serializers.py:444 +#: InvenTree/serializers.py:449 msgid "Is this user account active" msgstr "" -#: InvenTree/serializers.py:462 +#: InvenTree/serializers.py:467 msgid "You do not have permission to change this user role." msgstr "" -#: InvenTree/serializers.py:474 +#: InvenTree/serializers.py:503 msgid "Only superusers can create new users" msgstr "" -#: InvenTree/serializers.py:493 +#: InvenTree/serializers.py:522 msgid "Your account has been created." msgstr "" -#: InvenTree/serializers.py:495 +#: InvenTree/serializers.py:524 msgid "Please use the password reset function to login" msgstr "" -#: InvenTree/serializers.py:502 +#: InvenTree/serializers.py:531 msgid "Welcome to InvenTree" msgstr "" -#: InvenTree/serializers.py:560 +#: InvenTree/serializers.py:589 msgid "Invalid value" msgstr "Virheellinen arvo" -#: InvenTree/serializers.py:580 importer/models.py:64 +#: InvenTree/serializers.py:609 importer/models.py:64 msgid "Data File" msgstr "Datatiedosto" -#: InvenTree/serializers.py:581 +#: InvenTree/serializers.py:610 msgid "Select data file for upload" msgstr "Valitse lähetettävä datatiedosto" -#: InvenTree/serializers.py:598 +#: InvenTree/serializers.py:627 msgid "Unsupported file type" msgstr "Tiedostotyyppiä ei tueta" -#: InvenTree/serializers.py:604 +#: InvenTree/serializers.py:633 msgid "File is too large" msgstr "Tiedosto on liian suuri" -#: InvenTree/serializers.py:625 +#: InvenTree/serializers.py:654 msgid "No columns found in file" msgstr "" -#: InvenTree/serializers.py:628 +#: InvenTree/serializers.py:657 msgid "No data rows found in file" msgstr "" -#: InvenTree/serializers.py:740 +#: InvenTree/serializers.py:769 msgid "No data rows provided" msgstr "Datarivejä ei annettu" -#: InvenTree/serializers.py:743 +#: InvenTree/serializers.py:772 msgid "No data columns supplied" msgstr "Datasarakkeita ei annettu" -#: InvenTree/serializers.py:809 +#: InvenTree/serializers.py:838 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "Vaadittu sarake puuttuu: '{name}'" -#: InvenTree/serializers.py:818 +#: InvenTree/serializers.py:847 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "Duplikaatti sarake: '{col}'" -#: InvenTree/serializers.py:857 +#: InvenTree/serializers.py:886 msgid "Remote Image" msgstr "" -#: InvenTree/serializers.py:858 +#: InvenTree/serializers.py:887 msgid "URL of remote image file" msgstr "Kuvatiedoston URL" -#: InvenTree/serializers.py:876 +#: InvenTree/serializers.py:905 msgid "Downloading images from remote URL is not enabled" msgstr "Kuvien lataaminen ei ole käytössä" -#: InvenTree/status.py:65 part/serializers.py:1267 +#: InvenTree/status.py:65 part/serializers.py:1265 msgid "Background worker check failed" msgstr "" @@ -759,7 +759,7 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:319 build/serializers.py:1332 part/models.py:4278 +#: build/api.py:319 build/serializers.py:1332 part/models.py:4265 #: templates/js/translated/bom.js:997 templates/js/translated/bom.js:1037 #: templates/js/translated/build.js:2705 #: templates/js/translated/table_filters.js:197 @@ -767,7 +767,7 @@ msgstr "" msgid "Consumable" msgstr "" -#: build/api.py:320 build/serializers.py:1333 part/models.py:4272 +#: build/api.py:320 build/serializers.py:1333 part/models.py:4259 #: part/templates/part/upload_bom.html:58 templates/js/translated/bom.js:1001 #: templates/js/translated/bom.js:1028 templates/js/translated/build.js:2696 #: templates/js/translated/table_filters.js:193 @@ -777,7 +777,7 @@ msgid "Optional" msgstr "" #: build/api.py:321 common/models.py:1491 part/admin.py:91 part/admin.py:428 -#: part/models.py:1166 part/serializers.py:1596 +#: part/models.py:1166 part/serializers.py:1594 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:337 #: templates/js/translated/table_filters.js:729 @@ -816,7 +816,7 @@ msgstr "" msgid "Available" msgstr "Saatavilla" -#: build/models.py:87 build/templates/build/build_base.html:9 +#: build/models.py:88 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_report.html:105 #: stock/serializers.py:85 templates/email/build_order_completed.html:16 @@ -825,7 +825,7 @@ msgstr "Saatavilla" msgid "Build Order" msgstr "" -#: build/models.py:88 build/templates/build/build_base.html:13 +#: build/models.py:89 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:111 #: order/templates/order/so_sidebar.html:13 @@ -866,7 +866,7 @@ msgstr "" #: build/models.py:243 build/serializers.py:1331 order/models.py:468 #: order/models.py:979 order/models.py:1366 order/models.py:2128 -#: part/admin.py:414 part/models.py:4293 part/templates/part/upload_bom.html:54 +#: part/admin.py:414 part/models.py:4280 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 @@ -892,11 +892,11 @@ msgstr "" #: build/templates/build/build_base.html:105 #: build/templates/build/detail.html:29 company/models.py:1043 order/api.py:761 #: order/models.py:1496 order/models.py:1651 order/models.py:1652 -#: part/api.py:1506 part/api.py:1806 part/models.py:419 part/models.py:3138 -#: part/models.py:3282 part/models.py:3430 part/models.py:3451 -#: part/models.py:3473 part/models.py:3609 part/models.py:3951 -#: part/models.py:4114 part/models.py:4244 part/models.py:4602 -#: part/serializers.py:1213 part/serializers.py:1857 +#: part/api.py:1506 part/api.py:1806 part/models.py:419 part/models.py:3125 +#: part/models.py:3269 part/models.py:3417 part/models.py:3438 +#: part/models.py:3460 part/models.py:3596 part/models.py:3938 +#: part/models.py:4101 part/models.py:4231 part/models.py:4595 +#: part/serializers.py:1211 part/serializers.py:1855 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -1063,12 +1063,12 @@ msgstr "" #: order/templates/order/return_order_base.html:148 #: order/templates/order/sales_order_base.html:187 #: part/templates/part/part_base.html:399 stock/models.py:859 -#: stock/templates/stock/item_base.html:200 +#: stock/templates/stock/item_base.html:196 #: templates/js/translated/company.js:1019 msgid "External Link" msgstr "Ulkoinen linkki" -#: build/models.py:378 common/models.py:3272 part/models.py:1070 +#: build/models.py:378 common/models.py:3273 part/models.py:1070 #: stock/models.py:859 msgid "Link to external URL" msgstr "Linkki ulkoiseen URLiin" @@ -1110,7 +1110,7 @@ msgstr "" msgid "A build order has been completed" msgstr "" -#: build/models.py:968 build/models.py:1056 +#: build/models.py:968 build/models.py:1057 msgid "No build output specified" msgstr "" @@ -1122,37 +1122,37 @@ msgstr "" msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:1060 build/serializers.py:279 build/serializers.py:328 +#: build/models.py:1061 build/serializers.py:279 build/serializers.py:328 #: build/serializers.py:959 order/models.py:565 order/serializers.py:500 -#: order/serializers.py:666 part/serializers.py:1590 part/serializers.py:2019 +#: order/serializers.py:666 part/serializers.py:1588 part/serializers.py:2017 #: stock/models.py:704 stock/models.py:1515 stock/serializers.py:676 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:1065 build/serializers.py:284 +#: build/models.py:1066 build/serializers.py:284 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1125 build/serializers.py:607 +#: build/models.py:1126 build/serializers.py:607 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "" -#: build/models.py:1466 +#: build/models.py:1477 msgid "Build Order Line Item" msgstr "" -#: build/models.py:1491 +#: build/models.py:1502 msgid "Build object" msgstr "" -#: build/models.py:1505 build/models.py:1761 build/serializers.py:266 +#: build/models.py:1516 build/models.py:1775 build/serializers.py:266 #: build/serializers.py:313 build/serializers.py:1339 #: build/templates/build/build_base.html:110 -#: build/templates/build/detail.html:34 common/models.py:2581 +#: build/templates/build/detail.html:34 common/models.py:2582 #: order/models.py:1349 order/models.py:2034 order/serializers.py:1464 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:413 -#: part/forms.py:48 part/models.py:3296 part/models.py:4266 +#: part/forms.py:48 part/models.py:3283 part/models.py:4253 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1163,9 +1163,9 @@ msgstr "" #: report/templates/report/inventree_test_report.html:90 #: report/templates/report/inventree_test_report.html:169 stock/admin.py:160 #: stock/serializers.py:128 stock/serializers.py:168 stock/serializers.py:667 -#: stock/templates/stock/item_base.html:287 -#: stock/templates/stock/item_base.html:295 -#: stock/templates/stock/item_base.html:342 +#: stock/templates/stock/item_base.html:283 +#: stock/templates/stock/item_base.html:291 +#: stock/templates/stock/item_base.html:338 #: templates/email/build_order_completed.html:18 #: templates/js/translated/barcode.js:579 templates/js/translated/bom.js:771 #: templates/js/translated/bom.js:981 templates/js/translated/build.js:525 @@ -1194,41 +1194,41 @@ msgstr "" msgid "Quantity" msgstr "Määrä" -#: build/models.py:1506 +#: build/models.py:1517 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1586 +#: build/models.py:1597 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1595 +#: build/models.py:1606 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1605 order/models.py:1985 +#: build/models.py:1616 order/models.py:1985 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1611 order/models.py:1988 +#: build/models.py:1622 order/models.py:1988 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1617 +#: build/models.py:1628 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1676 +#: build/models.py:1687 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1748 build/serializers.py:939 order/serializers.py:1301 +#: build/models.py:1762 build/serializers.py:939 order/serializers.py:1301 #: order/serializers.py:1322 stock/models.py:381 stock/serializers.py:94 #: stock/serializers.py:770 stock/serializers.py:1288 stock/serializers.py:1400 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 -#: stock/templates/stock/item_base.html:194 +#: stock/templates/stock/item_base.html:190 #: templates/js/translated/build.js:1921 #: templates/js/translated/sales_order.js:301 #: templates/js/translated/sales_order.js:1234 @@ -1241,19 +1241,19 @@ msgstr "" msgid "Stock Item" msgstr "Varastotuote" -#: build/models.py:1749 +#: build/models.py:1763 msgid "Source stock item" msgstr "" -#: build/models.py:1762 +#: build/models.py:1776 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1770 +#: build/models.py:1784 msgid "Install into" msgstr "" -#: build/models.py:1771 +#: build/models.py:1785 msgid "Destination stock item" msgstr "" @@ -1262,7 +1262,7 @@ msgid "Build Level" msgstr "" #: build/serializers.py:115 build/serializers.py:1234 build/serializers.py:1323 -#: part/admin.py:41 part/admin.py:408 part/models.py:4116 part/stocktake.py:219 +#: part/admin.py:41 part/admin.py:408 part/models.py:4103 part/stocktake.py:219 #: stock/admin.py:157 msgid "Part Name" msgstr "" @@ -1323,10 +1323,10 @@ msgid "Enter serial numbers for build outputs" msgstr "" #: build/serializers.py:359 build/serializers.py:500 build/serializers.py:572 -#: order/serializers.py:655 order/serializers.py:778 order/serializers.py:1789 -#: part/serializers.py:1233 stock/serializers.py:103 stock/serializers.py:698 +#: order/serializers.py:655 order/serializers.py:778 order/serializers.py:1797 +#: part/serializers.py:1231 stock/serializers.py:103 stock/serializers.py:698 #: stock/serializers.py:858 stock/serializers.py:984 stock/serializers.py:1432 -#: stock/serializers.py:1688 stock/templates/stock/item_base.html:394 +#: stock/serializers.py:1688 stock/templates/stock/item_base.html:390 #: templates/js/translated/barcode.js:578 #: templates/js/translated/barcode.js:826 templates/js/translated/build.js:1035 #: templates/js/translated/build.js:1177 templates/js/translated/build.js:2547 @@ -1390,7 +1390,7 @@ msgstr "" #: build/templates/build/detail.html:62 order/models.py:477 #: order/models.py:1003 order/models.py:2152 order/serializers.py:687 #: stock/admin.py:165 stock/serializers.py:1035 stock/serializers.py:1576 -#: stock/templates/stock/item_base.html:427 +#: stock/templates/stock/item_base.html:423 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2366 #: templates/js/translated/purchase_order.js:1371 #: templates/js/translated/purchase_order.js:1792 @@ -1522,7 +1522,7 @@ msgstr "" msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:1030 order/serializers.py:1614 +#: build/serializers.py:1030 order/serializers.py:1622 msgid "Allocation items must be provided" msgstr "" @@ -1590,7 +1590,7 @@ msgstr "" #: build/serializers.py:1230 company/models.py:849 #: company/templates/company/supplier_part.html:160 order/serializers.py:691 #: stock/admin.py:229 stock/models.py:822 stock/serializers.py:1586 -#: stock/templates/stock/item_base.html:240 +#: stock/templates/stock/item_base.html:236 #: templates/js/translated/company.js:1646 #: templates/js/translated/purchase_order.js:1169 #: templates/js/translated/purchase_order.js:1332 @@ -1600,12 +1600,12 @@ msgid "Packaging" msgstr "" #: build/serializers.py:1233 part/admin.py:39 part/admin.py:398 -#: part/models.py:4115 part/stocktake.py:218 stock/admin.py:153 +#: part/models.py:4102 part/stocktake.py:218 stock/admin.py:153 msgid "Part ID" msgstr "" #: build/serializers.py:1235 build/serializers.py:1324 part/admin.py:402 -#: part/models.py:4117 +#: part/models.py:4104 msgid "Part IPN" msgstr "" @@ -1625,7 +1625,7 @@ msgstr "" #: build/serializers.py:1243 #: report/templates/report/inventree_return_order_report.html:25 #: report/templates/report/inventree_test_report.html:88 stock/models.py:849 -#: stock/serializers.py:152 stock/templates/stock/item_base.html:311 +#: stock/serializers.py:152 stock/templates/stock/item_base.html:307 #: templates/js/translated/build.js:523 templates/js/translated/build.js:1543 #: templates/js/translated/build.js:2530 #: templates/js/translated/model_renderers.js:231 @@ -1644,7 +1644,7 @@ msgstr "Sarjanumero" msgid "Allocated Quantity" msgstr "" -#: build/serializers.py:1257 stock/templates/stock/item_base.html:340 +#: build/serializers.py:1257 stock/templates/stock/item_base.html:336 msgid "Available Quantity" msgstr "" @@ -1667,13 +1667,13 @@ msgstr "Seurattavissa" msgid "Inherited" msgstr "" -#: build/serializers.py:1337 part/models.py:4326 +#: build/serializers.py:1337 part/models.py:4313 #: part/templates/part/upload_bom.html:56 templates/js/translated/bom.js:1046 #: templates/js/translated/build.js:2714 msgid "Allow Variants" msgstr "" -#: build/serializers.py:1341 part/models.py:4124 part/models.py:4594 +#: build/serializers.py:1341 part/models.py:4111 part/models.py:4587 #: stock/api.py:793 msgid "BOM Item" msgstr "" @@ -1684,7 +1684,7 @@ msgid "Allocated Stock" msgstr "" #: build/serializers.py:1355 order/serializers.py:1179 part/admin.py:132 -#: part/bom.py:186 part/serializers.py:920 part/serializers.py:1623 +#: part/bom.py:186 part/serializers.py:918 part/serializers.py:1621 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 #: templates/js/translated/build.js:2807 templates/js/translated/part.js:712 #: templates/js/translated/part.js:2155 @@ -1692,13 +1692,13 @@ msgstr "" msgid "On Order" msgstr "" -#: build/serializers.py:1360 order/serializers.py:1180 part/serializers.py:1625 +#: build/serializers.py:1360 order/serializers.py:1180 part/serializers.py:1623 #: templates/js/translated/build.js:2811 #: templates/js/translated/table_filters.js:367 msgid "In Production" msgstr "" -#: build/serializers.py:1365 part/bom.py:185 part/serializers.py:1650 +#: build/serializers.py:1365 part/bom.py:185 part/serializers.py:1648 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" @@ -1716,7 +1716,7 @@ msgstr "" msgid "Total Available Stock" msgstr "" -#: build/serializers.py:1372 part/serializers.py:927 +#: build/serializers.py:1372 part/serializers.py:925 msgid "External Stock" msgstr "" @@ -1745,7 +1745,7 @@ msgstr "Peruttu" #: importer/status_codes.py:27 order/status_codes.py:15 #: order/status_codes.py:50 order/status_codes.py:81 #: order/templates/order/order_base.html:163 -#: order/templates/order/sales_order_base.html:168 report/models.py:443 +#: order/templates/order/sales_order_base.html:168 report/models.py:451 msgid "Complete" msgstr "Valmis" @@ -1849,9 +1849,6 @@ msgid "Delete Build" msgstr "" #: build/templates/build/build_base.html:87 -msgid "Isueue Build" -msgstr "" - #: build/templates/build/build_base.html:88 msgid "Issue Build" msgstr "" @@ -1931,7 +1928,7 @@ msgstr "" #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_report.html:135 #: report/templates/report/inventree_sales_order_report.html:14 -#: stock/templates/stock/item_base.html:369 +#: stock/templates/stock/item_base.html:365 #: templates/email/overdue_sales_order.html:15 #: templates/js/translated/pricing.js:929 #: templates/js/translated/sales_order.js:805 @@ -1991,7 +1988,7 @@ msgid "Allocated Parts" msgstr "" #: build/templates/build/detail.html:80 stock/admin.py:163 -#: stock/templates/stock/item_base.html:162 +#: stock/templates/stock/item_base.html:158 #: templates/js/translated/build.js:1556 #: templates/js/translated/model_renderers.js:242 #: templates/js/translated/purchase_order.js:1326 @@ -2148,19 +2145,19 @@ msgstr "" msgid "Test Statistics" msgstr "" -#: common/api.py:692 +#: common/api.py:725 msgid "Is Link" msgstr "" -#: common/api.py:700 +#: common/api.py:733 msgid "Is File" msgstr "" -#: common/api.py:743 +#: common/api.py:776 msgid "User does not have permission to delete these attachments" msgstr "" -#: common/api.py:760 +#: common/api.py:793 msgid "User does not have permission to delete this attachment" msgstr "" @@ -2352,8 +2349,8 @@ msgstr "" #: common/models.py:1297 common/models.py:1353 common/models.py:1366 #: common/models.py:1374 common/models.py:1383 common/models.py:1392 -#: common/models.py:1629 common/models.py:1651 common/models.py:1766 -#: common/models.py:2148 +#: common/models.py:1629 common/models.py:1651 common/models.py:1752 +#: common/models.py:2141 msgid "days" msgstr "päivää" @@ -2581,9 +2578,9 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1485 part/admin.py:108 part/models.py:3959 -#: report/models.py:293 report/models.py:360 report/serializers.py:90 -#: report/serializers.py:131 stock/serializers.py:233 +#: common/models.py:1485 part/admin.py:108 part/models.py:3946 +#: report/models.py:301 report/models.py:368 report/serializers.py:91 +#: report/serializers.py:132 stock/serializers.py:233 #: templates/js/translated/table_filters.js:138 #: templates/js/translated/table_filters.js:775 msgid "Template" @@ -2598,7 +2595,7 @@ msgid "Parts can be assembled from other components by default" msgstr "" #: common/models.py:1497 part/admin.py:95 part/models.py:1172 -#: part/serializers.py:1617 templates/js/translated/table_filters.js:737 +#: part/serializers.py:1615 templates/js/translated/table_filters.js:737 msgid "Component" msgstr "Komponentti" @@ -2823,7 +2820,7 @@ msgid "Log errors which occur when generating reports" msgstr "" #: common/models.py:1702 plugin/builtin/labels/label_sheet.py:28 -#: report/models.py:301 +#: report/models.py:309 msgid "Page Size" msgstr "Sivun koko" @@ -2832,914 +2829,914 @@ msgid "Default page size for PDF reports" msgstr "" #: common/models.py:1708 -msgid "Enable Test Reports" -msgstr "" - -#: common/models.py:1709 -msgid "Enable generation of test reports" -msgstr "" - -#: common/models.py:1714 -msgid "Attach Test Reports" -msgstr "" - -#: common/models.py:1716 -msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" -msgstr "" - -#: common/models.py:1722 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1723 +#: common/models.py:1709 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1728 +#: common/models.py:1714 msgid "Autofill Serial Numbers" msgstr "Täytä sarjanumerot automaattisesti" -#: common/models.py:1729 +#: common/models.py:1715 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1734 +#: common/models.py:1720 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1736 +#: common/models.py:1722 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/models.py:1742 +#: common/models.py:1728 msgid "Batch Code Template" msgstr "" -#: common/models.py:1744 +#: common/models.py:1730 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1749 +#: common/models.py:1735 msgid "Stock Expiry" msgstr "" -#: common/models.py:1750 +#: common/models.py:1736 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1755 +#: common/models.py:1741 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1756 +#: common/models.py:1742 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1761 +#: common/models.py:1747 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1763 +#: common/models.py:1749 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1770 +#: common/models.py:1756 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1771 +#: common/models.py:1757 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1776 +#: common/models.py:1762 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1777 +#: common/models.py:1763 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1782 +#: common/models.py:1768 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1783 +#: common/models.py:1769 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1788 +#: common/models.py:1774 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1789 +#: common/models.py:1775 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1794 +#: common/models.py:1780 msgid "Check BOM when installing items" msgstr "" -#: common/models.py:1796 +#: common/models.py:1782 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/models.py:1802 +#: common/models.py:1788 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/models.py:1804 +#: common/models.py:1790 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/models.py:1810 +#: common/models.py:1796 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1812 +#: common/models.py:1798 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1818 common/models.py:1874 common/models.py:1896 -#: common/models.py:1932 +#: common/models.py:1804 common/models.py:1860 common/models.py:1882 +#: common/models.py:1918 msgid "Require Responsible Owner" msgstr "" -#: common/models.py:1819 common/models.py:1875 common/models.py:1897 -#: common/models.py:1933 +#: common/models.py:1805 common/models.py:1861 common/models.py:1883 +#: common/models.py:1919 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/models.py:1824 +#: common/models.py:1810 msgid "Require Active Part" msgstr "" -#: common/models.py:1825 +#: common/models.py:1811 msgid "Prevent build order creation for inactive parts" msgstr "" -#: common/models.py:1830 +#: common/models.py:1816 msgid "Require Locked Part" msgstr "" -#: common/models.py:1831 +#: common/models.py:1817 msgid "Prevent build order creation for unlocked parts" msgstr "" -#: common/models.py:1836 +#: common/models.py:1822 msgid "Require Valid BOM" msgstr "" -#: common/models.py:1838 +#: common/models.py:1824 msgid "Prevent build order creation unless BOM has been validated" msgstr "" -#: common/models.py:1844 +#: common/models.py:1830 msgid "Require Closed Child Orders" msgstr "" -#: common/models.py:1846 +#: common/models.py:1832 msgid "Prevent build order completion until all child orders are closed" msgstr "" -#: common/models.py:1852 +#: common/models.py:1838 msgid "Block Until Tests Pass" msgstr "" -#: common/models.py:1854 +#: common/models.py:1840 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "" -#: common/models.py:1860 +#: common/models.py:1846 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1861 +#: common/models.py:1847 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1866 +#: common/models.py:1852 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1868 +#: common/models.py:1854 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1880 +#: common/models.py:1866 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1882 +#: common/models.py:1868 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1888 +#: common/models.py:1874 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1890 +#: common/models.py:1876 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1902 +#: common/models.py:1888 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1903 +#: common/models.py:1889 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1908 +#: common/models.py:1894 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1910 +#: common/models.py:1896 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1916 +#: common/models.py:1902 msgid "Mark Shipped Orders as Complete" msgstr "" -#: common/models.py:1918 +#: common/models.py:1904 msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status" msgstr "" -#: common/models.py:1924 +#: common/models.py:1910 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1926 +#: common/models.py:1912 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1938 +#: common/models.py:1924 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1940 +#: common/models.py:1926 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1946 +#: common/models.py:1932 msgid "Auto Complete Purchase Orders" msgstr "" -#: common/models.py:1948 +#: common/models.py:1934 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/models.py:1955 +#: common/models.py:1941 msgid "Enable password forgot" msgstr "Salli salasananpalautus" -#: common/models.py:1956 +#: common/models.py:1942 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1961 +#: common/models.py:1947 msgid "Enable registration" msgstr "Salli rekisteröinti" -#: common/models.py:1962 +#: common/models.py:1948 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1967 +#: common/models.py:1953 msgid "Enable SSO" msgstr "Salli SSO" -#: common/models.py:1968 +#: common/models.py:1954 msgid "Enable SSO on the login pages" msgstr "Salli SSO kirjautumissivuilla" -#: common/models.py:1973 +#: common/models.py:1959 msgid "Enable SSO registration" msgstr "Salli SSO rekisteröinti" -#: common/models.py:1975 +#: common/models.py:1961 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1981 +#: common/models.py:1967 msgid "Enable SSO group sync" msgstr "" -#: common/models.py:1983 +#: common/models.py:1969 msgid "Enable synchronizing InvenTree groups with groups provided by the IdP" msgstr "" -#: common/models.py:1989 +#: common/models.py:1975 msgid "SSO group key" msgstr "" -#: common/models.py:1991 +#: common/models.py:1977 msgid "The name of the groups claim attribute provided by the IdP" msgstr "" -#: common/models.py:1997 +#: common/models.py:1983 msgid "SSO group map" msgstr "" -#: common/models.py:1999 +#: common/models.py:1985 msgid "A mapping from SSO groups to local InvenTree groups. If the local group does not exist, it will be created." msgstr "" -#: common/models.py:2005 +#: common/models.py:1991 msgid "Remove groups outside of SSO" msgstr "" -#: common/models.py:2007 +#: common/models.py:1993 msgid "Whether groups assigned to the user should be removed if they are not backend by the IdP. Disabling this setting might cause security issues" msgstr "" -#: common/models.py:2013 +#: common/models.py:1999 msgid "Email required" msgstr "Sähköposti vaaditaan" -#: common/models.py:2014 +#: common/models.py:2000 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:2019 +#: common/models.py:2005 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:2021 +#: common/models.py:2007 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:2027 +#: common/models.py:2013 msgid "Mail twice" msgstr "Sähköpostiosoite kahdesti" -#: common/models.py:2028 +#: common/models.py:2014 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:2033 +#: common/models.py:2019 msgid "Password twice" msgstr "Salasana kahdesti" -#: common/models.py:2034 +#: common/models.py:2020 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:2039 +#: common/models.py:2025 msgid "Allowed domains" msgstr "Sallitut verkkotunnukset" -#: common/models.py:2041 +#: common/models.py:2027 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:2047 +#: common/models.py:2033 msgid "Group on signup" msgstr "" -#: common/models.py:2049 +#: common/models.py:2035 msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP." msgstr "" -#: common/models.py:2055 +#: common/models.py:2041 msgid "Enforce MFA" msgstr "Pakota MFA" -#: common/models.py:2056 +#: common/models.py:2042 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:2061 +#: common/models.py:2047 msgid "Check plugins on startup" msgstr "" -#: common/models.py:2063 +#: common/models.py:2049 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:2071 +#: common/models.py:2057 msgid "Check for plugin updates" msgstr "" -#: common/models.py:2072 +#: common/models.py:2058 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:2078 +#: common/models.py:2064 msgid "Enable URL integration" msgstr "" -#: common/models.py:2079 +#: common/models.py:2065 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:2085 +#: common/models.py:2071 msgid "Enable navigation integration" msgstr "" -#: common/models.py:2086 +#: common/models.py:2072 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:2092 +#: common/models.py:2078 msgid "Enable app integration" msgstr "" -#: common/models.py:2093 +#: common/models.py:2079 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:2099 +#: common/models.py:2085 msgid "Enable schedule integration" msgstr "" -#: common/models.py:2100 +#: common/models.py:2086 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:2106 +#: common/models.py:2092 msgid "Enable event integration" msgstr "" -#: common/models.py:2107 +#: common/models.py:2093 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:2113 +#: common/models.py:2099 +msgid "Enable interface integration" +msgstr "" + +#: common/models.py:2100 +msgid "Enable plugins to integrate into the user interface" +msgstr "" + +#: common/models.py:2106 msgid "Enable project codes" msgstr "" -#: common/models.py:2114 +#: common/models.py:2107 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:2119 +#: common/models.py:2112 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:2121 +#: common/models.py:2114 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:2127 +#: common/models.py:2120 msgid "Exclude External Locations" msgstr "" -#: common/models.py:2129 +#: common/models.py:2122 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/models.py:2135 +#: common/models.py:2128 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:2137 +#: common/models.py:2130 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:2143 +#: common/models.py:2136 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:2145 +#: common/models.py:2138 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:2152 +#: common/models.py:2145 msgid "Display Users full names" msgstr "" -#: common/models.py:2153 +#: common/models.py:2146 msgid "Display Users full names instead of usernames" msgstr "" -#: common/models.py:2158 +#: common/models.py:2151 msgid "Enable Test Station Data" msgstr "" -#: common/models.py:2159 +#: common/models.py:2152 msgid "Enable test station data collection for test results" msgstr "" -#: common/models.py:2171 common/models.py:2551 +#: common/models.py:2157 +msgid "Create Template on Upload" +msgstr "" + +#: common/models.py:2159 +msgid "Create a new test template when uploading test data which does not match an existing template" +msgstr "" + +#: common/models.py:2172 common/models.py:2552 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:2214 +#: common/models.py:2215 msgid "Hide inactive parts" msgstr "" -#: common/models.py:2216 +#: common/models.py:2217 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:2222 +#: common/models.py:2223 msgid "Show subscribed parts" msgstr "" -#: common/models.py:2223 +#: common/models.py:2224 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:2228 +#: common/models.py:2229 msgid "Show subscribed categories" msgstr "" -#: common/models.py:2229 +#: common/models.py:2230 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:2234 +#: common/models.py:2235 msgid "Show latest parts" msgstr "" -#: common/models.py:2235 +#: common/models.py:2236 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:2240 +#: common/models.py:2241 msgid "Show invalid BOMs" msgstr "" -#: common/models.py:2241 +#: common/models.py:2242 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:2246 +#: common/models.py:2247 msgid "Show recent stock changes" msgstr "" -#: common/models.py:2247 +#: common/models.py:2248 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:2252 +#: common/models.py:2253 msgid "Show low stock" msgstr "" -#: common/models.py:2253 +#: common/models.py:2254 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:2258 +#: common/models.py:2259 msgid "Show depleted stock" msgstr "" -#: common/models.py:2259 +#: common/models.py:2260 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:2264 +#: common/models.py:2265 msgid "Show needed stock" msgstr "" -#: common/models.py:2265 +#: common/models.py:2266 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:2270 +#: common/models.py:2271 msgid "Show expired stock" msgstr "" -#: common/models.py:2271 +#: common/models.py:2272 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:2276 +#: common/models.py:2277 msgid "Show stale stock" msgstr "" -#: common/models.py:2277 +#: common/models.py:2278 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:2282 +#: common/models.py:2283 msgid "Show pending builds" msgstr "" -#: common/models.py:2283 +#: common/models.py:2284 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:2288 +#: common/models.py:2289 msgid "Show overdue builds" msgstr "" -#: common/models.py:2289 +#: common/models.py:2290 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:2294 +#: common/models.py:2295 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2295 +#: common/models.py:2296 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2300 +#: common/models.py:2301 msgid "Show overdue POs" msgstr "" -#: common/models.py:2301 +#: common/models.py:2302 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2306 +#: common/models.py:2307 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2307 +#: common/models.py:2308 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2312 +#: common/models.py:2313 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2313 +#: common/models.py:2314 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2318 +#: common/models.py:2319 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2319 +#: common/models.py:2320 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2324 +#: common/models.py:2325 msgid "Show News" msgstr "Näytä uutiset" -#: common/models.py:2325 +#: common/models.py:2326 msgid "Show news on the homepage" msgstr "Näytä uutiset kotisivulla" -#: common/models.py:2330 +#: common/models.py:2331 msgid "Inline label display" msgstr "" -#: common/models.py:2332 +#: common/models.py:2333 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2338 +#: common/models.py:2339 msgid "Default label printer" msgstr "" -#: common/models.py:2340 +#: common/models.py:2341 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2346 +#: common/models.py:2347 msgid "Inline report display" msgstr "" -#: common/models.py:2348 +#: common/models.py:2349 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2354 +#: common/models.py:2355 msgid "Search Parts" msgstr "" -#: common/models.py:2355 +#: common/models.py:2356 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2360 +#: common/models.py:2361 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2361 +#: common/models.py:2362 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2366 +#: common/models.py:2367 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2367 +#: common/models.py:2368 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2372 +#: common/models.py:2373 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2373 +#: common/models.py:2374 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2378 +#: common/models.py:2379 msgid "Search Categories" msgstr "" -#: common/models.py:2379 +#: common/models.py:2380 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2384 +#: common/models.py:2385 msgid "Search Stock" msgstr "" -#: common/models.py:2385 +#: common/models.py:2386 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2390 +#: common/models.py:2391 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2392 +#: common/models.py:2393 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2398 +#: common/models.py:2399 msgid "Search Locations" msgstr "" -#: common/models.py:2399 +#: common/models.py:2400 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2404 +#: common/models.py:2405 msgid "Search Companies" msgstr "" -#: common/models.py:2405 +#: common/models.py:2406 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2410 +#: common/models.py:2411 msgid "Search Build Orders" msgstr "" -#: common/models.py:2411 +#: common/models.py:2412 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2416 +#: common/models.py:2417 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2417 +#: common/models.py:2418 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2422 +#: common/models.py:2423 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2424 +#: common/models.py:2425 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2430 +#: common/models.py:2431 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2431 +#: common/models.py:2432 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2436 +#: common/models.py:2437 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2438 +#: common/models.py:2439 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2444 +#: common/models.py:2445 msgid "Search Return Orders" msgstr "" -#: common/models.py:2445 +#: common/models.py:2446 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2450 +#: common/models.py:2451 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2452 +#: common/models.py:2453 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2458 +#: common/models.py:2459 msgid "Search Preview Results" msgstr "" -#: common/models.py:2460 +#: common/models.py:2461 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2466 +#: common/models.py:2467 msgid "Regex Search" msgstr "" -#: common/models.py:2467 +#: common/models.py:2468 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2472 +#: common/models.py:2473 msgid "Whole Word Search" msgstr "" -#: common/models.py:2473 +#: common/models.py:2474 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2478 +#: common/models.py:2479 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2479 +#: common/models.py:2480 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2484 +#: common/models.py:2485 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2485 +#: common/models.py:2486 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2490 +#: common/models.py:2491 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2491 +#: common/models.py:2492 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2496 +#: common/models.py:2497 msgid "Date Format" msgstr "" -#: common/models.py:2497 +#: common/models.py:2498 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2510 part/templates/part/detail.html:41 +#: common/models.py:2511 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2511 +#: common/models.py:2512 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2516 part/templates/part/detail.html:62 +#: common/models.py:2517 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2518 +#: common/models.py:2519 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2524 +#: common/models.py:2525 msgid "Table String Length" msgstr "" -#: common/models.py:2526 +#: common/models.py:2527 msgid "Maximum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2532 +#: common/models.py:2533 msgid "Receive error reports" msgstr "" -#: common/models.py:2533 +#: common/models.py:2534 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2538 +#: common/models.py:2539 msgid "Last used printing machines" msgstr "" -#: common/models.py:2539 +#: common/models.py:2540 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2559 common/models.py:2560 common/models.py:2717 -#: common/models.py:2718 common/models.py:2963 common/models.py:2964 -#: common/models.py:3287 common/models.py:3288 importer/models.py:89 -#: part/models.py:3319 part/models.py:3406 part/models.py:3480 -#: part/models.py:3508 plugin/models.py:274 plugin/models.py:275 +#: common/models.py:2560 common/models.py:2561 common/models.py:2718 +#: common/models.py:2719 common/models.py:2964 common/models.py:2965 +#: common/models.py:3288 common/models.py:3289 importer/models.py:89 +#: part/models.py:3306 part/models.py:3393 part/models.py:3467 +#: part/models.py:3495 plugin/models.py:274 plugin/models.py:275 #: report/templates/report/inventree_test_report.html:105 #: templates/js/translated/stock.js:3121 users/models.py:111 msgid "User" msgstr "Käyttäjä" -#: common/models.py:2582 +#: common/models.py:2583 msgid "Price break quantity" msgstr "" -#: common/models.py:2589 company/serializers.py:517 order/admin.py:42 +#: common/models.py:2590 company/serializers.py:517 order/admin.py:42 #: order/models.py:1423 order/models.py:2410 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1892 #: templates/js/translated/pricing.js:621 @@ -3747,96 +3744,96 @@ msgstr "" msgid "Price" msgstr "Hinta" -#: common/models.py:2590 +#: common/models.py:2591 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2694 common/models.py:2879 +#: common/models.py:2695 common/models.py:2880 msgid "Endpoint" msgstr "" -#: common/models.py:2695 +#: common/models.py:2696 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2705 +#: common/models.py:2706 msgid "Name for this webhook" msgstr "" -#: common/models.py:2709 +#: common/models.py:2710 msgid "Is this webhook active" msgstr "" -#: common/models.py:2725 users/models.py:159 +#: common/models.py:2726 users/models.py:159 msgid "Token" msgstr "" -#: common/models.py:2726 +#: common/models.py:2727 msgid "Token for access" msgstr "" -#: common/models.py:2734 +#: common/models.py:2735 msgid "Secret" msgstr "Salaisuus" -#: common/models.py:2735 +#: common/models.py:2736 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2843 +#: common/models.py:2844 msgid "Message ID" msgstr "" -#: common/models.py:2844 +#: common/models.py:2845 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2852 +#: common/models.py:2853 msgid "Host" msgstr "Isäntä" -#: common/models.py:2853 +#: common/models.py:2854 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2861 +#: common/models.py:2862 msgid "Header" msgstr "" -#: common/models.py:2862 +#: common/models.py:2863 msgid "Header of this message" msgstr "" -#: common/models.py:2869 +#: common/models.py:2870 msgid "Body" msgstr "" -#: common/models.py:2870 +#: common/models.py:2871 msgid "Body of this message" msgstr "" -#: common/models.py:2880 +#: common/models.py:2881 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2885 +#: common/models.py:2886 msgid "Worked on" msgstr "" -#: common/models.py:2886 +#: common/models.py:2887 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:3012 +#: common/models.py:3013 msgid "Id" msgstr "" -#: common/models.py:3014 templates/js/translated/company.js:965 +#: common/models.py:3015 templates/js/translated/company.js:965 #: templates/js/translated/news.js:44 msgid "Title" msgstr "Otsikko" -#: common/models.py:3016 common/models.py:3271 company/models.py:146 +#: common/models.py:3017 common/models.py:3272 company/models.py:146 #: company/models.py:443 company/models.py:509 company/models.py:815 #: order/models.py:303 order/models.py:1378 order/models.py:1810 #: part/admin.py:55 part/models.py:1069 @@ -3853,217 +3850,217 @@ msgstr "Otsikko" msgid "Link" msgstr "Linkki" -#: common/models.py:3018 templates/js/translated/news.js:60 +#: common/models.py:3019 templates/js/translated/news.js:60 msgid "Published" msgstr "Julkaistu" -#: common/models.py:3020 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:3021 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:103 msgid "Author" msgstr "Julkaisija" -#: common/models.py:3022 templates/js/translated/news.js:52 +#: common/models.py:3023 templates/js/translated/news.js:52 msgid "Summary" msgstr "Yhteenveto" -#: common/models.py:3025 +#: common/models.py:3026 msgid "Read" msgstr "" -#: common/models.py:3025 +#: common/models.py:3026 msgid "Was this news item read?" msgstr "" -#: common/models.py:3042 company/models.py:156 part/models.py:1079 +#: common/models.py:3043 company/models.py:156 part/models.py:1079 #: 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.html:35 -#: stock/templates/stock/item_base.html:133 templates/503.html:31 +#: stock/templates/stock/item_base.html:129 templates/503.html:31 #: templates/hover_image.html:7 templates/hover_image.html:9 #: templates/modals.html:6 msgid "Image" msgstr "Kuva" -#: common/models.py:3042 +#: common/models.py:3043 msgid "Image file" msgstr "Kuvatiedosto" -#: common/models.py:3054 common/models.py:3255 +#: common/models.py:3055 common/models.py:3256 msgid "Target model type for this image" msgstr "" -#: common/models.py:3058 +#: common/models.py:3059 msgid "Target model ID for this image" msgstr "" -#: common/models.py:3080 +#: common/models.py:3081 msgid "Custom Unit" msgstr "" -#: common/models.py:3098 +#: common/models.py:3099 msgid "Unit symbol must be unique" msgstr "" -#: common/models.py:3113 +#: common/models.py:3114 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:3132 +#: common/models.py:3133 msgid "Unit name" msgstr "" -#: common/models.py:3139 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3140 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:3140 +#: common/models.py:3141 msgid "Optional unit symbol" msgstr "" -#: common/models.py:3146 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3147 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:3147 +#: common/models.py:3148 msgid "Unit definition" msgstr "" -#: common/models.py:3205 common/models.py:3262 stock/models.py:2552 +#: common/models.py:3206 common/models.py:3263 stock/models.py:2547 #: stock/serializers.py:244 templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:345 msgid "Attachment" msgstr "Liite" -#: common/models.py:3217 +#: common/models.py:3218 msgid "Missing file" msgstr "Puuttuva tiedosto" -#: common/models.py:3218 +#: common/models.py:3219 msgid "Missing external link" msgstr "Puuttuva ulkoinen linkki" -#: common/models.py:3263 +#: common/models.py:3264 msgid "Select file to attach" msgstr "Valitse liitettävä tiedosto" -#: common/models.py:3278 templates/js/translated/attachment.js:120 +#: common/models.py:3279 templates/js/translated/attachment.js:120 #: templates/js/translated/attachment.js:360 msgid "Comment" msgstr "Kommentti" -#: common/models.py:3279 +#: common/models.py:3280 msgid "Attachment comment" msgstr "" -#: common/models.py:3295 +#: common/models.py:3296 msgid "Upload date" msgstr "" -#: common/models.py:3296 +#: common/models.py:3297 msgid "Date the file was uploaded" msgstr "" -#: common/models.py:3300 +#: common/models.py:3301 msgid "File size" msgstr "" -#: common/models.py:3300 +#: common/models.py:3301 msgid "File size in bytes" msgstr "" -#: common/models.py:3338 common/serializers.py:588 +#: common/models.py:3339 common/serializers.py:604 msgid "Invalid model type specified for attachment" msgstr "" -#: common/models.py:3347 plugin/models.py:43 users/models.py:100 +#: common/models.py:3348 plugin/models.py:43 users/models.py:100 msgid "Key" msgstr "Avain" -#: common/models.py:3348 +#: common/models.py:3349 msgid "Value that will be saved in the models database" msgstr "" -#: common/models.py:3351 +#: common/models.py:3352 msgid "Name of the state" msgstr "" -#: common/models.py:3355 +#: common/models.py:3356 msgid "Label" msgstr "" -#: common/models.py:3356 +#: common/models.py:3357 msgid "Label that will be displayed in the frontend" msgstr "" -#: common/models.py:3362 +#: common/models.py:3363 msgid "Color" msgstr "" -#: common/models.py:3363 +#: common/models.py:3364 msgid "Color that will be displayed in the frontend" msgstr "" -#: common/models.py:3366 +#: common/models.py:3367 msgid "Logical Key" msgstr "" -#: common/models.py:3368 +#: common/models.py:3369 msgid "State logical key that is equal to this custom state in business logic" msgstr "" -#: common/models.py:3376 +#: common/models.py:3377 msgid "Model" msgstr "" -#: common/models.py:3377 +#: common/models.py:3378 msgid "Model this state is associated with" msgstr "" -#: common/models.py:3381 +#: common/models.py:3382 msgid "Reference Status Set" msgstr "" -#: common/models.py:3382 +#: common/models.py:3383 msgid "Status set that is extended with this custom state" msgstr "" -#: common/models.py:3388 +#: common/models.py:3389 msgid "Custom State" msgstr "" -#: common/models.py:3389 +#: common/models.py:3390 msgid "Custom States" msgstr "" -#: common/models.py:3404 +#: common/models.py:3405 msgid "Model must be selected" msgstr "" -#: common/models.py:3407 +#: common/models.py:3408 msgid "Key must be selected" msgstr "" -#: common/models.py:3410 +#: common/models.py:3411 msgid "Logical key must be selected" msgstr "" -#: common/models.py:3414 +#: common/models.py:3415 msgid "Key must be different from logical key" msgstr "" -#: common/models.py:3418 +#: common/models.py:3419 msgid "Reference status must be selected" msgstr "" -#: common/models.py:3430 +#: common/models.py:3431 msgid "Reference status set not found" msgstr "" -#: common/models.py:3436 +#: common/models.py:3437 msgid "Key must be different from the logical keys of the reference status" msgstr "" -#: common/models.py:3442 +#: common/models.py:3443 msgid "Logical key must be in the logical keys of the reference status" msgstr "" @@ -4101,75 +4098,75 @@ msgstr "" msgid "Error raised by plugin" msgstr "" -#: common/serializers.py:402 +#: common/serializers.py:418 msgid "Is Running" msgstr "" -#: common/serializers.py:408 +#: common/serializers.py:424 msgid "Pending Tasks" msgstr "" -#: common/serializers.py:414 +#: common/serializers.py:430 msgid "Scheduled Tasks" msgstr "" -#: common/serializers.py:420 +#: common/serializers.py:436 msgid "Failed Tasks" msgstr "" -#: common/serializers.py:435 +#: common/serializers.py:451 msgid "Task ID" msgstr "" -#: common/serializers.py:435 +#: common/serializers.py:451 msgid "Unique task ID" msgstr "" -#: common/serializers.py:437 +#: common/serializers.py:453 msgid "Lock" msgstr "" -#: common/serializers.py:437 +#: common/serializers.py:453 msgid "Lock time" msgstr "" -#: common/serializers.py:439 +#: common/serializers.py:455 msgid "Task name" msgstr "" -#: common/serializers.py:441 +#: common/serializers.py:457 msgid "Function" msgstr "" -#: common/serializers.py:441 +#: common/serializers.py:457 msgid "Function name" msgstr "" -#: common/serializers.py:443 +#: common/serializers.py:459 msgid "Arguments" msgstr "" -#: common/serializers.py:443 +#: common/serializers.py:459 msgid "Task arguments" msgstr "" -#: common/serializers.py:446 +#: common/serializers.py:462 msgid "Keyword Arguments" msgstr "" -#: common/serializers.py:446 +#: common/serializers.py:462 msgid "Task keyword arguments" msgstr "" -#: common/serializers.py:556 +#: common/serializers.py:572 msgid "Filename" msgstr "Tiedostonimi" -#: common/serializers.py:563 report/api.py:100 report/serializers.py:53 +#: common/serializers.py:579 report/api.py:100 report/serializers.py:54 msgid "Model Type" msgstr "" -#: common/serializers.py:591 +#: common/serializers.py:607 msgid "User does not have permission to create or edit attachments for this model" msgstr "" @@ -4447,12 +4444,12 @@ msgstr "" #: company/models.py:467 company/models.py:584 company/models.py:808 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 -#: stock/templates/stock/item_base.html:217 +#: stock/templates/stock/item_base.html:213 msgid "Manufacturer Part" msgstr "" #: company/models.py:484 company/models.py:776 stock/models.py:791 -#: stock/serializers.py:452 stock/templates/stock/item_base.html:142 +#: stock/serializers.py:452 stock/templates/stock/item_base.html:138 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" @@ -4463,8 +4460,8 @@ msgstr "" #: company/models.py:495 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:567 -#: stock/templates/stock/item_base.html:207 +#: company/templates/company/supplier_part.html:145 part/serializers.py:565 +#: stock/templates/stock/item_base.html:203 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 #: templates/js/translated/company.js:1296 @@ -4479,7 +4476,7 @@ msgstr "Valitse valmistaja" #: company/models.py:502 company/templates/company/manufacturer_part.html:101 #: company/templates/company/supplier_part.html:153 order/serializers.py:557 -#: part/serializers.py:577 templates/js/translated/company.js:351 +#: part/serializers.py:575 templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 #: templates/js/translated/company.js:1630 templates/js/translated/part.js:1807 @@ -4505,7 +4502,7 @@ msgid "Parameter name" msgstr "" #: company/models.py:597 report/templates/report/inventree_test_report.html:104 -#: stock/models.py:2544 templates/js/translated/company.js:1166 +#: stock/models.py:2539 templates/js/translated/company.js:1166 #: templates/js/translated/company.js:1419 templates/js/translated/part.js:1499 #: templates/js/translated/stock.js:1607 msgid "Value" @@ -4516,7 +4513,7 @@ msgid "Parameter value" msgstr "" #: company/models.py:605 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1159 part/models.py:3783 +#: part/admin.py:57 part/models.py:1159 part/models.py:3770 #: part/templates/part/part_base.html:300 #: templates/js/translated/company.js:1425 templates/js/translated/part.js:1518 #: templates/js/translated/part.js:1622 templates/js/translated/part.js:2376 @@ -4530,7 +4527,7 @@ msgstr "" #: company/models.py:659 company/templates/company/supplier_part.html:7 #: company/templates/company/supplier_part.html:24 order/api.py:440 #: order/serializers.py:492 stock/models.py:802 -#: stock/templates/stock/item_base.html:233 +#: stock/templates/stock/item_base.html:229 #: templates/js/translated/build.js:1055 #: templates/js/translated/company.js:1600 #: templates/js/translated/purchase_order.js:752 @@ -4553,9 +4550,9 @@ msgstr "" #: company/models.py:786 company/templates/company/company_base.html:87 #: company/templates/company/supplier_part.html:129 order/models.py:492 #: order/templates/order/order_base.html:141 part/bom.py:279 part/bom.py:314 -#: part/serializers.py:551 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:549 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 -#: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 +#: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:220 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:511 @@ -4570,7 +4567,7 @@ msgstr "Toimittaja" msgid "Select supplier" msgstr "Valitse toimittaja" -#: company/models.py:793 part/serializers.py:562 +#: company/models.py:793 part/serializers.py:560 msgid "Supplier stock keeping unit" msgstr "Toimittajan varastonimike" @@ -4591,7 +4588,7 @@ msgid "Supplier part description" msgstr "" #: company/models.py:832 company/templates/company/supplier_part.html:187 -#: order/serializers.py:699 part/admin.py:415 part/models.py:4301 +#: order/serializers.py:699 part/admin.py:415 part/models.py:4288 #: part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 @@ -4603,11 +4600,11 @@ msgstr "" msgid "Note" msgstr "Muistiinpano" -#: company/models.py:841 part/models.py:2129 +#: company/models.py:841 part/models.py:2128 msgid "base cost" msgstr "" -#: company/models.py:842 part/models.py:2130 +#: company/models.py:842 part/models.py:2129 msgid "Minimum charge (e.g. stocking fee)" msgstr "" @@ -4629,7 +4626,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:876 part/models.py:2136 +#: company/models.py:876 part/models.py:2135 msgid "multiple" msgstr "" @@ -4661,7 +4658,7 @@ msgstr "" msgid "Company Name" msgstr "" -#: company/serializers.py:397 part/admin.py:126 part/serializers.py:919 +#: company/serializers.py:397 part/admin.py:126 part/serializers.py:917 #: part/templates/part/part_base.html:197 #: templates/js/translated/company.js:1689 #: templates/js/translated/table_filters.js:362 @@ -4735,7 +4732,7 @@ msgstr "" #: order/models.py:2140 order/templates/order/return_order_base.html:134 #: order/templates/order/sales_order_base.html:151 stock/models.py:844 #: stock/models.py:845 stock/serializers.py:1336 -#: stock/templates/stock/item_base.html:405 +#: stock/templates/stock/item_base.html:401 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 #: templates/js/translated/return_order.js:295 @@ -4939,7 +4936,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:925 +#: part/admin.py:122 part/serializers.py:923 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -5030,7 +5027,7 @@ msgid "No supplier information available" msgstr "" #: company/templates/company/supplier_part.html:139 order/serializers.py:554 -#: part/bom.py:286 part/bom.py:315 part/serializers.py:561 +#: part/bom.py:286 part/bom.py:315 part/serializers.py:559 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1793 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1920 @@ -5084,7 +5081,7 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:923 part/stocktake.py:223 +#: part/serializers.py:921 part/stocktake.py:223 #: part/templates/part/category.html:180 #: part/templates/part/category_sidebar.html:17 stock/admin.py:68 #: stock/serializers.py:1021 stock/serializers.py:1199 @@ -5215,7 +5212,7 @@ msgstr "" msgid "Original row data" msgstr "" -#: importer/models.py:504 part/models.py:3965 +#: importer/models.py:504 part/models.py:3952 msgid "Data" msgstr "" @@ -5473,7 +5470,7 @@ msgstr "" #: order/models.py:1592 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_purchase_order_report.html:14 -#: stock/serializers.py:121 stock/templates/stock/item_base.html:176 +#: stock/serializers.py:121 stock/templates/stock/item_base.html:172 #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/part.js:1752 templates/js/translated/pricing.js:804 #: templates/js/translated/purchase_order.js:168 @@ -5694,7 +5691,7 @@ msgid "Number of items received" msgstr "" #: order/models.py:1513 stock/models.py:963 stock/serializers.py:617 -#: stock/templates/stock/item_base.html:183 +#: stock/templates/stock/item_base.html:179 #: templates/js/translated/stock.js:2397 msgid "Purchase Price" msgstr "" @@ -5768,7 +5765,7 @@ msgid "User who checked this shipment" msgstr "" #: order/models.py:1788 order/models.py:2011 order/serializers.py:1479 -#: order/serializers.py:1589 templates/js/translated/model_renderers.js:455 +#: order/serializers.py:1597 templates/js/translated/model_renderers.js:455 msgid "Shipment" msgstr "" @@ -5982,7 +5979,7 @@ msgstr "" msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:656 order/serializers.py:779 order/serializers.py:1790 +#: order/serializers.py:656 order/serializers.py:779 order/serializers.py:1798 msgid "Select destination location for received items" msgstr "" @@ -6019,7 +6016,7 @@ msgstr "" msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:795 order/serializers.py:1806 +#: order/serializers.py:795 order/serializers.py:1814 msgid "Line items must be provided" msgstr "" @@ -6051,39 +6048,39 @@ msgstr "" msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1491 order/serializers.py:1597 +#: order/serializers.py:1491 order/serializers.py:1605 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1494 order/serializers.py:1600 +#: order/serializers.py:1494 order/serializers.py:1608 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1541 +#: order/serializers.py:1549 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1548 -msgid "The following serial numbers are already allocated" +#: order/serializers.py:1556 +msgid "The following serial numbers are unavailable" msgstr "" -#: order/serializers.py:1760 +#: order/serializers.py:1768 msgid "Return order line item" msgstr "" -#: order/serializers.py:1766 +#: order/serializers.py:1774 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1769 +#: order/serializers.py:1777 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1798 +#: order/serializers.py:1806 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1881 +#: order/serializers.py:1889 msgid "Line price currency" msgstr "" @@ -6510,7 +6507,7 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:48 part/models.py:1044 part/serializers.py:908 +#: part/admin.py:48 part/models.py:1044 part/serializers.py:906 #: part/templates/part/part_base.html:276 #: report/templates/report/inventree_stock_location_report.html:103 #: templates/js/translated/part.js:1233 templates/js/translated/part.js:2347 @@ -6537,7 +6534,7 @@ msgstr "" msgid "Category ID" msgstr "" -#: part/admin.py:67 part/admin.py:304 part/serializers.py:893 +#: part/admin.py:67 part/admin.py:304 part/serializers.py:891 #: part/stocktake.py:222 msgid "Category Name" msgstr "" @@ -6562,18 +6559,18 @@ msgstr "" msgid "Used In" msgstr "" -#: part/admin.py:150 part/serializers.py:918 +#: part/admin.py:150 part/serializers.py:916 #: part/templates/part/part_base.html:248 stock/admin.py:236 #: templates/js/translated/part.js:717 templates/js/translated/part.js:2159 msgid "Building" msgstr "" -#: part/admin.py:155 part/models.py:3214 part/models.py:3228 +#: part/admin.py:155 part/models.py:3201 part/models.py:3215 #: templates/js/translated/part.js:976 msgid "Minimum Cost" msgstr "" -#: part/admin.py:158 part/models.py:3221 part/models.py:3235 +#: part/admin.py:158 part/models.py:3208 part/models.py:3222 #: templates/js/translated/part.js:986 msgid "Maximum Cost" msgstr "" @@ -6592,7 +6589,7 @@ msgid "Category Path" msgstr "" #: part/admin.py:325 part/models.py:420 part/serializers.py:130 -#: part/serializers.py:290 part/serializers.py:428 +#: part/serializers.py:290 part/serializers.py:426 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:20 #: part/templates/part/category.html:138 part/templates/part/category.html:158 #: part/templates/part/category_sidebar.html:9 @@ -6619,13 +6616,13 @@ msgstr "" msgid "Part Revision" msgstr "" -#: part/admin.py:418 part/serializers.py:1367 +#: part/admin.py:418 part/serializers.py:1365 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:423 part/serializers.py:1382 +#: part/admin.py:423 part/serializers.py:1380 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -6719,8 +6716,8 @@ msgstr "" msgid "BOM Valid" msgstr "" -#: part/api.py:1520 part/models.py:1036 part/models.py:3501 part/models.py:4060 -#: part/serializers.py:443 part/serializers.py:1223 +#: part/api.py:1520 part/models.py:1036 part/models.py:3488 part/models.py:4047 +#: part/serializers.py:441 part/serializers.py:1221 #: part/templates/part/part_base.html:267 stock/api.py:780 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 @@ -6746,7 +6743,7 @@ msgstr "" msgid "Default Location" msgstr "" -#: part/bom.py:184 part/serializers.py:926 +#: part/bom.py:184 part/serializers.py:924 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -6755,7 +6752,7 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:89 part/models.py:4061 part/templates/part/category.html:16 +#: part/models.py:89 part/models.py:4048 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -6878,7 +6875,7 @@ msgstr "" msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:995 part/models.py:4116 +#: part/models.py:995 part/models.py:4103 msgid "Part name" msgstr "" @@ -6906,7 +6903,7 @@ msgstr "" msgid "Part category" msgstr "" -#: part/models.py:1052 part/serializers.py:360 +#: part/models.py:1052 msgid "Part revision or version number" msgstr "" @@ -7012,164 +7009,164 @@ msgid "Owner responsible for this part" msgstr "" #: part/models.py:1264 part/templates/part/part_base.html:355 -#: stock/templates/stock/item_base.html:451 +#: stock/templates/stock/item_base.html:447 #: templates/js/translated/part.js:2490 msgid "Last Stocktake" msgstr "" -#: part/models.py:2137 +#: part/models.py:2136 msgid "Sell multiple" msgstr "" -#: part/models.py:3128 +#: part/models.py:3115 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3144 +#: part/models.py:3131 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3145 +#: part/models.py:3132 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3151 +#: part/models.py:3138 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3152 +#: part/models.py:3139 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3158 +#: part/models.py:3145 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3159 +#: part/models.py:3146 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3165 +#: part/models.py:3152 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3166 +#: part/models.py:3153 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3172 +#: part/models.py:3159 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3173 +#: part/models.py:3160 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3179 +#: part/models.py:3166 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3180 +#: part/models.py:3167 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3186 +#: part/models.py:3173 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3187 +#: part/models.py:3174 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3193 +#: part/models.py:3180 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3194 +#: part/models.py:3181 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3200 +#: part/models.py:3187 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3201 +#: part/models.py:3188 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3207 +#: part/models.py:3194 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3208 +#: part/models.py:3195 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3215 +#: part/models.py:3202 msgid "Override minimum cost" msgstr "" -#: part/models.py:3222 +#: part/models.py:3209 msgid "Override maximum cost" msgstr "" -#: part/models.py:3229 +#: part/models.py:3216 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3236 +#: part/models.py:3223 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3242 +#: part/models.py:3229 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3243 +#: part/models.py:3230 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3249 +#: part/models.py:3236 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3250 +#: part/models.py:3237 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3256 +#: part/models.py:3243 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3257 +#: part/models.py:3244 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3263 +#: part/models.py:3250 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3264 +#: part/models.py:3251 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3283 +#: part/models.py:3270 msgid "Part for stocktake" msgstr "" -#: part/models.py:3288 +#: part/models.py:3275 msgid "Item Count" msgstr "" -#: part/models.py:3289 +#: part/models.py:3276 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3297 +#: part/models.py:3284 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3301 part/models.py:3384 +#: part/models.py:3288 part/models.py:3371 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -7181,363 +7178,363 @@ msgstr "" msgid "Date" msgstr "Päivämäärä" -#: part/models.py:3302 +#: part/models.py:3289 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3310 +#: part/models.py:3297 msgid "Additional notes" msgstr "Muut merkinnät" -#: part/models.py:3320 +#: part/models.py:3307 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3326 +#: part/models.py:3313 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3327 +#: part/models.py:3314 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3333 +#: part/models.py:3320 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3334 +#: part/models.py:3321 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3390 templates/InvenTree/settings/settings_staff_js.html:532 +#: part/models.py:3377 templates/InvenTree/settings/settings_staff_js.html:532 msgid "Report" msgstr "Raportti" -#: part/models.py:3391 +#: part/models.py:3378 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3396 templates/InvenTree/settings/settings_staff_js.html:539 +#: part/models.py:3383 templates/InvenTree/settings/settings_staff_js.html:539 msgid "Part Count" msgstr "" -#: part/models.py:3397 +#: part/models.py:3384 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3407 +#: part/models.py:3394 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3417 +#: part/models.py:3404 msgid "Part Sale Price Break" msgstr "" -#: part/models.py:3529 +#: part/models.py:3516 msgid "Part Test Template" msgstr "" -#: part/models.py:3555 +#: part/models.py:3542 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3576 part/models.py:3745 +#: part/models.py:3563 part/models.py:3732 msgid "Choices must be unique" msgstr "" -#: part/models.py:3587 +#: part/models.py:3574 msgid "Test templates can only be created for testable parts" msgstr "" -#: part/models.py:3598 +#: part/models.py:3585 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3615 templates/js/translated/part.js:2898 +#: part/models.py:3602 templates/js/translated/part.js:2898 msgid "Test Name" msgstr "" -#: part/models.py:3616 +#: part/models.py:3603 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3622 +#: part/models.py:3609 msgid "Test Key" msgstr "" -#: part/models.py:3623 +#: part/models.py:3610 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3630 +#: part/models.py:3617 msgid "Test Description" msgstr "" -#: part/models.py:3631 +#: part/models.py:3618 msgid "Enter description for this test" msgstr "" -#: part/models.py:3635 report/models.py:208 +#: part/models.py:3622 report/models.py:216 #: templates/js/translated/part.js:2919 #: templates/js/translated/table_filters.js:502 msgid "Enabled" msgstr "Käytössä" -#: part/models.py:3635 +#: part/models.py:3622 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3640 templates/js/translated/part.js:2927 +#: part/models.py:3627 templates/js/translated/part.js:2927 #: templates/js/translated/table_filters.js:498 msgid "Required" msgstr "" -#: part/models.py:3641 +#: part/models.py:3628 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3646 templates/js/translated/part.js:2935 +#: part/models.py:3633 templates/js/translated/part.js:2935 msgid "Requires Value" msgstr "" -#: part/models.py:3647 +#: part/models.py:3634 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3652 templates/js/translated/part.js:2942 +#: part/models.py:3639 templates/js/translated/part.js:2942 msgid "Requires Attachment" msgstr "" -#: part/models.py:3654 +#: part/models.py:3641 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3660 part/models.py:3804 templates/js/translated/part.js:1643 +#: part/models.py:3647 part/models.py:3791 templates/js/translated/part.js:1643 msgid "Choices" msgstr "" -#: part/models.py:3661 +#: part/models.py:3648 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3693 +#: part/models.py:3680 msgid "Part Parameter Template" msgstr "" -#: part/models.py:3720 +#: part/models.py:3707 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3725 +#: part/models.py:3712 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3762 +#: part/models.py:3749 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3777 +#: part/models.py:3764 msgid "Parameter Name" msgstr "" -#: part/models.py:3784 +#: part/models.py:3771 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3792 +#: part/models.py:3779 msgid "Parameter description" msgstr "" -#: part/models.py:3798 templates/js/translated/part.js:1634 +#: part/models.py:3785 templates/js/translated/part.js:1634 #: templates/js/translated/table_filters.js:837 msgid "Checkbox" msgstr "" -#: part/models.py:3799 +#: part/models.py:3786 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3805 +#: part/models.py:3792 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3839 +#: part/models.py:3826 msgid "Part Parameter" msgstr "" -#: part/models.py:3865 +#: part/models.py:3852 msgid "Parameter cannot be modified - part is locked" msgstr "" -#: part/models.py:3903 +#: part/models.py:3890 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3952 +#: part/models.py:3939 msgid "Parent Part" msgstr "" -#: part/models.py:3960 part/models.py:4068 part/models.py:4069 +#: part/models.py:3947 part/models.py:4055 part/models.py:4056 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3966 +#: part/models.py:3953 msgid "Parameter Value" msgstr "" -#: part/models.py:4016 +#: part/models.py:4003 msgid "Part Category Parameter Template" msgstr "" -#: part/models.py:4075 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:4062 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:4076 +#: part/models.py:4063 msgid "Default Parameter Value" msgstr "" -#: part/models.py:4114 +#: part/models.py:4101 msgid "Part ID or part name" msgstr "" -#: part/models.py:4115 +#: part/models.py:4102 msgid "Unique part ID value" msgstr "" -#: part/models.py:4117 +#: part/models.py:4104 msgid "Part IPN value" msgstr "" -#: part/models.py:4118 +#: part/models.py:4105 msgid "Level" msgstr "" -#: part/models.py:4118 +#: part/models.py:4105 msgid "BOM level" msgstr "" -#: part/models.py:4228 +#: part/models.py:4215 msgid "BOM item cannot be modified - assembly is locked" msgstr "" -#: part/models.py:4235 +#: part/models.py:4222 msgid "BOM item cannot be modified - variant assembly is locked" msgstr "" -#: part/models.py:4245 +#: part/models.py:4232 msgid "Select parent part" msgstr "" -#: part/models.py:4255 +#: part/models.py:4242 msgid "Sub part" msgstr "" -#: part/models.py:4256 +#: part/models.py:4243 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4267 +#: part/models.py:4254 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4273 +#: part/models.py:4260 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4279 +#: part/models.py:4266 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4286 part/templates/part/upload_bom.html:55 +#: part/models.py:4273 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4287 +#: part/models.py:4274 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4294 +#: part/models.py:4281 msgid "BOM item reference" msgstr "" -#: part/models.py:4302 +#: part/models.py:4289 msgid "BOM item notes" msgstr "" -#: part/models.py:4308 +#: part/models.py:4295 msgid "Checksum" msgstr "" -#: part/models.py:4309 +#: part/models.py:4296 msgid "BOM line checksum" msgstr "" -#: part/models.py:4314 templates/js/translated/table_filters.js:181 +#: part/models.py:4301 templates/js/translated/table_filters.js:181 msgid "Validated" msgstr "" -#: part/models.py:4315 +#: part/models.py:4302 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4320 part/templates/part/upload_bom.html:57 +#: part/models.py:4307 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:185 #: templates/js/translated/table_filters.js:218 msgid "Gets inherited" msgstr "" -#: part/models.py:4321 +#: part/models.py:4308 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4327 +#: part/models.py:4314 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4412 stock/models.py:689 +#: part/models.py:4399 stock/models.py:689 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4422 part/models.py:4424 +#: part/models.py:4409 part/models.py:4411 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4561 +#: part/models.py:4554 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4582 +#: part/models.py:4575 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4595 +#: part/models.py:4588 msgid "Parent BOM item" msgstr "" -#: part/models.py:4603 +#: part/models.py:4596 msgid "Substitute part" msgstr "" -#: part/models.py:4619 +#: part/models.py:4612 msgid "Part 1" msgstr "" -#: part/models.py:4627 +#: part/models.py:4620 msgid "Part 2" msgstr "" -#: part/models.py:4628 +#: part/models.py:4621 msgid "Select Related Part" msgstr "" -#: part/models.py:4647 +#: part/models.py:4640 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4652 +#: part/models.py:4645 msgid "Duplicate relationship already exists" msgstr "" @@ -7571,326 +7568,326 @@ msgstr "" msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:434 +#: part/serializers.py:432 msgid "No parts selected" msgstr "" -#: part/serializers.py:444 +#: part/serializers.py:442 msgid "Select category" msgstr "" -#: part/serializers.py:479 +#: part/serializers.py:477 msgid "Original Part" msgstr "" -#: part/serializers.py:480 +#: part/serializers.py:478 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:485 +#: part/serializers.py:483 msgid "Copy Image" msgstr "" -#: part/serializers.py:486 +#: part/serializers.py:484 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:492 part/templates/part/detail.html:293 +#: part/serializers.py:490 part/templates/part/detail.html:293 msgid "Copy BOM" msgstr "" -#: part/serializers.py:493 +#: part/serializers.py:491 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:499 +#: part/serializers.py:497 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:500 +#: part/serializers.py:498 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:506 +#: part/serializers.py:504 msgid "Copy Notes" msgstr "" -#: part/serializers.py:507 +#: part/serializers.py:505 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:525 +#: part/serializers.py:523 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:527 +#: part/serializers.py:525 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:534 +#: part/serializers.py:532 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:535 +#: part/serializers.py:533 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:552 +#: part/serializers.py:550 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:568 +#: part/serializers.py:566 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:578 +#: part/serializers.py:576 msgid "Manufacturer part number" msgstr "Valmistajan osanumero" -#: part/serializers.py:585 +#: part/serializers.py:583 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:594 +#: part/serializers.py:592 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:605 +#: part/serializers.py:603 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:612 +#: part/serializers.py:610 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:924 +#: part/serializers.py:922 msgid "Revisions" msgstr "" -#: part/serializers.py:929 +#: part/serializers.py:927 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:932 +#: part/serializers.py:930 msgid "Variant Stock" msgstr "" -#: part/serializers.py:962 part/templates/part/copy_part.html:9 +#: part/serializers.py:960 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:474 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:963 +#: part/serializers.py:961 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:969 templates/js/translated/part.js:103 +#: part/serializers.py:967 templates/js/translated/part.js:103 msgid "Initial Stock" msgstr "" -#: part/serializers.py:970 +#: part/serializers.py:968 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:976 +#: part/serializers.py:974 msgid "Supplier Information" msgstr "" -#: part/serializers.py:977 +#: part/serializers.py:975 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:985 +#: part/serializers.py:983 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:986 +#: part/serializers.py:984 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:991 +#: part/serializers.py:989 msgid "Existing Image" msgstr "" -#: part/serializers.py:992 +#: part/serializers.py:990 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:1009 +#: part/serializers.py:1007 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1215 +#: part/serializers.py:1213 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1225 +#: part/serializers.py:1223 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1235 +#: part/serializers.py:1233 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1241 +#: part/serializers.py:1239 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1242 +#: part/serializers.py:1240 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1247 +#: part/serializers.py:1245 msgid "Generate Report" msgstr "Luo raportti" -#: part/serializers.py:1248 +#: part/serializers.py:1246 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1253 +#: part/serializers.py:1251 msgid "Update Parts" msgstr "" -#: part/serializers.py:1254 +#: part/serializers.py:1252 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1262 +#: part/serializers.py:1260 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1368 +#: part/serializers.py:1366 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1375 +#: part/serializers.py:1373 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1383 +#: part/serializers.py:1381 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1390 +#: part/serializers.py:1388 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1419 +#: part/serializers.py:1417 msgid "Update" msgstr "" -#: part/serializers.py:1420 +#: part/serializers.py:1418 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1443 +#: part/serializers.py:1441 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1450 +#: part/serializers.py:1448 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1453 +#: part/serializers.py:1451 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1597 +#: part/serializers.py:1595 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1606 +#: part/serializers.py:1604 msgid "Component Name" msgstr "" -#: part/serializers.py:1609 +#: part/serializers.py:1607 msgid "Component IPN" msgstr "" -#: part/serializers.py:1612 +#: part/serializers.py:1610 msgid "Component Description" msgstr "" -#: part/serializers.py:1618 +#: part/serializers.py:1616 msgid "Select the component part" msgstr "" -#: part/serializers.py:1627 part/templates/part/part_base.html:242 +#: part/serializers.py:1625 part/templates/part/part_base.html:242 #: templates/js/translated/bom.js:1219 msgid "Can Build" msgstr "" -#: part/serializers.py:1858 +#: part/serializers.py:1856 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1866 +#: part/serializers.py:1864 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1867 +#: part/serializers.py:1865 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1872 +#: part/serializers.py:1870 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1873 +#: part/serializers.py:1871 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1878 +#: part/serializers.py:1876 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1879 +#: part/serializers.py:1877 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1884 +#: part/serializers.py:1882 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1885 +#: part/serializers.py:1883 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1922 +#: part/serializers.py:1920 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1923 +#: part/serializers.py:1921 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1955 +#: part/serializers.py:1953 msgid "No part column specified" msgstr "" -#: part/serializers.py:1999 +#: part/serializers.py:1997 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:2002 +#: part/serializers.py:2000 msgid "No matching part found" msgstr "" -#: part/serializers.py:2004 +#: part/serializers.py:2002 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:2013 +#: part/serializers.py:2011 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:2021 +#: part/serializers.py:2019 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:2044 +#: part/serializers.py:2042 msgid "At least one BOM item is required" msgstr "" @@ -8216,7 +8213,7 @@ msgid "Subscribe to notifications for this part" msgstr "" #: part/templates/part/part_base.html:52 -#: stock/templates/stock/item_base.html:62 +#: stock/templates/stock/item_base.html:61 #: stock/templates/stock/location.html:71 templates/js/translated/label.js:136 msgid "Print Label" msgstr "" @@ -8226,7 +8223,7 @@ msgid "Show pricing information" msgstr "" #: part/templates/part/part_base.html:63 -#: stock/templates/stock/item_base.html:110 +#: stock/templates/stock/item_base.html:106 #: stock/templates/stock/location.html:80 msgid "Stock actions" msgstr "" @@ -8297,12 +8294,12 @@ msgid "Required for Orders" msgstr "" #: part/templates/part/part_base.html:225 -#: stock/templates/stock/item_base.html:388 +#: stock/templates/stock/item_base.html:384 msgid "Allocated to Build Orders" msgstr "" #: part/templates/part/part_base.html:234 -#: stock/templates/stock/item_base.html:381 +#: stock/templates/stock/item_base.html:377 msgid "Allocated to Sales Orders" msgstr "" @@ -8322,7 +8319,7 @@ msgid "Latest Serial Number" msgstr "" #: part/templates/part/part_base.html:372 -#: stock/templates/stock/item_base.html:322 +#: stock/templates/stock/item_base.html:318 msgid "Search for serial number" msgstr "" @@ -8449,7 +8446,7 @@ msgid "Edit" msgstr "Muokkaa" #: part/templates/part/prices.html:28 stock/admin.py:252 -#: stock/templates/stock/item_base.html:446 +#: stock/templates/stock/item_base.html:442 #: templates/js/translated/company.js:1703 #: templates/js/translated/company.js:1713 #: templates/js/translated/stock.js:2332 @@ -8604,7 +8601,7 @@ msgstr "" msgid "Part Pricing" msgstr "" -#: plugin/api.py:172 +#: plugin/api.py:174 msgid "Plugin cannot be deleted as it is currently active" msgstr "" @@ -8940,7 +8937,7 @@ msgstr "" msgid "Print a border around each label" msgstr "" -#: plugin/builtin/labels/label_sheet.py:47 report/models.py:307 +#: plugin/builtin/labels/label_sheet.py:47 report/models.py:315 msgid "Landscape" msgstr "" @@ -9012,44 +9009,44 @@ msgstr "" msgid "The Supplier which acts as 'TME'" msgstr "" -#: plugin/installer.py:194 plugin/installer.py:274 +#: plugin/installer.py:199 plugin/installer.py:282 msgid "Only staff users can administer plugins" msgstr "" -#: plugin/installer.py:197 +#: plugin/installer.py:202 msgid "Plugin installation is disabled" msgstr "" -#: plugin/installer.py:241 +#: plugin/installer.py:246 msgid "Installed plugin successfully" msgstr "" -#: plugin/installer.py:246 +#: plugin/installer.py:251 #, python-brace-format msgid "Installed plugin into {path}" msgstr "" -#: plugin/installer.py:265 +#: plugin/installer.py:273 msgid "Plugin was not found in registry" msgstr "" -#: plugin/installer.py:268 +#: plugin/installer.py:276 msgid "Plugin is not a packaged plugin" msgstr "" -#: plugin/installer.py:271 +#: plugin/installer.py:279 msgid "Plugin package name not found" msgstr "" -#: plugin/installer.py:291 +#: plugin/installer.py:299 msgid "Plugin uninstalling is disabled" msgstr "" -#: plugin/installer.py:295 +#: plugin/installer.py:303 msgid "Plugin cannot be uninstalled as it is currently active" msgstr "" -#: plugin/installer.py:308 +#: plugin/installer.py:316 msgid "Uninstalled plugin successfully" msgstr "" @@ -9098,7 +9095,7 @@ msgstr "" msgid "Package Plugin" msgstr "" -#: plugin/models.py:220 report/models.py:474 +#: plugin/models.py:220 report/models.py:482 #: templates/InvenTree/settings/plugin_settings.html:9 #: templates/js/translated/plugin.js:51 msgid "Plugin" @@ -9167,6 +9164,38 @@ msgstr "" msgid "InvenTree Contributors" msgstr "" +#: plugin/samples/integration/user_interface_sample.py:22 +msgid "Enable Part Panels" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:23 +msgid "Enable custom panels for Part views" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:28 +msgid "Enable Purchase Order Panels" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:29 +msgid "Enable custom panels for Purchase Order views" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:34 +msgid "Enable Broken Panels" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:35 +msgid "Enable broken panels for testing" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:40 +msgid "Enable Dynamic Panel" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:41 +msgid "Enable dynamic panels for testing" +msgstr "" + #: plugin/serializers.py:81 msgid "Source URL" msgstr "" @@ -9245,12 +9274,36 @@ msgstr "" msgid "Delete the plugin configuration from the database" msgstr "" +#: plugin/serializers.py:324 +msgid "Plugin Key" +msgstr "" + +#: plugin/serializers.py:328 +msgid "Panel Name" +msgstr "" + +#: plugin/serializers.py:332 +msgid "Panel Title" +msgstr "" + +#: plugin/serializers.py:337 +msgid "Panel Icon" +msgstr "" + +#: plugin/serializers.py:341 +msgid "Panel Content (HTML)" +msgstr "" + +#: plugin/serializers.py:345 +msgid "Panel Source (javascript)" +msgstr "" + #: report/api.py:88 msgid "No valid objects provided to template" msgstr "" -#: report/api.py:103 report/models.py:438 report/serializers.py:98 -#: report/serializers.py:148 templates/js/translated/purchase_order.js:1817 +#: report/api.py:103 report/models.py:446 report/serializers.py:99 +#: report/serializers.py:149 templates/js/translated/purchase_order.js:1817 #: templates/js/translated/return_order.js:353 #: templates/js/translated/sales_order.js:887 #: templates/js/translated/sales_order.js:1047 @@ -9281,7 +9334,11 @@ msgstr "" msgid "Error printing label" msgstr "" -#: report/api.py:375 report/api.py:411 +#: report/api.py:358 +msgid "Report saved at time of printing" +msgstr "" + +#: report/api.py:384 report/api.py:420 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" @@ -9318,135 +9375,143 @@ msgstr "" msgid "Revision number (auto-increments)" msgstr "" -#: report/models.py:202 +#: report/models.py:168 +msgid "Attach to Model on Print" +msgstr "" + +#: report/models.py:170 +msgid "Save report output as an attachment against linked model instance when printing" +msgstr "" + +#: report/models.py:210 msgid "Filename Pattern" msgstr "" -#: report/models.py:203 +#: report/models.py:211 msgid "Pattern for generating filenames" msgstr "" -#: report/models.py:208 +#: report/models.py:216 msgid "Template is enabled" msgstr "" -#: report/models.py:214 +#: report/models.py:222 msgid "Target model type for template" msgstr "" -#: report/models.py:234 +#: report/models.py:242 msgid "Filters" msgstr "Suodattimet" -#: report/models.py:235 +#: report/models.py:243 msgid "Template query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:294 report/models.py:361 +#: report/models.py:302 report/models.py:369 msgid "Template file" msgstr "" -#: report/models.py:302 +#: report/models.py:310 msgid "Page size for PDF reports" msgstr "" -#: report/models.py:308 +#: report/models.py:316 msgid "Render report in landscape orientation" msgstr "" -#: report/models.py:367 +#: report/models.py:375 msgid "Width [mm]" msgstr "Leveys [mm]" -#: report/models.py:368 +#: report/models.py:376 msgid "Label width, specified in mm" msgstr "" -#: report/models.py:374 +#: report/models.py:382 msgid "Height [mm]" msgstr "Korkeus [mm]" -#: report/models.py:375 +#: report/models.py:383 msgid "Label height, specified in mm" msgstr "" -#: report/models.py:438 +#: report/models.py:446 msgid "Number of items to process" msgstr "" -#: report/models.py:444 +#: report/models.py:452 msgid "Report generation is complete" msgstr "" -#: report/models.py:448 templates/js/translated/build.js:2352 +#: report/models.py:456 templates/js/translated/build.js:2352 msgid "Progress" msgstr "" -#: report/models.py:448 +#: report/models.py:456 msgid "Report generation progress" msgstr "" -#: report/models.py:456 +#: report/models.py:464 msgid "Report Template" msgstr "" -#: report/models.py:463 report/models.py:486 +#: report/models.py:471 report/models.py:494 msgid "Output File" msgstr "" -#: report/models.py:464 report/models.py:487 +#: report/models.py:472 report/models.py:495 msgid "Generated output file" msgstr "" -#: report/models.py:475 +#: report/models.py:483 msgid "Label output plugin" msgstr "" -#: report/models.py:479 +#: report/models.py:487 msgid "Label Template" msgstr "" -#: report/models.py:502 +#: report/models.py:510 msgid "Snippet" msgstr "" -#: report/models.py:503 +#: report/models.py:511 msgid "Report snippet file" msgstr "" -#: report/models.py:510 +#: report/models.py:518 msgid "Snippet file description" msgstr "" -#: report/models.py:528 +#: report/models.py:536 msgid "Asset" msgstr "" -#: report/models.py:529 +#: report/models.py:537 msgid "Report asset file" msgstr "" -#: report/models.py:536 +#: report/models.py:544 msgid "Asset file description" msgstr "" -#: report/serializers.py:91 +#: report/serializers.py:92 msgid "Select report template" msgstr "" -#: report/serializers.py:99 report/serializers.py:149 +#: report/serializers.py:100 report/serializers.py:150 msgid "List of item primary keys to include in the report" msgstr "" -#: report/serializers.py:132 +#: report/serializers.py:133 msgid "Select label template" msgstr "" -#: report/serializers.py:140 +#: report/serializers.py:141 msgid "Printing Plugin" msgstr "" -#: report/serializers.py:141 +#: report/serializers.py:142 msgid "Select plugin to use for label printing" msgstr "" @@ -9517,7 +9582,7 @@ msgstr "" msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report.html:103 stock/models.py:2538 +#: report/templates/report/inventree_test_report.html:103 stock/models.py:2533 msgid "Result" msgstr "" @@ -9598,7 +9663,7 @@ msgid "Customer ID" msgstr "" #: stock/admin.py:206 stock/models.py:829 -#: stock/templates/stock/item_base.html:354 +#: stock/templates/stock/item_base.html:350 msgid "Installed In" msgstr "" @@ -9623,7 +9688,7 @@ msgid "Delete on Deplete" msgstr "" #: stock/admin.py:261 stock/models.py:923 -#: stock/templates/stock/item_base.html:433 +#: stock/templates/stock/item_base.html:429 #: templates/js/translated/stock.js:2316 users/models.py:124 msgid "Expiry Date" msgstr "" @@ -9665,7 +9730,7 @@ msgid "Expiry date after" msgstr "" #: stock/api.py:839 stock/serializers.py:611 -#: stock/templates/stock/item_base.html:439 +#: stock/templates/stock/item_base.html:435 #: templates/js/translated/table_filters.js:448 msgid "Stale" msgstr "" @@ -9715,7 +9780,7 @@ msgid "Stock Locations" msgstr "" #: stock/models.py:185 stock/models.py:972 -#: stock/templates/stock/item_base.html:247 +#: stock/templates/stock/item_base.html:243 msgid "Owner" msgstr "" @@ -9826,7 +9891,7 @@ msgstr "" msgid "Build for this stock item" msgstr "" -#: stock/models.py:892 stock/templates/stock/item_base.html:363 +#: stock/models.py:892 stock/templates/stock/item_base.html:359 msgid "Consumed By" msgstr "" @@ -9891,7 +9956,7 @@ msgstr "" msgid "Serial numbers already exist" msgstr "" -#: stock/models.py:1636 +#: stock/models.py:1636 stock/models.py:2436 msgid "Test template does not exist" msgstr "" @@ -9939,67 +10004,67 @@ msgstr "" msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2337 +#: stock/models.py:2335 msgid "Stock Item Tracking" msgstr "" -#: stock/models.py:2370 +#: stock/models.py:2368 msgid "Entry notes" msgstr "" -#: stock/models.py:2410 +#: stock/models.py:2408 msgid "Stock Item Test Result" msgstr "" -#: stock/models.py:2443 +#: stock/models.py:2439 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2448 +#: stock/models.py:2443 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2453 +#: stock/models.py:2448 msgid "Invalid value for this test" msgstr "" -#: stock/models.py:2538 +#: stock/models.py:2533 msgid "Test result" msgstr "" -#: stock/models.py:2545 +#: stock/models.py:2540 msgid "Test output value" msgstr "" -#: stock/models.py:2553 stock/serializers.py:245 +#: stock/models.py:2548 stock/serializers.py:245 msgid "Test result attachment" msgstr "" -#: stock/models.py:2557 +#: stock/models.py:2552 msgid "Test notes" msgstr "" -#: stock/models.py:2565 templates/js/translated/stock.js:1633 +#: stock/models.py:2560 templates/js/translated/stock.js:1633 msgid "Test station" msgstr "" -#: stock/models.py:2566 +#: stock/models.py:2561 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2572 +#: stock/models.py:2567 msgid "Started" msgstr "" -#: stock/models.py:2573 +#: stock/models.py:2568 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2579 +#: stock/models.py:2574 msgid "Finished" msgstr "" -#: stock/models.py:2580 +#: stock/models.py:2575 msgid "The timestamp of the test finish" msgstr "" @@ -10059,7 +10124,7 @@ msgstr "" msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:459 stock/templates/stock/item_base.html:193 +#: stock/serializers.py:459 stock/templates/stock/item_base.html:189 msgid "Parent Item" msgstr "" @@ -10071,7 +10136,7 @@ msgstr "" msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:603 stock/templates/stock/item_base.html:437 +#: stock/serializers.py:603 stock/templates/stock/item_base.html:433 #: templates/js/translated/table_filters.js:442 users/models.py:174 msgid "Expired" msgstr "" @@ -10410,7 +10475,7 @@ msgstr "" msgid "Test Data" msgstr "" -#: stock/templates/stock/item.html:85 stock/templates/stock/item_base.html:65 +#: stock/templates/stock/item.html:85 msgid "Test Report" msgstr "" @@ -10450,200 +10515,204 @@ msgstr "" msgid "Scan to Location" msgstr "" -#: stock/templates/stock/item_base.html:59 +#: stock/templates/stock/item_base.html:58 #: stock/templates/stock/location.html:67 #: templates/js/translated/filters.js:434 msgid "Printing actions" msgstr "" -#: stock/templates/stock/item_base.html:75 +#: stock/templates/stock/item_base.html:63 templates/js/translated/report.js:49 +msgid "Print Report" +msgstr "" + +#: stock/templates/stock/item_base.html:71 msgid "Stock adjustment actions" msgstr "" -#: stock/templates/stock/item_base.html:79 +#: stock/templates/stock/item_base.html:75 #: stock/templates/stock/location.html:87 templates/js/translated/stock.js:1909 msgid "Count stock" msgstr "" -#: stock/templates/stock/item_base.html:81 +#: stock/templates/stock/item_base.html:77 #: templates/js/translated/stock.js:1891 msgid "Add stock" msgstr "" -#: stock/templates/stock/item_base.html:82 +#: stock/templates/stock/item_base.html:78 #: templates/js/translated/stock.js:1900 msgid "Remove stock" msgstr "" -#: stock/templates/stock/item_base.html:85 +#: stock/templates/stock/item_base.html:81 msgid "Serialize stock" msgstr "" -#: stock/templates/stock/item_base.html:88 +#: stock/templates/stock/item_base.html:84 #: stock/templates/stock/location.html:93 templates/js/translated/stock.js:1918 msgid "Transfer stock" msgstr "" -#: stock/templates/stock/item_base.html:91 +#: stock/templates/stock/item_base.html:87 #: templates/js/translated/stock.js:1973 msgid "Assign to customer" msgstr "" -#: stock/templates/stock/item_base.html:94 +#: stock/templates/stock/item_base.html:90 msgid "Return to stock" msgstr "" -#: stock/templates/stock/item_base.html:97 +#: stock/templates/stock/item_base.html:93 msgid "Uninstall stock item" msgstr "" -#: stock/templates/stock/item_base.html:97 +#: stock/templates/stock/item_base.html:93 msgid "Uninstall" msgstr "" -#: stock/templates/stock/item_base.html:101 +#: stock/templates/stock/item_base.html:97 msgid "Install stock item" msgstr "" -#: stock/templates/stock/item_base.html:101 +#: stock/templates/stock/item_base.html:97 msgid "Install" msgstr "" -#: stock/templates/stock/item_base.html:115 +#: stock/templates/stock/item_base.html:111 msgid "Convert to variant" msgstr "" -#: stock/templates/stock/item_base.html:118 +#: stock/templates/stock/item_base.html:114 msgid "Duplicate stock item" msgstr "" -#: stock/templates/stock/item_base.html:120 +#: stock/templates/stock/item_base.html:116 msgid "Edit stock item" msgstr "" -#: stock/templates/stock/item_base.html:123 +#: stock/templates/stock/item_base.html:119 msgid "Delete stock item" msgstr "" -#: stock/templates/stock/item_base.html:169 templates/InvenTree/search.html:139 +#: stock/templates/stock/item_base.html:165 templates/InvenTree/search.html:139 #: templates/js/translated/build.js:2298 templates/navbar.html:38 msgid "Build" msgstr "" -#: stock/templates/stock/item_base.html:211 +#: stock/templates/stock/item_base.html:207 msgid "No manufacturer set" msgstr "" -#: stock/templates/stock/item_base.html:251 +#: stock/templates/stock/item_base.html:247 msgid "You are not in the list of owners of this item. This stock item cannot be edited." msgstr "" -#: stock/templates/stock/item_base.html:252 +#: stock/templates/stock/item_base.html:248 #: stock/templates/stock/location.html:146 msgid "Read only" msgstr "" -#: stock/templates/stock/item_base.html:265 +#: stock/templates/stock/item_base.html:261 msgid "This stock item is unavailable" msgstr "" -#: stock/templates/stock/item_base.html:271 +#: stock/templates/stock/item_base.html:267 msgid "This stock item is in production and cannot be edited." msgstr "" -#: stock/templates/stock/item_base.html:272 +#: stock/templates/stock/item_base.html:268 msgid "Edit the stock item from the build view." msgstr "" -#: stock/templates/stock/item_base.html:287 +#: stock/templates/stock/item_base.html:283 msgid "This stock item is allocated to Sales Order" msgstr "" -#: stock/templates/stock/item_base.html:295 +#: stock/templates/stock/item_base.html:291 msgid "This stock item is allocated to Build Order" msgstr "" -#: stock/templates/stock/item_base.html:311 +#: stock/templates/stock/item_base.html:307 msgid "This stock item is serialized. It has a unique serial number and the quantity cannot be adjusted" msgstr "" -#: stock/templates/stock/item_base.html:317 +#: stock/templates/stock/item_base.html:313 msgid "previous page" msgstr "edellinen sivu" -#: stock/templates/stock/item_base.html:317 +#: stock/templates/stock/item_base.html:313 msgid "Navigate to previous serial number" msgstr "Siirry edeltävään sarjanumeroon" -#: stock/templates/stock/item_base.html:326 +#: stock/templates/stock/item_base.html:322 msgid "next page" msgstr "seuraava sivu" -#: stock/templates/stock/item_base.html:326 +#: stock/templates/stock/item_base.html:322 msgid "Navigate to next serial number" msgstr "Siirry seuraavaan sarjanumeroon" -#: stock/templates/stock/item_base.html:398 +#: stock/templates/stock/item_base.html:394 #: templates/js/translated/build.js:2555 msgid "No location set" msgstr "" -#: stock/templates/stock/item_base.html:413 +#: stock/templates/stock/item_base.html:409 msgid "Tests" msgstr "" -#: stock/templates/stock/item_base.html:419 +#: stock/templates/stock/item_base.html:415 msgid "This stock item has not passed all required tests" msgstr "" -#: stock/templates/stock/item_base.html:437 +#: stock/templates/stock/item_base.html:433 #, python-format msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:439 +#: stock/templates/stock/item_base.html:435 #, python-format msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:455 +#: stock/templates/stock/item_base.html:451 msgid "No stocktake performed" msgstr "" -#: stock/templates/stock/item_base.html:504 +#: stock/templates/stock/item_base.html:500 #: templates/js/translated/stock.js:2038 msgid "stock item" msgstr "" -#: stock/templates/stock/item_base.html:527 +#: stock/templates/stock/item_base.html:523 msgid "Edit Stock Status" msgstr "" -#: stock/templates/stock/item_base.html:536 +#: stock/templates/stock/item_base.html:532 msgid "Stock Item QR Code" msgstr "" -#: stock/templates/stock/item_base.html:547 +#: stock/templates/stock/item_base.html:543 msgid "Link Barcode to Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:611 +#: stock/templates/stock/item_base.html:607 msgid "Select one of the part variants listed below." msgstr "" -#: stock/templates/stock/item_base.html:614 +#: stock/templates/stock/item_base.html:610 msgid "Warning" msgstr "Varoitus" -#: stock/templates/stock/item_base.html:615 +#: stock/templates/stock/item_base.html:611 msgid "This action cannot be easily undone" msgstr "" -#: stock/templates/stock/item_base.html:623 +#: stock/templates/stock/item_base.html:619 msgid "Convert Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:656 +#: stock/templates/stock/item_base.html:652 msgid "Return to Stock" msgstr "" @@ -11310,7 +11379,7 @@ msgid "Delete Location Type" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:503 -#: templates/InvenTree/settings/stock.html:38 +#: templates/InvenTree/settings/stock.html:39 msgid "New Location Type" msgstr "" @@ -11367,7 +11436,7 @@ msgstr "" msgid "Stock Settings" msgstr "" -#: templates/InvenTree/settings/stock.html:34 +#: templates/InvenTree/settings/stock.html:35 msgid "Stock Location Types" msgstr "" @@ -11852,23 +11921,23 @@ msgstr "Lisää liite" msgid "Barcode Identifier" msgstr "" -#: templates/base.html:103 +#: templates/base.html:102 msgid "Server Restart Required" msgstr "Palvelimen uudelleenkäynnistys vaaditaan" -#: templates/base.html:106 +#: templates/base.html:105 msgid "A configuration option has been changed which requires a server restart" msgstr "" -#: templates/base.html:106 templates/base.html:116 +#: templates/base.html:105 templates/base.html:115 msgid "Contact your system administrator for further information" msgstr "" -#: templates/base.html:113 +#: templates/base.html:112 msgid "Pending Database Migrations" msgstr "" -#: templates/base.html:116 +#: templates/base.html:115 msgid "There are pending database migrations which require attention" msgstr "" @@ -13946,10 +14015,6 @@ msgstr "" msgid "Delete line item" msgstr "" -#: templates/js/translated/report.js:49 -msgid "Print Report" -msgstr "" - #: templates/js/translated/report.js:68 msgid "Report print successful" msgstr "" diff --git a/src/backend/InvenTree/locale/fr/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/fr/LC_MESSAGES/django.po index 1ce8ba2e71c8..f4cc3d81e8f1 100644 --- a/src/backend/InvenTree/locale/fr/LC_MESSAGES/django.po +++ b/src/backend/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: 2024-08-29 07:07+0000\n" -"PO-Revision-Date: 2024-08-29 07:10\n" +"POT-Creation-Date: 2024-09-16 00:37+0000\n" +"PO-Revision-Date: 2024-09-16 00:40\n" "Last-Translator: \n" "Language-Team: French\n" "Language: fr_FR\n" @@ -65,9 +65,9 @@ msgstr "Entrer la date" #: 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:59 -#: part/models.py:3309 part/templates/part/part_sidebar.html:65 +#: part/models.py:3296 part/templates/part/part_sidebar.html:65 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/admin.py:231 stock/models.py:2369 stock/models.py:2557 +#: stock/admin.py:231 stock/models.py:2367 stock/models.py:2552 #: stock/serializers.py:705 stock/serializers.py:863 stock/serializers.py:989 #: stock/serializers.py:1039 stock/serializers.py:1350 #: stock/serializers.py:1439 stock/serializers.py:1604 @@ -364,7 +364,7 @@ msgstr "Chinois (Traditionnel)" msgid "[{site_name}] Log in to the app" msgstr "[{site_name}] Se connecter à l'application" -#: InvenTree/magic_login.py:38 InvenTree/serializers.py:413 +#: InvenTree/magic_login.py:38 InvenTree/serializers.py:416 #: company/models.py:133 company/templates/company/company_base.html:138 #: templates/InvenTree/settings/user.html:49 #: templates/js/translated/company.js:677 @@ -419,9 +419,9 @@ msgstr "Les noms dupliqués ne peuvent pas exister sous le même parent" msgid "Invalid choice" msgstr "Choix invalide" -#: InvenTree/models.py:767 common/models.py:2704 common/models.py:3131 -#: common/models.py:3351 common/serializers.py:439 company/models.py:590 -#: machine/models.py:24 part/models.py:995 part/models.py:3776 +#: InvenTree/models.py:767 common/models.py:2705 common/models.py:3132 +#: common/models.py:3352 common/serializers.py:455 company/models.py:590 +#: machine/models.py:24 part/models.py:995 part/models.py:3763 #: plugin/models.py:51 report/models.py:149 stock/models.py:82 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -446,10 +446,10 @@ msgstr "Nom" #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 order/models.py:289 #: order/models.py:1406 part/admin.py:305 part/admin.py:411 part/models.py:1018 -#: part/models.py:3791 part/templates/part/category.html:79 +#: part/models.py:3778 part/templates/part/category.html:79 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:155 -#: report/models.py:509 report/models.py:535 +#: report/models.py:517 report/models.py:543 #: report/templates/report/inventree_build_order_report.html:117 #: stock/admin.py:54 stock/models.py:88 stock/templates/stock/location.html:122 #: templates/InvenTree/settings/notifications.html:19 @@ -517,12 +517,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:63 part/models.py:4400 +#: InvenTree/serializers.py:63 part/models.py:4387 msgid "Must be a valid number" msgstr "Doit être un nombre valide" #: InvenTree/serializers.py:100 company/models.py:183 -#: company/templates/company/company_base.html:112 part/models.py:3127 +#: company/templates/company/company_base.html:112 part/models.py:3114 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -536,43 +536,43 @@ msgstr "Sélectionnez la devise à partir des options disponibles" msgid "Username" msgstr "Nom d'utilisateur" -#: InvenTree/serializers.py:407 templates/InvenTree/settings/user.html:37 +#: InvenTree/serializers.py:408 templates/InvenTree/settings/user.html:37 msgid "First Name" msgstr "Prénom" -#: InvenTree/serializers.py:407 +#: InvenTree/serializers.py:408 msgid "First name of the user" msgstr "Prénom de l'utilisateur" -#: InvenTree/serializers.py:410 templates/InvenTree/settings/user.html:41 +#: InvenTree/serializers.py:412 templates/InvenTree/settings/user.html:41 msgid "Last Name" msgstr "Nom" -#: InvenTree/serializers.py:410 +#: InvenTree/serializers.py:412 msgid "Last name of the user" msgstr "Nom de famille de l'utilisateur" -#: InvenTree/serializers.py:413 +#: InvenTree/serializers.py:416 msgid "Email address of the user" msgstr "Adresse e-mail de l'utilisateur" -#: InvenTree/serializers.py:438 +#: InvenTree/serializers.py:441 msgid "Staff" msgstr "Staff" -#: InvenTree/serializers.py:438 +#: InvenTree/serializers.py:441 msgid "Does this user have staff permissions" msgstr "Cet utilisateur a-t-il les permissions du staff" -#: InvenTree/serializers.py:441 +#: InvenTree/serializers.py:445 msgid "Superuser" msgstr "Super-utilisateur" -#: InvenTree/serializers.py:441 +#: InvenTree/serializers.py:445 msgid "Is this user a superuser" msgstr "Cet utilisateur est-il un super-utilisateur" -#: InvenTree/serializers.py:444 common/models.py:2709 company/models.py:160 +#: InvenTree/serializers.py:449 common/models.py:2710 company/models.py:160 #: company/models.py:798 machine/models.py:39 part/admin.py:88 #: part/models.py:1201 plugin/models.py:66 #: templates/js/translated/company.js:523 @@ -585,89 +585,89 @@ msgstr "Cet utilisateur est-il un super-utilisateur" msgid "Active" msgstr "Actif" -#: InvenTree/serializers.py:444 +#: InvenTree/serializers.py:449 msgid "Is this user account active" msgstr "Ce compte d'utilisateur est-il actif" -#: InvenTree/serializers.py:462 +#: InvenTree/serializers.py:467 msgid "You do not have permission to change this user role." msgstr "Vous n'avez pas la permission de modifier ce rôle utilisateur." -#: InvenTree/serializers.py:474 +#: InvenTree/serializers.py:503 msgid "Only superusers can create new users" msgstr "Seuls les super-utilisateurs peuvent créer de nouveaux utilisateurs" -#: InvenTree/serializers.py:493 +#: InvenTree/serializers.py:522 msgid "Your account has been created." msgstr "Votre compte a été créé." -#: InvenTree/serializers.py:495 +#: InvenTree/serializers.py:524 msgid "Please use the password reset function to login" msgstr "Veuillez utiliser la fonction de réinitialisation du mot de passe pour vous connecter" -#: InvenTree/serializers.py:502 +#: InvenTree/serializers.py:531 msgid "Welcome to InvenTree" msgstr "Bienvenue dans InvenTree" -#: InvenTree/serializers.py:560 +#: InvenTree/serializers.py:589 msgid "Invalid value" msgstr "Valeur non valide" -#: InvenTree/serializers.py:580 importer/models.py:64 +#: InvenTree/serializers.py:609 importer/models.py:64 msgid "Data File" msgstr "Fichier de données" -#: InvenTree/serializers.py:581 +#: InvenTree/serializers.py:610 msgid "Select data file for upload" msgstr "Sélectionnez le fichier de données à envoyer" -#: InvenTree/serializers.py:598 +#: InvenTree/serializers.py:627 msgid "Unsupported file type" msgstr "Format de fichier non supporté" -#: InvenTree/serializers.py:604 +#: InvenTree/serializers.py:633 msgid "File is too large" msgstr "Fichier trop volumineux" -#: InvenTree/serializers.py:625 +#: InvenTree/serializers.py:654 msgid "No columns found in file" msgstr "Pas de colonnes trouvées dans le fichier" -#: InvenTree/serializers.py:628 +#: InvenTree/serializers.py:657 msgid "No data rows found in file" msgstr "Par de lignes de données trouvées dans le fichier" -#: InvenTree/serializers.py:740 +#: InvenTree/serializers.py:769 msgid "No data rows provided" msgstr "Pas de lignes de données fournies" -#: InvenTree/serializers.py:743 +#: InvenTree/serializers.py:772 msgid "No data columns supplied" msgstr "Pas de colonne de données fournie" -#: InvenTree/serializers.py:809 +#: InvenTree/serializers.py:838 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "Colonne requise manquante : {name}" -#: InvenTree/serializers.py:818 +#: InvenTree/serializers.py:847 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "Colonne duliquée : '{col}'" -#: InvenTree/serializers.py:857 +#: InvenTree/serializers.py:886 msgid "Remote Image" msgstr "Images distantes" -#: InvenTree/serializers.py:858 +#: InvenTree/serializers.py:887 msgid "URL of remote image file" msgstr "URL du fichier image distant" -#: InvenTree/serializers.py:876 +#: InvenTree/serializers.py:905 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/status.py:65 part/serializers.py:1267 +#: InvenTree/status.py:65 part/serializers.py:1265 msgid "Background worker check failed" msgstr "Échec de la vérification du processus d'arrière-plan" @@ -759,7 +759,7 @@ msgstr "" 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:319 build/serializers.py:1332 part/models.py:4278 +#: build/api.py:319 build/serializers.py:1332 part/models.py:4265 #: templates/js/translated/bom.js:997 templates/js/translated/bom.js:1037 #: templates/js/translated/build.js:2705 #: templates/js/translated/table_filters.js:197 @@ -767,7 +767,7 @@ msgstr "La construction doit être annulée avant de pouvoir être supprimée" msgid "Consumable" msgstr "Consommable" -#: build/api.py:320 build/serializers.py:1333 part/models.py:4272 +#: build/api.py:320 build/serializers.py:1333 part/models.py:4259 #: part/templates/part/upload_bom.html:58 templates/js/translated/bom.js:1001 #: templates/js/translated/bom.js:1028 templates/js/translated/build.js:2696 #: templates/js/translated/table_filters.js:193 @@ -777,7 +777,7 @@ msgid "Optional" msgstr "Facultatif" #: build/api.py:321 common/models.py:1491 part/admin.py:91 part/admin.py:428 -#: part/models.py:1166 part/serializers.py:1596 +#: part/models.py:1166 part/serializers.py:1594 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:337 #: templates/js/translated/table_filters.js:729 @@ -816,7 +816,7 @@ msgstr "Allouée" msgid "Available" msgstr "Disponible" -#: build/models.py:87 build/templates/build/build_base.html:9 +#: build/models.py:88 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_report.html:105 #: stock/serializers.py:85 templates/email/build_order_completed.html:16 @@ -825,7 +825,7 @@ msgstr "Disponible" msgid "Build Order" msgstr "Ordre de Fabrication" -#: build/models.py:88 build/templates/build/build_base.html:13 +#: build/models.py:89 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:111 #: order/templates/order/so_sidebar.html:13 @@ -866,7 +866,7 @@ msgstr "Référence de l' Ordre de Fabrication" #: build/models.py:243 build/serializers.py:1331 order/models.py:468 #: order/models.py:979 order/models.py:1366 order/models.py:2128 -#: part/admin.py:414 part/models.py:4293 part/templates/part/upload_bom.html:54 +#: part/admin.py:414 part/models.py:4280 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 @@ -892,11 +892,11 @@ msgstr "BuildOrder associé a cette fabrication" #: build/templates/build/build_base.html:105 #: build/templates/build/detail.html:29 company/models.py:1043 order/api.py:761 #: order/models.py:1496 order/models.py:1651 order/models.py:1652 -#: part/api.py:1506 part/api.py:1806 part/models.py:419 part/models.py:3138 -#: part/models.py:3282 part/models.py:3430 part/models.py:3451 -#: part/models.py:3473 part/models.py:3609 part/models.py:3951 -#: part/models.py:4114 part/models.py:4244 part/models.py:4602 -#: part/serializers.py:1213 part/serializers.py:1857 +#: part/api.py:1506 part/api.py:1806 part/models.py:419 part/models.py:3125 +#: part/models.py:3269 part/models.py:3417 part/models.py:3438 +#: part/models.py:3460 part/models.py:3596 part/models.py:3938 +#: part/models.py:4101 part/models.py:4231 part/models.py:4595 +#: part/serializers.py:1211 part/serializers.py:1855 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -1063,12 +1063,12 @@ msgstr "Utilisateur ou groupe responsable de cet ordre de construction" #: order/templates/order/return_order_base.html:148 #: order/templates/order/sales_order_base.html:187 #: part/templates/part/part_base.html:399 stock/models.py:859 -#: stock/templates/stock/item_base.html:200 +#: stock/templates/stock/item_base.html:196 #: templates/js/translated/company.js:1019 msgid "External Link" msgstr "Lien Externe" -#: build/models.py:378 common/models.py:3272 part/models.py:1070 +#: build/models.py:378 common/models.py:3273 part/models.py:1070 #: stock/models.py:859 msgid "Link to external URL" msgstr "Lien vers une url externe" @@ -1110,7 +1110,7 @@ msgstr "La commande de construction {build} a été effectuée" msgid "A build order has been completed" msgstr "Une commande de construction a été effectuée" -#: build/models.py:968 build/models.py:1056 +#: build/models.py:968 build/models.py:1057 msgid "No build output specified" msgstr "Pas d'ordre de production défini" @@ -1122,37 +1122,37 @@ msgstr "L'ordre de production a déjà été réalisé" msgid "Build output does not match Build Order" msgstr "L'ordre de production de correspond pas à l'ordre de commande" -#: build/models.py:1060 build/serializers.py:279 build/serializers.py:328 +#: build/models.py:1061 build/serializers.py:279 build/serializers.py:328 #: build/serializers.py:959 order/models.py:565 order/serializers.py:500 -#: order/serializers.py:666 part/serializers.py:1590 part/serializers.py:2019 +#: order/serializers.py:666 part/serializers.py:1588 part/serializers.py:2017 #: stock/models.py:704 stock/models.py:1515 stock/serializers.py:676 msgid "Quantity must be greater than zero" msgstr "La quantité doit être supérieure à zéro" -#: build/models.py:1065 build/serializers.py:284 +#: build/models.py:1066 build/serializers.py:284 msgid "Quantity cannot be greater than the output quantity" msgstr "La quantité ne peut pas être supérieure à la quantité de sortie" -#: build/models.py:1125 build/serializers.py:607 +#: build/models.py:1126 build/serializers.py:607 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "La sortie de compilation {serial} n'a pas réussi tous les tests requis" -#: build/models.py:1466 +#: build/models.py:1477 msgid "Build Order Line Item" msgstr "" -#: build/models.py:1491 +#: build/models.py:1502 msgid "Build object" msgstr "Création de l'objet" -#: build/models.py:1505 build/models.py:1761 build/serializers.py:266 +#: build/models.py:1516 build/models.py:1775 build/serializers.py:266 #: build/serializers.py:313 build/serializers.py:1339 #: build/templates/build/build_base.html:110 -#: build/templates/build/detail.html:34 common/models.py:2581 +#: build/templates/build/detail.html:34 common/models.py:2582 #: order/models.py:1349 order/models.py:2034 order/serializers.py:1464 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:413 -#: part/forms.py:48 part/models.py:3296 part/models.py:4266 +#: part/forms.py:48 part/models.py:3283 part/models.py:4253 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1163,9 +1163,9 @@ msgstr "Création de l'objet" #: report/templates/report/inventree_test_report.html:90 #: report/templates/report/inventree_test_report.html:169 stock/admin.py:160 #: stock/serializers.py:128 stock/serializers.py:168 stock/serializers.py:667 -#: stock/templates/stock/item_base.html:287 -#: stock/templates/stock/item_base.html:295 -#: stock/templates/stock/item_base.html:342 +#: stock/templates/stock/item_base.html:283 +#: stock/templates/stock/item_base.html:291 +#: stock/templates/stock/item_base.html:338 #: templates/email/build_order_completed.html:18 #: templates/js/translated/barcode.js:579 templates/js/translated/bom.js:771 #: templates/js/translated/bom.js:981 templates/js/translated/build.js:525 @@ -1194,41 +1194,41 @@ msgstr "Création de l'objet" msgid "Quantity" msgstr "Quantité" -#: build/models.py:1506 +#: build/models.py:1517 msgid "Required quantity for build order" msgstr "Quantité requise pour la commande de construction" -#: build/models.py:1586 +#: build/models.py:1597 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:1595 +#: build/models.py:1606 #, 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:1605 order/models.py:1985 +#: build/models.py:1616 order/models.py:1985 msgid "Stock item is over-allocated" msgstr "L'article de stock est suralloué" -#: build/models.py:1611 order/models.py:1988 +#: build/models.py:1622 order/models.py:1988 msgid "Allocation quantity must be greater than zero" msgstr "La quantité allouée doit être supérieure à zéro" -#: build/models.py:1617 +#: build/models.py:1628 msgid "Quantity must be 1 for serialized stock" msgstr "La quantité doit être de 1 pour stock sérialisé" -#: build/models.py:1676 +#: build/models.py:1687 msgid "Selected stock item does not match BOM line" msgstr "L'article de stock sélectionné ne correspond pas à la ligne BOM" -#: build/models.py:1748 build/serializers.py:939 order/serializers.py:1301 +#: build/models.py:1762 build/serializers.py:939 order/serializers.py:1301 #: order/serializers.py:1322 stock/models.py:381 stock/serializers.py:94 #: stock/serializers.py:770 stock/serializers.py:1288 stock/serializers.py:1400 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 -#: stock/templates/stock/item_base.html:194 +#: stock/templates/stock/item_base.html:190 #: templates/js/translated/build.js:1921 #: templates/js/translated/sales_order.js:301 #: templates/js/translated/sales_order.js:1234 @@ -1241,19 +1241,19 @@ msgstr "L'article de stock sélectionné ne correspond pas à la ligne BOM" msgid "Stock Item" msgstr "Article en stock" -#: build/models.py:1749 +#: build/models.py:1763 msgid "Source stock item" msgstr "Stock d'origine de l'article" -#: build/models.py:1762 +#: build/models.py:1776 msgid "Stock quantity to allocate to build" msgstr "Quantité de stock à allouer à la construction" -#: build/models.py:1770 +#: build/models.py:1784 msgid "Install into" msgstr "Installer dans" -#: build/models.py:1771 +#: build/models.py:1785 msgid "Destination stock item" msgstr "Stock de destination de l'article" @@ -1262,7 +1262,7 @@ msgid "Build Level" msgstr "" #: build/serializers.py:115 build/serializers.py:1234 build/serializers.py:1323 -#: part/admin.py:41 part/admin.py:408 part/models.py:4116 part/stocktake.py:219 +#: part/admin.py:41 part/admin.py:408 part/models.py:4103 part/stocktake.py:219 #: stock/admin.py:157 msgid "Part Name" msgstr "Nom de l'article" @@ -1323,10 +1323,10 @@ msgid "Enter serial numbers for build outputs" msgstr "Entrer les numéros de séries pour la fabrication" #: build/serializers.py:359 build/serializers.py:500 build/serializers.py:572 -#: order/serializers.py:655 order/serializers.py:778 order/serializers.py:1789 -#: part/serializers.py:1233 stock/serializers.py:103 stock/serializers.py:698 +#: order/serializers.py:655 order/serializers.py:778 order/serializers.py:1797 +#: part/serializers.py:1231 stock/serializers.py:103 stock/serializers.py:698 #: stock/serializers.py:858 stock/serializers.py:984 stock/serializers.py:1432 -#: stock/serializers.py:1688 stock/templates/stock/item_base.html:394 +#: stock/serializers.py:1688 stock/templates/stock/item_base.html:390 #: templates/js/translated/barcode.js:578 #: templates/js/translated/barcode.js:826 templates/js/translated/build.js:1035 #: templates/js/translated/build.js:1177 templates/js/translated/build.js:2547 @@ -1390,7 +1390,7 @@ msgstr "Emplacement des ordres de production achevés" #: build/templates/build/detail.html:62 order/models.py:477 #: order/models.py:1003 order/models.py:2152 order/serializers.py:687 #: stock/admin.py:165 stock/serializers.py:1035 stock/serializers.py:1576 -#: stock/templates/stock/item_base.html:427 +#: stock/templates/stock/item_base.html:423 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2366 #: templates/js/translated/purchase_order.js:1371 #: templates/js/translated/purchase_order.js:1792 @@ -1522,7 +1522,7 @@ msgstr "La sortie de construction doit être spécifiée pour l'allocation des p 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:1030 order/serializers.py:1614 +#: build/serializers.py:1030 order/serializers.py:1622 msgid "Allocation items must be provided" msgstr "Les articles d'allocation doivent être fournis" @@ -1590,7 +1590,7 @@ msgstr "" #: build/serializers.py:1230 company/models.py:849 #: company/templates/company/supplier_part.html:160 order/serializers.py:691 #: stock/admin.py:229 stock/models.py:822 stock/serializers.py:1586 -#: stock/templates/stock/item_base.html:240 +#: stock/templates/stock/item_base.html:236 #: templates/js/translated/company.js:1646 #: templates/js/translated/purchase_order.js:1169 #: templates/js/translated/purchase_order.js:1332 @@ -1600,12 +1600,12 @@ msgid "Packaging" msgstr "Conditionnement" #: build/serializers.py:1233 part/admin.py:39 part/admin.py:398 -#: part/models.py:4115 part/stocktake.py:218 stock/admin.py:153 +#: part/models.py:4102 part/stocktake.py:218 stock/admin.py:153 msgid "Part ID" msgstr "ID de composant" #: build/serializers.py:1235 build/serializers.py:1324 part/admin.py:402 -#: part/models.py:4117 +#: part/models.py:4104 msgid "Part IPN" msgstr "" @@ -1625,7 +1625,7 @@ msgstr "" #: build/serializers.py:1243 #: report/templates/report/inventree_return_order_report.html:25 #: report/templates/report/inventree_test_report.html:88 stock/models.py:849 -#: stock/serializers.py:152 stock/templates/stock/item_base.html:311 +#: stock/serializers.py:152 stock/templates/stock/item_base.html:307 #: templates/js/translated/build.js:523 templates/js/translated/build.js:1543 #: templates/js/translated/build.js:2530 #: templates/js/translated/model_renderers.js:231 @@ -1644,7 +1644,7 @@ msgstr "Numéro de série" msgid "Allocated Quantity" msgstr "" -#: build/serializers.py:1257 stock/templates/stock/item_base.html:340 +#: build/serializers.py:1257 stock/templates/stock/item_base.html:336 msgid "Available Quantity" msgstr "" @@ -1667,13 +1667,13 @@ msgstr "Traçable" msgid "Inherited" msgstr "" -#: build/serializers.py:1337 part/models.py:4326 +#: build/serializers.py:1337 part/models.py:4313 #: part/templates/part/upload_bom.html:56 templates/js/translated/bom.js:1046 #: templates/js/translated/build.js:2714 msgid "Allow Variants" msgstr "" -#: build/serializers.py:1341 part/models.py:4124 part/models.py:4594 +#: build/serializers.py:1341 part/models.py:4111 part/models.py:4587 #: stock/api.py:793 msgid "BOM Item" msgstr "Article du BOM" @@ -1684,7 +1684,7 @@ msgid "Allocated Stock" msgstr "Stock alloué" #: build/serializers.py:1355 order/serializers.py:1179 part/admin.py:132 -#: part/bom.py:186 part/serializers.py:920 part/serializers.py:1623 +#: part/bom.py:186 part/serializers.py:918 part/serializers.py:1621 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 #: templates/js/translated/build.js:2807 templates/js/translated/part.js:712 #: templates/js/translated/part.js:2155 @@ -1692,13 +1692,13 @@ msgstr "Stock alloué" msgid "On Order" msgstr "En Commande" -#: build/serializers.py:1360 order/serializers.py:1180 part/serializers.py:1625 +#: build/serializers.py:1360 order/serializers.py:1180 part/serializers.py:1623 #: templates/js/translated/build.js:2811 #: templates/js/translated/table_filters.js:367 msgid "In Production" msgstr "En Production" -#: build/serializers.py:1365 part/bom.py:185 part/serializers.py:1650 +#: build/serializers.py:1365 part/bom.py:185 part/serializers.py:1648 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" @@ -1716,7 +1716,7 @@ msgstr "" msgid "Total Available Stock" msgstr "" -#: build/serializers.py:1372 part/serializers.py:927 +#: build/serializers.py:1372 part/serializers.py:925 msgid "External Stock" msgstr "" @@ -1745,7 +1745,7 @@ msgstr "Annulé" #: importer/status_codes.py:27 order/status_codes.py:15 #: order/status_codes.py:50 order/status_codes.py:81 #: order/templates/order/order_base.html:163 -#: order/templates/order/sales_order_base.html:168 report/models.py:443 +#: order/templates/order/sales_order_base.html:168 report/models.py:451 msgid "Complete" msgstr "Terminé" @@ -1849,9 +1849,6 @@ msgid "Delete Build" msgstr "Supprimer l'assemblage" #: build/templates/build/build_base.html:87 -msgid "Isueue Build" -msgstr "" - #: build/templates/build/build_base.html:88 msgid "Issue Build" msgstr "" @@ -1931,7 +1928,7 @@ msgstr "Sorties de Construction terminées" #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_report.html:135 #: report/templates/report/inventree_sales_order_report.html:14 -#: stock/templates/stock/item_base.html:369 +#: stock/templates/stock/item_base.html:365 #: templates/email/overdue_sales_order.html:15 #: templates/js/translated/pricing.js:929 #: templates/js/translated/sales_order.js:805 @@ -1991,7 +1988,7 @@ msgid "Allocated Parts" msgstr "Pièces allouées" #: build/templates/build/detail.html:80 stock/admin.py:163 -#: stock/templates/stock/item_base.html:162 +#: stock/templates/stock/item_base.html:158 #: templates/js/translated/build.js:1556 #: templates/js/translated/model_renderers.js:242 #: templates/js/translated/purchase_order.js:1326 @@ -2148,19 +2145,19 @@ msgstr "Sorties incomplètes" msgid "Test Statistics" msgstr "" -#: common/api.py:692 +#: common/api.py:725 msgid "Is Link" msgstr "" -#: common/api.py:700 +#: common/api.py:733 msgid "Is File" msgstr "" -#: common/api.py:743 +#: common/api.py:776 msgid "User does not have permission to delete these attachments" msgstr "" -#: common/api.py:760 +#: common/api.py:793 msgid "User does not have permission to delete this attachment" msgstr "L'utilisateur n'a pas les permissions de supprimer cette pièce jointe" @@ -2352,8 +2349,8 @@ msgstr "Fréquence de mise à jour des taux de change (définir à zéro pour d #: common/models.py:1297 common/models.py:1353 common/models.py:1366 #: common/models.py:1374 common/models.py:1383 common/models.py:1392 -#: common/models.py:1629 common/models.py:1651 common/models.py:1766 -#: common/models.py:2148 +#: common/models.py:1629 common/models.py:1651 common/models.py:1752 +#: common/models.py:2141 msgid "days" msgstr "jours" @@ -2581,9 +2578,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:1485 part/admin.py:108 part/models.py:3959 -#: report/models.py:293 report/models.py:360 report/serializers.py:90 -#: report/serializers.py:131 stock/serializers.py:233 +#: common/models.py:1485 part/admin.py:108 part/models.py:3946 +#: report/models.py:301 report/models.py:368 report/serializers.py:91 +#: report/serializers.py:132 stock/serializers.py:233 #: templates/js/translated/table_filters.js:138 #: templates/js/translated/table_filters.js:775 msgid "Template" @@ -2598,7 +2595,7 @@ msgid "Parts can be assembled from other components by default" msgstr "Les pièces peuvent être assemblées à partir d'autres composants par défaut" #: common/models.py:1497 part/admin.py:95 part/models.py:1172 -#: part/serializers.py:1617 templates/js/translated/table_filters.js:737 +#: part/serializers.py:1615 templates/js/translated/table_filters.js:737 msgid "Component" msgstr "Composant" @@ -2823,7 +2820,7 @@ msgid "Log errors which occur when generating reports" msgstr "" #: common/models.py:1702 plugin/builtin/labels/label_sheet.py:28 -#: report/models.py:301 +#: report/models.py:309 msgid "Page Size" msgstr "Taille de la page" @@ -2832,914 +2829,914 @@ msgid "Default page size for PDF reports" msgstr "Taille de page par défaut pour les rapports PDF" #: common/models.py:1708 -msgid "Enable Test Reports" -msgstr "Activer les rapports de test" - -#: common/models.py:1709 -msgid "Enable generation of test reports" -msgstr "Activer la génération de rapports de test" - -#: common/models.py:1714 -msgid "Attach Test Reports" -msgstr "Joindre des rapports de test" - -#: common/models.py:1716 -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:1722 msgid "Globally Unique Serials" msgstr "Numéro de Série Universellement Unique" -#: common/models.py:1723 +#: common/models.py:1709 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:1728 +#: common/models.py:1714 msgid "Autofill Serial Numbers" msgstr "Remplir automatiquement les Numéros de Série" -#: common/models.py:1729 +#: common/models.py:1715 msgid "Autofill serial numbers in forms" msgstr "Remplir automatiquement les numéros de série dans les formulaires" -#: common/models.py:1734 +#: common/models.py:1720 msgid "Delete Depleted Stock" msgstr "Supprimer le stock épuisé" -#: common/models.py:1736 +#: common/models.py:1722 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/models.py:1742 +#: common/models.py:1728 msgid "Batch Code Template" msgstr "Modèle de code de lot" -#: common/models.py:1744 +#: common/models.py:1730 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:1749 +#: common/models.py:1735 msgid "Stock Expiry" msgstr "Expiration du stock" -#: common/models.py:1750 +#: common/models.py:1736 msgid "Enable stock expiry functionality" msgstr "Activer la fonctionnalité d'expiration du stock" -#: common/models.py:1755 +#: common/models.py:1741 msgid "Sell Expired Stock" msgstr "Vendre le stock expiré" -#: common/models.py:1756 +#: common/models.py:1742 msgid "Allow sale of expired stock" msgstr "Autoriser la vente de stock expiré" -#: common/models.py:1761 +#: common/models.py:1747 msgid "Stock Stale Time" msgstr "Délai de péremption du stock" -#: common/models.py:1763 +#: common/models.py:1749 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:1770 +#: common/models.py:1756 msgid "Build Expired Stock" msgstr "Construction de stock expirée" -#: common/models.py:1771 +#: common/models.py:1757 msgid "Allow building with expired stock" msgstr "Autoriser la construction avec un stock expiré" -#: common/models.py:1776 +#: common/models.py:1762 msgid "Stock Ownership Control" msgstr "Contrôle de la propriété des stocks" -#: common/models.py:1777 +#: common/models.py:1763 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:1782 +#: common/models.py:1768 msgid "Stock Location Default Icon" msgstr "Icône par défaut de l'emplacement du stock" -#: common/models.py:1783 +#: common/models.py:1769 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:1788 +#: common/models.py:1774 msgid "Show Installed Stock Items" msgstr "Afficher les pièces en stock installées" -#: common/models.py:1789 +#: common/models.py:1775 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1794 +#: common/models.py:1780 msgid "Check BOM when installing items" msgstr "" -#: common/models.py:1796 +#: common/models.py:1782 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/models.py:1802 +#: common/models.py:1788 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/models.py:1804 +#: common/models.py:1790 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/models.py:1810 +#: common/models.py:1796 msgid "Build Order Reference Pattern" msgstr "Modèle de référence de commande de construction" -#: common/models.py:1812 +#: common/models.py:1798 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:1818 common/models.py:1874 common/models.py:1896 -#: common/models.py:1932 +#: common/models.py:1804 common/models.py:1860 common/models.py:1882 +#: common/models.py:1918 msgid "Require Responsible Owner" msgstr "" -#: common/models.py:1819 common/models.py:1875 common/models.py:1897 -#: common/models.py:1933 +#: common/models.py:1805 common/models.py:1861 common/models.py:1883 +#: common/models.py:1919 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/models.py:1824 +#: common/models.py:1810 msgid "Require Active Part" msgstr "" -#: common/models.py:1825 +#: common/models.py:1811 msgid "Prevent build order creation for inactive parts" msgstr "" -#: common/models.py:1830 +#: common/models.py:1816 msgid "Require Locked Part" msgstr "" -#: common/models.py:1831 +#: common/models.py:1817 msgid "Prevent build order creation for unlocked parts" msgstr "" -#: common/models.py:1836 +#: common/models.py:1822 msgid "Require Valid BOM" msgstr "" -#: common/models.py:1838 +#: common/models.py:1824 msgid "Prevent build order creation unless BOM has been validated" msgstr "" -#: common/models.py:1844 +#: common/models.py:1830 msgid "Require Closed Child Orders" msgstr "" -#: common/models.py:1846 +#: common/models.py:1832 msgid "Prevent build order completion until all child orders are closed" msgstr "" -#: common/models.py:1852 +#: common/models.py:1838 msgid "Block Until Tests Pass" msgstr "" -#: common/models.py:1854 +#: common/models.py:1840 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "" -#: common/models.py:1860 +#: common/models.py:1846 msgid "Enable Return Orders" msgstr "Activer les retours de commandes" -#: common/models.py:1861 +#: common/models.py:1847 msgid "Enable return order functionality in the user interface" msgstr "Activer la fonctionnalité de retour de commande dans l'interface utilisateur" -#: common/models.py:1866 +#: common/models.py:1852 msgid "Return Order Reference Pattern" msgstr "Modèle de référence de retour de commande" -#: common/models.py:1868 +#: common/models.py:1854 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1880 +#: common/models.py:1866 msgid "Edit Completed Return Orders" msgstr "Modifier les retours de commandes terminées" -#: common/models.py:1882 +#: common/models.py:1868 msgid "Allow editing of return orders after they have been completed" msgstr "Autoriser la modification des retours après leur enregistrement" -#: common/models.py:1888 +#: common/models.py:1874 msgid "Sales Order Reference Pattern" msgstr "Modèle de référence de bon de commande" -#: common/models.py:1890 +#: common/models.py:1876 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:1902 +#: common/models.py:1888 msgid "Sales Order Default Shipment" msgstr "Expédition par défaut du bon de commande" -#: common/models.py:1903 +#: common/models.py:1889 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:1908 +#: common/models.py:1894 msgid "Edit Completed Sales Orders" msgstr "Modifier les commandes de vente terminées" -#: common/models.py:1910 +#: common/models.py:1896 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:1916 +#: common/models.py:1902 msgid "Mark Shipped Orders as Complete" msgstr "" -#: common/models.py:1918 +#: common/models.py:1904 msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status" msgstr "" -#: common/models.py:1924 +#: common/models.py:1910 msgid "Purchase Order Reference Pattern" msgstr "Modèle de référence de commande d'achat" -#: common/models.py:1926 +#: common/models.py:1912 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:1938 +#: common/models.py:1924 msgid "Edit Completed Purchase Orders" msgstr "Modifier les bons de commande terminés" -#: common/models.py:1940 +#: common/models.py:1926 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:1946 +#: common/models.py:1932 msgid "Auto Complete Purchase Orders" msgstr "" -#: common/models.py:1948 +#: common/models.py:1934 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/models.py:1955 +#: common/models.py:1941 msgid "Enable password forgot" msgstr "Activer les mots de passe oubliés" -#: common/models.py:1956 +#: common/models.py:1942 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:1961 +#: common/models.py:1947 msgid "Enable registration" msgstr "Activer les inscriptions" -#: common/models.py:1962 +#: common/models.py:1948 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:1967 +#: common/models.py:1953 msgid "Enable SSO" msgstr "Activer le SSO" -#: common/models.py:1968 +#: common/models.py:1954 msgid "Enable SSO on the login pages" msgstr "Activer le SSO sur les pages de connexion" -#: common/models.py:1973 +#: common/models.py:1959 msgid "Enable SSO registration" msgstr "Activer l'inscription SSO" -#: common/models.py:1975 +#: common/models.py:1961 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:1981 +#: common/models.py:1967 msgid "Enable SSO group sync" msgstr "" -#: common/models.py:1983 +#: common/models.py:1969 msgid "Enable synchronizing InvenTree groups with groups provided by the IdP" msgstr "" -#: common/models.py:1989 +#: common/models.py:1975 msgid "SSO group key" msgstr "" -#: common/models.py:1991 +#: common/models.py:1977 msgid "The name of the groups claim attribute provided by the IdP" msgstr "" -#: common/models.py:1997 +#: common/models.py:1983 msgid "SSO group map" msgstr "" -#: common/models.py:1999 +#: common/models.py:1985 msgid "A mapping from SSO groups to local InvenTree groups. If the local group does not exist, it will be created." msgstr "" -#: common/models.py:2005 +#: common/models.py:1991 msgid "Remove groups outside of SSO" msgstr "" -#: common/models.py:2007 +#: common/models.py:1993 msgid "Whether groups assigned to the user should be removed if they are not backend by the IdP. Disabling this setting might cause security issues" msgstr "" -#: common/models.py:2013 +#: common/models.py:1999 msgid "Email required" msgstr "Email requis" -#: common/models.py:2014 +#: common/models.py:2000 msgid "Require user to supply mail on signup" msgstr "Exiger que l'utilisateur fournisse un mail lors de l'inscription" -#: common/models.py:2019 +#: common/models.py:2005 msgid "Auto-fill SSO users" msgstr "Saisie automatique des utilisateurs SSO" -#: common/models.py:2021 +#: common/models.py:2007 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:2027 +#: common/models.py:2013 msgid "Mail twice" msgstr "Courriel en double" -#: common/models.py:2028 +#: common/models.py:2014 msgid "On signup ask users twice for their mail" msgstr "Lors de l'inscription, demandez deux fois aux utilisateurs leur mail" -#: common/models.py:2033 +#: common/models.py:2019 msgid "Password twice" msgstr "Mot de passe deux fois" -#: common/models.py:2034 +#: common/models.py:2020 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:2039 +#: common/models.py:2025 msgid "Allowed domains" msgstr "Domaines autorisés" -#: common/models.py:2041 +#: common/models.py:2027 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:2047 +#: common/models.py:2033 msgid "Group on signup" msgstr "Grouper sur inscription" -#: common/models.py:2049 +#: common/models.py:2035 msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP." msgstr "" -#: common/models.py:2055 +#: common/models.py:2041 msgid "Enforce MFA" msgstr "Forcer l'authentification multifacteurs" -#: common/models.py:2056 +#: common/models.py:2042 msgid "Users must use multifactor security." msgstr "Les utilisateurs doivent utiliser l'authentification multifacteurs." -#: common/models.py:2061 +#: common/models.py:2047 msgid "Check plugins on startup" msgstr "Vérifier les plugins au démarrage" -#: common/models.py:2063 +#: common/models.py:2049 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:2071 +#: common/models.py:2057 msgid "Check for plugin updates" msgstr "" -#: common/models.py:2072 +#: common/models.py:2058 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:2078 +#: common/models.py:2064 msgid "Enable URL integration" msgstr "Activer l'intégration d'URL" -#: common/models.py:2079 +#: common/models.py:2065 msgid "Enable plugins to add URL routes" msgstr "Autoriser les plugins à ajouter des chemins URL" -#: common/models.py:2085 +#: common/models.py:2071 msgid "Enable navigation integration" msgstr "Activer l'intégration de navigation" -#: common/models.py:2086 +#: common/models.py:2072 msgid "Enable plugins to integrate into navigation" msgstr "Activer les plugins à s'intégrer dans la navigation" -#: common/models.py:2092 +#: common/models.py:2078 msgid "Enable app integration" msgstr "Activer l'intégration de plugins" -#: common/models.py:2093 +#: common/models.py:2079 msgid "Enable plugins to add apps" msgstr "Activer l'intégration de plugin pour ajouter des apps" -#: common/models.py:2099 +#: common/models.py:2085 msgid "Enable schedule integration" msgstr "Activer l'intégration du planning" -#: common/models.py:2100 +#: common/models.py:2086 msgid "Enable plugins to run scheduled tasks" msgstr "Autoriser les plugins à éxécuter des tâches planifiées" -#: common/models.py:2106 +#: common/models.py:2092 msgid "Enable event integration" msgstr "Activer l'intégration des évènements" -#: common/models.py:2107 +#: common/models.py:2093 msgid "Enable plugins to respond to internal events" msgstr "Autoriser les plugins à répondre aux évènements internes" -#: common/models.py:2113 +#: common/models.py:2099 +msgid "Enable interface integration" +msgstr "" + +#: common/models.py:2100 +msgid "Enable plugins to integrate into the user interface" +msgstr "" + +#: common/models.py:2106 msgid "Enable project codes" msgstr "Activer les codes projet" -#: common/models.py:2114 +#: common/models.py:2107 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:2119 +#: common/models.py:2112 msgid "Stocktake Functionality" msgstr "Fonctionnalité d'inventaire" -#: common/models.py:2121 +#: common/models.py:2114 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:2127 +#: common/models.py:2120 msgid "Exclude External Locations" msgstr "" -#: common/models.py:2129 +#: common/models.py:2122 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/models.py:2135 +#: common/models.py:2128 msgid "Automatic Stocktake Period" msgstr "Période de l'inventaire automatique" -#: common/models.py:2137 +#: common/models.py:2130 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:2143 +#: common/models.py:2136 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:2145 +#: common/models.py:2138 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:2152 +#: common/models.py:2145 msgid "Display Users full names" msgstr "" -#: common/models.py:2153 +#: common/models.py:2146 msgid "Display Users full names instead of usernames" msgstr "" -#: common/models.py:2158 +#: common/models.py:2151 msgid "Enable Test Station Data" msgstr "" -#: common/models.py:2159 +#: common/models.py:2152 msgid "Enable test station data collection for test results" msgstr "" -#: common/models.py:2171 common/models.py:2551 +#: common/models.py:2157 +msgid "Create Template on Upload" +msgstr "" + +#: common/models.py:2159 +msgid "Create a new test template when uploading test data which does not match an existing template" +msgstr "" + +#: common/models.py:2172 common/models.py:2552 msgid "Settings key (must be unique - case insensitive" msgstr "Clé du paramètre (doit être unique - insensible à la casse)" -#: common/models.py:2214 +#: common/models.py:2215 msgid "Hide inactive parts" msgstr "" -#: common/models.py:2216 +#: common/models.py:2217 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:2222 +#: common/models.py:2223 msgid "Show subscribed parts" msgstr "Afficher les composants suivis" -#: common/models.py:2223 +#: common/models.py:2224 msgid "Show subscribed parts on the homepage" msgstr "Afficher les composants suivis sur l'écran d'accueil" -#: common/models.py:2228 +#: common/models.py:2229 msgid "Show subscribed categories" msgstr "Afficher les catégories suivies" -#: common/models.py:2229 +#: common/models.py:2230 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:2234 +#: common/models.py:2235 msgid "Show latest parts" msgstr "Afficher les dernières pièces" -#: common/models.py:2235 +#: common/models.py:2236 msgid "Show latest parts on the homepage" msgstr "Afficher les derniers composants sur la page d'accueil" -#: common/models.py:2240 +#: common/models.py:2241 msgid "Show invalid BOMs" msgstr "" -#: common/models.py:2241 +#: common/models.py:2242 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:2246 +#: common/models.py:2247 msgid "Show recent stock changes" msgstr "Afficher les dernières modifications du stock" -#: common/models.py:2247 +#: common/models.py:2248 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:2252 +#: common/models.py:2253 msgid "Show low stock" msgstr "Afficher le stock faible" -#: common/models.py:2253 +#: common/models.py:2254 msgid "Show low stock items on the homepage" msgstr "Afficher les articles en stock bas sur la page d'accueil" -#: common/models.py:2258 +#: common/models.py:2259 msgid "Show depleted stock" msgstr "Afficher le stock épuisé" -#: common/models.py:2259 +#: common/models.py:2260 msgid "Show depleted stock items on the homepage" msgstr "Afficher les stocks épuisés sur la page d'accueil" -#: common/models.py:2264 +#: common/models.py:2265 msgid "Show needed stock" msgstr "Afficher le stock nécessaire" -#: common/models.py:2265 +#: common/models.py:2266 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:2270 +#: common/models.py:2271 msgid "Show expired stock" msgstr "Afficher le stock expiré" -#: common/models.py:2271 +#: common/models.py:2272 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:2276 +#: common/models.py:2277 msgid "Show stale stock" msgstr "Afficher le stock périmé" -#: common/models.py:2277 +#: common/models.py:2278 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:2282 +#: common/models.py:2283 msgid "Show pending builds" msgstr "Afficher les constructions en attente" -#: common/models.py:2283 +#: common/models.py:2284 msgid "Show pending builds on the homepage" msgstr "Afficher les constructions en attente sur la page d'accueil" -#: common/models.py:2288 +#: common/models.py:2289 msgid "Show overdue builds" msgstr "Afficher les constructions en retard" -#: common/models.py:2289 +#: common/models.py:2290 msgid "Show overdue builds on the homepage" msgstr "Afficher les constructions en retard sur la page d'accueil" -#: common/models.py:2294 +#: common/models.py:2295 msgid "Show outstanding POs" msgstr "Afficher les commandes en suspens" -#: common/models.py:2295 +#: common/models.py:2296 msgid "Show outstanding POs on the homepage" msgstr "Afficher les commandes en suspens sur la page d'accueil" -#: common/models.py:2300 +#: common/models.py:2301 msgid "Show overdue POs" msgstr "Afficher les commandes en retard" -#: common/models.py:2301 +#: common/models.py:2302 msgid "Show overdue POs on the homepage" msgstr "Afficher les commandes en retard sur la page d'accueil" -#: common/models.py:2306 +#: common/models.py:2307 msgid "Show outstanding SOs" msgstr "Afficher les envois en suspens" -#: common/models.py:2307 +#: common/models.py:2308 msgid "Show outstanding SOs on the homepage" msgstr "Afficher les envois en suspens sur la page d'accueil" -#: common/models.py:2312 +#: common/models.py:2313 msgid "Show overdue SOs" msgstr "Afficher les envois en retard" -#: common/models.py:2313 +#: common/models.py:2314 msgid "Show overdue SOs on the homepage" msgstr "Afficher les envois en retard sur la page d'accueil" -#: common/models.py:2318 +#: common/models.py:2319 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2319 +#: common/models.py:2320 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2324 +#: common/models.py:2325 msgid "Show News" msgstr "Afficher les nouvelles" -#: common/models.py:2325 +#: common/models.py:2326 msgid "Show news on the homepage" msgstr "Afficher les nouvelles sur la page d'accueil" -#: common/models.py:2330 +#: common/models.py:2331 msgid "Inline label display" msgstr "Affichage du libellé en ligne" -#: common/models.py:2332 +#: common/models.py:2333 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:2338 +#: common/models.py:2339 msgid "Default label printer" msgstr "Imprimante d'étiquettes par défaut" -#: common/models.py:2340 +#: common/models.py:2341 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:2346 +#: common/models.py:2347 msgid "Inline report display" msgstr "Affichage du rapport en ligne" -#: common/models.py:2348 +#: common/models.py:2349 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:2354 +#: common/models.py:2355 msgid "Search Parts" msgstr "Rechercher de pièces" -#: common/models.py:2355 +#: common/models.py:2356 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:2360 +#: common/models.py:2361 msgid "Search Supplier Parts" msgstr "Recherche du fournisseur de pièces" -#: common/models.py:2361 +#: common/models.py:2362 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:2366 +#: common/models.py:2367 msgid "Search Manufacturer Parts" msgstr "Rechercher les pièces du fabricant" -#: common/models.py:2367 +#: common/models.py:2368 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:2372 +#: common/models.py:2373 msgid "Hide Inactive Parts" msgstr "Masquer les pièces inactives" -#: common/models.py:2373 +#: common/models.py:2374 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:2378 +#: common/models.py:2379 msgid "Search Categories" msgstr "Rechercher des catégories" -#: common/models.py:2379 +#: common/models.py:2380 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:2384 +#: common/models.py:2385 msgid "Search Stock" msgstr "Rechercher dans le stock" -#: common/models.py:2385 +#: common/models.py:2386 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:2390 +#: common/models.py:2391 msgid "Hide Unavailable Stock Items" msgstr "Cacher les pièces indisponibles" -#: common/models.py:2392 +#: common/models.py:2393 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:2398 +#: common/models.py:2399 msgid "Search Locations" msgstr "Chercher des Emplacements" -#: common/models.py:2399 +#: common/models.py:2400 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:2404 +#: common/models.py:2405 msgid "Search Companies" msgstr "Rechercher les entreprises" -#: common/models.py:2405 +#: common/models.py:2406 msgid "Display companies in search preview window" msgstr "Afficher les entreprises dans la fenêtre de prévisualisation de recherche" -#: common/models.py:2410 +#: common/models.py:2411 msgid "Search Build Orders" msgstr "Rechercher les commandes de construction" -#: common/models.py:2411 +#: common/models.py:2412 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:2416 +#: common/models.py:2417 msgid "Search Purchase Orders" msgstr "Rechercher des bons de commande" -#: common/models.py:2417 +#: common/models.py:2418 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:2422 +#: common/models.py:2423 msgid "Exclude Inactive Purchase Orders" msgstr "Exclure les bons de commande inactifs" -#: common/models.py:2424 +#: common/models.py:2425 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:2430 +#: common/models.py:2431 msgid "Search Sales Orders" msgstr "Rechercher les bons de commande" -#: common/models.py:2431 +#: common/models.py:2432 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:2436 +#: common/models.py:2437 msgid "Exclude Inactive Sales Orders" msgstr "Exclure les bons de commande inactives" -#: common/models.py:2438 +#: common/models.py:2439 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:2444 +#: common/models.py:2445 msgid "Search Return Orders" msgstr "Rechercher les commandes retournées" -#: common/models.py:2445 +#: common/models.py:2446 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2450 +#: common/models.py:2451 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2452 +#: common/models.py:2453 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2458 +#: common/models.py:2459 msgid "Search Preview Results" msgstr "Résultats de l'aperçu de la recherche" -#: common/models.py:2460 +#: common/models.py:2461 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:2466 +#: common/models.py:2467 msgid "Regex Search" msgstr "Recherche Regex" -#: common/models.py:2467 +#: common/models.py:2468 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2472 +#: common/models.py:2473 msgid "Whole Word Search" msgstr "" -#: common/models.py:2473 +#: common/models.py:2474 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2478 +#: common/models.py:2479 msgid "Show Quantity in Forms" msgstr "Afficher la quantité dans les formulaires" -#: common/models.py:2479 +#: common/models.py:2480 msgid "Display available part quantity in some forms" msgstr "Afficher la quantité disponible dans certains formulaires" -#: common/models.py:2484 +#: common/models.py:2485 msgid "Escape Key Closes Forms" msgstr "La touche Echap ferme les formulaires" -#: common/models.py:2485 +#: common/models.py:2486 msgid "Use the escape key to close modal forms" msgstr "Utilisez la touche Echap pour fermer les formulaires modaux" -#: common/models.py:2490 +#: common/models.py:2491 msgid "Fixed Navbar" msgstr "Barre de navigation fixe" -#: common/models.py:2491 +#: common/models.py:2492 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:2496 +#: common/models.py:2497 msgid "Date Format" msgstr "Format de date" -#: common/models.py:2497 +#: common/models.py:2498 msgid "Preferred format for displaying dates" msgstr "Format préféré pour l'affichage des dates" -#: common/models.py:2510 part/templates/part/detail.html:41 +#: common/models.py:2511 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "Planification des pièces" -#: common/models.py:2511 +#: common/models.py:2512 msgid "Display part scheduling information" msgstr "Afficher les informations de planification des pièces" -#: common/models.py:2516 part/templates/part/detail.html:62 +#: common/models.py:2517 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "Inventaire des pièces" -#: common/models.py:2518 +#: common/models.py:2519 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2524 +#: common/models.py:2525 msgid "Table String Length" msgstr "Longueur de la chaîne dans les Tableau" -#: common/models.py:2526 +#: common/models.py:2527 msgid "Maximum length limit for strings displayed in table views" msgstr "Longueur maximale des chaînes affichées dans les tableaux" -#: common/models.py:2532 +#: common/models.py:2533 msgid "Receive error reports" msgstr "" -#: common/models.py:2533 +#: common/models.py:2534 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2538 +#: common/models.py:2539 msgid "Last used printing machines" msgstr "" -#: common/models.py:2539 +#: common/models.py:2540 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2559 common/models.py:2560 common/models.py:2717 -#: common/models.py:2718 common/models.py:2963 common/models.py:2964 -#: common/models.py:3287 common/models.py:3288 importer/models.py:89 -#: part/models.py:3319 part/models.py:3406 part/models.py:3480 -#: part/models.py:3508 plugin/models.py:274 plugin/models.py:275 +#: common/models.py:2560 common/models.py:2561 common/models.py:2718 +#: common/models.py:2719 common/models.py:2964 common/models.py:2965 +#: common/models.py:3288 common/models.py:3289 importer/models.py:89 +#: part/models.py:3306 part/models.py:3393 part/models.py:3467 +#: part/models.py:3495 plugin/models.py:274 plugin/models.py:275 #: report/templates/report/inventree_test_report.html:105 #: templates/js/translated/stock.js:3121 users/models.py:111 msgid "User" msgstr "Utilisateur" -#: common/models.py:2582 +#: common/models.py:2583 msgid "Price break quantity" msgstr "" -#: common/models.py:2589 company/serializers.py:517 order/admin.py:42 +#: common/models.py:2590 company/serializers.py:517 order/admin.py:42 #: order/models.py:1423 order/models.py:2410 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1892 #: templates/js/translated/pricing.js:621 @@ -3747,96 +3744,96 @@ msgstr "" msgid "Price" msgstr "Prix" -#: common/models.py:2590 +#: common/models.py:2591 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2694 common/models.py:2879 +#: common/models.py:2695 common/models.py:2880 msgid "Endpoint" msgstr "" -#: common/models.py:2695 +#: common/models.py:2696 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2705 +#: common/models.py:2706 msgid "Name for this webhook" msgstr "" -#: common/models.py:2709 +#: common/models.py:2710 msgid "Is this webhook active" msgstr "Ce webhook (lien de rappel HTTP) est-il actif" -#: common/models.py:2725 users/models.py:159 +#: common/models.py:2726 users/models.py:159 msgid "Token" msgstr "Jeton" -#: common/models.py:2726 +#: common/models.py:2727 msgid "Token for access" msgstr "Jeton d'accès" -#: common/models.py:2734 +#: common/models.py:2735 msgid "Secret" msgstr "Confidentiel" -#: common/models.py:2735 +#: common/models.py:2736 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2843 +#: common/models.py:2844 msgid "Message ID" msgstr "ID message" -#: common/models.py:2844 +#: common/models.py:2845 msgid "Unique identifier for this message" msgstr "Identifiant unique pour ce message" -#: common/models.py:2852 +#: common/models.py:2853 msgid "Host" msgstr "Hôte" -#: common/models.py:2853 +#: common/models.py:2854 msgid "Host from which this message was received" msgstr "Hôte à partir duquel ce message a été reçu" -#: common/models.py:2861 +#: common/models.py:2862 msgid "Header" msgstr "Entête" -#: common/models.py:2862 +#: common/models.py:2863 msgid "Header of this message" msgstr "En-tête de ce message" -#: common/models.py:2869 +#: common/models.py:2870 msgid "Body" msgstr "Corps" -#: common/models.py:2870 +#: common/models.py:2871 msgid "Body of this message" msgstr "Corps de ce message" -#: common/models.py:2880 +#: common/models.py:2881 msgid "Endpoint on which this message was received" msgstr "Endpoint à partir duquel ce message a été reçu" -#: common/models.py:2885 +#: common/models.py:2886 msgid "Worked on" msgstr "" -#: common/models.py:2886 +#: common/models.py:2887 msgid "Was the work on this message finished?" msgstr "Le travail sur ce message est-il terminé ?" -#: common/models.py:3012 +#: common/models.py:3013 msgid "Id" msgstr "Id" -#: common/models.py:3014 templates/js/translated/company.js:965 +#: common/models.py:3015 templates/js/translated/company.js:965 #: templates/js/translated/news.js:44 msgid "Title" msgstr "Titre" -#: common/models.py:3016 common/models.py:3271 company/models.py:146 +#: common/models.py:3017 common/models.py:3272 company/models.py:146 #: company/models.py:443 company/models.py:509 company/models.py:815 #: order/models.py:303 order/models.py:1378 order/models.py:1810 #: part/admin.py:55 part/models.py:1069 @@ -3853,217 +3850,217 @@ msgstr "Titre" msgid "Link" msgstr "Lien" -#: common/models.py:3018 templates/js/translated/news.js:60 +#: common/models.py:3019 templates/js/translated/news.js:60 msgid "Published" msgstr "Publié" -#: common/models.py:3020 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:3021 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:103 msgid "Author" msgstr "Auteur" -#: common/models.py:3022 templates/js/translated/news.js:52 +#: common/models.py:3023 templates/js/translated/news.js:52 msgid "Summary" msgstr "Résumé" -#: common/models.py:3025 +#: common/models.py:3026 msgid "Read" msgstr "Lu" -#: common/models.py:3025 +#: common/models.py:3026 msgid "Was this news item read?" msgstr "Cette nouvelle a-t-elle été lue ?" -#: common/models.py:3042 company/models.py:156 part/models.py:1079 +#: common/models.py:3043 company/models.py:156 part/models.py:1079 #: 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.html:35 -#: stock/templates/stock/item_base.html:133 templates/503.html:31 +#: stock/templates/stock/item_base.html:129 templates/503.html:31 #: templates/hover_image.html:7 templates/hover_image.html:9 #: templates/modals.html:6 msgid "Image" msgstr "Image" -#: common/models.py:3042 +#: common/models.py:3043 msgid "Image file" msgstr "Fichier image" -#: common/models.py:3054 common/models.py:3255 +#: common/models.py:3055 common/models.py:3256 msgid "Target model type for this image" msgstr "" -#: common/models.py:3058 +#: common/models.py:3059 msgid "Target model ID for this image" msgstr "" -#: common/models.py:3080 +#: common/models.py:3081 msgid "Custom Unit" msgstr "" -#: common/models.py:3098 +#: common/models.py:3099 msgid "Unit symbol must be unique" msgstr "" -#: common/models.py:3113 +#: common/models.py:3114 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:3132 +#: common/models.py:3133 msgid "Unit name" msgstr "" -#: common/models.py:3139 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3140 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "Symbole" -#: common/models.py:3140 +#: common/models.py:3141 msgid "Optional unit symbol" msgstr "Symbole d'unité facultatif" -#: common/models.py:3146 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3147 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "Définition" -#: common/models.py:3147 +#: common/models.py:3148 msgid "Unit definition" msgstr "Définition de l'unité" -#: common/models.py:3205 common/models.py:3262 stock/models.py:2552 +#: common/models.py:3206 common/models.py:3263 stock/models.py:2547 #: stock/serializers.py:244 templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:345 msgid "Attachment" msgstr "Pièce jointe" -#: common/models.py:3217 +#: common/models.py:3218 msgid "Missing file" msgstr "Fichier manquant" -#: common/models.py:3218 +#: common/models.py:3219 msgid "Missing external link" msgstr "Lien externe manquant" -#: common/models.py:3263 +#: common/models.py:3264 msgid "Select file to attach" msgstr "Sélectionnez un fichier à joindre" -#: common/models.py:3278 templates/js/translated/attachment.js:120 +#: common/models.py:3279 templates/js/translated/attachment.js:120 #: templates/js/translated/attachment.js:360 msgid "Comment" msgstr "Commentaire" -#: common/models.py:3279 +#: common/models.py:3280 msgid "Attachment comment" msgstr "" -#: common/models.py:3295 +#: common/models.py:3296 msgid "Upload date" msgstr "" -#: common/models.py:3296 +#: common/models.py:3297 msgid "Date the file was uploaded" msgstr "" -#: common/models.py:3300 +#: common/models.py:3301 msgid "File size" msgstr "" -#: common/models.py:3300 +#: common/models.py:3301 msgid "File size in bytes" msgstr "" -#: common/models.py:3338 common/serializers.py:588 +#: common/models.py:3339 common/serializers.py:604 msgid "Invalid model type specified for attachment" msgstr "" -#: common/models.py:3347 plugin/models.py:43 users/models.py:100 +#: common/models.py:3348 plugin/models.py:43 users/models.py:100 msgid "Key" msgstr "" -#: common/models.py:3348 +#: common/models.py:3349 msgid "Value that will be saved in the models database" msgstr "" -#: common/models.py:3351 +#: common/models.py:3352 msgid "Name of the state" msgstr "" -#: common/models.py:3355 +#: common/models.py:3356 msgid "Label" msgstr "" -#: common/models.py:3356 +#: common/models.py:3357 msgid "Label that will be displayed in the frontend" msgstr "" -#: common/models.py:3362 +#: common/models.py:3363 msgid "Color" msgstr "" -#: common/models.py:3363 +#: common/models.py:3364 msgid "Color that will be displayed in the frontend" msgstr "" -#: common/models.py:3366 +#: common/models.py:3367 msgid "Logical Key" msgstr "" -#: common/models.py:3368 +#: common/models.py:3369 msgid "State logical key that is equal to this custom state in business logic" msgstr "" -#: common/models.py:3376 +#: common/models.py:3377 msgid "Model" msgstr "" -#: common/models.py:3377 +#: common/models.py:3378 msgid "Model this state is associated with" msgstr "" -#: common/models.py:3381 +#: common/models.py:3382 msgid "Reference Status Set" msgstr "" -#: common/models.py:3382 +#: common/models.py:3383 msgid "Status set that is extended with this custom state" msgstr "" -#: common/models.py:3388 +#: common/models.py:3389 msgid "Custom State" msgstr "" -#: common/models.py:3389 +#: common/models.py:3390 msgid "Custom States" msgstr "" -#: common/models.py:3404 +#: common/models.py:3405 msgid "Model must be selected" msgstr "" -#: common/models.py:3407 +#: common/models.py:3408 msgid "Key must be selected" msgstr "" -#: common/models.py:3410 +#: common/models.py:3411 msgid "Logical key must be selected" msgstr "" -#: common/models.py:3414 +#: common/models.py:3415 msgid "Key must be different from logical key" msgstr "" -#: common/models.py:3418 +#: common/models.py:3419 msgid "Reference status must be selected" msgstr "" -#: common/models.py:3430 +#: common/models.py:3431 msgid "Reference status set not found" msgstr "" -#: common/models.py:3436 +#: common/models.py:3437 msgid "Key must be different from the logical keys of the reference status" msgstr "" -#: common/models.py:3442 +#: common/models.py:3443 msgid "Logical key must be in the logical keys of the reference status" msgstr "" @@ -4101,75 +4098,75 @@ msgstr "" msgid "Error raised by plugin" msgstr "Erreur déclenchée par le plugin" -#: common/serializers.py:402 +#: common/serializers.py:418 msgid "Is Running" msgstr "En cours d'exécution" -#: common/serializers.py:408 +#: common/serializers.py:424 msgid "Pending Tasks" msgstr "Tâches en attente" -#: common/serializers.py:414 +#: common/serializers.py:430 msgid "Scheduled Tasks" msgstr "Tâches planifiées" -#: common/serializers.py:420 +#: common/serializers.py:436 msgid "Failed Tasks" msgstr "Tâches échouées" -#: common/serializers.py:435 +#: common/serializers.py:451 msgid "Task ID" msgstr "ID de la tâche" -#: common/serializers.py:435 +#: common/serializers.py:451 msgid "Unique task ID" msgstr "ID unique de la tâche" -#: common/serializers.py:437 +#: common/serializers.py:453 msgid "Lock" msgstr "Verrouillé" -#: common/serializers.py:437 +#: common/serializers.py:453 msgid "Lock time" msgstr "Heure verrouillé" -#: common/serializers.py:439 +#: common/serializers.py:455 msgid "Task name" msgstr "Nom de la tâche" -#: common/serializers.py:441 +#: common/serializers.py:457 msgid "Function" msgstr "Fonction" -#: common/serializers.py:441 +#: common/serializers.py:457 msgid "Function name" msgstr "Nom de la fonction" -#: common/serializers.py:443 +#: common/serializers.py:459 msgid "Arguments" msgstr "Arguments" -#: common/serializers.py:443 +#: common/serializers.py:459 msgid "Task arguments" msgstr "Arguments tâche" -#: common/serializers.py:446 +#: common/serializers.py:462 msgid "Keyword Arguments" msgstr "Mots-clés Arguments" -#: common/serializers.py:446 +#: common/serializers.py:462 msgid "Task keyword arguments" msgstr "Mots-clés arguments tâche" -#: common/serializers.py:556 +#: common/serializers.py:572 msgid "Filename" msgstr "Nom du fichier" -#: common/serializers.py:563 report/api.py:100 report/serializers.py:53 +#: common/serializers.py:579 report/api.py:100 report/serializers.py:54 msgid "Model Type" msgstr "" -#: common/serializers.py:591 +#: common/serializers.py:607 msgid "User does not have permission to create or edit attachments for this model" msgstr "" @@ -4447,12 +4444,12 @@ msgstr "Lien vers les informations de l'adresse (externe)" #: company/models.py:467 company/models.py:584 company/models.py:808 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 -#: stock/templates/stock/item_base.html:217 +#: stock/templates/stock/item_base.html:213 msgid "Manufacturer Part" msgstr "Pièces du fabricant" #: company/models.py:484 company/models.py:776 stock/models.py:791 -#: stock/serializers.py:452 stock/templates/stock/item_base.html:142 +#: stock/serializers.py:452 stock/templates/stock/item_base.html:138 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" @@ -4463,8 +4460,8 @@ msgstr "" #: company/models.py:495 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:567 -#: stock/templates/stock/item_base.html:207 +#: company/templates/company/supplier_part.html:145 part/serializers.py:565 +#: stock/templates/stock/item_base.html:203 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 #: templates/js/translated/company.js:1296 @@ -4479,7 +4476,7 @@ msgstr "Sélectionner un fabricant" #: company/models.py:502 company/templates/company/manufacturer_part.html:101 #: company/templates/company/supplier_part.html:153 order/serializers.py:557 -#: part/serializers.py:577 templates/js/translated/company.js:351 +#: part/serializers.py:575 templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 #: templates/js/translated/company.js:1630 templates/js/translated/part.js:1807 @@ -4505,7 +4502,7 @@ msgid "Parameter name" msgstr "Nom du paramètre" #: company/models.py:597 report/templates/report/inventree_test_report.html:104 -#: stock/models.py:2544 templates/js/translated/company.js:1166 +#: stock/models.py:2539 templates/js/translated/company.js:1166 #: templates/js/translated/company.js:1419 templates/js/translated/part.js:1499 #: templates/js/translated/stock.js:1607 msgid "Value" @@ -4516,7 +4513,7 @@ msgid "Parameter value" msgstr "Valeur du paramètre" #: company/models.py:605 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1159 part/models.py:3783 +#: part/admin.py:57 part/models.py:1159 part/models.py:3770 #: part/templates/part/part_base.html:300 #: templates/js/translated/company.js:1425 templates/js/translated/part.js:1518 #: templates/js/translated/part.js:1622 templates/js/translated/part.js:2376 @@ -4530,7 +4527,7 @@ msgstr "Unités du paramètre" #: company/models.py:659 company/templates/company/supplier_part.html:7 #: company/templates/company/supplier_part.html:24 order/api.py:440 #: order/serializers.py:492 stock/models.py:802 -#: stock/templates/stock/item_base.html:233 +#: stock/templates/stock/item_base.html:229 #: templates/js/translated/build.js:1055 #: templates/js/translated/company.js:1600 #: templates/js/translated/purchase_order.js:752 @@ -4553,9 +4550,9 @@ msgstr "La pièce du fabricant liée doit faire référence à la même pièce d #: company/models.py:786 company/templates/company/company_base.html:87 #: company/templates/company/supplier_part.html:129 order/models.py:492 #: order/templates/order/order_base.html:141 part/bom.py:279 part/bom.py:314 -#: part/serializers.py:551 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:549 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 -#: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 +#: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:220 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:511 @@ -4570,7 +4567,7 @@ msgstr "Fournisseur" msgid "Select supplier" msgstr "Sélectionner un fournisseur" -#: company/models.py:793 part/serializers.py:562 +#: company/models.py:793 part/serializers.py:560 msgid "Supplier stock keeping unit" msgstr "Unité de gestion des stocks des fournisseurs" @@ -4591,7 +4588,7 @@ msgid "Supplier part description" msgstr "Description de la pièce du fournisseur" #: company/models.py:832 company/templates/company/supplier_part.html:187 -#: order/serializers.py:699 part/admin.py:415 part/models.py:4301 +#: order/serializers.py:699 part/admin.py:415 part/models.py:4288 #: part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 @@ -4603,11 +4600,11 @@ msgstr "Description de la pièce du fournisseur" msgid "Note" msgstr "" -#: company/models.py:841 part/models.py:2129 +#: company/models.py:841 part/models.py:2128 msgid "base cost" msgstr "coût de base" -#: company/models.py:842 part/models.py:2130 +#: company/models.py:842 part/models.py:2129 msgid "Minimum charge (e.g. stocking fee)" msgstr "Frais minimums (par exemple frais de stock)" @@ -4629,7 +4626,7 @@ msgstr "Nombre de paquet" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:876 part/models.py:2136 +#: company/models.py:876 part/models.py:2135 msgid "multiple" msgstr "plusieurs" @@ -4661,7 +4658,7 @@ msgstr "Devise par défaut utilisée pour ce fournisseur" msgid "Company Name" msgstr "" -#: company/serializers.py:397 part/admin.py:126 part/serializers.py:919 +#: company/serializers.py:397 part/admin.py:126 part/serializers.py:917 #: part/templates/part/part_base.html:197 #: templates/js/translated/company.js:1689 #: templates/js/translated/table_filters.js:362 @@ -4735,7 +4732,7 @@ msgstr "Supprimer image" #: order/models.py:2140 order/templates/order/return_order_base.html:134 #: order/templates/order/sales_order_base.html:151 stock/models.py:844 #: stock/models.py:845 stock/serializers.py:1336 -#: stock/templates/stock/item_base.html:405 +#: stock/templates/stock/item_base.html:401 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 #: templates/js/translated/return_order.js:295 @@ -4939,7 +4936,7 @@ msgstr "Aucune information sur le fabricant disponible" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:925 +#: part/admin.py:122 part/serializers.py:923 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -5030,7 +5027,7 @@ msgid "No supplier information available" msgstr "Aucune information de fournisseur disponible" #: company/templates/company/supplier_part.html:139 order/serializers.py:554 -#: part/bom.py:286 part/bom.py:315 part/serializers.py:561 +#: part/bom.py:286 part/bom.py:315 part/serializers.py:559 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1793 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1920 @@ -5084,7 +5081,7 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:923 part/stocktake.py:223 +#: part/serializers.py:921 part/stocktake.py:223 #: part/templates/part/category.html:180 #: part/templates/part/category_sidebar.html:17 stock/admin.py:68 #: stock/serializers.py:1021 stock/serializers.py:1199 @@ -5215,7 +5212,7 @@ msgstr "" msgid "Original row data" msgstr "" -#: importer/models.py:504 part/models.py:3965 +#: importer/models.py:504 part/models.py:3952 msgid "Data" msgstr "Données" @@ -5473,7 +5470,7 @@ msgstr "Commande En Attente" #: order/models.py:1592 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_purchase_order_report.html:14 -#: stock/serializers.py:121 stock/templates/stock/item_base.html:176 +#: stock/serializers.py:121 stock/templates/stock/item_base.html:172 #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/part.js:1752 templates/js/translated/pricing.js:804 #: templates/js/translated/purchase_order.js:168 @@ -5694,7 +5691,7 @@ msgid "Number of items received" msgstr "Nombre d'éléments reçus" #: order/models.py:1513 stock/models.py:963 stock/serializers.py:617 -#: stock/templates/stock/item_base.html:183 +#: stock/templates/stock/item_base.html:179 #: templates/js/translated/stock.js:2397 msgid "Purchase Price" msgstr "Prix d'achat" @@ -5768,7 +5765,7 @@ msgid "User who checked this shipment" msgstr "Utilisateur qui a vérifié cet envoi" #: order/models.py:1788 order/models.py:2011 order/serializers.py:1479 -#: order/serializers.py:1589 templates/js/translated/model_renderers.js:455 +#: order/serializers.py:1597 templates/js/translated/model_renderers.js:455 msgid "Shipment" msgstr "Envoi" @@ -5982,7 +5979,7 @@ msgstr "" msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:656 order/serializers.py:779 order/serializers.py:1790 +#: order/serializers.py:656 order/serializers.py:779 order/serializers.py:1798 msgid "Select destination location for received items" msgstr "" @@ -6019,7 +6016,7 @@ msgstr "Le code-barres est déjà utilisé" 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:795 order/serializers.py:1806 +#: order/serializers.py:795 order/serializers.py:1814 msgid "Line items must be provided" msgstr "" @@ -6051,39 +6048,39 @@ msgstr "" msgid "Enter serial numbers to allocate" msgstr "Entrez les numéros de série à allouer" -#: order/serializers.py:1491 order/serializers.py:1597 +#: order/serializers.py:1491 order/serializers.py:1605 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1494 order/serializers.py:1600 +#: order/serializers.py:1494 order/serializers.py:1608 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1541 +#: order/serializers.py:1549 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:1548 -msgid "The following serial numbers are already allocated" -msgstr "Les numéros de série suivants sont déjà alloués" +#: order/serializers.py:1556 +msgid "The following serial numbers are unavailable" +msgstr "" -#: order/serializers.py:1760 +#: order/serializers.py:1768 msgid "Return order line item" msgstr "" -#: order/serializers.py:1766 +#: order/serializers.py:1774 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1769 +#: order/serializers.py:1777 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1798 +#: order/serializers.py:1806 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1881 +#: order/serializers.py:1889 msgid "Line price currency" msgstr "" @@ -6510,7 +6507,7 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:48 part/models.py:1044 part/serializers.py:908 +#: part/admin.py:48 part/models.py:1044 part/serializers.py:906 #: part/templates/part/part_base.html:276 #: report/templates/report/inventree_stock_location_report.html:103 #: templates/js/translated/part.js:1233 templates/js/translated/part.js:2347 @@ -6537,7 +6534,7 @@ msgstr "Image pièce" msgid "Category ID" msgstr "ID catégorie" -#: part/admin.py:67 part/admin.py:304 part/serializers.py:893 +#: part/admin.py:67 part/admin.py:304 part/serializers.py:891 #: part/stocktake.py:222 msgid "Category Name" msgstr "Nom catégorie" @@ -6562,18 +6559,18 @@ msgstr "Stock Minimum" msgid "Used In" msgstr "Utilisé pour" -#: part/admin.py:150 part/serializers.py:918 +#: part/admin.py:150 part/serializers.py:916 #: part/templates/part/part_base.html:248 stock/admin.py:236 #: templates/js/translated/part.js:717 templates/js/translated/part.js:2159 msgid "Building" msgstr "Construction" -#: part/admin.py:155 part/models.py:3214 part/models.py:3228 +#: part/admin.py:155 part/models.py:3201 part/models.py:3215 #: templates/js/translated/part.js:976 msgid "Minimum Cost" msgstr "Coût minimal" -#: part/admin.py:158 part/models.py:3221 part/models.py:3235 +#: part/admin.py:158 part/models.py:3208 part/models.py:3222 #: templates/js/translated/part.js:986 msgid "Maximum Cost" msgstr "Coût maximal" @@ -6592,7 +6589,7 @@ msgid "Category Path" msgstr "Chemin catégorie" #: part/admin.py:325 part/models.py:420 part/serializers.py:130 -#: part/serializers.py:290 part/serializers.py:428 +#: part/serializers.py:290 part/serializers.py:426 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:20 #: part/templates/part/category.html:138 part/templates/part/category.html:158 #: part/templates/part/category_sidebar.html:9 @@ -6619,13 +6616,13 @@ msgstr "" msgid "Part Revision" msgstr "" -#: part/admin.py:418 part/serializers.py:1367 +#: part/admin.py:418 part/serializers.py:1365 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "Prix Minimum" -#: part/admin.py:423 part/serializers.py:1382 +#: part/admin.py:423 part/serializers.py:1380 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -6719,8 +6716,8 @@ msgstr "" msgid "BOM Valid" msgstr "" -#: part/api.py:1520 part/models.py:1036 part/models.py:3501 part/models.py:4060 -#: part/serializers.py:443 part/serializers.py:1223 +#: part/api.py:1520 part/models.py:1036 part/models.py:3488 part/models.py:4047 +#: part/serializers.py:441 part/serializers.py:1221 #: part/templates/part/part_base.html:267 stock/api.py:780 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 @@ -6746,7 +6743,7 @@ msgstr "Utilise" msgid "Default Location" msgstr "Emplacement par défaut" -#: part/bom.py:184 part/serializers.py:926 +#: part/bom.py:184 part/serializers.py:924 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "Stock total" @@ -6755,7 +6752,7 @@ msgstr "Stock total" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:89 part/models.py:4061 part/templates/part/category.html:16 +#: part/models.py:89 part/models.py:4048 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "Catégorie de composant" @@ -6878,7 +6875,7 @@ msgstr "" msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:995 part/models.py:4116 +#: part/models.py:995 part/models.py:4103 msgid "Part name" msgstr "Nom de l'article" @@ -6906,7 +6903,7 @@ msgstr "" msgid "Part category" msgstr "Catégorie de la pièce" -#: part/models.py:1052 part/serializers.py:360 +#: part/models.py:1052 msgid "Part revision or version number" msgstr "" @@ -7012,164 +7009,164 @@ msgid "Owner responsible for this part" msgstr "Propriétaire responsable de cette pièce" #: part/models.py:1264 part/templates/part/part_base.html:355 -#: stock/templates/stock/item_base.html:451 +#: stock/templates/stock/item_base.html:447 #: templates/js/translated/part.js:2490 msgid "Last Stocktake" msgstr "" -#: part/models.py:2137 +#: part/models.py:2136 msgid "Sell multiple" msgstr "Ventes multiples" -#: part/models.py:3128 +#: part/models.py:3115 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3144 +#: part/models.py:3131 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3145 +#: part/models.py:3132 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3151 +#: part/models.py:3138 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3152 +#: part/models.py:3139 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3158 +#: part/models.py:3145 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3159 +#: part/models.py:3146 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3165 +#: part/models.py:3152 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3166 +#: part/models.py:3153 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3172 +#: part/models.py:3159 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3173 +#: part/models.py:3160 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3179 +#: part/models.py:3166 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3180 +#: part/models.py:3167 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3186 +#: part/models.py:3173 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3187 +#: part/models.py:3174 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3193 +#: part/models.py:3180 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3194 +#: part/models.py:3181 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3200 +#: part/models.py:3187 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3201 +#: part/models.py:3188 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3207 +#: part/models.py:3194 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3208 +#: part/models.py:3195 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3215 +#: part/models.py:3202 msgid "Override minimum cost" msgstr "" -#: part/models.py:3222 +#: part/models.py:3209 msgid "Override maximum cost" msgstr "" -#: part/models.py:3229 +#: part/models.py:3216 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3236 +#: part/models.py:3223 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3242 +#: part/models.py:3229 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3243 +#: part/models.py:3230 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3249 +#: part/models.py:3236 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3250 +#: part/models.py:3237 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3256 +#: part/models.py:3243 msgid "Minimum Sale Cost" msgstr "Coût minimum de vente" -#: part/models.py:3257 +#: part/models.py:3244 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3263 +#: part/models.py:3250 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3264 +#: part/models.py:3251 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3283 +#: part/models.py:3270 msgid "Part for stocktake" msgstr "" -#: part/models.py:3288 +#: part/models.py:3275 msgid "Item Count" msgstr "" -#: part/models.py:3289 +#: part/models.py:3276 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3297 +#: part/models.py:3284 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3301 part/models.py:3384 +#: part/models.py:3288 part/models.py:3371 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -7181,363 +7178,363 @@ msgstr "" msgid "Date" msgstr "" -#: part/models.py:3302 +#: part/models.py:3289 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3310 +#: part/models.py:3297 msgid "Additional notes" msgstr "Notes additionnelles" -#: part/models.py:3320 +#: part/models.py:3307 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3326 +#: part/models.py:3313 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3327 +#: part/models.py:3314 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3333 +#: part/models.py:3320 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3334 +#: part/models.py:3321 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3390 templates/InvenTree/settings/settings_staff_js.html:532 +#: part/models.py:3377 templates/InvenTree/settings/settings_staff_js.html:532 msgid "Report" msgstr "" -#: part/models.py:3391 +#: part/models.py:3378 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3396 templates/InvenTree/settings/settings_staff_js.html:539 +#: part/models.py:3383 templates/InvenTree/settings/settings_staff_js.html:539 msgid "Part Count" msgstr "" -#: part/models.py:3397 +#: part/models.py:3384 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3407 +#: part/models.py:3394 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3417 +#: part/models.py:3404 msgid "Part Sale Price Break" msgstr "" -#: part/models.py:3529 +#: part/models.py:3516 msgid "Part Test Template" msgstr "" -#: part/models.py:3555 +#: part/models.py:3542 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3576 part/models.py:3745 +#: part/models.py:3563 part/models.py:3732 msgid "Choices must be unique" msgstr "" -#: part/models.py:3587 +#: part/models.py:3574 msgid "Test templates can only be created for testable parts" msgstr "" -#: part/models.py:3598 +#: part/models.py:3585 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3615 templates/js/translated/part.js:2898 +#: part/models.py:3602 templates/js/translated/part.js:2898 msgid "Test Name" msgstr "Nom de test" -#: part/models.py:3616 +#: part/models.py:3603 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3622 +#: part/models.py:3609 msgid "Test Key" msgstr "" -#: part/models.py:3623 +#: part/models.py:3610 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3630 +#: part/models.py:3617 msgid "Test Description" msgstr "" -#: part/models.py:3631 +#: part/models.py:3618 msgid "Enter description for this test" msgstr "" -#: part/models.py:3635 report/models.py:208 +#: part/models.py:3622 report/models.py:216 #: templates/js/translated/part.js:2919 #: templates/js/translated/table_filters.js:502 msgid "Enabled" msgstr "Activé" -#: part/models.py:3635 +#: part/models.py:3622 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3640 templates/js/translated/part.js:2927 +#: part/models.py:3627 templates/js/translated/part.js:2927 #: templates/js/translated/table_filters.js:498 msgid "Required" msgstr "Requis" -#: part/models.py:3641 +#: part/models.py:3628 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3646 templates/js/translated/part.js:2935 +#: part/models.py:3633 templates/js/translated/part.js:2935 msgid "Requires Value" msgstr "Valeur requise" -#: part/models.py:3647 +#: part/models.py:3634 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3652 templates/js/translated/part.js:2942 +#: part/models.py:3639 templates/js/translated/part.js:2942 msgid "Requires Attachment" msgstr "" -#: part/models.py:3654 +#: part/models.py:3641 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3660 part/models.py:3804 templates/js/translated/part.js:1643 +#: part/models.py:3647 part/models.py:3791 templates/js/translated/part.js:1643 msgid "Choices" msgstr "" -#: part/models.py:3661 +#: part/models.py:3648 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3693 +#: part/models.py:3680 msgid "Part Parameter Template" msgstr "" -#: part/models.py:3720 +#: part/models.py:3707 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3725 +#: part/models.py:3712 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3762 +#: part/models.py:3749 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3777 +#: part/models.py:3764 msgid "Parameter Name" msgstr "" -#: part/models.py:3784 +#: part/models.py:3771 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3792 +#: part/models.py:3779 msgid "Parameter description" msgstr "" -#: part/models.py:3798 templates/js/translated/part.js:1634 +#: part/models.py:3785 templates/js/translated/part.js:1634 #: templates/js/translated/table_filters.js:837 msgid "Checkbox" msgstr "" -#: part/models.py:3799 +#: part/models.py:3786 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3805 +#: part/models.py:3792 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3839 +#: part/models.py:3826 msgid "Part Parameter" msgstr "" -#: part/models.py:3865 +#: part/models.py:3852 msgid "Parameter cannot be modified - part is locked" msgstr "" -#: part/models.py:3903 +#: part/models.py:3890 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3952 +#: part/models.py:3939 msgid "Parent Part" msgstr "" -#: part/models.py:3960 part/models.py:4068 part/models.py:4069 +#: part/models.py:3947 part/models.py:4055 part/models.py:4056 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3966 +#: part/models.py:3953 msgid "Parameter Value" msgstr "" -#: part/models.py:4016 +#: part/models.py:4003 msgid "Part Category Parameter Template" msgstr "" -#: part/models.py:4075 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:4062 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "Valeur par Défaut" -#: part/models.py:4076 +#: part/models.py:4063 msgid "Default Parameter Value" msgstr "" -#: part/models.py:4114 +#: part/models.py:4101 msgid "Part ID or part name" msgstr "" -#: part/models.py:4115 +#: part/models.py:4102 msgid "Unique part ID value" msgstr "" -#: part/models.py:4117 +#: part/models.py:4104 msgid "Part IPN value" msgstr "" -#: part/models.py:4118 +#: part/models.py:4105 msgid "Level" msgstr "" -#: part/models.py:4118 +#: part/models.py:4105 msgid "BOM level" msgstr "" -#: part/models.py:4228 +#: part/models.py:4215 msgid "BOM item cannot be modified - assembly is locked" msgstr "" -#: part/models.py:4235 +#: part/models.py:4222 msgid "BOM item cannot be modified - variant assembly is locked" msgstr "" -#: part/models.py:4245 +#: part/models.py:4232 msgid "Select parent part" msgstr "" -#: part/models.py:4255 +#: part/models.py:4242 msgid "Sub part" msgstr "" -#: part/models.py:4256 +#: part/models.py:4243 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4267 +#: part/models.py:4254 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4273 +#: part/models.py:4260 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4279 +#: part/models.py:4266 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4286 part/templates/part/upload_bom.html:55 +#: part/models.py:4273 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "Surplus" -#: part/models.py:4287 +#: part/models.py:4274 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4294 +#: part/models.py:4281 msgid "BOM item reference" msgstr "" -#: part/models.py:4302 +#: part/models.py:4289 msgid "BOM item notes" msgstr "" -#: part/models.py:4308 +#: part/models.py:4295 msgid "Checksum" msgstr "" -#: part/models.py:4309 +#: part/models.py:4296 msgid "BOM line checksum" msgstr "" -#: part/models.py:4314 templates/js/translated/table_filters.js:181 +#: part/models.py:4301 templates/js/translated/table_filters.js:181 msgid "Validated" msgstr "Validée" -#: part/models.py:4315 +#: part/models.py:4302 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4320 part/templates/part/upload_bom.html:57 +#: part/models.py:4307 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:185 #: templates/js/translated/table_filters.js:218 msgid "Gets inherited" msgstr "" -#: part/models.py:4321 +#: part/models.py:4308 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4327 +#: part/models.py:4314 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4412 stock/models.py:689 +#: part/models.py:4399 stock/models.py:689 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4422 part/models.py:4424 +#: part/models.py:4409 part/models.py:4411 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4561 +#: part/models.py:4554 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4582 +#: part/models.py:4575 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4595 +#: part/models.py:4588 msgid "Parent BOM item" msgstr "" -#: part/models.py:4603 +#: part/models.py:4596 msgid "Substitute part" msgstr "" -#: part/models.py:4619 +#: part/models.py:4612 msgid "Part 1" msgstr "" -#: part/models.py:4627 +#: part/models.py:4620 msgid "Part 2" msgstr "" -#: part/models.py:4628 +#: part/models.py:4621 msgid "Select Related Part" msgstr "" -#: part/models.py:4647 +#: part/models.py:4640 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4652 +#: part/models.py:4645 msgid "Duplicate relationship already exists" msgstr "" @@ -7571,326 +7568,326 @@ msgstr "Devise d'achat de l'item" msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:434 +#: part/serializers.py:432 msgid "No parts selected" msgstr "" -#: part/serializers.py:444 +#: part/serializers.py:442 msgid "Select category" msgstr "" -#: part/serializers.py:479 +#: part/serializers.py:477 msgid "Original Part" msgstr "" -#: part/serializers.py:480 +#: part/serializers.py:478 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:485 +#: part/serializers.py:483 msgid "Copy Image" msgstr "Copier l'image" -#: part/serializers.py:486 +#: part/serializers.py:484 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:492 part/templates/part/detail.html:293 +#: part/serializers.py:490 part/templates/part/detail.html:293 msgid "Copy BOM" msgstr "" -#: part/serializers.py:493 +#: part/serializers.py:491 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:499 +#: part/serializers.py:497 msgid "Copy Parameters" msgstr "Copier les paramètres" -#: part/serializers.py:500 +#: part/serializers.py:498 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:506 +#: part/serializers.py:504 msgid "Copy Notes" msgstr "" -#: part/serializers.py:507 +#: part/serializers.py:505 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:525 +#: part/serializers.py:523 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:527 +#: part/serializers.py:525 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:534 +#: part/serializers.py:532 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:535 +#: part/serializers.py:533 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:552 +#: part/serializers.py:550 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:568 +#: part/serializers.py:566 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:578 +#: part/serializers.py:576 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:585 +#: part/serializers.py:583 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:594 +#: part/serializers.py:592 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:605 +#: part/serializers.py:603 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:612 +#: part/serializers.py:610 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:924 +#: part/serializers.py:922 msgid "Revisions" msgstr "" -#: part/serializers.py:929 +#: part/serializers.py:927 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:932 +#: part/serializers.py:930 msgid "Variant Stock" msgstr "" -#: part/serializers.py:962 part/templates/part/copy_part.html:9 +#: part/serializers.py:960 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:474 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:963 +#: part/serializers.py:961 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:969 templates/js/translated/part.js:103 +#: part/serializers.py:967 templates/js/translated/part.js:103 msgid "Initial Stock" msgstr "" -#: part/serializers.py:970 +#: part/serializers.py:968 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:976 +#: part/serializers.py:974 msgid "Supplier Information" msgstr "" -#: part/serializers.py:977 +#: part/serializers.py:975 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:985 +#: part/serializers.py:983 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:986 +#: part/serializers.py:984 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:991 +#: part/serializers.py:989 msgid "Existing Image" msgstr "" -#: part/serializers.py:992 +#: part/serializers.py:990 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:1009 +#: part/serializers.py:1007 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1215 +#: part/serializers.py:1213 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1225 +#: part/serializers.py:1223 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1235 +#: part/serializers.py:1233 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1241 +#: part/serializers.py:1239 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1242 +#: part/serializers.py:1240 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1247 +#: part/serializers.py:1245 msgid "Generate Report" msgstr "" -#: part/serializers.py:1248 +#: part/serializers.py:1246 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1253 +#: part/serializers.py:1251 msgid "Update Parts" msgstr "" -#: part/serializers.py:1254 +#: part/serializers.py:1252 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1262 +#: part/serializers.py:1260 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1368 +#: part/serializers.py:1366 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1375 +#: part/serializers.py:1373 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1383 +#: part/serializers.py:1381 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1390 +#: part/serializers.py:1388 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1419 +#: part/serializers.py:1417 msgid "Update" msgstr "" -#: part/serializers.py:1420 +#: part/serializers.py:1418 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1443 +#: part/serializers.py:1441 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1450 +#: part/serializers.py:1448 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1453 +#: part/serializers.py:1451 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1597 +#: part/serializers.py:1595 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1606 +#: part/serializers.py:1604 msgid "Component Name" msgstr "" -#: part/serializers.py:1609 +#: part/serializers.py:1607 msgid "Component IPN" msgstr "" -#: part/serializers.py:1612 +#: part/serializers.py:1610 msgid "Component Description" msgstr "" -#: part/serializers.py:1618 +#: part/serializers.py:1616 msgid "Select the component part" msgstr "" -#: part/serializers.py:1627 part/templates/part/part_base.html:242 +#: part/serializers.py:1625 part/templates/part/part_base.html:242 #: templates/js/translated/bom.js:1219 msgid "Can Build" msgstr "" -#: part/serializers.py:1858 +#: part/serializers.py:1856 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1866 +#: part/serializers.py:1864 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1867 +#: part/serializers.py:1865 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1872 +#: part/serializers.py:1870 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1873 +#: part/serializers.py:1871 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1878 +#: part/serializers.py:1876 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1879 +#: part/serializers.py:1877 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1884 +#: part/serializers.py:1882 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1885 +#: part/serializers.py:1883 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1922 +#: part/serializers.py:1920 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1923 +#: part/serializers.py:1921 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1955 +#: part/serializers.py:1953 msgid "No part column specified" msgstr "" -#: part/serializers.py:1999 +#: part/serializers.py:1997 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:2002 +#: part/serializers.py:2000 msgid "No matching part found" msgstr "" -#: part/serializers.py:2004 +#: part/serializers.py:2002 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:2013 +#: part/serializers.py:2011 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:2021 +#: part/serializers.py:2019 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:2044 +#: part/serializers.py:2042 msgid "At least one BOM item is required" msgstr "" @@ -8216,7 +8213,7 @@ msgid "Subscribe to notifications for this part" msgstr "S'abonner aux notifications de cette pièce" #: part/templates/part/part_base.html:52 -#: stock/templates/stock/item_base.html:62 +#: stock/templates/stock/item_base.html:61 #: stock/templates/stock/location.html:71 templates/js/translated/label.js:136 msgid "Print Label" msgstr "Impression étiquette" @@ -8226,7 +8223,7 @@ msgid "Show pricing information" msgstr "" #: part/templates/part/part_base.html:63 -#: stock/templates/stock/item_base.html:110 +#: stock/templates/stock/item_base.html:106 #: stock/templates/stock/location.html:80 msgid "Stock actions" msgstr "" @@ -8297,12 +8294,12 @@ msgid "Required for Orders" msgstr "" #: part/templates/part/part_base.html:225 -#: stock/templates/stock/item_base.html:388 +#: stock/templates/stock/item_base.html:384 msgid "Allocated to Build Orders" msgstr "" #: part/templates/part/part_base.html:234 -#: stock/templates/stock/item_base.html:381 +#: stock/templates/stock/item_base.html:377 msgid "Allocated to Sales Orders" msgstr "" @@ -8322,7 +8319,7 @@ msgid "Latest Serial Number" msgstr "Dernier numéro de série" #: part/templates/part/part_base.html:372 -#: stock/templates/stock/item_base.html:322 +#: stock/templates/stock/item_base.html:318 msgid "Search for serial number" msgstr "Rechercher un numéro de série" @@ -8449,7 +8446,7 @@ msgid "Edit" msgstr "Modifier" #: part/templates/part/prices.html:28 stock/admin.py:252 -#: stock/templates/stock/item_base.html:446 +#: stock/templates/stock/item_base.html:442 #: templates/js/translated/company.js:1703 #: templates/js/translated/company.js:1713 #: templates/js/translated/stock.js:2332 @@ -8604,7 +8601,7 @@ msgstr "" msgid "Part Pricing" msgstr "" -#: plugin/api.py:172 +#: plugin/api.py:174 msgid "Plugin cannot be deleted as it is currently active" msgstr "" @@ -8940,7 +8937,7 @@ msgstr "" msgid "Print a border around each label" msgstr "" -#: plugin/builtin/labels/label_sheet.py:47 report/models.py:307 +#: plugin/builtin/labels/label_sheet.py:47 report/models.py:315 msgid "Landscape" msgstr "" @@ -9012,44 +9009,44 @@ msgstr "" msgid "The Supplier which acts as 'TME'" msgstr "" -#: plugin/installer.py:194 plugin/installer.py:274 +#: plugin/installer.py:199 plugin/installer.py:282 msgid "Only staff users can administer plugins" msgstr "" -#: plugin/installer.py:197 +#: plugin/installer.py:202 msgid "Plugin installation is disabled" msgstr "" -#: plugin/installer.py:241 +#: plugin/installer.py:246 msgid "Installed plugin successfully" msgstr "" -#: plugin/installer.py:246 +#: plugin/installer.py:251 #, python-brace-format msgid "Installed plugin into {path}" msgstr "" -#: plugin/installer.py:265 +#: plugin/installer.py:273 msgid "Plugin was not found in registry" msgstr "" -#: plugin/installer.py:268 +#: plugin/installer.py:276 msgid "Plugin is not a packaged plugin" msgstr "" -#: plugin/installer.py:271 +#: plugin/installer.py:279 msgid "Plugin package name not found" msgstr "" -#: plugin/installer.py:291 +#: plugin/installer.py:299 msgid "Plugin uninstalling is disabled" msgstr "" -#: plugin/installer.py:295 +#: plugin/installer.py:303 msgid "Plugin cannot be uninstalled as it is currently active" msgstr "" -#: plugin/installer.py:308 +#: plugin/installer.py:316 msgid "Uninstalled plugin successfully" msgstr "" @@ -9098,7 +9095,7 @@ msgstr "Extension Intégrée" msgid "Package Plugin" msgstr "" -#: plugin/models.py:220 report/models.py:474 +#: plugin/models.py:220 report/models.py:482 #: templates/InvenTree/settings/plugin_settings.html:9 #: templates/js/translated/plugin.js:51 msgid "Plugin" @@ -9167,6 +9164,38 @@ msgstr "" msgid "InvenTree Contributors" msgstr "" +#: plugin/samples/integration/user_interface_sample.py:22 +msgid "Enable Part Panels" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:23 +msgid "Enable custom panels for Part views" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:28 +msgid "Enable Purchase Order Panels" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:29 +msgid "Enable custom panels for Purchase Order views" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:34 +msgid "Enable Broken Panels" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:35 +msgid "Enable broken panels for testing" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:40 +msgid "Enable Dynamic Panel" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:41 +msgid "Enable dynamic panels for testing" +msgstr "" + #: plugin/serializers.py:81 msgid "Source URL" msgstr "" @@ -9245,12 +9274,36 @@ msgstr "" msgid "Delete the plugin configuration from the database" msgstr "" +#: plugin/serializers.py:324 +msgid "Plugin Key" +msgstr "" + +#: plugin/serializers.py:328 +msgid "Panel Name" +msgstr "" + +#: plugin/serializers.py:332 +msgid "Panel Title" +msgstr "" + +#: plugin/serializers.py:337 +msgid "Panel Icon" +msgstr "" + +#: plugin/serializers.py:341 +msgid "Panel Content (HTML)" +msgstr "" + +#: plugin/serializers.py:345 +msgid "Panel Source (javascript)" +msgstr "" + #: report/api.py:88 msgid "No valid objects provided to template" msgstr "Aucun objet valide n'a été fourni au modèle" -#: report/api.py:103 report/models.py:438 report/serializers.py:98 -#: report/serializers.py:148 templates/js/translated/purchase_order.js:1817 +#: report/api.py:103 report/models.py:446 report/serializers.py:99 +#: report/serializers.py:149 templates/js/translated/purchase_order.js:1817 #: templates/js/translated/return_order.js:353 #: templates/js/translated/sales_order.js:887 #: templates/js/translated/sales_order.js:1047 @@ -9281,7 +9334,11 @@ msgstr "" msgid "Error printing label" msgstr "" -#: report/api.py:375 report/api.py:411 +#: report/api.py:358 +msgid "Report saved at time of printing" +msgstr "" + +#: report/api.py:384 report/api.py:420 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" @@ -9318,135 +9375,143 @@ msgstr "" msgid "Revision number (auto-increments)" msgstr "" -#: report/models.py:202 +#: report/models.py:168 +msgid "Attach to Model on Print" +msgstr "" + +#: report/models.py:170 +msgid "Save report output as an attachment against linked model instance when printing" +msgstr "" + +#: report/models.py:210 msgid "Filename Pattern" msgstr "Modèle de nom de fichier" -#: report/models.py:203 +#: report/models.py:211 msgid "Pattern for generating filenames" msgstr "" -#: report/models.py:208 +#: report/models.py:216 msgid "Template is enabled" msgstr "" -#: report/models.py:214 +#: report/models.py:222 msgid "Target model type for template" msgstr "" -#: report/models.py:234 +#: report/models.py:242 msgid "Filters" msgstr "Filtres" -#: report/models.py:235 +#: report/models.py:243 msgid "Template query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:294 report/models.py:361 +#: report/models.py:302 report/models.py:369 msgid "Template file" msgstr "" -#: report/models.py:302 +#: report/models.py:310 msgid "Page size for PDF reports" msgstr "" -#: report/models.py:308 +#: report/models.py:316 msgid "Render report in landscape orientation" msgstr "" -#: report/models.py:367 +#: report/models.py:375 msgid "Width [mm]" msgstr "Largeur [mm]" -#: report/models.py:368 +#: report/models.py:376 msgid "Label width, specified in mm" msgstr "Largeur de l'étiquette, spécifiée en mm" -#: report/models.py:374 +#: report/models.py:382 msgid "Height [mm]" msgstr "Hauteur [mm]" -#: report/models.py:375 +#: report/models.py:383 msgid "Label height, specified in mm" msgstr "Hauteur de l'étiquette, spécifiée en mm" -#: report/models.py:438 +#: report/models.py:446 msgid "Number of items to process" msgstr "" -#: report/models.py:444 +#: report/models.py:452 msgid "Report generation is complete" msgstr "" -#: report/models.py:448 templates/js/translated/build.js:2352 +#: report/models.py:456 templates/js/translated/build.js:2352 msgid "Progress" msgstr "" -#: report/models.py:448 +#: report/models.py:456 msgid "Report generation progress" msgstr "" -#: report/models.py:456 +#: report/models.py:464 msgid "Report Template" msgstr "" -#: report/models.py:463 report/models.py:486 +#: report/models.py:471 report/models.py:494 msgid "Output File" msgstr "" -#: report/models.py:464 report/models.py:487 +#: report/models.py:472 report/models.py:495 msgid "Generated output file" msgstr "" -#: report/models.py:475 +#: report/models.py:483 msgid "Label output plugin" msgstr "" -#: report/models.py:479 +#: report/models.py:487 msgid "Label Template" msgstr "" -#: report/models.py:502 +#: report/models.py:510 msgid "Snippet" msgstr "Extrait " -#: report/models.py:503 +#: report/models.py:511 msgid "Report snippet file" msgstr "" -#: report/models.py:510 +#: report/models.py:518 msgid "Snippet file description" msgstr "" -#: report/models.py:528 +#: report/models.py:536 msgid "Asset" msgstr "Elément" -#: report/models.py:529 +#: report/models.py:537 msgid "Report asset file" msgstr "" -#: report/models.py:536 +#: report/models.py:544 msgid "Asset file description" msgstr "" -#: report/serializers.py:91 +#: report/serializers.py:92 msgid "Select report template" msgstr "" -#: report/serializers.py:99 report/serializers.py:149 +#: report/serializers.py:100 report/serializers.py:150 msgid "List of item primary keys to include in the report" msgstr "" -#: report/serializers.py:132 +#: report/serializers.py:133 msgid "Select label template" msgstr "" -#: report/serializers.py:140 +#: report/serializers.py:141 msgid "Printing Plugin" msgstr "" -#: report/serializers.py:141 +#: report/serializers.py:142 msgid "Select plugin to use for label printing" msgstr "" @@ -9517,7 +9582,7 @@ msgstr "" msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report.html:103 stock/models.py:2538 +#: report/templates/report/inventree_test_report.html:103 stock/models.py:2533 msgid "Result" msgstr "Résultat" @@ -9598,7 +9663,7 @@ msgid "Customer ID" msgstr "" #: stock/admin.py:206 stock/models.py:829 -#: stock/templates/stock/item_base.html:354 +#: stock/templates/stock/item_base.html:350 msgid "Installed In" msgstr "" @@ -9623,7 +9688,7 @@ msgid "Delete on Deplete" msgstr "" #: stock/admin.py:261 stock/models.py:923 -#: stock/templates/stock/item_base.html:433 +#: stock/templates/stock/item_base.html:429 #: templates/js/translated/stock.js:2316 users/models.py:124 msgid "Expiry Date" msgstr "" @@ -9665,7 +9730,7 @@ msgid "Expiry date after" msgstr "" #: stock/api.py:839 stock/serializers.py:611 -#: stock/templates/stock/item_base.html:439 +#: stock/templates/stock/item_base.html:435 #: templates/js/translated/table_filters.js:448 msgid "Stale" msgstr "" @@ -9715,7 +9780,7 @@ msgid "Stock Locations" msgstr "" #: stock/models.py:185 stock/models.py:972 -#: stock/templates/stock/item_base.html:247 +#: stock/templates/stock/item_base.html:243 msgid "Owner" msgstr "Propriétaire" @@ -9826,7 +9891,7 @@ msgstr "" msgid "Build for this stock item" msgstr "" -#: stock/models.py:892 stock/templates/stock/item_base.html:363 +#: stock/models.py:892 stock/templates/stock/item_base.html:359 msgid "Consumed By" msgstr "" @@ -9891,7 +9956,7 @@ msgstr "La quantité ne correspond pas au nombre de numéros de série" msgid "Serial numbers already exist" msgstr "Les numéros de série existent déjà" -#: stock/models.py:1636 +#: stock/models.py:1636 stock/models.py:2436 msgid "Test template does not exist" msgstr "" @@ -9939,67 +10004,67 @@ msgstr "" msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2337 +#: stock/models.py:2335 msgid "Stock Item Tracking" msgstr "" -#: stock/models.py:2370 +#: stock/models.py:2368 msgid "Entry notes" msgstr "" -#: stock/models.py:2410 +#: stock/models.py:2408 msgid "Stock Item Test Result" msgstr "" -#: stock/models.py:2443 +#: stock/models.py:2439 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2448 +#: stock/models.py:2443 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2453 +#: stock/models.py:2448 msgid "Invalid value for this test" msgstr "" -#: stock/models.py:2538 +#: stock/models.py:2533 msgid "Test result" msgstr "" -#: stock/models.py:2545 +#: stock/models.py:2540 msgid "Test output value" msgstr "" -#: stock/models.py:2553 stock/serializers.py:245 +#: stock/models.py:2548 stock/serializers.py:245 msgid "Test result attachment" msgstr "" -#: stock/models.py:2557 +#: stock/models.py:2552 msgid "Test notes" msgstr "" -#: stock/models.py:2565 templates/js/translated/stock.js:1633 +#: stock/models.py:2560 templates/js/translated/stock.js:1633 msgid "Test station" msgstr "" -#: stock/models.py:2566 +#: stock/models.py:2561 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2572 +#: stock/models.py:2567 msgid "Started" msgstr "" -#: stock/models.py:2573 +#: stock/models.py:2568 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2579 +#: stock/models.py:2574 msgid "Finished" msgstr "" -#: stock/models.py:2580 +#: stock/models.py:2575 msgid "The timestamp of the test finish" msgstr "" @@ -10059,7 +10124,7 @@ msgstr "" msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:459 stock/templates/stock/item_base.html:193 +#: stock/serializers.py:459 stock/templates/stock/item_base.html:189 msgid "Parent Item" msgstr "" @@ -10071,7 +10136,7 @@ msgstr "" msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:603 stock/templates/stock/item_base.html:437 +#: stock/serializers.py:603 stock/templates/stock/item_base.html:433 #: templates/js/translated/table_filters.js:442 users/models.py:174 msgid "Expired" msgstr "" @@ -10410,7 +10475,7 @@ msgstr "" msgid "Test Data" msgstr "" -#: stock/templates/stock/item.html:85 stock/templates/stock/item_base.html:65 +#: stock/templates/stock/item.html:85 msgid "Test Report" msgstr "" @@ -10450,200 +10515,204 @@ msgstr "" msgid "Scan to Location" msgstr "" -#: stock/templates/stock/item_base.html:59 +#: stock/templates/stock/item_base.html:58 #: stock/templates/stock/location.html:67 #: templates/js/translated/filters.js:434 msgid "Printing actions" msgstr "" -#: stock/templates/stock/item_base.html:75 +#: stock/templates/stock/item_base.html:63 templates/js/translated/report.js:49 +msgid "Print Report" +msgstr "" + +#: stock/templates/stock/item_base.html:71 msgid "Stock adjustment actions" msgstr "" -#: stock/templates/stock/item_base.html:79 +#: stock/templates/stock/item_base.html:75 #: stock/templates/stock/location.html:87 templates/js/translated/stock.js:1909 msgid "Count stock" msgstr "" -#: stock/templates/stock/item_base.html:81 +#: stock/templates/stock/item_base.html:77 #: templates/js/translated/stock.js:1891 msgid "Add stock" msgstr "" -#: stock/templates/stock/item_base.html:82 +#: stock/templates/stock/item_base.html:78 #: templates/js/translated/stock.js:1900 msgid "Remove stock" msgstr "" -#: stock/templates/stock/item_base.html:85 +#: stock/templates/stock/item_base.html:81 msgid "Serialize stock" msgstr "" -#: stock/templates/stock/item_base.html:88 +#: stock/templates/stock/item_base.html:84 #: stock/templates/stock/location.html:93 templates/js/translated/stock.js:1918 msgid "Transfer stock" msgstr "" -#: stock/templates/stock/item_base.html:91 +#: stock/templates/stock/item_base.html:87 #: templates/js/translated/stock.js:1973 msgid "Assign to customer" msgstr "" -#: stock/templates/stock/item_base.html:94 +#: stock/templates/stock/item_base.html:90 msgid "Return to stock" msgstr "" -#: stock/templates/stock/item_base.html:97 +#: stock/templates/stock/item_base.html:93 msgid "Uninstall stock item" msgstr "" -#: stock/templates/stock/item_base.html:97 +#: stock/templates/stock/item_base.html:93 msgid "Uninstall" msgstr "" -#: stock/templates/stock/item_base.html:101 +#: stock/templates/stock/item_base.html:97 msgid "Install stock item" msgstr "" -#: stock/templates/stock/item_base.html:101 +#: stock/templates/stock/item_base.html:97 msgid "Install" msgstr "" -#: stock/templates/stock/item_base.html:115 +#: stock/templates/stock/item_base.html:111 msgid "Convert to variant" msgstr "" -#: stock/templates/stock/item_base.html:118 +#: stock/templates/stock/item_base.html:114 msgid "Duplicate stock item" msgstr "" -#: stock/templates/stock/item_base.html:120 +#: stock/templates/stock/item_base.html:116 msgid "Edit stock item" msgstr "" -#: stock/templates/stock/item_base.html:123 +#: stock/templates/stock/item_base.html:119 msgid "Delete stock item" msgstr "" -#: stock/templates/stock/item_base.html:169 templates/InvenTree/search.html:139 +#: stock/templates/stock/item_base.html:165 templates/InvenTree/search.html:139 #: templates/js/translated/build.js:2298 templates/navbar.html:38 msgid "Build" msgstr "Assemblage" -#: stock/templates/stock/item_base.html:211 +#: stock/templates/stock/item_base.html:207 msgid "No manufacturer set" msgstr "" -#: stock/templates/stock/item_base.html:251 +#: stock/templates/stock/item_base.html:247 msgid "You are not in the list of owners of this item. This stock item cannot be edited." msgstr "" -#: stock/templates/stock/item_base.html:252 +#: stock/templates/stock/item_base.html:248 #: stock/templates/stock/location.html:146 msgid "Read only" msgstr "" -#: stock/templates/stock/item_base.html:265 +#: stock/templates/stock/item_base.html:261 msgid "This stock item is unavailable" msgstr "" -#: stock/templates/stock/item_base.html:271 +#: stock/templates/stock/item_base.html:267 msgid "This stock item is in production and cannot be edited." msgstr "" -#: stock/templates/stock/item_base.html:272 +#: stock/templates/stock/item_base.html:268 msgid "Edit the stock item from the build view." msgstr "" -#: stock/templates/stock/item_base.html:287 +#: stock/templates/stock/item_base.html:283 msgid "This stock item is allocated to Sales Order" msgstr "" -#: stock/templates/stock/item_base.html:295 +#: stock/templates/stock/item_base.html:291 msgid "This stock item is allocated to Build Order" msgstr "" -#: stock/templates/stock/item_base.html:311 +#: stock/templates/stock/item_base.html:307 msgid "This stock item is serialized. It has a unique serial number and the quantity cannot be adjusted" msgstr "" -#: stock/templates/stock/item_base.html:317 +#: stock/templates/stock/item_base.html:313 msgid "previous page" msgstr "page précédente" -#: stock/templates/stock/item_base.html:317 +#: stock/templates/stock/item_base.html:313 msgid "Navigate to previous serial number" msgstr "Accéder au numéro de série précédent" -#: stock/templates/stock/item_base.html:326 +#: stock/templates/stock/item_base.html:322 msgid "next page" msgstr "" -#: stock/templates/stock/item_base.html:326 +#: stock/templates/stock/item_base.html:322 msgid "Navigate to next serial number" msgstr "Accéder au numéro de série suivant" -#: stock/templates/stock/item_base.html:398 +#: stock/templates/stock/item_base.html:394 #: templates/js/translated/build.js:2555 msgid "No location set" msgstr "" -#: stock/templates/stock/item_base.html:413 +#: stock/templates/stock/item_base.html:409 msgid "Tests" msgstr "" -#: stock/templates/stock/item_base.html:419 +#: stock/templates/stock/item_base.html:415 msgid "This stock item has not passed all required tests" msgstr "" -#: stock/templates/stock/item_base.html:437 +#: stock/templates/stock/item_base.html:433 #, python-format msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:439 +#: stock/templates/stock/item_base.html:435 #, python-format msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:455 +#: stock/templates/stock/item_base.html:451 msgid "No stocktake performed" msgstr "" -#: stock/templates/stock/item_base.html:504 +#: stock/templates/stock/item_base.html:500 #: templates/js/translated/stock.js:2038 msgid "stock item" msgstr "" -#: stock/templates/stock/item_base.html:527 +#: stock/templates/stock/item_base.html:523 msgid "Edit Stock Status" msgstr "" -#: stock/templates/stock/item_base.html:536 +#: stock/templates/stock/item_base.html:532 msgid "Stock Item QR Code" msgstr "" -#: stock/templates/stock/item_base.html:547 +#: stock/templates/stock/item_base.html:543 msgid "Link Barcode to Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:611 +#: stock/templates/stock/item_base.html:607 msgid "Select one of the part variants listed below." msgstr "" -#: stock/templates/stock/item_base.html:614 +#: stock/templates/stock/item_base.html:610 msgid "Warning" msgstr "" -#: stock/templates/stock/item_base.html:615 +#: stock/templates/stock/item_base.html:611 msgid "This action cannot be easily undone" msgstr "" -#: stock/templates/stock/item_base.html:623 +#: stock/templates/stock/item_base.html:619 msgid "Convert Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:656 +#: stock/templates/stock/item_base.html:652 msgid "Return to Stock" msgstr "" @@ -11310,7 +11379,7 @@ msgid "Delete Location Type" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:503 -#: templates/InvenTree/settings/stock.html:38 +#: templates/InvenTree/settings/stock.html:39 msgid "New Location Type" msgstr "" @@ -11367,7 +11436,7 @@ msgstr "" msgid "Stock Settings" msgstr "" -#: templates/InvenTree/settings/stock.html:34 +#: templates/InvenTree/settings/stock.html:35 msgid "Stock Location Types" msgstr "" @@ -11852,23 +11921,23 @@ msgstr "Ajouter une pièce jointe" msgid "Barcode Identifier" msgstr "Identifiant du code-barres" -#: templates/base.html:103 +#: templates/base.html:102 msgid "Server Restart Required" msgstr "Redémarrage du serveur nécessaire" -#: templates/base.html:106 +#: templates/base.html:105 msgid "A configuration option has been changed which requires a server restart" msgstr "Une option de configuration a été modifiée, ce qui nécessite un redémarrage du serveur" -#: templates/base.html:106 templates/base.html:116 +#: templates/base.html:105 templates/base.html:115 msgid "Contact your system administrator for further information" msgstr "Contactez votre administrateur système pour plus d'informations" -#: templates/base.html:113 +#: templates/base.html:112 msgid "Pending Database Migrations" msgstr "" -#: templates/base.html:116 +#: templates/base.html:115 msgid "There are pending database migrations which require attention" msgstr "" @@ -13946,10 +14015,6 @@ msgstr "" msgid "Delete line item" msgstr "" -#: templates/js/translated/report.js:49 -msgid "Print Report" -msgstr "" - #: templates/js/translated/report.js:68 msgid "Report print successful" msgstr "" diff --git a/src/backend/InvenTree/locale/he/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/he/LC_MESSAGES/django.po index 7706c4526491..e1495ce9d1f2 100644 --- a/src/backend/InvenTree/locale/he/LC_MESSAGES/django.po +++ b/src/backend/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: 2024-08-29 07:07+0000\n" -"PO-Revision-Date: 2024-08-29 07:10\n" +"POT-Creation-Date: 2024-09-16 00:37+0000\n" +"PO-Revision-Date: 2024-09-16 00:40\n" "Last-Translator: \n" "Language-Team: Hebrew\n" "Language: he_IL\n" @@ -65,9 +65,9 @@ msgstr "הזן תאריך סיום" #: 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:59 -#: part/models.py:3309 part/templates/part/part_sidebar.html:65 +#: part/models.py:3296 part/templates/part/part_sidebar.html:65 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/admin.py:231 stock/models.py:2369 stock/models.py:2557 +#: stock/admin.py:231 stock/models.py:2367 stock/models.py:2552 #: stock/serializers.py:705 stock/serializers.py:863 stock/serializers.py:989 #: stock/serializers.py:1039 stock/serializers.py:1350 #: stock/serializers.py:1439 stock/serializers.py:1604 @@ -364,7 +364,7 @@ msgstr "" msgid "[{site_name}] Log in to the app" msgstr "" -#: InvenTree/magic_login.py:38 InvenTree/serializers.py:413 +#: InvenTree/magic_login.py:38 InvenTree/serializers.py:416 #: company/models.py:133 company/templates/company/company_base.html:138 #: templates/InvenTree/settings/user.html:49 #: templates/js/translated/company.js:677 @@ -419,9 +419,9 @@ msgstr "" msgid "Invalid choice" msgstr "בחירה שגויה" -#: InvenTree/models.py:767 common/models.py:2704 common/models.py:3131 -#: common/models.py:3351 common/serializers.py:439 company/models.py:590 -#: machine/models.py:24 part/models.py:995 part/models.py:3776 +#: InvenTree/models.py:767 common/models.py:2705 common/models.py:3132 +#: common/models.py:3352 common/serializers.py:455 company/models.py:590 +#: machine/models.py:24 part/models.py:995 part/models.py:3763 #: plugin/models.py:51 report/models.py:149 stock/models.py:82 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -446,10 +446,10 @@ msgstr "שם" #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 order/models.py:289 #: order/models.py:1406 part/admin.py:305 part/admin.py:411 part/models.py:1018 -#: part/models.py:3791 part/templates/part/category.html:79 +#: part/models.py:3778 part/templates/part/category.html:79 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:155 -#: report/models.py:509 report/models.py:535 +#: report/models.py:517 report/models.py:543 #: report/templates/report/inventree_build_order_report.html:117 #: stock/admin.py:54 stock/models.py:88 stock/templates/stock/location.html:122 #: templates/InvenTree/settings/notifications.html:19 @@ -517,12 +517,12 @@ msgstr "" msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:63 part/models.py:4400 +#: InvenTree/serializers.py:63 part/models.py:4387 msgid "Must be a valid number" msgstr "המספר חייב להיות תקין" #: InvenTree/serializers.py:100 company/models.py:183 -#: company/templates/company/company_base.html:112 part/models.py:3127 +#: company/templates/company/company_base.html:112 part/models.py:3114 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -536,43 +536,43 @@ msgstr "" msgid "Username" msgstr "" -#: InvenTree/serializers.py:407 templates/InvenTree/settings/user.html:37 +#: InvenTree/serializers.py:408 templates/InvenTree/settings/user.html:37 msgid "First Name" msgstr "" -#: InvenTree/serializers.py:407 +#: InvenTree/serializers.py:408 msgid "First name of the user" msgstr "" -#: InvenTree/serializers.py:410 templates/InvenTree/settings/user.html:41 +#: InvenTree/serializers.py:412 templates/InvenTree/settings/user.html:41 msgid "Last Name" msgstr "" -#: InvenTree/serializers.py:410 +#: InvenTree/serializers.py:412 msgid "Last name of the user" msgstr "" -#: InvenTree/serializers.py:413 +#: InvenTree/serializers.py:416 msgid "Email address of the user" msgstr "" -#: InvenTree/serializers.py:438 +#: InvenTree/serializers.py:441 msgid "Staff" msgstr "" -#: InvenTree/serializers.py:438 +#: InvenTree/serializers.py:441 msgid "Does this user have staff permissions" msgstr "" -#: InvenTree/serializers.py:441 +#: InvenTree/serializers.py:445 msgid "Superuser" msgstr "" -#: InvenTree/serializers.py:441 +#: InvenTree/serializers.py:445 msgid "Is this user a superuser" msgstr "" -#: InvenTree/serializers.py:444 common/models.py:2709 company/models.py:160 +#: InvenTree/serializers.py:449 common/models.py:2710 company/models.py:160 #: company/models.py:798 machine/models.py:39 part/admin.py:88 #: part/models.py:1201 plugin/models.py:66 #: templates/js/translated/company.js:523 @@ -585,89 +585,89 @@ msgstr "" msgid "Active" msgstr "" -#: InvenTree/serializers.py:444 +#: InvenTree/serializers.py:449 msgid "Is this user account active" msgstr "" -#: InvenTree/serializers.py:462 +#: InvenTree/serializers.py:467 msgid "You do not have permission to change this user role." msgstr "" -#: InvenTree/serializers.py:474 +#: InvenTree/serializers.py:503 msgid "Only superusers can create new users" msgstr "" -#: InvenTree/serializers.py:493 +#: InvenTree/serializers.py:522 msgid "Your account has been created." msgstr "" -#: InvenTree/serializers.py:495 +#: InvenTree/serializers.py:524 msgid "Please use the password reset function to login" msgstr "" -#: InvenTree/serializers.py:502 +#: InvenTree/serializers.py:531 msgid "Welcome to InvenTree" msgstr "" -#: InvenTree/serializers.py:560 +#: InvenTree/serializers.py:589 msgid "Invalid value" msgstr "" -#: InvenTree/serializers.py:580 importer/models.py:64 +#: InvenTree/serializers.py:609 importer/models.py:64 msgid "Data File" msgstr "" -#: InvenTree/serializers.py:581 +#: InvenTree/serializers.py:610 msgid "Select data file for upload" msgstr "" -#: InvenTree/serializers.py:598 +#: InvenTree/serializers.py:627 msgid "Unsupported file type" msgstr "" -#: InvenTree/serializers.py:604 +#: InvenTree/serializers.py:633 msgid "File is too large" msgstr "" -#: InvenTree/serializers.py:625 +#: InvenTree/serializers.py:654 msgid "No columns found in file" msgstr "" -#: InvenTree/serializers.py:628 +#: InvenTree/serializers.py:657 msgid "No data rows found in file" msgstr "" -#: InvenTree/serializers.py:740 +#: InvenTree/serializers.py:769 msgid "No data rows provided" msgstr "" -#: InvenTree/serializers.py:743 +#: InvenTree/serializers.py:772 msgid "No data columns supplied" msgstr "" -#: InvenTree/serializers.py:809 +#: InvenTree/serializers.py:838 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "" -#: InvenTree/serializers.py:818 +#: InvenTree/serializers.py:847 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "" -#: InvenTree/serializers.py:857 +#: InvenTree/serializers.py:886 msgid "Remote Image" msgstr "" -#: InvenTree/serializers.py:858 +#: InvenTree/serializers.py:887 msgid "URL of remote image file" msgstr "" -#: InvenTree/serializers.py:876 +#: InvenTree/serializers.py:905 msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/status.py:65 part/serializers.py:1267 +#: InvenTree/status.py:65 part/serializers.py:1265 msgid "Background worker check failed" msgstr "" @@ -759,7 +759,7 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:319 build/serializers.py:1332 part/models.py:4278 +#: build/api.py:319 build/serializers.py:1332 part/models.py:4265 #: templates/js/translated/bom.js:997 templates/js/translated/bom.js:1037 #: templates/js/translated/build.js:2705 #: templates/js/translated/table_filters.js:197 @@ -767,7 +767,7 @@ msgstr "" msgid "Consumable" msgstr "" -#: build/api.py:320 build/serializers.py:1333 part/models.py:4272 +#: build/api.py:320 build/serializers.py:1333 part/models.py:4259 #: part/templates/part/upload_bom.html:58 templates/js/translated/bom.js:1001 #: templates/js/translated/bom.js:1028 templates/js/translated/build.js:2696 #: templates/js/translated/table_filters.js:193 @@ -777,7 +777,7 @@ msgid "Optional" msgstr "" #: build/api.py:321 common/models.py:1491 part/admin.py:91 part/admin.py:428 -#: part/models.py:1166 part/serializers.py:1596 +#: part/models.py:1166 part/serializers.py:1594 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:337 #: templates/js/translated/table_filters.js:729 @@ -816,7 +816,7 @@ msgstr "" msgid "Available" msgstr "" -#: build/models.py:87 build/templates/build/build_base.html:9 +#: build/models.py:88 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_report.html:105 #: stock/serializers.py:85 templates/email/build_order_completed.html:16 @@ -825,7 +825,7 @@ msgstr "" msgid "Build Order" msgstr "" -#: build/models.py:88 build/templates/build/build_base.html:13 +#: build/models.py:89 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:111 #: order/templates/order/so_sidebar.html:13 @@ -866,7 +866,7 @@ msgstr "" #: build/models.py:243 build/serializers.py:1331 order/models.py:468 #: order/models.py:979 order/models.py:1366 order/models.py:2128 -#: part/admin.py:414 part/models.py:4293 part/templates/part/upload_bom.html:54 +#: part/admin.py:414 part/models.py:4280 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 @@ -892,11 +892,11 @@ msgstr "" #: build/templates/build/build_base.html:105 #: build/templates/build/detail.html:29 company/models.py:1043 order/api.py:761 #: order/models.py:1496 order/models.py:1651 order/models.py:1652 -#: part/api.py:1506 part/api.py:1806 part/models.py:419 part/models.py:3138 -#: part/models.py:3282 part/models.py:3430 part/models.py:3451 -#: part/models.py:3473 part/models.py:3609 part/models.py:3951 -#: part/models.py:4114 part/models.py:4244 part/models.py:4602 -#: part/serializers.py:1213 part/serializers.py:1857 +#: part/api.py:1506 part/api.py:1806 part/models.py:419 part/models.py:3125 +#: part/models.py:3269 part/models.py:3417 part/models.py:3438 +#: part/models.py:3460 part/models.py:3596 part/models.py:3938 +#: part/models.py:4101 part/models.py:4231 part/models.py:4595 +#: part/serializers.py:1211 part/serializers.py:1855 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -1063,12 +1063,12 @@ msgstr "" #: order/templates/order/return_order_base.html:148 #: order/templates/order/sales_order_base.html:187 #: part/templates/part/part_base.html:399 stock/models.py:859 -#: stock/templates/stock/item_base.html:200 +#: stock/templates/stock/item_base.html:196 #: templates/js/translated/company.js:1019 msgid "External Link" msgstr "" -#: build/models.py:378 common/models.py:3272 part/models.py:1070 +#: build/models.py:378 common/models.py:3273 part/models.py:1070 #: stock/models.py:859 msgid "Link to external URL" msgstr "קישור חיצוני" @@ -1110,7 +1110,7 @@ msgstr "" msgid "A build order has been completed" msgstr "" -#: build/models.py:968 build/models.py:1056 +#: build/models.py:968 build/models.py:1057 msgid "No build output specified" msgstr "" @@ -1122,37 +1122,37 @@ msgstr "" msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:1060 build/serializers.py:279 build/serializers.py:328 +#: build/models.py:1061 build/serializers.py:279 build/serializers.py:328 #: build/serializers.py:959 order/models.py:565 order/serializers.py:500 -#: order/serializers.py:666 part/serializers.py:1590 part/serializers.py:2019 +#: order/serializers.py:666 part/serializers.py:1588 part/serializers.py:2017 #: stock/models.py:704 stock/models.py:1515 stock/serializers.py:676 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:1065 build/serializers.py:284 +#: build/models.py:1066 build/serializers.py:284 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1125 build/serializers.py:607 +#: build/models.py:1126 build/serializers.py:607 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "" -#: build/models.py:1466 +#: build/models.py:1477 msgid "Build Order Line Item" msgstr "" -#: build/models.py:1491 +#: build/models.py:1502 msgid "Build object" msgstr "" -#: build/models.py:1505 build/models.py:1761 build/serializers.py:266 +#: build/models.py:1516 build/models.py:1775 build/serializers.py:266 #: build/serializers.py:313 build/serializers.py:1339 #: build/templates/build/build_base.html:110 -#: build/templates/build/detail.html:34 common/models.py:2581 +#: build/templates/build/detail.html:34 common/models.py:2582 #: order/models.py:1349 order/models.py:2034 order/serializers.py:1464 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:413 -#: part/forms.py:48 part/models.py:3296 part/models.py:4266 +#: part/forms.py:48 part/models.py:3283 part/models.py:4253 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1163,9 +1163,9 @@ msgstr "" #: report/templates/report/inventree_test_report.html:90 #: report/templates/report/inventree_test_report.html:169 stock/admin.py:160 #: stock/serializers.py:128 stock/serializers.py:168 stock/serializers.py:667 -#: stock/templates/stock/item_base.html:287 -#: stock/templates/stock/item_base.html:295 -#: stock/templates/stock/item_base.html:342 +#: stock/templates/stock/item_base.html:283 +#: stock/templates/stock/item_base.html:291 +#: stock/templates/stock/item_base.html:338 #: templates/email/build_order_completed.html:18 #: templates/js/translated/barcode.js:579 templates/js/translated/bom.js:771 #: templates/js/translated/bom.js:981 templates/js/translated/build.js:525 @@ -1194,41 +1194,41 @@ msgstr "" msgid "Quantity" msgstr "כמות" -#: build/models.py:1506 +#: build/models.py:1517 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1586 +#: build/models.py:1597 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1595 +#: build/models.py:1606 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1605 order/models.py:1985 +#: build/models.py:1616 order/models.py:1985 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1611 order/models.py:1988 +#: build/models.py:1622 order/models.py:1988 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1617 +#: build/models.py:1628 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1676 +#: build/models.py:1687 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1748 build/serializers.py:939 order/serializers.py:1301 +#: build/models.py:1762 build/serializers.py:939 order/serializers.py:1301 #: order/serializers.py:1322 stock/models.py:381 stock/serializers.py:94 #: stock/serializers.py:770 stock/serializers.py:1288 stock/serializers.py:1400 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 -#: stock/templates/stock/item_base.html:194 +#: stock/templates/stock/item_base.html:190 #: templates/js/translated/build.js:1921 #: templates/js/translated/sales_order.js:301 #: templates/js/translated/sales_order.js:1234 @@ -1241,19 +1241,19 @@ msgstr "" msgid "Stock Item" msgstr "" -#: build/models.py:1749 +#: build/models.py:1763 msgid "Source stock item" msgstr "" -#: build/models.py:1762 +#: build/models.py:1776 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1770 +#: build/models.py:1784 msgid "Install into" msgstr "" -#: build/models.py:1771 +#: build/models.py:1785 msgid "Destination stock item" msgstr "" @@ -1262,7 +1262,7 @@ msgid "Build Level" msgstr "" #: build/serializers.py:115 build/serializers.py:1234 build/serializers.py:1323 -#: part/admin.py:41 part/admin.py:408 part/models.py:4116 part/stocktake.py:219 +#: part/admin.py:41 part/admin.py:408 part/models.py:4103 part/stocktake.py:219 #: stock/admin.py:157 msgid "Part Name" msgstr "" @@ -1323,10 +1323,10 @@ msgid "Enter serial numbers for build outputs" msgstr "" #: build/serializers.py:359 build/serializers.py:500 build/serializers.py:572 -#: order/serializers.py:655 order/serializers.py:778 order/serializers.py:1789 -#: part/serializers.py:1233 stock/serializers.py:103 stock/serializers.py:698 +#: order/serializers.py:655 order/serializers.py:778 order/serializers.py:1797 +#: part/serializers.py:1231 stock/serializers.py:103 stock/serializers.py:698 #: stock/serializers.py:858 stock/serializers.py:984 stock/serializers.py:1432 -#: stock/serializers.py:1688 stock/templates/stock/item_base.html:394 +#: stock/serializers.py:1688 stock/templates/stock/item_base.html:390 #: templates/js/translated/barcode.js:578 #: templates/js/translated/barcode.js:826 templates/js/translated/build.js:1035 #: templates/js/translated/build.js:1177 templates/js/translated/build.js:2547 @@ -1390,7 +1390,7 @@ msgstr "" #: build/templates/build/detail.html:62 order/models.py:477 #: order/models.py:1003 order/models.py:2152 order/serializers.py:687 #: stock/admin.py:165 stock/serializers.py:1035 stock/serializers.py:1576 -#: stock/templates/stock/item_base.html:427 +#: stock/templates/stock/item_base.html:423 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2366 #: templates/js/translated/purchase_order.js:1371 #: templates/js/translated/purchase_order.js:1792 @@ -1522,7 +1522,7 @@ msgstr "" msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:1030 order/serializers.py:1614 +#: build/serializers.py:1030 order/serializers.py:1622 msgid "Allocation items must be provided" msgstr "" @@ -1590,7 +1590,7 @@ msgstr "" #: build/serializers.py:1230 company/models.py:849 #: company/templates/company/supplier_part.html:160 order/serializers.py:691 #: stock/admin.py:229 stock/models.py:822 stock/serializers.py:1586 -#: stock/templates/stock/item_base.html:240 +#: stock/templates/stock/item_base.html:236 #: templates/js/translated/company.js:1646 #: templates/js/translated/purchase_order.js:1169 #: templates/js/translated/purchase_order.js:1332 @@ -1600,12 +1600,12 @@ msgid "Packaging" msgstr "" #: build/serializers.py:1233 part/admin.py:39 part/admin.py:398 -#: part/models.py:4115 part/stocktake.py:218 stock/admin.py:153 +#: part/models.py:4102 part/stocktake.py:218 stock/admin.py:153 msgid "Part ID" msgstr "" #: build/serializers.py:1235 build/serializers.py:1324 part/admin.py:402 -#: part/models.py:4117 +#: part/models.py:4104 msgid "Part IPN" msgstr "" @@ -1625,7 +1625,7 @@ msgstr "" #: build/serializers.py:1243 #: report/templates/report/inventree_return_order_report.html:25 #: report/templates/report/inventree_test_report.html:88 stock/models.py:849 -#: stock/serializers.py:152 stock/templates/stock/item_base.html:311 +#: stock/serializers.py:152 stock/templates/stock/item_base.html:307 #: templates/js/translated/build.js:523 templates/js/translated/build.js:1543 #: templates/js/translated/build.js:2530 #: templates/js/translated/model_renderers.js:231 @@ -1644,7 +1644,7 @@ msgstr "" msgid "Allocated Quantity" msgstr "" -#: build/serializers.py:1257 stock/templates/stock/item_base.html:340 +#: build/serializers.py:1257 stock/templates/stock/item_base.html:336 msgid "Available Quantity" msgstr "" @@ -1667,13 +1667,13 @@ msgstr "" msgid "Inherited" msgstr "" -#: build/serializers.py:1337 part/models.py:4326 +#: build/serializers.py:1337 part/models.py:4313 #: part/templates/part/upload_bom.html:56 templates/js/translated/bom.js:1046 #: templates/js/translated/build.js:2714 msgid "Allow Variants" msgstr "" -#: build/serializers.py:1341 part/models.py:4124 part/models.py:4594 +#: build/serializers.py:1341 part/models.py:4111 part/models.py:4587 #: stock/api.py:793 msgid "BOM Item" msgstr "" @@ -1684,7 +1684,7 @@ msgid "Allocated Stock" msgstr "" #: build/serializers.py:1355 order/serializers.py:1179 part/admin.py:132 -#: part/bom.py:186 part/serializers.py:920 part/serializers.py:1623 +#: part/bom.py:186 part/serializers.py:918 part/serializers.py:1621 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 #: templates/js/translated/build.js:2807 templates/js/translated/part.js:712 #: templates/js/translated/part.js:2155 @@ -1692,13 +1692,13 @@ msgstr "" msgid "On Order" msgstr "" -#: build/serializers.py:1360 order/serializers.py:1180 part/serializers.py:1625 +#: build/serializers.py:1360 order/serializers.py:1180 part/serializers.py:1623 #: templates/js/translated/build.js:2811 #: templates/js/translated/table_filters.js:367 msgid "In Production" msgstr "" -#: build/serializers.py:1365 part/bom.py:185 part/serializers.py:1650 +#: build/serializers.py:1365 part/bom.py:185 part/serializers.py:1648 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" @@ -1716,7 +1716,7 @@ msgstr "" msgid "Total Available Stock" msgstr "" -#: build/serializers.py:1372 part/serializers.py:927 +#: build/serializers.py:1372 part/serializers.py:925 msgid "External Stock" msgstr "" @@ -1745,7 +1745,7 @@ msgstr "מבוטל" #: importer/status_codes.py:27 order/status_codes.py:15 #: order/status_codes.py:50 order/status_codes.py:81 #: order/templates/order/order_base.html:163 -#: order/templates/order/sales_order_base.html:168 report/models.py:443 +#: order/templates/order/sales_order_base.html:168 report/models.py:451 msgid "Complete" msgstr "הושלם" @@ -1849,9 +1849,6 @@ msgid "Delete Build" msgstr "" #: build/templates/build/build_base.html:87 -msgid "Isueue Build" -msgstr "" - #: build/templates/build/build_base.html:88 msgid "Issue Build" msgstr "" @@ -1931,7 +1928,7 @@ msgstr "" #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_report.html:135 #: report/templates/report/inventree_sales_order_report.html:14 -#: stock/templates/stock/item_base.html:369 +#: stock/templates/stock/item_base.html:365 #: templates/email/overdue_sales_order.html:15 #: templates/js/translated/pricing.js:929 #: templates/js/translated/sales_order.js:805 @@ -1991,7 +1988,7 @@ msgid "Allocated Parts" msgstr "" #: build/templates/build/detail.html:80 stock/admin.py:163 -#: stock/templates/stock/item_base.html:162 +#: stock/templates/stock/item_base.html:158 #: templates/js/translated/build.js:1556 #: templates/js/translated/model_renderers.js:242 #: templates/js/translated/purchase_order.js:1326 @@ -2148,19 +2145,19 @@ msgstr "" msgid "Test Statistics" msgstr "" -#: common/api.py:692 +#: common/api.py:725 msgid "Is Link" msgstr "" -#: common/api.py:700 +#: common/api.py:733 msgid "Is File" msgstr "" -#: common/api.py:743 +#: common/api.py:776 msgid "User does not have permission to delete these attachments" msgstr "" -#: common/api.py:760 +#: common/api.py:793 msgid "User does not have permission to delete this attachment" msgstr "" @@ -2352,8 +2349,8 @@ msgstr "" #: common/models.py:1297 common/models.py:1353 common/models.py:1366 #: common/models.py:1374 common/models.py:1383 common/models.py:1392 -#: common/models.py:1629 common/models.py:1651 common/models.py:1766 -#: common/models.py:2148 +#: common/models.py:1629 common/models.py:1651 common/models.py:1752 +#: common/models.py:2141 msgid "days" msgstr "" @@ -2581,9 +2578,9 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1485 part/admin.py:108 part/models.py:3959 -#: report/models.py:293 report/models.py:360 report/serializers.py:90 -#: report/serializers.py:131 stock/serializers.py:233 +#: common/models.py:1485 part/admin.py:108 part/models.py:3946 +#: report/models.py:301 report/models.py:368 report/serializers.py:91 +#: report/serializers.py:132 stock/serializers.py:233 #: templates/js/translated/table_filters.js:138 #: templates/js/translated/table_filters.js:775 msgid "Template" @@ -2598,7 +2595,7 @@ msgid "Parts can be assembled from other components by default" msgstr "" #: common/models.py:1497 part/admin.py:95 part/models.py:1172 -#: part/serializers.py:1617 templates/js/translated/table_filters.js:737 +#: part/serializers.py:1615 templates/js/translated/table_filters.js:737 msgid "Component" msgstr "" @@ -2823,7 +2820,7 @@ msgid "Log errors which occur when generating reports" msgstr "" #: common/models.py:1702 plugin/builtin/labels/label_sheet.py:28 -#: report/models.py:301 +#: report/models.py:309 msgid "Page Size" msgstr "" @@ -2832,914 +2829,914 @@ msgid "Default page size for PDF reports" msgstr "" #: common/models.py:1708 -msgid "Enable Test Reports" -msgstr "" - -#: common/models.py:1709 -msgid "Enable generation of test reports" -msgstr "" - -#: common/models.py:1714 -msgid "Attach Test Reports" -msgstr "" - -#: common/models.py:1716 -msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" -msgstr "" - -#: common/models.py:1722 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1723 +#: common/models.py:1709 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1728 +#: common/models.py:1714 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1729 +#: common/models.py:1715 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1734 +#: common/models.py:1720 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1736 +#: common/models.py:1722 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/models.py:1742 +#: common/models.py:1728 msgid "Batch Code Template" msgstr "" -#: common/models.py:1744 +#: common/models.py:1730 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1749 +#: common/models.py:1735 msgid "Stock Expiry" msgstr "" -#: common/models.py:1750 +#: common/models.py:1736 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1755 +#: common/models.py:1741 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1756 +#: common/models.py:1742 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1761 +#: common/models.py:1747 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1763 +#: common/models.py:1749 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1770 +#: common/models.py:1756 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1771 +#: common/models.py:1757 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1776 +#: common/models.py:1762 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1777 +#: common/models.py:1763 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1782 +#: common/models.py:1768 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1783 +#: common/models.py:1769 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1788 +#: common/models.py:1774 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1789 +#: common/models.py:1775 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1794 +#: common/models.py:1780 msgid "Check BOM when installing items" msgstr "" -#: common/models.py:1796 +#: common/models.py:1782 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/models.py:1802 +#: common/models.py:1788 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/models.py:1804 +#: common/models.py:1790 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/models.py:1810 +#: common/models.py:1796 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1812 +#: common/models.py:1798 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1818 common/models.py:1874 common/models.py:1896 -#: common/models.py:1932 +#: common/models.py:1804 common/models.py:1860 common/models.py:1882 +#: common/models.py:1918 msgid "Require Responsible Owner" msgstr "" -#: common/models.py:1819 common/models.py:1875 common/models.py:1897 -#: common/models.py:1933 +#: common/models.py:1805 common/models.py:1861 common/models.py:1883 +#: common/models.py:1919 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/models.py:1824 +#: common/models.py:1810 msgid "Require Active Part" msgstr "" -#: common/models.py:1825 +#: common/models.py:1811 msgid "Prevent build order creation for inactive parts" msgstr "" -#: common/models.py:1830 +#: common/models.py:1816 msgid "Require Locked Part" msgstr "" -#: common/models.py:1831 +#: common/models.py:1817 msgid "Prevent build order creation for unlocked parts" msgstr "" -#: common/models.py:1836 +#: common/models.py:1822 msgid "Require Valid BOM" msgstr "" -#: common/models.py:1838 +#: common/models.py:1824 msgid "Prevent build order creation unless BOM has been validated" msgstr "" -#: common/models.py:1844 +#: common/models.py:1830 msgid "Require Closed Child Orders" msgstr "" -#: common/models.py:1846 +#: common/models.py:1832 msgid "Prevent build order completion until all child orders are closed" msgstr "" -#: common/models.py:1852 +#: common/models.py:1838 msgid "Block Until Tests Pass" msgstr "" -#: common/models.py:1854 +#: common/models.py:1840 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "" -#: common/models.py:1860 +#: common/models.py:1846 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1861 +#: common/models.py:1847 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1866 +#: common/models.py:1852 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1868 +#: common/models.py:1854 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1880 +#: common/models.py:1866 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1882 +#: common/models.py:1868 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1888 +#: common/models.py:1874 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1890 +#: common/models.py:1876 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1902 +#: common/models.py:1888 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1903 +#: common/models.py:1889 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1908 +#: common/models.py:1894 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1910 +#: common/models.py:1896 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1916 +#: common/models.py:1902 msgid "Mark Shipped Orders as Complete" msgstr "" -#: common/models.py:1918 +#: common/models.py:1904 msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status" msgstr "" -#: common/models.py:1924 +#: common/models.py:1910 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1926 +#: common/models.py:1912 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1938 +#: common/models.py:1924 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1940 +#: common/models.py:1926 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1946 +#: common/models.py:1932 msgid "Auto Complete Purchase Orders" msgstr "" -#: common/models.py:1948 +#: common/models.py:1934 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/models.py:1955 +#: common/models.py:1941 msgid "Enable password forgot" msgstr "" -#: common/models.py:1956 +#: common/models.py:1942 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1961 +#: common/models.py:1947 msgid "Enable registration" msgstr "" -#: common/models.py:1962 +#: common/models.py:1948 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1967 +#: common/models.py:1953 msgid "Enable SSO" msgstr "" -#: common/models.py:1968 +#: common/models.py:1954 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1973 +#: common/models.py:1959 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1975 +#: common/models.py:1961 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1981 +#: common/models.py:1967 msgid "Enable SSO group sync" msgstr "" -#: common/models.py:1983 +#: common/models.py:1969 msgid "Enable synchronizing InvenTree groups with groups provided by the IdP" msgstr "" -#: common/models.py:1989 +#: common/models.py:1975 msgid "SSO group key" msgstr "" -#: common/models.py:1991 +#: common/models.py:1977 msgid "The name of the groups claim attribute provided by the IdP" msgstr "" -#: common/models.py:1997 +#: common/models.py:1983 msgid "SSO group map" msgstr "" -#: common/models.py:1999 +#: common/models.py:1985 msgid "A mapping from SSO groups to local InvenTree groups. If the local group does not exist, it will be created." msgstr "" -#: common/models.py:2005 +#: common/models.py:1991 msgid "Remove groups outside of SSO" msgstr "" -#: common/models.py:2007 +#: common/models.py:1993 msgid "Whether groups assigned to the user should be removed if they are not backend by the IdP. Disabling this setting might cause security issues" msgstr "" -#: common/models.py:2013 +#: common/models.py:1999 msgid "Email required" msgstr "" -#: common/models.py:2014 +#: common/models.py:2000 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:2019 +#: common/models.py:2005 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:2021 +#: common/models.py:2007 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:2027 +#: common/models.py:2013 msgid "Mail twice" msgstr "" -#: common/models.py:2028 +#: common/models.py:2014 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:2033 +#: common/models.py:2019 msgid "Password twice" msgstr "" -#: common/models.py:2034 +#: common/models.py:2020 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:2039 +#: common/models.py:2025 msgid "Allowed domains" msgstr "" -#: common/models.py:2041 +#: common/models.py:2027 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:2047 +#: common/models.py:2033 msgid "Group on signup" msgstr "" -#: common/models.py:2049 +#: common/models.py:2035 msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP." msgstr "" -#: common/models.py:2055 +#: common/models.py:2041 msgid "Enforce MFA" msgstr "" -#: common/models.py:2056 +#: common/models.py:2042 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:2061 +#: common/models.py:2047 msgid "Check plugins on startup" msgstr "" -#: common/models.py:2063 +#: common/models.py:2049 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:2071 +#: common/models.py:2057 msgid "Check for plugin updates" msgstr "" -#: common/models.py:2072 +#: common/models.py:2058 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:2078 +#: common/models.py:2064 msgid "Enable URL integration" msgstr "" -#: common/models.py:2079 +#: common/models.py:2065 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:2085 +#: common/models.py:2071 msgid "Enable navigation integration" msgstr "" -#: common/models.py:2086 +#: common/models.py:2072 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:2092 +#: common/models.py:2078 msgid "Enable app integration" msgstr "" -#: common/models.py:2093 +#: common/models.py:2079 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:2099 +#: common/models.py:2085 msgid "Enable schedule integration" msgstr "" -#: common/models.py:2100 +#: common/models.py:2086 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:2106 +#: common/models.py:2092 msgid "Enable event integration" msgstr "" -#: common/models.py:2107 +#: common/models.py:2093 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:2113 +#: common/models.py:2099 +msgid "Enable interface integration" +msgstr "" + +#: common/models.py:2100 +msgid "Enable plugins to integrate into the user interface" +msgstr "" + +#: common/models.py:2106 msgid "Enable project codes" msgstr "" -#: common/models.py:2114 +#: common/models.py:2107 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:2119 +#: common/models.py:2112 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:2121 +#: common/models.py:2114 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:2127 +#: common/models.py:2120 msgid "Exclude External Locations" msgstr "" -#: common/models.py:2129 +#: common/models.py:2122 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/models.py:2135 +#: common/models.py:2128 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:2137 +#: common/models.py:2130 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:2143 +#: common/models.py:2136 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:2145 +#: common/models.py:2138 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:2152 +#: common/models.py:2145 msgid "Display Users full names" msgstr "" -#: common/models.py:2153 +#: common/models.py:2146 msgid "Display Users full names instead of usernames" msgstr "" -#: common/models.py:2158 +#: common/models.py:2151 msgid "Enable Test Station Data" msgstr "" -#: common/models.py:2159 +#: common/models.py:2152 msgid "Enable test station data collection for test results" msgstr "" -#: common/models.py:2171 common/models.py:2551 +#: common/models.py:2157 +msgid "Create Template on Upload" +msgstr "" + +#: common/models.py:2159 +msgid "Create a new test template when uploading test data which does not match an existing template" +msgstr "" + +#: common/models.py:2172 common/models.py:2552 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:2214 +#: common/models.py:2215 msgid "Hide inactive parts" msgstr "" -#: common/models.py:2216 +#: common/models.py:2217 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:2222 +#: common/models.py:2223 msgid "Show subscribed parts" msgstr "" -#: common/models.py:2223 +#: common/models.py:2224 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:2228 +#: common/models.py:2229 msgid "Show subscribed categories" msgstr "" -#: common/models.py:2229 +#: common/models.py:2230 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:2234 +#: common/models.py:2235 msgid "Show latest parts" msgstr "" -#: common/models.py:2235 +#: common/models.py:2236 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:2240 +#: common/models.py:2241 msgid "Show invalid BOMs" msgstr "" -#: common/models.py:2241 +#: common/models.py:2242 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:2246 +#: common/models.py:2247 msgid "Show recent stock changes" msgstr "" -#: common/models.py:2247 +#: common/models.py:2248 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:2252 +#: common/models.py:2253 msgid "Show low stock" msgstr "" -#: common/models.py:2253 +#: common/models.py:2254 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:2258 +#: common/models.py:2259 msgid "Show depleted stock" msgstr "" -#: common/models.py:2259 +#: common/models.py:2260 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:2264 +#: common/models.py:2265 msgid "Show needed stock" msgstr "" -#: common/models.py:2265 +#: common/models.py:2266 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:2270 +#: common/models.py:2271 msgid "Show expired stock" msgstr "" -#: common/models.py:2271 +#: common/models.py:2272 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:2276 +#: common/models.py:2277 msgid "Show stale stock" msgstr "" -#: common/models.py:2277 +#: common/models.py:2278 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:2282 +#: common/models.py:2283 msgid "Show pending builds" msgstr "" -#: common/models.py:2283 +#: common/models.py:2284 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:2288 +#: common/models.py:2289 msgid "Show overdue builds" msgstr "" -#: common/models.py:2289 +#: common/models.py:2290 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:2294 +#: common/models.py:2295 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2295 +#: common/models.py:2296 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2300 +#: common/models.py:2301 msgid "Show overdue POs" msgstr "" -#: common/models.py:2301 +#: common/models.py:2302 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2306 +#: common/models.py:2307 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2307 +#: common/models.py:2308 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2312 +#: common/models.py:2313 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2313 +#: common/models.py:2314 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2318 +#: common/models.py:2319 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2319 +#: common/models.py:2320 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2324 +#: common/models.py:2325 msgid "Show News" msgstr "" -#: common/models.py:2325 +#: common/models.py:2326 msgid "Show news on the homepage" msgstr "" -#: common/models.py:2330 +#: common/models.py:2331 msgid "Inline label display" msgstr "" -#: common/models.py:2332 +#: common/models.py:2333 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2338 +#: common/models.py:2339 msgid "Default label printer" msgstr "" -#: common/models.py:2340 +#: common/models.py:2341 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2346 +#: common/models.py:2347 msgid "Inline report display" msgstr "" -#: common/models.py:2348 +#: common/models.py:2349 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2354 +#: common/models.py:2355 msgid "Search Parts" msgstr "" -#: common/models.py:2355 +#: common/models.py:2356 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2360 +#: common/models.py:2361 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2361 +#: common/models.py:2362 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2366 +#: common/models.py:2367 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2367 +#: common/models.py:2368 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2372 +#: common/models.py:2373 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2373 +#: common/models.py:2374 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2378 +#: common/models.py:2379 msgid "Search Categories" msgstr "" -#: common/models.py:2379 +#: common/models.py:2380 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2384 +#: common/models.py:2385 msgid "Search Stock" msgstr "" -#: common/models.py:2385 +#: common/models.py:2386 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2390 +#: common/models.py:2391 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2392 +#: common/models.py:2393 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2398 +#: common/models.py:2399 msgid "Search Locations" msgstr "" -#: common/models.py:2399 +#: common/models.py:2400 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2404 +#: common/models.py:2405 msgid "Search Companies" msgstr "" -#: common/models.py:2405 +#: common/models.py:2406 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2410 +#: common/models.py:2411 msgid "Search Build Orders" msgstr "" -#: common/models.py:2411 +#: common/models.py:2412 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2416 +#: common/models.py:2417 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2417 +#: common/models.py:2418 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2422 +#: common/models.py:2423 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2424 +#: common/models.py:2425 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2430 +#: common/models.py:2431 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2431 +#: common/models.py:2432 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2436 +#: common/models.py:2437 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2438 +#: common/models.py:2439 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2444 +#: common/models.py:2445 msgid "Search Return Orders" msgstr "" -#: common/models.py:2445 +#: common/models.py:2446 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2450 +#: common/models.py:2451 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2452 +#: common/models.py:2453 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2458 +#: common/models.py:2459 msgid "Search Preview Results" msgstr "" -#: common/models.py:2460 +#: common/models.py:2461 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2466 +#: common/models.py:2467 msgid "Regex Search" msgstr "" -#: common/models.py:2467 +#: common/models.py:2468 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2472 +#: common/models.py:2473 msgid "Whole Word Search" msgstr "" -#: common/models.py:2473 +#: common/models.py:2474 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2478 +#: common/models.py:2479 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2479 +#: common/models.py:2480 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2484 +#: common/models.py:2485 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2485 +#: common/models.py:2486 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2490 +#: common/models.py:2491 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2491 +#: common/models.py:2492 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2496 +#: common/models.py:2497 msgid "Date Format" msgstr "" -#: common/models.py:2497 +#: common/models.py:2498 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2510 part/templates/part/detail.html:41 +#: common/models.py:2511 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2511 +#: common/models.py:2512 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2516 part/templates/part/detail.html:62 +#: common/models.py:2517 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2518 +#: common/models.py:2519 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2524 +#: common/models.py:2525 msgid "Table String Length" msgstr "" -#: common/models.py:2526 +#: common/models.py:2527 msgid "Maximum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2532 +#: common/models.py:2533 msgid "Receive error reports" msgstr "" -#: common/models.py:2533 +#: common/models.py:2534 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2538 +#: common/models.py:2539 msgid "Last used printing machines" msgstr "" -#: common/models.py:2539 +#: common/models.py:2540 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2559 common/models.py:2560 common/models.py:2717 -#: common/models.py:2718 common/models.py:2963 common/models.py:2964 -#: common/models.py:3287 common/models.py:3288 importer/models.py:89 -#: part/models.py:3319 part/models.py:3406 part/models.py:3480 -#: part/models.py:3508 plugin/models.py:274 plugin/models.py:275 +#: common/models.py:2560 common/models.py:2561 common/models.py:2718 +#: common/models.py:2719 common/models.py:2964 common/models.py:2965 +#: common/models.py:3288 common/models.py:3289 importer/models.py:89 +#: part/models.py:3306 part/models.py:3393 part/models.py:3467 +#: part/models.py:3495 plugin/models.py:274 plugin/models.py:275 #: report/templates/report/inventree_test_report.html:105 #: templates/js/translated/stock.js:3121 users/models.py:111 msgid "User" msgstr "משתמש" -#: common/models.py:2582 +#: common/models.py:2583 msgid "Price break quantity" msgstr "" -#: common/models.py:2589 company/serializers.py:517 order/admin.py:42 +#: common/models.py:2590 company/serializers.py:517 order/admin.py:42 #: order/models.py:1423 order/models.py:2410 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1892 #: templates/js/translated/pricing.js:621 @@ -3747,96 +3744,96 @@ msgstr "" msgid "Price" msgstr "" -#: common/models.py:2590 +#: common/models.py:2591 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2694 common/models.py:2879 +#: common/models.py:2695 common/models.py:2880 msgid "Endpoint" msgstr "" -#: common/models.py:2695 +#: common/models.py:2696 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2705 +#: common/models.py:2706 msgid "Name for this webhook" msgstr "" -#: common/models.py:2709 +#: common/models.py:2710 msgid "Is this webhook active" msgstr "" -#: common/models.py:2725 users/models.py:159 +#: common/models.py:2726 users/models.py:159 msgid "Token" msgstr "" -#: common/models.py:2726 +#: common/models.py:2727 msgid "Token for access" msgstr "" -#: common/models.py:2734 +#: common/models.py:2735 msgid "Secret" msgstr "" -#: common/models.py:2735 +#: common/models.py:2736 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2843 +#: common/models.py:2844 msgid "Message ID" msgstr "" -#: common/models.py:2844 +#: common/models.py:2845 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2852 +#: common/models.py:2853 msgid "Host" msgstr "" -#: common/models.py:2853 +#: common/models.py:2854 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2861 +#: common/models.py:2862 msgid "Header" msgstr "" -#: common/models.py:2862 +#: common/models.py:2863 msgid "Header of this message" msgstr "" -#: common/models.py:2869 +#: common/models.py:2870 msgid "Body" msgstr "" -#: common/models.py:2870 +#: common/models.py:2871 msgid "Body of this message" msgstr "" -#: common/models.py:2880 +#: common/models.py:2881 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2885 +#: common/models.py:2886 msgid "Worked on" msgstr "" -#: common/models.py:2886 +#: common/models.py:2887 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:3012 +#: common/models.py:3013 msgid "Id" msgstr "" -#: common/models.py:3014 templates/js/translated/company.js:965 +#: common/models.py:3015 templates/js/translated/company.js:965 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:3016 common/models.py:3271 company/models.py:146 +#: common/models.py:3017 common/models.py:3272 company/models.py:146 #: company/models.py:443 company/models.py:509 company/models.py:815 #: order/models.py:303 order/models.py:1378 order/models.py:1810 #: part/admin.py:55 part/models.py:1069 @@ -3853,217 +3850,217 @@ msgstr "" msgid "Link" msgstr "קישור" -#: common/models.py:3018 templates/js/translated/news.js:60 +#: common/models.py:3019 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:3020 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:3021 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:103 msgid "Author" msgstr "" -#: common/models.py:3022 templates/js/translated/news.js:52 +#: common/models.py:3023 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:3025 +#: common/models.py:3026 msgid "Read" msgstr "" -#: common/models.py:3025 +#: common/models.py:3026 msgid "Was this news item read?" msgstr "" -#: common/models.py:3042 company/models.py:156 part/models.py:1079 +#: common/models.py:3043 company/models.py:156 part/models.py:1079 #: 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.html:35 -#: stock/templates/stock/item_base.html:133 templates/503.html:31 +#: stock/templates/stock/item_base.html:129 templates/503.html:31 #: templates/hover_image.html:7 templates/hover_image.html:9 #: templates/modals.html:6 msgid "Image" msgstr "" -#: common/models.py:3042 +#: common/models.py:3043 msgid "Image file" msgstr "" -#: common/models.py:3054 common/models.py:3255 +#: common/models.py:3055 common/models.py:3256 msgid "Target model type for this image" msgstr "" -#: common/models.py:3058 +#: common/models.py:3059 msgid "Target model ID for this image" msgstr "" -#: common/models.py:3080 +#: common/models.py:3081 msgid "Custom Unit" msgstr "" -#: common/models.py:3098 +#: common/models.py:3099 msgid "Unit symbol must be unique" msgstr "" -#: common/models.py:3113 +#: common/models.py:3114 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:3132 +#: common/models.py:3133 msgid "Unit name" msgstr "" -#: common/models.py:3139 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3140 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:3140 +#: common/models.py:3141 msgid "Optional unit symbol" msgstr "" -#: common/models.py:3146 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3147 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:3147 +#: common/models.py:3148 msgid "Unit definition" msgstr "" -#: common/models.py:3205 common/models.py:3262 stock/models.py:2552 +#: common/models.py:3206 common/models.py:3263 stock/models.py:2547 #: stock/serializers.py:244 templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:345 msgid "Attachment" msgstr "קובץ מצורף" -#: common/models.py:3217 +#: common/models.py:3218 msgid "Missing file" msgstr "קובץ חסר" -#: common/models.py:3218 +#: common/models.py:3219 msgid "Missing external link" msgstr "חסר קישור חיצוני" -#: common/models.py:3263 +#: common/models.py:3264 msgid "Select file to attach" msgstr "בחר קובץ לצירוף" -#: common/models.py:3278 templates/js/translated/attachment.js:120 +#: common/models.py:3279 templates/js/translated/attachment.js:120 #: templates/js/translated/attachment.js:360 msgid "Comment" msgstr "הערה" -#: common/models.py:3279 +#: common/models.py:3280 msgid "Attachment comment" msgstr "" -#: common/models.py:3295 +#: common/models.py:3296 msgid "Upload date" msgstr "" -#: common/models.py:3296 +#: common/models.py:3297 msgid "Date the file was uploaded" msgstr "" -#: common/models.py:3300 +#: common/models.py:3301 msgid "File size" msgstr "" -#: common/models.py:3300 +#: common/models.py:3301 msgid "File size in bytes" msgstr "" -#: common/models.py:3338 common/serializers.py:588 +#: common/models.py:3339 common/serializers.py:604 msgid "Invalid model type specified for attachment" msgstr "" -#: common/models.py:3347 plugin/models.py:43 users/models.py:100 +#: common/models.py:3348 plugin/models.py:43 users/models.py:100 msgid "Key" msgstr "" -#: common/models.py:3348 +#: common/models.py:3349 msgid "Value that will be saved in the models database" msgstr "" -#: common/models.py:3351 +#: common/models.py:3352 msgid "Name of the state" msgstr "" -#: common/models.py:3355 +#: common/models.py:3356 msgid "Label" msgstr "" -#: common/models.py:3356 +#: common/models.py:3357 msgid "Label that will be displayed in the frontend" msgstr "" -#: common/models.py:3362 +#: common/models.py:3363 msgid "Color" msgstr "" -#: common/models.py:3363 +#: common/models.py:3364 msgid "Color that will be displayed in the frontend" msgstr "" -#: common/models.py:3366 +#: common/models.py:3367 msgid "Logical Key" msgstr "" -#: common/models.py:3368 +#: common/models.py:3369 msgid "State logical key that is equal to this custom state in business logic" msgstr "" -#: common/models.py:3376 +#: common/models.py:3377 msgid "Model" msgstr "" -#: common/models.py:3377 +#: common/models.py:3378 msgid "Model this state is associated with" msgstr "" -#: common/models.py:3381 +#: common/models.py:3382 msgid "Reference Status Set" msgstr "" -#: common/models.py:3382 +#: common/models.py:3383 msgid "Status set that is extended with this custom state" msgstr "" -#: common/models.py:3388 +#: common/models.py:3389 msgid "Custom State" msgstr "" -#: common/models.py:3389 +#: common/models.py:3390 msgid "Custom States" msgstr "" -#: common/models.py:3404 +#: common/models.py:3405 msgid "Model must be selected" msgstr "" -#: common/models.py:3407 +#: common/models.py:3408 msgid "Key must be selected" msgstr "" -#: common/models.py:3410 +#: common/models.py:3411 msgid "Logical key must be selected" msgstr "" -#: common/models.py:3414 +#: common/models.py:3415 msgid "Key must be different from logical key" msgstr "" -#: common/models.py:3418 +#: common/models.py:3419 msgid "Reference status must be selected" msgstr "" -#: common/models.py:3430 +#: common/models.py:3431 msgid "Reference status set not found" msgstr "" -#: common/models.py:3436 +#: common/models.py:3437 msgid "Key must be different from the logical keys of the reference status" msgstr "" -#: common/models.py:3442 +#: common/models.py:3443 msgid "Logical key must be in the logical keys of the reference status" msgstr "" @@ -4101,75 +4098,75 @@ msgstr "" msgid "Error raised by plugin" msgstr "" -#: common/serializers.py:402 +#: common/serializers.py:418 msgid "Is Running" msgstr "" -#: common/serializers.py:408 +#: common/serializers.py:424 msgid "Pending Tasks" msgstr "" -#: common/serializers.py:414 +#: common/serializers.py:430 msgid "Scheduled Tasks" msgstr "" -#: common/serializers.py:420 +#: common/serializers.py:436 msgid "Failed Tasks" msgstr "" -#: common/serializers.py:435 +#: common/serializers.py:451 msgid "Task ID" msgstr "" -#: common/serializers.py:435 +#: common/serializers.py:451 msgid "Unique task ID" msgstr "" -#: common/serializers.py:437 +#: common/serializers.py:453 msgid "Lock" msgstr "" -#: common/serializers.py:437 +#: common/serializers.py:453 msgid "Lock time" msgstr "" -#: common/serializers.py:439 +#: common/serializers.py:455 msgid "Task name" msgstr "" -#: common/serializers.py:441 +#: common/serializers.py:457 msgid "Function" msgstr "" -#: common/serializers.py:441 +#: common/serializers.py:457 msgid "Function name" msgstr "" -#: common/serializers.py:443 +#: common/serializers.py:459 msgid "Arguments" msgstr "" -#: common/serializers.py:443 +#: common/serializers.py:459 msgid "Task arguments" msgstr "" -#: common/serializers.py:446 +#: common/serializers.py:462 msgid "Keyword Arguments" msgstr "" -#: common/serializers.py:446 +#: common/serializers.py:462 msgid "Task keyword arguments" msgstr "" -#: common/serializers.py:556 +#: common/serializers.py:572 msgid "Filename" msgstr "שם קובץ" -#: common/serializers.py:563 report/api.py:100 report/serializers.py:53 +#: common/serializers.py:579 report/api.py:100 report/serializers.py:54 msgid "Model Type" msgstr "" -#: common/serializers.py:591 +#: common/serializers.py:607 msgid "User does not have permission to create or edit attachments for this model" msgstr "" @@ -4447,12 +4444,12 @@ msgstr "" #: company/models.py:467 company/models.py:584 company/models.py:808 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 -#: stock/templates/stock/item_base.html:217 +#: stock/templates/stock/item_base.html:213 msgid "Manufacturer Part" msgstr "" #: company/models.py:484 company/models.py:776 stock/models.py:791 -#: stock/serializers.py:452 stock/templates/stock/item_base.html:142 +#: stock/serializers.py:452 stock/templates/stock/item_base.html:138 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" @@ -4463,8 +4460,8 @@ msgstr "" #: company/models.py:495 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:567 -#: stock/templates/stock/item_base.html:207 +#: company/templates/company/supplier_part.html:145 part/serializers.py:565 +#: stock/templates/stock/item_base.html:203 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 #: templates/js/translated/company.js:1296 @@ -4479,7 +4476,7 @@ msgstr "" #: company/models.py:502 company/templates/company/manufacturer_part.html:101 #: company/templates/company/supplier_part.html:153 order/serializers.py:557 -#: part/serializers.py:577 templates/js/translated/company.js:351 +#: part/serializers.py:575 templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 #: templates/js/translated/company.js:1630 templates/js/translated/part.js:1807 @@ -4505,7 +4502,7 @@ msgid "Parameter name" msgstr "" #: company/models.py:597 report/templates/report/inventree_test_report.html:104 -#: stock/models.py:2544 templates/js/translated/company.js:1166 +#: stock/models.py:2539 templates/js/translated/company.js:1166 #: templates/js/translated/company.js:1419 templates/js/translated/part.js:1499 #: templates/js/translated/stock.js:1607 msgid "Value" @@ -4516,7 +4513,7 @@ msgid "Parameter value" msgstr "" #: company/models.py:605 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1159 part/models.py:3783 +#: part/admin.py:57 part/models.py:1159 part/models.py:3770 #: part/templates/part/part_base.html:300 #: templates/js/translated/company.js:1425 templates/js/translated/part.js:1518 #: templates/js/translated/part.js:1622 templates/js/translated/part.js:2376 @@ -4530,7 +4527,7 @@ msgstr "" #: company/models.py:659 company/templates/company/supplier_part.html:7 #: company/templates/company/supplier_part.html:24 order/api.py:440 #: order/serializers.py:492 stock/models.py:802 -#: stock/templates/stock/item_base.html:233 +#: stock/templates/stock/item_base.html:229 #: templates/js/translated/build.js:1055 #: templates/js/translated/company.js:1600 #: templates/js/translated/purchase_order.js:752 @@ -4553,9 +4550,9 @@ msgstr "" #: company/models.py:786 company/templates/company/company_base.html:87 #: company/templates/company/supplier_part.html:129 order/models.py:492 #: order/templates/order/order_base.html:141 part/bom.py:279 part/bom.py:314 -#: part/serializers.py:551 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:549 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 -#: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 +#: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:220 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:511 @@ -4570,7 +4567,7 @@ msgstr "" msgid "Select supplier" msgstr "" -#: company/models.py:793 part/serializers.py:562 +#: company/models.py:793 part/serializers.py:560 msgid "Supplier stock keeping unit" msgstr "" @@ -4591,7 +4588,7 @@ msgid "Supplier part description" msgstr "" #: company/models.py:832 company/templates/company/supplier_part.html:187 -#: order/serializers.py:699 part/admin.py:415 part/models.py:4301 +#: order/serializers.py:699 part/admin.py:415 part/models.py:4288 #: part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 @@ -4603,11 +4600,11 @@ msgstr "" msgid "Note" msgstr "" -#: company/models.py:841 part/models.py:2129 +#: company/models.py:841 part/models.py:2128 msgid "base cost" msgstr "" -#: company/models.py:842 part/models.py:2130 +#: company/models.py:842 part/models.py:2129 msgid "Minimum charge (e.g. stocking fee)" msgstr "" @@ -4629,7 +4626,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:876 part/models.py:2136 +#: company/models.py:876 part/models.py:2135 msgid "multiple" msgstr "" @@ -4661,7 +4658,7 @@ msgstr "" msgid "Company Name" msgstr "" -#: company/serializers.py:397 part/admin.py:126 part/serializers.py:919 +#: company/serializers.py:397 part/admin.py:126 part/serializers.py:917 #: part/templates/part/part_base.html:197 #: templates/js/translated/company.js:1689 #: templates/js/translated/table_filters.js:362 @@ -4735,7 +4732,7 @@ msgstr "" #: order/models.py:2140 order/templates/order/return_order_base.html:134 #: order/templates/order/sales_order_base.html:151 stock/models.py:844 #: stock/models.py:845 stock/serializers.py:1336 -#: stock/templates/stock/item_base.html:405 +#: stock/templates/stock/item_base.html:401 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 #: templates/js/translated/return_order.js:295 @@ -4939,7 +4936,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:925 +#: part/admin.py:122 part/serializers.py:923 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -5030,7 +5027,7 @@ msgid "No supplier information available" msgstr "" #: company/templates/company/supplier_part.html:139 order/serializers.py:554 -#: part/bom.py:286 part/bom.py:315 part/serializers.py:561 +#: part/bom.py:286 part/bom.py:315 part/serializers.py:559 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1793 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1920 @@ -5084,7 +5081,7 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:923 part/stocktake.py:223 +#: part/serializers.py:921 part/stocktake.py:223 #: part/templates/part/category.html:180 #: part/templates/part/category_sidebar.html:17 stock/admin.py:68 #: stock/serializers.py:1021 stock/serializers.py:1199 @@ -5215,7 +5212,7 @@ msgstr "" msgid "Original row data" msgstr "" -#: importer/models.py:504 part/models.py:3965 +#: importer/models.py:504 part/models.py:3952 msgid "Data" msgstr "" @@ -5473,7 +5470,7 @@ msgstr "" #: order/models.py:1592 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_purchase_order_report.html:14 -#: stock/serializers.py:121 stock/templates/stock/item_base.html:176 +#: stock/serializers.py:121 stock/templates/stock/item_base.html:172 #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/part.js:1752 templates/js/translated/pricing.js:804 #: templates/js/translated/purchase_order.js:168 @@ -5694,7 +5691,7 @@ msgid "Number of items received" msgstr "" #: order/models.py:1513 stock/models.py:963 stock/serializers.py:617 -#: stock/templates/stock/item_base.html:183 +#: stock/templates/stock/item_base.html:179 #: templates/js/translated/stock.js:2397 msgid "Purchase Price" msgstr "" @@ -5768,7 +5765,7 @@ msgid "User who checked this shipment" msgstr "" #: order/models.py:1788 order/models.py:2011 order/serializers.py:1479 -#: order/serializers.py:1589 templates/js/translated/model_renderers.js:455 +#: order/serializers.py:1597 templates/js/translated/model_renderers.js:455 msgid "Shipment" msgstr "" @@ -5982,7 +5979,7 @@ msgstr "" msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:656 order/serializers.py:779 order/serializers.py:1790 +#: order/serializers.py:656 order/serializers.py:779 order/serializers.py:1798 msgid "Select destination location for received items" msgstr "" @@ -6019,7 +6016,7 @@ msgstr "" msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:795 order/serializers.py:1806 +#: order/serializers.py:795 order/serializers.py:1814 msgid "Line items must be provided" msgstr "" @@ -6051,39 +6048,39 @@ msgstr "" msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1491 order/serializers.py:1597 +#: order/serializers.py:1491 order/serializers.py:1605 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1494 order/serializers.py:1600 +#: order/serializers.py:1494 order/serializers.py:1608 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1541 +#: order/serializers.py:1549 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1548 -msgid "The following serial numbers are already allocated" +#: order/serializers.py:1556 +msgid "The following serial numbers are unavailable" msgstr "" -#: order/serializers.py:1760 +#: order/serializers.py:1768 msgid "Return order line item" msgstr "" -#: order/serializers.py:1766 +#: order/serializers.py:1774 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1769 +#: order/serializers.py:1777 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1798 +#: order/serializers.py:1806 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1881 +#: order/serializers.py:1889 msgid "Line price currency" msgstr "" @@ -6510,7 +6507,7 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:48 part/models.py:1044 part/serializers.py:908 +#: part/admin.py:48 part/models.py:1044 part/serializers.py:906 #: part/templates/part/part_base.html:276 #: report/templates/report/inventree_stock_location_report.html:103 #: templates/js/translated/part.js:1233 templates/js/translated/part.js:2347 @@ -6537,7 +6534,7 @@ msgstr "" msgid "Category ID" msgstr "" -#: part/admin.py:67 part/admin.py:304 part/serializers.py:893 +#: part/admin.py:67 part/admin.py:304 part/serializers.py:891 #: part/stocktake.py:222 msgid "Category Name" msgstr "" @@ -6562,18 +6559,18 @@ msgstr "" msgid "Used In" msgstr "" -#: part/admin.py:150 part/serializers.py:918 +#: part/admin.py:150 part/serializers.py:916 #: part/templates/part/part_base.html:248 stock/admin.py:236 #: templates/js/translated/part.js:717 templates/js/translated/part.js:2159 msgid "Building" msgstr "" -#: part/admin.py:155 part/models.py:3214 part/models.py:3228 +#: part/admin.py:155 part/models.py:3201 part/models.py:3215 #: templates/js/translated/part.js:976 msgid "Minimum Cost" msgstr "" -#: part/admin.py:158 part/models.py:3221 part/models.py:3235 +#: part/admin.py:158 part/models.py:3208 part/models.py:3222 #: templates/js/translated/part.js:986 msgid "Maximum Cost" msgstr "" @@ -6592,7 +6589,7 @@ msgid "Category Path" msgstr "" #: part/admin.py:325 part/models.py:420 part/serializers.py:130 -#: part/serializers.py:290 part/serializers.py:428 +#: part/serializers.py:290 part/serializers.py:426 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:20 #: part/templates/part/category.html:138 part/templates/part/category.html:158 #: part/templates/part/category_sidebar.html:9 @@ -6619,13 +6616,13 @@ msgstr "" msgid "Part Revision" msgstr "" -#: part/admin.py:418 part/serializers.py:1367 +#: part/admin.py:418 part/serializers.py:1365 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:423 part/serializers.py:1382 +#: part/admin.py:423 part/serializers.py:1380 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -6719,8 +6716,8 @@ msgstr "" msgid "BOM Valid" msgstr "" -#: part/api.py:1520 part/models.py:1036 part/models.py:3501 part/models.py:4060 -#: part/serializers.py:443 part/serializers.py:1223 +#: part/api.py:1520 part/models.py:1036 part/models.py:3488 part/models.py:4047 +#: part/serializers.py:441 part/serializers.py:1221 #: part/templates/part/part_base.html:267 stock/api.py:780 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 @@ -6746,7 +6743,7 @@ msgstr "" msgid "Default Location" msgstr "" -#: part/bom.py:184 part/serializers.py:926 +#: part/bom.py:184 part/serializers.py:924 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -6755,7 +6752,7 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:89 part/models.py:4061 part/templates/part/category.html:16 +#: part/models.py:89 part/models.py:4048 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -6878,7 +6875,7 @@ msgstr "" msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:995 part/models.py:4116 +#: part/models.py:995 part/models.py:4103 msgid "Part name" msgstr "" @@ -6906,7 +6903,7 @@ msgstr "" msgid "Part category" msgstr "" -#: part/models.py:1052 part/serializers.py:360 +#: part/models.py:1052 msgid "Part revision or version number" msgstr "" @@ -7012,164 +7009,164 @@ msgid "Owner responsible for this part" msgstr "" #: part/models.py:1264 part/templates/part/part_base.html:355 -#: stock/templates/stock/item_base.html:451 +#: stock/templates/stock/item_base.html:447 #: templates/js/translated/part.js:2490 msgid "Last Stocktake" msgstr "" -#: part/models.py:2137 +#: part/models.py:2136 msgid "Sell multiple" msgstr "" -#: part/models.py:3128 +#: part/models.py:3115 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3144 +#: part/models.py:3131 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3145 +#: part/models.py:3132 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3151 +#: part/models.py:3138 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3152 +#: part/models.py:3139 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3158 +#: part/models.py:3145 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3159 +#: part/models.py:3146 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3165 +#: part/models.py:3152 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3166 +#: part/models.py:3153 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3172 +#: part/models.py:3159 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3173 +#: part/models.py:3160 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3179 +#: part/models.py:3166 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3180 +#: part/models.py:3167 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3186 +#: part/models.py:3173 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3187 +#: part/models.py:3174 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3193 +#: part/models.py:3180 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3194 +#: part/models.py:3181 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3200 +#: part/models.py:3187 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3201 +#: part/models.py:3188 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3207 +#: part/models.py:3194 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3208 +#: part/models.py:3195 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3215 +#: part/models.py:3202 msgid "Override minimum cost" msgstr "" -#: part/models.py:3222 +#: part/models.py:3209 msgid "Override maximum cost" msgstr "" -#: part/models.py:3229 +#: part/models.py:3216 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3236 +#: part/models.py:3223 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3242 +#: part/models.py:3229 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3243 +#: part/models.py:3230 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3249 +#: part/models.py:3236 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3250 +#: part/models.py:3237 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3256 +#: part/models.py:3243 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3257 +#: part/models.py:3244 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3263 +#: part/models.py:3250 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3264 +#: part/models.py:3251 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3283 +#: part/models.py:3270 msgid "Part for stocktake" msgstr "" -#: part/models.py:3288 +#: part/models.py:3275 msgid "Item Count" msgstr "" -#: part/models.py:3289 +#: part/models.py:3276 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3297 +#: part/models.py:3284 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3301 part/models.py:3384 +#: part/models.py:3288 part/models.py:3371 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -7181,363 +7178,363 @@ msgstr "" msgid "Date" msgstr "" -#: part/models.py:3302 +#: part/models.py:3289 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3310 +#: part/models.py:3297 msgid "Additional notes" msgstr "" -#: part/models.py:3320 +#: part/models.py:3307 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3326 +#: part/models.py:3313 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3327 +#: part/models.py:3314 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3333 +#: part/models.py:3320 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3334 +#: part/models.py:3321 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3390 templates/InvenTree/settings/settings_staff_js.html:532 +#: part/models.py:3377 templates/InvenTree/settings/settings_staff_js.html:532 msgid "Report" msgstr "" -#: part/models.py:3391 +#: part/models.py:3378 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3396 templates/InvenTree/settings/settings_staff_js.html:539 +#: part/models.py:3383 templates/InvenTree/settings/settings_staff_js.html:539 msgid "Part Count" msgstr "" -#: part/models.py:3397 +#: part/models.py:3384 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3407 +#: part/models.py:3394 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3417 +#: part/models.py:3404 msgid "Part Sale Price Break" msgstr "" -#: part/models.py:3529 +#: part/models.py:3516 msgid "Part Test Template" msgstr "" -#: part/models.py:3555 +#: part/models.py:3542 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3576 part/models.py:3745 +#: part/models.py:3563 part/models.py:3732 msgid "Choices must be unique" msgstr "" -#: part/models.py:3587 +#: part/models.py:3574 msgid "Test templates can only be created for testable parts" msgstr "" -#: part/models.py:3598 +#: part/models.py:3585 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3615 templates/js/translated/part.js:2898 +#: part/models.py:3602 templates/js/translated/part.js:2898 msgid "Test Name" msgstr "" -#: part/models.py:3616 +#: part/models.py:3603 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3622 +#: part/models.py:3609 msgid "Test Key" msgstr "" -#: part/models.py:3623 +#: part/models.py:3610 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3630 +#: part/models.py:3617 msgid "Test Description" msgstr "" -#: part/models.py:3631 +#: part/models.py:3618 msgid "Enter description for this test" msgstr "" -#: part/models.py:3635 report/models.py:208 +#: part/models.py:3622 report/models.py:216 #: templates/js/translated/part.js:2919 #: templates/js/translated/table_filters.js:502 msgid "Enabled" msgstr "" -#: part/models.py:3635 +#: part/models.py:3622 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3640 templates/js/translated/part.js:2927 +#: part/models.py:3627 templates/js/translated/part.js:2927 #: templates/js/translated/table_filters.js:498 msgid "Required" msgstr "" -#: part/models.py:3641 +#: part/models.py:3628 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3646 templates/js/translated/part.js:2935 +#: part/models.py:3633 templates/js/translated/part.js:2935 msgid "Requires Value" msgstr "" -#: part/models.py:3647 +#: part/models.py:3634 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3652 templates/js/translated/part.js:2942 +#: part/models.py:3639 templates/js/translated/part.js:2942 msgid "Requires Attachment" msgstr "" -#: part/models.py:3654 +#: part/models.py:3641 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3660 part/models.py:3804 templates/js/translated/part.js:1643 +#: part/models.py:3647 part/models.py:3791 templates/js/translated/part.js:1643 msgid "Choices" msgstr "" -#: part/models.py:3661 +#: part/models.py:3648 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3693 +#: part/models.py:3680 msgid "Part Parameter Template" msgstr "" -#: part/models.py:3720 +#: part/models.py:3707 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3725 +#: part/models.py:3712 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3762 +#: part/models.py:3749 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3777 +#: part/models.py:3764 msgid "Parameter Name" msgstr "" -#: part/models.py:3784 +#: part/models.py:3771 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3792 +#: part/models.py:3779 msgid "Parameter description" msgstr "" -#: part/models.py:3798 templates/js/translated/part.js:1634 +#: part/models.py:3785 templates/js/translated/part.js:1634 #: templates/js/translated/table_filters.js:837 msgid "Checkbox" msgstr "" -#: part/models.py:3799 +#: part/models.py:3786 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3805 +#: part/models.py:3792 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3839 +#: part/models.py:3826 msgid "Part Parameter" msgstr "" -#: part/models.py:3865 +#: part/models.py:3852 msgid "Parameter cannot be modified - part is locked" msgstr "" -#: part/models.py:3903 +#: part/models.py:3890 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3952 +#: part/models.py:3939 msgid "Parent Part" msgstr "" -#: part/models.py:3960 part/models.py:4068 part/models.py:4069 +#: part/models.py:3947 part/models.py:4055 part/models.py:4056 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3966 +#: part/models.py:3953 msgid "Parameter Value" msgstr "" -#: part/models.py:4016 +#: part/models.py:4003 msgid "Part Category Parameter Template" msgstr "" -#: part/models.py:4075 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:4062 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:4076 +#: part/models.py:4063 msgid "Default Parameter Value" msgstr "" -#: part/models.py:4114 +#: part/models.py:4101 msgid "Part ID or part name" msgstr "" -#: part/models.py:4115 +#: part/models.py:4102 msgid "Unique part ID value" msgstr "" -#: part/models.py:4117 +#: part/models.py:4104 msgid "Part IPN value" msgstr "" -#: part/models.py:4118 +#: part/models.py:4105 msgid "Level" msgstr "" -#: part/models.py:4118 +#: part/models.py:4105 msgid "BOM level" msgstr "" -#: part/models.py:4228 +#: part/models.py:4215 msgid "BOM item cannot be modified - assembly is locked" msgstr "" -#: part/models.py:4235 +#: part/models.py:4222 msgid "BOM item cannot be modified - variant assembly is locked" msgstr "" -#: part/models.py:4245 +#: part/models.py:4232 msgid "Select parent part" msgstr "" -#: part/models.py:4255 +#: part/models.py:4242 msgid "Sub part" msgstr "" -#: part/models.py:4256 +#: part/models.py:4243 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4267 +#: part/models.py:4254 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4273 +#: part/models.py:4260 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4279 +#: part/models.py:4266 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4286 part/templates/part/upload_bom.html:55 +#: part/models.py:4273 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4287 +#: part/models.py:4274 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4294 +#: part/models.py:4281 msgid "BOM item reference" msgstr "" -#: part/models.py:4302 +#: part/models.py:4289 msgid "BOM item notes" msgstr "" -#: part/models.py:4308 +#: part/models.py:4295 msgid "Checksum" msgstr "" -#: part/models.py:4309 +#: part/models.py:4296 msgid "BOM line checksum" msgstr "" -#: part/models.py:4314 templates/js/translated/table_filters.js:181 +#: part/models.py:4301 templates/js/translated/table_filters.js:181 msgid "Validated" msgstr "" -#: part/models.py:4315 +#: part/models.py:4302 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4320 part/templates/part/upload_bom.html:57 +#: part/models.py:4307 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:185 #: templates/js/translated/table_filters.js:218 msgid "Gets inherited" msgstr "" -#: part/models.py:4321 +#: part/models.py:4308 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4327 +#: part/models.py:4314 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4412 stock/models.py:689 +#: part/models.py:4399 stock/models.py:689 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4422 part/models.py:4424 +#: part/models.py:4409 part/models.py:4411 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4561 +#: part/models.py:4554 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4582 +#: part/models.py:4575 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4595 +#: part/models.py:4588 msgid "Parent BOM item" msgstr "" -#: part/models.py:4603 +#: part/models.py:4596 msgid "Substitute part" msgstr "" -#: part/models.py:4619 +#: part/models.py:4612 msgid "Part 1" msgstr "" -#: part/models.py:4627 +#: part/models.py:4620 msgid "Part 2" msgstr "" -#: part/models.py:4628 +#: part/models.py:4621 msgid "Select Related Part" msgstr "" -#: part/models.py:4647 +#: part/models.py:4640 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4652 +#: part/models.py:4645 msgid "Duplicate relationship already exists" msgstr "" @@ -7571,326 +7568,326 @@ msgstr "" msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:434 +#: part/serializers.py:432 msgid "No parts selected" msgstr "" -#: part/serializers.py:444 +#: part/serializers.py:442 msgid "Select category" msgstr "" -#: part/serializers.py:479 +#: part/serializers.py:477 msgid "Original Part" msgstr "" -#: part/serializers.py:480 +#: part/serializers.py:478 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:485 +#: part/serializers.py:483 msgid "Copy Image" msgstr "" -#: part/serializers.py:486 +#: part/serializers.py:484 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:492 part/templates/part/detail.html:293 +#: part/serializers.py:490 part/templates/part/detail.html:293 msgid "Copy BOM" msgstr "" -#: part/serializers.py:493 +#: part/serializers.py:491 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:499 +#: part/serializers.py:497 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:500 +#: part/serializers.py:498 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:506 +#: part/serializers.py:504 msgid "Copy Notes" msgstr "" -#: part/serializers.py:507 +#: part/serializers.py:505 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:525 +#: part/serializers.py:523 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:527 +#: part/serializers.py:525 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:534 +#: part/serializers.py:532 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:535 +#: part/serializers.py:533 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:552 +#: part/serializers.py:550 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:568 +#: part/serializers.py:566 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:578 +#: part/serializers.py:576 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:585 +#: part/serializers.py:583 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:594 +#: part/serializers.py:592 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:605 +#: part/serializers.py:603 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:612 +#: part/serializers.py:610 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:924 +#: part/serializers.py:922 msgid "Revisions" msgstr "" -#: part/serializers.py:929 +#: part/serializers.py:927 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:932 +#: part/serializers.py:930 msgid "Variant Stock" msgstr "" -#: part/serializers.py:962 part/templates/part/copy_part.html:9 +#: part/serializers.py:960 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:474 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:963 +#: part/serializers.py:961 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:969 templates/js/translated/part.js:103 +#: part/serializers.py:967 templates/js/translated/part.js:103 msgid "Initial Stock" msgstr "" -#: part/serializers.py:970 +#: part/serializers.py:968 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:976 +#: part/serializers.py:974 msgid "Supplier Information" msgstr "" -#: part/serializers.py:977 +#: part/serializers.py:975 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:985 +#: part/serializers.py:983 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:986 +#: part/serializers.py:984 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:991 +#: part/serializers.py:989 msgid "Existing Image" msgstr "" -#: part/serializers.py:992 +#: part/serializers.py:990 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:1009 +#: part/serializers.py:1007 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1215 +#: part/serializers.py:1213 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1225 +#: part/serializers.py:1223 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1235 +#: part/serializers.py:1233 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1241 +#: part/serializers.py:1239 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1242 +#: part/serializers.py:1240 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1247 +#: part/serializers.py:1245 msgid "Generate Report" msgstr "" -#: part/serializers.py:1248 +#: part/serializers.py:1246 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1253 +#: part/serializers.py:1251 msgid "Update Parts" msgstr "" -#: part/serializers.py:1254 +#: part/serializers.py:1252 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1262 +#: part/serializers.py:1260 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1368 +#: part/serializers.py:1366 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1375 +#: part/serializers.py:1373 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1383 +#: part/serializers.py:1381 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1390 +#: part/serializers.py:1388 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1419 +#: part/serializers.py:1417 msgid "Update" msgstr "" -#: part/serializers.py:1420 +#: part/serializers.py:1418 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1443 +#: part/serializers.py:1441 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1450 +#: part/serializers.py:1448 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1453 +#: part/serializers.py:1451 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1597 +#: part/serializers.py:1595 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1606 +#: part/serializers.py:1604 msgid "Component Name" msgstr "" -#: part/serializers.py:1609 +#: part/serializers.py:1607 msgid "Component IPN" msgstr "" -#: part/serializers.py:1612 +#: part/serializers.py:1610 msgid "Component Description" msgstr "" -#: part/serializers.py:1618 +#: part/serializers.py:1616 msgid "Select the component part" msgstr "" -#: part/serializers.py:1627 part/templates/part/part_base.html:242 +#: part/serializers.py:1625 part/templates/part/part_base.html:242 #: templates/js/translated/bom.js:1219 msgid "Can Build" msgstr "" -#: part/serializers.py:1858 +#: part/serializers.py:1856 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1866 +#: part/serializers.py:1864 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1867 +#: part/serializers.py:1865 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1872 +#: part/serializers.py:1870 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1873 +#: part/serializers.py:1871 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1878 +#: part/serializers.py:1876 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1879 +#: part/serializers.py:1877 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1884 +#: part/serializers.py:1882 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1885 +#: part/serializers.py:1883 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1922 +#: part/serializers.py:1920 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1923 +#: part/serializers.py:1921 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1955 +#: part/serializers.py:1953 msgid "No part column specified" msgstr "" -#: part/serializers.py:1999 +#: part/serializers.py:1997 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:2002 +#: part/serializers.py:2000 msgid "No matching part found" msgstr "" -#: part/serializers.py:2004 +#: part/serializers.py:2002 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:2013 +#: part/serializers.py:2011 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:2021 +#: part/serializers.py:2019 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:2044 +#: part/serializers.py:2042 msgid "At least one BOM item is required" msgstr "" @@ -8216,7 +8213,7 @@ msgid "Subscribe to notifications for this part" msgstr "" #: part/templates/part/part_base.html:52 -#: stock/templates/stock/item_base.html:62 +#: stock/templates/stock/item_base.html:61 #: stock/templates/stock/location.html:71 templates/js/translated/label.js:136 msgid "Print Label" msgstr "" @@ -8226,7 +8223,7 @@ msgid "Show pricing information" msgstr "" #: part/templates/part/part_base.html:63 -#: stock/templates/stock/item_base.html:110 +#: stock/templates/stock/item_base.html:106 #: stock/templates/stock/location.html:80 msgid "Stock actions" msgstr "" @@ -8297,12 +8294,12 @@ msgid "Required for Orders" msgstr "" #: part/templates/part/part_base.html:225 -#: stock/templates/stock/item_base.html:388 +#: stock/templates/stock/item_base.html:384 msgid "Allocated to Build Orders" msgstr "" #: part/templates/part/part_base.html:234 -#: stock/templates/stock/item_base.html:381 +#: stock/templates/stock/item_base.html:377 msgid "Allocated to Sales Orders" msgstr "" @@ -8322,7 +8319,7 @@ msgid "Latest Serial Number" msgstr "" #: part/templates/part/part_base.html:372 -#: stock/templates/stock/item_base.html:322 +#: stock/templates/stock/item_base.html:318 msgid "Search for serial number" msgstr "" @@ -8449,7 +8446,7 @@ msgid "Edit" msgstr "" #: part/templates/part/prices.html:28 stock/admin.py:252 -#: stock/templates/stock/item_base.html:446 +#: stock/templates/stock/item_base.html:442 #: templates/js/translated/company.js:1703 #: templates/js/translated/company.js:1713 #: templates/js/translated/stock.js:2332 @@ -8604,7 +8601,7 @@ msgstr "" msgid "Part Pricing" msgstr "" -#: plugin/api.py:172 +#: plugin/api.py:174 msgid "Plugin cannot be deleted as it is currently active" msgstr "" @@ -8940,7 +8937,7 @@ msgstr "" msgid "Print a border around each label" msgstr "" -#: plugin/builtin/labels/label_sheet.py:47 report/models.py:307 +#: plugin/builtin/labels/label_sheet.py:47 report/models.py:315 msgid "Landscape" msgstr "" @@ -9012,44 +9009,44 @@ msgstr "" msgid "The Supplier which acts as 'TME'" msgstr "" -#: plugin/installer.py:194 plugin/installer.py:274 +#: plugin/installer.py:199 plugin/installer.py:282 msgid "Only staff users can administer plugins" msgstr "" -#: plugin/installer.py:197 +#: plugin/installer.py:202 msgid "Plugin installation is disabled" msgstr "" -#: plugin/installer.py:241 +#: plugin/installer.py:246 msgid "Installed plugin successfully" msgstr "" -#: plugin/installer.py:246 +#: plugin/installer.py:251 #, python-brace-format msgid "Installed plugin into {path}" msgstr "" -#: plugin/installer.py:265 +#: plugin/installer.py:273 msgid "Plugin was not found in registry" msgstr "" -#: plugin/installer.py:268 +#: plugin/installer.py:276 msgid "Plugin is not a packaged plugin" msgstr "" -#: plugin/installer.py:271 +#: plugin/installer.py:279 msgid "Plugin package name not found" msgstr "" -#: plugin/installer.py:291 +#: plugin/installer.py:299 msgid "Plugin uninstalling is disabled" msgstr "" -#: plugin/installer.py:295 +#: plugin/installer.py:303 msgid "Plugin cannot be uninstalled as it is currently active" msgstr "" -#: plugin/installer.py:308 +#: plugin/installer.py:316 msgid "Uninstalled plugin successfully" msgstr "" @@ -9098,7 +9095,7 @@ msgstr "" msgid "Package Plugin" msgstr "" -#: plugin/models.py:220 report/models.py:474 +#: plugin/models.py:220 report/models.py:482 #: templates/InvenTree/settings/plugin_settings.html:9 #: templates/js/translated/plugin.js:51 msgid "Plugin" @@ -9167,6 +9164,38 @@ msgstr "" msgid "InvenTree Contributors" msgstr "" +#: plugin/samples/integration/user_interface_sample.py:22 +msgid "Enable Part Panels" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:23 +msgid "Enable custom panels for Part views" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:28 +msgid "Enable Purchase Order Panels" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:29 +msgid "Enable custom panels for Purchase Order views" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:34 +msgid "Enable Broken Panels" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:35 +msgid "Enable broken panels for testing" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:40 +msgid "Enable Dynamic Panel" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:41 +msgid "Enable dynamic panels for testing" +msgstr "" + #: plugin/serializers.py:81 msgid "Source URL" msgstr "" @@ -9245,12 +9274,36 @@ msgstr "" msgid "Delete the plugin configuration from the database" msgstr "" +#: plugin/serializers.py:324 +msgid "Plugin Key" +msgstr "" + +#: plugin/serializers.py:328 +msgid "Panel Name" +msgstr "" + +#: plugin/serializers.py:332 +msgid "Panel Title" +msgstr "" + +#: plugin/serializers.py:337 +msgid "Panel Icon" +msgstr "" + +#: plugin/serializers.py:341 +msgid "Panel Content (HTML)" +msgstr "" + +#: plugin/serializers.py:345 +msgid "Panel Source (javascript)" +msgstr "" + #: report/api.py:88 msgid "No valid objects provided to template" msgstr "" -#: report/api.py:103 report/models.py:438 report/serializers.py:98 -#: report/serializers.py:148 templates/js/translated/purchase_order.js:1817 +#: report/api.py:103 report/models.py:446 report/serializers.py:99 +#: report/serializers.py:149 templates/js/translated/purchase_order.js:1817 #: templates/js/translated/return_order.js:353 #: templates/js/translated/sales_order.js:887 #: templates/js/translated/sales_order.js:1047 @@ -9281,7 +9334,11 @@ msgstr "" msgid "Error printing label" msgstr "" -#: report/api.py:375 report/api.py:411 +#: report/api.py:358 +msgid "Report saved at time of printing" +msgstr "" + +#: report/api.py:384 report/api.py:420 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" @@ -9318,135 +9375,143 @@ msgstr "" msgid "Revision number (auto-increments)" msgstr "" -#: report/models.py:202 +#: report/models.py:168 +msgid "Attach to Model on Print" +msgstr "" + +#: report/models.py:170 +msgid "Save report output as an attachment against linked model instance when printing" +msgstr "" + +#: report/models.py:210 msgid "Filename Pattern" msgstr "" -#: report/models.py:203 +#: report/models.py:211 msgid "Pattern for generating filenames" msgstr "" -#: report/models.py:208 +#: report/models.py:216 msgid "Template is enabled" msgstr "" -#: report/models.py:214 +#: report/models.py:222 msgid "Target model type for template" msgstr "" -#: report/models.py:234 +#: report/models.py:242 msgid "Filters" msgstr "" -#: report/models.py:235 +#: report/models.py:243 msgid "Template query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:294 report/models.py:361 +#: report/models.py:302 report/models.py:369 msgid "Template file" msgstr "" -#: report/models.py:302 +#: report/models.py:310 msgid "Page size for PDF reports" msgstr "" -#: report/models.py:308 +#: report/models.py:316 msgid "Render report in landscape orientation" msgstr "" -#: report/models.py:367 +#: report/models.py:375 msgid "Width [mm]" msgstr "" -#: report/models.py:368 +#: report/models.py:376 msgid "Label width, specified in mm" msgstr "" -#: report/models.py:374 +#: report/models.py:382 msgid "Height [mm]" msgstr "" -#: report/models.py:375 +#: report/models.py:383 msgid "Label height, specified in mm" msgstr "" -#: report/models.py:438 +#: report/models.py:446 msgid "Number of items to process" msgstr "" -#: report/models.py:444 +#: report/models.py:452 msgid "Report generation is complete" msgstr "" -#: report/models.py:448 templates/js/translated/build.js:2352 +#: report/models.py:456 templates/js/translated/build.js:2352 msgid "Progress" msgstr "" -#: report/models.py:448 +#: report/models.py:456 msgid "Report generation progress" msgstr "" -#: report/models.py:456 +#: report/models.py:464 msgid "Report Template" msgstr "" -#: report/models.py:463 report/models.py:486 +#: report/models.py:471 report/models.py:494 msgid "Output File" msgstr "" -#: report/models.py:464 report/models.py:487 +#: report/models.py:472 report/models.py:495 msgid "Generated output file" msgstr "" -#: report/models.py:475 +#: report/models.py:483 msgid "Label output plugin" msgstr "" -#: report/models.py:479 +#: report/models.py:487 msgid "Label Template" msgstr "" -#: report/models.py:502 +#: report/models.py:510 msgid "Snippet" msgstr "" -#: report/models.py:503 +#: report/models.py:511 msgid "Report snippet file" msgstr "" -#: report/models.py:510 +#: report/models.py:518 msgid "Snippet file description" msgstr "" -#: report/models.py:528 +#: report/models.py:536 msgid "Asset" msgstr "" -#: report/models.py:529 +#: report/models.py:537 msgid "Report asset file" msgstr "" -#: report/models.py:536 +#: report/models.py:544 msgid "Asset file description" msgstr "" -#: report/serializers.py:91 +#: report/serializers.py:92 msgid "Select report template" msgstr "" -#: report/serializers.py:99 report/serializers.py:149 +#: report/serializers.py:100 report/serializers.py:150 msgid "List of item primary keys to include in the report" msgstr "" -#: report/serializers.py:132 +#: report/serializers.py:133 msgid "Select label template" msgstr "" -#: report/serializers.py:140 +#: report/serializers.py:141 msgid "Printing Plugin" msgstr "" -#: report/serializers.py:141 +#: report/serializers.py:142 msgid "Select plugin to use for label printing" msgstr "" @@ -9517,7 +9582,7 @@ msgstr "" msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report.html:103 stock/models.py:2538 +#: report/templates/report/inventree_test_report.html:103 stock/models.py:2533 msgid "Result" msgstr "" @@ -9598,7 +9663,7 @@ msgid "Customer ID" msgstr "" #: stock/admin.py:206 stock/models.py:829 -#: stock/templates/stock/item_base.html:354 +#: stock/templates/stock/item_base.html:350 msgid "Installed In" msgstr "" @@ -9623,7 +9688,7 @@ msgid "Delete on Deplete" msgstr "" #: stock/admin.py:261 stock/models.py:923 -#: stock/templates/stock/item_base.html:433 +#: stock/templates/stock/item_base.html:429 #: templates/js/translated/stock.js:2316 users/models.py:124 msgid "Expiry Date" msgstr "" @@ -9665,7 +9730,7 @@ msgid "Expiry date after" msgstr "" #: stock/api.py:839 stock/serializers.py:611 -#: stock/templates/stock/item_base.html:439 +#: stock/templates/stock/item_base.html:435 #: templates/js/translated/table_filters.js:448 msgid "Stale" msgstr "" @@ -9715,7 +9780,7 @@ msgid "Stock Locations" msgstr "" #: stock/models.py:185 stock/models.py:972 -#: stock/templates/stock/item_base.html:247 +#: stock/templates/stock/item_base.html:243 msgid "Owner" msgstr "" @@ -9826,7 +9891,7 @@ msgstr "" msgid "Build for this stock item" msgstr "" -#: stock/models.py:892 stock/templates/stock/item_base.html:363 +#: stock/models.py:892 stock/templates/stock/item_base.html:359 msgid "Consumed By" msgstr "" @@ -9891,7 +9956,7 @@ msgstr "" msgid "Serial numbers already exist" msgstr "" -#: stock/models.py:1636 +#: stock/models.py:1636 stock/models.py:2436 msgid "Test template does not exist" msgstr "" @@ -9939,67 +10004,67 @@ msgstr "" msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2337 +#: stock/models.py:2335 msgid "Stock Item Tracking" msgstr "" -#: stock/models.py:2370 +#: stock/models.py:2368 msgid "Entry notes" msgstr "" -#: stock/models.py:2410 +#: stock/models.py:2408 msgid "Stock Item Test Result" msgstr "" -#: stock/models.py:2443 +#: stock/models.py:2439 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2448 +#: stock/models.py:2443 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2453 +#: stock/models.py:2448 msgid "Invalid value for this test" msgstr "" -#: stock/models.py:2538 +#: stock/models.py:2533 msgid "Test result" msgstr "" -#: stock/models.py:2545 +#: stock/models.py:2540 msgid "Test output value" msgstr "" -#: stock/models.py:2553 stock/serializers.py:245 +#: stock/models.py:2548 stock/serializers.py:245 msgid "Test result attachment" msgstr "" -#: stock/models.py:2557 +#: stock/models.py:2552 msgid "Test notes" msgstr "" -#: stock/models.py:2565 templates/js/translated/stock.js:1633 +#: stock/models.py:2560 templates/js/translated/stock.js:1633 msgid "Test station" msgstr "" -#: stock/models.py:2566 +#: stock/models.py:2561 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2572 +#: stock/models.py:2567 msgid "Started" msgstr "" -#: stock/models.py:2573 +#: stock/models.py:2568 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2579 +#: stock/models.py:2574 msgid "Finished" msgstr "" -#: stock/models.py:2580 +#: stock/models.py:2575 msgid "The timestamp of the test finish" msgstr "" @@ -10059,7 +10124,7 @@ msgstr "" msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:459 stock/templates/stock/item_base.html:193 +#: stock/serializers.py:459 stock/templates/stock/item_base.html:189 msgid "Parent Item" msgstr "" @@ -10071,7 +10136,7 @@ msgstr "" msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:603 stock/templates/stock/item_base.html:437 +#: stock/serializers.py:603 stock/templates/stock/item_base.html:433 #: templates/js/translated/table_filters.js:442 users/models.py:174 msgid "Expired" msgstr "" @@ -10410,7 +10475,7 @@ msgstr "" msgid "Test Data" msgstr "" -#: stock/templates/stock/item.html:85 stock/templates/stock/item_base.html:65 +#: stock/templates/stock/item.html:85 msgid "Test Report" msgstr "" @@ -10450,200 +10515,204 @@ msgstr "" msgid "Scan to Location" msgstr "" -#: stock/templates/stock/item_base.html:59 +#: stock/templates/stock/item_base.html:58 #: stock/templates/stock/location.html:67 #: templates/js/translated/filters.js:434 msgid "Printing actions" msgstr "" -#: stock/templates/stock/item_base.html:75 +#: stock/templates/stock/item_base.html:63 templates/js/translated/report.js:49 +msgid "Print Report" +msgstr "" + +#: stock/templates/stock/item_base.html:71 msgid "Stock adjustment actions" msgstr "" -#: stock/templates/stock/item_base.html:79 +#: stock/templates/stock/item_base.html:75 #: stock/templates/stock/location.html:87 templates/js/translated/stock.js:1909 msgid "Count stock" msgstr "" -#: stock/templates/stock/item_base.html:81 +#: stock/templates/stock/item_base.html:77 #: templates/js/translated/stock.js:1891 msgid "Add stock" msgstr "" -#: stock/templates/stock/item_base.html:82 +#: stock/templates/stock/item_base.html:78 #: templates/js/translated/stock.js:1900 msgid "Remove stock" msgstr "" -#: stock/templates/stock/item_base.html:85 +#: stock/templates/stock/item_base.html:81 msgid "Serialize stock" msgstr "" -#: stock/templates/stock/item_base.html:88 +#: stock/templates/stock/item_base.html:84 #: stock/templates/stock/location.html:93 templates/js/translated/stock.js:1918 msgid "Transfer stock" msgstr "" -#: stock/templates/stock/item_base.html:91 +#: stock/templates/stock/item_base.html:87 #: templates/js/translated/stock.js:1973 msgid "Assign to customer" msgstr "" -#: stock/templates/stock/item_base.html:94 +#: stock/templates/stock/item_base.html:90 msgid "Return to stock" msgstr "" -#: stock/templates/stock/item_base.html:97 +#: stock/templates/stock/item_base.html:93 msgid "Uninstall stock item" msgstr "" -#: stock/templates/stock/item_base.html:97 +#: stock/templates/stock/item_base.html:93 msgid "Uninstall" msgstr "" -#: stock/templates/stock/item_base.html:101 +#: stock/templates/stock/item_base.html:97 msgid "Install stock item" msgstr "" -#: stock/templates/stock/item_base.html:101 +#: stock/templates/stock/item_base.html:97 msgid "Install" msgstr "" -#: stock/templates/stock/item_base.html:115 +#: stock/templates/stock/item_base.html:111 msgid "Convert to variant" msgstr "" -#: stock/templates/stock/item_base.html:118 +#: stock/templates/stock/item_base.html:114 msgid "Duplicate stock item" msgstr "" -#: stock/templates/stock/item_base.html:120 +#: stock/templates/stock/item_base.html:116 msgid "Edit stock item" msgstr "" -#: stock/templates/stock/item_base.html:123 +#: stock/templates/stock/item_base.html:119 msgid "Delete stock item" msgstr "" -#: stock/templates/stock/item_base.html:169 templates/InvenTree/search.html:139 +#: stock/templates/stock/item_base.html:165 templates/InvenTree/search.html:139 #: templates/js/translated/build.js:2298 templates/navbar.html:38 msgid "Build" msgstr "" -#: stock/templates/stock/item_base.html:211 +#: stock/templates/stock/item_base.html:207 msgid "No manufacturer set" msgstr "" -#: stock/templates/stock/item_base.html:251 +#: stock/templates/stock/item_base.html:247 msgid "You are not in the list of owners of this item. This stock item cannot be edited." msgstr "" -#: stock/templates/stock/item_base.html:252 +#: stock/templates/stock/item_base.html:248 #: stock/templates/stock/location.html:146 msgid "Read only" msgstr "" -#: stock/templates/stock/item_base.html:265 +#: stock/templates/stock/item_base.html:261 msgid "This stock item is unavailable" msgstr "" -#: stock/templates/stock/item_base.html:271 +#: stock/templates/stock/item_base.html:267 msgid "This stock item is in production and cannot be edited." msgstr "" -#: stock/templates/stock/item_base.html:272 +#: stock/templates/stock/item_base.html:268 msgid "Edit the stock item from the build view." msgstr "" -#: stock/templates/stock/item_base.html:287 +#: stock/templates/stock/item_base.html:283 msgid "This stock item is allocated to Sales Order" msgstr "" -#: stock/templates/stock/item_base.html:295 +#: stock/templates/stock/item_base.html:291 msgid "This stock item is allocated to Build Order" msgstr "" -#: stock/templates/stock/item_base.html:311 +#: stock/templates/stock/item_base.html:307 msgid "This stock item is serialized. It has a unique serial number and the quantity cannot be adjusted" msgstr "" -#: stock/templates/stock/item_base.html:317 +#: stock/templates/stock/item_base.html:313 msgid "previous page" msgstr "" -#: stock/templates/stock/item_base.html:317 +#: stock/templates/stock/item_base.html:313 msgid "Navigate to previous serial number" msgstr "" -#: stock/templates/stock/item_base.html:326 +#: stock/templates/stock/item_base.html:322 msgid "next page" msgstr "" -#: stock/templates/stock/item_base.html:326 +#: stock/templates/stock/item_base.html:322 msgid "Navigate to next serial number" msgstr "" -#: stock/templates/stock/item_base.html:398 +#: stock/templates/stock/item_base.html:394 #: templates/js/translated/build.js:2555 msgid "No location set" msgstr "" -#: stock/templates/stock/item_base.html:413 +#: stock/templates/stock/item_base.html:409 msgid "Tests" msgstr "" -#: stock/templates/stock/item_base.html:419 +#: stock/templates/stock/item_base.html:415 msgid "This stock item has not passed all required tests" msgstr "" -#: stock/templates/stock/item_base.html:437 +#: stock/templates/stock/item_base.html:433 #, python-format msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:439 +#: stock/templates/stock/item_base.html:435 #, python-format msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:455 +#: stock/templates/stock/item_base.html:451 msgid "No stocktake performed" msgstr "" -#: stock/templates/stock/item_base.html:504 +#: stock/templates/stock/item_base.html:500 #: templates/js/translated/stock.js:2038 msgid "stock item" msgstr "" -#: stock/templates/stock/item_base.html:527 +#: stock/templates/stock/item_base.html:523 msgid "Edit Stock Status" msgstr "" -#: stock/templates/stock/item_base.html:536 +#: stock/templates/stock/item_base.html:532 msgid "Stock Item QR Code" msgstr "" -#: stock/templates/stock/item_base.html:547 +#: stock/templates/stock/item_base.html:543 msgid "Link Barcode to Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:611 +#: stock/templates/stock/item_base.html:607 msgid "Select one of the part variants listed below." msgstr "" -#: stock/templates/stock/item_base.html:614 +#: stock/templates/stock/item_base.html:610 msgid "Warning" msgstr "" -#: stock/templates/stock/item_base.html:615 +#: stock/templates/stock/item_base.html:611 msgid "This action cannot be easily undone" msgstr "" -#: stock/templates/stock/item_base.html:623 +#: stock/templates/stock/item_base.html:619 msgid "Convert Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:656 +#: stock/templates/stock/item_base.html:652 msgid "Return to Stock" msgstr "" @@ -11310,7 +11379,7 @@ msgid "Delete Location Type" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:503 -#: templates/InvenTree/settings/stock.html:38 +#: templates/InvenTree/settings/stock.html:39 msgid "New Location Type" msgstr "" @@ -11367,7 +11436,7 @@ msgstr "" msgid "Stock Settings" msgstr "" -#: templates/InvenTree/settings/stock.html:34 +#: templates/InvenTree/settings/stock.html:35 msgid "Stock Location Types" msgstr "" @@ -11852,23 +11921,23 @@ msgstr "" msgid "Barcode Identifier" msgstr "" -#: templates/base.html:103 +#: templates/base.html:102 msgid "Server Restart Required" msgstr "" -#: templates/base.html:106 +#: templates/base.html:105 msgid "A configuration option has been changed which requires a server restart" msgstr "" -#: templates/base.html:106 templates/base.html:116 +#: templates/base.html:105 templates/base.html:115 msgid "Contact your system administrator for further information" msgstr "" -#: templates/base.html:113 +#: templates/base.html:112 msgid "Pending Database Migrations" msgstr "" -#: templates/base.html:116 +#: templates/base.html:115 msgid "There are pending database migrations which require attention" msgstr "" @@ -13946,10 +14015,6 @@ msgstr "" msgid "Delete line item" msgstr "" -#: templates/js/translated/report.js:49 -msgid "Print Report" -msgstr "" - #: templates/js/translated/report.js:68 msgid "Report print successful" msgstr "" diff --git a/src/backend/InvenTree/locale/hi/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/hi/LC_MESSAGES/django.po index 4d3cf26f4cab..c6becd92057d 100644 --- a/src/backend/InvenTree/locale/hi/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/hi/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-08-29 07:07+0000\n" -"PO-Revision-Date: 2024-08-29 07:10\n" +"POT-Creation-Date: 2024-09-16 00:37+0000\n" +"PO-Revision-Date: 2024-09-16 00:40\n" "Last-Translator: \n" "Language-Team: Hindi\n" "Language: hi_IN\n" @@ -65,9 +65,9 @@ msgstr "तारीख दर्ज करें" #: 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:59 -#: part/models.py:3309 part/templates/part/part_sidebar.html:65 +#: part/models.py:3296 part/templates/part/part_sidebar.html:65 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/admin.py:231 stock/models.py:2369 stock/models.py:2557 +#: stock/admin.py:231 stock/models.py:2367 stock/models.py:2552 #: stock/serializers.py:705 stock/serializers.py:863 stock/serializers.py:989 #: stock/serializers.py:1039 stock/serializers.py:1350 #: stock/serializers.py:1439 stock/serializers.py:1604 @@ -364,7 +364,7 @@ msgstr "" msgid "[{site_name}] Log in to the app" msgstr "" -#: InvenTree/magic_login.py:38 InvenTree/serializers.py:413 +#: InvenTree/magic_login.py:38 InvenTree/serializers.py:416 #: company/models.py:133 company/templates/company/company_base.html:138 #: templates/InvenTree/settings/user.html:49 #: templates/js/translated/company.js:677 @@ -419,9 +419,9 @@ msgstr "" msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:767 common/models.py:2704 common/models.py:3131 -#: common/models.py:3351 common/serializers.py:439 company/models.py:590 -#: machine/models.py:24 part/models.py:995 part/models.py:3776 +#: InvenTree/models.py:767 common/models.py:2705 common/models.py:3132 +#: common/models.py:3352 common/serializers.py:455 company/models.py:590 +#: machine/models.py:24 part/models.py:995 part/models.py:3763 #: plugin/models.py:51 report/models.py:149 stock/models.py:82 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -446,10 +446,10 @@ msgstr "" #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 order/models.py:289 #: order/models.py:1406 part/admin.py:305 part/admin.py:411 part/models.py:1018 -#: part/models.py:3791 part/templates/part/category.html:79 +#: part/models.py:3778 part/templates/part/category.html:79 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:155 -#: report/models.py:509 report/models.py:535 +#: report/models.py:517 report/models.py:543 #: report/templates/report/inventree_build_order_report.html:117 #: stock/admin.py:54 stock/models.py:88 stock/templates/stock/location.html:122 #: templates/InvenTree/settings/notifications.html:19 @@ -517,12 +517,12 @@ msgstr "" msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:63 part/models.py:4400 +#: InvenTree/serializers.py:63 part/models.py:4387 msgid "Must be a valid number" msgstr "" #: InvenTree/serializers.py:100 company/models.py:183 -#: company/templates/company/company_base.html:112 part/models.py:3127 +#: company/templates/company/company_base.html:112 part/models.py:3114 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -536,43 +536,43 @@ msgstr "" msgid "Username" msgstr "" -#: InvenTree/serializers.py:407 templates/InvenTree/settings/user.html:37 +#: InvenTree/serializers.py:408 templates/InvenTree/settings/user.html:37 msgid "First Name" msgstr "" -#: InvenTree/serializers.py:407 +#: InvenTree/serializers.py:408 msgid "First name of the user" msgstr "" -#: InvenTree/serializers.py:410 templates/InvenTree/settings/user.html:41 +#: InvenTree/serializers.py:412 templates/InvenTree/settings/user.html:41 msgid "Last Name" msgstr "" -#: InvenTree/serializers.py:410 +#: InvenTree/serializers.py:412 msgid "Last name of the user" msgstr "" -#: InvenTree/serializers.py:413 +#: InvenTree/serializers.py:416 msgid "Email address of the user" msgstr "" -#: InvenTree/serializers.py:438 +#: InvenTree/serializers.py:441 msgid "Staff" msgstr "" -#: InvenTree/serializers.py:438 +#: InvenTree/serializers.py:441 msgid "Does this user have staff permissions" msgstr "" -#: InvenTree/serializers.py:441 +#: InvenTree/serializers.py:445 msgid "Superuser" msgstr "" -#: InvenTree/serializers.py:441 +#: InvenTree/serializers.py:445 msgid "Is this user a superuser" msgstr "" -#: InvenTree/serializers.py:444 common/models.py:2709 company/models.py:160 +#: InvenTree/serializers.py:449 common/models.py:2710 company/models.py:160 #: company/models.py:798 machine/models.py:39 part/admin.py:88 #: part/models.py:1201 plugin/models.py:66 #: templates/js/translated/company.js:523 @@ -585,89 +585,89 @@ msgstr "" msgid "Active" msgstr "" -#: InvenTree/serializers.py:444 +#: InvenTree/serializers.py:449 msgid "Is this user account active" msgstr "" -#: InvenTree/serializers.py:462 +#: InvenTree/serializers.py:467 msgid "You do not have permission to change this user role." msgstr "" -#: InvenTree/serializers.py:474 +#: InvenTree/serializers.py:503 msgid "Only superusers can create new users" msgstr "" -#: InvenTree/serializers.py:493 +#: InvenTree/serializers.py:522 msgid "Your account has been created." msgstr "" -#: InvenTree/serializers.py:495 +#: InvenTree/serializers.py:524 msgid "Please use the password reset function to login" msgstr "" -#: InvenTree/serializers.py:502 +#: InvenTree/serializers.py:531 msgid "Welcome to InvenTree" msgstr "" -#: InvenTree/serializers.py:560 +#: InvenTree/serializers.py:589 msgid "Invalid value" msgstr "" -#: InvenTree/serializers.py:580 importer/models.py:64 +#: InvenTree/serializers.py:609 importer/models.py:64 msgid "Data File" msgstr "" -#: InvenTree/serializers.py:581 +#: InvenTree/serializers.py:610 msgid "Select data file for upload" msgstr "" -#: InvenTree/serializers.py:598 +#: InvenTree/serializers.py:627 msgid "Unsupported file type" msgstr "" -#: InvenTree/serializers.py:604 +#: InvenTree/serializers.py:633 msgid "File is too large" msgstr "" -#: InvenTree/serializers.py:625 +#: InvenTree/serializers.py:654 msgid "No columns found in file" msgstr "" -#: InvenTree/serializers.py:628 +#: InvenTree/serializers.py:657 msgid "No data rows found in file" msgstr "" -#: InvenTree/serializers.py:740 +#: InvenTree/serializers.py:769 msgid "No data rows provided" msgstr "" -#: InvenTree/serializers.py:743 +#: InvenTree/serializers.py:772 msgid "No data columns supplied" msgstr "" -#: InvenTree/serializers.py:809 +#: InvenTree/serializers.py:838 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "" -#: InvenTree/serializers.py:818 +#: InvenTree/serializers.py:847 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "" -#: InvenTree/serializers.py:857 +#: InvenTree/serializers.py:886 msgid "Remote Image" msgstr "" -#: InvenTree/serializers.py:858 +#: InvenTree/serializers.py:887 msgid "URL of remote image file" msgstr "" -#: InvenTree/serializers.py:876 +#: InvenTree/serializers.py:905 msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/status.py:65 part/serializers.py:1267 +#: InvenTree/status.py:65 part/serializers.py:1265 msgid "Background worker check failed" msgstr "" @@ -759,7 +759,7 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:319 build/serializers.py:1332 part/models.py:4278 +#: build/api.py:319 build/serializers.py:1332 part/models.py:4265 #: templates/js/translated/bom.js:997 templates/js/translated/bom.js:1037 #: templates/js/translated/build.js:2705 #: templates/js/translated/table_filters.js:197 @@ -767,7 +767,7 @@ msgstr "" msgid "Consumable" msgstr "" -#: build/api.py:320 build/serializers.py:1333 part/models.py:4272 +#: build/api.py:320 build/serializers.py:1333 part/models.py:4259 #: part/templates/part/upload_bom.html:58 templates/js/translated/bom.js:1001 #: templates/js/translated/bom.js:1028 templates/js/translated/build.js:2696 #: templates/js/translated/table_filters.js:193 @@ -777,7 +777,7 @@ msgid "Optional" msgstr "" #: build/api.py:321 common/models.py:1491 part/admin.py:91 part/admin.py:428 -#: part/models.py:1166 part/serializers.py:1596 +#: part/models.py:1166 part/serializers.py:1594 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:337 #: templates/js/translated/table_filters.js:729 @@ -816,7 +816,7 @@ msgstr "" msgid "Available" msgstr "" -#: build/models.py:87 build/templates/build/build_base.html:9 +#: build/models.py:88 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_report.html:105 #: stock/serializers.py:85 templates/email/build_order_completed.html:16 @@ -825,7 +825,7 @@ msgstr "" msgid "Build Order" msgstr "" -#: build/models.py:88 build/templates/build/build_base.html:13 +#: build/models.py:89 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:111 #: order/templates/order/so_sidebar.html:13 @@ -866,7 +866,7 @@ msgstr "" #: build/models.py:243 build/serializers.py:1331 order/models.py:468 #: order/models.py:979 order/models.py:1366 order/models.py:2128 -#: part/admin.py:414 part/models.py:4293 part/templates/part/upload_bom.html:54 +#: part/admin.py:414 part/models.py:4280 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 @@ -892,11 +892,11 @@ msgstr "" #: build/templates/build/build_base.html:105 #: build/templates/build/detail.html:29 company/models.py:1043 order/api.py:761 #: order/models.py:1496 order/models.py:1651 order/models.py:1652 -#: part/api.py:1506 part/api.py:1806 part/models.py:419 part/models.py:3138 -#: part/models.py:3282 part/models.py:3430 part/models.py:3451 -#: part/models.py:3473 part/models.py:3609 part/models.py:3951 -#: part/models.py:4114 part/models.py:4244 part/models.py:4602 -#: part/serializers.py:1213 part/serializers.py:1857 +#: part/api.py:1506 part/api.py:1806 part/models.py:419 part/models.py:3125 +#: part/models.py:3269 part/models.py:3417 part/models.py:3438 +#: part/models.py:3460 part/models.py:3596 part/models.py:3938 +#: part/models.py:4101 part/models.py:4231 part/models.py:4595 +#: part/serializers.py:1211 part/serializers.py:1855 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -1063,12 +1063,12 @@ msgstr "" #: order/templates/order/return_order_base.html:148 #: order/templates/order/sales_order_base.html:187 #: part/templates/part/part_base.html:399 stock/models.py:859 -#: stock/templates/stock/item_base.html:200 +#: stock/templates/stock/item_base.html:196 #: templates/js/translated/company.js:1019 msgid "External Link" msgstr "" -#: build/models.py:378 common/models.py:3272 part/models.py:1070 +#: build/models.py:378 common/models.py:3273 part/models.py:1070 #: stock/models.py:859 msgid "Link to external URL" msgstr "" @@ -1110,7 +1110,7 @@ msgstr "" msgid "A build order has been completed" msgstr "" -#: build/models.py:968 build/models.py:1056 +#: build/models.py:968 build/models.py:1057 msgid "No build output specified" msgstr "" @@ -1122,37 +1122,37 @@ msgstr "" msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:1060 build/serializers.py:279 build/serializers.py:328 +#: build/models.py:1061 build/serializers.py:279 build/serializers.py:328 #: build/serializers.py:959 order/models.py:565 order/serializers.py:500 -#: order/serializers.py:666 part/serializers.py:1590 part/serializers.py:2019 +#: order/serializers.py:666 part/serializers.py:1588 part/serializers.py:2017 #: stock/models.py:704 stock/models.py:1515 stock/serializers.py:676 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:1065 build/serializers.py:284 +#: build/models.py:1066 build/serializers.py:284 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1125 build/serializers.py:607 +#: build/models.py:1126 build/serializers.py:607 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "" -#: build/models.py:1466 +#: build/models.py:1477 msgid "Build Order Line Item" msgstr "" -#: build/models.py:1491 +#: build/models.py:1502 msgid "Build object" msgstr "" -#: build/models.py:1505 build/models.py:1761 build/serializers.py:266 +#: build/models.py:1516 build/models.py:1775 build/serializers.py:266 #: build/serializers.py:313 build/serializers.py:1339 #: build/templates/build/build_base.html:110 -#: build/templates/build/detail.html:34 common/models.py:2581 +#: build/templates/build/detail.html:34 common/models.py:2582 #: order/models.py:1349 order/models.py:2034 order/serializers.py:1464 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:413 -#: part/forms.py:48 part/models.py:3296 part/models.py:4266 +#: part/forms.py:48 part/models.py:3283 part/models.py:4253 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1163,9 +1163,9 @@ msgstr "" #: report/templates/report/inventree_test_report.html:90 #: report/templates/report/inventree_test_report.html:169 stock/admin.py:160 #: stock/serializers.py:128 stock/serializers.py:168 stock/serializers.py:667 -#: stock/templates/stock/item_base.html:287 -#: stock/templates/stock/item_base.html:295 -#: stock/templates/stock/item_base.html:342 +#: stock/templates/stock/item_base.html:283 +#: stock/templates/stock/item_base.html:291 +#: stock/templates/stock/item_base.html:338 #: templates/email/build_order_completed.html:18 #: templates/js/translated/barcode.js:579 templates/js/translated/bom.js:771 #: templates/js/translated/bom.js:981 templates/js/translated/build.js:525 @@ -1194,41 +1194,41 @@ msgstr "" msgid "Quantity" msgstr "" -#: build/models.py:1506 +#: build/models.py:1517 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1586 +#: build/models.py:1597 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1595 +#: build/models.py:1606 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1605 order/models.py:1985 +#: build/models.py:1616 order/models.py:1985 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1611 order/models.py:1988 +#: build/models.py:1622 order/models.py:1988 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1617 +#: build/models.py:1628 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1676 +#: build/models.py:1687 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1748 build/serializers.py:939 order/serializers.py:1301 +#: build/models.py:1762 build/serializers.py:939 order/serializers.py:1301 #: order/serializers.py:1322 stock/models.py:381 stock/serializers.py:94 #: stock/serializers.py:770 stock/serializers.py:1288 stock/serializers.py:1400 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 -#: stock/templates/stock/item_base.html:194 +#: stock/templates/stock/item_base.html:190 #: templates/js/translated/build.js:1921 #: templates/js/translated/sales_order.js:301 #: templates/js/translated/sales_order.js:1234 @@ -1241,19 +1241,19 @@ msgstr "" msgid "Stock Item" msgstr "" -#: build/models.py:1749 +#: build/models.py:1763 msgid "Source stock item" msgstr "" -#: build/models.py:1762 +#: build/models.py:1776 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1770 +#: build/models.py:1784 msgid "Install into" msgstr "" -#: build/models.py:1771 +#: build/models.py:1785 msgid "Destination stock item" msgstr "" @@ -1262,7 +1262,7 @@ msgid "Build Level" msgstr "" #: build/serializers.py:115 build/serializers.py:1234 build/serializers.py:1323 -#: part/admin.py:41 part/admin.py:408 part/models.py:4116 part/stocktake.py:219 +#: part/admin.py:41 part/admin.py:408 part/models.py:4103 part/stocktake.py:219 #: stock/admin.py:157 msgid "Part Name" msgstr "" @@ -1323,10 +1323,10 @@ msgid "Enter serial numbers for build outputs" msgstr "" #: build/serializers.py:359 build/serializers.py:500 build/serializers.py:572 -#: order/serializers.py:655 order/serializers.py:778 order/serializers.py:1789 -#: part/serializers.py:1233 stock/serializers.py:103 stock/serializers.py:698 +#: order/serializers.py:655 order/serializers.py:778 order/serializers.py:1797 +#: part/serializers.py:1231 stock/serializers.py:103 stock/serializers.py:698 #: stock/serializers.py:858 stock/serializers.py:984 stock/serializers.py:1432 -#: stock/serializers.py:1688 stock/templates/stock/item_base.html:394 +#: stock/serializers.py:1688 stock/templates/stock/item_base.html:390 #: templates/js/translated/barcode.js:578 #: templates/js/translated/barcode.js:826 templates/js/translated/build.js:1035 #: templates/js/translated/build.js:1177 templates/js/translated/build.js:2547 @@ -1390,7 +1390,7 @@ msgstr "" #: build/templates/build/detail.html:62 order/models.py:477 #: order/models.py:1003 order/models.py:2152 order/serializers.py:687 #: stock/admin.py:165 stock/serializers.py:1035 stock/serializers.py:1576 -#: stock/templates/stock/item_base.html:427 +#: stock/templates/stock/item_base.html:423 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2366 #: templates/js/translated/purchase_order.js:1371 #: templates/js/translated/purchase_order.js:1792 @@ -1522,7 +1522,7 @@ msgstr "" msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:1030 order/serializers.py:1614 +#: build/serializers.py:1030 order/serializers.py:1622 msgid "Allocation items must be provided" msgstr "" @@ -1590,7 +1590,7 @@ msgstr "" #: build/serializers.py:1230 company/models.py:849 #: company/templates/company/supplier_part.html:160 order/serializers.py:691 #: stock/admin.py:229 stock/models.py:822 stock/serializers.py:1586 -#: stock/templates/stock/item_base.html:240 +#: stock/templates/stock/item_base.html:236 #: templates/js/translated/company.js:1646 #: templates/js/translated/purchase_order.js:1169 #: templates/js/translated/purchase_order.js:1332 @@ -1600,12 +1600,12 @@ msgid "Packaging" msgstr "" #: build/serializers.py:1233 part/admin.py:39 part/admin.py:398 -#: part/models.py:4115 part/stocktake.py:218 stock/admin.py:153 +#: part/models.py:4102 part/stocktake.py:218 stock/admin.py:153 msgid "Part ID" msgstr "" #: build/serializers.py:1235 build/serializers.py:1324 part/admin.py:402 -#: part/models.py:4117 +#: part/models.py:4104 msgid "Part IPN" msgstr "" @@ -1625,7 +1625,7 @@ msgstr "" #: build/serializers.py:1243 #: report/templates/report/inventree_return_order_report.html:25 #: report/templates/report/inventree_test_report.html:88 stock/models.py:849 -#: stock/serializers.py:152 stock/templates/stock/item_base.html:311 +#: stock/serializers.py:152 stock/templates/stock/item_base.html:307 #: templates/js/translated/build.js:523 templates/js/translated/build.js:1543 #: templates/js/translated/build.js:2530 #: templates/js/translated/model_renderers.js:231 @@ -1644,7 +1644,7 @@ msgstr "" msgid "Allocated Quantity" msgstr "" -#: build/serializers.py:1257 stock/templates/stock/item_base.html:340 +#: build/serializers.py:1257 stock/templates/stock/item_base.html:336 msgid "Available Quantity" msgstr "" @@ -1667,13 +1667,13 @@ msgstr "" msgid "Inherited" msgstr "" -#: build/serializers.py:1337 part/models.py:4326 +#: build/serializers.py:1337 part/models.py:4313 #: part/templates/part/upload_bom.html:56 templates/js/translated/bom.js:1046 #: templates/js/translated/build.js:2714 msgid "Allow Variants" msgstr "" -#: build/serializers.py:1341 part/models.py:4124 part/models.py:4594 +#: build/serializers.py:1341 part/models.py:4111 part/models.py:4587 #: stock/api.py:793 msgid "BOM Item" msgstr "" @@ -1684,7 +1684,7 @@ msgid "Allocated Stock" msgstr "" #: build/serializers.py:1355 order/serializers.py:1179 part/admin.py:132 -#: part/bom.py:186 part/serializers.py:920 part/serializers.py:1623 +#: part/bom.py:186 part/serializers.py:918 part/serializers.py:1621 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 #: templates/js/translated/build.js:2807 templates/js/translated/part.js:712 #: templates/js/translated/part.js:2155 @@ -1692,13 +1692,13 @@ msgstr "" msgid "On Order" msgstr "" -#: build/serializers.py:1360 order/serializers.py:1180 part/serializers.py:1625 +#: build/serializers.py:1360 order/serializers.py:1180 part/serializers.py:1623 #: templates/js/translated/build.js:2811 #: templates/js/translated/table_filters.js:367 msgid "In Production" msgstr "" -#: build/serializers.py:1365 part/bom.py:185 part/serializers.py:1650 +#: build/serializers.py:1365 part/bom.py:185 part/serializers.py:1648 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" @@ -1716,7 +1716,7 @@ msgstr "" msgid "Total Available Stock" msgstr "" -#: build/serializers.py:1372 part/serializers.py:927 +#: build/serializers.py:1372 part/serializers.py:925 msgid "External Stock" msgstr "" @@ -1745,7 +1745,7 @@ msgstr "" #: importer/status_codes.py:27 order/status_codes.py:15 #: order/status_codes.py:50 order/status_codes.py:81 #: order/templates/order/order_base.html:163 -#: order/templates/order/sales_order_base.html:168 report/models.py:443 +#: order/templates/order/sales_order_base.html:168 report/models.py:451 msgid "Complete" msgstr "" @@ -1849,9 +1849,6 @@ msgid "Delete Build" msgstr "" #: build/templates/build/build_base.html:87 -msgid "Isueue Build" -msgstr "" - #: build/templates/build/build_base.html:88 msgid "Issue Build" msgstr "" @@ -1931,7 +1928,7 @@ msgstr "" #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_report.html:135 #: report/templates/report/inventree_sales_order_report.html:14 -#: stock/templates/stock/item_base.html:369 +#: stock/templates/stock/item_base.html:365 #: templates/email/overdue_sales_order.html:15 #: templates/js/translated/pricing.js:929 #: templates/js/translated/sales_order.js:805 @@ -1991,7 +1988,7 @@ msgid "Allocated Parts" msgstr "" #: build/templates/build/detail.html:80 stock/admin.py:163 -#: stock/templates/stock/item_base.html:162 +#: stock/templates/stock/item_base.html:158 #: templates/js/translated/build.js:1556 #: templates/js/translated/model_renderers.js:242 #: templates/js/translated/purchase_order.js:1326 @@ -2148,19 +2145,19 @@ msgstr "" msgid "Test Statistics" msgstr "" -#: common/api.py:692 +#: common/api.py:725 msgid "Is Link" msgstr "" -#: common/api.py:700 +#: common/api.py:733 msgid "Is File" msgstr "" -#: common/api.py:743 +#: common/api.py:776 msgid "User does not have permission to delete these attachments" msgstr "" -#: common/api.py:760 +#: common/api.py:793 msgid "User does not have permission to delete this attachment" msgstr "" @@ -2352,8 +2349,8 @@ msgstr "" #: common/models.py:1297 common/models.py:1353 common/models.py:1366 #: common/models.py:1374 common/models.py:1383 common/models.py:1392 -#: common/models.py:1629 common/models.py:1651 common/models.py:1766 -#: common/models.py:2148 +#: common/models.py:1629 common/models.py:1651 common/models.py:1752 +#: common/models.py:2141 msgid "days" msgstr "" @@ -2581,9 +2578,9 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1485 part/admin.py:108 part/models.py:3959 -#: report/models.py:293 report/models.py:360 report/serializers.py:90 -#: report/serializers.py:131 stock/serializers.py:233 +#: common/models.py:1485 part/admin.py:108 part/models.py:3946 +#: report/models.py:301 report/models.py:368 report/serializers.py:91 +#: report/serializers.py:132 stock/serializers.py:233 #: templates/js/translated/table_filters.js:138 #: templates/js/translated/table_filters.js:775 msgid "Template" @@ -2598,7 +2595,7 @@ msgid "Parts can be assembled from other components by default" msgstr "" #: common/models.py:1497 part/admin.py:95 part/models.py:1172 -#: part/serializers.py:1617 templates/js/translated/table_filters.js:737 +#: part/serializers.py:1615 templates/js/translated/table_filters.js:737 msgid "Component" msgstr "" @@ -2823,7 +2820,7 @@ msgid "Log errors which occur when generating reports" msgstr "" #: common/models.py:1702 plugin/builtin/labels/label_sheet.py:28 -#: report/models.py:301 +#: report/models.py:309 msgid "Page Size" msgstr "" @@ -2832,914 +2829,914 @@ msgid "Default page size for PDF reports" msgstr "" #: common/models.py:1708 -msgid "Enable Test Reports" -msgstr "" - -#: common/models.py:1709 -msgid "Enable generation of test reports" -msgstr "" - -#: common/models.py:1714 -msgid "Attach Test Reports" -msgstr "" - -#: common/models.py:1716 -msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" -msgstr "" - -#: common/models.py:1722 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1723 +#: common/models.py:1709 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1728 +#: common/models.py:1714 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1729 +#: common/models.py:1715 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1734 +#: common/models.py:1720 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1736 +#: common/models.py:1722 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/models.py:1742 +#: common/models.py:1728 msgid "Batch Code Template" msgstr "" -#: common/models.py:1744 +#: common/models.py:1730 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1749 +#: common/models.py:1735 msgid "Stock Expiry" msgstr "" -#: common/models.py:1750 +#: common/models.py:1736 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1755 +#: common/models.py:1741 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1756 +#: common/models.py:1742 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1761 +#: common/models.py:1747 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1763 +#: common/models.py:1749 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1770 +#: common/models.py:1756 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1771 +#: common/models.py:1757 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1776 +#: common/models.py:1762 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1777 +#: common/models.py:1763 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1782 +#: common/models.py:1768 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1783 +#: common/models.py:1769 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1788 +#: common/models.py:1774 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1789 +#: common/models.py:1775 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1794 +#: common/models.py:1780 msgid "Check BOM when installing items" msgstr "" -#: common/models.py:1796 +#: common/models.py:1782 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/models.py:1802 +#: common/models.py:1788 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/models.py:1804 +#: common/models.py:1790 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/models.py:1810 +#: common/models.py:1796 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1812 +#: common/models.py:1798 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1818 common/models.py:1874 common/models.py:1896 -#: common/models.py:1932 +#: common/models.py:1804 common/models.py:1860 common/models.py:1882 +#: common/models.py:1918 msgid "Require Responsible Owner" msgstr "" -#: common/models.py:1819 common/models.py:1875 common/models.py:1897 -#: common/models.py:1933 +#: common/models.py:1805 common/models.py:1861 common/models.py:1883 +#: common/models.py:1919 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/models.py:1824 +#: common/models.py:1810 msgid "Require Active Part" msgstr "" -#: common/models.py:1825 +#: common/models.py:1811 msgid "Prevent build order creation for inactive parts" msgstr "" -#: common/models.py:1830 +#: common/models.py:1816 msgid "Require Locked Part" msgstr "" -#: common/models.py:1831 +#: common/models.py:1817 msgid "Prevent build order creation for unlocked parts" msgstr "" -#: common/models.py:1836 +#: common/models.py:1822 msgid "Require Valid BOM" msgstr "" -#: common/models.py:1838 +#: common/models.py:1824 msgid "Prevent build order creation unless BOM has been validated" msgstr "" -#: common/models.py:1844 +#: common/models.py:1830 msgid "Require Closed Child Orders" msgstr "" -#: common/models.py:1846 +#: common/models.py:1832 msgid "Prevent build order completion until all child orders are closed" msgstr "" -#: common/models.py:1852 +#: common/models.py:1838 msgid "Block Until Tests Pass" msgstr "" -#: common/models.py:1854 +#: common/models.py:1840 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "" -#: common/models.py:1860 +#: common/models.py:1846 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1861 +#: common/models.py:1847 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1866 +#: common/models.py:1852 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1868 +#: common/models.py:1854 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1880 +#: common/models.py:1866 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1882 +#: common/models.py:1868 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1888 +#: common/models.py:1874 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1890 +#: common/models.py:1876 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1902 +#: common/models.py:1888 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1903 +#: common/models.py:1889 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1908 +#: common/models.py:1894 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1910 +#: common/models.py:1896 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1916 +#: common/models.py:1902 msgid "Mark Shipped Orders as Complete" msgstr "" -#: common/models.py:1918 +#: common/models.py:1904 msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status" msgstr "" -#: common/models.py:1924 +#: common/models.py:1910 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1926 +#: common/models.py:1912 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1938 +#: common/models.py:1924 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1940 +#: common/models.py:1926 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1946 +#: common/models.py:1932 msgid "Auto Complete Purchase Orders" msgstr "" -#: common/models.py:1948 +#: common/models.py:1934 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/models.py:1955 +#: common/models.py:1941 msgid "Enable password forgot" msgstr "" -#: common/models.py:1956 +#: common/models.py:1942 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1961 +#: common/models.py:1947 msgid "Enable registration" msgstr "" -#: common/models.py:1962 +#: common/models.py:1948 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1967 +#: common/models.py:1953 msgid "Enable SSO" msgstr "" -#: common/models.py:1968 +#: common/models.py:1954 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1973 +#: common/models.py:1959 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1975 +#: common/models.py:1961 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1981 +#: common/models.py:1967 msgid "Enable SSO group sync" msgstr "" -#: common/models.py:1983 +#: common/models.py:1969 msgid "Enable synchronizing InvenTree groups with groups provided by the IdP" msgstr "" -#: common/models.py:1989 +#: common/models.py:1975 msgid "SSO group key" msgstr "" -#: common/models.py:1991 +#: common/models.py:1977 msgid "The name of the groups claim attribute provided by the IdP" msgstr "" -#: common/models.py:1997 +#: common/models.py:1983 msgid "SSO group map" msgstr "" -#: common/models.py:1999 +#: common/models.py:1985 msgid "A mapping from SSO groups to local InvenTree groups. If the local group does not exist, it will be created." msgstr "" -#: common/models.py:2005 +#: common/models.py:1991 msgid "Remove groups outside of SSO" msgstr "" -#: common/models.py:2007 +#: common/models.py:1993 msgid "Whether groups assigned to the user should be removed if they are not backend by the IdP. Disabling this setting might cause security issues" msgstr "" -#: common/models.py:2013 +#: common/models.py:1999 msgid "Email required" msgstr "" -#: common/models.py:2014 +#: common/models.py:2000 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:2019 +#: common/models.py:2005 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:2021 +#: common/models.py:2007 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:2027 +#: common/models.py:2013 msgid "Mail twice" msgstr "" -#: common/models.py:2028 +#: common/models.py:2014 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:2033 +#: common/models.py:2019 msgid "Password twice" msgstr "" -#: common/models.py:2034 +#: common/models.py:2020 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:2039 +#: common/models.py:2025 msgid "Allowed domains" msgstr "" -#: common/models.py:2041 +#: common/models.py:2027 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:2047 +#: common/models.py:2033 msgid "Group on signup" msgstr "" -#: common/models.py:2049 +#: common/models.py:2035 msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP." msgstr "" -#: common/models.py:2055 +#: common/models.py:2041 msgid "Enforce MFA" msgstr "" -#: common/models.py:2056 +#: common/models.py:2042 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:2061 +#: common/models.py:2047 msgid "Check plugins on startup" msgstr "" -#: common/models.py:2063 +#: common/models.py:2049 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:2071 +#: common/models.py:2057 msgid "Check for plugin updates" msgstr "" -#: common/models.py:2072 +#: common/models.py:2058 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:2078 +#: common/models.py:2064 msgid "Enable URL integration" msgstr "" -#: common/models.py:2079 +#: common/models.py:2065 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:2085 +#: common/models.py:2071 msgid "Enable navigation integration" msgstr "" -#: common/models.py:2086 +#: common/models.py:2072 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:2092 +#: common/models.py:2078 msgid "Enable app integration" msgstr "" -#: common/models.py:2093 +#: common/models.py:2079 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:2099 +#: common/models.py:2085 msgid "Enable schedule integration" msgstr "" -#: common/models.py:2100 +#: common/models.py:2086 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:2106 +#: common/models.py:2092 msgid "Enable event integration" msgstr "" -#: common/models.py:2107 +#: common/models.py:2093 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:2113 +#: common/models.py:2099 +msgid "Enable interface integration" +msgstr "" + +#: common/models.py:2100 +msgid "Enable plugins to integrate into the user interface" +msgstr "" + +#: common/models.py:2106 msgid "Enable project codes" msgstr "" -#: common/models.py:2114 +#: common/models.py:2107 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:2119 +#: common/models.py:2112 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:2121 +#: common/models.py:2114 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:2127 +#: common/models.py:2120 msgid "Exclude External Locations" msgstr "" -#: common/models.py:2129 +#: common/models.py:2122 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/models.py:2135 +#: common/models.py:2128 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:2137 +#: common/models.py:2130 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:2143 +#: common/models.py:2136 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:2145 +#: common/models.py:2138 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:2152 +#: common/models.py:2145 msgid "Display Users full names" msgstr "" -#: common/models.py:2153 +#: common/models.py:2146 msgid "Display Users full names instead of usernames" msgstr "" -#: common/models.py:2158 +#: common/models.py:2151 msgid "Enable Test Station Data" msgstr "" -#: common/models.py:2159 +#: common/models.py:2152 msgid "Enable test station data collection for test results" msgstr "" -#: common/models.py:2171 common/models.py:2551 +#: common/models.py:2157 +msgid "Create Template on Upload" +msgstr "" + +#: common/models.py:2159 +msgid "Create a new test template when uploading test data which does not match an existing template" +msgstr "" + +#: common/models.py:2172 common/models.py:2552 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:2214 +#: common/models.py:2215 msgid "Hide inactive parts" msgstr "" -#: common/models.py:2216 +#: common/models.py:2217 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:2222 +#: common/models.py:2223 msgid "Show subscribed parts" msgstr "" -#: common/models.py:2223 +#: common/models.py:2224 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:2228 +#: common/models.py:2229 msgid "Show subscribed categories" msgstr "" -#: common/models.py:2229 +#: common/models.py:2230 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:2234 +#: common/models.py:2235 msgid "Show latest parts" msgstr "" -#: common/models.py:2235 +#: common/models.py:2236 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:2240 +#: common/models.py:2241 msgid "Show invalid BOMs" msgstr "" -#: common/models.py:2241 +#: common/models.py:2242 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:2246 +#: common/models.py:2247 msgid "Show recent stock changes" msgstr "" -#: common/models.py:2247 +#: common/models.py:2248 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:2252 +#: common/models.py:2253 msgid "Show low stock" msgstr "" -#: common/models.py:2253 +#: common/models.py:2254 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:2258 +#: common/models.py:2259 msgid "Show depleted stock" msgstr "" -#: common/models.py:2259 +#: common/models.py:2260 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:2264 +#: common/models.py:2265 msgid "Show needed stock" msgstr "" -#: common/models.py:2265 +#: common/models.py:2266 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:2270 +#: common/models.py:2271 msgid "Show expired stock" msgstr "" -#: common/models.py:2271 +#: common/models.py:2272 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:2276 +#: common/models.py:2277 msgid "Show stale stock" msgstr "" -#: common/models.py:2277 +#: common/models.py:2278 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:2282 +#: common/models.py:2283 msgid "Show pending builds" msgstr "" -#: common/models.py:2283 +#: common/models.py:2284 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:2288 +#: common/models.py:2289 msgid "Show overdue builds" msgstr "" -#: common/models.py:2289 +#: common/models.py:2290 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:2294 +#: common/models.py:2295 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2295 +#: common/models.py:2296 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2300 +#: common/models.py:2301 msgid "Show overdue POs" msgstr "" -#: common/models.py:2301 +#: common/models.py:2302 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2306 +#: common/models.py:2307 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2307 +#: common/models.py:2308 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2312 +#: common/models.py:2313 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2313 +#: common/models.py:2314 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2318 +#: common/models.py:2319 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2319 +#: common/models.py:2320 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2324 +#: common/models.py:2325 msgid "Show News" msgstr "" -#: common/models.py:2325 +#: common/models.py:2326 msgid "Show news on the homepage" msgstr "" -#: common/models.py:2330 +#: common/models.py:2331 msgid "Inline label display" msgstr "" -#: common/models.py:2332 +#: common/models.py:2333 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2338 +#: common/models.py:2339 msgid "Default label printer" msgstr "" -#: common/models.py:2340 +#: common/models.py:2341 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2346 +#: common/models.py:2347 msgid "Inline report display" msgstr "" -#: common/models.py:2348 +#: common/models.py:2349 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2354 +#: common/models.py:2355 msgid "Search Parts" msgstr "" -#: common/models.py:2355 +#: common/models.py:2356 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2360 +#: common/models.py:2361 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2361 +#: common/models.py:2362 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2366 +#: common/models.py:2367 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2367 +#: common/models.py:2368 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2372 +#: common/models.py:2373 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2373 +#: common/models.py:2374 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2378 +#: common/models.py:2379 msgid "Search Categories" msgstr "" -#: common/models.py:2379 +#: common/models.py:2380 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2384 +#: common/models.py:2385 msgid "Search Stock" msgstr "" -#: common/models.py:2385 +#: common/models.py:2386 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2390 +#: common/models.py:2391 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2392 +#: common/models.py:2393 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2398 +#: common/models.py:2399 msgid "Search Locations" msgstr "" -#: common/models.py:2399 +#: common/models.py:2400 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2404 +#: common/models.py:2405 msgid "Search Companies" msgstr "" -#: common/models.py:2405 +#: common/models.py:2406 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2410 +#: common/models.py:2411 msgid "Search Build Orders" msgstr "" -#: common/models.py:2411 +#: common/models.py:2412 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2416 +#: common/models.py:2417 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2417 +#: common/models.py:2418 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2422 +#: common/models.py:2423 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2424 +#: common/models.py:2425 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2430 +#: common/models.py:2431 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2431 +#: common/models.py:2432 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2436 +#: common/models.py:2437 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2438 +#: common/models.py:2439 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2444 +#: common/models.py:2445 msgid "Search Return Orders" msgstr "" -#: common/models.py:2445 +#: common/models.py:2446 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2450 +#: common/models.py:2451 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2452 +#: common/models.py:2453 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2458 +#: common/models.py:2459 msgid "Search Preview Results" msgstr "" -#: common/models.py:2460 +#: common/models.py:2461 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2466 +#: common/models.py:2467 msgid "Regex Search" msgstr "" -#: common/models.py:2467 +#: common/models.py:2468 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2472 +#: common/models.py:2473 msgid "Whole Word Search" msgstr "" -#: common/models.py:2473 +#: common/models.py:2474 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2478 +#: common/models.py:2479 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2479 +#: common/models.py:2480 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2484 +#: common/models.py:2485 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2485 +#: common/models.py:2486 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2490 +#: common/models.py:2491 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2491 +#: common/models.py:2492 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2496 +#: common/models.py:2497 msgid "Date Format" msgstr "" -#: common/models.py:2497 +#: common/models.py:2498 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2510 part/templates/part/detail.html:41 +#: common/models.py:2511 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2511 +#: common/models.py:2512 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2516 part/templates/part/detail.html:62 +#: common/models.py:2517 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2518 +#: common/models.py:2519 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2524 +#: common/models.py:2525 msgid "Table String Length" msgstr "" -#: common/models.py:2526 +#: common/models.py:2527 msgid "Maximum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2532 +#: common/models.py:2533 msgid "Receive error reports" msgstr "" -#: common/models.py:2533 +#: common/models.py:2534 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2538 +#: common/models.py:2539 msgid "Last used printing machines" msgstr "" -#: common/models.py:2539 +#: common/models.py:2540 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2559 common/models.py:2560 common/models.py:2717 -#: common/models.py:2718 common/models.py:2963 common/models.py:2964 -#: common/models.py:3287 common/models.py:3288 importer/models.py:89 -#: part/models.py:3319 part/models.py:3406 part/models.py:3480 -#: part/models.py:3508 plugin/models.py:274 plugin/models.py:275 +#: common/models.py:2560 common/models.py:2561 common/models.py:2718 +#: common/models.py:2719 common/models.py:2964 common/models.py:2965 +#: common/models.py:3288 common/models.py:3289 importer/models.py:89 +#: part/models.py:3306 part/models.py:3393 part/models.py:3467 +#: part/models.py:3495 plugin/models.py:274 plugin/models.py:275 #: report/templates/report/inventree_test_report.html:105 #: templates/js/translated/stock.js:3121 users/models.py:111 msgid "User" msgstr "" -#: common/models.py:2582 +#: common/models.py:2583 msgid "Price break quantity" msgstr "" -#: common/models.py:2589 company/serializers.py:517 order/admin.py:42 +#: common/models.py:2590 company/serializers.py:517 order/admin.py:42 #: order/models.py:1423 order/models.py:2410 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1892 #: templates/js/translated/pricing.js:621 @@ -3747,96 +3744,96 @@ msgstr "" msgid "Price" msgstr "" -#: common/models.py:2590 +#: common/models.py:2591 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2694 common/models.py:2879 +#: common/models.py:2695 common/models.py:2880 msgid "Endpoint" msgstr "" -#: common/models.py:2695 +#: common/models.py:2696 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2705 +#: common/models.py:2706 msgid "Name for this webhook" msgstr "" -#: common/models.py:2709 +#: common/models.py:2710 msgid "Is this webhook active" msgstr "" -#: common/models.py:2725 users/models.py:159 +#: common/models.py:2726 users/models.py:159 msgid "Token" msgstr "" -#: common/models.py:2726 +#: common/models.py:2727 msgid "Token for access" msgstr "" -#: common/models.py:2734 +#: common/models.py:2735 msgid "Secret" msgstr "" -#: common/models.py:2735 +#: common/models.py:2736 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2843 +#: common/models.py:2844 msgid "Message ID" msgstr "" -#: common/models.py:2844 +#: common/models.py:2845 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2852 +#: common/models.py:2853 msgid "Host" msgstr "" -#: common/models.py:2853 +#: common/models.py:2854 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2861 +#: common/models.py:2862 msgid "Header" msgstr "" -#: common/models.py:2862 +#: common/models.py:2863 msgid "Header of this message" msgstr "" -#: common/models.py:2869 +#: common/models.py:2870 msgid "Body" msgstr "" -#: common/models.py:2870 +#: common/models.py:2871 msgid "Body of this message" msgstr "" -#: common/models.py:2880 +#: common/models.py:2881 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2885 +#: common/models.py:2886 msgid "Worked on" msgstr "" -#: common/models.py:2886 +#: common/models.py:2887 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:3012 +#: common/models.py:3013 msgid "Id" msgstr "" -#: common/models.py:3014 templates/js/translated/company.js:965 +#: common/models.py:3015 templates/js/translated/company.js:965 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:3016 common/models.py:3271 company/models.py:146 +#: common/models.py:3017 common/models.py:3272 company/models.py:146 #: company/models.py:443 company/models.py:509 company/models.py:815 #: order/models.py:303 order/models.py:1378 order/models.py:1810 #: part/admin.py:55 part/models.py:1069 @@ -3853,217 +3850,217 @@ msgstr "" msgid "Link" msgstr "" -#: common/models.py:3018 templates/js/translated/news.js:60 +#: common/models.py:3019 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:3020 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:3021 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:103 msgid "Author" msgstr "" -#: common/models.py:3022 templates/js/translated/news.js:52 +#: common/models.py:3023 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:3025 +#: common/models.py:3026 msgid "Read" msgstr "" -#: common/models.py:3025 +#: common/models.py:3026 msgid "Was this news item read?" msgstr "" -#: common/models.py:3042 company/models.py:156 part/models.py:1079 +#: common/models.py:3043 company/models.py:156 part/models.py:1079 #: 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.html:35 -#: stock/templates/stock/item_base.html:133 templates/503.html:31 +#: stock/templates/stock/item_base.html:129 templates/503.html:31 #: templates/hover_image.html:7 templates/hover_image.html:9 #: templates/modals.html:6 msgid "Image" msgstr "" -#: common/models.py:3042 +#: common/models.py:3043 msgid "Image file" msgstr "" -#: common/models.py:3054 common/models.py:3255 +#: common/models.py:3055 common/models.py:3256 msgid "Target model type for this image" msgstr "" -#: common/models.py:3058 +#: common/models.py:3059 msgid "Target model ID for this image" msgstr "" -#: common/models.py:3080 +#: common/models.py:3081 msgid "Custom Unit" msgstr "" -#: common/models.py:3098 +#: common/models.py:3099 msgid "Unit symbol must be unique" msgstr "" -#: common/models.py:3113 +#: common/models.py:3114 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:3132 +#: common/models.py:3133 msgid "Unit name" msgstr "" -#: common/models.py:3139 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3140 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:3140 +#: common/models.py:3141 msgid "Optional unit symbol" msgstr "" -#: common/models.py:3146 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3147 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:3147 +#: common/models.py:3148 msgid "Unit definition" msgstr "" -#: common/models.py:3205 common/models.py:3262 stock/models.py:2552 +#: common/models.py:3206 common/models.py:3263 stock/models.py:2547 #: stock/serializers.py:244 templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:345 msgid "Attachment" msgstr "" -#: common/models.py:3217 +#: common/models.py:3218 msgid "Missing file" msgstr "" -#: common/models.py:3218 +#: common/models.py:3219 msgid "Missing external link" msgstr "" -#: common/models.py:3263 +#: common/models.py:3264 msgid "Select file to attach" msgstr "" -#: common/models.py:3278 templates/js/translated/attachment.js:120 +#: common/models.py:3279 templates/js/translated/attachment.js:120 #: templates/js/translated/attachment.js:360 msgid "Comment" msgstr "" -#: common/models.py:3279 +#: common/models.py:3280 msgid "Attachment comment" msgstr "" -#: common/models.py:3295 +#: common/models.py:3296 msgid "Upload date" msgstr "" -#: common/models.py:3296 +#: common/models.py:3297 msgid "Date the file was uploaded" msgstr "" -#: common/models.py:3300 +#: common/models.py:3301 msgid "File size" msgstr "" -#: common/models.py:3300 +#: common/models.py:3301 msgid "File size in bytes" msgstr "" -#: common/models.py:3338 common/serializers.py:588 +#: common/models.py:3339 common/serializers.py:604 msgid "Invalid model type specified for attachment" msgstr "" -#: common/models.py:3347 plugin/models.py:43 users/models.py:100 +#: common/models.py:3348 plugin/models.py:43 users/models.py:100 msgid "Key" msgstr "" -#: common/models.py:3348 +#: common/models.py:3349 msgid "Value that will be saved in the models database" msgstr "" -#: common/models.py:3351 +#: common/models.py:3352 msgid "Name of the state" msgstr "" -#: common/models.py:3355 +#: common/models.py:3356 msgid "Label" msgstr "" -#: common/models.py:3356 +#: common/models.py:3357 msgid "Label that will be displayed in the frontend" msgstr "" -#: common/models.py:3362 +#: common/models.py:3363 msgid "Color" msgstr "" -#: common/models.py:3363 +#: common/models.py:3364 msgid "Color that will be displayed in the frontend" msgstr "" -#: common/models.py:3366 +#: common/models.py:3367 msgid "Logical Key" msgstr "" -#: common/models.py:3368 +#: common/models.py:3369 msgid "State logical key that is equal to this custom state in business logic" msgstr "" -#: common/models.py:3376 +#: common/models.py:3377 msgid "Model" msgstr "" -#: common/models.py:3377 +#: common/models.py:3378 msgid "Model this state is associated with" msgstr "" -#: common/models.py:3381 +#: common/models.py:3382 msgid "Reference Status Set" msgstr "" -#: common/models.py:3382 +#: common/models.py:3383 msgid "Status set that is extended with this custom state" msgstr "" -#: common/models.py:3388 +#: common/models.py:3389 msgid "Custom State" msgstr "" -#: common/models.py:3389 +#: common/models.py:3390 msgid "Custom States" msgstr "" -#: common/models.py:3404 +#: common/models.py:3405 msgid "Model must be selected" msgstr "" -#: common/models.py:3407 +#: common/models.py:3408 msgid "Key must be selected" msgstr "" -#: common/models.py:3410 +#: common/models.py:3411 msgid "Logical key must be selected" msgstr "" -#: common/models.py:3414 +#: common/models.py:3415 msgid "Key must be different from logical key" msgstr "" -#: common/models.py:3418 +#: common/models.py:3419 msgid "Reference status must be selected" msgstr "" -#: common/models.py:3430 +#: common/models.py:3431 msgid "Reference status set not found" msgstr "" -#: common/models.py:3436 +#: common/models.py:3437 msgid "Key must be different from the logical keys of the reference status" msgstr "" -#: common/models.py:3442 +#: common/models.py:3443 msgid "Logical key must be in the logical keys of the reference status" msgstr "" @@ -4101,75 +4098,75 @@ msgstr "" msgid "Error raised by plugin" msgstr "" -#: common/serializers.py:402 +#: common/serializers.py:418 msgid "Is Running" msgstr "" -#: common/serializers.py:408 +#: common/serializers.py:424 msgid "Pending Tasks" msgstr "" -#: common/serializers.py:414 +#: common/serializers.py:430 msgid "Scheduled Tasks" msgstr "" -#: common/serializers.py:420 +#: common/serializers.py:436 msgid "Failed Tasks" msgstr "" -#: common/serializers.py:435 +#: common/serializers.py:451 msgid "Task ID" msgstr "" -#: common/serializers.py:435 +#: common/serializers.py:451 msgid "Unique task ID" msgstr "" -#: common/serializers.py:437 +#: common/serializers.py:453 msgid "Lock" msgstr "" -#: common/serializers.py:437 +#: common/serializers.py:453 msgid "Lock time" msgstr "" -#: common/serializers.py:439 +#: common/serializers.py:455 msgid "Task name" msgstr "" -#: common/serializers.py:441 +#: common/serializers.py:457 msgid "Function" msgstr "" -#: common/serializers.py:441 +#: common/serializers.py:457 msgid "Function name" msgstr "" -#: common/serializers.py:443 +#: common/serializers.py:459 msgid "Arguments" msgstr "" -#: common/serializers.py:443 +#: common/serializers.py:459 msgid "Task arguments" msgstr "" -#: common/serializers.py:446 +#: common/serializers.py:462 msgid "Keyword Arguments" msgstr "" -#: common/serializers.py:446 +#: common/serializers.py:462 msgid "Task keyword arguments" msgstr "" -#: common/serializers.py:556 +#: common/serializers.py:572 msgid "Filename" msgstr "" -#: common/serializers.py:563 report/api.py:100 report/serializers.py:53 +#: common/serializers.py:579 report/api.py:100 report/serializers.py:54 msgid "Model Type" msgstr "" -#: common/serializers.py:591 +#: common/serializers.py:607 msgid "User does not have permission to create or edit attachments for this model" msgstr "" @@ -4447,12 +4444,12 @@ msgstr "" #: company/models.py:467 company/models.py:584 company/models.py:808 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 -#: stock/templates/stock/item_base.html:217 +#: stock/templates/stock/item_base.html:213 msgid "Manufacturer Part" msgstr "" #: company/models.py:484 company/models.py:776 stock/models.py:791 -#: stock/serializers.py:452 stock/templates/stock/item_base.html:142 +#: stock/serializers.py:452 stock/templates/stock/item_base.html:138 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" @@ -4463,8 +4460,8 @@ msgstr "" #: company/models.py:495 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:567 -#: stock/templates/stock/item_base.html:207 +#: company/templates/company/supplier_part.html:145 part/serializers.py:565 +#: stock/templates/stock/item_base.html:203 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 #: templates/js/translated/company.js:1296 @@ -4479,7 +4476,7 @@ msgstr "" #: company/models.py:502 company/templates/company/manufacturer_part.html:101 #: company/templates/company/supplier_part.html:153 order/serializers.py:557 -#: part/serializers.py:577 templates/js/translated/company.js:351 +#: part/serializers.py:575 templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 #: templates/js/translated/company.js:1630 templates/js/translated/part.js:1807 @@ -4505,7 +4502,7 @@ msgid "Parameter name" msgstr "" #: company/models.py:597 report/templates/report/inventree_test_report.html:104 -#: stock/models.py:2544 templates/js/translated/company.js:1166 +#: stock/models.py:2539 templates/js/translated/company.js:1166 #: templates/js/translated/company.js:1419 templates/js/translated/part.js:1499 #: templates/js/translated/stock.js:1607 msgid "Value" @@ -4516,7 +4513,7 @@ msgid "Parameter value" msgstr "" #: company/models.py:605 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1159 part/models.py:3783 +#: part/admin.py:57 part/models.py:1159 part/models.py:3770 #: part/templates/part/part_base.html:300 #: templates/js/translated/company.js:1425 templates/js/translated/part.js:1518 #: templates/js/translated/part.js:1622 templates/js/translated/part.js:2376 @@ -4530,7 +4527,7 @@ msgstr "" #: company/models.py:659 company/templates/company/supplier_part.html:7 #: company/templates/company/supplier_part.html:24 order/api.py:440 #: order/serializers.py:492 stock/models.py:802 -#: stock/templates/stock/item_base.html:233 +#: stock/templates/stock/item_base.html:229 #: templates/js/translated/build.js:1055 #: templates/js/translated/company.js:1600 #: templates/js/translated/purchase_order.js:752 @@ -4553,9 +4550,9 @@ msgstr "" #: company/models.py:786 company/templates/company/company_base.html:87 #: company/templates/company/supplier_part.html:129 order/models.py:492 #: order/templates/order/order_base.html:141 part/bom.py:279 part/bom.py:314 -#: part/serializers.py:551 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:549 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 -#: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 +#: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:220 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:511 @@ -4570,7 +4567,7 @@ msgstr "" msgid "Select supplier" msgstr "" -#: company/models.py:793 part/serializers.py:562 +#: company/models.py:793 part/serializers.py:560 msgid "Supplier stock keeping unit" msgstr "" @@ -4591,7 +4588,7 @@ msgid "Supplier part description" msgstr "" #: company/models.py:832 company/templates/company/supplier_part.html:187 -#: order/serializers.py:699 part/admin.py:415 part/models.py:4301 +#: order/serializers.py:699 part/admin.py:415 part/models.py:4288 #: part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 @@ -4603,11 +4600,11 @@ msgstr "" msgid "Note" msgstr "" -#: company/models.py:841 part/models.py:2129 +#: company/models.py:841 part/models.py:2128 msgid "base cost" msgstr "" -#: company/models.py:842 part/models.py:2130 +#: company/models.py:842 part/models.py:2129 msgid "Minimum charge (e.g. stocking fee)" msgstr "" @@ -4629,7 +4626,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:876 part/models.py:2136 +#: company/models.py:876 part/models.py:2135 msgid "multiple" msgstr "" @@ -4661,7 +4658,7 @@ msgstr "" msgid "Company Name" msgstr "" -#: company/serializers.py:397 part/admin.py:126 part/serializers.py:919 +#: company/serializers.py:397 part/admin.py:126 part/serializers.py:917 #: part/templates/part/part_base.html:197 #: templates/js/translated/company.js:1689 #: templates/js/translated/table_filters.js:362 @@ -4735,7 +4732,7 @@ msgstr "" #: order/models.py:2140 order/templates/order/return_order_base.html:134 #: order/templates/order/sales_order_base.html:151 stock/models.py:844 #: stock/models.py:845 stock/serializers.py:1336 -#: stock/templates/stock/item_base.html:405 +#: stock/templates/stock/item_base.html:401 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 #: templates/js/translated/return_order.js:295 @@ -4939,7 +4936,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:925 +#: part/admin.py:122 part/serializers.py:923 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -5030,7 +5027,7 @@ msgid "No supplier information available" msgstr "" #: company/templates/company/supplier_part.html:139 order/serializers.py:554 -#: part/bom.py:286 part/bom.py:315 part/serializers.py:561 +#: part/bom.py:286 part/bom.py:315 part/serializers.py:559 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1793 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1920 @@ -5084,7 +5081,7 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:923 part/stocktake.py:223 +#: part/serializers.py:921 part/stocktake.py:223 #: part/templates/part/category.html:180 #: part/templates/part/category_sidebar.html:17 stock/admin.py:68 #: stock/serializers.py:1021 stock/serializers.py:1199 @@ -5215,7 +5212,7 @@ msgstr "" msgid "Original row data" msgstr "" -#: importer/models.py:504 part/models.py:3965 +#: importer/models.py:504 part/models.py:3952 msgid "Data" msgstr "" @@ -5473,7 +5470,7 @@ msgstr "" #: order/models.py:1592 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_purchase_order_report.html:14 -#: stock/serializers.py:121 stock/templates/stock/item_base.html:176 +#: stock/serializers.py:121 stock/templates/stock/item_base.html:172 #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/part.js:1752 templates/js/translated/pricing.js:804 #: templates/js/translated/purchase_order.js:168 @@ -5694,7 +5691,7 @@ msgid "Number of items received" msgstr "" #: order/models.py:1513 stock/models.py:963 stock/serializers.py:617 -#: stock/templates/stock/item_base.html:183 +#: stock/templates/stock/item_base.html:179 #: templates/js/translated/stock.js:2397 msgid "Purchase Price" msgstr "" @@ -5768,7 +5765,7 @@ msgid "User who checked this shipment" msgstr "" #: order/models.py:1788 order/models.py:2011 order/serializers.py:1479 -#: order/serializers.py:1589 templates/js/translated/model_renderers.js:455 +#: order/serializers.py:1597 templates/js/translated/model_renderers.js:455 msgid "Shipment" msgstr "" @@ -5982,7 +5979,7 @@ msgstr "" msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:656 order/serializers.py:779 order/serializers.py:1790 +#: order/serializers.py:656 order/serializers.py:779 order/serializers.py:1798 msgid "Select destination location for received items" msgstr "" @@ -6019,7 +6016,7 @@ msgstr "" msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:795 order/serializers.py:1806 +#: order/serializers.py:795 order/serializers.py:1814 msgid "Line items must be provided" msgstr "" @@ -6051,39 +6048,39 @@ msgstr "" msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1491 order/serializers.py:1597 +#: order/serializers.py:1491 order/serializers.py:1605 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1494 order/serializers.py:1600 +#: order/serializers.py:1494 order/serializers.py:1608 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1541 +#: order/serializers.py:1549 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1548 -msgid "The following serial numbers are already allocated" +#: order/serializers.py:1556 +msgid "The following serial numbers are unavailable" msgstr "" -#: order/serializers.py:1760 +#: order/serializers.py:1768 msgid "Return order line item" msgstr "" -#: order/serializers.py:1766 +#: order/serializers.py:1774 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1769 +#: order/serializers.py:1777 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1798 +#: order/serializers.py:1806 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1881 +#: order/serializers.py:1889 msgid "Line price currency" msgstr "" @@ -6510,7 +6507,7 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:48 part/models.py:1044 part/serializers.py:908 +#: part/admin.py:48 part/models.py:1044 part/serializers.py:906 #: part/templates/part/part_base.html:276 #: report/templates/report/inventree_stock_location_report.html:103 #: templates/js/translated/part.js:1233 templates/js/translated/part.js:2347 @@ -6537,7 +6534,7 @@ msgstr "" msgid "Category ID" msgstr "" -#: part/admin.py:67 part/admin.py:304 part/serializers.py:893 +#: part/admin.py:67 part/admin.py:304 part/serializers.py:891 #: part/stocktake.py:222 msgid "Category Name" msgstr "" @@ -6562,18 +6559,18 @@ msgstr "" msgid "Used In" msgstr "" -#: part/admin.py:150 part/serializers.py:918 +#: part/admin.py:150 part/serializers.py:916 #: part/templates/part/part_base.html:248 stock/admin.py:236 #: templates/js/translated/part.js:717 templates/js/translated/part.js:2159 msgid "Building" msgstr "" -#: part/admin.py:155 part/models.py:3214 part/models.py:3228 +#: part/admin.py:155 part/models.py:3201 part/models.py:3215 #: templates/js/translated/part.js:976 msgid "Minimum Cost" msgstr "" -#: part/admin.py:158 part/models.py:3221 part/models.py:3235 +#: part/admin.py:158 part/models.py:3208 part/models.py:3222 #: templates/js/translated/part.js:986 msgid "Maximum Cost" msgstr "" @@ -6592,7 +6589,7 @@ msgid "Category Path" msgstr "" #: part/admin.py:325 part/models.py:420 part/serializers.py:130 -#: part/serializers.py:290 part/serializers.py:428 +#: part/serializers.py:290 part/serializers.py:426 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:20 #: part/templates/part/category.html:138 part/templates/part/category.html:158 #: part/templates/part/category_sidebar.html:9 @@ -6619,13 +6616,13 @@ msgstr "" msgid "Part Revision" msgstr "" -#: part/admin.py:418 part/serializers.py:1367 +#: part/admin.py:418 part/serializers.py:1365 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:423 part/serializers.py:1382 +#: part/admin.py:423 part/serializers.py:1380 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -6719,8 +6716,8 @@ msgstr "" msgid "BOM Valid" msgstr "" -#: part/api.py:1520 part/models.py:1036 part/models.py:3501 part/models.py:4060 -#: part/serializers.py:443 part/serializers.py:1223 +#: part/api.py:1520 part/models.py:1036 part/models.py:3488 part/models.py:4047 +#: part/serializers.py:441 part/serializers.py:1221 #: part/templates/part/part_base.html:267 stock/api.py:780 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 @@ -6746,7 +6743,7 @@ msgstr "" msgid "Default Location" msgstr "" -#: part/bom.py:184 part/serializers.py:926 +#: part/bom.py:184 part/serializers.py:924 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -6755,7 +6752,7 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:89 part/models.py:4061 part/templates/part/category.html:16 +#: part/models.py:89 part/models.py:4048 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -6878,7 +6875,7 @@ msgstr "" msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:995 part/models.py:4116 +#: part/models.py:995 part/models.py:4103 msgid "Part name" msgstr "" @@ -6906,7 +6903,7 @@ msgstr "" msgid "Part category" msgstr "" -#: part/models.py:1052 part/serializers.py:360 +#: part/models.py:1052 msgid "Part revision or version number" msgstr "" @@ -7012,164 +7009,164 @@ msgid "Owner responsible for this part" msgstr "" #: part/models.py:1264 part/templates/part/part_base.html:355 -#: stock/templates/stock/item_base.html:451 +#: stock/templates/stock/item_base.html:447 #: templates/js/translated/part.js:2490 msgid "Last Stocktake" msgstr "" -#: part/models.py:2137 +#: part/models.py:2136 msgid "Sell multiple" msgstr "" -#: part/models.py:3128 +#: part/models.py:3115 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3144 +#: part/models.py:3131 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3145 +#: part/models.py:3132 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3151 +#: part/models.py:3138 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3152 +#: part/models.py:3139 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3158 +#: part/models.py:3145 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3159 +#: part/models.py:3146 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3165 +#: part/models.py:3152 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3166 +#: part/models.py:3153 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3172 +#: part/models.py:3159 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3173 +#: part/models.py:3160 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3179 +#: part/models.py:3166 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3180 +#: part/models.py:3167 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3186 +#: part/models.py:3173 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3187 +#: part/models.py:3174 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3193 +#: part/models.py:3180 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3194 +#: part/models.py:3181 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3200 +#: part/models.py:3187 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3201 +#: part/models.py:3188 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3207 +#: part/models.py:3194 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3208 +#: part/models.py:3195 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3215 +#: part/models.py:3202 msgid "Override minimum cost" msgstr "" -#: part/models.py:3222 +#: part/models.py:3209 msgid "Override maximum cost" msgstr "" -#: part/models.py:3229 +#: part/models.py:3216 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3236 +#: part/models.py:3223 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3242 +#: part/models.py:3229 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3243 +#: part/models.py:3230 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3249 +#: part/models.py:3236 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3250 +#: part/models.py:3237 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3256 +#: part/models.py:3243 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3257 +#: part/models.py:3244 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3263 +#: part/models.py:3250 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3264 +#: part/models.py:3251 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3283 +#: part/models.py:3270 msgid "Part for stocktake" msgstr "" -#: part/models.py:3288 +#: part/models.py:3275 msgid "Item Count" msgstr "" -#: part/models.py:3289 +#: part/models.py:3276 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3297 +#: part/models.py:3284 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3301 part/models.py:3384 +#: part/models.py:3288 part/models.py:3371 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -7181,363 +7178,363 @@ msgstr "" msgid "Date" msgstr "" -#: part/models.py:3302 +#: part/models.py:3289 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3310 +#: part/models.py:3297 msgid "Additional notes" msgstr "" -#: part/models.py:3320 +#: part/models.py:3307 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3326 +#: part/models.py:3313 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3327 +#: part/models.py:3314 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3333 +#: part/models.py:3320 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3334 +#: part/models.py:3321 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3390 templates/InvenTree/settings/settings_staff_js.html:532 +#: part/models.py:3377 templates/InvenTree/settings/settings_staff_js.html:532 msgid "Report" msgstr "" -#: part/models.py:3391 +#: part/models.py:3378 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3396 templates/InvenTree/settings/settings_staff_js.html:539 +#: part/models.py:3383 templates/InvenTree/settings/settings_staff_js.html:539 msgid "Part Count" msgstr "" -#: part/models.py:3397 +#: part/models.py:3384 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3407 +#: part/models.py:3394 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3417 +#: part/models.py:3404 msgid "Part Sale Price Break" msgstr "" -#: part/models.py:3529 +#: part/models.py:3516 msgid "Part Test Template" msgstr "" -#: part/models.py:3555 +#: part/models.py:3542 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3576 part/models.py:3745 +#: part/models.py:3563 part/models.py:3732 msgid "Choices must be unique" msgstr "" -#: part/models.py:3587 +#: part/models.py:3574 msgid "Test templates can only be created for testable parts" msgstr "" -#: part/models.py:3598 +#: part/models.py:3585 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3615 templates/js/translated/part.js:2898 +#: part/models.py:3602 templates/js/translated/part.js:2898 msgid "Test Name" msgstr "" -#: part/models.py:3616 +#: part/models.py:3603 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3622 +#: part/models.py:3609 msgid "Test Key" msgstr "" -#: part/models.py:3623 +#: part/models.py:3610 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3630 +#: part/models.py:3617 msgid "Test Description" msgstr "" -#: part/models.py:3631 +#: part/models.py:3618 msgid "Enter description for this test" msgstr "" -#: part/models.py:3635 report/models.py:208 +#: part/models.py:3622 report/models.py:216 #: templates/js/translated/part.js:2919 #: templates/js/translated/table_filters.js:502 msgid "Enabled" msgstr "" -#: part/models.py:3635 +#: part/models.py:3622 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3640 templates/js/translated/part.js:2927 +#: part/models.py:3627 templates/js/translated/part.js:2927 #: templates/js/translated/table_filters.js:498 msgid "Required" msgstr "" -#: part/models.py:3641 +#: part/models.py:3628 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3646 templates/js/translated/part.js:2935 +#: part/models.py:3633 templates/js/translated/part.js:2935 msgid "Requires Value" msgstr "" -#: part/models.py:3647 +#: part/models.py:3634 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3652 templates/js/translated/part.js:2942 +#: part/models.py:3639 templates/js/translated/part.js:2942 msgid "Requires Attachment" msgstr "" -#: part/models.py:3654 +#: part/models.py:3641 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3660 part/models.py:3804 templates/js/translated/part.js:1643 +#: part/models.py:3647 part/models.py:3791 templates/js/translated/part.js:1643 msgid "Choices" msgstr "" -#: part/models.py:3661 +#: part/models.py:3648 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3693 +#: part/models.py:3680 msgid "Part Parameter Template" msgstr "" -#: part/models.py:3720 +#: part/models.py:3707 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3725 +#: part/models.py:3712 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3762 +#: part/models.py:3749 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3777 +#: part/models.py:3764 msgid "Parameter Name" msgstr "" -#: part/models.py:3784 +#: part/models.py:3771 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3792 +#: part/models.py:3779 msgid "Parameter description" msgstr "" -#: part/models.py:3798 templates/js/translated/part.js:1634 +#: part/models.py:3785 templates/js/translated/part.js:1634 #: templates/js/translated/table_filters.js:837 msgid "Checkbox" msgstr "" -#: part/models.py:3799 +#: part/models.py:3786 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3805 +#: part/models.py:3792 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3839 +#: part/models.py:3826 msgid "Part Parameter" msgstr "" -#: part/models.py:3865 +#: part/models.py:3852 msgid "Parameter cannot be modified - part is locked" msgstr "" -#: part/models.py:3903 +#: part/models.py:3890 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3952 +#: part/models.py:3939 msgid "Parent Part" msgstr "" -#: part/models.py:3960 part/models.py:4068 part/models.py:4069 +#: part/models.py:3947 part/models.py:4055 part/models.py:4056 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3966 +#: part/models.py:3953 msgid "Parameter Value" msgstr "" -#: part/models.py:4016 +#: part/models.py:4003 msgid "Part Category Parameter Template" msgstr "" -#: part/models.py:4075 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:4062 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:4076 +#: part/models.py:4063 msgid "Default Parameter Value" msgstr "" -#: part/models.py:4114 +#: part/models.py:4101 msgid "Part ID or part name" msgstr "" -#: part/models.py:4115 +#: part/models.py:4102 msgid "Unique part ID value" msgstr "" -#: part/models.py:4117 +#: part/models.py:4104 msgid "Part IPN value" msgstr "" -#: part/models.py:4118 +#: part/models.py:4105 msgid "Level" msgstr "" -#: part/models.py:4118 +#: part/models.py:4105 msgid "BOM level" msgstr "" -#: part/models.py:4228 +#: part/models.py:4215 msgid "BOM item cannot be modified - assembly is locked" msgstr "" -#: part/models.py:4235 +#: part/models.py:4222 msgid "BOM item cannot be modified - variant assembly is locked" msgstr "" -#: part/models.py:4245 +#: part/models.py:4232 msgid "Select parent part" msgstr "" -#: part/models.py:4255 +#: part/models.py:4242 msgid "Sub part" msgstr "" -#: part/models.py:4256 +#: part/models.py:4243 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4267 +#: part/models.py:4254 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4273 +#: part/models.py:4260 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4279 +#: part/models.py:4266 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4286 part/templates/part/upload_bom.html:55 +#: part/models.py:4273 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4287 +#: part/models.py:4274 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4294 +#: part/models.py:4281 msgid "BOM item reference" msgstr "" -#: part/models.py:4302 +#: part/models.py:4289 msgid "BOM item notes" msgstr "" -#: part/models.py:4308 +#: part/models.py:4295 msgid "Checksum" msgstr "" -#: part/models.py:4309 +#: part/models.py:4296 msgid "BOM line checksum" msgstr "" -#: part/models.py:4314 templates/js/translated/table_filters.js:181 +#: part/models.py:4301 templates/js/translated/table_filters.js:181 msgid "Validated" msgstr "" -#: part/models.py:4315 +#: part/models.py:4302 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4320 part/templates/part/upload_bom.html:57 +#: part/models.py:4307 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:185 #: templates/js/translated/table_filters.js:218 msgid "Gets inherited" msgstr "" -#: part/models.py:4321 +#: part/models.py:4308 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4327 +#: part/models.py:4314 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4412 stock/models.py:689 +#: part/models.py:4399 stock/models.py:689 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4422 part/models.py:4424 +#: part/models.py:4409 part/models.py:4411 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4561 +#: part/models.py:4554 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4582 +#: part/models.py:4575 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4595 +#: part/models.py:4588 msgid "Parent BOM item" msgstr "" -#: part/models.py:4603 +#: part/models.py:4596 msgid "Substitute part" msgstr "" -#: part/models.py:4619 +#: part/models.py:4612 msgid "Part 1" msgstr "" -#: part/models.py:4627 +#: part/models.py:4620 msgid "Part 2" msgstr "" -#: part/models.py:4628 +#: part/models.py:4621 msgid "Select Related Part" msgstr "" -#: part/models.py:4647 +#: part/models.py:4640 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4652 +#: part/models.py:4645 msgid "Duplicate relationship already exists" msgstr "" @@ -7571,326 +7568,326 @@ msgstr "" msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:434 +#: part/serializers.py:432 msgid "No parts selected" msgstr "" -#: part/serializers.py:444 +#: part/serializers.py:442 msgid "Select category" msgstr "" -#: part/serializers.py:479 +#: part/serializers.py:477 msgid "Original Part" msgstr "" -#: part/serializers.py:480 +#: part/serializers.py:478 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:485 +#: part/serializers.py:483 msgid "Copy Image" msgstr "" -#: part/serializers.py:486 +#: part/serializers.py:484 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:492 part/templates/part/detail.html:293 +#: part/serializers.py:490 part/templates/part/detail.html:293 msgid "Copy BOM" msgstr "" -#: part/serializers.py:493 +#: part/serializers.py:491 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:499 +#: part/serializers.py:497 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:500 +#: part/serializers.py:498 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:506 +#: part/serializers.py:504 msgid "Copy Notes" msgstr "" -#: part/serializers.py:507 +#: part/serializers.py:505 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:525 +#: part/serializers.py:523 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:527 +#: part/serializers.py:525 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:534 +#: part/serializers.py:532 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:535 +#: part/serializers.py:533 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:552 +#: part/serializers.py:550 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:568 +#: part/serializers.py:566 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:578 +#: part/serializers.py:576 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:585 +#: part/serializers.py:583 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:594 +#: part/serializers.py:592 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:605 +#: part/serializers.py:603 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:612 +#: part/serializers.py:610 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:924 +#: part/serializers.py:922 msgid "Revisions" msgstr "" -#: part/serializers.py:929 +#: part/serializers.py:927 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:932 +#: part/serializers.py:930 msgid "Variant Stock" msgstr "" -#: part/serializers.py:962 part/templates/part/copy_part.html:9 +#: part/serializers.py:960 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:474 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:963 +#: part/serializers.py:961 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:969 templates/js/translated/part.js:103 +#: part/serializers.py:967 templates/js/translated/part.js:103 msgid "Initial Stock" msgstr "" -#: part/serializers.py:970 +#: part/serializers.py:968 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:976 +#: part/serializers.py:974 msgid "Supplier Information" msgstr "" -#: part/serializers.py:977 +#: part/serializers.py:975 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:985 +#: part/serializers.py:983 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:986 +#: part/serializers.py:984 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:991 +#: part/serializers.py:989 msgid "Existing Image" msgstr "" -#: part/serializers.py:992 +#: part/serializers.py:990 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:1009 +#: part/serializers.py:1007 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1215 +#: part/serializers.py:1213 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1225 +#: part/serializers.py:1223 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1235 +#: part/serializers.py:1233 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1241 +#: part/serializers.py:1239 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1242 +#: part/serializers.py:1240 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1247 +#: part/serializers.py:1245 msgid "Generate Report" msgstr "" -#: part/serializers.py:1248 +#: part/serializers.py:1246 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1253 +#: part/serializers.py:1251 msgid "Update Parts" msgstr "" -#: part/serializers.py:1254 +#: part/serializers.py:1252 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1262 +#: part/serializers.py:1260 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1368 +#: part/serializers.py:1366 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1375 +#: part/serializers.py:1373 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1383 +#: part/serializers.py:1381 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1390 +#: part/serializers.py:1388 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1419 +#: part/serializers.py:1417 msgid "Update" msgstr "" -#: part/serializers.py:1420 +#: part/serializers.py:1418 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1443 +#: part/serializers.py:1441 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1450 +#: part/serializers.py:1448 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1453 +#: part/serializers.py:1451 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1597 +#: part/serializers.py:1595 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1606 +#: part/serializers.py:1604 msgid "Component Name" msgstr "" -#: part/serializers.py:1609 +#: part/serializers.py:1607 msgid "Component IPN" msgstr "" -#: part/serializers.py:1612 +#: part/serializers.py:1610 msgid "Component Description" msgstr "" -#: part/serializers.py:1618 +#: part/serializers.py:1616 msgid "Select the component part" msgstr "" -#: part/serializers.py:1627 part/templates/part/part_base.html:242 +#: part/serializers.py:1625 part/templates/part/part_base.html:242 #: templates/js/translated/bom.js:1219 msgid "Can Build" msgstr "" -#: part/serializers.py:1858 +#: part/serializers.py:1856 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1866 +#: part/serializers.py:1864 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1867 +#: part/serializers.py:1865 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1872 +#: part/serializers.py:1870 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1873 +#: part/serializers.py:1871 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1878 +#: part/serializers.py:1876 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1879 +#: part/serializers.py:1877 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1884 +#: part/serializers.py:1882 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1885 +#: part/serializers.py:1883 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1922 +#: part/serializers.py:1920 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1923 +#: part/serializers.py:1921 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1955 +#: part/serializers.py:1953 msgid "No part column specified" msgstr "" -#: part/serializers.py:1999 +#: part/serializers.py:1997 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:2002 +#: part/serializers.py:2000 msgid "No matching part found" msgstr "" -#: part/serializers.py:2004 +#: part/serializers.py:2002 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:2013 +#: part/serializers.py:2011 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:2021 +#: part/serializers.py:2019 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:2044 +#: part/serializers.py:2042 msgid "At least one BOM item is required" msgstr "" @@ -8216,7 +8213,7 @@ msgid "Subscribe to notifications for this part" msgstr "" #: part/templates/part/part_base.html:52 -#: stock/templates/stock/item_base.html:62 +#: stock/templates/stock/item_base.html:61 #: stock/templates/stock/location.html:71 templates/js/translated/label.js:136 msgid "Print Label" msgstr "" @@ -8226,7 +8223,7 @@ msgid "Show pricing information" msgstr "" #: part/templates/part/part_base.html:63 -#: stock/templates/stock/item_base.html:110 +#: stock/templates/stock/item_base.html:106 #: stock/templates/stock/location.html:80 msgid "Stock actions" msgstr "" @@ -8297,12 +8294,12 @@ msgid "Required for Orders" msgstr "" #: part/templates/part/part_base.html:225 -#: stock/templates/stock/item_base.html:388 +#: stock/templates/stock/item_base.html:384 msgid "Allocated to Build Orders" msgstr "" #: part/templates/part/part_base.html:234 -#: stock/templates/stock/item_base.html:381 +#: stock/templates/stock/item_base.html:377 msgid "Allocated to Sales Orders" msgstr "" @@ -8322,7 +8319,7 @@ msgid "Latest Serial Number" msgstr "" #: part/templates/part/part_base.html:372 -#: stock/templates/stock/item_base.html:322 +#: stock/templates/stock/item_base.html:318 msgid "Search for serial number" msgstr "" @@ -8449,7 +8446,7 @@ msgid "Edit" msgstr "" #: part/templates/part/prices.html:28 stock/admin.py:252 -#: stock/templates/stock/item_base.html:446 +#: stock/templates/stock/item_base.html:442 #: templates/js/translated/company.js:1703 #: templates/js/translated/company.js:1713 #: templates/js/translated/stock.js:2332 @@ -8604,7 +8601,7 @@ msgstr "" msgid "Part Pricing" msgstr "" -#: plugin/api.py:172 +#: plugin/api.py:174 msgid "Plugin cannot be deleted as it is currently active" msgstr "" @@ -8940,7 +8937,7 @@ msgstr "" msgid "Print a border around each label" msgstr "" -#: plugin/builtin/labels/label_sheet.py:47 report/models.py:307 +#: plugin/builtin/labels/label_sheet.py:47 report/models.py:315 msgid "Landscape" msgstr "" @@ -9012,44 +9009,44 @@ msgstr "" msgid "The Supplier which acts as 'TME'" msgstr "" -#: plugin/installer.py:194 plugin/installer.py:274 +#: plugin/installer.py:199 plugin/installer.py:282 msgid "Only staff users can administer plugins" msgstr "" -#: plugin/installer.py:197 +#: plugin/installer.py:202 msgid "Plugin installation is disabled" msgstr "" -#: plugin/installer.py:241 +#: plugin/installer.py:246 msgid "Installed plugin successfully" msgstr "" -#: plugin/installer.py:246 +#: plugin/installer.py:251 #, python-brace-format msgid "Installed plugin into {path}" msgstr "" -#: plugin/installer.py:265 +#: plugin/installer.py:273 msgid "Plugin was not found in registry" msgstr "" -#: plugin/installer.py:268 +#: plugin/installer.py:276 msgid "Plugin is not a packaged plugin" msgstr "" -#: plugin/installer.py:271 +#: plugin/installer.py:279 msgid "Plugin package name not found" msgstr "" -#: plugin/installer.py:291 +#: plugin/installer.py:299 msgid "Plugin uninstalling is disabled" msgstr "" -#: plugin/installer.py:295 +#: plugin/installer.py:303 msgid "Plugin cannot be uninstalled as it is currently active" msgstr "" -#: plugin/installer.py:308 +#: plugin/installer.py:316 msgid "Uninstalled plugin successfully" msgstr "" @@ -9098,7 +9095,7 @@ msgstr "" msgid "Package Plugin" msgstr "" -#: plugin/models.py:220 report/models.py:474 +#: plugin/models.py:220 report/models.py:482 #: templates/InvenTree/settings/plugin_settings.html:9 #: templates/js/translated/plugin.js:51 msgid "Plugin" @@ -9167,6 +9164,38 @@ msgstr "" msgid "InvenTree Contributors" msgstr "" +#: plugin/samples/integration/user_interface_sample.py:22 +msgid "Enable Part Panels" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:23 +msgid "Enable custom panels for Part views" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:28 +msgid "Enable Purchase Order Panels" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:29 +msgid "Enable custom panels for Purchase Order views" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:34 +msgid "Enable Broken Panels" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:35 +msgid "Enable broken panels for testing" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:40 +msgid "Enable Dynamic Panel" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:41 +msgid "Enable dynamic panels for testing" +msgstr "" + #: plugin/serializers.py:81 msgid "Source URL" msgstr "" @@ -9245,12 +9274,36 @@ msgstr "" msgid "Delete the plugin configuration from the database" msgstr "" +#: plugin/serializers.py:324 +msgid "Plugin Key" +msgstr "" + +#: plugin/serializers.py:328 +msgid "Panel Name" +msgstr "" + +#: plugin/serializers.py:332 +msgid "Panel Title" +msgstr "" + +#: plugin/serializers.py:337 +msgid "Panel Icon" +msgstr "" + +#: plugin/serializers.py:341 +msgid "Panel Content (HTML)" +msgstr "" + +#: plugin/serializers.py:345 +msgid "Panel Source (javascript)" +msgstr "" + #: report/api.py:88 msgid "No valid objects provided to template" msgstr "" -#: report/api.py:103 report/models.py:438 report/serializers.py:98 -#: report/serializers.py:148 templates/js/translated/purchase_order.js:1817 +#: report/api.py:103 report/models.py:446 report/serializers.py:99 +#: report/serializers.py:149 templates/js/translated/purchase_order.js:1817 #: templates/js/translated/return_order.js:353 #: templates/js/translated/sales_order.js:887 #: templates/js/translated/sales_order.js:1047 @@ -9281,7 +9334,11 @@ msgstr "" msgid "Error printing label" msgstr "" -#: report/api.py:375 report/api.py:411 +#: report/api.py:358 +msgid "Report saved at time of printing" +msgstr "" + +#: report/api.py:384 report/api.py:420 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" @@ -9318,135 +9375,143 @@ msgstr "" msgid "Revision number (auto-increments)" msgstr "" -#: report/models.py:202 +#: report/models.py:168 +msgid "Attach to Model on Print" +msgstr "" + +#: report/models.py:170 +msgid "Save report output as an attachment against linked model instance when printing" +msgstr "" + +#: report/models.py:210 msgid "Filename Pattern" msgstr "" -#: report/models.py:203 +#: report/models.py:211 msgid "Pattern for generating filenames" msgstr "" -#: report/models.py:208 +#: report/models.py:216 msgid "Template is enabled" msgstr "" -#: report/models.py:214 +#: report/models.py:222 msgid "Target model type for template" msgstr "" -#: report/models.py:234 +#: report/models.py:242 msgid "Filters" msgstr "" -#: report/models.py:235 +#: report/models.py:243 msgid "Template query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:294 report/models.py:361 +#: report/models.py:302 report/models.py:369 msgid "Template file" msgstr "" -#: report/models.py:302 +#: report/models.py:310 msgid "Page size for PDF reports" msgstr "" -#: report/models.py:308 +#: report/models.py:316 msgid "Render report in landscape orientation" msgstr "" -#: report/models.py:367 +#: report/models.py:375 msgid "Width [mm]" msgstr "" -#: report/models.py:368 +#: report/models.py:376 msgid "Label width, specified in mm" msgstr "" -#: report/models.py:374 +#: report/models.py:382 msgid "Height [mm]" msgstr "" -#: report/models.py:375 +#: report/models.py:383 msgid "Label height, specified in mm" msgstr "" -#: report/models.py:438 +#: report/models.py:446 msgid "Number of items to process" msgstr "" -#: report/models.py:444 +#: report/models.py:452 msgid "Report generation is complete" msgstr "" -#: report/models.py:448 templates/js/translated/build.js:2352 +#: report/models.py:456 templates/js/translated/build.js:2352 msgid "Progress" msgstr "" -#: report/models.py:448 +#: report/models.py:456 msgid "Report generation progress" msgstr "" -#: report/models.py:456 +#: report/models.py:464 msgid "Report Template" msgstr "" -#: report/models.py:463 report/models.py:486 +#: report/models.py:471 report/models.py:494 msgid "Output File" msgstr "" -#: report/models.py:464 report/models.py:487 +#: report/models.py:472 report/models.py:495 msgid "Generated output file" msgstr "" -#: report/models.py:475 +#: report/models.py:483 msgid "Label output plugin" msgstr "" -#: report/models.py:479 +#: report/models.py:487 msgid "Label Template" msgstr "" -#: report/models.py:502 +#: report/models.py:510 msgid "Snippet" msgstr "" -#: report/models.py:503 +#: report/models.py:511 msgid "Report snippet file" msgstr "" -#: report/models.py:510 +#: report/models.py:518 msgid "Snippet file description" msgstr "" -#: report/models.py:528 +#: report/models.py:536 msgid "Asset" msgstr "" -#: report/models.py:529 +#: report/models.py:537 msgid "Report asset file" msgstr "" -#: report/models.py:536 +#: report/models.py:544 msgid "Asset file description" msgstr "" -#: report/serializers.py:91 +#: report/serializers.py:92 msgid "Select report template" msgstr "" -#: report/serializers.py:99 report/serializers.py:149 +#: report/serializers.py:100 report/serializers.py:150 msgid "List of item primary keys to include in the report" msgstr "" -#: report/serializers.py:132 +#: report/serializers.py:133 msgid "Select label template" msgstr "" -#: report/serializers.py:140 +#: report/serializers.py:141 msgid "Printing Plugin" msgstr "" -#: report/serializers.py:141 +#: report/serializers.py:142 msgid "Select plugin to use for label printing" msgstr "" @@ -9517,7 +9582,7 @@ msgstr "" msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report.html:103 stock/models.py:2538 +#: report/templates/report/inventree_test_report.html:103 stock/models.py:2533 msgid "Result" msgstr "" @@ -9598,7 +9663,7 @@ msgid "Customer ID" msgstr "" #: stock/admin.py:206 stock/models.py:829 -#: stock/templates/stock/item_base.html:354 +#: stock/templates/stock/item_base.html:350 msgid "Installed In" msgstr "" @@ -9623,7 +9688,7 @@ msgid "Delete on Deplete" msgstr "" #: stock/admin.py:261 stock/models.py:923 -#: stock/templates/stock/item_base.html:433 +#: stock/templates/stock/item_base.html:429 #: templates/js/translated/stock.js:2316 users/models.py:124 msgid "Expiry Date" msgstr "" @@ -9665,7 +9730,7 @@ msgid "Expiry date after" msgstr "" #: stock/api.py:839 stock/serializers.py:611 -#: stock/templates/stock/item_base.html:439 +#: stock/templates/stock/item_base.html:435 #: templates/js/translated/table_filters.js:448 msgid "Stale" msgstr "" @@ -9715,7 +9780,7 @@ msgid "Stock Locations" msgstr "" #: stock/models.py:185 stock/models.py:972 -#: stock/templates/stock/item_base.html:247 +#: stock/templates/stock/item_base.html:243 msgid "Owner" msgstr "" @@ -9826,7 +9891,7 @@ msgstr "" msgid "Build for this stock item" msgstr "" -#: stock/models.py:892 stock/templates/stock/item_base.html:363 +#: stock/models.py:892 stock/templates/stock/item_base.html:359 msgid "Consumed By" msgstr "" @@ -9891,7 +9956,7 @@ msgstr "" msgid "Serial numbers already exist" msgstr "" -#: stock/models.py:1636 +#: stock/models.py:1636 stock/models.py:2436 msgid "Test template does not exist" msgstr "" @@ -9939,67 +10004,67 @@ msgstr "" msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2337 +#: stock/models.py:2335 msgid "Stock Item Tracking" msgstr "" -#: stock/models.py:2370 +#: stock/models.py:2368 msgid "Entry notes" msgstr "" -#: stock/models.py:2410 +#: stock/models.py:2408 msgid "Stock Item Test Result" msgstr "" -#: stock/models.py:2443 +#: stock/models.py:2439 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2448 +#: stock/models.py:2443 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2453 +#: stock/models.py:2448 msgid "Invalid value for this test" msgstr "" -#: stock/models.py:2538 +#: stock/models.py:2533 msgid "Test result" msgstr "" -#: stock/models.py:2545 +#: stock/models.py:2540 msgid "Test output value" msgstr "" -#: stock/models.py:2553 stock/serializers.py:245 +#: stock/models.py:2548 stock/serializers.py:245 msgid "Test result attachment" msgstr "" -#: stock/models.py:2557 +#: stock/models.py:2552 msgid "Test notes" msgstr "" -#: stock/models.py:2565 templates/js/translated/stock.js:1633 +#: stock/models.py:2560 templates/js/translated/stock.js:1633 msgid "Test station" msgstr "" -#: stock/models.py:2566 +#: stock/models.py:2561 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2572 +#: stock/models.py:2567 msgid "Started" msgstr "" -#: stock/models.py:2573 +#: stock/models.py:2568 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2579 +#: stock/models.py:2574 msgid "Finished" msgstr "" -#: stock/models.py:2580 +#: stock/models.py:2575 msgid "The timestamp of the test finish" msgstr "" @@ -10059,7 +10124,7 @@ msgstr "" msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:459 stock/templates/stock/item_base.html:193 +#: stock/serializers.py:459 stock/templates/stock/item_base.html:189 msgid "Parent Item" msgstr "" @@ -10071,7 +10136,7 @@ msgstr "" msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:603 stock/templates/stock/item_base.html:437 +#: stock/serializers.py:603 stock/templates/stock/item_base.html:433 #: templates/js/translated/table_filters.js:442 users/models.py:174 msgid "Expired" msgstr "" @@ -10410,7 +10475,7 @@ msgstr "" msgid "Test Data" msgstr "" -#: stock/templates/stock/item.html:85 stock/templates/stock/item_base.html:65 +#: stock/templates/stock/item.html:85 msgid "Test Report" msgstr "" @@ -10450,200 +10515,204 @@ msgstr "" msgid "Scan to Location" msgstr "" -#: stock/templates/stock/item_base.html:59 +#: stock/templates/stock/item_base.html:58 #: stock/templates/stock/location.html:67 #: templates/js/translated/filters.js:434 msgid "Printing actions" msgstr "" -#: stock/templates/stock/item_base.html:75 +#: stock/templates/stock/item_base.html:63 templates/js/translated/report.js:49 +msgid "Print Report" +msgstr "" + +#: stock/templates/stock/item_base.html:71 msgid "Stock adjustment actions" msgstr "" -#: stock/templates/stock/item_base.html:79 +#: stock/templates/stock/item_base.html:75 #: stock/templates/stock/location.html:87 templates/js/translated/stock.js:1909 msgid "Count stock" msgstr "" -#: stock/templates/stock/item_base.html:81 +#: stock/templates/stock/item_base.html:77 #: templates/js/translated/stock.js:1891 msgid "Add stock" msgstr "" -#: stock/templates/stock/item_base.html:82 +#: stock/templates/stock/item_base.html:78 #: templates/js/translated/stock.js:1900 msgid "Remove stock" msgstr "" -#: stock/templates/stock/item_base.html:85 +#: stock/templates/stock/item_base.html:81 msgid "Serialize stock" msgstr "" -#: stock/templates/stock/item_base.html:88 +#: stock/templates/stock/item_base.html:84 #: stock/templates/stock/location.html:93 templates/js/translated/stock.js:1918 msgid "Transfer stock" msgstr "" -#: stock/templates/stock/item_base.html:91 +#: stock/templates/stock/item_base.html:87 #: templates/js/translated/stock.js:1973 msgid "Assign to customer" msgstr "" -#: stock/templates/stock/item_base.html:94 +#: stock/templates/stock/item_base.html:90 msgid "Return to stock" msgstr "" -#: stock/templates/stock/item_base.html:97 +#: stock/templates/stock/item_base.html:93 msgid "Uninstall stock item" msgstr "" -#: stock/templates/stock/item_base.html:97 +#: stock/templates/stock/item_base.html:93 msgid "Uninstall" msgstr "" -#: stock/templates/stock/item_base.html:101 +#: stock/templates/stock/item_base.html:97 msgid "Install stock item" msgstr "" -#: stock/templates/stock/item_base.html:101 +#: stock/templates/stock/item_base.html:97 msgid "Install" msgstr "" -#: stock/templates/stock/item_base.html:115 +#: stock/templates/stock/item_base.html:111 msgid "Convert to variant" msgstr "" -#: stock/templates/stock/item_base.html:118 +#: stock/templates/stock/item_base.html:114 msgid "Duplicate stock item" msgstr "" -#: stock/templates/stock/item_base.html:120 +#: stock/templates/stock/item_base.html:116 msgid "Edit stock item" msgstr "" -#: stock/templates/stock/item_base.html:123 +#: stock/templates/stock/item_base.html:119 msgid "Delete stock item" msgstr "" -#: stock/templates/stock/item_base.html:169 templates/InvenTree/search.html:139 +#: stock/templates/stock/item_base.html:165 templates/InvenTree/search.html:139 #: templates/js/translated/build.js:2298 templates/navbar.html:38 msgid "Build" msgstr "" -#: stock/templates/stock/item_base.html:211 +#: stock/templates/stock/item_base.html:207 msgid "No manufacturer set" msgstr "" -#: stock/templates/stock/item_base.html:251 +#: stock/templates/stock/item_base.html:247 msgid "You are not in the list of owners of this item. This stock item cannot be edited." msgstr "" -#: stock/templates/stock/item_base.html:252 +#: stock/templates/stock/item_base.html:248 #: stock/templates/stock/location.html:146 msgid "Read only" msgstr "" -#: stock/templates/stock/item_base.html:265 +#: stock/templates/stock/item_base.html:261 msgid "This stock item is unavailable" msgstr "" -#: stock/templates/stock/item_base.html:271 +#: stock/templates/stock/item_base.html:267 msgid "This stock item is in production and cannot be edited." msgstr "" -#: stock/templates/stock/item_base.html:272 +#: stock/templates/stock/item_base.html:268 msgid "Edit the stock item from the build view." msgstr "" -#: stock/templates/stock/item_base.html:287 +#: stock/templates/stock/item_base.html:283 msgid "This stock item is allocated to Sales Order" msgstr "" -#: stock/templates/stock/item_base.html:295 +#: stock/templates/stock/item_base.html:291 msgid "This stock item is allocated to Build Order" msgstr "" -#: stock/templates/stock/item_base.html:311 +#: stock/templates/stock/item_base.html:307 msgid "This stock item is serialized. It has a unique serial number and the quantity cannot be adjusted" msgstr "" -#: stock/templates/stock/item_base.html:317 +#: stock/templates/stock/item_base.html:313 msgid "previous page" msgstr "" -#: stock/templates/stock/item_base.html:317 +#: stock/templates/stock/item_base.html:313 msgid "Navigate to previous serial number" msgstr "" -#: stock/templates/stock/item_base.html:326 +#: stock/templates/stock/item_base.html:322 msgid "next page" msgstr "" -#: stock/templates/stock/item_base.html:326 +#: stock/templates/stock/item_base.html:322 msgid "Navigate to next serial number" msgstr "" -#: stock/templates/stock/item_base.html:398 +#: stock/templates/stock/item_base.html:394 #: templates/js/translated/build.js:2555 msgid "No location set" msgstr "" -#: stock/templates/stock/item_base.html:413 +#: stock/templates/stock/item_base.html:409 msgid "Tests" msgstr "" -#: stock/templates/stock/item_base.html:419 +#: stock/templates/stock/item_base.html:415 msgid "This stock item has not passed all required tests" msgstr "" -#: stock/templates/stock/item_base.html:437 +#: stock/templates/stock/item_base.html:433 #, python-format msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:439 +#: stock/templates/stock/item_base.html:435 #, python-format msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:455 +#: stock/templates/stock/item_base.html:451 msgid "No stocktake performed" msgstr "" -#: stock/templates/stock/item_base.html:504 +#: stock/templates/stock/item_base.html:500 #: templates/js/translated/stock.js:2038 msgid "stock item" msgstr "" -#: stock/templates/stock/item_base.html:527 +#: stock/templates/stock/item_base.html:523 msgid "Edit Stock Status" msgstr "" -#: stock/templates/stock/item_base.html:536 +#: stock/templates/stock/item_base.html:532 msgid "Stock Item QR Code" msgstr "" -#: stock/templates/stock/item_base.html:547 +#: stock/templates/stock/item_base.html:543 msgid "Link Barcode to Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:611 +#: stock/templates/stock/item_base.html:607 msgid "Select one of the part variants listed below." msgstr "" -#: stock/templates/stock/item_base.html:614 +#: stock/templates/stock/item_base.html:610 msgid "Warning" msgstr "" -#: stock/templates/stock/item_base.html:615 +#: stock/templates/stock/item_base.html:611 msgid "This action cannot be easily undone" msgstr "" -#: stock/templates/stock/item_base.html:623 +#: stock/templates/stock/item_base.html:619 msgid "Convert Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:656 +#: stock/templates/stock/item_base.html:652 msgid "Return to Stock" msgstr "" @@ -11310,7 +11379,7 @@ msgid "Delete Location Type" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:503 -#: templates/InvenTree/settings/stock.html:38 +#: templates/InvenTree/settings/stock.html:39 msgid "New Location Type" msgstr "" @@ -11367,7 +11436,7 @@ msgstr "" msgid "Stock Settings" msgstr "" -#: templates/InvenTree/settings/stock.html:34 +#: templates/InvenTree/settings/stock.html:35 msgid "Stock Location Types" msgstr "" @@ -11852,23 +11921,23 @@ msgstr "" msgid "Barcode Identifier" msgstr "" -#: templates/base.html:103 +#: templates/base.html:102 msgid "Server Restart Required" msgstr "" -#: templates/base.html:106 +#: templates/base.html:105 msgid "A configuration option has been changed which requires a server restart" msgstr "" -#: templates/base.html:106 templates/base.html:116 +#: templates/base.html:105 templates/base.html:115 msgid "Contact your system administrator for further information" msgstr "" -#: templates/base.html:113 +#: templates/base.html:112 msgid "Pending Database Migrations" msgstr "" -#: templates/base.html:116 +#: templates/base.html:115 msgid "There are pending database migrations which require attention" msgstr "" @@ -13946,10 +14015,6 @@ msgstr "" msgid "Delete line item" msgstr "" -#: templates/js/translated/report.js:49 -msgid "Print Report" -msgstr "" - #: templates/js/translated/report.js:68 msgid "Report print successful" msgstr "" diff --git a/src/backend/InvenTree/locale/hu/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/hu/LC_MESSAGES/django.po index 49905f3117bf..43b2a5170938 100644 --- a/src/backend/InvenTree/locale/hu/LC_MESSAGES/django.po +++ b/src/backend/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: 2024-08-29 07:07+0000\n" -"PO-Revision-Date: 2024-08-29 07:10\n" +"POT-Creation-Date: 2024-09-16 00:37+0000\n" +"PO-Revision-Date: 2024-09-16 00:40\n" "Last-Translator: \n" "Language-Team: Hungarian\n" "Language: hu_HU\n" @@ -65,9 +65,9 @@ msgstr "Dátum megadása" #: 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:59 -#: part/models.py:3309 part/templates/part/part_sidebar.html:65 +#: part/models.py:3296 part/templates/part/part_sidebar.html:65 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/admin.py:231 stock/models.py:2369 stock/models.py:2557 +#: stock/admin.py:231 stock/models.py:2367 stock/models.py:2552 #: stock/serializers.py:705 stock/serializers.py:863 stock/serializers.py:989 #: stock/serializers.py:1039 stock/serializers.py:1350 #: stock/serializers.py:1439 stock/serializers.py:1604 @@ -364,7 +364,7 @@ msgstr "Kínai (Hagyományos)" msgid "[{site_name}] Log in to the app" msgstr "[{site_name}] Bejelentkezés" -#: InvenTree/magic_login.py:38 InvenTree/serializers.py:413 +#: InvenTree/magic_login.py:38 InvenTree/serializers.py:416 #: company/models.py:133 company/templates/company/company_base.html:138 #: templates/InvenTree/settings/user.html:49 #: templates/js/translated/company.js:677 @@ -419,9 +419,9 @@ msgstr "Duplikált nevek nem lehetnek ugyanazon szülő alatt" msgid "Invalid choice" msgstr "Érvénytelen választás" -#: InvenTree/models.py:767 common/models.py:2704 common/models.py:3131 -#: common/models.py:3351 common/serializers.py:439 company/models.py:590 -#: machine/models.py:24 part/models.py:995 part/models.py:3776 +#: InvenTree/models.py:767 common/models.py:2705 common/models.py:3132 +#: common/models.py:3352 common/serializers.py:455 company/models.py:590 +#: machine/models.py:24 part/models.py:995 part/models.py:3763 #: plugin/models.py:51 report/models.py:149 stock/models.py:82 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -446,10 +446,10 @@ msgstr "Név" #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 order/models.py:289 #: order/models.py:1406 part/admin.py:305 part/admin.py:411 part/models.py:1018 -#: part/models.py:3791 part/templates/part/category.html:79 +#: part/models.py:3778 part/templates/part/category.html:79 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:155 -#: report/models.py:509 report/models.py:535 +#: report/models.py:517 report/models.py:543 #: report/templates/report/inventree_build_order_report.html:117 #: stock/admin.py:54 stock/models.py:88 stock/templates/stock/location.html:122 #: templates/InvenTree/settings/notifications.html:19 @@ -517,12 +517,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:63 part/models.py:4400 +#: InvenTree/serializers.py:63 part/models.py:4387 msgid "Must be a valid number" msgstr "Érvényes számnak kell lennie" #: InvenTree/serializers.py:100 company/models.py:183 -#: company/templates/company/company_base.html:112 part/models.py:3127 +#: company/templates/company/company_base.html:112 part/models.py:3114 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -536,43 +536,43 @@ msgstr "Válassz pénznemet a lehetőségek közül" msgid "Username" msgstr "Felhasználónév" -#: InvenTree/serializers.py:407 templates/InvenTree/settings/user.html:37 +#: InvenTree/serializers.py:408 templates/InvenTree/settings/user.html:37 msgid "First Name" msgstr "Keresztnév" -#: InvenTree/serializers.py:407 +#: InvenTree/serializers.py:408 msgid "First name of the user" msgstr "A felhasználó keresztneve" -#: InvenTree/serializers.py:410 templates/InvenTree/settings/user.html:41 +#: InvenTree/serializers.py:412 templates/InvenTree/settings/user.html:41 msgid "Last Name" msgstr "Vezetéknév" -#: InvenTree/serializers.py:410 +#: InvenTree/serializers.py:412 msgid "Last name of the user" msgstr "A felhasználó vezetékneve" -#: InvenTree/serializers.py:413 +#: InvenTree/serializers.py:416 msgid "Email address of the user" msgstr "A felhasználó e-mail címe" -#: InvenTree/serializers.py:438 +#: InvenTree/serializers.py:441 msgid "Staff" msgstr "Személyzet" -#: InvenTree/serializers.py:438 +#: InvenTree/serializers.py:441 msgid "Does this user have staff permissions" -msgstr "" +msgstr "Van-e a felhasználónak személyzeti jogosultsága" -#: InvenTree/serializers.py:441 +#: InvenTree/serializers.py:445 msgid "Superuser" msgstr "Rendszergazda" -#: InvenTree/serializers.py:441 +#: InvenTree/serializers.py:445 msgid "Is this user a superuser" -msgstr "" +msgstr "A felhasználó rendszergazda-e" -#: InvenTree/serializers.py:444 common/models.py:2709 company/models.py:160 +#: InvenTree/serializers.py:449 common/models.py:2710 company/models.py:160 #: company/models.py:798 machine/models.py:39 part/admin.py:88 #: part/models.py:1201 plugin/models.py:66 #: templates/js/translated/company.js:523 @@ -585,89 +585,89 @@ msgstr "" msgid "Active" msgstr "Aktív" -#: InvenTree/serializers.py:444 +#: InvenTree/serializers.py:449 msgid "Is this user account active" msgstr "Aktív a felhasználói fiók" -#: InvenTree/serializers.py:462 +#: InvenTree/serializers.py:467 msgid "You do not have permission to change this user role." msgstr "Önnek nincs joga változtatni ezen a felhasználói szerepkörön." -#: InvenTree/serializers.py:474 +#: InvenTree/serializers.py:503 msgid "Only superusers can create new users" msgstr "Csak a superuser-ek hozhatnak létre felhasználókat" -#: InvenTree/serializers.py:493 +#: InvenTree/serializers.py:522 msgid "Your account has been created." msgstr "A fiókod sikeresen létrejött." -#: InvenTree/serializers.py:495 +#: InvenTree/serializers.py:524 msgid "Please use the password reset function to login" msgstr "Kérlek használd a jelszó visszállítás funkciót a belépéshez" -#: InvenTree/serializers.py:502 +#: InvenTree/serializers.py:531 msgid "Welcome to InvenTree" msgstr "Üdvözlet az InvenTree-ben" -#: InvenTree/serializers.py:560 +#: InvenTree/serializers.py:589 msgid "Invalid value" msgstr "Érvénytelen érték" -#: InvenTree/serializers.py:580 importer/models.py:64 +#: InvenTree/serializers.py:609 importer/models.py:64 msgid "Data File" msgstr "Adat fájl" -#: InvenTree/serializers.py:581 +#: InvenTree/serializers.py:610 msgid "Select data file for upload" msgstr "Fájl kiválasztása feltöltéshez" -#: InvenTree/serializers.py:598 +#: InvenTree/serializers.py:627 msgid "Unsupported file type" msgstr "Nem támogatott fájltípus" -#: InvenTree/serializers.py:604 +#: InvenTree/serializers.py:633 msgid "File is too large" msgstr "Fájl túl nagy" -#: InvenTree/serializers.py:625 +#: InvenTree/serializers.py:654 msgid "No columns found in file" msgstr "Nem találhatók oszlopok a fájlban" -#: InvenTree/serializers.py:628 +#: InvenTree/serializers.py:657 msgid "No data rows found in file" msgstr "Nincsenek adatsorok a fájlban" -#: InvenTree/serializers.py:740 +#: InvenTree/serializers.py:769 msgid "No data rows provided" msgstr "Nincs adatsor megadva" -#: InvenTree/serializers.py:743 +#: InvenTree/serializers.py:772 msgid "No data columns supplied" msgstr "Nincs adat oszlop megadva" -#: InvenTree/serializers.py:809 +#: InvenTree/serializers.py:838 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "Szükséges oszlop hiányzik: '{name}'" -#: InvenTree/serializers.py:818 +#: InvenTree/serializers.py:847 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "Duplikált oszlop: '{col}'" -#: InvenTree/serializers.py:857 +#: InvenTree/serializers.py:886 msgid "Remote Image" msgstr "Távoli kép" -#: InvenTree/serializers.py:858 +#: InvenTree/serializers.py:887 msgid "URL of remote image file" msgstr "A távoli kép URL-je" -#: InvenTree/serializers.py:876 +#: InvenTree/serializers.py:905 msgid "Downloading images from remote URL is not enabled" msgstr "Képek letöltése távoli URL-ről nem engedélyezett" -#: InvenTree/status.py:65 part/serializers.py:1267 +#: InvenTree/status.py:65 part/serializers.py:1265 msgid "Background worker check failed" msgstr "Háttér folyamat ellenőrzés sikertelen" @@ -735,7 +735,7 @@ msgstr "Szülő gyártás" #: build/api.py:59 msgid "Ancestor Build" -msgstr "" +msgstr "Szülő Gyártás" #: build/api.py:78 order/api.py:92 templates/js/translated/table_filters.js:101 #: templates/js/translated/table_filters.js:549 @@ -753,13 +753,13 @@ msgstr "Kiállította" #: build/api.py:114 msgid "Assigned To" -msgstr "" +msgstr "Hozzárendelve" #: build/api.py:275 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:319 build/serializers.py:1332 part/models.py:4278 +#: build/api.py:319 build/serializers.py:1332 part/models.py:4265 #: templates/js/translated/bom.js:997 templates/js/translated/bom.js:1037 #: templates/js/translated/build.js:2705 #: templates/js/translated/table_filters.js:197 @@ -767,7 +767,7 @@ msgstr "A gyártást be kell fejezni a törlés előtt" msgid "Consumable" msgstr "Fogyóeszköz" -#: build/api.py:320 build/serializers.py:1333 part/models.py:4272 +#: build/api.py:320 build/serializers.py:1333 part/models.py:4259 #: part/templates/part/upload_bom.html:58 templates/js/translated/bom.js:1001 #: templates/js/translated/bom.js:1028 templates/js/translated/build.js:2696 #: templates/js/translated/table_filters.js:193 @@ -777,7 +777,7 @@ msgid "Optional" msgstr "Opcionális" #: build/api.py:321 common/models.py:1491 part/admin.py:91 part/admin.py:428 -#: part/models.py:1166 part/serializers.py:1596 +#: part/models.py:1166 part/serializers.py:1594 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:337 #: templates/js/translated/table_filters.js:729 @@ -793,7 +793,7 @@ msgstr "Követett" #: templates/js/translated/table_filters.js:146 #: templates/js/translated/table_filters.js:779 msgid "Testable" -msgstr "" +msgstr "Ellenőrizhető" #: build/api.py:325 part/admin.py:144 templates/js/translated/build.js:1920 #: templates/js/translated/build.js:2823 @@ -816,7 +816,7 @@ msgstr "Lefoglalva" msgid "Available" msgstr "Elérhető" -#: build/models.py:87 build/templates/build/build_base.html:9 +#: build/models.py:88 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_report.html:105 #: stock/serializers.py:85 templates/email/build_order_completed.html:16 @@ -825,7 +825,7 @@ msgstr "Elérhető" msgid "Build Order" msgstr "Gyártási utasítás" -#: build/models.py:88 build/templates/build/build_base.html:13 +#: build/models.py:89 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:111 #: order/templates/order/so_sidebar.html:13 @@ -838,15 +838,15 @@ msgstr "Gyártási utasítások" #: build/models.py:136 msgid "Assembly BOM has not been validated" -msgstr "" +msgstr "Az alkatrészjegyzék még nincs jóváhagyva" #: build/models.py:143 msgid "Build order cannot be created for an inactive part" -msgstr "" +msgstr "Nem lehet inaktív alkatrészre Gyártást kezdeményezni" #: build/models.py:150 msgid "Build order cannot be created for an unlocked part" -msgstr "" +msgstr "Nem lehet lezáratlan alkatrészre Gyártást kezdeményezni" #: build/models.py:164 msgid "Invalid choice for parent build" @@ -866,7 +866,7 @@ msgstr "Gyártási utasítás azonosító" #: build/models.py:243 build/serializers.py:1331 order/models.py:468 #: order/models.py:979 order/models.py:1366 order/models.py:2128 -#: part/admin.py:414 part/models.py:4293 part/templates/part/upload_bom.html:54 +#: part/admin.py:414 part/models.py:4280 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 @@ -892,11 +892,11 @@ msgstr "Gyártás, amihez ez a gyártás hozzá van rendelve" #: build/templates/build/build_base.html:105 #: build/templates/build/detail.html:29 company/models.py:1043 order/api.py:761 #: order/models.py:1496 order/models.py:1651 order/models.py:1652 -#: part/api.py:1506 part/api.py:1806 part/models.py:419 part/models.py:3138 -#: part/models.py:3282 part/models.py:3430 part/models.py:3451 -#: part/models.py:3473 part/models.py:3609 part/models.py:3951 -#: part/models.py:4114 part/models.py:4244 part/models.py:4602 -#: part/serializers.py:1213 part/serializers.py:1857 +#: part/api.py:1506 part/api.py:1806 part/models.py:419 part/models.py:3125 +#: part/models.py:3269 part/models.py:3417 part/models.py:3438 +#: part/models.py:3460 part/models.py:3596 part/models.py:3938 +#: part/models.py:4101 part/models.py:4231 part/models.py:4595 +#: part/serializers.py:1211 part/serializers.py:1855 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -1063,12 +1063,12 @@ msgstr "Felhasználó vagy csoport aki felelős ezért a gyártásért" #: order/templates/order/return_order_base.html:148 #: order/templates/order/sales_order_base.html:187 #: part/templates/part/part_base.html:399 stock/models.py:859 -#: stock/templates/stock/item_base.html:200 +#: stock/templates/stock/item_base.html:196 #: templates/js/translated/company.js:1019 msgid "External Link" msgstr "Külső link" -#: build/models.py:378 common/models.py:3272 part/models.py:1070 +#: build/models.py:378 common/models.py:3273 part/models.py:1070 #: stock/models.py:859 msgid "Link to external URL" msgstr "Link külső URL-re" @@ -1110,7 +1110,7 @@ msgstr "A {build} gyártási utasítás elkészült" msgid "A build order has been completed" msgstr "Gyártási utasítás elkészült" -#: build/models.py:968 build/models.py:1056 +#: build/models.py:968 build/models.py:1057 msgid "No build output specified" msgstr "Nincs gyártási kimenet megadva" @@ -1122,37 +1122,37 @@ msgstr "Gyártási kimenet már kész" 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:1060 build/serializers.py:279 build/serializers.py:328 +#: build/models.py:1061 build/serializers.py:279 build/serializers.py:328 #: build/serializers.py:959 order/models.py:565 order/serializers.py:500 -#: order/serializers.py:666 part/serializers.py:1590 part/serializers.py:2019 +#: order/serializers.py:666 part/serializers.py:1588 part/serializers.py:2017 #: stock/models.py:704 stock/models.py:1515 stock/serializers.py:676 msgid "Quantity must be greater than zero" msgstr "Mennyiségnek nullánál többnek kell lennie" -#: build/models.py:1065 build/serializers.py:284 +#: build/models.py:1066 build/serializers.py:284 msgid "Quantity cannot be greater than the output quantity" msgstr "A mennyiség nem lehet több mint a gyártási mennyiség" -#: build/models.py:1125 build/serializers.py:607 +#: build/models.py:1126 build/serializers.py:607 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "A {serial} gyártási kimenet nem felelt meg az összes kötelező teszten" -#: build/models.py:1466 +#: build/models.py:1477 msgid "Build Order Line Item" -msgstr "" +msgstr "Gyártási Rendelés Sor Tétel" -#: build/models.py:1491 +#: build/models.py:1502 msgid "Build object" msgstr "Gyártás objektum" -#: build/models.py:1505 build/models.py:1761 build/serializers.py:266 +#: build/models.py:1516 build/models.py:1775 build/serializers.py:266 #: build/serializers.py:313 build/serializers.py:1339 #: build/templates/build/build_base.html:110 -#: build/templates/build/detail.html:34 common/models.py:2581 +#: build/templates/build/detail.html:34 common/models.py:2582 #: order/models.py:1349 order/models.py:2034 order/serializers.py:1464 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:413 -#: part/forms.py:48 part/models.py:3296 part/models.py:4266 +#: part/forms.py:48 part/models.py:3283 part/models.py:4253 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1163,9 +1163,9 @@ msgstr "Gyártás objektum" #: report/templates/report/inventree_test_report.html:90 #: report/templates/report/inventree_test_report.html:169 stock/admin.py:160 #: stock/serializers.py:128 stock/serializers.py:168 stock/serializers.py:667 -#: stock/templates/stock/item_base.html:287 -#: stock/templates/stock/item_base.html:295 -#: stock/templates/stock/item_base.html:342 +#: stock/templates/stock/item_base.html:283 +#: stock/templates/stock/item_base.html:291 +#: stock/templates/stock/item_base.html:338 #: templates/email/build_order_completed.html:18 #: templates/js/translated/barcode.js:579 templates/js/translated/bom.js:771 #: templates/js/translated/bom.js:981 templates/js/translated/build.js:525 @@ -1194,41 +1194,41 @@ msgstr "Gyártás objektum" msgid "Quantity" msgstr "Mennyiség" -#: build/models.py:1506 +#: build/models.py:1517 msgid "Required quantity for build order" msgstr "Gyártáshoz szükséges mennyiség" -#: build/models.py:1586 +#: build/models.py:1597 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:1595 +#: build/models.py:1606 #, 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:1605 order/models.py:1985 +#: build/models.py:1616 order/models.py:1985 msgid "Stock item is over-allocated" msgstr "Készlet túlfoglalva" -#: build/models.py:1611 order/models.py:1988 +#: build/models.py:1622 order/models.py:1988 msgid "Allocation quantity must be greater than zero" msgstr "Lefoglalt mennyiségnek nullánál többnek kell lennie" -#: build/models.py:1617 +#: build/models.py:1628 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:1676 +#: build/models.py:1687 msgid "Selected stock item does not match BOM line" msgstr "A készlet tétel nem egyezik az alkatrészjegyzékkel" -#: build/models.py:1748 build/serializers.py:939 order/serializers.py:1301 +#: build/models.py:1762 build/serializers.py:939 order/serializers.py:1301 #: order/serializers.py:1322 stock/models.py:381 stock/serializers.py:94 #: stock/serializers.py:770 stock/serializers.py:1288 stock/serializers.py:1400 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 -#: stock/templates/stock/item_base.html:194 +#: stock/templates/stock/item_base.html:190 #: templates/js/translated/build.js:1921 #: templates/js/translated/sales_order.js:301 #: templates/js/translated/sales_order.js:1234 @@ -1241,28 +1241,28 @@ msgstr "A készlet tétel nem egyezik az alkatrészjegyzékkel" msgid "Stock Item" msgstr "Készlet tétel" -#: build/models.py:1749 +#: build/models.py:1763 msgid "Source stock item" msgstr "Forrás készlet tétel" -#: build/models.py:1762 +#: build/models.py:1776 msgid "Stock quantity to allocate to build" msgstr "Készlet mennyiség amit foglaljunk a gyártáshoz" -#: build/models.py:1770 +#: build/models.py:1784 msgid "Install into" msgstr "Beépítés ebbe" -#: build/models.py:1771 +#: build/models.py:1785 msgid "Destination stock item" msgstr "Cél készlet tétel" #: build/serializers.py:107 msgid "Build Level" -msgstr "" +msgstr "Gyártási Szint" #: build/serializers.py:115 build/serializers.py:1234 build/serializers.py:1323 -#: part/admin.py:41 part/admin.py:408 part/models.py:4116 part/stocktake.py:219 +#: part/admin.py:41 part/admin.py:408 part/models.py:4103 part/stocktake.py:219 #: stock/admin.py:157 msgid "Part Name" msgstr "Alkatrész neve" @@ -1273,11 +1273,11 @@ msgstr "Projekt kód címke" #: build/serializers.py:133 msgid "Create Child Builds" -msgstr "" +msgstr "Leszármazott Gyártások Létrehozása" #: build/serializers.py:134 msgid "Automatically generate child build orders" -msgstr "" +msgstr "Leszármazott Gyártások létrehozása automatikusan" #: build/serializers.py:216 build/serializers.py:968 #: templates/js/translated/build.js:1045 templates/js/translated/build.js:1498 @@ -1323,10 +1323,10 @@ msgid "Enter serial numbers for build outputs" msgstr "Add meg a sorozatszámokat a gyártás kimenetéhez" #: build/serializers.py:359 build/serializers.py:500 build/serializers.py:572 -#: order/serializers.py:655 order/serializers.py:778 order/serializers.py:1789 -#: part/serializers.py:1233 stock/serializers.py:103 stock/serializers.py:698 +#: order/serializers.py:655 order/serializers.py:778 order/serializers.py:1797 +#: part/serializers.py:1231 stock/serializers.py:103 stock/serializers.py:698 #: stock/serializers.py:858 stock/serializers.py:984 stock/serializers.py:1432 -#: stock/serializers.py:1688 stock/templates/stock/item_base.html:394 +#: stock/serializers.py:1688 stock/templates/stock/item_base.html:390 #: templates/js/translated/barcode.js:578 #: templates/js/translated/barcode.js:826 templates/js/translated/build.js:1035 #: templates/js/translated/build.js:1177 templates/js/translated/build.js:2547 @@ -1390,7 +1390,7 @@ msgstr "A kész gyártási kimenetek helye" #: build/templates/build/detail.html:62 order/models.py:477 #: order/models.py:1003 order/models.py:2152 order/serializers.py:687 #: stock/admin.py:165 stock/serializers.py:1035 stock/serializers.py:1576 -#: stock/templates/stock/item_base.html:427 +#: stock/templates/stock/item_base.html:423 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2366 #: templates/js/translated/purchase_order.js:1371 #: templates/js/translated/purchase_order.js:1792 @@ -1476,11 +1476,11 @@ msgstr "Szükséges gyártási mennyiség nem lett elérve" #: build/serializers.py:818 msgid "Build order has open child build orders" -msgstr "" +msgstr "A Gyártásnak nyitott leszármazott Gyártása van" #: build/serializers.py:821 msgid "Build order must be in production state" -msgstr "" +msgstr "A Gyártásnak folyamatban kell lennie" #: build/serializers.py:824 templates/js/translated/build.js:307 msgid "Build order has incomplete outputs" @@ -1523,7 +1523,7 @@ msgstr "Gyártási kimenetet meg kell adni a követésre kötelezett alkatrésze 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:1030 order/serializers.py:1614 +#: build/serializers.py:1030 order/serializers.py:1622 msgid "Allocation items must be provided" msgstr "A lefoglalandó tételeket meg kell adni" @@ -1569,7 +1569,7 @@ msgstr "Nem sikerült az automatikus lefoglalás feladatot elindítani" #: build/serializers.py:1225 msgid "Supplier Part Number" -msgstr "" +msgstr "Beszállítói Cikkszám" #: build/serializers.py:1226 company/models.py:503 msgid "Manufacturer Part Number" @@ -1582,16 +1582,16 @@ msgstr "Hely neve" #: build/serializers.py:1228 msgid "Build Reference" -msgstr "" +msgstr "Gyártási Hivatkozás" #: build/serializers.py:1229 msgid "BOM Reference" -msgstr "" +msgstr "Alkatrészjegyzék Hivatkozás" #: build/serializers.py:1230 company/models.py:849 #: company/templates/company/supplier_part.html:160 order/serializers.py:691 #: stock/admin.py:229 stock/models.py:822 stock/serializers.py:1586 -#: stock/templates/stock/item_base.html:240 +#: stock/templates/stock/item_base.html:236 #: templates/js/translated/company.js:1646 #: templates/js/translated/purchase_order.js:1169 #: templates/js/translated/purchase_order.js:1332 @@ -1601,12 +1601,12 @@ msgid "Packaging" msgstr "Csomagolás" #: build/serializers.py:1233 part/admin.py:39 part/admin.py:398 -#: part/models.py:4115 part/stocktake.py:218 stock/admin.py:153 +#: part/models.py:4102 part/stocktake.py:218 stock/admin.py:153 msgid "Part ID" msgstr "Alkatrész ID" #: build/serializers.py:1235 build/serializers.py:1324 part/admin.py:402 -#: part/models.py:4117 +#: part/models.py:4104 msgid "Part IPN" msgstr "Alkatrész IPN" @@ -1617,16 +1617,16 @@ msgstr "Alkatrész leírása" #: build/serializers.py:1239 msgid "BOM Part ID" -msgstr "" +msgstr "Alkatrészjegyzék Cikk Azonosító" #: build/serializers.py:1240 msgid "BOM Part Name" -msgstr "" +msgstr "Alkatrészjegyzék Alkatrész Név" #: build/serializers.py:1243 #: report/templates/report/inventree_return_order_report.html:25 #: report/templates/report/inventree_test_report.html:88 stock/models.py:849 -#: stock/serializers.py:152 stock/templates/stock/item_base.html:311 +#: stock/serializers.py:152 stock/templates/stock/item_base.html:307 #: templates/js/translated/build.js:523 templates/js/translated/build.js:1543 #: templates/js/translated/build.js:2530 #: templates/js/translated/model_renderers.js:231 @@ -1645,17 +1645,17 @@ msgstr "Sorozatszám" msgid "Allocated Quantity" msgstr "Lefoglalt mennyiség" -#: build/serializers.py:1257 stock/templates/stock/item_base.html:340 +#: build/serializers.py:1257 stock/templates/stock/item_base.html:336 msgid "Available Quantity" msgstr "Elérhető mennyiség" #: build/serializers.py:1327 msgid "Part Category ID" -msgstr "" +msgstr "Alkatrész Kategória Azonosító" #: build/serializers.py:1328 msgid "Part Category Name" -msgstr "" +msgstr "Alkatrész kategória Neve" #: build/serializers.py:1335 common/models.py:1515 part/admin.py:113 #: part/models.py:1178 templates/js/translated/table_filters.js:150 @@ -1666,15 +1666,15 @@ msgstr "Követésre kötelezett" #: build/serializers.py:1336 msgid "Inherited" -msgstr "" +msgstr "Örökölt" -#: build/serializers.py:1337 part/models.py:4326 +#: build/serializers.py:1337 part/models.py:4313 #: part/templates/part/upload_bom.html:56 templates/js/translated/bom.js:1046 #: templates/js/translated/build.js:2714 msgid "Allow Variants" msgstr "Változatok" -#: build/serializers.py:1341 part/models.py:4124 part/models.py:4594 +#: build/serializers.py:1341 part/models.py:4111 part/models.py:4587 #: stock/api.py:793 msgid "BOM Item" msgstr "Alkatrészjegyzék tétel" @@ -1685,7 +1685,7 @@ msgid "Allocated Stock" msgstr "Lefoglalt készlet" #: build/serializers.py:1355 order/serializers.py:1179 part/admin.py:132 -#: part/bom.py:186 part/serializers.py:920 part/serializers.py:1623 +#: part/bom.py:186 part/serializers.py:918 part/serializers.py:1621 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 #: templates/js/translated/build.js:2807 templates/js/translated/part.js:712 #: templates/js/translated/part.js:2155 @@ -1693,13 +1693,13 @@ msgstr "Lefoglalt készlet" msgid "On Order" msgstr "Rendelve" -#: build/serializers.py:1360 order/serializers.py:1180 part/serializers.py:1625 +#: build/serializers.py:1360 order/serializers.py:1180 part/serializers.py:1623 #: templates/js/translated/build.js:2811 #: templates/js/translated/table_filters.js:367 msgid "In Production" msgstr "Gyártásban" -#: build/serializers.py:1365 part/bom.py:185 part/serializers.py:1650 +#: build/serializers.py:1365 part/bom.py:185 part/serializers.py:1648 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" @@ -1707,17 +1707,17 @@ msgstr "Elérhető készlet" #: build/serializers.py:1369 msgid "Available Substitute Stock" -msgstr "" +msgstr "Elérhető Helyettesítő Készlet" #: build/serializers.py:1370 msgid "Available Variant Stock" -msgstr "" +msgstr "Elérhető Készlet Változatokból" #: build/serializers.py:1371 msgid "Total Available Stock" -msgstr "" +msgstr "Teljes Elérhető Készlet" -#: build/serializers.py:1372 part/serializers.py:927 +#: build/serializers.py:1372 part/serializers.py:925 msgid "External Stock" msgstr "Külső raktárkészlet" @@ -1746,7 +1746,7 @@ msgstr "Törölve" #: importer/status_codes.py:27 order/status_codes.py:15 #: order/status_codes.py:50 order/status_codes.py:81 #: order/templates/order/order_base.html:163 -#: order/templates/order/sales_order_base.html:168 report/models.py:443 +#: order/templates/order/sales_order_base.html:168 report/models.py:451 msgid "Complete" msgstr "Kész" @@ -1839,7 +1839,7 @@ msgstr "Gyártás másolása" #: build/templates/build/build_base.html:76 msgid "Hold Build" -msgstr "" +msgstr "Gyártás felfüggesztése" #: build/templates/build/build_base.html:79 msgid "Cancel Build" @@ -1850,12 +1850,9 @@ msgid "Delete Build" msgstr "Gyártás törlése" #: build/templates/build/build_base.html:87 -msgid "Isueue Build" -msgstr "" - #: build/templates/build/build_base.html:88 msgid "Issue Build" -msgstr "" +msgstr "Gyártás Kiadása" #: build/templates/build/build_base.html:91 #: build/templates/build/build_base.html:92 @@ -1932,7 +1929,7 @@ msgstr "Befejezett kimenetek" #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_report.html:135 #: report/templates/report/inventree_sales_order_report.html:14 -#: stock/templates/stock/item_base.html:369 +#: stock/templates/stock/item_base.html:365 #: templates/email/overdue_sales_order.html:15 #: templates/js/translated/pricing.js:929 #: templates/js/translated/sales_order.js:805 @@ -1948,11 +1945,11 @@ msgstr "Prioritás" #: build/templates/build/build_base.html:267 msgid "Issue Build Order" -msgstr "" +msgstr "Gyártási Rendelés Kiadása" #: build/templates/build/build_base.html:271 msgid "Issue this Build Order?" -msgstr "" +msgstr "Kiadja ezt a Gyártási Rendelést?" #: build/templates/build/build_base.html:302 msgid "Delete Build Order" @@ -1992,7 +1989,7 @@ msgid "Allocated Parts" msgstr "Lefoglalt alkatrészek" #: build/templates/build/detail.html:80 stock/admin.py:163 -#: stock/templates/stock/item_base.html:162 +#: stock/templates/stock/item_base.html:158 #: templates/js/translated/build.js:1556 #: templates/js/translated/model_renderers.js:242 #: templates/js/translated/purchase_order.js:1326 @@ -2031,7 +2028,7 @@ msgstr "Alárendelt gyártások" #: build/templates/build/detail.html:177 msgid "Build Order Line Items" -msgstr "" +msgstr "Gyártási Rendelés Sor Tétel" #: build/templates/build/detail.html:181 msgid "Deallocate stock" @@ -2092,7 +2089,7 @@ msgstr "Befejezett gyártási kimenetek" #: build/templates/build/detail.html:273 msgid "Build test statistics" -msgstr "" +msgstr "Gyártási Ellenőrzési Statisztika" #: build/templates/build/detail.html:288 build/templates/build/sidebar.html:27 #: company/templates/company/detail.html:229 @@ -2147,23 +2144,23 @@ msgstr "Befejezetlen kimenetek" #: build/templates/build/sidebar.html:24 #: part/templates/part/part_sidebar.html:56 msgid "Test Statistics" -msgstr "" +msgstr "Ellenőrzési Statisztika" -#: common/api.py:692 +#: common/api.py:725 msgid "Is Link" -msgstr "" +msgstr "Ez egy hivatkozás" -#: common/api.py:700 +#: common/api.py:733 msgid "Is File" -msgstr "" +msgstr "Ez egy állomány" -#: common/api.py:743 +#: common/api.py:776 msgid "User does not have permission to delete these attachments" -msgstr "" +msgstr "A felhasználó nem jogosult ezen mellékletek törlésére" -#: common/api.py:760 +#: common/api.py:793 msgid "User does not have permission to delete this attachment" -msgstr "" +msgstr "A felhasználó nem jogosult ezen melléklet törlésére" #: common/currency.py:132 msgid "Invalid currency code" @@ -2353,8 +2350,8 @@ msgstr "Milyen gyakran frissítse az árfolyamokat (nulla a kikapcsoláshoz)" #: common/models.py:1297 common/models.py:1353 common/models.py:1366 #: common/models.py:1374 common/models.py:1383 common/models.py:1392 -#: common/models.py:1629 common/models.py:1651 common/models.py:1766 -#: common/models.py:2148 +#: common/models.py:1629 common/models.py:1651 common/models.py:1752 +#: common/models.py:2141 msgid "days" msgstr "nap" @@ -2488,19 +2485,19 @@ msgstr "Webkamerás kódolvasás engedélyezése a böngészőből" #: common/models.py:1415 msgid "Barcode Show Data" -msgstr "" +msgstr "Vonalkód Adat Megjelenítése" #: common/models.py:1416 msgid "Display barcode data in browser as text" -msgstr "" +msgstr "Vonalkód adat megjelenítése a böngészőben szövegként" #: common/models.py:1421 msgid "Barcode Generation Plugin" -msgstr "" +msgstr "Vonalkód Generáló Plugin" #: common/models.py:1422 msgid "Plugin to use for internal barcode data generation" -msgstr "" +msgstr "Belső vonalkód generálásra használatos plugin" #: common/models.py:1427 msgid "Part Revisions" @@ -2512,19 +2509,19 @@ msgstr "Alkatrész változat vagy verziószám tulajdonság használata" #: common/models.py:1433 msgid "Assembly Revision Only" -msgstr "" +msgstr "Csak Összeállítás Verzió" #: common/models.py:1434 msgid "Only allow revisions for assembly parts" -msgstr "" +msgstr "Csak összeállított alkatrészeknek lehessen verziója" #: common/models.py:1439 msgid "Allow Deletion from Assembly" -msgstr "" +msgstr "Lehessen törölni az Összeállításból" #: common/models.py:1440 msgid "Allow deletion of parts which are used in an assembly" -msgstr "" +msgstr "Lehessen olyan alkatrészt törölni ami Összeállításban szerepel" #: common/models.py:1445 msgid "IPN Regex" @@ -2582,9 +2579,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:1485 part/admin.py:108 part/models.py:3959 -#: report/models.py:293 report/models.py:360 report/serializers.py:90 -#: report/serializers.py:131 stock/serializers.py:233 +#: common/models.py:1485 part/admin.py:108 part/models.py:3946 +#: report/models.py:301 report/models.py:368 report/serializers.py:91 +#: report/serializers.py:132 stock/serializers.py:233 #: templates/js/translated/table_filters.js:138 #: templates/js/translated/table_filters.js:775 msgid "Template" @@ -2599,7 +2596,7 @@ 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:1497 part/admin.py:95 part/models.py:1172 -#: part/serializers.py:1617 templates/js/translated/table_filters.js:737 +#: part/serializers.py:1615 templates/js/translated/table_filters.js:737 msgid "Component" msgstr "Összetevő" @@ -2824,7 +2821,7 @@ msgid "Log errors which occur when generating reports" msgstr "Jelentések generálása közben jelentkező hibák naplózása" #: common/models.py:1702 plugin/builtin/labels/label_sheet.py:28 -#: report/models.py:301 +#: report/models.py:309 msgid "Page Size" msgstr "Lapméret" @@ -2833,914 +2830,914 @@ msgid "Default page size for PDF reports" msgstr "Alapértelmezett lapméret a PDF riportokhoz" #: common/models.py:1708 -msgid "Enable Test Reports" -msgstr "Teszt riportok engedélyezése" - -#: common/models.py:1709 -msgid "Enable generation of test reports" -msgstr "Teszt riportok előállításának engedélyezése" - -#: common/models.py:1714 -msgid "Attach Test Reports" -msgstr "Teszt riportok hozzáadása" - -#: common/models.py:1716 -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:1722 msgid "Globally Unique Serials" msgstr "Globálisan egyedi sorozatszámok" -#: common/models.py:1723 +#: common/models.py:1709 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:1728 +#: common/models.py:1714 msgid "Autofill Serial Numbers" msgstr "Sorozatszámok automatikus kitöltése" -#: common/models.py:1729 +#: common/models.py:1715 msgid "Autofill serial numbers in forms" msgstr "Sorozatszámok automatikus kitöltése a formokon" -#: common/models.py:1734 +#: common/models.py:1720 msgid "Delete Depleted Stock" msgstr "Kimerült készlet törlése" -#: common/models.py:1736 +#: common/models.py:1722 msgid "Determines default behavior when a stock item is depleted" msgstr "Alapértelmezett művelet mikor a készlet tétel elfogy" -#: common/models.py:1742 +#: common/models.py:1728 msgid "Batch Code Template" msgstr "Batch kód sablon" -#: common/models.py:1744 +#: common/models.py:1730 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:1749 +#: common/models.py:1735 msgid "Stock Expiry" msgstr "Készlet lejárata" -#: common/models.py:1750 +#: common/models.py:1736 msgid "Enable stock expiry functionality" msgstr "Készlet lejárat kezelésének engedélyezése" -#: common/models.py:1755 +#: common/models.py:1741 msgid "Sell Expired Stock" msgstr "Lejárt készlet értékesítése" -#: common/models.py:1756 +#: common/models.py:1742 msgid "Allow sale of expired stock" msgstr "Lejárt készlet értékesítésének engedélyezése" -#: common/models.py:1761 +#: common/models.py:1747 msgid "Stock Stale Time" msgstr "Álló készlet ideje" -#: common/models.py:1763 +#: common/models.py:1749 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:1770 +#: common/models.py:1756 msgid "Build Expired Stock" msgstr "Lejárt készlet gyártása" -#: common/models.py:1771 +#: common/models.py:1757 msgid "Allow building with expired stock" msgstr "Gyártás engedélyezése lejárt készletből" -#: common/models.py:1776 +#: common/models.py:1762 msgid "Stock Ownership Control" msgstr "Készlet tulajdonosok kezelése" -#: common/models.py:1777 +#: common/models.py:1763 msgid "Enable ownership control over stock locations and items" msgstr "Tulajdonosok kezelésének engedélyezése a készlet helyekre és tételekre" -#: common/models.py:1782 +#: common/models.py:1768 msgid "Stock Location Default Icon" msgstr "Hely alapértelmezett ikon" -#: common/models.py:1783 +#: common/models.py:1769 msgid "Stock location default icon (empty means no icon)" msgstr "Hely alapértelmezett ikon (üres ha nincs)" -#: common/models.py:1788 +#: common/models.py:1774 msgid "Show Installed Stock Items" msgstr "Beépített készlet megjelenítése" -#: common/models.py:1789 +#: common/models.py:1775 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:1794 +#: common/models.py:1780 msgid "Check BOM when installing items" msgstr "Tételek telepítésekor a darabjegyzék ellenőrzése" -#: common/models.py:1796 +#: common/models.py:1782 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "A beépített tételeknek a szülő elem darabjegyzékében szerepelniük kell" -#: common/models.py:1802 +#: common/models.py:1788 msgid "Allow Out of Stock Transfer" -msgstr "" +msgstr "Lehet Hiányzó Készletet Mozgatni" -#: common/models.py:1804 +#: common/models.py:1790 msgid "Allow stock items which are not in stock to be transferred between stock locations" -msgstr "" +msgstr "Lehet-e olyan készleteket mozgatni készlethelyek között amik nincsenek raktáron" -#: common/models.py:1810 +#: common/models.py:1796 msgid "Build Order Reference Pattern" msgstr "Gyártási utasítás azonosító minta" -#: common/models.py:1812 +#: common/models.py:1798 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:1818 common/models.py:1874 common/models.py:1896 -#: common/models.py:1932 +#: common/models.py:1804 common/models.py:1860 common/models.py:1882 +#: common/models.py:1918 msgid "Require Responsible Owner" msgstr "Felelős tulajdonos szükséges" -#: common/models.py:1819 common/models.py:1875 common/models.py:1897 -#: common/models.py:1933 +#: common/models.py:1805 common/models.py:1861 common/models.py:1883 +#: common/models.py:1919 msgid "A responsible owner must be assigned to each order" msgstr "Minden rendeléshez felelőst kell rendelni" -#: common/models.py:1824 +#: common/models.py:1810 msgid "Require Active Part" -msgstr "" +msgstr "Szükséges Aktív Alkatrész" -#: common/models.py:1825 +#: common/models.py:1811 msgid "Prevent build order creation for inactive parts" -msgstr "" +msgstr "Inaktív alkatrészekre nem lehet Gyártási Rendelést létrehozni" -#: common/models.py:1830 +#: common/models.py:1816 msgid "Require Locked Part" -msgstr "" +msgstr "Elvárás a Lezárt Alkatrész" -#: common/models.py:1831 +#: common/models.py:1817 msgid "Prevent build order creation for unlocked parts" -msgstr "" +msgstr "Megakadályozza, hogy nem lezárt alkatrészekre gyártási rendelést lehessen indítani" -#: common/models.py:1836 +#: common/models.py:1822 msgid "Require Valid BOM" -msgstr "" +msgstr "Jóváhagyott Alkatrészjegyzék Kötelező" -#: common/models.py:1838 +#: common/models.py:1824 msgid "Prevent build order creation unless BOM has been validated" -msgstr "" +msgstr "Megakadályozza gyártási rendelés készítését ha nincsen az Alkatrészjegyzék jóváhagyva" -#: common/models.py:1844 +#: common/models.py:1830 msgid "Require Closed Child Orders" -msgstr "" +msgstr "Leszármazott Gyártásoknak Lezártnak Kell Lennie" -#: common/models.py:1846 +#: common/models.py:1832 msgid "Prevent build order completion until all child orders are closed" -msgstr "" +msgstr "Amíg minden leszármazott gyártás le nincsen zárva nem lehet a szülő gyártást lezárni" -#: common/models.py:1852 +#: common/models.py:1838 msgid "Block Until Tests Pass" msgstr "Blokkolás a tesztek sikeres végrehajtásáig" -#: common/models.py:1854 +#: common/models.py:1840 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "Nem lehet gyártási tételt befejezni amíg valamennyi kötelező teszt sikeres nem lett" -#: common/models.py:1860 +#: common/models.py:1846 msgid "Enable Return Orders" msgstr "Visszavétel engedélyezése" -#: common/models.py:1861 +#: common/models.py:1847 msgid "Enable return order functionality in the user interface" msgstr "Visszavételek engedélyezése a felületen" -#: common/models.py:1866 +#: common/models.py:1852 msgid "Return Order Reference Pattern" msgstr "Visszavétel azonosító minta" -#: common/models.py:1868 +#: common/models.py:1854 msgid "Required pattern for generating Return Order reference field" msgstr "Szükséges minta a visszavétel azonosító mező előállításához" -#: common/models.py:1880 +#: common/models.py:1866 msgid "Edit Completed Return Orders" msgstr "Befejezett visszavétel szerkesztése" -#: common/models.py:1882 +#: common/models.py:1868 msgid "Allow editing of return orders after they have been completed" msgstr "Visszavétel szerkesztésének engedélyezése befejezés után" -#: common/models.py:1888 +#: common/models.py:1874 msgid "Sales Order Reference Pattern" msgstr "Vevői rendelés azonosító minta" -#: common/models.py:1890 +#: common/models.py:1876 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:1902 +#: common/models.py:1888 msgid "Sales Order Default Shipment" msgstr "Vevői rendeléshez alapértelmezett szállítmány" -#: common/models.py:1903 +#: common/models.py:1889 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:1908 +#: common/models.py:1894 msgid "Edit Completed Sales Orders" msgstr "Befejezett vevői rendelés szerkesztése" -#: common/models.py:1910 +#: common/models.py:1896 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:1916 +#: common/models.py:1902 msgid "Mark Shipped Orders as Complete" -msgstr "" +msgstr "Leszállított Rendelések Készre jelölése" -#: common/models.py:1918 +#: common/models.py:1904 msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status" -msgstr "" +msgstr "Leszállítottnak jelölt Értékesítési rendelések automatikusan Kész-re lesznek állítva, a \"Leszállított\" állapot átugrásával" -#: common/models.py:1924 +#: common/models.py:1910 msgid "Purchase Order Reference Pattern" msgstr "Beszerzési rendelés azonosító minta" -#: common/models.py:1926 +#: common/models.py:1912 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:1938 +#: common/models.py:1924 msgid "Edit Completed Purchase Orders" msgstr "Befejezett beszerzési rendelés szerkesztése" -#: common/models.py:1940 +#: common/models.py:1926 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:1946 +#: common/models.py:1932 msgid "Auto Complete Purchase Orders" msgstr "Beszerzési rendelések automatikus befejezése" -#: common/models.py:1948 +#: common/models.py:1934 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "A beszerzési rendelés automatikus befejezése ha minden sortétel beérkezett" -#: common/models.py:1955 +#: common/models.py:1941 msgid "Enable password forgot" msgstr "Elfelejtett jelszó engedélyezése" -#: common/models.py:1956 +#: common/models.py:1942 msgid "Enable password forgot function on the login pages" msgstr "Elfelejtett jelszó funkció engedélyezése a bejentkező oldalon" -#: common/models.py:1961 +#: common/models.py:1947 msgid "Enable registration" msgstr "Regisztráció engedélyezése" -#: common/models.py:1962 +#: common/models.py:1948 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:1967 +#: common/models.py:1953 msgid "Enable SSO" msgstr "SSO engedélyezése" -#: common/models.py:1968 +#: common/models.py:1954 msgid "Enable SSO on the login pages" msgstr "SSO engedélyezése a bejelentkező oldalon" -#: common/models.py:1973 +#: common/models.py:1959 msgid "Enable SSO registration" msgstr "SSO regisztráció engedélyezése" -#: common/models.py:1975 +#: common/models.py:1961 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:1981 +#: common/models.py:1967 msgid "Enable SSO group sync" -msgstr "" +msgstr "SSO csoport szinkronizálás engedélyezése" -#: common/models.py:1983 +#: common/models.py:1969 msgid "Enable synchronizing InvenTree groups with groups provided by the IdP" -msgstr "" +msgstr "Az InvenTree csoportok szinkronizálása a hitelesítésszolgáltatóhoz" -#: common/models.py:1989 +#: common/models.py:1975 msgid "SSO group key" -msgstr "" +msgstr "SSO csoport kulcs" -#: common/models.py:1991 +#: common/models.py:1977 msgid "The name of the groups claim attribute provided by the IdP" -msgstr "" +msgstr "A csoportkérés tulajdonság neve amit a hitelesítésszolgáltató nyújt" -#: common/models.py:1997 +#: common/models.py:1983 msgid "SSO group map" -msgstr "" +msgstr "SSO csoport hozzárendelés" -#: common/models.py:1999 +#: common/models.py:1985 msgid "A mapping from SSO groups to local InvenTree groups. If the local group does not exist, it will be created." -msgstr "" +msgstr "Az SSO csoportok hozzárendelése az InvenTree csoportokhoz. Ha a helyi csoport nem létezik, létre lesz hozva." -#: common/models.py:2005 +#: common/models.py:1991 msgid "Remove groups outside of SSO" -msgstr "" +msgstr "Az SSO-n kívüli csoportok eltávolítása" -#: common/models.py:2007 +#: common/models.py:1993 msgid "Whether groups assigned to the user should be removed if they are not backend by the IdP. Disabling this setting might cause security issues" -msgstr "" +msgstr "Ha egy felhasználóhoz rendelt csoport nem létezik az azonosításszolgáltatóban azt eltávolítsuk el. Ennek a kikapcsolása biztonsági problémákhoz vezethet" -#: common/models.py:2013 +#: common/models.py:1999 msgid "Email required" msgstr "Email szükséges" -#: common/models.py:2014 +#: common/models.py:2000 msgid "Require user to supply mail on signup" msgstr "Kötelező email megadás regisztrációkor" -#: common/models.py:2019 +#: common/models.py:2005 msgid "Auto-fill SSO users" msgstr "SSO felhasználók automatikus kitöltése" -#: common/models.py:2021 +#: common/models.py:2007 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:2027 +#: common/models.py:2013 msgid "Mail twice" msgstr "Email kétszer" -#: common/models.py:2028 +#: common/models.py:2014 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:2033 +#: common/models.py:2019 msgid "Password twice" msgstr "Jelszó kétszer" -#: common/models.py:2034 +#: common/models.py:2020 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:2039 +#: common/models.py:2025 msgid "Allowed domains" msgstr "Engedélyezett domainek" -#: common/models.py:2041 +#: common/models.py:2027 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:2047 +#: common/models.py:2033 msgid "Group on signup" msgstr "Csoport regisztráláskor" -#: common/models.py:2049 +#: common/models.py:2035 msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP." -msgstr "" +msgstr "Ehhez a csoporthoz lesznek az új felhasználók rendelve. Ha az SSO csoport szinkronizálás engedélyezve van, akkor ez a csoport csak akkor lesz hozzárendelve a felhasználóhoz ha az azonosítás szolgáltató semmilyen csoportot nem rendelt hozzá." -#: common/models.py:2055 +#: common/models.py:2041 msgid "Enforce MFA" msgstr "Többfaktoros hitelesítés kényszerítése" -#: common/models.py:2056 +#: common/models.py:2042 msgid "Users must use multifactor security." msgstr "A felhasználóknak többfaktoros hitelesítést kell használniuk." -#: common/models.py:2061 +#: common/models.py:2047 msgid "Check plugins on startup" msgstr "Pluginok ellenőrzése indításkor" -#: common/models.py:2063 +#: common/models.py:2049 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:2071 +#: common/models.py:2057 msgid "Check for plugin updates" msgstr "Plugin frissítések ellenőrzése" -#: common/models.py:2072 +#: common/models.py:2058 msgid "Enable periodic checks for updates to installed plugins" msgstr "Frissítések periódikus ellenőrzésének engedélyezése a telepített pluginokra" -#: common/models.py:2078 +#: common/models.py:2064 msgid "Enable URL integration" msgstr "URL integráció engedélyezése" -#: common/models.py:2079 +#: common/models.py:2065 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:2085 +#: common/models.py:2071 msgid "Enable navigation integration" msgstr "Navigációs integráció engedélyezése" -#: common/models.py:2086 +#: common/models.py:2072 msgid "Enable plugins to integrate into navigation" msgstr "Navigációs integráció engedélyezése a pluginok számára" -#: common/models.py:2092 +#: common/models.py:2078 msgid "Enable app integration" msgstr "App integráció engedélyezése" -#: common/models.py:2093 +#: common/models.py:2079 msgid "Enable plugins to add apps" msgstr "App hozzáadásának engedélyezése a pluginok számára" -#: common/models.py:2099 +#: common/models.py:2085 msgid "Enable schedule integration" msgstr "Ütemezés integráció engedélyezése" -#: common/models.py:2100 +#: common/models.py:2086 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:2106 +#: common/models.py:2092 msgid "Enable event integration" msgstr "Esemény integráció engedélyezése" -#: common/models.py:2107 +#: common/models.py:2093 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:2113 +#: common/models.py:2099 +msgid "Enable interface integration" +msgstr "" + +#: common/models.py:2100 +msgid "Enable plugins to integrate into the user interface" +msgstr "" + +#: common/models.py:2106 msgid "Enable project codes" msgstr "Projektszámok engedélyezése" -#: common/models.py:2114 +#: common/models.py:2107 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:2119 +#: common/models.py:2112 msgid "Stocktake Functionality" msgstr "Leltár funkció" -#: common/models.py:2121 +#: common/models.py:2114 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:2127 +#: common/models.py:2120 msgid "Exclude External Locations" msgstr "Külső helyek nélkül" -#: common/models.py:2129 +#: common/models.py:2122 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "Külső helyek figyelmen kívül hagyása a leltár számításoknál" -#: common/models.py:2135 +#: common/models.py:2128 msgid "Automatic Stocktake Period" msgstr "Automatikus leltár időpontja" -#: common/models.py:2137 +#: common/models.py:2130 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:2143 +#: common/models.py:2136 msgid "Report Deletion Interval" msgstr "Riport törlési gyakoriság" -#: common/models.py:2145 +#: common/models.py:2138 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:2152 +#: common/models.py:2145 msgid "Display Users full names" msgstr "Felhasználók teljes nevének megjelenítése" -#: common/models.py:2153 +#: common/models.py:2146 msgid "Display Users full names instead of usernames" msgstr "Felhasználói név helyett a felhasználók teljes neve jelenik meg" -#: common/models.py:2158 +#: common/models.py:2151 msgid "Enable Test Station Data" msgstr "Teszt állomás adatok engedélyezése" -#: common/models.py:2159 +#: common/models.py:2152 msgid "Enable test station data collection for test results" msgstr "Tesztállomás adatok gyűjtésének teszt eredménybe gyűjtésének engedélyezése" -#: common/models.py:2171 common/models.py:2551 +#: common/models.py:2157 +msgid "Create Template on Upload" +msgstr "" + +#: common/models.py:2159 +msgid "Create a new test template when uploading test data which does not match an existing template" +msgstr "" + +#: common/models.py:2172 common/models.py:2552 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:2214 +#: common/models.py:2215 msgid "Hide inactive parts" msgstr "Inaktív alkatrészek elrejtése" -#: common/models.py:2216 +#: common/models.py:2217 msgid "Hide inactive parts in results displayed on the homepage" msgstr "Nem aktív alkatrészek elrejtése a kezdőlapon" -#: common/models.py:2222 +#: common/models.py:2223 msgid "Show subscribed parts" msgstr "Értesítésre beállított alkatrészek megjelenítése" -#: common/models.py:2223 +#: common/models.py:2224 msgid "Show subscribed parts on the homepage" msgstr "Alkatrész értesítések megjelenítése a főoldalon" -#: common/models.py:2228 +#: common/models.py:2229 msgid "Show subscribed categories" msgstr "Értesítésre beállított kategóriák megjelenítése" -#: common/models.py:2229 +#: common/models.py:2230 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:2234 +#: common/models.py:2235 msgid "Show latest parts" msgstr "Legújabb alkatrészek megjelenítése" -#: common/models.py:2235 +#: common/models.py:2236 msgid "Show latest parts on the homepage" msgstr "Legújabb alkatrészek megjelenítése a főoldalon" -#: common/models.py:2240 +#: common/models.py:2241 msgid "Show invalid BOMs" msgstr "Hibás alkatrészjegyzékek megjelenítése" -#: common/models.py:2241 +#: common/models.py:2242 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:2246 +#: common/models.py:2247 msgid "Show recent stock changes" msgstr "Legfrissebb készlet változások megjelenítése" -#: common/models.py:2247 +#: common/models.py:2248 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:2252 +#: common/models.py:2253 msgid "Show low stock" msgstr "Alacsony készlet megjelenítése" -#: common/models.py:2253 +#: common/models.py:2254 msgid "Show low stock items on the homepage" msgstr "Alacsony készletek megjelenítése a főoldalon" -#: common/models.py:2258 +#: common/models.py:2259 msgid "Show depleted stock" msgstr "Kimerült készlet megjelenítése" -#: common/models.py:2259 +#: common/models.py:2260 msgid "Show depleted stock items on the homepage" msgstr "Kimerült készletek megjelenítése a főoldalon" -#: common/models.py:2264 +#: common/models.py:2265 msgid "Show needed stock" msgstr "Gyártáshoz szükséges készlet megjelenítése" -#: common/models.py:2265 +#: common/models.py:2266 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:2270 +#: common/models.py:2271 msgid "Show expired stock" msgstr "Lejárt készlet megjelenítése" -#: common/models.py:2271 +#: common/models.py:2272 msgid "Show expired stock items on the homepage" msgstr "Lejárt készletek megjelenítése a főoldalon" -#: common/models.py:2276 +#: common/models.py:2277 msgid "Show stale stock" msgstr "Állott készlet megjelenítése" -#: common/models.py:2277 +#: common/models.py:2278 msgid "Show stale stock items on the homepage" msgstr "Álló készletek megjelenítése a főoldalon" -#: common/models.py:2282 +#: common/models.py:2283 msgid "Show pending builds" msgstr "Függő gyártások megjelenítése" -#: common/models.py:2283 +#: common/models.py:2284 msgid "Show pending builds on the homepage" msgstr "Folyamatban lévő gyártások megjelenítése a főoldalon" -#: common/models.py:2288 +#: common/models.py:2289 msgid "Show overdue builds" msgstr "Késésben lévő gyártások megjelenítése" -#: common/models.py:2289 +#: common/models.py:2290 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:2294 +#: common/models.py:2295 msgid "Show outstanding POs" msgstr "Kintlévő beszerzési rendelések megjelenítése" -#: common/models.py:2295 +#: common/models.py:2296 msgid "Show outstanding POs on the homepage" msgstr "Kintlévő beszerzési rendelések megjelenítése a főoldalon" -#: common/models.py:2300 +#: common/models.py:2301 msgid "Show overdue POs" msgstr "Késésben lévő megrendelések megjelenítése" -#: common/models.py:2301 +#: common/models.py:2302 msgid "Show overdue POs on the homepage" msgstr "Késésben lévő megrendelések megjelenítése a főoldalon" -#: common/models.py:2306 +#: common/models.py:2307 msgid "Show outstanding SOs" msgstr "Függő vevői rendelések megjelenítése" -#: common/models.py:2307 +#: common/models.py:2308 msgid "Show outstanding SOs on the homepage" msgstr "Függő vevői rendelések megjelenítése a főoldalon" -#: common/models.py:2312 +#: common/models.py:2313 msgid "Show overdue SOs" msgstr "Késésben lévő vevői rendelések megjelenítése" -#: common/models.py:2313 +#: common/models.py:2314 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:2318 +#: common/models.py:2319 msgid "Show pending SO shipments" msgstr "Függő vevői szállítmányok megjelenítése" -#: common/models.py:2319 +#: common/models.py:2320 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:2324 +#: common/models.py:2325 msgid "Show News" msgstr "Hírek megjelenítése" -#: common/models.py:2325 +#: common/models.py:2326 msgid "Show news on the homepage" msgstr "Hírek megjelenítése a főoldalon" -#: common/models.py:2330 +#: common/models.py:2331 msgid "Inline label display" msgstr "Beágyazott címke megjelenítés" -#: common/models.py:2332 +#: common/models.py:2333 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:2338 +#: common/models.py:2339 msgid "Default label printer" msgstr "Alapértelmezett címkenyomtató" -#: common/models.py:2340 +#: common/models.py:2341 msgid "Configure which label printer should be selected by default" msgstr "Melyik címkenyomtató legyen az alapértelmezett" -#: common/models.py:2346 +#: common/models.py:2347 msgid "Inline report display" msgstr "Beágyazott riport megjelenítés" -#: common/models.py:2348 +#: common/models.py:2349 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:2354 +#: common/models.py:2355 msgid "Search Parts" msgstr "Alkatrészek keresése" -#: common/models.py:2355 +#: common/models.py:2356 msgid "Display parts in search preview window" msgstr "Alkatrészek megjelenítése a keresési előnézetben" -#: common/models.py:2360 +#: common/models.py:2361 msgid "Search Supplier Parts" msgstr "Beszállítói alkatrészek keresése" -#: common/models.py:2361 +#: common/models.py:2362 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:2366 +#: common/models.py:2367 msgid "Search Manufacturer Parts" msgstr "Gyártói alkatrészek keresése" -#: common/models.py:2367 +#: common/models.py:2368 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:2372 +#: common/models.py:2373 msgid "Hide Inactive Parts" msgstr "Inaktív alkatrészek elrejtése" -#: common/models.py:2373 +#: common/models.py:2374 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:2378 +#: common/models.py:2379 msgid "Search Categories" msgstr "Kategóriák keresése" -#: common/models.py:2379 +#: common/models.py:2380 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:2384 +#: common/models.py:2385 msgid "Search Stock" msgstr "Készlet keresése" -#: common/models.py:2385 +#: common/models.py:2386 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:2390 +#: common/models.py:2391 msgid "Hide Unavailable Stock Items" msgstr "Nem elérhető készlet tételek elrejtése" -#: common/models.py:2392 +#: common/models.py:2393 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:2398 +#: common/models.py:2399 msgid "Search Locations" msgstr "Helyek keresése" -#: common/models.py:2399 +#: common/models.py:2400 msgid "Display stock locations in search preview window" msgstr "Készlet helyek megjelenítése a keresési előnézetben" -#: common/models.py:2404 +#: common/models.py:2405 msgid "Search Companies" msgstr "Cégek keresése" -#: common/models.py:2405 +#: common/models.py:2406 msgid "Display companies in search preview window" msgstr "Cégek megjelenítése a keresési előnézetben" -#: common/models.py:2410 +#: common/models.py:2411 msgid "Search Build Orders" msgstr "Gyártási utasítások keresése" -#: common/models.py:2411 +#: common/models.py:2412 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:2416 +#: common/models.py:2417 msgid "Search Purchase Orders" msgstr "Beszerzési rendelések keresése" -#: common/models.py:2417 +#: common/models.py:2418 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:2422 +#: common/models.py:2423 msgid "Exclude Inactive Purchase Orders" msgstr "Inaktív beszerzési rendelések kihagyása" -#: common/models.py:2424 +#: common/models.py:2425 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:2430 +#: common/models.py:2431 msgid "Search Sales Orders" msgstr "Vevői rendelések keresése" -#: common/models.py:2431 +#: common/models.py:2432 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:2436 +#: common/models.py:2437 msgid "Exclude Inactive Sales Orders" msgstr "Inaktív vevői rendelések kihagyása" -#: common/models.py:2438 +#: common/models.py:2439 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:2444 +#: common/models.py:2445 msgid "Search Return Orders" msgstr "Visszavétel keresése" -#: common/models.py:2445 +#: common/models.py:2446 msgid "Display return orders in search preview window" msgstr "Visszavételek megjelenítése a keresés előnézet ablakban" -#: common/models.py:2450 +#: common/models.py:2451 msgid "Exclude Inactive Return Orders" msgstr "Inaktív visszavételek kihagyása" -#: common/models.py:2452 +#: common/models.py:2453 msgid "Exclude inactive return orders from search preview window" msgstr "Inaktív visszavételek kihagyása a keresési előnézet találataiból" -#: common/models.py:2458 +#: common/models.py:2459 msgid "Search Preview Results" msgstr "Keresési előnézet eredményei" -#: common/models.py:2460 +#: common/models.py:2461 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:2466 +#: common/models.py:2467 msgid "Regex Search" msgstr "Regex keresés" -#: common/models.py:2467 +#: common/models.py:2468 msgid "Enable regular expressions in search queries" msgstr "Reguláris kifejezések engedélyezése a keresésekben" -#: common/models.py:2472 +#: common/models.py:2473 msgid "Whole Word Search" msgstr "Teljes szó keresés" -#: common/models.py:2473 +#: common/models.py:2474 msgid "Search queries return results for whole word matches" msgstr "A keresések csak teljes szóra egyező találatokat adjanak" -#: common/models.py:2478 +#: common/models.py:2479 msgid "Show Quantity in Forms" msgstr "Mennyiség megjelenítése a formokon" -#: common/models.py:2479 +#: common/models.py:2480 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:2484 +#: common/models.py:2485 msgid "Escape Key Closes Forms" msgstr "ESC billentyű zárja be a formot" -#: common/models.py:2485 +#: common/models.py:2486 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:2490 +#: common/models.py:2491 msgid "Fixed Navbar" msgstr "Rögzített menüsor" -#: common/models.py:2491 +#: common/models.py:2492 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:2496 +#: common/models.py:2497 msgid "Date Format" msgstr "Dátum formátum" -#: common/models.py:2497 +#: common/models.py:2498 msgid "Preferred format for displaying dates" msgstr "Preferált dátum formátum a dátumok kijelzésekor" -#: common/models.py:2510 part/templates/part/detail.html:41 +#: common/models.py:2511 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "Alkatrész ütemezés" -#: common/models.py:2511 +#: common/models.py:2512 msgid "Display part scheduling information" msgstr "Alkatrész ütemezési információk megjelenítése" -#: common/models.py:2516 part/templates/part/detail.html:62 +#: common/models.py:2517 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "Alkatrész leltár" -#: common/models.py:2518 +#: common/models.py:2519 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:2524 +#: common/models.py:2525 msgid "Table String Length" msgstr "Táblázati szöveg hossz" -#: common/models.py:2526 +#: common/models.py:2527 msgid "Maximum length limit for strings displayed in table views" msgstr "Maximális szöveg hossz ami megjelenhet a táblázatokban" -#: common/models.py:2532 +#: common/models.py:2533 msgid "Receive error reports" msgstr "Hibariportok fogadása" -#: common/models.py:2533 +#: common/models.py:2534 msgid "Receive notifications for system errors" msgstr "Értesítések fogadása a rendszerhibákról" -#: common/models.py:2538 +#: common/models.py:2539 msgid "Last used printing machines" msgstr "Utoljára használt nyomtató gépek" -#: common/models.py:2539 +#: common/models.py:2540 msgid "Save the last used printing machines for a user" msgstr "Az utoljára használt nyomtató tárolása a felhasználóhoz" -#: common/models.py:2559 common/models.py:2560 common/models.py:2717 -#: common/models.py:2718 common/models.py:2963 common/models.py:2964 -#: common/models.py:3287 common/models.py:3288 importer/models.py:89 -#: part/models.py:3319 part/models.py:3406 part/models.py:3480 -#: part/models.py:3508 plugin/models.py:274 plugin/models.py:275 +#: common/models.py:2560 common/models.py:2561 common/models.py:2718 +#: common/models.py:2719 common/models.py:2964 common/models.py:2965 +#: common/models.py:3288 common/models.py:3289 importer/models.py:89 +#: part/models.py:3306 part/models.py:3393 part/models.py:3467 +#: part/models.py:3495 plugin/models.py:274 plugin/models.py:275 #: report/templates/report/inventree_test_report.html:105 #: templates/js/translated/stock.js:3121 users/models.py:111 msgid "User" msgstr "Felhasználó" -#: common/models.py:2582 +#: common/models.py:2583 msgid "Price break quantity" msgstr "Ársáv mennyiség" -#: common/models.py:2589 company/serializers.py:517 order/admin.py:42 +#: common/models.py:2590 company/serializers.py:517 order/admin.py:42 #: order/models.py:1423 order/models.py:2410 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1892 #: templates/js/translated/pricing.js:621 @@ -3748,96 +3745,96 @@ msgstr "Ársáv mennyiség" msgid "Price" msgstr "Ár" -#: common/models.py:2590 +#: common/models.py:2591 msgid "Unit price at specified quantity" msgstr "Egységár egy meghatározott mennyiség esetén" -#: common/models.py:2694 common/models.py:2879 +#: common/models.py:2695 common/models.py:2880 msgid "Endpoint" msgstr "Végpont" -#: common/models.py:2695 +#: common/models.py:2696 msgid "Endpoint at which this webhook is received" msgstr "Végpont ahol ez a webhook érkezik" -#: common/models.py:2705 +#: common/models.py:2706 msgid "Name for this webhook" msgstr "Webhook neve" -#: common/models.py:2709 +#: common/models.py:2710 msgid "Is this webhook active" msgstr "Aktív-e ez a webhook" -#: common/models.py:2725 users/models.py:159 +#: common/models.py:2726 users/models.py:159 msgid "Token" msgstr "Token" -#: common/models.py:2726 +#: common/models.py:2727 msgid "Token for access" msgstr "Token a hozzáféréshez" -#: common/models.py:2734 +#: common/models.py:2735 msgid "Secret" msgstr "Titok" -#: common/models.py:2735 +#: common/models.py:2736 msgid "Shared secret for HMAC" msgstr "Megosztott titok a HMAC-hoz" -#: common/models.py:2843 +#: common/models.py:2844 msgid "Message ID" msgstr "Üzenet azonosító" -#: common/models.py:2844 +#: common/models.py:2845 msgid "Unique identifier for this message" msgstr "Egyedi azonosító ehhez az üzenethez" -#: common/models.py:2852 +#: common/models.py:2853 msgid "Host" msgstr "Kiszolgáló" -#: common/models.py:2853 +#: common/models.py:2854 msgid "Host from which this message was received" msgstr "Kiszolgáló ahonnan ez az üzenet érkezett" -#: common/models.py:2861 +#: common/models.py:2862 msgid "Header" msgstr "Fejléc" -#: common/models.py:2862 +#: common/models.py:2863 msgid "Header of this message" msgstr "Üzenet fejléce" -#: common/models.py:2869 +#: common/models.py:2870 msgid "Body" msgstr "Törzs" -#: common/models.py:2870 +#: common/models.py:2871 msgid "Body of this message" msgstr "Üzenet törzse" -#: common/models.py:2880 +#: common/models.py:2881 msgid "Endpoint on which this message was received" msgstr "Végpont amin ez az üzenet érkezett" -#: common/models.py:2885 +#: common/models.py:2886 msgid "Worked on" msgstr "Dolgozott rajta" -#: common/models.py:2886 +#: common/models.py:2887 msgid "Was the work on this message finished?" msgstr "Befejeződött a munka ezzel az üzenettel?" -#: common/models.py:3012 +#: common/models.py:3013 msgid "Id" msgstr "Azonosító" -#: common/models.py:3014 templates/js/translated/company.js:965 +#: common/models.py:3015 templates/js/translated/company.js:965 #: templates/js/translated/news.js:44 msgid "Title" msgstr "Cím" -#: common/models.py:3016 common/models.py:3271 company/models.py:146 +#: common/models.py:3017 common/models.py:3272 company/models.py:146 #: company/models.py:443 company/models.py:509 company/models.py:815 #: order/models.py:303 order/models.py:1378 order/models.py:1810 #: part/admin.py:55 part/models.py:1069 @@ -3854,219 +3851,219 @@ msgstr "Cím" msgid "Link" msgstr "Link" -#: common/models.py:3018 templates/js/translated/news.js:60 +#: common/models.py:3019 templates/js/translated/news.js:60 msgid "Published" msgstr "Közzétéve" -#: common/models.py:3020 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:3021 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:103 msgid "Author" msgstr "Szerző" -#: common/models.py:3022 templates/js/translated/news.js:52 +#: common/models.py:3023 templates/js/translated/news.js:52 msgid "Summary" msgstr "Összefoglaló" -#: common/models.py:3025 +#: common/models.py:3026 msgid "Read" msgstr "Elolvasva" -#: common/models.py:3025 +#: common/models.py:3026 msgid "Was this news item read?" msgstr "Elolvasva?" -#: common/models.py:3042 company/models.py:156 part/models.py:1079 +#: common/models.py:3043 company/models.py:156 part/models.py:1079 #: 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.html:35 -#: stock/templates/stock/item_base.html:133 templates/503.html:31 +#: stock/templates/stock/item_base.html:129 templates/503.html:31 #: templates/hover_image.html:7 templates/hover_image.html:9 #: templates/modals.html:6 msgid "Image" msgstr "Kép" -#: common/models.py:3042 +#: common/models.py:3043 msgid "Image file" msgstr "Képfájl" -#: common/models.py:3054 common/models.py:3255 +#: common/models.py:3055 common/models.py:3256 msgid "Target model type for this image" -msgstr "" +msgstr "A képhez tartozó model típus" -#: common/models.py:3058 +#: common/models.py:3059 msgid "Target model ID for this image" -msgstr "" +msgstr "A képhez tartozó model azonosító" -#: common/models.py:3080 +#: common/models.py:3081 msgid "Custom Unit" -msgstr "" +msgstr "Egyedi mértékegység" -#: common/models.py:3098 +#: common/models.py:3099 msgid "Unit symbol must be unique" -msgstr "" +msgstr "A mértékegység szimbólumának egyedinek kell lennie" -#: common/models.py:3113 +#: common/models.py:3114 msgid "Unit name must be a valid identifier" msgstr "A mértékegységnek valós azonosítónak kell lennie" -#: common/models.py:3132 +#: common/models.py:3133 msgid "Unit name" msgstr "Egység neve" -#: common/models.py:3139 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3140 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "Szimbólum" -#: common/models.py:3140 +#: common/models.py:3141 msgid "Optional unit symbol" msgstr "Opcionális mértékegység szimbólum" -#: common/models.py:3146 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3147 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "Definíció" -#: common/models.py:3147 +#: common/models.py:3148 msgid "Unit definition" msgstr "Mértékegység definíció" -#: common/models.py:3205 common/models.py:3262 stock/models.py:2552 +#: common/models.py:3206 common/models.py:3263 stock/models.py:2547 #: stock/serializers.py:244 templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:345 msgid "Attachment" msgstr "Melléklet" -#: common/models.py:3217 +#: common/models.py:3218 msgid "Missing file" msgstr "Hiányzó fájl" -#: common/models.py:3218 +#: common/models.py:3219 msgid "Missing external link" msgstr "Hiányzó külső link" -#: common/models.py:3263 +#: common/models.py:3264 msgid "Select file to attach" msgstr "Válaszd ki a mellekelni kívánt fájlt" -#: common/models.py:3278 templates/js/translated/attachment.js:120 +#: common/models.py:3279 templates/js/translated/attachment.js:120 #: templates/js/translated/attachment.js:360 msgid "Comment" msgstr "Megjegyzés" -#: common/models.py:3279 +#: common/models.py:3280 msgid "Attachment comment" -msgstr "" +msgstr "Melléklet megjegyzés" -#: common/models.py:3295 +#: common/models.py:3296 msgid "Upload date" -msgstr "" +msgstr "Feltöltés dátuma" -#: common/models.py:3296 +#: common/models.py:3297 msgid "Date the file was uploaded" -msgstr "" +msgstr "A fájl feltöltésének dátuma" -#: common/models.py:3300 +#: common/models.py:3301 msgid "File size" msgstr "Fájl mérete" -#: common/models.py:3300 +#: common/models.py:3301 msgid "File size in bytes" msgstr "Fájlméret bájtban" -#: common/models.py:3338 common/serializers.py:588 +#: common/models.py:3339 common/serializers.py:604 msgid "Invalid model type specified for attachment" -msgstr "" +msgstr "A melléklet model típusa érvénytelen" -#: common/models.py:3347 plugin/models.py:43 users/models.py:100 +#: common/models.py:3348 plugin/models.py:43 users/models.py:100 msgid "Key" msgstr "Kulcs" -#: common/models.py:3348 +#: common/models.py:3349 msgid "Value that will be saved in the models database" -msgstr "" +msgstr "A model adatbázisba tárolandó érték" -#: common/models.py:3351 +#: common/models.py:3352 msgid "Name of the state" -msgstr "" +msgstr "Az állapot neve" -#: common/models.py:3355 +#: common/models.py:3356 msgid "Label" -msgstr "" +msgstr "Címke" -#: common/models.py:3356 +#: common/models.py:3357 msgid "Label that will be displayed in the frontend" -msgstr "" +msgstr "A felületen megjelenített címke" -#: common/models.py:3362 +#: common/models.py:3363 msgid "Color" -msgstr "" +msgstr "Szín" -#: common/models.py:3363 +#: common/models.py:3364 msgid "Color that will be displayed in the frontend" -msgstr "" +msgstr "A felöleten megjelenő szín" -#: common/models.py:3366 +#: common/models.py:3367 msgid "Logical Key" -msgstr "" +msgstr "Logikai kulcs" -#: common/models.py:3368 +#: common/models.py:3369 msgid "State logical key that is equal to this custom state in business logic" -msgstr "" +msgstr "Az állapot logikai kulcsa amely megegyezik az üzleti logika egyedi állapotával" -#: common/models.py:3376 +#: common/models.py:3377 msgid "Model" -msgstr "" +msgstr "Model" -#: common/models.py:3377 +#: common/models.py:3378 msgid "Model this state is associated with" -msgstr "" +msgstr "A Model amihez ez az állapot tartozik" -#: common/models.py:3381 +#: common/models.py:3382 msgid "Reference Status Set" -msgstr "" +msgstr "Hivatkozott Állapot Készlet" -#: common/models.py:3382 +#: common/models.py:3383 msgid "Status set that is extended with this custom state" -msgstr "" +msgstr "Az az Állapot készlet, melyet ez az egyedi állapot kibővít" -#: common/models.py:3388 +#: common/models.py:3389 msgid "Custom State" -msgstr "" +msgstr "Egyedi Állapot" -#: common/models.py:3389 +#: common/models.py:3390 msgid "Custom States" -msgstr "" +msgstr "Egyedi Állapotok" -#: common/models.py:3404 +#: common/models.py:3405 msgid "Model must be selected" -msgstr "" +msgstr "Modelt választani kötelező" -#: common/models.py:3407 +#: common/models.py:3408 msgid "Key must be selected" -msgstr "" +msgstr "Kulcsot választani kötelező" -#: common/models.py:3410 +#: common/models.py:3411 msgid "Logical key must be selected" -msgstr "" +msgstr "Logikai kulcsot választani kötelező" -#: common/models.py:3414 +#: common/models.py:3415 msgid "Key must be different from logical key" -msgstr "" +msgstr "A kulcs és a logikai kulcs nem lehet azonos" -#: common/models.py:3418 +#: common/models.py:3419 msgid "Reference status must be selected" -msgstr "" +msgstr "Kötelező kiválasztani a bővítendő állapotot" -#: common/models.py:3430 +#: common/models.py:3431 msgid "Reference status set not found" -msgstr "" +msgstr "A hivatkozott állapot nem található" -#: common/models.py:3436 +#: common/models.py:3437 msgid "Key must be different from the logical keys of the reference status" -msgstr "" +msgstr "A kulcsnak eltérőnek kell lennie a hivatkozott állapotok logikai kulcsaitól" -#: common/models.py:3442 +#: common/models.py:3443 msgid "Logical key must be in the logical keys of the reference status" -msgstr "" +msgstr "A logikai kulcsnak szerepelnie kell a hivatkozott állapotok logikai kulcsai közt" #: common/notifications.py:310 #, python-brace-format @@ -4102,93 +4099,93 @@ msgstr "Készlet érkezett vissza egy visszavétel miatt" msgid "Error raised by plugin" msgstr "Plugin hiba" -#: common/serializers.py:402 +#: common/serializers.py:418 msgid "Is Running" msgstr "Folyamatban" -#: common/serializers.py:408 +#: common/serializers.py:424 msgid "Pending Tasks" msgstr "Folyamatban lévő feladatok" -#: common/serializers.py:414 +#: common/serializers.py:430 msgid "Scheduled Tasks" msgstr "Ütemezett Feladatok" -#: common/serializers.py:420 +#: common/serializers.py:436 msgid "Failed Tasks" msgstr "Hibás feladatok" -#: common/serializers.py:435 +#: common/serializers.py:451 msgid "Task ID" msgstr "Feladat ID" -#: common/serializers.py:435 +#: common/serializers.py:451 msgid "Unique task ID" msgstr "Egyedi feladat ID" -#: common/serializers.py:437 +#: common/serializers.py:453 msgid "Lock" msgstr "Zárol" -#: common/serializers.py:437 +#: common/serializers.py:453 msgid "Lock time" msgstr "Zárolási idő" -#: common/serializers.py:439 +#: common/serializers.py:455 msgid "Task name" msgstr "Feladat neve" -#: common/serializers.py:441 +#: common/serializers.py:457 msgid "Function" msgstr "Funkció" -#: common/serializers.py:441 +#: common/serializers.py:457 msgid "Function name" msgstr "Funkció neve" -#: common/serializers.py:443 +#: common/serializers.py:459 msgid "Arguments" msgstr "Paraméterek" -#: common/serializers.py:443 +#: common/serializers.py:459 msgid "Task arguments" msgstr "Feladat paraméterei" -#: common/serializers.py:446 +#: common/serializers.py:462 msgid "Keyword Arguments" msgstr "Kulcsszó paraméterek" -#: common/serializers.py:446 +#: common/serializers.py:462 msgid "Task keyword arguments" msgstr "Feladat kulcsszó paraméterek" -#: common/serializers.py:556 +#: common/serializers.py:572 msgid "Filename" msgstr "Fájlnév" -#: common/serializers.py:563 report/api.py:100 report/serializers.py:53 +#: common/serializers.py:579 report/api.py:100 report/serializers.py:54 msgid "Model Type" msgstr "Modell típusa" -#: common/serializers.py:591 +#: common/serializers.py:607 msgid "User does not have permission to create or edit attachments for this model" -msgstr "" +msgstr "A felhasználónak nincs joga létrehozni vagy módosítani ehhez a modelhez tartozó mellékleteket" #: common/validators.py:35 msgid "No attachment model type provided" -msgstr "" +msgstr "A melléklethez nem tartozik model típus" #: common/validators.py:41 msgid "Invalid attachment model type" -msgstr "" +msgstr "Érvénytelen melléklet model típus" #: common/validators.py:82 msgid "Minimum places cannot be greater than maximum places" -msgstr "" +msgstr "A legkisebb helyiérték nem lehet nagyobb mint a legnagyobb helyiérték" #: common/validators.py:94 msgid "Maximum places cannot be less than minimum places" -msgstr "" +msgstr "A legnagyobb helyiérték nem lehet kisebb mint a legkisebb helyiérték" #: common/validators.py:105 msgid "An empty domain is not allowed." @@ -4321,7 +4318,7 @@ msgstr "Ez a vállalat aktív?" #: company/models.py:165 msgid "Is customer" -msgstr "" +msgstr "Vevő" #: company/models.py:166 msgid "Do you sell items to this company?" @@ -4329,7 +4326,7 @@ msgstr "Értékesítesz alkatrészeket ennek a cégnek?" #: company/models.py:171 msgid "Is supplier" -msgstr "" +msgstr "Beszállító" #: company/models.py:172 msgid "Do you purchase items from this company?" @@ -4337,7 +4334,7 @@ msgstr "Vásárolsz alkatrészeket ettől a cégtől?" #: company/models.py:177 msgid "Is manufacturer" -msgstr "" +msgstr "Gyártó" #: company/models.py:178 msgid "Does this company manufacture parts?" @@ -4448,12 +4445,12 @@ msgstr "Link a címinformációkhoz (külső)" #: company/models.py:467 company/models.py:584 company/models.py:808 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 -#: stock/templates/stock/item_base.html:217 +#: stock/templates/stock/item_base.html:213 msgid "Manufacturer Part" msgstr "Gyártói alkatrész" #: company/models.py:484 company/models.py:776 stock/models.py:791 -#: stock/serializers.py:452 stock/templates/stock/item_base.html:142 +#: stock/serializers.py:452 stock/templates/stock/item_base.html:138 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "Kiindulási alkatrész" @@ -4464,8 +4461,8 @@ msgstr "Válassz alkatrészt" #: company/models.py:495 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:567 -#: stock/templates/stock/item_base.html:207 +#: company/templates/company/supplier_part.html:145 part/serializers.py:565 +#: stock/templates/stock/item_base.html:203 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 #: templates/js/translated/company.js:1296 @@ -4480,7 +4477,7 @@ msgstr "Gyártó kiválasztása" #: company/models.py:502 company/templates/company/manufacturer_part.html:101 #: company/templates/company/supplier_part.html:153 order/serializers.py:557 -#: part/serializers.py:577 templates/js/translated/company.js:351 +#: part/serializers.py:575 templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 #: templates/js/translated/company.js:1630 templates/js/translated/part.js:1807 @@ -4499,14 +4496,14 @@ msgstr "Gyártói alkatrész leírása" #: company/models.py:572 msgid "Manufacturer Part Parameter" -msgstr "" +msgstr "Gyártói Cikkszám" #: company/models.py:591 msgid "Parameter name" msgstr "Paraméter neve" #: company/models.py:597 report/templates/report/inventree_test_report.html:104 -#: stock/models.py:2544 templates/js/translated/company.js:1166 +#: stock/models.py:2539 templates/js/translated/company.js:1166 #: templates/js/translated/company.js:1419 templates/js/translated/part.js:1499 #: templates/js/translated/stock.js:1607 msgid "Value" @@ -4517,7 +4514,7 @@ msgid "Parameter value" msgstr "Paraméter értéke" #: company/models.py:605 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1159 part/models.py:3783 +#: part/admin.py:57 part/models.py:1159 part/models.py:3770 #: part/templates/part/part_base.html:300 #: templates/js/translated/company.js:1425 templates/js/translated/part.js:1518 #: templates/js/translated/part.js:1622 templates/js/translated/part.js:2376 @@ -4531,7 +4528,7 @@ msgstr "Paraméter mértékegység" #: company/models.py:659 company/templates/company/supplier_part.html:7 #: company/templates/company/supplier_part.html:24 order/api.py:440 #: order/serializers.py:492 stock/models.py:802 -#: stock/templates/stock/item_base.html:233 +#: stock/templates/stock/item_base.html:229 #: templates/js/translated/build.js:1055 #: templates/js/translated/company.js:1600 #: templates/js/translated/purchase_order.js:752 @@ -4554,9 +4551,9 @@ msgstr "Kapcsolódó gyártói alkatrésznek ugyanarra a kiindulási alkatrészr #: company/models.py:786 company/templates/company/company_base.html:87 #: company/templates/company/supplier_part.html:129 order/models.py:492 #: order/templates/order/order_base.html:141 part/bom.py:279 part/bom.py:314 -#: part/serializers.py:551 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:549 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 -#: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 +#: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:220 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:511 @@ -4571,7 +4568,7 @@ msgstr "Beszállító" msgid "Select supplier" msgstr "Beszállító kiválasztása" -#: company/models.py:793 part/serializers.py:562 +#: company/models.py:793 part/serializers.py:560 msgid "Supplier stock keeping unit" msgstr "Beszállítói cikkszám" @@ -4592,7 +4589,7 @@ msgid "Supplier part description" msgstr "Beszállítói alkatrész leírása" #: company/models.py:832 company/templates/company/supplier_part.html:187 -#: order/serializers.py:699 part/admin.py:415 part/models.py:4301 +#: order/serializers.py:699 part/admin.py:415 part/models.py:4288 #: part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 @@ -4604,11 +4601,11 @@ msgstr "Beszállítói alkatrész leírása" msgid "Note" msgstr "Megjegyzés" -#: company/models.py:841 part/models.py:2129 +#: company/models.py:841 part/models.py:2128 msgid "base cost" msgstr "alap költség" -#: company/models.py:842 part/models.py:2130 +#: company/models.py:842 part/models.py:2129 msgid "Minimum charge (e.g. stocking fee)" msgstr "Minimális díj (pl. tárolási díj)" @@ -4630,7 +4627,7 @@ msgstr "Csomagolási mennyiség" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "Egy csomagban kiszállítható mennyiség, hagyd üresen az egyedi tételeknél." -#: company/models.py:876 part/models.py:2136 +#: company/models.py:876 part/models.py:2135 msgid "multiple" msgstr "többszörös" @@ -4652,7 +4649,7 @@ msgstr "Utolsó elérhetőségi adat frissítés" #: company/models.py:1024 msgid "Supplier Price Break" -msgstr "" +msgstr "Beszállítói Ár Kedvezmény" #: company/serializers.py:178 msgid "Default currency used for this supplier" @@ -4660,9 +4657,9 @@ msgstr "Beszállító által használt alapértelmezett pénznem" #: company/serializers.py:214 msgid "Company Name" -msgstr "" +msgstr "Cégnév" -#: company/serializers.py:397 part/admin.py:126 part/serializers.py:919 +#: company/serializers.py:397 part/admin.py:126 part/serializers.py:917 #: part/templates/part/part_base.html:197 #: templates/js/translated/company.js:1689 #: templates/js/translated/table_filters.js:362 @@ -4736,7 +4733,7 @@ msgstr "Kép törlése" #: order/models.py:2140 order/templates/order/return_order_base.html:134 #: order/templates/order/sales_order_base.html:151 stock/models.py:844 #: stock/models.py:845 stock/serializers.py:1336 -#: stock/templates/stock/item_base.html:405 +#: stock/templates/stock/item_base.html:401 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 #: templates/js/translated/return_order.js:295 @@ -4940,7 +4937,7 @@ msgstr "Nincs elérhető gyártói információ" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:925 +#: part/admin.py:122 part/serializers.py:923 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4962,7 +4959,7 @@ msgstr "Új paraméter" #: company/templates/company/manufacturer_part.html:177 msgid "Manufacturer Part Notes" -msgstr "" +msgstr "Gyártói Cikk Megjegyzés" #: company/templates/company/manufacturer_part.html:225 #: templates/js/translated/part.js:1429 @@ -5031,7 +5028,7 @@ msgid "No supplier information available" msgstr "Nincs elérhető beszállítói információ" #: company/templates/company/supplier_part.html:139 order/serializers.py:554 -#: part/bom.py:286 part/bom.py:315 part/serializers.py:561 +#: part/bom.py:286 part/bom.py:315 part/serializers.py:559 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1793 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1920 @@ -5070,7 +5067,7 @@ msgstr "Ársáv hozzáadása" #: company/templates/company/supplier_part.html:270 msgid "Supplier Part Notes" -msgstr "" +msgstr "Szállítói Cikk Megjegyzés" #: company/templates/company/supplier_part.html:305 msgid "Supplier Part QR Code" @@ -5085,7 +5082,7 @@ msgid "Update Part Availability" msgstr "Alkatrész elérhetőség frissítése" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:923 part/stocktake.py:223 +#: part/serializers.py:921 part/stocktake.py:223 #: part/templates/part/category.html:180 #: part/templates/part/category_sidebar.html:17 stock/admin.py:68 #: stock/serializers.py:1021 stock/serializers.py:1199 @@ -5126,11 +5123,11 @@ msgstr "Új cég" #: generic/states/fields.py:118 msgid "Custom status key" -msgstr "" +msgstr "Saját Állapot Kulcs" #: generic/states/fields.py:119 msgid "Additional status information for this item" -msgstr "" +msgstr "További állapot információk erről a tételről" #: generic/states/tests.py:22 order/status_codes.py:13 msgid "Placed" @@ -5138,15 +5135,15 @@ msgstr "Kiküldve" #: importer/mixins.py:261 msgid "Invalid export format" -msgstr "" +msgstr "Hibás export formátum" #: importer/models.py:60 msgid "Timestamp" -msgstr "" +msgstr "Időbélyeg" #: importer/models.py:65 msgid "Data file to import" -msgstr "" +msgstr "Importálandó adatfájl" #: importer/models.py:74 templates/js/translated/tables.js:558 msgid "Columns" @@ -5154,69 +5151,69 @@ msgstr "Oszlopok" #: importer/models.py:85 msgid "Import status" -msgstr "" +msgstr "Betöltés állapota" #: importer/models.py:95 msgid "Field Defaults" -msgstr "" +msgstr "Mező Alapértelmezett Érték" #: importer/models.py:102 msgid "Field Overrides" -msgstr "" +msgstr "Mező Felülbírálás" #: importer/models.py:109 msgid "Field Filters" -msgstr "" +msgstr "Mező Szűrők" #: importer/models.py:231 msgid "Some required fields have not been mapped" -msgstr "" +msgstr "Néhány kötelező mező nem került hozzárendelésre" #: importer/models.py:388 msgid "Column is already mapped to a database field" -msgstr "" +msgstr "Oszlop már adatbázis mezőhöz lett rendelve" #: importer/models.py:393 msgid "Field is already mapped to a data column" -msgstr "" +msgstr "Adatbázis mező már adatfájl oszlophoz lett rendelve" #: importer/models.py:402 msgid "Column mapping must be linked to a valid import session" -msgstr "" +msgstr "Az oszlop összerendelésnek egy helyes importálási művelethez kell kapcsolódnia" #: importer/models.py:407 msgid "Column does not exist in the data file" -msgstr "" +msgstr "Az Oszlop nem létezik ebben a fájlban" #: importer/models.py:414 msgid "Field does not exist in the target model" -msgstr "" +msgstr "A mező nem létezik a cél adatszerkezetben" #: importer/models.py:418 msgid "Selected field is read-only" -msgstr "" +msgstr "Kijelölt mező csak olvasható" #: importer/models.py:423 importer/models.py:494 msgid "Import Session" -msgstr "" +msgstr "Importálási művelet" #: importer/models.py:427 msgid "Field" -msgstr "" +msgstr "Mező" #: importer/models.py:429 msgid "Column" -msgstr "" +msgstr "Oszlop" #: importer/models.py:498 msgid "Row Index" -msgstr "" +msgstr "Sor száma" #: importer/models.py:501 msgid "Original row data" -msgstr "" +msgstr "Eredeti sor adat" -#: importer/models.py:504 part/models.py:3965 +#: importer/models.py:504 part/models.py:3952 msgid "Data" msgstr "Adat" @@ -5230,87 +5227,87 @@ msgstr "Érvényes" #: importer/operations.py:28 importer/operations.py:49 msgid "Unsupported data file format" -msgstr "" +msgstr "Nem támogatott adatfájl formátum" #: importer/operations.py:40 msgid "Failed to open data file" -msgstr "" +msgstr "Adatfájl megnyitása sikertelen" #: importer/operations.py:51 msgid "Invalid data file dimensions" -msgstr "" +msgstr "Az adatállomány méretei - szélessége nem megfelelő" #: importer/serializers.py:91 msgid "Invalid field defaults" -msgstr "" +msgstr "Érvénytelen mező alapértelmezések" #: importer/serializers.py:104 msgid "Invalid field overrides" -msgstr "" +msgstr "Érvénytelen mező felülbírálások" #: importer/serializers.py:117 msgid "Invalid field filters" -msgstr "" +msgstr "Érvénytelen mező szűrések" #: importer/serializers.py:178 msgid "Rows" -msgstr "" +msgstr "Sorok" #: importer/serializers.py:179 msgid "List of row IDs to accept" -msgstr "" +msgstr "Az elfogadható azonosítók listája" #: importer/serializers.py:192 msgid "No rows provided" -msgstr "" +msgstr "Nincs sor megadva" #: importer/serializers.py:196 msgid "Row does not belong to this session" -msgstr "" +msgstr "A sor nem az aktuális művelethez kapcsolódik" #: importer/serializers.py:199 msgid "Row contains invalid data" -msgstr "" +msgstr "A Sor érvénytelen adatot tartalmaz" #: importer/serializers.py:202 msgid "Row has already been completed" -msgstr "" +msgstr "A sor már be lett fejezve" #: importer/status_codes.py:13 msgid "Initializing" -msgstr "" +msgstr "Előkészítés" #: importer/status_codes.py:18 msgid "Mapping Columns" -msgstr "" +msgstr "Oszlopok összerendelése" #: importer/status_codes.py:21 msgid "Importing Data" -msgstr "" +msgstr "Adatok importálása" #: importer/status_codes.py:24 msgid "Processing Data" -msgstr "" +msgstr "Adatok feldolgozása" #: importer/validators.py:21 msgid "Data file exceeds maximum size limit" -msgstr "" +msgstr "Adatfájl meghaladja a maximális méretet" #: importer/validators.py:26 msgid "Data file contains no headers" -msgstr "" +msgstr "Adatfájlból hiányzik a fejléc" #: importer/validators.py:29 msgid "Data file contains too many columns" -msgstr "" +msgstr "Túl sok oszlop az adatfájlban" #: importer/validators.py:32 msgid "Data file contains too many rows" -msgstr "" +msgstr "Túl sok sor az adatfájlban" #: importer/validators.py:53 msgid "Value must be a valid dictionary object" -msgstr "" +msgstr "Az értéknek a érvényes szótár elemnek kell lennie" #: machine/machine_types/label_printer.py:216 msgid "Copies" @@ -5339,7 +5336,7 @@ msgstr "Nincs papír" #: machine/machine_types/label_printer.py:236 msgid "Paper jam" -msgstr "" +msgstr "Elakadt a papír" #: machine/machine_types/label_printer.py:237 msgid "Disconnected" @@ -5444,7 +5441,7 @@ msgstr "Kintlévő" #: order/api.py:132 msgid "Has Project Code" -msgstr "" +msgstr "Van projektszáma" #: order/api.py:155 templates/js/translated/table_filters.js:201 #: templates/js/translated/table_filters.js:791 @@ -5474,7 +5471,7 @@ msgstr "A rendelés függőben" #: order/models.py:1592 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_purchase_order_report.html:14 -#: stock/serializers.py:121 stock/templates/stock/item_base.html:176 +#: stock/serializers.py:121 stock/templates/stock/item_base.html:172 #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/part.js:1752 templates/js/translated/pricing.js:804 #: templates/js/translated/purchase_order.js:168 @@ -5592,7 +5589,7 @@ msgstr "Cég akinek a tételek értékesítésre kerülnek" #: order/models.py:1004 msgid "Sales order status" -msgstr "" +msgstr "Értékesítési rendelés állapot" #: order/models.py:1015 order/models.py:2159 msgid "Customer Reference " @@ -5614,11 +5611,11 @@ msgstr "szállította" #: order/models.py:1070 msgid "Order is already complete" -msgstr "" +msgstr "Rendelés már teljesítve" #: order/models.py:1073 msgid "Order is already cancelled" -msgstr "" +msgstr "Rendelés már visszavonva" #: order/models.py:1077 msgid "Only an open order can be marked as complete" @@ -5666,7 +5663,7 @@ msgstr "Egységár" #: order/models.py:1438 msgid "Purchase Order Line Item" -msgstr "" +msgstr "Vevői Rendelés Sortétel" #: order/models.py:1462 msgid "Supplier part must match supplier" @@ -5695,7 +5692,7 @@ msgid "Number of items received" msgstr "Érkezett tételek száma" #: order/models.py:1513 stock/models.py:963 stock/serializers.py:617 -#: stock/templates/stock/item_base.html:183 +#: stock/templates/stock/item_base.html:179 #: templates/js/translated/stock.js:2397 msgid "Purchase Price" msgstr "Beszerzési ár" @@ -5710,11 +5707,11 @@ msgstr "Mit szeretne a vevő hol tároljuk ezt az alkatrészt?" #: order/models.py:1580 msgid "Purchase Order Extra Line" -msgstr "" +msgstr "Vevői Rendelés Extra Sor" #: order/models.py:1609 msgid "Sales Order Line Item" -msgstr "" +msgstr "Vevői Rendelés Sortétel" #: order/models.py:1630 msgid "Virtual part cannot be assigned to a sales order" @@ -5746,7 +5743,7 @@ msgstr "Szállított mennyiség" #: order/models.py:1744 msgid "Sales Order Shipment" -msgstr "" +msgstr "Vevői Rendelés Szállítása" #: order/models.py:1765 msgid "Date of shipment" @@ -5769,7 +5766,7 @@ msgid "User who checked this shipment" msgstr "Felhasználó aki ellenőrizte ezt a szállítmányt" #: order/models.py:1788 order/models.py:2011 order/serializers.py:1479 -#: order/serializers.py:1589 templates/js/translated/model_renderers.js:455 +#: order/serializers.py:1597 templates/js/translated/model_renderers.js:455 msgid "Shipment" msgstr "Szállítmány" @@ -5803,11 +5800,11 @@ msgstr "Szállítmány nem tartalmaz foglalt készlet tételeket" #: order/models.py:1905 msgid "Sales Order Extra Line" -msgstr "" +msgstr "Vevői Rendelés Extra Sor" #: order/models.py:1934 msgid "Sales Order Allocation" -msgstr "" +msgstr "Vevői rendeléshez foglalások" #: order/models.py:1957 order/models.py:1959 msgid "Stock item has not been assigned" @@ -5872,7 +5869,7 @@ msgstr "Visszavétel állapota" #: order/models.py:2355 msgid "Return Order Line Item" -msgstr "" +msgstr "Visszavétel sortétel" #: order/models.py:2369 msgid "Only serialized items can be assigned to a Return Order" @@ -5905,7 +5902,7 @@ msgstr "Sortétel visszaküldésének vagy javításának költsége" #: order/models.py:2421 msgid "Return Order Extra Line" -msgstr "" +msgstr "Visszavétel extra tétel" #: order/serializers.py:87 msgid "Completed Lines" @@ -5957,7 +5954,7 @@ msgstr "Belső cikkszám" #: order/serializers.py:569 msgid "Internal Part Name" -msgstr "" +msgstr "Belső cikkszám" #: order/serializers.py:585 msgid "Supplier part must be specified" @@ -5983,7 +5980,7 @@ msgstr "Sortétel" msgid "Line item does not match purchase order" msgstr "Sortétel nem egyezik a beszerzési megrendeléssel" -#: order/serializers.py:656 order/serializers.py:779 order/serializers.py:1790 +#: order/serializers.py:656 order/serializers.py:779 order/serializers.py:1798 msgid "Select destination location for received items" msgstr "Válassz cél helyet a beérkezett tételeknek" @@ -5998,11 +5995,11 @@ msgstr "Írd be a sorozatszámokat a beérkezett tételekhez" #: order/serializers.py:692 msgid "Override packaging information for incoming stock items" -msgstr "" +msgstr "Bejövő készlettételek csomagolási információjának felülbírálata" #: order/serializers.py:700 msgid "Additional note for incoming stock items" -msgstr "" +msgstr "Kiegészítő megjegyzés beérkező készlettételekhez" #: order/serializers.py:707 templates/js/translated/barcode.js:52 msgid "Barcode" @@ -6020,7 +6017,7 @@ msgstr "Ez a vonalkód már használva van" 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:795 order/serializers.py:1806 +#: order/serializers.py:795 order/serializers.py:1814 msgid "Line items must be provided" msgstr "Sortételt meg kell adni" @@ -6052,39 +6049,39 @@ msgstr "Mennyiség pozitív kell legyen" msgid "Enter serial numbers to allocate" msgstr "Írd be a sorozatszámokat a kiosztáshoz" -#: order/serializers.py:1491 order/serializers.py:1597 +#: order/serializers.py:1491 order/serializers.py:1605 msgid "Shipment has already been shipped" msgstr "Szállítmány kiszállítva" -#: order/serializers.py:1494 order/serializers.py:1600 +#: order/serializers.py:1494 order/serializers.py:1608 msgid "Shipment is not associated with this order" msgstr "Szállítmány nincs hozzárendelve ehhez a rendeléshez" -#: order/serializers.py:1541 +#: order/serializers.py:1549 msgid "No match found for the following serial numbers" msgstr "Nincs találat a következő sorozatszámokra" -#: order/serializers.py:1548 -msgid "The following serial numbers are already allocated" -msgstr "A következő sorozatszámok már ki lettek osztva" +#: order/serializers.py:1556 +msgid "The following serial numbers are unavailable" +msgstr "" -#: order/serializers.py:1760 +#: order/serializers.py:1768 msgid "Return order line item" msgstr "Visszavétel sortétel" -#: order/serializers.py:1766 +#: order/serializers.py:1774 msgid "Line item does not match return order" msgstr "Sortétel nem egyezik a visszavétellel" -#: order/serializers.py:1769 +#: order/serializers.py:1777 msgid "Line item has already been received" msgstr "A sortétel már beérkezett" -#: order/serializers.py:1798 +#: order/serializers.py:1806 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:1881 +#: order/serializers.py:1889 msgid "Line price currency" msgstr "Sortétel pénzneme" @@ -6168,7 +6165,7 @@ msgstr "Rendelés másolása" #: order/templates/order/return_order_base.html:78 #: order/templates/order/sales_order_base.html:77 msgid "Hold order" -msgstr "" +msgstr "Rendelés Felfüggesztése" #: order/templates/order/order_base.html:78 #: order/templates/order/return_order_base.html:81 @@ -6445,7 +6442,7 @@ msgstr "Tételek kiszállítása" #: order/templates/order/sales_order_base.html:95 #: order/templates/order/sales_order_base.html:96 msgid "Mark As Shipped" -msgstr "" +msgstr "Kiszállítottnak Jelölve" #: order/templates/order/sales_order_base.html:99 #: templates/js/translated/sales_order.js:536 @@ -6511,7 +6508,7 @@ 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:48 part/models.py:1044 part/serializers.py:908 +#: part/admin.py:48 part/models.py:1044 part/serializers.py:906 #: part/templates/part/part_base.html:276 #: report/templates/report/inventree_stock_location_report.html:103 #: templates/js/translated/part.js:1233 templates/js/translated/part.js:2347 @@ -6538,7 +6535,7 @@ msgstr "Alkatrész ábra" msgid "Category ID" msgstr "Kategória ID" -#: part/admin.py:67 part/admin.py:304 part/serializers.py:893 +#: part/admin.py:67 part/admin.py:304 part/serializers.py:891 #: part/stocktake.py:222 msgid "Category Name" msgstr "Kategória neve" @@ -6563,18 +6560,18 @@ msgstr "Minimális készlet" msgid "Used In" msgstr "Felhasználva ebben" -#: part/admin.py:150 part/serializers.py:918 +#: part/admin.py:150 part/serializers.py:916 #: part/templates/part/part_base.html:248 stock/admin.py:236 #: templates/js/translated/part.js:717 templates/js/translated/part.js:2159 msgid "Building" msgstr "Gyártásban" -#: part/admin.py:155 part/models.py:3214 part/models.py:3228 +#: part/admin.py:155 part/models.py:3201 part/models.py:3215 #: templates/js/translated/part.js:976 msgid "Minimum Cost" msgstr "Minimum költség" -#: part/admin.py:158 part/models.py:3221 part/models.py:3235 +#: part/admin.py:158 part/models.py:3208 part/models.py:3222 #: templates/js/translated/part.js:986 msgid "Maximum Cost" msgstr "Maximum költség" @@ -6593,7 +6590,7 @@ msgid "Category Path" msgstr "Kategória elérési út" #: part/admin.py:325 part/models.py:420 part/serializers.py:130 -#: part/serializers.py:290 part/serializers.py:428 +#: part/serializers.py:290 part/serializers.py:426 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:20 #: part/templates/part/category.html:138 part/templates/part/category.html:158 #: part/templates/part/category_sidebar.html:9 @@ -6618,15 +6615,15 @@ msgstr "Szülő IPN" #: part/admin.py:405 msgid "Part Revision" -msgstr "" +msgstr "Alkatrész változatok" -#: part/admin.py:418 part/serializers.py:1367 +#: part/admin.py:418 part/serializers.py:1365 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "Minimum ár" -#: part/admin.py:423 part/serializers.py:1382 +#: part/admin.py:423 part/serializers.py:1380 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -6654,7 +6651,7 @@ msgstr "Felső szint" #: part/api.py:143 msgid "Filter by top-level categories" -msgstr "" +msgstr "Csúcs készlethelyre szűrés" #: part/api.py:156 stock/api.py:343 msgid "Cascade" @@ -6710,18 +6707,18 @@ msgstr "Ennek az opciónak ki kll lennie választva" #: part/api.py:913 msgid "Is Revision" -msgstr "" +msgstr "Változat" #: part/api.py:923 msgid "Has Revisions" -msgstr "" +msgstr "Vannak Változatok" #: part/api.py:1114 msgid "BOM Valid" -msgstr "" +msgstr "Alkatrészjegyzék ellenőrizve" -#: part/api.py:1520 part/models.py:1036 part/models.py:3501 part/models.py:4060 -#: part/serializers.py:443 part/serializers.py:1223 +#: part/api.py:1520 part/models.py:1036 part/models.py:3488 part/models.py:4047 +#: part/serializers.py:441 part/serializers.py:1221 #: part/templates/part/part_base.html:267 stock/api.py:780 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 @@ -6731,11 +6728,11 @@ msgstr "Kategória" #: part/api.py:1754 msgid "Assembly part is testable" -msgstr "" +msgstr "Összeállított Alkatrész ellenőrizhető" #: part/api.py:1763 msgid "Component part is testable" -msgstr "" +msgstr "Összetevő alkatrész ellenőrizhető" #: part/api.py:1814 msgid "Uses" @@ -6747,7 +6744,7 @@ msgstr "Használ" msgid "Default Location" msgstr "Alapértelmezett hely" -#: part/bom.py:184 part/serializers.py:926 +#: part/bom.py:184 part/serializers.py:924 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "Teljes készlet" @@ -6756,7 +6753,7 @@ msgstr "Teljes készlet" msgid "Input quantity for price calculation" msgstr "Add meg a mennyiséget az árszámításhoz" -#: part/models.py:89 part/models.py:4061 part/templates/part/category.html:16 +#: part/models.py:89 part/models.py:4048 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "Alkatrész kategória" @@ -6806,15 +6803,15 @@ msgstr "Nem lehet az alkatrészkategóriát szerkezeti kategóriává tenni, mer #: part/models.py:514 msgid "Cannot delete this part as it is locked" -msgstr "" +msgstr "Lezárt alkatrész nem törölhető" #: part/models.py:517 msgid "Cannot delete this part as it is still active" -msgstr "" +msgstr "Aktív alkatrész nem törölhető" #: part/models.py:522 msgid "Cannot delete this part as it is used in an assembly" -msgstr "" +msgstr "Összeállításban felhasznált alkatrész nem törölhető" #: part/models.py:560 msgid "Invalid choice for parent part" @@ -6837,27 +6834,27 @@ msgstr "Az IPN belső cikkszámnak illeszkednie kell a {pattern} regex mintára" #: part/models.py:698 msgid "Part cannot be a revision of itself" -msgstr "" +msgstr "Alkatrész nem lehes saját magának verziója" #: part/models.py:705 msgid "Cannot make a revision of a part which is already a revision" -msgstr "" +msgstr "Nem lehet olyan alkatrészből új verziót csinálni ami már eleve egy verzió" #: part/models.py:712 msgid "Revision code must be specified" -msgstr "" +msgstr "Verzió kódot meg kell adni" #: part/models.py:719 msgid "Revisions are only allowed for assembly parts" -msgstr "" +msgstr "Verziók csak összeállított alkatrészeknél engedélyezettek" #: part/models.py:726 msgid "Cannot make a revision of a template part" -msgstr "" +msgstr "Nem lehet sablon alkatrészből új verziót csinálni" #: part/models.py:732 msgid "Parent part must point to the same template" -msgstr "" +msgstr "A szülő alkatrésznek azonos sablonra kell mutatnia" #: part/models.py:826 msgid "Stock item with this serial number already exists" @@ -6869,7 +6866,7 @@ msgstr "Azonos IPN nem engedélyezett az alkatrészekre, már létezik ilyen" #: part/models.py:939 msgid "Duplicate part revision already exists." -msgstr "" +msgstr "Adott alkatrész verzióból már létezik egy." #: part/models.py:948 msgid "Part with this Name, IPN and Revision already exists." @@ -6879,7 +6876,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:995 part/models.py:4116 +#: part/models.py:995 part/models.py:4103 msgid "Part name" msgstr "Alkatrész neve" @@ -6907,17 +6904,17 @@ msgstr "Alkatrész kulcsszavak amik segítik a megjelenést a keresési eredmén msgid "Part category" msgstr "Alkatrész kategória" -#: part/models.py:1052 part/serializers.py:360 +#: part/models.py:1052 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:1062 msgid "Is this part a revision of another part?" -msgstr "" +msgstr "Ez egy másik alkatrész egy verziója?" #: part/models.py:1063 part/templates/part/part_base.html:284 msgid "Revision Of" -msgstr "" +msgstr "Ennek a verziója" #: part/models.py:1087 msgid "Where is this item normally stored?" @@ -6961,7 +6958,7 @@ msgstr "Kell-e külön követni az egyes példányait ennek az alkatrésznek?" #: part/models.py:1185 msgid "Can this part have test results recorded against it?" -msgstr "" +msgstr "Lehet ehhez az alkatrészhez több ellenőrzési eredményt rögzíteni?" #: part/models.py:1191 msgid "Can this part be purchased from external suppliers?" @@ -6978,11 +6975,11 @@ msgstr "Aktív-e ez az alkatrész?" #: part/models.py:1206 templates/js/translated/part.js:821 #: templates/js/translated/table_filters.js:724 msgid "Locked" -msgstr "" +msgstr "Lezárt" #: part/models.py:1207 msgid "Locked parts cannot be edited" -msgstr "" +msgstr "Lezárt alkatrészt nem lehet szerkeszteni" #: part/models.py:1213 msgid "Is this a virtual part, such as a software product or license?" @@ -7013,164 +7010,164 @@ msgid "Owner responsible for this part" msgstr "Alkatrész felelőse" #: part/models.py:1264 part/templates/part/part_base.html:355 -#: stock/templates/stock/item_base.html:451 +#: stock/templates/stock/item_base.html:447 #: templates/js/translated/part.js:2490 msgid "Last Stocktake" msgstr "Utolsó leltár" -#: part/models.py:2137 +#: part/models.py:2136 msgid "Sell multiple" msgstr "Több értékesítése" -#: part/models.py:3128 +#: part/models.py:3115 msgid "Currency used to cache pricing calculations" msgstr "Árszámítások gyorstárazásához használt pénznem" -#: part/models.py:3144 +#: part/models.py:3131 msgid "Minimum BOM Cost" msgstr "Minimum alkatrészjegyzék költség" -#: part/models.py:3145 +#: part/models.py:3132 msgid "Minimum cost of component parts" msgstr "Összetevők minimum költsége" -#: part/models.py:3151 +#: part/models.py:3138 msgid "Maximum BOM Cost" msgstr "Maximum alkatrészjegyzék költség" -#: part/models.py:3152 +#: part/models.py:3139 msgid "Maximum cost of component parts" msgstr "Összetevők maximum költsége" -#: part/models.py:3158 +#: part/models.py:3145 msgid "Minimum Purchase Cost" msgstr "Minimum beszerzési ár" -#: part/models.py:3159 +#: part/models.py:3146 msgid "Minimum historical purchase cost" msgstr "Eddigi minimum beszerzési költség" -#: part/models.py:3165 +#: part/models.py:3152 msgid "Maximum Purchase Cost" msgstr "Maximum beszerzési ár" -#: part/models.py:3166 +#: part/models.py:3153 msgid "Maximum historical purchase cost" msgstr "Eddigi maximum beszerzési költség" -#: part/models.py:3172 +#: part/models.py:3159 msgid "Minimum Internal Price" msgstr "Minimum belső ár" -#: part/models.py:3173 +#: part/models.py:3160 msgid "Minimum cost based on internal price breaks" msgstr "Minimum költség a belső ársávok alapján" -#: part/models.py:3179 +#: part/models.py:3166 msgid "Maximum Internal Price" msgstr "Maximum belső ár" -#: part/models.py:3180 +#: part/models.py:3167 msgid "Maximum cost based on internal price breaks" msgstr "Maximum költség a belső ársávok alapján" -#: part/models.py:3186 +#: part/models.py:3173 msgid "Minimum Supplier Price" msgstr "Minimum beszállítói ár" -#: part/models.py:3187 +#: part/models.py:3174 msgid "Minimum price of part from external suppliers" msgstr "Minimum alkatrész ár a beszállítóktól" -#: part/models.py:3193 +#: part/models.py:3180 msgid "Maximum Supplier Price" msgstr "Maximum beszállítói ár" -#: part/models.py:3194 +#: part/models.py:3181 msgid "Maximum price of part from external suppliers" msgstr "Maximum alkatrész ár a beszállítóktól" -#: part/models.py:3200 +#: part/models.py:3187 msgid "Minimum Variant Cost" msgstr "Minimum alkatrészváltozat ár" -#: part/models.py:3201 +#: part/models.py:3188 msgid "Calculated minimum cost of variant parts" msgstr "Alkatrészváltozatok számolt minimum költsége" -#: part/models.py:3207 +#: part/models.py:3194 msgid "Maximum Variant Cost" msgstr "Maximum alkatrészváltozat ár" -#: part/models.py:3208 +#: part/models.py:3195 msgid "Calculated maximum cost of variant parts" msgstr "Alkatrészváltozatok számolt maximum költsége" -#: part/models.py:3215 +#: part/models.py:3202 msgid "Override minimum cost" msgstr "Minimum költség felülbírálása" -#: part/models.py:3222 +#: part/models.py:3209 msgid "Override maximum cost" msgstr "Maximum költség felülbírálása" -#: part/models.py:3229 +#: part/models.py:3216 msgid "Calculated overall minimum cost" msgstr "Számított általános minimum költség" -#: part/models.py:3236 +#: part/models.py:3223 msgid "Calculated overall maximum cost" msgstr "Számított általános maximum költség" -#: part/models.py:3242 +#: part/models.py:3229 msgid "Minimum Sale Price" msgstr "Minimum eladási ár" -#: part/models.py:3243 +#: part/models.py:3230 msgid "Minimum sale price based on price breaks" msgstr "Minimum eladási ár az ársávok alapján" -#: part/models.py:3249 +#: part/models.py:3236 msgid "Maximum Sale Price" msgstr "Maximum eladási ár" -#: part/models.py:3250 +#: part/models.py:3237 msgid "Maximum sale price based on price breaks" msgstr "Maximum eladási ár az ársávok alapján" -#: part/models.py:3256 +#: part/models.py:3243 msgid "Minimum Sale Cost" msgstr "Minimum eladási költség" -#: part/models.py:3257 +#: part/models.py:3244 msgid "Minimum historical sale price" msgstr "Eddigi minimum eladási ár" -#: part/models.py:3263 +#: part/models.py:3250 msgid "Maximum Sale Cost" msgstr "Maximum eladási költség" -#: part/models.py:3264 +#: part/models.py:3251 msgid "Maximum historical sale price" msgstr "Eddigi maximum eladási ár" -#: part/models.py:3283 +#: part/models.py:3270 msgid "Part for stocktake" msgstr "Leltározható alkatrész" -#: part/models.py:3288 +#: part/models.py:3275 msgid "Item Count" msgstr "Tételszám" -#: part/models.py:3289 +#: part/models.py:3276 msgid "Number of individual stock entries at time of stocktake" msgstr "Egyedi készlet tételek száma a leltárkor" -#: part/models.py:3297 +#: part/models.py:3284 msgid "Total available stock at time of stocktake" msgstr "Teljes készlet a leltárkor" -#: part/models.py:3301 part/models.py:3384 +#: part/models.py:3288 part/models.py:3371 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -7182,369 +7179,369 @@ msgstr "Teljes készlet a leltárkor" msgid "Date" msgstr "Dátum" -#: part/models.py:3302 +#: part/models.py:3289 msgid "Date stocktake was performed" msgstr "Leltározva ekkor" -#: part/models.py:3310 +#: part/models.py:3297 msgid "Additional notes" msgstr "További megjegyzések" -#: part/models.py:3320 +#: part/models.py:3307 msgid "User who performed this stocktake" msgstr "Leltározta" -#: part/models.py:3326 +#: part/models.py:3313 msgid "Minimum Stock Cost" msgstr "Minimum készlet érték" -#: part/models.py:3327 +#: part/models.py:3314 msgid "Estimated minimum cost of stock on hand" msgstr "Becsült minimum raktárkészlet érték" -#: part/models.py:3333 +#: part/models.py:3320 msgid "Maximum Stock Cost" msgstr "Maximum készlet érték" -#: part/models.py:3334 +#: part/models.py:3321 msgid "Estimated maximum cost of stock on hand" msgstr "Becsült maximum raktárkészlet érték" -#: part/models.py:3390 templates/InvenTree/settings/settings_staff_js.html:532 +#: part/models.py:3377 templates/InvenTree/settings/settings_staff_js.html:532 msgid "Report" msgstr "Riport" -#: part/models.py:3391 +#: part/models.py:3378 msgid "Stocktake report file (generated internally)" msgstr "Leltár riport fájl (generált)" -#: part/models.py:3396 templates/InvenTree/settings/settings_staff_js.html:539 +#: part/models.py:3383 templates/InvenTree/settings/settings_staff_js.html:539 msgid "Part Count" msgstr "Alkatrész szám" -#: part/models.py:3397 +#: part/models.py:3384 msgid "Number of parts covered by stocktake" msgstr "Leltározott alkatrészek száma" -#: part/models.py:3407 +#: part/models.py:3394 msgid "User who requested this stocktake report" msgstr "Felhasználó aki a leltár riportot kérte" -#: part/models.py:3417 +#: part/models.py:3404 msgid "Part Sale Price Break" -msgstr "" +msgstr "Alkatrész értékesítési ársáv" -#: part/models.py:3529 +#: part/models.py:3516 msgid "Part Test Template" -msgstr "" +msgstr "Alkatrész Teszt Sablon" -#: part/models.py:3555 +#: part/models.py:3542 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "Hibás sablon név - legalább egy alfanumerikus karakter kötelező" -#: part/models.py:3576 part/models.py:3745 +#: part/models.py:3563 part/models.py:3732 msgid "Choices must be unique" msgstr "A lehetőségek egyediek kell legyenek" -#: part/models.py:3587 +#: part/models.py:3574 msgid "Test templates can only be created for testable parts" -msgstr "" +msgstr "Teszt sablont csak ellenőrizhetőre beállított alkatrészhez lehet csinálni" -#: part/models.py:3598 +#: part/models.py:3585 msgid "Test template with the same key already exists for part" msgstr "Már létezik ilyen azonosítójú Teszt sablon ehhez az alkatrészhez" -#: part/models.py:3615 templates/js/translated/part.js:2898 +#: part/models.py:3602 templates/js/translated/part.js:2898 msgid "Test Name" msgstr "Teszt név" -#: part/models.py:3616 +#: part/models.py:3603 msgid "Enter a name for the test" msgstr "Add meg a teszt nevét" -#: part/models.py:3622 +#: part/models.py:3609 msgid "Test Key" msgstr "Teszt azonosító" -#: part/models.py:3623 +#: part/models.py:3610 msgid "Simplified key for the test" msgstr "Egyszerűsített Teszt azonosító" -#: part/models.py:3630 +#: part/models.py:3617 msgid "Test Description" msgstr "Teszt leírása" -#: part/models.py:3631 +#: part/models.py:3618 msgid "Enter description for this test" msgstr "Adj hozzá egy leírást ehhez a teszthez" -#: part/models.py:3635 report/models.py:208 +#: part/models.py:3622 report/models.py:216 #: templates/js/translated/part.js:2919 #: templates/js/translated/table_filters.js:502 msgid "Enabled" msgstr "Engedélyezve" -#: part/models.py:3635 +#: part/models.py:3622 msgid "Is this test enabled?" msgstr "Teszt engedélyezve?" -#: part/models.py:3640 templates/js/translated/part.js:2927 +#: part/models.py:3627 templates/js/translated/part.js:2927 #: templates/js/translated/table_filters.js:498 msgid "Required" msgstr "Kötelező" -#: part/models.py:3641 +#: part/models.py:3628 msgid "Is this test required to pass?" msgstr "Szükséges-e hogy ez a teszt sikeres legyen?" -#: part/models.py:3646 templates/js/translated/part.js:2935 +#: part/models.py:3633 templates/js/translated/part.js:2935 msgid "Requires Value" msgstr "Kötelező érték" -#: part/models.py:3647 +#: part/models.py:3634 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:3652 templates/js/translated/part.js:2942 +#: part/models.py:3639 templates/js/translated/part.js:2942 msgid "Requires Attachment" msgstr "Kötelező melléklet" -#: part/models.py:3654 +#: part/models.py:3641 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:3660 part/models.py:3804 templates/js/translated/part.js:1643 +#: part/models.py:3647 part/models.py:3791 templates/js/translated/part.js:1643 msgid "Choices" msgstr "Lehetőségek" -#: part/models.py:3661 +#: part/models.py:3648 msgid "Valid choices for this test (comma-separated)" -msgstr "" +msgstr "Választható lehetőségek ehhez a Teszthez (vesszővel elválasztva)" -#: part/models.py:3693 +#: part/models.py:3680 msgid "Part Parameter Template" -msgstr "" +msgstr "Alkatrész Paraméter Sablon" -#: part/models.py:3720 +#: part/models.py:3707 msgid "Checkbox parameters cannot have units" msgstr "Jelölőnégyzet paraméternek nem lehet mértékegysége" -#: part/models.py:3725 +#: part/models.py:3712 msgid "Checkbox parameters cannot have choices" msgstr "Jelölőnégyzet paraméternek nem lehetnek választási lehetőségei" -#: part/models.py:3762 +#: part/models.py:3749 msgid "Parameter template name must be unique" msgstr "A paraméter sablon nevének egyedinek kell lennie" -#: part/models.py:3777 +#: part/models.py:3764 msgid "Parameter Name" msgstr "Paraméter neve" -#: part/models.py:3784 +#: part/models.py:3771 msgid "Physical units for this parameter" msgstr "Paraméter mértékegysége" -#: part/models.py:3792 +#: part/models.py:3779 msgid "Parameter description" msgstr "Paraméter leírása" -#: part/models.py:3798 templates/js/translated/part.js:1634 +#: part/models.py:3785 templates/js/translated/part.js:1634 #: templates/js/translated/table_filters.js:837 msgid "Checkbox" msgstr "Jelölőnégyzet" -#: part/models.py:3799 +#: part/models.py:3786 msgid "Is this parameter a checkbox?" msgstr "Ez a paraméter egy jelölőnégyzet?" -#: part/models.py:3805 +#: part/models.py:3792 msgid "Valid choices for this parameter (comma-separated)" msgstr "Választható lehetőségek (vesszővel elválasztva)" -#: part/models.py:3839 +#: part/models.py:3826 msgid "Part Parameter" -msgstr "" +msgstr "Alkatrész Paraméter" -#: part/models.py:3865 +#: part/models.py:3852 msgid "Parameter cannot be modified - part is locked" -msgstr "" +msgstr "Lezárt alkatrész Paramétere nem szerkeszthető" -#: part/models.py:3903 +#: part/models.py:3890 msgid "Invalid choice for parameter value" msgstr "Hibás választás a paraméterre" -#: part/models.py:3952 +#: part/models.py:3939 msgid "Parent Part" msgstr "Szülő alkatrész" -#: part/models.py:3960 part/models.py:4068 part/models.py:4069 +#: part/models.py:3947 part/models.py:4055 part/models.py:4056 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "Paraméter sablon" -#: part/models.py:3966 +#: part/models.py:3953 msgid "Parameter Value" msgstr "Paraméter értéke" -#: part/models.py:4016 +#: part/models.py:4003 msgid "Part Category Parameter Template" -msgstr "" +msgstr "Alkatrészcsoport Paraméter Sablon" -#: part/models.py:4075 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:4062 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "Alapértelmezett érték" -#: part/models.py:4076 +#: part/models.py:4063 msgid "Default Parameter Value" msgstr "Alapértelmezett paraméter érték" -#: part/models.py:4114 +#: part/models.py:4101 msgid "Part ID or part name" msgstr "Alkatrész ID vagy alkatrész név" -#: part/models.py:4115 +#: part/models.py:4102 msgid "Unique part ID value" msgstr "Egyedi alkatrész ID értéke" -#: part/models.py:4117 +#: part/models.py:4104 msgid "Part IPN value" msgstr "Alkatrész IPN érték" -#: part/models.py:4118 +#: part/models.py:4105 msgid "Level" msgstr "Szint" -#: part/models.py:4118 +#: part/models.py:4105 msgid "BOM level" msgstr "Alkatrészjegyzék szint" -#: part/models.py:4228 +#: part/models.py:4215 msgid "BOM item cannot be modified - assembly is locked" -msgstr "" +msgstr "Alkatrészjegyzék nem szerkeszthető mert az összeállítás le van zárva" -#: part/models.py:4235 +#: part/models.py:4222 msgid "BOM item cannot be modified - variant assembly is locked" -msgstr "" +msgstr "Alkatrészjegyzék nem szerkeszthető mert az összeállítás változat le van zárva" -#: part/models.py:4245 +#: part/models.py:4232 msgid "Select parent part" msgstr "Szülő alkatrész kiválasztása" -#: part/models.py:4255 +#: part/models.py:4242 msgid "Sub part" msgstr "Al alkatrész" -#: part/models.py:4256 +#: part/models.py:4243 msgid "Select part to be used in BOM" msgstr "Válaszd ki az alkatrészjegyzékben használandó alkatrészt" -#: part/models.py:4267 +#: part/models.py:4254 msgid "BOM quantity for this BOM item" msgstr "Alkatrészjegyzék mennyiség ehhez az alkatrészjegyzék tételhez" -#: part/models.py:4273 +#: part/models.py:4260 msgid "This BOM item is optional" msgstr "Ez az alkatrészjegyzék tétel opcionális" -#: part/models.py:4279 +#: part/models.py:4266 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:4286 part/templates/part/upload_bom.html:55 +#: part/models.py:4273 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "Többlet" -#: part/models.py:4287 +#: part/models.py:4274 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:4294 +#: part/models.py:4281 msgid "BOM item reference" msgstr "Alkatrészjegyzék tétel azonosító" -#: part/models.py:4302 +#: part/models.py:4289 msgid "BOM item notes" msgstr "Alkatrészjegyzék tétel megjegyzései" -#: part/models.py:4308 +#: part/models.py:4295 msgid "Checksum" msgstr "Ellenőrző összeg" -#: part/models.py:4309 +#: part/models.py:4296 msgid "BOM line checksum" msgstr "Alkatrészjegyzék sor ellenőrző összeg" -#: part/models.py:4314 templates/js/translated/table_filters.js:181 +#: part/models.py:4301 templates/js/translated/table_filters.js:181 msgid "Validated" msgstr "Jóváhagyva" -#: part/models.py:4315 +#: part/models.py:4302 msgid "This BOM item has been validated" msgstr "Ez a BOM tétel jóvá lett hagyva" -#: part/models.py:4320 part/templates/part/upload_bom.html:57 +#: part/models.py:4307 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:185 #: templates/js/translated/table_filters.js:218 msgid "Gets inherited" msgstr "Öröklődött" -#: part/models.py:4321 +#: part/models.py:4308 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:4327 +#: part/models.py:4314 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:4412 stock/models.py:689 +#: part/models.py:4399 stock/models.py:689 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:4422 part/models.py:4424 +#: part/models.py:4409 part/models.py:4411 msgid "Sub part must be specified" msgstr "Al alkatrészt kötelező megadni" -#: part/models.py:4561 +#: part/models.py:4554 msgid "BOM Item Substitute" msgstr "Alkatrészjegyzék tétel helyettesítő" -#: part/models.py:4582 +#: part/models.py:4575 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:4595 +#: part/models.py:4588 msgid "Parent BOM item" msgstr "Szülő alkatrészjegyzék tétel" -#: part/models.py:4603 +#: part/models.py:4596 msgid "Substitute part" msgstr "Helyettesítő alkatrész" -#: part/models.py:4619 +#: part/models.py:4612 msgid "Part 1" msgstr "1.rész" -#: part/models.py:4627 +#: part/models.py:4620 msgid "Part 2" msgstr "2.rész" -#: part/models.py:4628 +#: part/models.py:4621 msgid "Select Related Part" msgstr "Válassz kapcsolódó alkatrészt" -#: part/models.py:4647 +#: part/models.py:4640 msgid "Part relationship cannot be created between a part and itself" msgstr "Alkatrész kapcsolat nem hozható létre önmagával" -#: part/models.py:4652 +#: part/models.py:4645 msgid "Duplicate relationship already exists" msgstr "Már létezik duplikált alkatrész kapcsolat" #: part/serializers.py:124 msgid "Parent Category" -msgstr "" +msgstr "Szülő Kategória" #: part/serializers.py:125 templates/js/translated/part.js:312 msgid "Parent part category" @@ -7572,326 +7569,326 @@ msgstr "Beszerzési pénzneme ennek a készlet tételnek" msgid "Number of parts using this template" msgstr "Ennyi alkatrész használja ezt a sablont" -#: part/serializers.py:434 +#: part/serializers.py:432 msgid "No parts selected" msgstr "Nincs kiválasztva alkatrész" -#: part/serializers.py:444 +#: part/serializers.py:442 msgid "Select category" msgstr "Válassz kategóriát" -#: part/serializers.py:479 +#: part/serializers.py:477 msgid "Original Part" msgstr "Eredeti alkatrész" -#: part/serializers.py:480 +#: part/serializers.py:478 msgid "Select original part to duplicate" msgstr "Válassz eredeti alkatrészt a másoláshoz" -#: part/serializers.py:485 +#: part/serializers.py:483 msgid "Copy Image" msgstr "Kép másolása" -#: part/serializers.py:486 +#: part/serializers.py:484 msgid "Copy image from original part" msgstr "Kép másolása az eredeti alkatrészről" -#: part/serializers.py:492 part/templates/part/detail.html:293 +#: part/serializers.py:490 part/templates/part/detail.html:293 msgid "Copy BOM" msgstr "Alkatrészjegyzék másolása" -#: part/serializers.py:493 +#: part/serializers.py:491 msgid "Copy bill of materials from original part" msgstr "Alkatrészjegyzék másolása az eredeti alkatrészről" -#: part/serializers.py:499 +#: part/serializers.py:497 msgid "Copy Parameters" msgstr "Paraméterek másolása" -#: part/serializers.py:500 +#: part/serializers.py:498 msgid "Copy parameter data from original part" msgstr "Paraméterek másolása az eredeti alkatrészről" -#: part/serializers.py:506 +#: part/serializers.py:504 msgid "Copy Notes" msgstr "Megjegyzések másolása" -#: part/serializers.py:507 +#: part/serializers.py:505 msgid "Copy notes from original part" msgstr "Megjegyzések másolása az eredeti alkatrészről" -#: part/serializers.py:525 +#: part/serializers.py:523 msgid "Initial Stock Quantity" msgstr "Kezdeti készlet mennyiség" -#: part/serializers.py:527 +#: part/serializers.py:525 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:534 +#: part/serializers.py:532 msgid "Initial Stock Location" msgstr "Kezdeti készlet hely" -#: part/serializers.py:535 +#: part/serializers.py:533 msgid "Specify initial stock location for this Part" msgstr "Add meg a kezdeti készlet helyét" -#: part/serializers.py:552 +#: part/serializers.py:550 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:568 +#: part/serializers.py:566 msgid "Select manufacturer (or leave blank to skip)" msgstr "Válassz gyártót (hagyd üresen ha nem kell létrehozni)" -#: part/serializers.py:578 +#: part/serializers.py:576 msgid "Manufacturer part number" msgstr "Gyártói cikkszám" -#: part/serializers.py:585 +#: part/serializers.py:583 msgid "Selected company is not a valid supplier" msgstr "A kiválasztott cég nem érvényes beszállító" -#: part/serializers.py:594 +#: part/serializers.py:592 msgid "Selected company is not a valid manufacturer" msgstr "A kiválasztott cég nem érvényes gyártó" -#: part/serializers.py:605 +#: part/serializers.py:603 msgid "Manufacturer part matching this MPN already exists" msgstr "Van már ilyen gyártói alkatrész" -#: part/serializers.py:612 +#: part/serializers.py:610 msgid "Supplier part matching this SKU already exists" msgstr "Van már ilyen beszállítói alkatrész" -#: part/serializers.py:924 +#: part/serializers.py:922 msgid "Revisions" -msgstr "" +msgstr "Verziók" -#: part/serializers.py:929 +#: part/serializers.py:927 msgid "Unallocated Stock" msgstr "Nem lefoglalt készlet" -#: part/serializers.py:932 +#: part/serializers.py:930 msgid "Variant Stock" msgstr "Variánsok Raktárkészlet" -#: part/serializers.py:962 part/templates/part/copy_part.html:9 +#: part/serializers.py:960 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:474 msgid "Duplicate Part" msgstr "Alkatrész másolása" -#: part/serializers.py:963 +#: part/serializers.py:961 msgid "Copy initial data from another Part" msgstr "Kezdeti adatok másolása egy másik alkatrészről" -#: part/serializers.py:969 templates/js/translated/part.js:103 +#: part/serializers.py:967 templates/js/translated/part.js:103 msgid "Initial Stock" msgstr "Kezdeti készlet" -#: part/serializers.py:970 +#: part/serializers.py:968 msgid "Create Part with initial stock quantity" msgstr "Kezdeti készlet mennyiség létrehozása" -#: part/serializers.py:976 +#: part/serializers.py:974 msgid "Supplier Information" msgstr "Beszállító információ" -#: part/serializers.py:977 +#: part/serializers.py:975 msgid "Add initial supplier information for this part" msgstr "Kezdeti beszállító adatok hozzáadása" -#: part/serializers.py:985 +#: part/serializers.py:983 msgid "Copy Category Parameters" msgstr "Kategória paraméterek másolása" -#: part/serializers.py:986 +#: part/serializers.py:984 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:991 +#: part/serializers.py:989 msgid "Existing Image" msgstr "Meglévő kép" -#: part/serializers.py:992 +#: part/serializers.py:990 msgid "Filename of an existing part image" msgstr "A meglévő alkatrész képfájl neve" -#: part/serializers.py:1009 +#: part/serializers.py:1007 msgid "Image file does not exist" msgstr "A képfájl nem létezik" -#: part/serializers.py:1215 +#: part/serializers.py:1213 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:1225 +#: part/serializers.py:1223 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:1235 +#: part/serializers.py:1233 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:1241 +#: part/serializers.py:1239 msgid "Exclude External Stock" msgstr "Külső készlet nélkül" -#: part/serializers.py:1242 +#: part/serializers.py:1240 msgid "Exclude stock items in external locations" msgstr "Külső helyeken lévő készlet nélkül" -#: part/serializers.py:1247 +#: part/serializers.py:1245 msgid "Generate Report" msgstr "Riport létrehozása" -#: part/serializers.py:1248 +#: part/serializers.py:1246 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:1253 +#: part/serializers.py:1251 msgid "Update Parts" msgstr "Alaktrészek frissítése" -#: part/serializers.py:1254 +#: part/serializers.py:1252 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:1262 +#: part/serializers.py:1260 msgid "Stocktake functionality is not enabled" msgstr "Leltár funkció nincs engedélyezve" -#: part/serializers.py:1368 +#: part/serializers.py:1366 msgid "Override calculated value for minimum price" msgstr "Számított minimum ár felülbírálása" -#: part/serializers.py:1375 +#: part/serializers.py:1373 msgid "Minimum price currency" msgstr "Minimum ár pénzneme" -#: part/serializers.py:1383 +#: part/serializers.py:1381 msgid "Override calculated value for maximum price" msgstr "Számított maximum ár felülbírálása" -#: part/serializers.py:1390 +#: part/serializers.py:1388 msgid "Maximum price currency" msgstr "Maximum ár pénzneme" -#: part/serializers.py:1419 +#: part/serializers.py:1417 msgid "Update" msgstr "Frissítés" -#: part/serializers.py:1420 +#: part/serializers.py:1418 msgid "Update pricing for this part" msgstr "Alkatrész árak frissítése" -#: part/serializers.py:1443 +#: part/serializers.py:1441 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "Megadott pénznem átváltása {default_currency}-re sikertelen" -#: part/serializers.py:1450 +#: part/serializers.py:1448 msgid "Minimum price must not be greater than maximum price" msgstr "A Minimum ár nem lehet nagyobb mint a Maximum ár" -#: part/serializers.py:1453 +#: part/serializers.py:1451 msgid "Maximum price must not be less than minimum price" msgstr "A Maximum ár nem lehet kisebb mint a Minimum ár" -#: part/serializers.py:1597 +#: part/serializers.py:1595 msgid "Select the parent assembly" -msgstr "" +msgstr "Szülő összeállítás kiválasztása" -#: part/serializers.py:1606 +#: part/serializers.py:1604 msgid "Component Name" -msgstr "" +msgstr "Összetevő neve" -#: part/serializers.py:1609 +#: part/serializers.py:1607 msgid "Component IPN" -msgstr "" +msgstr "Összetevő Cikkszám" -#: part/serializers.py:1612 +#: part/serializers.py:1610 msgid "Component Description" -msgstr "" +msgstr "Összetevő Leírás" -#: part/serializers.py:1618 +#: part/serializers.py:1616 msgid "Select the component part" -msgstr "" +msgstr "Összetevő alkatrész kijelölése" -#: part/serializers.py:1627 part/templates/part/part_base.html:242 +#: part/serializers.py:1625 part/templates/part/part_base.html:242 #: templates/js/translated/bom.js:1219 msgid "Can Build" msgstr "Gyártható" -#: part/serializers.py:1858 +#: part/serializers.py:1856 msgid "Select part to copy BOM from" msgstr "Válassz alkatrészt ahonnan az alkatrészjegyzéket másoljuk" -#: part/serializers.py:1866 +#: part/serializers.py:1864 msgid "Remove Existing Data" msgstr "Létező adat törlése" -#: part/serializers.py:1867 +#: part/serializers.py:1865 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:1872 +#: part/serializers.py:1870 msgid "Include Inherited" msgstr "Örököltekkel együtt" -#: part/serializers.py:1873 +#: part/serializers.py:1871 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:1878 +#: part/serializers.py:1876 msgid "Skip Invalid Rows" msgstr "Hibás sorok kihagyása" -#: part/serializers.py:1879 +#: part/serializers.py:1877 msgid "Enable this option to skip invalid rows" msgstr "Engedély a hibás sorok kihagyására" -#: part/serializers.py:1884 +#: part/serializers.py:1882 msgid "Copy Substitute Parts" msgstr "Helyettesítő alkatrészek másolása" -#: part/serializers.py:1885 +#: part/serializers.py:1883 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:1922 +#: part/serializers.py:1920 msgid "Clear Existing BOM" msgstr "Meglévő alkatrészjegyzék törlése" -#: part/serializers.py:1923 +#: part/serializers.py:1921 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:1955 +#: part/serializers.py:1953 msgid "No part column specified" msgstr "Nincs megadva alkatrész oszlop" -#: part/serializers.py:1999 +#: part/serializers.py:1997 msgid "Multiple matching parts found" msgstr "Több egyező alkatrész is található" -#: part/serializers.py:2002 +#: part/serializers.py:2000 msgid "No matching part found" msgstr "Nincs egyező alkatrész" -#: part/serializers.py:2004 +#: part/serializers.py:2002 msgid "Part is not designated as a component" msgstr "Az alkatrész nem lett összetevőként jelölve" -#: part/serializers.py:2013 +#: part/serializers.py:2011 msgid "Quantity not provided" msgstr "Mennyiség nincs megadva" -#: part/serializers.py:2021 +#: part/serializers.py:2019 msgid "Invalid quantity" msgstr "Érvénytelen mennyiség" -#: part/serializers.py:2044 +#: part/serializers.py:2042 msgid "At least one BOM item is required" msgstr "Legalább egy alkatrészjegyzék tétel szükséges" @@ -8063,7 +8060,7 @@ msgstr "Teszt sablon hozzáadása" #: part/templates/part/detail.html:106 msgid "Part Test Statistics" -msgstr "" +msgstr "Alkatrész Ellenőrzési Statisztika" #: part/templates/part/detail.html:155 stock/templates/stock/item.html:49 msgid "Sales Order Allocations" @@ -8217,7 +8214,7 @@ msgid "Subscribe to notifications for this part" msgstr "Értesítések kérése erre az alkatrészre" #: part/templates/part/part_base.html:52 -#: stock/templates/stock/item_base.html:62 +#: stock/templates/stock/item_base.html:61 #: stock/templates/stock/location.html:71 templates/js/translated/label.js:136 msgid "Print Label" msgstr "Címke nyomtatása" @@ -8227,7 +8224,7 @@ msgid "Show pricing information" msgstr "Árinformációk megjelenítése" #: part/templates/part/part_base.html:63 -#: stock/templates/stock/item_base.html:110 +#: stock/templates/stock/item_base.html:106 #: stock/templates/stock/location.html:80 msgid "Stock actions" msgstr "Készlet műveletek" @@ -8295,15 +8292,15 @@ msgstr "Alkatrész részletei" #: part/templates/part/part_base.html:217 msgid "Required for Orders" -msgstr "" +msgstr "Rendeléshez szükséges" #: part/templates/part/part_base.html:225 -#: stock/templates/stock/item_base.html:388 +#: stock/templates/stock/item_base.html:384 msgid "Allocated to Build Orders" msgstr "Gyártáshoz lefoglalva" #: part/templates/part/part_base.html:234 -#: stock/templates/stock/item_base.html:381 +#: stock/templates/stock/item_base.html:377 msgid "Allocated to Sales Orders" msgstr "Vevő rendeléshez lefoglalva" @@ -8323,7 +8320,7 @@ msgid "Latest Serial Number" msgstr "Legutolsó sorozatszám" #: part/templates/part/part_base.html:372 -#: stock/templates/stock/item_base.html:322 +#: stock/templates/stock/item_base.html:318 msgid "Search for serial number" msgstr "Sorozatszámra keresés" @@ -8450,7 +8447,7 @@ msgid "Edit" msgstr "Szerkesztés" #: part/templates/part/prices.html:28 stock/admin.py:252 -#: stock/templates/stock/item_base.html:446 +#: stock/templates/stock/item_base.html:442 #: templates/js/translated/company.js:1703 #: templates/js/translated/company.js:1713 #: templates/js/translated/stock.js:2332 @@ -8605,7 +8602,7 @@ msgstr "Az alkatrész képe nem található" msgid "Part Pricing" msgstr "Alkatrész árak" -#: plugin/api.py:172 +#: plugin/api.py:174 msgid "Plugin cannot be deleted as it is currently active" msgstr "Plugin nem törölhető mivel még aktív" @@ -8628,11 +8625,11 @@ msgstr "Egyezés vonalkódra" #: plugin/base/barcodes/api.py:163 plugin/base/barcodes/serializers.py:45 msgid "Model is not supported" -msgstr "" +msgstr "Model nem támogatott" #: plugin/base/barcodes/api.py:168 msgid "Model instance not found" -msgstr "" +msgstr "Model példány hiányzik" #: plugin/base/barcodes/api.py:197 #: templates/js/translated/purchase_order.js:1468 @@ -8728,11 +8725,11 @@ msgstr "Beolvasott vonalkód" #: plugin/base/barcodes/serializers.py:30 msgid "Model name to generate barcode for" -msgstr "" +msgstr "Vonalkód generáláshoz kiválaszottt model neve" #: plugin/base/barcodes/serializers.py:35 msgid "Primary key of model object to generate barcode for" -msgstr "" +msgstr "A vonalkódnyomtatáshoz kiválaszott model objektum azonosítója" #: plugin/base/barcodes/serializers.py:105 msgid "Purchase Order to allocate items against" @@ -8796,7 +8793,7 @@ msgstr "A címke HTML nyomtatása sikertelen" #: plugin/base/label/mixins.py:149 msgid "No items provided to print" -msgstr "" +msgstr "Nincs elem a nyomtatáshoz" #: plugin/builtin/barcodes/inventree_barcode.py:27 msgid "InvenTree Barcodes" @@ -8819,27 +8816,27 @@ msgstr "InvenTree fejlesztők" #: plugin/builtin/barcodes/inventree_barcode.py:34 msgid "Internal Barcode Format" -msgstr "" +msgstr "Belső Vonalkód Formátum" #: plugin/builtin/barcodes/inventree_barcode.py:35 msgid "Select an internal barcode format" -msgstr "" +msgstr "Belső vonalkód formátum kiválasztása" #: plugin/builtin/barcodes/inventree_barcode.py:37 msgid "JSON barcodes (human readable)" -msgstr "" +msgstr "JSON vonalkód (olvasható)" #: plugin/builtin/barcodes/inventree_barcode.py:38 msgid "Short barcodes (space optimized)" -msgstr "" +msgstr "Rövid vonalkód (tömörebb)" #: plugin/builtin/barcodes/inventree_barcode.py:43 msgid "Short Barcode Prefix" -msgstr "" +msgstr "Rövid Vonalkód Előtag" #: plugin/builtin/barcodes/inventree_barcode.py:45 msgid "Customize the prefix used for short barcodes, may be useful for environments with multiple InvenTree instances" -msgstr "" +msgstr "A rövid vonalkódok előtagjának beállítása hasznos lehet, ha több InvenTree példányt is használnak egy környezetben" #: plugin/builtin/integration/core_notifications.py:34 msgid "InvenTree Notifications" @@ -8941,7 +8938,7 @@ msgstr "Szegély" msgid "Print a border around each label" msgstr "Az egyes címkék körüli margó" -#: plugin/builtin/labels/label_sheet.py:47 report/models.py:307 +#: plugin/builtin/labels/label_sheet.py:47 report/models.py:315 msgid "Landscape" msgstr "Fekvő" @@ -9013,44 +9010,44 @@ msgstr "TME vonalkódok támogatása" msgid "The Supplier which acts as 'TME'" msgstr "A 'TME' beszállító" -#: plugin/installer.py:194 plugin/installer.py:274 +#: plugin/installer.py:199 plugin/installer.py:282 msgid "Only staff users can administer plugins" msgstr "Csak a személyzeti felhasználók adminisztrálhatják a pluginokat" -#: plugin/installer.py:197 +#: plugin/installer.py:202 msgid "Plugin installation is disabled" msgstr "Plugin telepítés letiltva" -#: plugin/installer.py:241 +#: plugin/installer.py:246 msgid "Installed plugin successfully" msgstr "Plugin telepítése sikeres" -#: plugin/installer.py:246 +#: plugin/installer.py:251 #, python-brace-format msgid "Installed plugin into {path}" msgstr "Plugin telepítve ide: {path}" -#: plugin/installer.py:265 +#: plugin/installer.py:273 msgid "Plugin was not found in registry" msgstr "Ez a plugin nem található a tárolóban" -#: plugin/installer.py:268 +#: plugin/installer.py:276 msgid "Plugin is not a packaged plugin" msgstr "A plugin nem egy csomagolt plugin" -#: plugin/installer.py:271 +#: plugin/installer.py:279 msgid "Plugin package name not found" msgstr "Plugin csomag neve nem található" -#: plugin/installer.py:291 +#: plugin/installer.py:299 msgid "Plugin uninstalling is disabled" msgstr "Plugin eltávolítás letiltva" -#: plugin/installer.py:295 +#: plugin/installer.py:303 msgid "Plugin cannot be uninstalled as it is currently active" msgstr "Plugin nem eltávolítható mivel még aktív" -#: plugin/installer.py:308 +#: plugin/installer.py:316 msgid "Uninstalled plugin successfully" msgstr "Plugin eltávolítása sikeres" @@ -9099,7 +9096,7 @@ msgstr "Beépített plugin" msgid "Package Plugin" msgstr "Csomag plugin" -#: plugin/models.py:220 report/models.py:474 +#: plugin/models.py:220 report/models.py:482 #: templates/InvenTree/settings/plugin_settings.html:9 #: templates/js/translated/plugin.js:51 msgid "Plugin" @@ -9168,6 +9165,38 @@ msgstr "Minta árfolyamváltó plugin" msgid "InvenTree Contributors" msgstr "InvenTree fejlesztők" +#: plugin/samples/integration/user_interface_sample.py:22 +msgid "Enable Part Panels" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:23 +msgid "Enable custom panels for Part views" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:28 +msgid "Enable Purchase Order Panels" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:29 +msgid "Enable custom panels for Purchase Order views" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:34 +msgid "Enable Broken Panels" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:35 +msgid "Enable broken panels for testing" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:40 +msgid "Enable Dynamic Panel" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:41 +msgid "Enable dynamic panels for testing" +msgstr "" + #: plugin/serializers.py:81 msgid "Source URL" msgstr "Forrás URL" @@ -9246,12 +9275,36 @@ msgstr "Konfiguráció törlése" msgid "Delete the plugin configuration from the database" msgstr "Plugin konfiguráció törlése az adatbázisból" +#: plugin/serializers.py:324 +msgid "Plugin Key" +msgstr "" + +#: plugin/serializers.py:328 +msgid "Panel Name" +msgstr "" + +#: plugin/serializers.py:332 +msgid "Panel Title" +msgstr "" + +#: plugin/serializers.py:337 +msgid "Panel Icon" +msgstr "" + +#: plugin/serializers.py:341 +msgid "Panel Content (HTML)" +msgstr "" + +#: plugin/serializers.py:345 +msgid "Panel Source (javascript)" +msgstr "" + #: report/api.py:88 msgid "No valid objects provided to template" msgstr "Nincs érvényes objektum megadva a sablonhoz" -#: report/api.py:103 report/models.py:438 report/serializers.py:98 -#: report/serializers.py:148 templates/js/translated/purchase_order.js:1817 +#: report/api.py:103 report/models.py:446 report/serializers.py:99 +#: report/serializers.py:149 templates/js/translated/purchase_order.js:1817 #: templates/js/translated/return_order.js:353 #: templates/js/translated/sales_order.js:887 #: templates/js/translated/sales_order.js:1047 @@ -9260,29 +9313,33 @@ msgstr "Tételek" #: report/api.py:180 msgid "Plugin not found" -msgstr "" +msgstr "Plugin nem található" #: report/api.py:182 msgid "Plugin is not active" -msgstr "" +msgstr "Plugin nem aktív" #: report/api.py:184 msgid "Plugin does not support label printing" -msgstr "" +msgstr "Plugin nem támogatja a címkenyomtatást" #: report/api.py:233 msgid "Invalid label dimensions" -msgstr "" +msgstr "Érvénytelen címke méretek" #: report/api.py:248 report/api.py:329 msgid "No valid items provided to template" -msgstr "" +msgstr "Nincs érvényes tétel megadva a sablonhoz" #: report/api.py:283 msgid "Error printing label" msgstr "Címkenyomtatási hiba" -#: report/api.py:375 report/api.py:411 +#: report/api.py:358 +msgid "Report saved at time of printing" +msgstr "" + +#: report/api.py:384 report/api.py:420 #, 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" @@ -9305,7 +9362,7 @@ msgstr "„Letter” méret" #: report/models.py:118 msgid "Template file with this name already exists" -msgstr "" +msgstr "Ilyen nevű Sablon fájl már létezik" #: report/models.py:150 msgid "Template name" @@ -9313,143 +9370,151 @@ msgstr "Sablon neve" #: report/models.py:156 msgid "Template description" -msgstr "" +msgstr "Sablon leírása" #: report/models.py:162 msgid "Revision number (auto-increments)" +msgstr "Verziószám (automatikusan nő)" + +#: report/models.py:168 +msgid "Attach to Model on Print" +msgstr "" + +#: report/models.py:170 +msgid "Save report output as an attachment against linked model instance when printing" msgstr "" -#: report/models.py:202 +#: report/models.py:210 msgid "Filename Pattern" msgstr "Fájlnév minta" -#: report/models.py:203 +#: report/models.py:211 msgid "Pattern for generating filenames" -msgstr "" +msgstr "Minta a fájlnevek előállításához" -#: report/models.py:208 +#: report/models.py:216 msgid "Template is enabled" -msgstr "" +msgstr "Sablon engedélyezve" -#: report/models.py:214 +#: report/models.py:222 msgid "Target model type for template" -msgstr "" +msgstr "A sablon által célzott model típus" -#: report/models.py:234 +#: report/models.py:242 msgid "Filters" msgstr "Szűrők" -#: report/models.py:235 +#: report/models.py:243 msgid "Template query filters (comma-separated list of key=value pairs)" -msgstr "" +msgstr "Sablon lekérdezés szűrők (vesszővel elválasztott kulcs=érték párok)" -#: report/models.py:294 report/models.py:361 +#: report/models.py:302 report/models.py:369 msgid "Template file" -msgstr "" +msgstr "Sablon file" -#: report/models.py:302 +#: report/models.py:310 msgid "Page size for PDF reports" msgstr "Lapméret a PDF riportokhoz" -#: report/models.py:308 +#: report/models.py:316 msgid "Render report in landscape orientation" msgstr "Jelentés fekvő nézetben" -#: report/models.py:367 +#: report/models.py:375 msgid "Width [mm]" msgstr "Szélesség [mm]" -#: report/models.py:368 +#: report/models.py:376 msgid "Label width, specified in mm" msgstr "Címke szélessége, mm-ben" -#: report/models.py:374 +#: report/models.py:382 msgid "Height [mm]" msgstr "Magasság [mm]" -#: report/models.py:375 +#: report/models.py:383 msgid "Label height, specified in mm" msgstr "Címke magassága, mm-ben" -#: report/models.py:438 +#: report/models.py:446 msgid "Number of items to process" -msgstr "" +msgstr "Feldolgozandó elemek száma" -#: report/models.py:444 +#: report/models.py:452 msgid "Report generation is complete" -msgstr "" +msgstr "Jelentés készítés befejezve" -#: report/models.py:448 templates/js/translated/build.js:2352 +#: report/models.py:456 templates/js/translated/build.js:2352 msgid "Progress" msgstr "Haladás" -#: report/models.py:448 +#: report/models.py:456 msgid "Report generation progress" -msgstr "" +msgstr "Jelentés készítés állapota" -#: report/models.py:456 +#: report/models.py:464 msgid "Report Template" -msgstr "" +msgstr "Jelentéssablon" -#: report/models.py:463 report/models.py:486 +#: report/models.py:471 report/models.py:494 msgid "Output File" msgstr "Kimeneti Fájl" -#: report/models.py:464 report/models.py:487 +#: report/models.py:472 report/models.py:495 msgid "Generated output file" -msgstr "" +msgstr "Generált kimeneti állomány" -#: report/models.py:475 +#: report/models.py:483 msgid "Label output plugin" -msgstr "" +msgstr "Címke előállító plugin" -#: report/models.py:479 +#: report/models.py:487 msgid "Label Template" -msgstr "" +msgstr "Címke sablon" -#: report/models.py:502 +#: report/models.py:510 msgid "Snippet" msgstr "Részlet" -#: report/models.py:503 +#: report/models.py:511 msgid "Report snippet file" msgstr "Riport részlet fájl" -#: report/models.py:510 +#: report/models.py:518 msgid "Snippet file description" msgstr "Részlet fájl leírása" -#: report/models.py:528 +#: report/models.py:536 msgid "Asset" msgstr "Eszköz" -#: report/models.py:529 +#: report/models.py:537 msgid "Report asset file" msgstr "Riport asset fájl" -#: report/models.py:536 +#: report/models.py:544 msgid "Asset file description" msgstr "Asset fájl leírása" -#: report/serializers.py:91 +#: report/serializers.py:92 msgid "Select report template" -msgstr "" +msgstr "Riport sablon kiválasztása" -#: report/serializers.py:99 report/serializers.py:149 +#: report/serializers.py:100 report/serializers.py:150 msgid "List of item primary keys to include in the report" -msgstr "" +msgstr "A jelentésben levő tételek azonosítója" -#: report/serializers.py:132 +#: report/serializers.py:133 msgid "Select label template" msgstr "Címke sablon választás" -#: report/serializers.py:140 +#: report/serializers.py:141 msgid "Printing Plugin" -msgstr "" +msgstr "Nyomtató plugin" -#: report/serializers.py:141 +#: report/serializers.py:142 msgid "Select plugin to use for label printing" -msgstr "" +msgstr "Címkenyomtató plugin kiválasztása" #: report/templates/label/part_label.html:31 #: report/templates/label/stockitem_qr.html:21 @@ -9518,7 +9583,7 @@ msgstr "Teszt eredmények" msgid "Test" msgstr "Teszt" -#: report/templates/report/inventree_test_report.html:103 stock/models.py:2538 +#: report/templates/report/inventree_test_report.html:103 stock/models.py:2533 msgid "Result" msgstr "Eredmény" @@ -9588,7 +9653,7 @@ msgstr "Beszállítói cikkszám" #: stock/admin.py:185 msgid "Supplier Part SKU" -msgstr "" +msgstr "Beszállítói cikkszám" #: stock/admin.py:190 msgid "Supplier ID" @@ -9599,7 +9664,7 @@ msgid "Customer ID" msgstr "Vevő ID" #: stock/admin.py:206 stock/models.py:829 -#: stock/templates/stock/item_base.html:354 +#: stock/templates/stock/item_base.html:350 msgid "Installed In" msgstr "Beépítve ebbe" @@ -9624,7 +9689,7 @@ msgid "Delete on Deplete" msgstr "Törlés ha kimerül" #: stock/admin.py:261 stock/models.py:923 -#: stock/templates/stock/item_base.html:433 +#: stock/templates/stock/item_base.html:429 #: templates/js/translated/stock.js:2316 users/models.py:124 msgid "Expiry Date" msgstr "Lejárati dátum" @@ -9635,7 +9700,7 @@ msgstr "Hely mélységre szűrés" #: stock/api.py:330 msgid "Filter by top-level locations" -msgstr "" +msgstr "Csúcs készlethelyre szűrés" #: stock/api.py:345 msgid "Include sub-locations in filtered results" @@ -9666,7 +9731,7 @@ msgid "Expiry date after" msgstr "Lejárat után" #: stock/api.py:839 stock/serializers.py:611 -#: stock/templates/stock/item_base.html:439 +#: stock/templates/stock/item_base.html:435 #: templates/js/translated/table_filters.js:448 msgid "Stale" msgstr "Állott" @@ -9716,7 +9781,7 @@ msgid "Stock Locations" msgstr "Készlethelyek" #: stock/models.py:185 stock/models.py:972 -#: stock/templates/stock/item_base.html:247 +#: stock/templates/stock/item_base.html:243 msgid "Owner" msgstr "Tulajdonos" @@ -9827,7 +9892,7 @@ msgstr "Forrás gyártás" msgid "Build for this stock item" msgstr "Gyártás ehhez a készlet tételhez" -#: stock/models.py:892 stock/templates/stock/item_base.html:363 +#: stock/models.py:892 stock/templates/stock/item_base.html:359 msgid "Consumed By" msgstr "Felhasználva ebben" @@ -9892,7 +9957,7 @@ msgstr "A mennyiség nem egyezik a megadott sorozatszámok számával" msgid "Serial numbers already exist" msgstr "A sorozatszámok már léteznek" -#: stock/models.py:1636 +#: stock/models.py:1636 stock/models.py:2436 msgid "Test template does not exist" msgstr "Ez a Teszt sablon nem létezik" @@ -9940,109 +10005,109 @@ msgstr "Készlet tételek állapotainak egyeznie kell" 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:2337 +#: stock/models.py:2335 msgid "Stock Item Tracking" -msgstr "" +msgstr "Készlettörténet" -#: stock/models.py:2370 +#: stock/models.py:2368 msgid "Entry notes" msgstr "Bejegyzés megjegyzései" -#: stock/models.py:2410 +#: stock/models.py:2408 msgid "Stock Item Test Result" -msgstr "" +msgstr "Készlet Tétel Ellenőrzés Eredménye" -#: stock/models.py:2443 +#: stock/models.py:2439 msgid "Value must be provided for this test" msgstr "Ehhez a teszthez meg kell adni értéket" -#: stock/models.py:2448 +#: stock/models.py:2443 msgid "Attachment must be uploaded for this test" msgstr "Ehhez a teszthez fel kell tölteni mellékletet" -#: stock/models.py:2453 +#: stock/models.py:2448 msgid "Invalid value for this test" -msgstr "" +msgstr "A teszt eredménye érvénytelen" -#: stock/models.py:2538 +#: stock/models.py:2533 msgid "Test result" msgstr "Teszt eredménye" -#: stock/models.py:2545 +#: stock/models.py:2540 msgid "Test output value" msgstr "Teszt kimeneti értéke" -#: stock/models.py:2553 stock/serializers.py:245 +#: stock/models.py:2548 stock/serializers.py:245 msgid "Test result attachment" msgstr "Teszt eredmény melléklet" -#: stock/models.py:2557 +#: stock/models.py:2552 msgid "Test notes" msgstr "Tesztek megjegyzései" -#: stock/models.py:2565 templates/js/translated/stock.js:1633 +#: stock/models.py:2560 templates/js/translated/stock.js:1633 msgid "Test station" msgstr "Teszt állomás" -#: stock/models.py:2566 +#: stock/models.py:2561 msgid "The identifier of the test station where the test was performed" msgstr "A tesztet elvégző tesztállomás azonosítója" -#: stock/models.py:2572 +#: stock/models.py:2567 msgid "Started" msgstr "Elkezdődött" -#: stock/models.py:2573 +#: stock/models.py:2568 msgid "The timestamp of the test start" msgstr "A teszt indításának időpontja" -#: stock/models.py:2579 +#: stock/models.py:2574 msgid "Finished" msgstr "Befejezve" -#: stock/models.py:2580 +#: stock/models.py:2575 msgid "The timestamp of the test finish" msgstr "A teszt befejezésének időpontja" #: stock/serializers.py:77 msgid "Generated batch code" -msgstr "" +msgstr "Generált köteg kód" #: stock/serializers.py:86 msgid "Select build order" -msgstr "" +msgstr "Gyártási rendelés kiválasztása" #: stock/serializers.py:95 msgid "Select stock item to generate batch code for" -msgstr "" +msgstr "Készlettétel amihez a köteg kódot generáljuk" #: stock/serializers.py:104 msgid "Select location to generate batch code for" -msgstr "" +msgstr "Készlethely amihez a köteg kódot generáljuk" #: stock/serializers.py:113 msgid "Select part to generate batch code for" -msgstr "" +msgstr "Alkatrész amihez a köteg kódot generáljuk" #: stock/serializers.py:122 msgid "Select purchase order" -msgstr "" +msgstr "Beszerzési rendelés kiválasztása" #: stock/serializers.py:129 msgid "Enter quantity for batch code" -msgstr "" +msgstr "Adja meg a mennyiséget a köteg kódhoz" #: stock/serializers.py:152 msgid "Generated serial number" -msgstr "" +msgstr "Generált sorozatszám" #: stock/serializers.py:161 msgid "Select part to generate serial number for" -msgstr "" +msgstr "Válassza ki az alkatrészt amihez sorozatszámot akar generálni" #: stock/serializers.py:169 msgid "Quantity of serial numbers to generate" -msgstr "" +msgstr "Hány sorozatszámot generáljunk" #: stock/serializers.py:234 msgid "Test template for this result" @@ -10060,19 +10125,19 @@ msgstr "A tesztet nem lehet a kezdésnél hamarabb befejezni" msgid "Serial number is too large" msgstr "Szériaszám túl nagy" -#: stock/serializers.py:459 stock/templates/stock/item_base.html:193 +#: stock/serializers.py:459 stock/templates/stock/item_base.html:189 msgid "Parent Item" msgstr "Szülő tétel" #: stock/serializers.py:460 msgid "Parent stock item" -msgstr "" +msgstr "Szülő készlet tétel" #: stock/serializers.py:479 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "Csomagolási mennyiség használata: a megadott mennyiség ennyi csomag" -#: stock/serializers.py:603 stock/templates/stock/item_base.html:437 +#: stock/serializers.py:603 stock/templates/stock/item_base.html:433 #: templates/js/translated/table_filters.js:442 users/models.py:174 msgid "Expired" msgstr "Lejárt" @@ -10083,7 +10148,7 @@ msgstr "Gyermek tételek" #: stock/serializers.py:613 msgid "Tracking Items" -msgstr "" +msgstr "Nyilvántartott tételek" #: stock/serializers.py:619 msgid "Purchase price of this stock item, per unit or pack" @@ -10091,11 +10156,11 @@ msgstr "Készlet tétel beszerzési ára, per darab vagy csomag" #: stock/serializers.py:638 msgid "Minimum Pricing" -msgstr "" +msgstr "Minimum árazás" #: stock/serializers.py:644 msgid "Maximum Pricing" -msgstr "" +msgstr "Maximum árazás" #: stock/serializers.py:668 msgid "Enter number of stock items to serialize" @@ -10161,7 +10226,7 @@ msgstr "Cél hely a kiszedett tételeknek" #: stock/serializers.py:910 msgid "Unsupported statistic type: " -msgstr "" +msgstr "Nem támogatott statisztikai típus: " #: stock/serializers.py:924 msgid "Select part to convert stock item into" @@ -10411,7 +10476,7 @@ msgstr "Ez a készlet tétel nem tartalmaz egy altételt sem" msgid "Test Data" msgstr "Teszt adatok" -#: stock/templates/stock/item.html:85 stock/templates/stock/item_base.html:65 +#: stock/templates/stock/item.html:85 msgid "Test Report" msgstr "Teszt riport" @@ -10451,200 +10516,204 @@ msgstr "Készlet tétel keresése" msgid "Scan to Location" msgstr "Áthelyezés kódolvasással" -#: stock/templates/stock/item_base.html:59 +#: stock/templates/stock/item_base.html:58 #: stock/templates/stock/location.html:67 #: templates/js/translated/filters.js:434 msgid "Printing actions" msgstr "Nyomtatási műveletek" -#: stock/templates/stock/item_base.html:75 +#: stock/templates/stock/item_base.html:63 templates/js/translated/report.js:49 +msgid "Print Report" +msgstr "Jelentés nyomtatása" + +#: stock/templates/stock/item_base.html:71 msgid "Stock adjustment actions" msgstr "Készlet módosítási műveletek" -#: stock/templates/stock/item_base.html:79 +#: stock/templates/stock/item_base.html:75 #: stock/templates/stock/location.html:87 templates/js/translated/stock.js:1909 msgid "Count stock" msgstr "Leltározás" -#: stock/templates/stock/item_base.html:81 +#: stock/templates/stock/item_base.html:77 #: templates/js/translated/stock.js:1891 msgid "Add stock" msgstr "Készlet növelése" -#: stock/templates/stock/item_base.html:82 +#: stock/templates/stock/item_base.html:78 #: templates/js/translated/stock.js:1900 msgid "Remove stock" msgstr "Készlet csökkentése" -#: stock/templates/stock/item_base.html:85 +#: stock/templates/stock/item_base.html:81 msgid "Serialize stock" msgstr "Sorozatszámok előállítása" -#: stock/templates/stock/item_base.html:88 +#: stock/templates/stock/item_base.html:84 #: stock/templates/stock/location.html:93 templates/js/translated/stock.js:1918 msgid "Transfer stock" msgstr "Készlet áthelyezése" -#: stock/templates/stock/item_base.html:91 +#: stock/templates/stock/item_base.html:87 #: templates/js/translated/stock.js:1973 msgid "Assign to customer" msgstr "Vevőhöz rendelése" -#: stock/templates/stock/item_base.html:94 +#: stock/templates/stock/item_base.html:90 msgid "Return to stock" msgstr "Visszavétel készletre" -#: stock/templates/stock/item_base.html:97 +#: stock/templates/stock/item_base.html:93 msgid "Uninstall stock item" msgstr "Készlet tétel kiszedése" -#: stock/templates/stock/item_base.html:97 +#: stock/templates/stock/item_base.html:93 msgid "Uninstall" msgstr "Kiszedés" -#: stock/templates/stock/item_base.html:101 +#: stock/templates/stock/item_base.html:97 msgid "Install stock item" msgstr "Készlet tétel beépítése" -#: stock/templates/stock/item_base.html:101 +#: stock/templates/stock/item_base.html:97 msgid "Install" msgstr "Beépítés" -#: stock/templates/stock/item_base.html:115 +#: stock/templates/stock/item_base.html:111 msgid "Convert to variant" msgstr "Változattá alakítás" -#: stock/templates/stock/item_base.html:118 +#: stock/templates/stock/item_base.html:114 msgid "Duplicate stock item" msgstr "Készlet tétel másolása" -#: stock/templates/stock/item_base.html:120 +#: stock/templates/stock/item_base.html:116 msgid "Edit stock item" msgstr "Készlet tétel szerkesztése" -#: stock/templates/stock/item_base.html:123 +#: stock/templates/stock/item_base.html:119 msgid "Delete stock item" msgstr "Készlet tétel törlése" -#: stock/templates/stock/item_base.html:169 templates/InvenTree/search.html:139 +#: stock/templates/stock/item_base.html:165 templates/InvenTree/search.html:139 #: templates/js/translated/build.js:2298 templates/navbar.html:38 msgid "Build" msgstr "Gyártás" -#: stock/templates/stock/item_base.html:211 +#: stock/templates/stock/item_base.html:207 msgid "No manufacturer set" msgstr "Nincs beállítva gyártó" -#: stock/templates/stock/item_base.html:251 +#: stock/templates/stock/item_base.html:247 msgid "You are not in the list of owners of this item. This stock item cannot be edited." msgstr "Úgytűnik nem vagy ennek a tételnek a tulajdonosa. Ezt így nem tudod módosítani." -#: stock/templates/stock/item_base.html:252 +#: stock/templates/stock/item_base.html:248 #: stock/templates/stock/location.html:146 msgid "Read only" msgstr "Csak olvasható" -#: stock/templates/stock/item_base.html:265 +#: stock/templates/stock/item_base.html:261 msgid "This stock item is unavailable" msgstr "Ez a készlet tétel nem elérhető" -#: stock/templates/stock/item_base.html:271 +#: stock/templates/stock/item_base.html:267 msgid "This stock item is in production and cannot be edited." msgstr "Ez a készlet tétel éppen gyártás alatt van és itt még nem szerkeszthető." -#: stock/templates/stock/item_base.html:272 +#: stock/templates/stock/item_base.html:268 msgid "Edit the stock item from the build view." msgstr "A tétel szerkesztése most csak a gyártási nézetből lehetséges." -#: stock/templates/stock/item_base.html:287 +#: stock/templates/stock/item_base.html:283 msgid "This stock item is allocated to Sales Order" msgstr "Foglalva ehhez a vevői rendeléshez" -#: stock/templates/stock/item_base.html:295 +#: stock/templates/stock/item_base.html:291 msgid "This stock item is allocated to Build Order" msgstr "Foglalva ehhez a gyártási utasításhoz" -#: stock/templates/stock/item_base.html:311 +#: stock/templates/stock/item_base.html:307 msgid "This stock item is serialized. It has a unique serial number and the quantity cannot be adjusted" msgstr "Ez a készlet tétel egyedi követésre kötelezett. Egyedi sorozatszámmal rendelkezik így a mennyiség nem módosítható" -#: stock/templates/stock/item_base.html:317 +#: stock/templates/stock/item_base.html:313 msgid "previous page" msgstr "előző oldal" -#: stock/templates/stock/item_base.html:317 +#: stock/templates/stock/item_base.html:313 msgid "Navigate to previous serial number" msgstr "Menj az előző sorozatszámhoz" -#: stock/templates/stock/item_base.html:326 +#: stock/templates/stock/item_base.html:322 msgid "next page" msgstr "követkető oldal" -#: stock/templates/stock/item_base.html:326 +#: stock/templates/stock/item_base.html:322 msgid "Navigate to next serial number" msgstr "Menj a következő sorozatszámhoz" -#: stock/templates/stock/item_base.html:398 +#: stock/templates/stock/item_base.html:394 #: templates/js/translated/build.js:2555 msgid "No location set" msgstr "Nincs beállítva hely" -#: stock/templates/stock/item_base.html:413 +#: stock/templates/stock/item_base.html:409 msgid "Tests" msgstr "Tesztek" -#: stock/templates/stock/item_base.html:419 +#: stock/templates/stock/item_base.html:415 msgid "This stock item has not passed all required tests" msgstr "Ez a készlet tétel nem felelt meg az összes szükséges teszten" -#: stock/templates/stock/item_base.html:437 +#: stock/templates/stock/item_base.html:433 #, python-format msgid "This StockItem expired on %(item.expiry_date)s" msgstr "Ez a készlet tétel lejárt %(item.expiry_date)s-n" -#: stock/templates/stock/item_base.html:439 +#: stock/templates/stock/item_base.html:435 #, python-format msgid "This StockItem expires on %(item.expiry_date)s" msgstr "Ez a készlet tétel lejár %(item.expiry_date)s-n" -#: stock/templates/stock/item_base.html:455 +#: stock/templates/stock/item_base.html:451 msgid "No stocktake performed" msgstr "Még nem volt leltározva" -#: stock/templates/stock/item_base.html:504 +#: stock/templates/stock/item_base.html:500 #: templates/js/translated/stock.js:2038 msgid "stock item" msgstr "készlet tétel" -#: stock/templates/stock/item_base.html:527 +#: stock/templates/stock/item_base.html:523 msgid "Edit Stock Status" msgstr "Készlet állapot szerkesztése" -#: stock/templates/stock/item_base.html:536 +#: stock/templates/stock/item_base.html:532 msgid "Stock Item QR Code" msgstr "Készlet tétel QR kódja" -#: stock/templates/stock/item_base.html:547 +#: stock/templates/stock/item_base.html:543 msgid "Link Barcode to Stock Item" msgstr "Vonalkód hozzárendelése a készlet tételhez" -#: stock/templates/stock/item_base.html:611 +#: stock/templates/stock/item_base.html:607 msgid "Select one of the part variants listed below." msgstr "Válassz a lenti alkatrész változatok közül" -#: stock/templates/stock/item_base.html:614 +#: stock/templates/stock/item_base.html:610 msgid "Warning" msgstr "Figyelem" -#: stock/templates/stock/item_base.html:615 +#: stock/templates/stock/item_base.html:611 msgid "This action cannot be easily undone" msgstr "Ez a művelet nem vonható vissza könnyen" -#: stock/templates/stock/item_base.html:623 +#: stock/templates/stock/item_base.html:619 msgid "Convert Stock Item" msgstr "Készlet tétel konvertálása" -#: stock/templates/stock/item_base.html:656 +#: stock/templates/stock/item_base.html:652 msgid "Return to Stock" msgstr "Visszavétel készletre" @@ -10710,7 +10779,7 @@ msgstr "Úgytűnik nem vagy ennek a készlethelynek a tulajdonosa. Ezt így nem #: stock/templates/stock/location.html:173 msgid "Location Type" -msgstr "" +msgstr "Készlethely Típus" #: stock/templates/stock/location.html:223 msgid "Create new stock location" @@ -11311,7 +11380,7 @@ msgid "Delete Location Type" msgstr "Készlethely típus törlése" #: templates/InvenTree/settings/settings_staff_js.html:503 -#: templates/InvenTree/settings/stock.html:38 +#: templates/InvenTree/settings/stock.html:39 msgid "New Location Type" msgstr "Új készlethely típus" @@ -11368,7 +11437,7 @@ msgstr "Vevő rendelés beállításai" msgid "Stock Settings" msgstr "Készlet beállítások" -#: templates/InvenTree/settings/stock.html:34 +#: templates/InvenTree/settings/stock.html:35 msgid "Stock Location Types" msgstr "Készlethely típusok" @@ -11827,7 +11896,7 @@ msgstr "Olvasd be a lenti QR kódot egy kiválaszott token generátorral (péld #: templates/allauth_2fa/setup.html:20 msgid "Secret: " -msgstr "" +msgstr "Titok: " #: templates/allauth_2fa/setup.html:24 msgid "Step 2" @@ -11853,23 +11922,23 @@ msgstr "Melléklet hozzáadása" msgid "Barcode Identifier" msgstr "Vonalkód azonosító" -#: templates/base.html:103 +#: templates/base.html:102 msgid "Server Restart Required" msgstr "Kiszolgáló újraindítása szükséges" -#: templates/base.html:106 +#: templates/base.html:105 msgid "A configuration option has been changed which requires a server restart" msgstr "Egy olyan konfigurációs opció megváltozott ami a kiszolgáló újraindítását igényli" -#: templates/base.html:106 templates/base.html:116 +#: templates/base.html:105 templates/base.html:115 msgid "Contact your system administrator for further information" msgstr "Vedd fel a kapcsolatot a rendszergazdával további információkért" -#: templates/base.html:113 +#: templates/base.html:112 msgid "Pending Database Migrations" msgstr "Függőben levő adatbázis migrációk" -#: templates/base.html:116 +#: templates/base.html:115 msgid "There are pending database migrations which require attention" msgstr "Törődést igénylő függőben levő adatbázis migrációk találhatók" @@ -12513,35 +12582,35 @@ msgstr "Gyártási kimenetek törlése" #: templates/js/translated/build.js:962 msgid "Delete allocations" -msgstr "" +msgstr "Hozzárendelések törlése" #: templates/js/translated/build.js:969 msgid "Delete Stock Allocations" -msgstr "" +msgstr "Hozzárendelt Készletek Törlése" #: templates/js/translated/build.js:992 msgid "No allocated stock" -msgstr "" +msgstr "Nincsen hozzárendelt készlet" #: templates/js/translated/build.js:1048 msgid "Stock item" -msgstr "" +msgstr "Készlet tétel" #: templates/js/translated/build.js:1073 msgid "Edit build allocation" -msgstr "" +msgstr "Gyártási készlet foglalások szerkesztése" #: templates/js/translated/build.js:1074 msgid "Delete build allocation" -msgstr "" +msgstr "Gyártási készlet foglalások törlése" #: templates/js/translated/build.js:1092 msgid "Edit Build Allocation" -msgstr "" +msgstr "Gyártási Készlet Foglalások Szerkesztése" #: templates/js/translated/build.js:1105 msgid "Delete Build Allocation" -msgstr "" +msgstr "Gyártási Készlet Foglalások Törlése" #: templates/js/translated/build.js:1136 msgid "No build order allocations found" @@ -12710,7 +12779,7 @@ msgstr "Követésre kötelezett alkatrész" #: templates/js/translated/build.js:2723 msgid "Gets Inherited" -msgstr "" +msgstr "Öröklődik" #: templates/js/translated/build.js:2733 msgid "Unit Quantity" @@ -13219,11 +13288,11 @@ msgstr "Az értesítések itt fognak megjelenni" #: templates/js/translated/order.js:48 msgid "Hold Order" -msgstr "" +msgstr "Rendelés felfüggesztése" #: templates/js/translated/order.js:53 msgid "Are you sure you wish to place this order on hold?" -msgstr "" +msgstr "Biztosan felfüggeszti ennek a rendelésnek a kivitelezését?" #: templates/js/translated/order.js:114 msgid "Add Extra Line Item" @@ -13568,11 +13637,11 @@ msgstr "találat" #: templates/js/translated/part.js:2955 msgid "Edit test template" -msgstr "" +msgstr "Teszt sablon szerkesztése" #: templates/js/translated/part.js:2956 msgid "Delete test template" -msgstr "" +msgstr "Teszt sablon törlése" #: templates/js/translated/part.js:2960 msgid "This test is defined for a parent part" @@ -13830,7 +13899,7 @@ msgstr "Érkező mennyiség" #: templates/js/translated/purchase_order.js:1170 #: templates/js/translated/stock.js:1215 msgid "Specify packaging for incoming stock items" -msgstr "" +msgstr "Bejövő készlet tételek csomagolásának meghatározása" #: templates/js/translated/purchase_order.js:1223 msgid "Stock Status" @@ -13854,7 +13923,7 @@ msgstr "Batch kód hozzáadása" #: templates/js/translated/purchase_order.js:1259 msgid "Specify packaging" -msgstr "" +msgstr "Csomagolás meghatározása" #: templates/js/translated/purchase_order.js:1270 msgid "Add serial numbers" @@ -13862,7 +13931,7 @@ msgstr "Sorozatszám hozzáadása" #: templates/js/translated/purchase_order.js:1281 msgid "Add note" -msgstr "" +msgstr "Jegyzet hozzáfűzése" #: templates/js/translated/purchase_order.js:1338 msgid "Serials" @@ -13947,17 +14016,13 @@ msgstr "Sortétel szerkesztése" msgid "Delete line item" msgstr "Sortétel törlése" -#: templates/js/translated/report.js:49 -msgid "Print Report" -msgstr "" - #: templates/js/translated/report.js:68 msgid "Report print successful" -msgstr "" +msgstr "Jelentés nyomtatása sikeres" #: templates/js/translated/report.js:73 msgid "Report printing failed" -msgstr "" +msgstr "Jelentés nyomtatása sikertelen" #: templates/js/translated/return_order.js:60 #: templates/js/translated/sales_order.js:86 @@ -14052,15 +14117,15 @@ msgstr "Kihagyás" #: templates/js/translated/sales_order.js:484 msgid "Ship Sales Order" -msgstr "" +msgstr "Vevői rendelés kiszállítása" #: templates/js/translated/sales_order.js:500 msgid "Ship this order?" -msgstr "" +msgstr "Biztosan kiszállította a rendelést?" #: templates/js/translated/sales_order.js:506 msgid "Order cannot be shipped as there are incomplete shipments" -msgstr "" +msgstr "A rendelés nem kiszállítható mert vannak még hiányos szállítások" #: templates/js/translated/sales_order.js:513 msgid "This order has line items which have not been completed." @@ -14068,7 +14133,7 @@ msgstr "Ez a rendelés olyan sortételeket tartalmaz amik még nem teljesítette #: templates/js/translated/sales_order.js:514 msgid "Shipping this order means that the order and line items will no longer be editable." -msgstr "" +msgstr "A rendelés szállítása után a rendelés tételei nem lesznek szerkeszthetők." #: templates/js/translated/sales_order.js:572 msgid "Issue this Sales Order?" @@ -14417,11 +14482,11 @@ msgstr "Készlet mennyiség megadása" #: templates/js/translated/stock.js:1168 msgid "Adjust batch code" -msgstr "" +msgstr "Köteg kód módosítása" #: templates/js/translated/stock.js:1178 msgid "Adjust packaging" -msgstr "" +msgstr "Csomagolás módosítása" #: templates/js/translated/stock.js:1256 templates/js/translated/stock.js:3383 msgid "Select Stock Items" @@ -14710,11 +14775,11 @@ msgstr "Készlet állapot módosítása" #: templates/js/translated/stock.js:3478 msgid "This week" -msgstr "" +msgstr "Aktuális hét" #: templates/js/translated/stock.js:3486 msgid "This month" -msgstr "" +msgstr "Aktuális hónap" #: templates/js/translated/table_filters.js:73 msgid "Has project code" @@ -14729,7 +14794,7 @@ msgstr "Rendelés állapota" #: templates/js/translated/table_filters.js:161 msgid "Testable Part" -msgstr "" +msgstr "Ellenőrizhető alkatrész" #: templates/js/translated/table_filters.js:165 msgid "Trackable Part" @@ -14912,11 +14977,11 @@ msgstr "Beépített tételekkel együtt" #: templates/js/translated/table_filters.js:478 msgid "Interval start" -msgstr "" +msgstr "Intervallum eleje" #: templates/js/translated/table_filters.js:482 msgid "Interval end" -msgstr "" +msgstr "Invervallum vége" #: templates/js/translated/table_filters.js:536 msgid "Build status" @@ -14932,7 +14997,7 @@ msgstr "Aktív alkatrészek megjelenítése" #: templates/js/translated/table_filters.js:725 msgid "Show locked parts" -msgstr "" +msgstr "Lezárt alkatrészek megjelenítése" #: templates/js/translated/table_filters.js:733 msgid "Available stock" @@ -15242,11 +15307,11 @@ msgstr "Email beállítások hiányoznak" #: templates/test_statistics_table.html:13 msgid "Passed" -msgstr "" +msgstr "Megfelelt" #: templates/test_statistics_table.html:16 msgid "Failed" -msgstr "" +msgstr "Elbukott" #: templates/yesnolabel.html:4 msgid "Yes" diff --git a/src/backend/InvenTree/locale/id/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/id/LC_MESSAGES/django.po index 0b15562adc40..b467d84c8722 100644 --- a/src/backend/InvenTree/locale/id/LC_MESSAGES/django.po +++ b/src/backend/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: 2024-08-29 07:07+0000\n" -"PO-Revision-Date: 2024-08-29 07:10\n" +"POT-Creation-Date: 2024-09-16 00:37+0000\n" +"PO-Revision-Date: 2024-09-16 00:40\n" "Last-Translator: \n" "Language-Team: Indonesian\n" "Language: id_ID\n" @@ -65,9 +65,9 @@ msgstr "Masukkan tanggal" #: 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:59 -#: part/models.py:3309 part/templates/part/part_sidebar.html:65 +#: part/models.py:3296 part/templates/part/part_sidebar.html:65 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/admin.py:231 stock/models.py:2369 stock/models.py:2557 +#: stock/admin.py:231 stock/models.py:2367 stock/models.py:2552 #: stock/serializers.py:705 stock/serializers.py:863 stock/serializers.py:989 #: stock/serializers.py:1039 stock/serializers.py:1350 #: stock/serializers.py:1439 stock/serializers.py:1604 @@ -150,7 +150,7 @@ msgstr "Nomor seri kosong" #: InvenTree/helpers.py:522 msgid "Duplicate serial" -msgstr "" +msgstr "Gandakan Nomor Seri" #: InvenTree/helpers.py:554 InvenTree/helpers.py:597 #, python-brace-format @@ -181,7 +181,7 @@ msgstr "Hapus tag-tag HTML dari nilai ini" #: InvenTree/helpers_model.py:130 msgid "Connection error" -msgstr "" +msgstr "Koneksi Galat" #: InvenTree/helpers_model.py:135 InvenTree/helpers_model.py:142 msgid "Server responded with invalid status code" @@ -213,7 +213,7 @@ msgstr "URL yang diberikan bukan file gambar yang valid" #: InvenTree/locales.py:18 msgid "Arabic" -msgstr "" +msgstr "Bahasa Arab" #: InvenTree/locales.py:19 msgid "Bulgarian" @@ -364,7 +364,7 @@ msgstr "" msgid "[{site_name}] Log in to the app" msgstr "" -#: InvenTree/magic_login.py:38 InvenTree/serializers.py:413 +#: InvenTree/magic_login.py:38 InvenTree/serializers.py:416 #: company/models.py:133 company/templates/company/company_base.html:138 #: templates/InvenTree/settings/user.html:49 #: templates/js/translated/company.js:677 @@ -419,9 +419,9 @@ msgstr "" msgid "Invalid choice" msgstr "Pilihan tidak valid" -#: InvenTree/models.py:767 common/models.py:2704 common/models.py:3131 -#: common/models.py:3351 common/serializers.py:439 company/models.py:590 -#: machine/models.py:24 part/models.py:995 part/models.py:3776 +#: InvenTree/models.py:767 common/models.py:2705 common/models.py:3132 +#: common/models.py:3352 common/serializers.py:455 company/models.py:590 +#: machine/models.py:24 part/models.py:995 part/models.py:3763 #: plugin/models.py:51 report/models.py:149 stock/models.py:82 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -446,10 +446,10 @@ msgstr "Nama" #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 order/models.py:289 #: order/models.py:1406 part/admin.py:305 part/admin.py:411 part/models.py:1018 -#: part/models.py:3791 part/templates/part/category.html:79 +#: part/models.py:3778 part/templates/part/category.html:79 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:155 -#: report/models.py:509 report/models.py:535 +#: report/models.py:517 report/models.py:543 #: report/templates/report/inventree_build_order_report.html:117 #: stock/admin.py:54 stock/models.py:88 stock/templates/stock/location.html:122 #: templates/InvenTree/settings/notifications.html:19 @@ -517,12 +517,12 @@ msgstr "Terjadi Kesalahan Server" msgid "An error has been logged by the server." msgstr "Sebuah kesalahan telah dicatat oleh server." -#: InvenTree/serializers.py:63 part/models.py:4400 +#: InvenTree/serializers.py:63 part/models.py:4387 msgid "Must be a valid number" msgstr "Harus berupa angka yang valid" #: InvenTree/serializers.py:100 company/models.py:183 -#: company/templates/company/company_base.html:112 part/models.py:3127 +#: company/templates/company/company_base.html:112 part/models.py:3114 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -534,45 +534,45 @@ msgstr "" #: InvenTree/serializers.py:405 templates/InvenTree/settings/user.html:33 msgid "Username" -msgstr "" +msgstr "Nama Pengguna" -#: InvenTree/serializers.py:407 templates/InvenTree/settings/user.html:37 +#: InvenTree/serializers.py:408 templates/InvenTree/settings/user.html:37 msgid "First Name" -msgstr "" +msgstr "Nama Depan" -#: InvenTree/serializers.py:407 +#: InvenTree/serializers.py:408 msgid "First name of the user" -msgstr "" +msgstr "Nama depan dari pengguna" -#: InvenTree/serializers.py:410 templates/InvenTree/settings/user.html:41 +#: InvenTree/serializers.py:412 templates/InvenTree/settings/user.html:41 msgid "Last Name" -msgstr "" +msgstr "Nama Belakang" -#: InvenTree/serializers.py:410 +#: InvenTree/serializers.py:412 msgid "Last name of the user" -msgstr "" +msgstr "Nama belakang dari pengguna" -#: InvenTree/serializers.py:413 +#: InvenTree/serializers.py:416 msgid "Email address of the user" -msgstr "" +msgstr "Alamat surel dari pengguna" -#: InvenTree/serializers.py:438 +#: InvenTree/serializers.py:441 msgid "Staff" -msgstr "" +msgstr "Staf" -#: InvenTree/serializers.py:438 +#: InvenTree/serializers.py:441 msgid "Does this user have staff permissions" msgstr "" -#: InvenTree/serializers.py:441 +#: InvenTree/serializers.py:445 msgid "Superuser" msgstr "" -#: InvenTree/serializers.py:441 +#: InvenTree/serializers.py:445 msgid "Is this user a superuser" msgstr "" -#: InvenTree/serializers.py:444 common/models.py:2709 company/models.py:160 +#: InvenTree/serializers.py:449 common/models.py:2710 company/models.py:160 #: company/models.py:798 machine/models.py:39 part/admin.py:88 #: part/models.py:1201 plugin/models.py:66 #: templates/js/translated/company.js:523 @@ -583,91 +583,91 @@ msgstr "" #: templates/js/translated/table_filters.js:719 #: templates/js/translated/table_filters.js:808 users/models.py:182 msgid "Active" -msgstr "" +msgstr "Aktif" -#: InvenTree/serializers.py:444 +#: InvenTree/serializers.py:449 msgid "Is this user account active" msgstr "" -#: InvenTree/serializers.py:462 +#: InvenTree/serializers.py:467 msgid "You do not have permission to change this user role." msgstr "" -#: InvenTree/serializers.py:474 +#: InvenTree/serializers.py:503 msgid "Only superusers can create new users" msgstr "" -#: InvenTree/serializers.py:493 +#: InvenTree/serializers.py:522 msgid "Your account has been created." msgstr "" -#: InvenTree/serializers.py:495 +#: InvenTree/serializers.py:524 msgid "Please use the password reset function to login" msgstr "" -#: InvenTree/serializers.py:502 +#: InvenTree/serializers.py:531 msgid "Welcome to InvenTree" -msgstr "" +msgstr "Selamat Datang di InvenTree" -#: InvenTree/serializers.py:560 +#: InvenTree/serializers.py:589 msgid "Invalid value" msgstr "Nilai tidak valid" -#: InvenTree/serializers.py:580 importer/models.py:64 +#: InvenTree/serializers.py:609 importer/models.py:64 msgid "Data File" msgstr "File data" -#: InvenTree/serializers.py:581 +#: InvenTree/serializers.py:610 msgid "Select data file for upload" msgstr "Pilih file untuk diunggah" -#: InvenTree/serializers.py:598 +#: InvenTree/serializers.py:627 msgid "Unsupported file type" msgstr "Jenis file tidak didukung" -#: InvenTree/serializers.py:604 +#: InvenTree/serializers.py:633 msgid "File is too large" msgstr "Ukuran file terlalu besar" -#: InvenTree/serializers.py:625 +#: InvenTree/serializers.py:654 msgid "No columns found in file" msgstr "Tidak ditemukan kolom dalam file" -#: InvenTree/serializers.py:628 +#: InvenTree/serializers.py:657 msgid "No data rows found in file" msgstr "Tidak ditemukan barisan data dalam file" -#: InvenTree/serializers.py:740 +#: InvenTree/serializers.py:769 msgid "No data rows provided" msgstr "Tidak ada barisan data tersedia" -#: InvenTree/serializers.py:743 +#: InvenTree/serializers.py:772 msgid "No data columns supplied" msgstr "Tidak ada kolom data tersedia" -#: InvenTree/serializers.py:809 +#: InvenTree/serializers.py:838 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "Kolom yang diperlukan kurang: '{name}'" -#: InvenTree/serializers.py:818 +#: InvenTree/serializers.py:847 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "Kolom duplikat: '{col}'" -#: InvenTree/serializers.py:857 +#: InvenTree/serializers.py:886 msgid "Remote Image" msgstr "" -#: InvenTree/serializers.py:858 +#: InvenTree/serializers.py:887 msgid "URL of remote image file" msgstr "URL file gambar external" -#: InvenTree/serializers.py:876 +#: InvenTree/serializers.py:905 msgid "Downloading images from remote URL is not enabled" msgstr "Unduhan gambar dari URL external tidak aktif" -#: InvenTree/status.py:65 part/serializers.py:1267 +#: InvenTree/status.py:65 part/serializers.py:1265 msgid "Background worker check failed" msgstr "" @@ -759,7 +759,7 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "Pesanan harus dibatalkan sebelum dapat dihapus" -#: build/api.py:319 build/serializers.py:1332 part/models.py:4278 +#: build/api.py:319 build/serializers.py:1332 part/models.py:4265 #: templates/js/translated/bom.js:997 templates/js/translated/bom.js:1037 #: templates/js/translated/build.js:2705 #: templates/js/translated/table_filters.js:197 @@ -767,7 +767,7 @@ msgstr "Pesanan harus dibatalkan sebelum dapat dihapus" msgid "Consumable" msgstr "" -#: build/api.py:320 build/serializers.py:1333 part/models.py:4272 +#: build/api.py:320 build/serializers.py:1333 part/models.py:4259 #: part/templates/part/upload_bom.html:58 templates/js/translated/bom.js:1001 #: templates/js/translated/bom.js:1028 templates/js/translated/build.js:2696 #: templates/js/translated/table_filters.js:193 @@ -777,7 +777,7 @@ msgid "Optional" msgstr "" #: build/api.py:321 common/models.py:1491 part/admin.py:91 part/admin.py:428 -#: part/models.py:1166 part/serializers.py:1596 +#: part/models.py:1166 part/serializers.py:1594 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:337 #: templates/js/translated/table_filters.js:729 @@ -814,9 +814,9 @@ msgstr "" #: templates/js/translated/table_filters.js:347 #: templates/js/translated/table_filters.js:578 msgid "Available" -msgstr "" +msgstr "Tersedia" -#: build/models.py:87 build/templates/build/build_base.html:9 +#: build/models.py:88 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_report.html:105 #: stock/serializers.py:85 templates/email/build_order_completed.html:16 @@ -825,7 +825,7 @@ msgstr "" msgid "Build Order" msgstr "Order Produksi" -#: build/models.py:88 build/templates/build/build_base.html:13 +#: build/models.py:89 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:111 #: order/templates/order/so_sidebar.html:13 @@ -866,7 +866,7 @@ msgstr "Referensi Order Produksi" #: build/models.py:243 build/serializers.py:1331 order/models.py:468 #: order/models.py:979 order/models.py:1366 order/models.py:2128 -#: part/admin.py:414 part/models.py:4293 part/templates/part/upload_bom.html:54 +#: part/admin.py:414 part/models.py:4280 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 @@ -892,11 +892,11 @@ msgstr "Produksi induk dari produksi ini" #: build/templates/build/build_base.html:105 #: build/templates/build/detail.html:29 company/models.py:1043 order/api.py:761 #: order/models.py:1496 order/models.py:1651 order/models.py:1652 -#: part/api.py:1506 part/api.py:1806 part/models.py:419 part/models.py:3138 -#: part/models.py:3282 part/models.py:3430 part/models.py:3451 -#: part/models.py:3473 part/models.py:3609 part/models.py:3951 -#: part/models.py:4114 part/models.py:4244 part/models.py:4602 -#: part/serializers.py:1213 part/serializers.py:1857 +#: part/api.py:1506 part/api.py:1806 part/models.py:419 part/models.py:3125 +#: part/models.py:3269 part/models.py:3417 part/models.py:3438 +#: part/models.py:3460 part/models.py:3596 part/models.py:3938 +#: part/models.py:4101 part/models.py:4231 part/models.py:4595 +#: part/serializers.py:1211 part/serializers.py:1855 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -1063,12 +1063,12 @@ msgstr "" #: order/templates/order/return_order_base.html:148 #: order/templates/order/sales_order_base.html:187 #: part/templates/part/part_base.html:399 stock/models.py:859 -#: stock/templates/stock/item_base.html:200 +#: stock/templates/stock/item_base.html:196 #: templates/js/translated/company.js:1019 msgid "External Link" msgstr "Tautan eksternal" -#: build/models.py:378 common/models.py:3272 part/models.py:1070 +#: build/models.py:378 common/models.py:3273 part/models.py:1070 #: stock/models.py:859 msgid "Link to external URL" msgstr "Tautan menuju URL eksternal" @@ -1110,7 +1110,7 @@ msgstr "" msgid "A build order has been completed" msgstr "" -#: build/models.py:968 build/models.py:1056 +#: build/models.py:968 build/models.py:1057 msgid "No build output specified" msgstr "Tidak ada hasil produksi yang ditentukan" @@ -1122,37 +1122,37 @@ msgstr "Hasil produksi sudah selesai" msgid "Build output does not match Build Order" msgstr "Hasil produksi tidak sesuai dengan order produksi" -#: build/models.py:1060 build/serializers.py:279 build/serializers.py:328 +#: build/models.py:1061 build/serializers.py:279 build/serializers.py:328 #: build/serializers.py:959 order/models.py:565 order/serializers.py:500 -#: order/serializers.py:666 part/serializers.py:1590 part/serializers.py:2019 +#: order/serializers.py:666 part/serializers.py:1588 part/serializers.py:2017 #: stock/models.py:704 stock/models.py:1515 stock/serializers.py:676 msgid "Quantity must be greater than zero" msgstr "Jumlah harus lebih besar daripada nol" -#: build/models.py:1065 build/serializers.py:284 +#: build/models.py:1066 build/serializers.py:284 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1125 build/serializers.py:607 +#: build/models.py:1126 build/serializers.py:607 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "" -#: build/models.py:1466 +#: build/models.py:1477 msgid "Build Order Line Item" msgstr "" -#: build/models.py:1491 +#: build/models.py:1502 msgid "Build object" msgstr "" -#: build/models.py:1505 build/models.py:1761 build/serializers.py:266 +#: build/models.py:1516 build/models.py:1775 build/serializers.py:266 #: build/serializers.py:313 build/serializers.py:1339 #: build/templates/build/build_base.html:110 -#: build/templates/build/detail.html:34 common/models.py:2581 +#: build/templates/build/detail.html:34 common/models.py:2582 #: order/models.py:1349 order/models.py:2034 order/serializers.py:1464 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:413 -#: part/forms.py:48 part/models.py:3296 part/models.py:4266 +#: part/forms.py:48 part/models.py:3283 part/models.py:4253 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1163,9 +1163,9 @@ msgstr "" #: report/templates/report/inventree_test_report.html:90 #: report/templates/report/inventree_test_report.html:169 stock/admin.py:160 #: stock/serializers.py:128 stock/serializers.py:168 stock/serializers.py:667 -#: stock/templates/stock/item_base.html:287 -#: stock/templates/stock/item_base.html:295 -#: stock/templates/stock/item_base.html:342 +#: stock/templates/stock/item_base.html:283 +#: stock/templates/stock/item_base.html:291 +#: stock/templates/stock/item_base.html:338 #: templates/email/build_order_completed.html:18 #: templates/js/translated/barcode.js:579 templates/js/translated/bom.js:771 #: templates/js/translated/bom.js:981 templates/js/translated/build.js:525 @@ -1194,41 +1194,41 @@ msgstr "" msgid "Quantity" msgstr "Jumlah" -#: build/models.py:1506 +#: build/models.py:1517 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1586 +#: build/models.py:1597 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:1595 +#: build/models.py:1606 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1605 order/models.py:1985 +#: build/models.py:1616 order/models.py:1985 msgid "Stock item is over-allocated" msgstr "Item stok teralokasikan terlalu banyak" -#: build/models.py:1611 order/models.py:1988 +#: build/models.py:1622 order/models.py:1988 msgid "Allocation quantity must be greater than zero" msgstr "Jumlah yang dialokasikan harus lebih dari nol" -#: build/models.py:1617 +#: build/models.py:1628 msgid "Quantity must be 1 for serialized stock" msgstr "Jumlah harus 1 untuk stok dengan nomor seri" -#: build/models.py:1676 +#: build/models.py:1687 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1748 build/serializers.py:939 order/serializers.py:1301 +#: build/models.py:1762 build/serializers.py:939 order/serializers.py:1301 #: order/serializers.py:1322 stock/models.py:381 stock/serializers.py:94 #: stock/serializers.py:770 stock/serializers.py:1288 stock/serializers.py:1400 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 -#: stock/templates/stock/item_base.html:194 +#: stock/templates/stock/item_base.html:190 #: templates/js/translated/build.js:1921 #: templates/js/translated/sales_order.js:301 #: templates/js/translated/sales_order.js:1234 @@ -1241,19 +1241,19 @@ msgstr "" msgid "Stock Item" msgstr "Stok Item" -#: build/models.py:1749 +#: build/models.py:1763 msgid "Source stock item" msgstr "Sumber stok item" -#: build/models.py:1762 +#: build/models.py:1776 msgid "Stock quantity to allocate to build" msgstr "Jumlah stok yang dialokasikan ke produksi" -#: build/models.py:1770 +#: build/models.py:1784 msgid "Install into" msgstr "Pasang ke" -#: build/models.py:1771 +#: build/models.py:1785 msgid "Destination stock item" msgstr "Tujuan stok item" @@ -1262,7 +1262,7 @@ msgid "Build Level" msgstr "" #: build/serializers.py:115 build/serializers.py:1234 build/serializers.py:1323 -#: part/admin.py:41 part/admin.py:408 part/models.py:4116 part/stocktake.py:219 +#: part/admin.py:41 part/admin.py:408 part/models.py:4103 part/stocktake.py:219 #: stock/admin.py:157 msgid "Part Name" msgstr "" @@ -1323,10 +1323,10 @@ msgid "Enter serial numbers for build outputs" msgstr "Masukkan nomor seri untuk hasil pesanan" #: build/serializers.py:359 build/serializers.py:500 build/serializers.py:572 -#: order/serializers.py:655 order/serializers.py:778 order/serializers.py:1789 -#: part/serializers.py:1233 stock/serializers.py:103 stock/serializers.py:698 +#: order/serializers.py:655 order/serializers.py:778 order/serializers.py:1797 +#: part/serializers.py:1231 stock/serializers.py:103 stock/serializers.py:698 #: stock/serializers.py:858 stock/serializers.py:984 stock/serializers.py:1432 -#: stock/serializers.py:1688 stock/templates/stock/item_base.html:394 +#: stock/serializers.py:1688 stock/templates/stock/item_base.html:390 #: templates/js/translated/barcode.js:578 #: templates/js/translated/barcode.js:826 templates/js/translated/build.js:1035 #: templates/js/translated/build.js:1177 templates/js/translated/build.js:2547 @@ -1390,7 +1390,7 @@ msgstr "Lokasi hasil pesanan yang selesai" #: build/templates/build/detail.html:62 order/models.py:477 #: order/models.py:1003 order/models.py:2152 order/serializers.py:687 #: stock/admin.py:165 stock/serializers.py:1035 stock/serializers.py:1576 -#: stock/templates/stock/item_base.html:427 +#: stock/templates/stock/item_base.html:423 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2366 #: templates/js/translated/purchase_order.js:1371 #: templates/js/translated/purchase_order.js:1792 @@ -1399,7 +1399,7 @@ msgstr "Lokasi hasil pesanan yang selesai" #: templates/js/translated/stock.js:2262 templates/js/translated/stock.js:3080 #: templates/js/translated/stock.js:3205 msgid "Status" -msgstr "" +msgstr "Status" #: build/serializers.py:585 msgid "Accept Incomplete Allocation" @@ -1427,7 +1427,7 @@ msgstr "" #: build/serializers.py:733 msgid "Not permitted" -msgstr "" +msgstr "Tidak diizinkan" #: build/serializers.py:734 msgid "Accept as consumed by this build order" @@ -1522,7 +1522,7 @@ msgstr "Hasil produksi harus ditentukan untuk mengalokasikan bagian yang terlaca 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:1030 order/serializers.py:1614 +#: build/serializers.py:1030 order/serializers.py:1622 msgid "Allocation items must be provided" msgstr "Item yang dialokasikan harus disediakan" @@ -1577,7 +1577,7 @@ msgstr "" #: build/serializers.py:1227 stock/admin.py:53 stock/admin.py:176 #: stock/serializers.py:464 msgid "Location Name" -msgstr "" +msgstr "Nama Lokasi" #: build/serializers.py:1228 msgid "Build Reference" @@ -1590,7 +1590,7 @@ msgstr "" #: build/serializers.py:1230 company/models.py:849 #: company/templates/company/supplier_part.html:160 order/serializers.py:691 #: stock/admin.py:229 stock/models.py:822 stock/serializers.py:1586 -#: stock/templates/stock/item_base.html:240 +#: stock/templates/stock/item_base.html:236 #: templates/js/translated/company.js:1646 #: templates/js/translated/purchase_order.js:1169 #: templates/js/translated/purchase_order.js:1332 @@ -1600,12 +1600,12 @@ msgid "Packaging" msgstr "" #: build/serializers.py:1233 part/admin.py:39 part/admin.py:398 -#: part/models.py:4115 part/stocktake.py:218 stock/admin.py:153 +#: part/models.py:4102 part/stocktake.py:218 stock/admin.py:153 msgid "Part ID" msgstr "" #: build/serializers.py:1235 build/serializers.py:1324 part/admin.py:402 -#: part/models.py:4117 +#: part/models.py:4104 msgid "Part IPN" msgstr "" @@ -1625,7 +1625,7 @@ msgstr "" #: build/serializers.py:1243 #: report/templates/report/inventree_return_order_report.html:25 #: report/templates/report/inventree_test_report.html:88 stock/models.py:849 -#: stock/serializers.py:152 stock/templates/stock/item_base.html:311 +#: stock/serializers.py:152 stock/templates/stock/item_base.html:307 #: templates/js/translated/build.js:523 templates/js/translated/build.js:1543 #: templates/js/translated/build.js:2530 #: templates/js/translated/model_renderers.js:231 @@ -1636,7 +1636,7 @@ msgstr "" #: templates/js/translated/sales_order.js:1732 #: templates/js/translated/stock.js:602 msgid "Serial Number" -msgstr "" +msgstr "Nomor Seri" #: build/serializers.py:1256 stock/serializers.py:600 #: templates/js/translated/build.js:1020 templates/js/translated/build.js:1167 @@ -1644,7 +1644,7 @@ msgstr "" msgid "Allocated Quantity" msgstr "" -#: build/serializers.py:1257 stock/templates/stock/item_base.html:340 +#: build/serializers.py:1257 stock/templates/stock/item_base.html:336 msgid "Available Quantity" msgstr "" @@ -1667,13 +1667,13 @@ msgstr "" msgid "Inherited" msgstr "" -#: build/serializers.py:1337 part/models.py:4326 +#: build/serializers.py:1337 part/models.py:4313 #: part/templates/part/upload_bom.html:56 templates/js/translated/bom.js:1046 #: templates/js/translated/build.js:2714 msgid "Allow Variants" msgstr "" -#: build/serializers.py:1341 part/models.py:4124 part/models.py:4594 +#: build/serializers.py:1341 part/models.py:4111 part/models.py:4587 #: stock/api.py:793 msgid "BOM Item" msgstr "Item tagihan material" @@ -1684,7 +1684,7 @@ msgid "Allocated Stock" msgstr "" #: build/serializers.py:1355 order/serializers.py:1179 part/admin.py:132 -#: part/bom.py:186 part/serializers.py:920 part/serializers.py:1623 +#: part/bom.py:186 part/serializers.py:918 part/serializers.py:1621 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 #: templates/js/translated/build.js:2807 templates/js/translated/part.js:712 #: templates/js/translated/part.js:2155 @@ -1692,13 +1692,13 @@ msgstr "" msgid "On Order" msgstr "" -#: build/serializers.py:1360 order/serializers.py:1180 part/serializers.py:1625 +#: build/serializers.py:1360 order/serializers.py:1180 part/serializers.py:1623 #: templates/js/translated/build.js:2811 #: templates/js/translated/table_filters.js:367 msgid "In Production" msgstr "" -#: build/serializers.py:1365 part/bom.py:185 part/serializers.py:1650 +#: build/serializers.py:1365 part/bom.py:185 part/serializers.py:1648 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" @@ -1716,7 +1716,7 @@ msgstr "" msgid "Total Available Stock" msgstr "" -#: build/serializers.py:1372 part/serializers.py:927 +#: build/serializers.py:1372 part/serializers.py:925 msgid "External Stock" msgstr "" @@ -1725,7 +1725,7 @@ msgstr "" #: order/status_codes.py:42 order/status_codes.py:74 order/status_codes.py:98 #: templates/js/translated/table_filters.js:601 msgid "Pending" -msgstr "" +msgstr "Tertunda" #: build/status_codes.py:12 msgid "Production" @@ -1745,7 +1745,7 @@ msgstr "Dibatalkan" #: importer/status_codes.py:27 order/status_codes.py:15 #: order/status_codes.py:50 order/status_codes.py:81 #: order/templates/order/order_base.html:163 -#: order/templates/order/sales_order_base.html:168 report/models.py:443 +#: order/templates/order/sales_order_base.html:168 report/models.py:451 msgid "Complete" msgstr "Selesai" @@ -1849,9 +1849,6 @@ msgid "Delete Build" msgstr "Hapus Produksi" #: build/templates/build/build_base.html:87 -msgid "Isueue Build" -msgstr "" - #: build/templates/build/build_base.html:88 msgid "Issue Build" msgstr "" @@ -1931,7 +1928,7 @@ msgstr "" #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_report.html:135 #: report/templates/report/inventree_sales_order_report.html:14 -#: stock/templates/stock/item_base.html:369 +#: stock/templates/stock/item_base.html:365 #: templates/email/overdue_sales_order.html:15 #: templates/js/translated/pricing.js:929 #: templates/js/translated/sales_order.js:805 @@ -1943,7 +1940,7 @@ msgstr "" #: build/templates/build/build_base.html:219 #: build/templates/build/detail.html:94 templates/js/translated/build.js:2331 msgid "Priority" -msgstr "" +msgstr "Prioritas" #: build/templates/build/build_base.html:267 msgid "Issue Build Order" @@ -1991,7 +1988,7 @@ msgid "Allocated Parts" msgstr "" #: build/templates/build/detail.html:80 stock/admin.py:163 -#: stock/templates/stock/item_base.html:162 +#: stock/templates/stock/item_base.html:158 #: templates/js/translated/build.js:1556 #: templates/js/translated/model_renderers.js:242 #: templates/js/translated/purchase_order.js:1326 @@ -2008,7 +2005,7 @@ msgstr "" #: order/templates/order/sales_order_base.html:193 #: templates/js/translated/build.js:2374 msgid "Created" -msgstr "" +msgstr "Terbuat" #: build/templates/build/detail.html:144 msgid "No target date set" @@ -2018,7 +2015,7 @@ msgstr "" #: order/templates/order/sales_order_base.html:209 #: templates/js/translated/table_filters.js:692 msgid "Completed" -msgstr "" +msgstr "Selesai" #: build/templates/build/detail.html:153 msgid "Build not complete" @@ -2148,19 +2145,19 @@ msgstr "" msgid "Test Statistics" msgstr "" -#: common/api.py:692 +#: common/api.py:725 msgid "Is Link" msgstr "" -#: common/api.py:700 +#: common/api.py:733 msgid "Is File" msgstr "" -#: common/api.py:743 +#: common/api.py:776 msgid "User does not have permission to delete these attachments" msgstr "" -#: common/api.py:760 +#: common/api.py:793 msgid "User does not have permission to delete this attachment" msgstr "" @@ -2203,7 +2200,7 @@ msgstr "" #: common/forms.py:12 msgid "File" -msgstr "" +msgstr "Berkas" #: common/forms.py:12 msgid "Select file to upload" @@ -2216,7 +2213,7 @@ msgstr "" #: common/forms.py:26 #, python-brace-format msgid "Select {name} file to upload" -msgstr "" +msgstr "Pilih {name} berkas untuk di unggah" #: common/models.py:88 msgid "Updated" @@ -2312,7 +2309,7 @@ msgstr "" #: common/models.py:1266 company/models.py:108 company/models.py:109 msgid "Company name" -msgstr "" +msgstr "Nama Perusahaan" #: common/models.py:1267 msgid "Internal company name" @@ -2352,10 +2349,10 @@ msgstr "" #: common/models.py:1297 common/models.py:1353 common/models.py:1366 #: common/models.py:1374 common/models.py:1383 common/models.py:1392 -#: common/models.py:1629 common/models.py:1651 common/models.py:1766 -#: common/models.py:2148 +#: common/models.py:1629 common/models.py:1651 common/models.py:1752 +#: common/models.py:2141 msgid "days" -msgstr "" +msgstr "Hari" #: common/models.py:1301 msgid "Currency Update Plugin" @@ -2581,9 +2578,9 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1485 part/admin.py:108 part/models.py:3959 -#: report/models.py:293 report/models.py:360 report/serializers.py:90 -#: report/serializers.py:131 stock/serializers.py:233 +#: common/models.py:1485 part/admin.py:108 part/models.py:3946 +#: report/models.py:301 report/models.py:368 report/serializers.py:91 +#: report/serializers.py:132 stock/serializers.py:233 #: templates/js/translated/table_filters.js:138 #: templates/js/translated/table_filters.js:775 msgid "Template" @@ -2598,9 +2595,9 @@ msgid "Parts can be assembled from other components by default" msgstr "" #: common/models.py:1497 part/admin.py:95 part/models.py:1172 -#: part/serializers.py:1617 templates/js/translated/table_filters.js:737 +#: part/serializers.py:1615 templates/js/translated/table_filters.js:737 msgid "Component" -msgstr "" +msgstr "Komponen" #: common/models.py:1498 msgid "Parts can be used as sub-components by default" @@ -2800,7 +2797,7 @@ msgstr "" #: common/models.py:1684 msgid "Enable Reports" -msgstr "" +msgstr "Aktifkan Laporan" #: common/models.py:1685 msgid "Enable generation of reports" @@ -2823,1020 +2820,1020 @@ msgid "Log errors which occur when generating reports" msgstr "" #: common/models.py:1702 plugin/builtin/labels/label_sheet.py:28 -#: report/models.py:301 +#: report/models.py:309 msgid "Page Size" -msgstr "" +msgstr "Ukuran Halaman" #: common/models.py:1703 msgid "Default page size for PDF reports" msgstr "" #: common/models.py:1708 -msgid "Enable Test Reports" -msgstr "" - -#: common/models.py:1709 -msgid "Enable generation of test reports" -msgstr "" - -#: common/models.py:1714 -msgid "Attach Test Reports" -msgstr "" - -#: common/models.py:1716 -msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" -msgstr "" - -#: common/models.py:1722 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1723 +#: common/models.py:1709 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1728 +#: common/models.py:1714 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1729 +#: common/models.py:1715 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1734 +#: common/models.py:1720 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1736 +#: common/models.py:1722 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/models.py:1742 +#: common/models.py:1728 msgid "Batch Code Template" msgstr "" -#: common/models.py:1744 +#: common/models.py:1730 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1749 +#: common/models.py:1735 msgid "Stock Expiry" msgstr "" -#: common/models.py:1750 +#: common/models.py:1736 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1755 +#: common/models.py:1741 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1756 +#: common/models.py:1742 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1761 +#: common/models.py:1747 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1763 +#: common/models.py:1749 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1770 +#: common/models.py:1756 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1771 +#: common/models.py:1757 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1776 +#: common/models.py:1762 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1777 +#: common/models.py:1763 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1782 +#: common/models.py:1768 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1783 +#: common/models.py:1769 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1788 +#: common/models.py:1774 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1789 +#: common/models.py:1775 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1794 +#: common/models.py:1780 msgid "Check BOM when installing items" msgstr "" -#: common/models.py:1796 +#: common/models.py:1782 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/models.py:1802 +#: common/models.py:1788 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/models.py:1804 +#: common/models.py:1790 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/models.py:1810 +#: common/models.py:1796 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1812 +#: common/models.py:1798 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1818 common/models.py:1874 common/models.py:1896 -#: common/models.py:1932 +#: common/models.py:1804 common/models.py:1860 common/models.py:1882 +#: common/models.py:1918 msgid "Require Responsible Owner" msgstr "" -#: common/models.py:1819 common/models.py:1875 common/models.py:1897 -#: common/models.py:1933 +#: common/models.py:1805 common/models.py:1861 common/models.py:1883 +#: common/models.py:1919 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/models.py:1824 +#: common/models.py:1810 msgid "Require Active Part" msgstr "" -#: common/models.py:1825 +#: common/models.py:1811 msgid "Prevent build order creation for inactive parts" msgstr "" -#: common/models.py:1830 +#: common/models.py:1816 msgid "Require Locked Part" msgstr "" -#: common/models.py:1831 +#: common/models.py:1817 msgid "Prevent build order creation for unlocked parts" msgstr "" -#: common/models.py:1836 +#: common/models.py:1822 msgid "Require Valid BOM" msgstr "" -#: common/models.py:1838 +#: common/models.py:1824 msgid "Prevent build order creation unless BOM has been validated" msgstr "" -#: common/models.py:1844 +#: common/models.py:1830 msgid "Require Closed Child Orders" msgstr "" -#: common/models.py:1846 +#: common/models.py:1832 msgid "Prevent build order completion until all child orders are closed" msgstr "" -#: common/models.py:1852 +#: common/models.py:1838 msgid "Block Until Tests Pass" msgstr "" -#: common/models.py:1854 +#: common/models.py:1840 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "" -#: common/models.py:1860 +#: common/models.py:1846 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1861 +#: common/models.py:1847 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1866 +#: common/models.py:1852 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1868 +#: common/models.py:1854 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1880 +#: common/models.py:1866 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1882 +#: common/models.py:1868 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1888 +#: common/models.py:1874 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1890 +#: common/models.py:1876 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1902 +#: common/models.py:1888 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1903 +#: common/models.py:1889 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1908 +#: common/models.py:1894 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1910 +#: common/models.py:1896 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1916 +#: common/models.py:1902 msgid "Mark Shipped Orders as Complete" msgstr "" -#: common/models.py:1918 +#: common/models.py:1904 msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status" msgstr "" -#: common/models.py:1924 +#: common/models.py:1910 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1926 +#: common/models.py:1912 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1938 +#: common/models.py:1924 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1940 +#: common/models.py:1926 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1946 +#: common/models.py:1932 msgid "Auto Complete Purchase Orders" msgstr "" -#: common/models.py:1948 +#: common/models.py:1934 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/models.py:1955 +#: common/models.py:1941 msgid "Enable password forgot" msgstr "" -#: common/models.py:1956 +#: common/models.py:1942 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1961 +#: common/models.py:1947 msgid "Enable registration" msgstr "" -#: common/models.py:1962 +#: common/models.py:1948 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1967 +#: common/models.py:1953 msgid "Enable SSO" msgstr "" -#: common/models.py:1968 +#: common/models.py:1954 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1973 +#: common/models.py:1959 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1975 +#: common/models.py:1961 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1981 +#: common/models.py:1967 msgid "Enable SSO group sync" msgstr "" -#: common/models.py:1983 +#: common/models.py:1969 msgid "Enable synchronizing InvenTree groups with groups provided by the IdP" msgstr "" -#: common/models.py:1989 +#: common/models.py:1975 msgid "SSO group key" msgstr "" -#: common/models.py:1991 +#: common/models.py:1977 msgid "The name of the groups claim attribute provided by the IdP" msgstr "" -#: common/models.py:1997 +#: common/models.py:1983 msgid "SSO group map" msgstr "" -#: common/models.py:1999 +#: common/models.py:1985 msgid "A mapping from SSO groups to local InvenTree groups. If the local group does not exist, it will be created." msgstr "" -#: common/models.py:2005 +#: common/models.py:1991 msgid "Remove groups outside of SSO" msgstr "" -#: common/models.py:2007 +#: common/models.py:1993 msgid "Whether groups assigned to the user should be removed if they are not backend by the IdP. Disabling this setting might cause security issues" msgstr "" -#: common/models.py:2013 +#: common/models.py:1999 msgid "Email required" msgstr "Surel diperlukan" -#: common/models.py:2014 +#: common/models.py:2000 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:2019 +#: common/models.py:2005 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:2021 +#: common/models.py:2007 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:2027 +#: common/models.py:2013 msgid "Mail twice" msgstr "" -#: common/models.py:2028 +#: common/models.py:2014 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:2033 +#: common/models.py:2019 msgid "Password twice" msgstr "" -#: common/models.py:2034 +#: common/models.py:2020 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:2039 +#: common/models.py:2025 msgid "Allowed domains" msgstr "" -#: common/models.py:2041 +#: common/models.py:2027 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:2047 +#: common/models.py:2033 msgid "Group on signup" msgstr "" -#: common/models.py:2049 +#: common/models.py:2035 msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP." msgstr "" -#: common/models.py:2055 +#: common/models.py:2041 msgid "Enforce MFA" msgstr "" -#: common/models.py:2056 +#: common/models.py:2042 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:2061 +#: common/models.py:2047 msgid "Check plugins on startup" msgstr "" -#: common/models.py:2063 +#: common/models.py:2049 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:2071 +#: common/models.py:2057 msgid "Check for plugin updates" msgstr "" -#: common/models.py:2072 +#: common/models.py:2058 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:2078 +#: common/models.py:2064 msgid "Enable URL integration" msgstr "" -#: common/models.py:2079 +#: common/models.py:2065 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:2085 +#: common/models.py:2071 msgid "Enable navigation integration" msgstr "" -#: common/models.py:2086 +#: common/models.py:2072 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:2092 +#: common/models.py:2078 msgid "Enable app integration" msgstr "" -#: common/models.py:2093 +#: common/models.py:2079 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:2099 +#: common/models.py:2085 msgid "Enable schedule integration" msgstr "" -#: common/models.py:2100 +#: common/models.py:2086 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:2106 +#: common/models.py:2092 msgid "Enable event integration" msgstr "" -#: common/models.py:2107 +#: common/models.py:2093 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:2113 +#: common/models.py:2099 +msgid "Enable interface integration" +msgstr "" + +#: common/models.py:2100 +msgid "Enable plugins to integrate into the user interface" +msgstr "" + +#: common/models.py:2106 msgid "Enable project codes" msgstr "" -#: common/models.py:2114 +#: common/models.py:2107 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:2119 +#: common/models.py:2112 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:2121 +#: common/models.py:2114 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:2127 +#: common/models.py:2120 msgid "Exclude External Locations" msgstr "" -#: common/models.py:2129 +#: common/models.py:2122 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/models.py:2135 +#: common/models.py:2128 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:2137 +#: common/models.py:2130 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:2143 +#: common/models.py:2136 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:2145 +#: common/models.py:2138 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:2152 +#: common/models.py:2145 msgid "Display Users full names" msgstr "" -#: common/models.py:2153 +#: common/models.py:2146 msgid "Display Users full names instead of usernames" msgstr "" -#: common/models.py:2158 +#: common/models.py:2151 msgid "Enable Test Station Data" msgstr "" -#: common/models.py:2159 +#: common/models.py:2152 msgid "Enable test station data collection for test results" msgstr "" -#: common/models.py:2171 common/models.py:2551 +#: common/models.py:2157 +msgid "Create Template on Upload" +msgstr "" + +#: common/models.py:2159 +msgid "Create a new test template when uploading test data which does not match an existing template" +msgstr "" + +#: common/models.py:2172 common/models.py:2552 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:2214 +#: common/models.py:2215 msgid "Hide inactive parts" msgstr "" -#: common/models.py:2216 +#: common/models.py:2217 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:2222 +#: common/models.py:2223 msgid "Show subscribed parts" msgstr "" -#: common/models.py:2223 +#: common/models.py:2224 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:2228 +#: common/models.py:2229 msgid "Show subscribed categories" msgstr "" -#: common/models.py:2229 +#: common/models.py:2230 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:2234 +#: common/models.py:2235 msgid "Show latest parts" msgstr "" -#: common/models.py:2235 +#: common/models.py:2236 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:2240 +#: common/models.py:2241 msgid "Show invalid BOMs" msgstr "" -#: common/models.py:2241 +#: common/models.py:2242 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:2246 +#: common/models.py:2247 msgid "Show recent stock changes" msgstr "" -#: common/models.py:2247 +#: common/models.py:2248 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:2252 +#: common/models.py:2253 msgid "Show low stock" msgstr "" -#: common/models.py:2253 +#: common/models.py:2254 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:2258 +#: common/models.py:2259 msgid "Show depleted stock" msgstr "" -#: common/models.py:2259 +#: common/models.py:2260 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:2264 +#: common/models.py:2265 msgid "Show needed stock" msgstr "" -#: common/models.py:2265 +#: common/models.py:2266 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:2270 +#: common/models.py:2271 msgid "Show expired stock" msgstr "" -#: common/models.py:2271 +#: common/models.py:2272 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:2276 +#: common/models.py:2277 msgid "Show stale stock" msgstr "" -#: common/models.py:2277 +#: common/models.py:2278 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:2282 +#: common/models.py:2283 msgid "Show pending builds" msgstr "" -#: common/models.py:2283 +#: common/models.py:2284 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:2288 +#: common/models.py:2289 msgid "Show overdue builds" msgstr "" -#: common/models.py:2289 +#: common/models.py:2290 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:2294 +#: common/models.py:2295 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2295 +#: common/models.py:2296 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2300 +#: common/models.py:2301 msgid "Show overdue POs" msgstr "" -#: common/models.py:2301 +#: common/models.py:2302 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2306 +#: common/models.py:2307 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2307 +#: common/models.py:2308 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2312 +#: common/models.py:2313 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2313 +#: common/models.py:2314 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2318 +#: common/models.py:2319 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2319 +#: common/models.py:2320 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2324 +#: common/models.py:2325 msgid "Show News" msgstr "" -#: common/models.py:2325 +#: common/models.py:2326 msgid "Show news on the homepage" msgstr "" -#: common/models.py:2330 +#: common/models.py:2331 msgid "Inline label display" msgstr "" -#: common/models.py:2332 +#: common/models.py:2333 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2338 +#: common/models.py:2339 msgid "Default label printer" msgstr "" -#: common/models.py:2340 +#: common/models.py:2341 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2346 +#: common/models.py:2347 msgid "Inline report display" msgstr "" -#: common/models.py:2348 +#: common/models.py:2349 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2354 +#: common/models.py:2355 msgid "Search Parts" -msgstr "" +msgstr "Cari barang" -#: common/models.py:2355 +#: common/models.py:2356 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2360 +#: common/models.py:2361 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2361 +#: common/models.py:2362 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2366 +#: common/models.py:2367 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2367 +#: common/models.py:2368 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2372 +#: common/models.py:2373 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2373 +#: common/models.py:2374 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2378 +#: common/models.py:2379 msgid "Search Categories" msgstr "" -#: common/models.py:2379 +#: common/models.py:2380 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2384 +#: common/models.py:2385 msgid "Search Stock" -msgstr "" +msgstr "Cari Persediaan" -#: common/models.py:2385 +#: common/models.py:2386 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2390 +#: common/models.py:2391 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2392 +#: common/models.py:2393 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2398 +#: common/models.py:2399 msgid "Search Locations" -msgstr "" +msgstr "Cari Lokasi" -#: common/models.py:2399 +#: common/models.py:2400 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2404 +#: common/models.py:2405 msgid "Search Companies" -msgstr "" +msgstr "Cari Perusahaan" -#: common/models.py:2405 +#: common/models.py:2406 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2410 +#: common/models.py:2411 msgid "Search Build Orders" msgstr "" -#: common/models.py:2411 +#: common/models.py:2412 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2416 +#: common/models.py:2417 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2417 +#: common/models.py:2418 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2422 +#: common/models.py:2423 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2424 +#: common/models.py:2425 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2430 +#: common/models.py:2431 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2431 +#: common/models.py:2432 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2436 +#: common/models.py:2437 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2438 +#: common/models.py:2439 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2444 +#: common/models.py:2445 msgid "Search Return Orders" msgstr "" -#: common/models.py:2445 +#: common/models.py:2446 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2450 +#: common/models.py:2451 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2452 +#: common/models.py:2453 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2458 +#: common/models.py:2459 msgid "Search Preview Results" msgstr "" -#: common/models.py:2460 +#: common/models.py:2461 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2466 +#: common/models.py:2467 msgid "Regex Search" msgstr "" -#: common/models.py:2467 +#: common/models.py:2468 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2472 +#: common/models.py:2473 msgid "Whole Word Search" msgstr "" -#: common/models.py:2473 +#: common/models.py:2474 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2478 +#: common/models.py:2479 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2479 +#: common/models.py:2480 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2484 +#: common/models.py:2485 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2485 +#: common/models.py:2486 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2490 +#: common/models.py:2491 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2491 +#: common/models.py:2492 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2496 +#: common/models.py:2497 msgid "Date Format" msgstr "" -#: common/models.py:2497 +#: common/models.py:2498 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2510 part/templates/part/detail.html:41 +#: common/models.py:2511 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2511 +#: common/models.py:2512 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2516 part/templates/part/detail.html:62 +#: common/models.py:2517 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2518 +#: common/models.py:2519 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2524 +#: common/models.py:2525 msgid "Table String Length" msgstr "" -#: common/models.py:2526 +#: common/models.py:2527 msgid "Maximum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2532 +#: common/models.py:2533 msgid "Receive error reports" msgstr "" -#: common/models.py:2533 +#: common/models.py:2534 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2538 +#: common/models.py:2539 msgid "Last used printing machines" msgstr "" -#: common/models.py:2539 +#: common/models.py:2540 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2559 common/models.py:2560 common/models.py:2717 -#: common/models.py:2718 common/models.py:2963 common/models.py:2964 -#: common/models.py:3287 common/models.py:3288 importer/models.py:89 -#: part/models.py:3319 part/models.py:3406 part/models.py:3480 -#: part/models.py:3508 plugin/models.py:274 plugin/models.py:275 +#: common/models.py:2560 common/models.py:2561 common/models.py:2718 +#: common/models.py:2719 common/models.py:2964 common/models.py:2965 +#: common/models.py:3288 common/models.py:3289 importer/models.py:89 +#: part/models.py:3306 part/models.py:3393 part/models.py:3467 +#: part/models.py:3495 plugin/models.py:274 plugin/models.py:275 #: report/templates/report/inventree_test_report.html:105 #: templates/js/translated/stock.js:3121 users/models.py:111 msgid "User" msgstr "Pengguna" -#: common/models.py:2582 +#: common/models.py:2583 msgid "Price break quantity" msgstr "" -#: common/models.py:2589 company/serializers.py:517 order/admin.py:42 +#: common/models.py:2590 company/serializers.py:517 order/admin.py:42 #: order/models.py:1423 order/models.py:2410 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1892 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:739 msgid "Price" -msgstr "" +msgstr "Harga" -#: common/models.py:2590 +#: common/models.py:2591 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2694 common/models.py:2879 +#: common/models.py:2695 common/models.py:2880 msgid "Endpoint" msgstr "" -#: common/models.py:2695 +#: common/models.py:2696 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2705 +#: common/models.py:2706 msgid "Name for this webhook" msgstr "" -#: common/models.py:2709 +#: common/models.py:2710 msgid "Is this webhook active" msgstr "" -#: common/models.py:2725 users/models.py:159 +#: common/models.py:2726 users/models.py:159 msgid "Token" msgstr "" -#: common/models.py:2726 +#: common/models.py:2727 msgid "Token for access" msgstr "" -#: common/models.py:2734 +#: common/models.py:2735 msgid "Secret" msgstr "" -#: common/models.py:2735 +#: common/models.py:2736 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2843 +#: common/models.py:2844 msgid "Message ID" msgstr "" -#: common/models.py:2844 +#: common/models.py:2845 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2852 +#: common/models.py:2853 msgid "Host" msgstr "" -#: common/models.py:2853 +#: common/models.py:2854 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2861 +#: common/models.py:2862 msgid "Header" msgstr "" -#: common/models.py:2862 +#: common/models.py:2863 msgid "Header of this message" msgstr "" -#: common/models.py:2869 +#: common/models.py:2870 msgid "Body" msgstr "" -#: common/models.py:2870 +#: common/models.py:2871 msgid "Body of this message" msgstr "" -#: common/models.py:2880 +#: common/models.py:2881 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2885 +#: common/models.py:2886 msgid "Worked on" msgstr "" -#: common/models.py:2886 +#: common/models.py:2887 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:3012 +#: common/models.py:3013 msgid "Id" msgstr "" -#: common/models.py:3014 templates/js/translated/company.js:965 +#: common/models.py:3015 templates/js/translated/company.js:965 #: templates/js/translated/news.js:44 msgid "Title" -msgstr "" +msgstr "Judul" -#: common/models.py:3016 common/models.py:3271 company/models.py:146 +#: common/models.py:3017 common/models.py:3272 company/models.py:146 #: company/models.py:443 company/models.py:509 company/models.py:815 #: order/models.py:303 order/models.py:1378 order/models.py:1810 #: part/admin.py:55 part/models.py:1069 @@ -3853,217 +3850,217 @@ msgstr "" msgid "Link" msgstr "Tautan" -#: common/models.py:3018 templates/js/translated/news.js:60 +#: common/models.py:3019 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:3020 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:3021 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:103 msgid "Author" msgstr "" -#: common/models.py:3022 templates/js/translated/news.js:52 +#: common/models.py:3023 templates/js/translated/news.js:52 msgid "Summary" -msgstr "" +msgstr "Kesimpulan" -#: common/models.py:3025 +#: common/models.py:3026 msgid "Read" msgstr "" -#: common/models.py:3025 +#: common/models.py:3026 msgid "Was this news item read?" msgstr "" -#: common/models.py:3042 company/models.py:156 part/models.py:1079 +#: common/models.py:3043 company/models.py:156 part/models.py:1079 #: 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.html:35 -#: stock/templates/stock/item_base.html:133 templates/503.html:31 +#: stock/templates/stock/item_base.html:129 templates/503.html:31 #: templates/hover_image.html:7 templates/hover_image.html:9 #: templates/modals.html:6 msgid "Image" msgstr "" -#: common/models.py:3042 +#: common/models.py:3043 msgid "Image file" -msgstr "" +msgstr "Berkas Gambar" -#: common/models.py:3054 common/models.py:3255 +#: common/models.py:3055 common/models.py:3256 msgid "Target model type for this image" msgstr "" -#: common/models.py:3058 +#: common/models.py:3059 msgid "Target model ID for this image" msgstr "" -#: common/models.py:3080 +#: common/models.py:3081 msgid "Custom Unit" msgstr "" -#: common/models.py:3098 +#: common/models.py:3099 msgid "Unit symbol must be unique" msgstr "" -#: common/models.py:3113 +#: common/models.py:3114 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:3132 +#: common/models.py:3133 msgid "Unit name" msgstr "" -#: common/models.py:3139 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3140 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:3140 +#: common/models.py:3141 msgid "Optional unit symbol" msgstr "" -#: common/models.py:3146 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3147 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:3147 +#: common/models.py:3148 msgid "Unit definition" msgstr "" -#: common/models.py:3205 common/models.py:3262 stock/models.py:2552 +#: common/models.py:3206 common/models.py:3263 stock/models.py:2547 #: stock/serializers.py:244 templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:345 msgid "Attachment" msgstr "Lampiran" -#: common/models.py:3217 +#: common/models.py:3218 msgid "Missing file" msgstr "File tidak ditemukan" -#: common/models.py:3218 +#: common/models.py:3219 msgid "Missing external link" msgstr "Tautan eksternal tidak ditemukan" -#: common/models.py:3263 +#: common/models.py:3264 msgid "Select file to attach" msgstr "Pilih file untuk dilampirkan" -#: common/models.py:3278 templates/js/translated/attachment.js:120 +#: common/models.py:3279 templates/js/translated/attachment.js:120 #: templates/js/translated/attachment.js:360 msgid "Comment" msgstr "Komentar" -#: common/models.py:3279 +#: common/models.py:3280 msgid "Attachment comment" msgstr "" -#: common/models.py:3295 +#: common/models.py:3296 msgid "Upload date" msgstr "" -#: common/models.py:3296 +#: common/models.py:3297 msgid "Date the file was uploaded" msgstr "" -#: common/models.py:3300 +#: common/models.py:3301 msgid "File size" -msgstr "" +msgstr "Ukuran Berkas" -#: common/models.py:3300 +#: common/models.py:3301 msgid "File size in bytes" msgstr "" -#: common/models.py:3338 common/serializers.py:588 +#: common/models.py:3339 common/serializers.py:604 msgid "Invalid model type specified for attachment" msgstr "" -#: common/models.py:3347 plugin/models.py:43 users/models.py:100 +#: common/models.py:3348 plugin/models.py:43 users/models.py:100 msgid "Key" msgstr "" -#: common/models.py:3348 +#: common/models.py:3349 msgid "Value that will be saved in the models database" msgstr "" -#: common/models.py:3351 +#: common/models.py:3352 msgid "Name of the state" msgstr "" -#: common/models.py:3355 +#: common/models.py:3356 msgid "Label" msgstr "Label" -#: common/models.py:3356 +#: common/models.py:3357 msgid "Label that will be displayed in the frontend" msgstr "" -#: common/models.py:3362 +#: common/models.py:3363 msgid "Color" msgstr "" -#: common/models.py:3363 +#: common/models.py:3364 msgid "Color that will be displayed in the frontend" msgstr "" -#: common/models.py:3366 +#: common/models.py:3367 msgid "Logical Key" msgstr "" -#: common/models.py:3368 +#: common/models.py:3369 msgid "State logical key that is equal to this custom state in business logic" msgstr "" -#: common/models.py:3376 +#: common/models.py:3377 msgid "Model" -msgstr "" +msgstr "Model" -#: common/models.py:3377 +#: common/models.py:3378 msgid "Model this state is associated with" msgstr "" -#: common/models.py:3381 +#: common/models.py:3382 msgid "Reference Status Set" msgstr "" -#: common/models.py:3382 +#: common/models.py:3383 msgid "Status set that is extended with this custom state" msgstr "" -#: common/models.py:3388 +#: common/models.py:3389 msgid "Custom State" msgstr "" -#: common/models.py:3389 +#: common/models.py:3390 msgid "Custom States" msgstr "" -#: common/models.py:3404 +#: common/models.py:3405 msgid "Model must be selected" msgstr "" -#: common/models.py:3407 +#: common/models.py:3408 msgid "Key must be selected" msgstr "" -#: common/models.py:3410 +#: common/models.py:3411 msgid "Logical key must be selected" msgstr "" -#: common/models.py:3414 +#: common/models.py:3415 msgid "Key must be different from logical key" msgstr "" -#: common/models.py:3418 +#: common/models.py:3419 msgid "Reference status must be selected" msgstr "" -#: common/models.py:3430 +#: common/models.py:3431 msgid "Reference status set not found" msgstr "" -#: common/models.py:3436 +#: common/models.py:3437 msgid "Key must be different from the logical keys of the reference status" msgstr "" -#: common/models.py:3442 +#: common/models.py:3443 msgid "Logical key must be in the logical keys of the reference status" msgstr "" @@ -4087,7 +4084,7 @@ msgstr "" #: common/notifications.py:326 common/notifications.py:333 order/api.py:460 msgid "Items Received" -msgstr "" +msgstr "Barang diterima" #: common/notifications.py:328 msgid "Items have been received against a purchase order" @@ -4101,75 +4098,75 @@ msgstr "" msgid "Error raised by plugin" msgstr "" -#: common/serializers.py:402 +#: common/serializers.py:418 msgid "Is Running" msgstr "" -#: common/serializers.py:408 +#: common/serializers.py:424 msgid "Pending Tasks" msgstr "" -#: common/serializers.py:414 +#: common/serializers.py:430 msgid "Scheduled Tasks" msgstr "" -#: common/serializers.py:420 +#: common/serializers.py:436 msgid "Failed Tasks" msgstr "" -#: common/serializers.py:435 +#: common/serializers.py:451 msgid "Task ID" msgstr "" -#: common/serializers.py:435 +#: common/serializers.py:451 msgid "Unique task ID" msgstr "" -#: common/serializers.py:437 +#: common/serializers.py:453 msgid "Lock" msgstr "" -#: common/serializers.py:437 +#: common/serializers.py:453 msgid "Lock time" msgstr "" -#: common/serializers.py:439 +#: common/serializers.py:455 msgid "Task name" msgstr "" -#: common/serializers.py:441 +#: common/serializers.py:457 msgid "Function" msgstr "" -#: common/serializers.py:441 +#: common/serializers.py:457 msgid "Function name" msgstr "" -#: common/serializers.py:443 +#: common/serializers.py:459 msgid "Arguments" msgstr "" -#: common/serializers.py:443 +#: common/serializers.py:459 msgid "Task arguments" msgstr "" -#: common/serializers.py:446 +#: common/serializers.py:462 msgid "Keyword Arguments" msgstr "" -#: common/serializers.py:446 +#: common/serializers.py:462 msgid "Task keyword arguments" msgstr "" -#: common/serializers.py:556 +#: common/serializers.py:572 msgid "Filename" msgstr "Nama File" -#: common/serializers.py:563 report/api.py:100 report/serializers.py:53 +#: common/serializers.py:579 report/api.py:100 report/serializers.py:54 msgid "Model Type" msgstr "" -#: common/serializers.py:591 +#: common/serializers.py:607 msgid "User does not have permission to create or edit attachments for this model" msgstr "" @@ -4261,16 +4258,16 @@ msgstr "" #: company/templates/company/company_base.html:12 stock/api.py:811 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:496 msgid "Company" -msgstr "" +msgstr "Perusahaan" #: company/models.py:98 company/views.py:51 #: templates/js/translated/search.js:192 msgid "Companies" -msgstr "" +msgstr "Perusahaan" #: company/models.py:114 msgid "Company description" -msgstr "" +msgstr "Deskripsi Perusahaan" #: company/models.py:115 msgid "Description of the company" @@ -4280,7 +4277,7 @@ msgstr "" #: templates/InvenTree/settings/plugin_settings.html:54 #: templates/js/translated/company.js:532 msgid "Website" -msgstr "" +msgstr "Laman" #: company/models.py:120 msgid "Company website URL" @@ -4288,7 +4285,7 @@ msgstr "" #: company/models.py:125 msgid "Phone number" -msgstr "" +msgstr "Nomor Ponsel" #: company/models.py:127 msgid "Contact phone number" @@ -4296,7 +4293,7 @@ msgstr "" #: company/models.py:134 msgid "Contact email address" -msgstr "" +msgstr "Kontak alamat surel" #: company/models.py:139 company/models.py:272 #: company/templates/company/company_base.html:145 order/models.py:343 @@ -4304,7 +4301,7 @@ msgstr "" #: order/templates/order/return_order_base.html:177 #: order/templates/order/sales_order_base.html:221 msgid "Contact" -msgstr "" +msgstr "Kontak" #: company/models.py:141 msgid "Point of contact" @@ -4398,7 +4395,7 @@ msgstr "" #: company/models.py:401 company/models.py:402 #: templates/js/translated/company.js:983 msgid "Postal code" -msgstr "" +msgstr "Kode Pos" #: company/models.py:408 msgid "City/Region" @@ -4447,12 +4444,12 @@ msgstr "" #: company/models.py:467 company/models.py:584 company/models.py:808 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 -#: stock/templates/stock/item_base.html:217 +#: stock/templates/stock/item_base.html:213 msgid "Manufacturer Part" msgstr "" #: company/models.py:484 company/models.py:776 stock/models.py:791 -#: stock/serializers.py:452 stock/templates/stock/item_base.html:142 +#: stock/serializers.py:452 stock/templates/stock/item_base.html:138 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" @@ -4463,8 +4460,8 @@ msgstr "" #: company/models.py:495 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:567 -#: stock/templates/stock/item_base.html:207 +#: company/templates/company/supplier_part.html:145 part/serializers.py:565 +#: stock/templates/stock/item_base.html:203 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 #: templates/js/translated/company.js:1296 @@ -4479,7 +4476,7 @@ msgstr "" #: company/models.py:502 company/templates/company/manufacturer_part.html:101 #: company/templates/company/supplier_part.html:153 order/serializers.py:557 -#: part/serializers.py:577 templates/js/translated/company.js:351 +#: part/serializers.py:575 templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 #: templates/js/translated/company.js:1630 templates/js/translated/part.js:1807 @@ -4505,7 +4502,7 @@ msgid "Parameter name" msgstr "" #: company/models.py:597 report/templates/report/inventree_test_report.html:104 -#: stock/models.py:2544 templates/js/translated/company.js:1166 +#: stock/models.py:2539 templates/js/translated/company.js:1166 #: templates/js/translated/company.js:1419 templates/js/translated/part.js:1499 #: templates/js/translated/stock.js:1607 msgid "Value" @@ -4516,7 +4513,7 @@ msgid "Parameter value" msgstr "" #: company/models.py:605 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1159 part/models.py:3783 +#: part/admin.py:57 part/models.py:1159 part/models.py:3770 #: part/templates/part/part_base.html:300 #: templates/js/translated/company.js:1425 templates/js/translated/part.js:1518 #: templates/js/translated/part.js:1622 templates/js/translated/part.js:2376 @@ -4530,7 +4527,7 @@ msgstr "" #: company/models.py:659 company/templates/company/supplier_part.html:7 #: company/templates/company/supplier_part.html:24 order/api.py:440 #: order/serializers.py:492 stock/models.py:802 -#: stock/templates/stock/item_base.html:233 +#: stock/templates/stock/item_base.html:229 #: templates/js/translated/build.js:1055 #: templates/js/translated/company.js:1600 #: templates/js/translated/purchase_order.js:752 @@ -4553,9 +4550,9 @@ msgstr "" #: company/models.py:786 company/templates/company/company_base.html:87 #: company/templates/company/supplier_part.html:129 order/models.py:492 #: order/templates/order/order_base.html:141 part/bom.py:279 part/bom.py:314 -#: part/serializers.py:551 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:549 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 -#: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 +#: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:220 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:511 @@ -4570,7 +4567,7 @@ msgstr "" msgid "Select supplier" msgstr "" -#: company/models.py:793 part/serializers.py:562 +#: company/models.py:793 part/serializers.py:560 msgid "Supplier stock keeping unit" msgstr "" @@ -4591,7 +4588,7 @@ msgid "Supplier part description" msgstr "" #: company/models.py:832 company/templates/company/supplier_part.html:187 -#: order/serializers.py:699 part/admin.py:415 part/models.py:4301 +#: order/serializers.py:699 part/admin.py:415 part/models.py:4288 #: part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 @@ -4603,11 +4600,11 @@ msgstr "" msgid "Note" msgstr "" -#: company/models.py:841 part/models.py:2129 +#: company/models.py:841 part/models.py:2128 msgid "base cost" msgstr "" -#: company/models.py:842 part/models.py:2130 +#: company/models.py:842 part/models.py:2129 msgid "Minimum charge (e.g. stocking fee)" msgstr "" @@ -4629,7 +4626,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:876 part/models.py:2136 +#: company/models.py:876 part/models.py:2135 msgid "multiple" msgstr "" @@ -4661,7 +4658,7 @@ msgstr "" msgid "Company Name" msgstr "" -#: company/serializers.py:397 part/admin.py:126 part/serializers.py:919 +#: company/serializers.py:397 part/admin.py:126 part/serializers.py:917 #: part/templates/part/part_base.html:197 #: templates/js/translated/company.js:1689 #: templates/js/translated/table_filters.js:362 @@ -4675,7 +4672,7 @@ msgstr "" #: templates/js/translated/model_renderers.js:313 #: templates/js/translated/part.js:817 templates/js/translated/part.js:1225 msgid "Inactive" -msgstr "" +msgstr "Tidak aktif" #: company/templates/company/company_base.html:27 #: templates/js/translated/purchase_order.js:242 @@ -4719,7 +4716,7 @@ msgstr "" #: company/templates/company/company_base.html:61 #: part/templates/part/part_thumb.html:12 msgid "Upload new image" -msgstr "" +msgstr "Unggah Gambar Baru" #: company/templates/company/company_base.html:64 #: part/templates/part/part_thumb.html:14 @@ -4729,13 +4726,13 @@ msgstr "" #: company/templates/company/company_base.html:66 #: part/templates/part/part_thumb.html:16 msgid "Delete image" -msgstr "" +msgstr "Hapus Gambar" #: company/templates/company/company_base.html:92 order/models.py:991 #: order/models.py:2140 order/templates/order/return_order_base.html:134 #: order/templates/order/sales_order_base.html:151 stock/models.py:844 #: stock/models.py:845 stock/serializers.py:1336 -#: stock/templates/stock/item_base.html:405 +#: stock/templates/stock/item_base.html:401 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 #: templates/js/translated/return_order.js:295 @@ -4743,7 +4740,7 @@ msgstr "" #: templates/js/translated/stock.js:3044 #: templates/js/translated/table_filters.js:820 msgid "Customer" -msgstr "" +msgstr "Pelanggan" #: company/templates/company/company_base.html:117 msgid "Uses default currency" @@ -4751,12 +4748,12 @@ msgstr "" #: company/templates/company/company_base.html:131 msgid "Phone" -msgstr "" +msgstr "Ponsel" #: company/templates/company/company_base.html:211 #: part/templates/part/part_base.html:543 msgid "Remove Image" -msgstr "" +msgstr "Hapus Gambar" #: company/templates/company/company_base.html:212 msgid "Remove associated image from this company" @@ -4772,12 +4769,12 @@ msgstr "" #: company/templates/company/company_base.html:243 #: part/templates/part/part_base.html:575 msgid "Upload Image" -msgstr "" +msgstr "Unggah Gambar" #: company/templates/company/company_base.html:258 #: part/templates/part/part_base.html:629 msgid "Download Image" -msgstr "" +msgstr "Unduh Gambar" #: company/templates/company/detail.html:15 #: company/templates/company/manufacturer_part_sidebar.html:7 @@ -4939,7 +4936,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:925 +#: part/admin.py:122 part/serializers.py:923 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -5030,7 +5027,7 @@ msgid "No supplier information available" msgstr "" #: company/templates/company/supplier_part.html:139 order/serializers.py:554 -#: part/bom.py:286 part/bom.py:315 part/serializers.py:561 +#: part/bom.py:286 part/bom.py:315 part/serializers.py:559 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1793 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1920 @@ -5084,7 +5081,7 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:923 part/stocktake.py:223 +#: part/serializers.py:921 part/stocktake.py:223 #: part/templates/part/category.html:180 #: part/templates/part/category_sidebar.html:17 stock/admin.py:68 #: stock/serializers.py:1021 stock/serializers.py:1199 @@ -5117,7 +5114,7 @@ msgstr "" #: company/views.py:44 msgid "New Customer" -msgstr "" +msgstr "Pelanggan Baru" #: company/views.py:52 msgid "New Company" @@ -5215,7 +5212,7 @@ msgstr "" msgid "Original row data" msgstr "" -#: importer/models.py:504 part/models.py:3965 +#: importer/models.py:504 part/models.py:3952 msgid "Data" msgstr "" @@ -5313,7 +5310,7 @@ msgstr "" #: machine/machine_types/label_printer.py:216 msgid "Copies" -msgstr "" +msgstr "Tersalin" #: machine/machine_types/label_printer.py:217 msgid "Number of copies to print for each label" @@ -5326,7 +5323,7 @@ msgstr "" #: machine/machine_types/label_printer.py:233 order/api.py:1397 #: templates/js/translated/sales_order.js:1078 msgid "Unknown" -msgstr "" +msgstr "Tidak diketahui" #: machine/machine_types/label_printer.py:234 msgid "Printing" @@ -5342,7 +5339,7 @@ msgstr "" #: machine/machine_types/label_printer.py:237 msgid "Disconnected" -msgstr "" +msgstr "Jaringan Terputus" #: machine/machine_types/label_printer.py:244 msgid "Label Printer" @@ -5419,7 +5416,7 @@ msgstr "" #: templates/js/translated/purchase_order.js:2195 #: templates/js/translated/sales_order.js:1883 msgid "Total Price" -msgstr "" +msgstr "Total Harga" #: order/api.py:80 order/api.py:151 order/serializers.py:94 #: order/templates/order/order_base.html:123 @@ -5473,7 +5470,7 @@ msgstr "" #: order/models.py:1592 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_purchase_order_report.html:14 -#: stock/serializers.py:121 stock/templates/stock/item_base.html:176 +#: stock/serializers.py:121 stock/templates/stock/item_base.html:172 #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/part.js:1752 templates/js/translated/pricing.js:804 #: templates/js/translated/purchase_order.js:168 @@ -5673,7 +5670,7 @@ msgstr "" #: order/models.py:1469 msgid "deleted" -msgstr "" +msgstr "Terhapus" #: order/models.py:1497 msgid "Supplier part" @@ -5694,7 +5691,7 @@ msgid "Number of items received" msgstr "" #: order/models.py:1513 stock/models.py:963 stock/serializers.py:617 -#: stock/templates/stock/item_base.html:183 +#: stock/templates/stock/item_base.html:179 #: templates/js/translated/stock.js:2397 msgid "Purchase Price" msgstr "" @@ -5726,7 +5723,7 @@ msgstr "" #: order/models.py:1661 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:139 templates/js/translated/pricing.js:957 msgid "Sale Price" -msgstr "" +msgstr "Harga Jual" #: order/models.py:1662 msgid "Unit sale price" @@ -5768,7 +5765,7 @@ msgid "User who checked this shipment" msgstr "" #: order/models.py:1788 order/models.py:2011 order/serializers.py:1479 -#: order/serializers.py:1589 templates/js/translated/model_renderers.js:455 +#: order/serializers.py:1597 templates/js/translated/model_renderers.js:455 msgid "Shipment" msgstr "" @@ -5982,7 +5979,7 @@ msgstr "" msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:656 order/serializers.py:779 order/serializers.py:1790 +#: order/serializers.py:656 order/serializers.py:779 order/serializers.py:1798 msgid "Select destination location for received items" msgstr "" @@ -6019,7 +6016,7 @@ msgstr "" msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:795 order/serializers.py:1806 +#: order/serializers.py:795 order/serializers.py:1814 msgid "Line items must be provided" msgstr "" @@ -6051,39 +6048,39 @@ msgstr "" msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1491 order/serializers.py:1597 +#: order/serializers.py:1491 order/serializers.py:1605 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1494 order/serializers.py:1600 +#: order/serializers.py:1494 order/serializers.py:1608 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1541 +#: order/serializers.py:1549 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1548 -msgid "The following serial numbers are already allocated" +#: order/serializers.py:1556 +msgid "The following serial numbers are unavailable" msgstr "" -#: order/serializers.py:1760 +#: order/serializers.py:1768 msgid "Return order line item" msgstr "" -#: order/serializers.py:1766 +#: order/serializers.py:1774 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1769 +#: order/serializers.py:1777 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1798 +#: order/serializers.py:1806 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1881 +#: order/serializers.py:1889 msgid "Line price currency" msgstr "" @@ -6109,7 +6106,7 @@ msgstr "" #: order/status_codes.py:107 msgid "Replace" -msgstr "" +msgstr "Ganti" #: order/status_codes.py:110 msgid "Refund" @@ -6117,7 +6114,7 @@ msgstr "" #: order/status_codes.py:113 msgid "Reject" -msgstr "" +msgstr "Tolak" #: order/tasks.py:25 msgid "Overdue Purchase Order" @@ -6510,7 +6507,7 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:48 part/models.py:1044 part/serializers.py:908 +#: part/admin.py:48 part/models.py:1044 part/serializers.py:906 #: part/templates/part/part_base.html:276 #: report/templates/report/inventree_stock_location_report.html:103 #: templates/js/translated/part.js:1233 templates/js/translated/part.js:2347 @@ -6537,7 +6534,7 @@ msgstr "" msgid "Category ID" msgstr "" -#: part/admin.py:67 part/admin.py:304 part/serializers.py:893 +#: part/admin.py:67 part/admin.py:304 part/serializers.py:891 #: part/stocktake.py:222 msgid "Category Name" msgstr "" @@ -6562,18 +6559,18 @@ msgstr "" msgid "Used In" msgstr "" -#: part/admin.py:150 part/serializers.py:918 +#: part/admin.py:150 part/serializers.py:916 #: part/templates/part/part_base.html:248 stock/admin.py:236 #: templates/js/translated/part.js:717 templates/js/translated/part.js:2159 msgid "Building" msgstr "" -#: part/admin.py:155 part/models.py:3214 part/models.py:3228 +#: part/admin.py:155 part/models.py:3201 part/models.py:3215 #: templates/js/translated/part.js:976 msgid "Minimum Cost" msgstr "" -#: part/admin.py:158 part/models.py:3221 part/models.py:3235 +#: part/admin.py:158 part/models.py:3208 part/models.py:3222 #: templates/js/translated/part.js:986 msgid "Maximum Cost" msgstr "" @@ -6592,7 +6589,7 @@ msgid "Category Path" msgstr "" #: part/admin.py:325 part/models.py:420 part/serializers.py:130 -#: part/serializers.py:290 part/serializers.py:428 +#: part/serializers.py:290 part/serializers.py:426 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:20 #: part/templates/part/category.html:138 part/templates/part/category.html:158 #: part/templates/part/category_sidebar.html:9 @@ -6619,17 +6616,17 @@ msgstr "" msgid "Part Revision" msgstr "" -#: part/admin.py:418 part/serializers.py:1367 +#: part/admin.py:418 part/serializers.py:1365 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" -msgstr "" +msgstr "Harga Minimal" -#: part/admin.py:423 part/serializers.py:1382 +#: part/admin.py:423 part/serializers.py:1380 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" -msgstr "" +msgstr "Harga Maksimal" #: part/api.py:104 msgid "Starred" @@ -6719,8 +6716,8 @@ msgstr "" msgid "BOM Valid" msgstr "" -#: part/api.py:1520 part/models.py:1036 part/models.py:3501 part/models.py:4060 -#: part/serializers.py:443 part/serializers.py:1223 +#: part/api.py:1520 part/models.py:1036 part/models.py:3488 part/models.py:4047 +#: part/serializers.py:441 part/serializers.py:1221 #: part/templates/part/part_base.html:267 stock/api.py:780 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 @@ -6746,7 +6743,7 @@ msgstr "" msgid "Default Location" msgstr "" -#: part/bom.py:184 part/serializers.py:926 +#: part/bom.py:184 part/serializers.py:924 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -6755,7 +6752,7 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:89 part/models.py:4061 part/templates/part/category.html:16 +#: part/models.py:89 part/models.py:4048 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -6878,7 +6875,7 @@ msgstr "" msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:995 part/models.py:4116 +#: part/models.py:995 part/models.py:4103 msgid "Part name" msgstr "" @@ -6906,7 +6903,7 @@ msgstr "" msgid "Part category" msgstr "" -#: part/models.py:1052 part/serializers.py:360 +#: part/models.py:1052 msgid "Part revision or version number" msgstr "" @@ -7012,164 +7009,164 @@ msgid "Owner responsible for this part" msgstr "" #: part/models.py:1264 part/templates/part/part_base.html:355 -#: stock/templates/stock/item_base.html:451 +#: stock/templates/stock/item_base.html:447 #: templates/js/translated/part.js:2490 msgid "Last Stocktake" msgstr "" -#: part/models.py:2137 +#: part/models.py:2136 msgid "Sell multiple" msgstr "" -#: part/models.py:3128 +#: part/models.py:3115 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3144 +#: part/models.py:3131 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3145 +#: part/models.py:3132 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3151 +#: part/models.py:3138 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3152 +#: part/models.py:3139 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3158 +#: part/models.py:3145 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3159 +#: part/models.py:3146 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3165 +#: part/models.py:3152 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3166 +#: part/models.py:3153 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3172 +#: part/models.py:3159 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3173 +#: part/models.py:3160 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3179 +#: part/models.py:3166 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3180 +#: part/models.py:3167 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3186 +#: part/models.py:3173 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3187 +#: part/models.py:3174 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3193 +#: part/models.py:3180 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3194 +#: part/models.py:3181 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3200 +#: part/models.py:3187 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3201 +#: part/models.py:3188 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3207 +#: part/models.py:3194 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3208 +#: part/models.py:3195 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3215 +#: part/models.py:3202 msgid "Override minimum cost" msgstr "" -#: part/models.py:3222 +#: part/models.py:3209 msgid "Override maximum cost" msgstr "" -#: part/models.py:3229 +#: part/models.py:3216 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3236 +#: part/models.py:3223 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3242 +#: part/models.py:3229 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3243 +#: part/models.py:3230 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3249 +#: part/models.py:3236 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3250 +#: part/models.py:3237 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3256 +#: part/models.py:3243 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3257 +#: part/models.py:3244 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3263 +#: part/models.py:3250 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3264 +#: part/models.py:3251 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3283 +#: part/models.py:3270 msgid "Part for stocktake" msgstr "" -#: part/models.py:3288 +#: part/models.py:3275 msgid "Item Count" msgstr "" -#: part/models.py:3289 +#: part/models.py:3276 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3297 +#: part/models.py:3284 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3301 part/models.py:3384 +#: part/models.py:3288 part/models.py:3371 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -7179,365 +7176,365 @@ msgstr "" #: templates/js/translated/purchase_order.js:1801 #: templates/js/translated/stock.js:2906 msgid "Date" -msgstr "" +msgstr "Tanggal" -#: part/models.py:3302 +#: part/models.py:3289 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3310 +#: part/models.py:3297 msgid "Additional notes" msgstr "" -#: part/models.py:3320 +#: part/models.py:3307 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3326 +#: part/models.py:3313 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3327 +#: part/models.py:3314 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3333 +#: part/models.py:3320 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3334 +#: part/models.py:3321 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3390 templates/InvenTree/settings/settings_staff_js.html:532 +#: part/models.py:3377 templates/InvenTree/settings/settings_staff_js.html:532 msgid "Report" -msgstr "" +msgstr "Lapor" -#: part/models.py:3391 +#: part/models.py:3378 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3396 templates/InvenTree/settings/settings_staff_js.html:539 +#: part/models.py:3383 templates/InvenTree/settings/settings_staff_js.html:539 msgid "Part Count" msgstr "" -#: part/models.py:3397 +#: part/models.py:3384 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3407 +#: part/models.py:3394 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3417 +#: part/models.py:3404 msgid "Part Sale Price Break" msgstr "" -#: part/models.py:3529 +#: part/models.py:3516 msgid "Part Test Template" msgstr "" -#: part/models.py:3555 +#: part/models.py:3542 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3576 part/models.py:3745 +#: part/models.py:3563 part/models.py:3732 msgid "Choices must be unique" msgstr "" -#: part/models.py:3587 +#: part/models.py:3574 msgid "Test templates can only be created for testable parts" msgstr "" -#: part/models.py:3598 +#: part/models.py:3585 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3615 templates/js/translated/part.js:2898 +#: part/models.py:3602 templates/js/translated/part.js:2898 msgid "Test Name" msgstr "" -#: part/models.py:3616 +#: part/models.py:3603 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3622 +#: part/models.py:3609 msgid "Test Key" msgstr "" -#: part/models.py:3623 +#: part/models.py:3610 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3630 +#: part/models.py:3617 msgid "Test Description" msgstr "" -#: part/models.py:3631 +#: part/models.py:3618 msgid "Enter description for this test" msgstr "" -#: part/models.py:3635 report/models.py:208 +#: part/models.py:3622 report/models.py:216 #: templates/js/translated/part.js:2919 #: templates/js/translated/table_filters.js:502 msgid "Enabled" -msgstr "" +msgstr "Aktif" -#: part/models.py:3635 +#: part/models.py:3622 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3640 templates/js/translated/part.js:2927 +#: part/models.py:3627 templates/js/translated/part.js:2927 #: templates/js/translated/table_filters.js:498 msgid "Required" msgstr "" -#: part/models.py:3641 +#: part/models.py:3628 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3646 templates/js/translated/part.js:2935 +#: part/models.py:3633 templates/js/translated/part.js:2935 msgid "Requires Value" msgstr "" -#: part/models.py:3647 +#: part/models.py:3634 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3652 templates/js/translated/part.js:2942 +#: part/models.py:3639 templates/js/translated/part.js:2942 msgid "Requires Attachment" msgstr "" -#: part/models.py:3654 +#: part/models.py:3641 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3660 part/models.py:3804 templates/js/translated/part.js:1643 +#: part/models.py:3647 part/models.py:3791 templates/js/translated/part.js:1643 msgid "Choices" -msgstr "" +msgstr "Pilihan" -#: part/models.py:3661 +#: part/models.py:3648 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3693 +#: part/models.py:3680 msgid "Part Parameter Template" msgstr "" -#: part/models.py:3720 +#: part/models.py:3707 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3725 +#: part/models.py:3712 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3762 +#: part/models.py:3749 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3777 +#: part/models.py:3764 msgid "Parameter Name" msgstr "" -#: part/models.py:3784 +#: part/models.py:3771 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3792 +#: part/models.py:3779 msgid "Parameter description" msgstr "" -#: part/models.py:3798 templates/js/translated/part.js:1634 +#: part/models.py:3785 templates/js/translated/part.js:1634 #: templates/js/translated/table_filters.js:837 msgid "Checkbox" msgstr "" -#: part/models.py:3799 +#: part/models.py:3786 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3805 +#: part/models.py:3792 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3839 +#: part/models.py:3826 msgid "Part Parameter" msgstr "" -#: part/models.py:3865 +#: part/models.py:3852 msgid "Parameter cannot be modified - part is locked" msgstr "" -#: part/models.py:3903 +#: part/models.py:3890 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3952 +#: part/models.py:3939 msgid "Parent Part" msgstr "" -#: part/models.py:3960 part/models.py:4068 part/models.py:4069 +#: part/models.py:3947 part/models.py:4055 part/models.py:4056 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3966 +#: part/models.py:3953 msgid "Parameter Value" msgstr "" -#: part/models.py:4016 +#: part/models.py:4003 msgid "Part Category Parameter Template" msgstr "" -#: part/models.py:4075 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:4062 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:4076 +#: part/models.py:4063 msgid "Default Parameter Value" msgstr "" -#: part/models.py:4114 +#: part/models.py:4101 msgid "Part ID or part name" msgstr "" -#: part/models.py:4115 +#: part/models.py:4102 msgid "Unique part ID value" msgstr "" -#: part/models.py:4117 +#: part/models.py:4104 msgid "Part IPN value" msgstr "" -#: part/models.py:4118 +#: part/models.py:4105 msgid "Level" msgstr "" -#: part/models.py:4118 +#: part/models.py:4105 msgid "BOM level" msgstr "" -#: part/models.py:4228 +#: part/models.py:4215 msgid "BOM item cannot be modified - assembly is locked" msgstr "" -#: part/models.py:4235 +#: part/models.py:4222 msgid "BOM item cannot be modified - variant assembly is locked" msgstr "" -#: part/models.py:4245 +#: part/models.py:4232 msgid "Select parent part" msgstr "" -#: part/models.py:4255 +#: part/models.py:4242 msgid "Sub part" msgstr "" -#: part/models.py:4256 +#: part/models.py:4243 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4267 +#: part/models.py:4254 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4273 +#: part/models.py:4260 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4279 +#: part/models.py:4266 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4286 part/templates/part/upload_bom.html:55 +#: part/models.py:4273 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4287 +#: part/models.py:4274 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4294 +#: part/models.py:4281 msgid "BOM item reference" msgstr "" -#: part/models.py:4302 +#: part/models.py:4289 msgid "BOM item notes" msgstr "" -#: part/models.py:4308 +#: part/models.py:4295 msgid "Checksum" msgstr "" -#: part/models.py:4309 +#: part/models.py:4296 msgid "BOM line checksum" msgstr "" -#: part/models.py:4314 templates/js/translated/table_filters.js:181 +#: part/models.py:4301 templates/js/translated/table_filters.js:181 msgid "Validated" msgstr "" -#: part/models.py:4315 +#: part/models.py:4302 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4320 part/templates/part/upload_bom.html:57 +#: part/models.py:4307 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:185 #: templates/js/translated/table_filters.js:218 msgid "Gets inherited" msgstr "" -#: part/models.py:4321 +#: part/models.py:4308 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4327 +#: part/models.py:4314 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4412 stock/models.py:689 +#: part/models.py:4399 stock/models.py:689 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4422 part/models.py:4424 +#: part/models.py:4409 part/models.py:4411 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4561 +#: part/models.py:4554 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4582 +#: part/models.py:4575 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4595 +#: part/models.py:4588 msgid "Parent BOM item" msgstr "" -#: part/models.py:4603 +#: part/models.py:4596 msgid "Substitute part" msgstr "" -#: part/models.py:4619 +#: part/models.py:4612 msgid "Part 1" msgstr "" -#: part/models.py:4627 +#: part/models.py:4620 msgid "Part 2" msgstr "" -#: part/models.py:4628 +#: part/models.py:4621 msgid "Select Related Part" msgstr "" -#: part/models.py:4647 +#: part/models.py:4640 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4652 +#: part/models.py:4645 msgid "Duplicate relationship already exists" msgstr "" @@ -7571,326 +7568,326 @@ msgstr "" msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:434 +#: part/serializers.py:432 msgid "No parts selected" msgstr "" -#: part/serializers.py:444 +#: part/serializers.py:442 msgid "Select category" msgstr "" -#: part/serializers.py:479 +#: part/serializers.py:477 msgid "Original Part" msgstr "" -#: part/serializers.py:480 +#: part/serializers.py:478 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:485 +#: part/serializers.py:483 msgid "Copy Image" msgstr "" -#: part/serializers.py:486 +#: part/serializers.py:484 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:492 part/templates/part/detail.html:293 +#: part/serializers.py:490 part/templates/part/detail.html:293 msgid "Copy BOM" msgstr "" -#: part/serializers.py:493 +#: part/serializers.py:491 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:499 +#: part/serializers.py:497 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:500 +#: part/serializers.py:498 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:506 +#: part/serializers.py:504 msgid "Copy Notes" msgstr "" -#: part/serializers.py:507 +#: part/serializers.py:505 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:525 +#: part/serializers.py:523 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:527 +#: part/serializers.py:525 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:534 +#: part/serializers.py:532 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:535 +#: part/serializers.py:533 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:552 +#: part/serializers.py:550 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:568 +#: part/serializers.py:566 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:578 +#: part/serializers.py:576 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:585 +#: part/serializers.py:583 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:594 +#: part/serializers.py:592 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:605 +#: part/serializers.py:603 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:612 +#: part/serializers.py:610 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:924 +#: part/serializers.py:922 msgid "Revisions" msgstr "" -#: part/serializers.py:929 +#: part/serializers.py:927 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:932 +#: part/serializers.py:930 msgid "Variant Stock" msgstr "" -#: part/serializers.py:962 part/templates/part/copy_part.html:9 +#: part/serializers.py:960 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:474 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:963 +#: part/serializers.py:961 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:969 templates/js/translated/part.js:103 +#: part/serializers.py:967 templates/js/translated/part.js:103 msgid "Initial Stock" msgstr "" -#: part/serializers.py:970 +#: part/serializers.py:968 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:976 +#: part/serializers.py:974 msgid "Supplier Information" msgstr "" -#: part/serializers.py:977 +#: part/serializers.py:975 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:985 +#: part/serializers.py:983 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:986 +#: part/serializers.py:984 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:991 +#: part/serializers.py:989 msgid "Existing Image" msgstr "" -#: part/serializers.py:992 +#: part/serializers.py:990 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:1009 +#: part/serializers.py:1007 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1215 +#: part/serializers.py:1213 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1225 +#: part/serializers.py:1223 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1235 +#: part/serializers.py:1233 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1241 +#: part/serializers.py:1239 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1242 +#: part/serializers.py:1240 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1247 +#: part/serializers.py:1245 msgid "Generate Report" msgstr "" -#: part/serializers.py:1248 +#: part/serializers.py:1246 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1253 +#: part/serializers.py:1251 msgid "Update Parts" msgstr "" -#: part/serializers.py:1254 +#: part/serializers.py:1252 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1262 +#: part/serializers.py:1260 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1368 +#: part/serializers.py:1366 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1375 +#: part/serializers.py:1373 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1383 +#: part/serializers.py:1381 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1390 +#: part/serializers.py:1388 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1419 +#: part/serializers.py:1417 msgid "Update" -msgstr "" +msgstr "Perbarui" -#: part/serializers.py:1420 +#: part/serializers.py:1418 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1443 +#: part/serializers.py:1441 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1450 +#: part/serializers.py:1448 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1453 +#: part/serializers.py:1451 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1597 +#: part/serializers.py:1595 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1606 +#: part/serializers.py:1604 msgid "Component Name" msgstr "" -#: part/serializers.py:1609 +#: part/serializers.py:1607 msgid "Component IPN" msgstr "" -#: part/serializers.py:1612 +#: part/serializers.py:1610 msgid "Component Description" msgstr "" -#: part/serializers.py:1618 +#: part/serializers.py:1616 msgid "Select the component part" msgstr "" -#: part/serializers.py:1627 part/templates/part/part_base.html:242 +#: part/serializers.py:1625 part/templates/part/part_base.html:242 #: templates/js/translated/bom.js:1219 msgid "Can Build" msgstr "" -#: part/serializers.py:1858 +#: part/serializers.py:1856 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1866 +#: part/serializers.py:1864 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1867 +#: part/serializers.py:1865 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1872 +#: part/serializers.py:1870 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1873 +#: part/serializers.py:1871 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1878 +#: part/serializers.py:1876 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1879 +#: part/serializers.py:1877 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1884 +#: part/serializers.py:1882 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1885 +#: part/serializers.py:1883 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1922 +#: part/serializers.py:1920 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1923 +#: part/serializers.py:1921 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1955 +#: part/serializers.py:1953 msgid "No part column specified" msgstr "" -#: part/serializers.py:1999 +#: part/serializers.py:1997 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:2002 +#: part/serializers.py:2000 msgid "No matching part found" msgstr "" -#: part/serializers.py:2004 +#: part/serializers.py:2002 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:2013 +#: part/serializers.py:2011 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:2021 +#: part/serializers.py:2019 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:2044 +#: part/serializers.py:2042 msgid "At least one BOM item is required" msgstr "" @@ -7898,7 +7895,7 @@ msgstr "" #: templates/js/translated/part.js:1828 templates/js/translated/part.js:1884 #: templates/js/translated/purchase_order.js:2154 msgid "Total Quantity" -msgstr "" +msgstr "Jumlah Total" #: part/stocktake.py:225 msgid "Total Cost Min" @@ -8039,7 +8036,7 @@ msgstr "" #: part/templates/part/detail.html:45 part/templates/part/prices.html:15 #: templates/js/translated/tables.js:552 msgid "Refresh" -msgstr "" +msgstr "Muat Ulang" #: part/templates/part/detail.html:66 msgid "Add stocktake information" @@ -8216,7 +8213,7 @@ msgid "Subscribe to notifications for this part" msgstr "" #: part/templates/part/part_base.html:52 -#: stock/templates/stock/item_base.html:62 +#: stock/templates/stock/item_base.html:61 #: stock/templates/stock/location.html:71 templates/js/translated/label.js:136 msgid "Print Label" msgstr "" @@ -8226,7 +8223,7 @@ msgid "Show pricing information" msgstr "" #: part/templates/part/part_base.html:63 -#: stock/templates/stock/item_base.html:110 +#: stock/templates/stock/item_base.html:106 #: stock/templates/stock/location.html:80 msgid "Stock actions" msgstr "" @@ -8297,12 +8294,12 @@ msgid "Required for Orders" msgstr "" #: part/templates/part/part_base.html:225 -#: stock/templates/stock/item_base.html:388 +#: stock/templates/stock/item_base.html:384 msgid "Allocated to Build Orders" msgstr "" #: part/templates/part/part_base.html:234 -#: stock/templates/stock/item_base.html:381 +#: stock/templates/stock/item_base.html:377 msgid "Allocated to Sales Orders" msgstr "" @@ -8315,14 +8312,14 @@ msgstr "" #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1054 msgid "Price Range" -msgstr "" +msgstr "Rentang Harga" #: part/templates/part/part_base.html:368 msgid "Latest Serial Number" msgstr "" #: part/templates/part/part_base.html:372 -#: stock/templates/stock/item_base.html:322 +#: stock/templates/stock/item_base.html:318 msgid "Search for serial number" msgstr "" @@ -8336,7 +8333,7 @@ msgstr "" #: part/templates/part/part_base.html:527 msgid "Calculate" -msgstr "" +msgstr "Hitung" #: part/templates/part/part_base.html:544 msgid "Remove associated image from this part" @@ -8360,7 +8357,7 @@ msgstr "" #: part/templates/part/part_pricing.html:95 #: part/templates/part/part_pricing.html:110 msgid "Unit Cost" -msgstr "" +msgstr "Harga Unit" #: part/templates/part/part_pricing.html:40 msgid "No supplier pricing available" @@ -8449,7 +8446,7 @@ msgid "Edit" msgstr "" #: part/templates/part/prices.html:28 stock/admin.py:252 -#: stock/templates/stock/item_base.html:446 +#: stock/templates/stock/item_base.html:442 #: templates/js/translated/company.js:1703 #: templates/js/translated/company.js:1713 #: templates/js/translated/stock.js:2332 @@ -8490,7 +8487,7 @@ msgstr "" #: part/templates/part/prices.html:149 part/templates/part/prices.html:326 msgid "Sale History" -msgstr "" +msgstr "Riwayat Penjualan" #: part/templates/part/prices.html:157 msgid "Sale price data is not available for this part" @@ -8604,7 +8601,7 @@ msgstr "" msgid "Part Pricing" msgstr "" -#: plugin/api.py:172 +#: plugin/api.py:174 msgid "Plugin cannot be deleted as it is currently active" msgstr "" @@ -8689,7 +8686,7 @@ msgstr "" #: plugin/base/barcodes/api.py:605 msgid "Not enough information" -msgstr "" +msgstr "Tidak cukup informasi" #: plugin/base/barcodes/mixins.py:172 plugin/base/barcodes/mixins.py:204 msgid "Found multiple matching supplier parts for barcode" @@ -8814,7 +8811,7 @@ msgstr "" #: plugin/builtin/suppliers/digikey.py:19 plugin/builtin/suppliers/lcsc.py:21 #: plugin/builtin/suppliers/mouser.py:19 plugin/builtin/suppliers/tme.py:21 msgid "InvenTree contributors" -msgstr "" +msgstr "Kontributor InvenTree" #: plugin/builtin/barcodes/inventree_barcode.py:34 msgid "Internal Barcode Format" @@ -8876,7 +8873,7 @@ msgstr "" #: plugin/builtin/integration/core_notifications.py:166 msgid "Open link" -msgstr "" +msgstr "Buka Laman" #: plugin/builtin/integration/currency_exchange.py:22 msgid "InvenTree Currency Exchange" @@ -8940,7 +8937,7 @@ msgstr "" msgid "Print a border around each label" msgstr "" -#: plugin/builtin/labels/label_sheet.py:47 report/models.py:307 +#: plugin/builtin/labels/label_sheet.py:47 report/models.py:315 msgid "Landscape" msgstr "" @@ -9012,44 +9009,44 @@ msgstr "" msgid "The Supplier which acts as 'TME'" msgstr "" -#: plugin/installer.py:194 plugin/installer.py:274 +#: plugin/installer.py:199 plugin/installer.py:282 msgid "Only staff users can administer plugins" msgstr "" -#: plugin/installer.py:197 +#: plugin/installer.py:202 msgid "Plugin installation is disabled" msgstr "" -#: plugin/installer.py:241 +#: plugin/installer.py:246 msgid "Installed plugin successfully" msgstr "" -#: plugin/installer.py:246 +#: plugin/installer.py:251 #, python-brace-format msgid "Installed plugin into {path}" msgstr "" -#: plugin/installer.py:265 +#: plugin/installer.py:273 msgid "Plugin was not found in registry" msgstr "" -#: plugin/installer.py:268 +#: plugin/installer.py:276 msgid "Plugin is not a packaged plugin" msgstr "" -#: plugin/installer.py:271 +#: plugin/installer.py:279 msgid "Plugin package name not found" msgstr "" -#: plugin/installer.py:291 +#: plugin/installer.py:299 msgid "Plugin uninstalling is disabled" msgstr "" -#: plugin/installer.py:295 +#: plugin/installer.py:303 msgid "Plugin cannot be uninstalled as it is currently active" msgstr "" -#: plugin/installer.py:308 +#: plugin/installer.py:316 msgid "Uninstalled plugin successfully" msgstr "" @@ -9084,7 +9081,7 @@ msgstr "" #: plugin/models.py:157 templates/js/translated/table_filters.js:377 #: templates/js/translated/table_filters.js:525 msgid "Installed" -msgstr "" +msgstr "Terpasang" #: plugin/models.py:166 msgid "Sample plugin" @@ -9098,7 +9095,7 @@ msgstr "" msgid "Package Plugin" msgstr "" -#: plugin/models.py:220 report/models.py:474 +#: plugin/models.py:220 report/models.py:482 #: templates/InvenTree/settings/plugin_settings.html:9 #: templates/js/translated/plugin.js:51 msgid "Plugin" @@ -9165,6 +9162,38 @@ msgstr "" #: plugin/samples/integration/sample_currency_exchange.py:18 msgid "InvenTree Contributors" +msgstr "Kontributor InvenTree" + +#: plugin/samples/integration/user_interface_sample.py:22 +msgid "Enable Part Panels" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:23 +msgid "Enable custom panels for Part views" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:28 +msgid "Enable Purchase Order Panels" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:29 +msgid "Enable custom panels for Purchase Order views" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:34 +msgid "Enable Broken Panels" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:35 +msgid "Enable broken panels for testing" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:40 +msgid "Enable Dynamic Panel" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:41 +msgid "Enable dynamic panels for testing" msgstr "" #: plugin/serializers.py:81 @@ -9183,7 +9212,7 @@ msgstr "" #: templates/InvenTree/settings/plugin_settings.html:42 #: templates/js/translated/plugin.js:86 msgid "Version" -msgstr "" +msgstr "Versi" #: plugin/serializers.py:101 msgid "Version specifier for the plugin. Leave blank for latest version." @@ -9245,12 +9274,36 @@ msgstr "" msgid "Delete the plugin configuration from the database" msgstr "" +#: plugin/serializers.py:324 +msgid "Plugin Key" +msgstr "" + +#: plugin/serializers.py:328 +msgid "Panel Name" +msgstr "" + +#: plugin/serializers.py:332 +msgid "Panel Title" +msgstr "" + +#: plugin/serializers.py:337 +msgid "Panel Icon" +msgstr "" + +#: plugin/serializers.py:341 +msgid "Panel Content (HTML)" +msgstr "" + +#: plugin/serializers.py:345 +msgid "Panel Source (javascript)" +msgstr "" + #: report/api.py:88 msgid "No valid objects provided to template" msgstr "" -#: report/api.py:103 report/models.py:438 report/serializers.py:98 -#: report/serializers.py:148 templates/js/translated/purchase_order.js:1817 +#: report/api.py:103 report/models.py:446 report/serializers.py:99 +#: report/serializers.py:149 templates/js/translated/purchase_order.js:1817 #: templates/js/translated/return_order.js:353 #: templates/js/translated/sales_order.js:887 #: templates/js/translated/sales_order.js:1047 @@ -9281,26 +9334,30 @@ msgstr "" msgid "Error printing label" msgstr "" -#: report/api.py:375 report/api.py:411 +#: report/api.py:358 +msgid "Report saved at time of printing" +msgstr "" + +#: report/api.py:384 report/api.py:420 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" #: report/helpers.py:43 msgid "A4" -msgstr "" +msgstr "A4" #: report/helpers.py:44 msgid "A3" -msgstr "" +msgstr "A3" #: report/helpers.py:45 msgid "Legal" -msgstr "" +msgstr "Legal" #: report/helpers.py:46 msgid "Letter" -msgstr "" +msgstr "Letter" #: report/models.py:118 msgid "Template file with this name already exists" @@ -9318,135 +9375,143 @@ msgstr "" msgid "Revision number (auto-increments)" msgstr "" -#: report/models.py:202 +#: report/models.py:168 +msgid "Attach to Model on Print" +msgstr "" + +#: report/models.py:170 +msgid "Save report output as an attachment against linked model instance when printing" +msgstr "" + +#: report/models.py:210 msgid "Filename Pattern" msgstr "" -#: report/models.py:203 +#: report/models.py:211 msgid "Pattern for generating filenames" msgstr "" -#: report/models.py:208 +#: report/models.py:216 msgid "Template is enabled" msgstr "" -#: report/models.py:214 +#: report/models.py:222 msgid "Target model type for template" msgstr "" -#: report/models.py:234 +#: report/models.py:242 msgid "Filters" msgstr "" -#: report/models.py:235 +#: report/models.py:243 msgid "Template query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:294 report/models.py:361 +#: report/models.py:302 report/models.py:369 msgid "Template file" msgstr "" -#: report/models.py:302 +#: report/models.py:310 msgid "Page size for PDF reports" msgstr "" -#: report/models.py:308 +#: report/models.py:316 msgid "Render report in landscape orientation" msgstr "" -#: report/models.py:367 +#: report/models.py:375 msgid "Width [mm]" msgstr "" -#: report/models.py:368 +#: report/models.py:376 msgid "Label width, specified in mm" msgstr "" -#: report/models.py:374 +#: report/models.py:382 msgid "Height [mm]" msgstr "" -#: report/models.py:375 +#: report/models.py:383 msgid "Label height, specified in mm" msgstr "" -#: report/models.py:438 +#: report/models.py:446 msgid "Number of items to process" msgstr "" -#: report/models.py:444 +#: report/models.py:452 msgid "Report generation is complete" msgstr "" -#: report/models.py:448 templates/js/translated/build.js:2352 +#: report/models.py:456 templates/js/translated/build.js:2352 msgid "Progress" msgstr "" -#: report/models.py:448 +#: report/models.py:456 msgid "Report generation progress" msgstr "" -#: report/models.py:456 +#: report/models.py:464 msgid "Report Template" msgstr "" -#: report/models.py:463 report/models.py:486 +#: report/models.py:471 report/models.py:494 msgid "Output File" msgstr "" -#: report/models.py:464 report/models.py:487 +#: report/models.py:472 report/models.py:495 msgid "Generated output file" msgstr "" -#: report/models.py:475 +#: report/models.py:483 msgid "Label output plugin" msgstr "" -#: report/models.py:479 +#: report/models.py:487 msgid "Label Template" msgstr "" -#: report/models.py:502 +#: report/models.py:510 msgid "Snippet" msgstr "" -#: report/models.py:503 +#: report/models.py:511 msgid "Report snippet file" msgstr "" -#: report/models.py:510 +#: report/models.py:518 msgid "Snippet file description" msgstr "" -#: report/models.py:528 +#: report/models.py:536 msgid "Asset" msgstr "" -#: report/models.py:529 +#: report/models.py:537 msgid "Report asset file" msgstr "" -#: report/models.py:536 +#: report/models.py:544 msgid "Asset file description" msgstr "" -#: report/serializers.py:91 +#: report/serializers.py:92 msgid "Select report template" msgstr "" -#: report/serializers.py:99 report/serializers.py:149 +#: report/serializers.py:100 report/serializers.py:150 msgid "List of item primary keys to include in the report" msgstr "" -#: report/serializers.py:132 +#: report/serializers.py:133 msgid "Select label template" msgstr "" -#: report/serializers.py:140 +#: report/serializers.py:141 msgid "Printing Plugin" msgstr "" -#: report/serializers.py:141 +#: report/serializers.py:142 msgid "Select plugin to use for label printing" msgstr "" @@ -9517,7 +9582,7 @@ msgstr "" msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report.html:103 stock/models.py:2538 +#: report/templates/report/inventree_test_report.html:103 stock/models.py:2533 msgid "Result" msgstr "" @@ -9598,7 +9663,7 @@ msgid "Customer ID" msgstr "" #: stock/admin.py:206 stock/models.py:829 -#: stock/templates/stock/item_base.html:354 +#: stock/templates/stock/item_base.html:350 msgid "Installed In" msgstr "" @@ -9623,7 +9688,7 @@ msgid "Delete on Deplete" msgstr "" #: stock/admin.py:261 stock/models.py:923 -#: stock/templates/stock/item_base.html:433 +#: stock/templates/stock/item_base.html:429 #: templates/js/translated/stock.js:2316 users/models.py:124 msgid "Expiry Date" msgstr "" @@ -9665,7 +9730,7 @@ msgid "Expiry date after" msgstr "" #: stock/api.py:839 stock/serializers.py:611 -#: stock/templates/stock/item_base.html:439 +#: stock/templates/stock/item_base.html:435 #: templates/js/translated/table_filters.js:448 msgid "Stale" msgstr "" @@ -9715,7 +9780,7 @@ msgid "Stock Locations" msgstr "" #: stock/models.py:185 stock/models.py:972 -#: stock/templates/stock/item_base.html:247 +#: stock/templates/stock/item_base.html:243 msgid "Owner" msgstr "" @@ -9826,7 +9891,7 @@ msgstr "" msgid "Build for this stock item" msgstr "" -#: stock/models.py:892 stock/templates/stock/item_base.html:363 +#: stock/models.py:892 stock/templates/stock/item_base.html:359 msgid "Consumed By" msgstr "" @@ -9891,7 +9956,7 @@ msgstr "" msgid "Serial numbers already exist" msgstr "" -#: stock/models.py:1636 +#: stock/models.py:1636 stock/models.py:2436 msgid "Test template does not exist" msgstr "" @@ -9939,67 +10004,67 @@ msgstr "" msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2337 +#: stock/models.py:2335 msgid "Stock Item Tracking" msgstr "" -#: stock/models.py:2370 +#: stock/models.py:2368 msgid "Entry notes" msgstr "" -#: stock/models.py:2410 +#: stock/models.py:2408 msgid "Stock Item Test Result" msgstr "" -#: stock/models.py:2443 +#: stock/models.py:2439 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2448 +#: stock/models.py:2443 msgid "Attachment must be uploaded for this test" msgstr "Lampiran perlu diunggah untuk tes ini" -#: stock/models.py:2453 +#: stock/models.py:2448 msgid "Invalid value for this test" msgstr "" -#: stock/models.py:2538 +#: stock/models.py:2533 msgid "Test result" msgstr "" -#: stock/models.py:2545 +#: stock/models.py:2540 msgid "Test output value" msgstr "" -#: stock/models.py:2553 stock/serializers.py:245 +#: stock/models.py:2548 stock/serializers.py:245 msgid "Test result attachment" msgstr "" -#: stock/models.py:2557 +#: stock/models.py:2552 msgid "Test notes" msgstr "" -#: stock/models.py:2565 templates/js/translated/stock.js:1633 +#: stock/models.py:2560 templates/js/translated/stock.js:1633 msgid "Test station" msgstr "" -#: stock/models.py:2566 +#: stock/models.py:2561 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2572 +#: stock/models.py:2567 msgid "Started" msgstr "" -#: stock/models.py:2573 +#: stock/models.py:2568 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2579 +#: stock/models.py:2574 msgid "Finished" msgstr "" -#: stock/models.py:2580 +#: stock/models.py:2575 msgid "The timestamp of the test finish" msgstr "" @@ -10059,7 +10124,7 @@ msgstr "" msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:459 stock/templates/stock/item_base.html:193 +#: stock/serializers.py:459 stock/templates/stock/item_base.html:189 msgid "Parent Item" msgstr "" @@ -10071,7 +10136,7 @@ msgstr "" msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:603 stock/templates/stock/item_base.html:437 +#: stock/serializers.py:603 stock/templates/stock/item_base.html:433 #: templates/js/translated/table_filters.js:442 users/models.py:174 msgid "Expired" msgstr "" @@ -10410,7 +10475,7 @@ msgstr "" msgid "Test Data" msgstr "" -#: stock/templates/stock/item.html:85 stock/templates/stock/item_base.html:65 +#: stock/templates/stock/item.html:85 msgid "Test Report" msgstr "" @@ -10450,200 +10515,204 @@ msgstr "" msgid "Scan to Location" msgstr "" -#: stock/templates/stock/item_base.html:59 +#: stock/templates/stock/item_base.html:58 #: stock/templates/stock/location.html:67 #: templates/js/translated/filters.js:434 msgid "Printing actions" msgstr "" -#: stock/templates/stock/item_base.html:75 +#: stock/templates/stock/item_base.html:63 templates/js/translated/report.js:49 +msgid "Print Report" +msgstr "" + +#: stock/templates/stock/item_base.html:71 msgid "Stock adjustment actions" msgstr "" -#: stock/templates/stock/item_base.html:79 +#: stock/templates/stock/item_base.html:75 #: stock/templates/stock/location.html:87 templates/js/translated/stock.js:1909 msgid "Count stock" msgstr "" -#: stock/templates/stock/item_base.html:81 +#: stock/templates/stock/item_base.html:77 #: templates/js/translated/stock.js:1891 msgid "Add stock" msgstr "" -#: stock/templates/stock/item_base.html:82 +#: stock/templates/stock/item_base.html:78 #: templates/js/translated/stock.js:1900 msgid "Remove stock" msgstr "" -#: stock/templates/stock/item_base.html:85 +#: stock/templates/stock/item_base.html:81 msgid "Serialize stock" msgstr "" -#: stock/templates/stock/item_base.html:88 +#: stock/templates/stock/item_base.html:84 #: stock/templates/stock/location.html:93 templates/js/translated/stock.js:1918 msgid "Transfer stock" msgstr "" -#: stock/templates/stock/item_base.html:91 +#: stock/templates/stock/item_base.html:87 #: templates/js/translated/stock.js:1973 msgid "Assign to customer" msgstr "" -#: stock/templates/stock/item_base.html:94 +#: stock/templates/stock/item_base.html:90 msgid "Return to stock" msgstr "" -#: stock/templates/stock/item_base.html:97 +#: stock/templates/stock/item_base.html:93 msgid "Uninstall stock item" msgstr "" -#: stock/templates/stock/item_base.html:97 +#: stock/templates/stock/item_base.html:93 msgid "Uninstall" msgstr "" -#: stock/templates/stock/item_base.html:101 +#: stock/templates/stock/item_base.html:97 msgid "Install stock item" msgstr "" -#: stock/templates/stock/item_base.html:101 +#: stock/templates/stock/item_base.html:97 msgid "Install" msgstr "" -#: stock/templates/stock/item_base.html:115 +#: stock/templates/stock/item_base.html:111 msgid "Convert to variant" msgstr "" -#: stock/templates/stock/item_base.html:118 +#: stock/templates/stock/item_base.html:114 msgid "Duplicate stock item" msgstr "" -#: stock/templates/stock/item_base.html:120 +#: stock/templates/stock/item_base.html:116 msgid "Edit stock item" msgstr "" -#: stock/templates/stock/item_base.html:123 +#: stock/templates/stock/item_base.html:119 msgid "Delete stock item" msgstr "" -#: stock/templates/stock/item_base.html:169 templates/InvenTree/search.html:139 +#: stock/templates/stock/item_base.html:165 templates/InvenTree/search.html:139 #: templates/js/translated/build.js:2298 templates/navbar.html:38 msgid "Build" msgstr "Produksi" -#: stock/templates/stock/item_base.html:211 +#: stock/templates/stock/item_base.html:207 msgid "No manufacturer set" msgstr "" -#: stock/templates/stock/item_base.html:251 +#: stock/templates/stock/item_base.html:247 msgid "You are not in the list of owners of this item. This stock item cannot be edited." msgstr "" -#: stock/templates/stock/item_base.html:252 +#: stock/templates/stock/item_base.html:248 #: stock/templates/stock/location.html:146 msgid "Read only" msgstr "" -#: stock/templates/stock/item_base.html:265 +#: stock/templates/stock/item_base.html:261 msgid "This stock item is unavailable" msgstr "" -#: stock/templates/stock/item_base.html:271 +#: stock/templates/stock/item_base.html:267 msgid "This stock item is in production and cannot be edited." msgstr "" -#: stock/templates/stock/item_base.html:272 +#: stock/templates/stock/item_base.html:268 msgid "Edit the stock item from the build view." msgstr "" -#: stock/templates/stock/item_base.html:287 +#: stock/templates/stock/item_base.html:283 msgid "This stock item is allocated to Sales Order" msgstr "" -#: stock/templates/stock/item_base.html:295 +#: stock/templates/stock/item_base.html:291 msgid "This stock item is allocated to Build Order" msgstr "" -#: stock/templates/stock/item_base.html:311 +#: stock/templates/stock/item_base.html:307 msgid "This stock item is serialized. It has a unique serial number and the quantity cannot be adjusted" msgstr "" -#: stock/templates/stock/item_base.html:317 +#: stock/templates/stock/item_base.html:313 msgid "previous page" msgstr "" -#: stock/templates/stock/item_base.html:317 +#: stock/templates/stock/item_base.html:313 msgid "Navigate to previous serial number" msgstr "" -#: stock/templates/stock/item_base.html:326 +#: stock/templates/stock/item_base.html:322 msgid "next page" msgstr "" -#: stock/templates/stock/item_base.html:326 +#: stock/templates/stock/item_base.html:322 msgid "Navigate to next serial number" msgstr "" -#: stock/templates/stock/item_base.html:398 +#: stock/templates/stock/item_base.html:394 #: templates/js/translated/build.js:2555 msgid "No location set" msgstr "" -#: stock/templates/stock/item_base.html:413 +#: stock/templates/stock/item_base.html:409 msgid "Tests" msgstr "" -#: stock/templates/stock/item_base.html:419 +#: stock/templates/stock/item_base.html:415 msgid "This stock item has not passed all required tests" msgstr "" -#: stock/templates/stock/item_base.html:437 +#: stock/templates/stock/item_base.html:433 #, python-format msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:439 +#: stock/templates/stock/item_base.html:435 #, python-format msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:455 +#: stock/templates/stock/item_base.html:451 msgid "No stocktake performed" msgstr "" -#: stock/templates/stock/item_base.html:504 +#: stock/templates/stock/item_base.html:500 #: templates/js/translated/stock.js:2038 msgid "stock item" msgstr "" -#: stock/templates/stock/item_base.html:527 +#: stock/templates/stock/item_base.html:523 msgid "Edit Stock Status" msgstr "" -#: stock/templates/stock/item_base.html:536 +#: stock/templates/stock/item_base.html:532 msgid "Stock Item QR Code" msgstr "" -#: stock/templates/stock/item_base.html:547 +#: stock/templates/stock/item_base.html:543 msgid "Link Barcode to Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:611 +#: stock/templates/stock/item_base.html:607 msgid "Select one of the part variants listed below." msgstr "" -#: stock/templates/stock/item_base.html:614 +#: stock/templates/stock/item_base.html:610 msgid "Warning" msgstr "" -#: stock/templates/stock/item_base.html:615 +#: stock/templates/stock/item_base.html:611 msgid "This action cannot be easily undone" msgstr "" -#: stock/templates/stock/item_base.html:623 +#: stock/templates/stock/item_base.html:619 msgid "Convert Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:656 +#: stock/templates/stock/item_base.html:652 msgid "Return to Stock" msgstr "" @@ -11310,7 +11379,7 @@ msgid "Delete Location Type" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:503 -#: templates/InvenTree/settings/stock.html:38 +#: templates/InvenTree/settings/stock.html:39 msgid "New Location Type" msgstr "" @@ -11367,7 +11436,7 @@ msgstr "" msgid "Stock Settings" msgstr "" -#: templates/InvenTree/settings/stock.html:34 +#: templates/InvenTree/settings/stock.html:35 msgid "Stock Location Types" msgstr "" @@ -11852,23 +11921,23 @@ msgstr "" msgid "Barcode Identifier" msgstr "" -#: templates/base.html:103 +#: templates/base.html:102 msgid "Server Restart Required" msgstr "" -#: templates/base.html:106 +#: templates/base.html:105 msgid "A configuration option has been changed which requires a server restart" msgstr "" -#: templates/base.html:106 templates/base.html:116 +#: templates/base.html:105 templates/base.html:115 msgid "Contact your system administrator for further information" msgstr "" -#: templates/base.html:113 +#: templates/base.html:112 msgid "Pending Database Migrations" msgstr "" -#: templates/base.html:116 +#: templates/base.html:115 msgid "There are pending database migrations which require attention" msgstr "" @@ -13946,10 +14015,6 @@ msgstr "" msgid "Delete line item" msgstr "" -#: templates/js/translated/report.js:49 -msgid "Print Report" -msgstr "" - #: templates/js/translated/report.js:68 msgid "Report print successful" msgstr "" @@ -14609,11 +14674,11 @@ msgstr "" #: templates/js/translated/stock.js:2931 msgid "Details" -msgstr "" +msgstr "Rincian" #: templates/js/translated/stock.js:2935 msgid "No changes" -msgstr "" +msgstr "Tidak ada perubahan" #: templates/js/translated/stock.js:2947 msgid "Part information unavailable" @@ -14649,11 +14714,11 @@ msgstr "" #: templates/js/translated/stock.js:3090 msgid "Added" -msgstr "" +msgstr "Ditambahkan" #: templates/js/translated/stock.js:3098 msgid "Removed" -msgstr "" +msgstr "Terhapus" #: templates/js/translated/stock.js:3170 msgid "No installed items" @@ -14709,11 +14774,11 @@ msgstr "" #: templates/js/translated/stock.js:3478 msgid "This week" -msgstr "" +msgstr "Minggu ini" #: templates/js/translated/stock.js:3486 msgid "This month" -msgstr "" +msgstr "Bulan ini" #: templates/js/translated/table_filters.js:73 msgid "Has project code" @@ -14800,7 +14865,7 @@ msgstr "" #: templates/js/translated/table_filters.js:390 #: templates/js/translated/table_filters.js:391 msgid "Serial number" -msgstr "" +msgstr "Kode Seri" #: templates/js/translated/table_filters.js:321 #: templates/js/translated/table_filters.js:412 @@ -15044,27 +15109,27 @@ msgstr "" #: templates/navbar.html:45 msgid "Buy" -msgstr "" +msgstr "Beli" #: templates/navbar.html:57 msgid "Sell" -msgstr "" +msgstr "Jual" #: templates/navbar.html:121 msgid "Show Notifications" -msgstr "" +msgstr "Tampilkan Notifikasi" #: templates/navbar.html:124 msgid "New Notifications" -msgstr "" +msgstr "Notifikasi baru" #: templates/navbar.html:144 users/models.py:201 msgid "Admin" -msgstr "" +msgstr "Admin" #: templates/navbar.html:148 msgid "Logout" -msgstr "" +msgstr "Keluar" #: templates/notes_buttons.html:6 templates/notes_buttons.html:7 msgid "Save" @@ -15088,7 +15153,7 @@ msgstr "" #: templates/pui_banner.html:15 msgid "here" -msgstr "" +msgstr "disini" #: templates/qr_code.html:11 msgid "QR data not provided" @@ -15108,7 +15173,7 @@ msgstr "" #: templates/search.html:12 msgid "Clear search" -msgstr "" +msgstr "Hapus Pencarian" #: templates/search.html:15 msgid "Close search menu" @@ -15133,7 +15198,7 @@ msgstr "" #: templates/socialaccount/login.html:13 #, python-format msgid "Connect %(provider)s" -msgstr "" +msgstr "Tersambung %(provider)s" #: templates/socialaccount/login.html:15 #, python-format @@ -15152,7 +15217,7 @@ msgstr "" #: templates/socialaccount/login.html:24 msgid "Continue" -msgstr "" +msgstr "Selanjutnya" #: templates/socialaccount/login.html:29 msgid "Invalid SSO Provider" @@ -15185,7 +15250,7 @@ msgstr "" #: templates/stats.html:18 msgid "Database" -msgstr "" +msgstr "Basis data" #: templates/stats.html:26 msgid "Server is running in debug mode" @@ -15245,19 +15310,19 @@ msgstr "" #: templates/test_statistics_table.html:16 msgid "Failed" -msgstr "" +msgstr "Gagal" #: templates/yesnolabel.html:4 msgid "Yes" -msgstr "" +msgstr "Ya" #: templates/yesnolabel.html:6 msgid "No" -msgstr "" +msgstr "Tidak" #: users/admin.py:101 msgid "Users" -msgstr "" +msgstr "Pengguna" #: users/admin.py:102 msgid "Select which users are assigned to this group" @@ -15285,7 +15350,7 @@ msgstr "" #: users/authentication.py:32 msgid "Token has expired" -msgstr "" +msgstr "Token telah kadaluarsa" #: users/models.py:81 msgid "API Token" @@ -15297,7 +15362,7 @@ msgstr "" #: users/models.py:118 msgid "Token Name" -msgstr "" +msgstr "Nama Token" #: users/models.py:119 msgid "Custom token name" @@ -15309,7 +15374,7 @@ msgstr "" #: users/models.py:133 msgid "Last Seen" -msgstr "" +msgstr "Terakhir diliat" #: users/models.py:134 msgid "Last time the token was used" @@ -15341,7 +15406,7 @@ msgstr "" #: users/models.py:401 msgid "Change" -msgstr "" +msgstr "Ganti" #: users/models.py:403 msgid "Permissions to edit items" diff --git a/src/backend/InvenTree/locale/it/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/it/LC_MESSAGES/django.po index d6182a7c8900..9b5f4f0963a7 100644 --- a/src/backend/InvenTree/locale/it/LC_MESSAGES/django.po +++ b/src/backend/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: 2024-08-29 07:07+0000\n" -"PO-Revision-Date: 2024-08-29 07:10\n" +"POT-Creation-Date: 2024-09-16 00:37+0000\n" +"PO-Revision-Date: 2024-09-16 00:40\n" "Last-Translator: \n" "Language-Team: Italian\n" "Language: it_IT\n" @@ -65,9 +65,9 @@ msgstr "Inserisci la data" #: 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:59 -#: part/models.py:3309 part/templates/part/part_sidebar.html:65 +#: part/models.py:3296 part/templates/part/part_sidebar.html:65 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/admin.py:231 stock/models.py:2369 stock/models.py:2557 +#: stock/admin.py:231 stock/models.py:2367 stock/models.py:2552 #: stock/serializers.py:705 stock/serializers.py:863 stock/serializers.py:989 #: stock/serializers.py:1039 stock/serializers.py:1350 #: stock/serializers.py:1439 stock/serializers.py:1604 @@ -126,7 +126,7 @@ msgstr "È necessario digitare la stessa e-mail ogni volta." #: InvenTree/forms.py:221 msgid "MFA Registration is disabled." -msgstr "" +msgstr "La registrazione MFA è disabilitata." #: InvenTree/forms.py:259 InvenTree/forms.py:267 msgid "The provided primary email address is not valid." @@ -364,7 +364,7 @@ msgstr "Cinese (Tradizionale)" msgid "[{site_name}] Log in to the app" msgstr "[{site_name}] Accedi all'app" -#: InvenTree/magic_login.py:38 InvenTree/serializers.py:413 +#: InvenTree/magic_login.py:38 InvenTree/serializers.py:416 #: company/models.py:133 company/templates/company/company_base.html:138 #: templates/InvenTree/settings/user.html:49 #: templates/js/translated/company.js:677 @@ -419,9 +419,9 @@ msgstr "Nomi duplicati non possono esistere sotto lo stesso genitore" msgid "Invalid choice" msgstr "Scelta non valida" -#: InvenTree/models.py:767 common/models.py:2704 common/models.py:3131 -#: common/models.py:3351 common/serializers.py:439 company/models.py:590 -#: machine/models.py:24 part/models.py:995 part/models.py:3776 +#: InvenTree/models.py:767 common/models.py:2705 common/models.py:3132 +#: common/models.py:3352 common/serializers.py:455 company/models.py:590 +#: machine/models.py:24 part/models.py:995 part/models.py:3763 #: plugin/models.py:51 report/models.py:149 stock/models.py:82 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -446,10 +446,10 @@ msgstr "Nome" #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 order/models.py:289 #: order/models.py:1406 part/admin.py:305 part/admin.py:411 part/models.py:1018 -#: part/models.py:3791 part/templates/part/category.html:79 +#: part/models.py:3778 part/templates/part/category.html:79 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:155 -#: report/models.py:509 report/models.py:535 +#: report/models.py:517 report/models.py:543 #: report/templates/report/inventree_build_order_report.html:117 #: stock/admin.py:54 stock/models.py:88 stock/templates/stock/location.html:122 #: templates/InvenTree/settings/notifications.html:19 @@ -517,12 +517,12 @@ msgstr "Errore del server" msgid "An error has been logged by the server." msgstr "Un errore è stato loggato dal server." -#: InvenTree/serializers.py:63 part/models.py:4400 +#: InvenTree/serializers.py:63 part/models.py:4387 msgid "Must be a valid number" msgstr "Deve essere un numero valido" #: InvenTree/serializers.py:100 company/models.py:183 -#: company/templates/company/company_base.html:112 part/models.py:3127 +#: company/templates/company/company_base.html:112 part/models.py:3114 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -536,43 +536,43 @@ msgstr "Selezionare la valuta dalle opzioni disponibili" msgid "Username" msgstr "Nome utente" -#: InvenTree/serializers.py:407 templates/InvenTree/settings/user.html:37 +#: InvenTree/serializers.py:408 templates/InvenTree/settings/user.html:37 msgid "First Name" msgstr "Nome" -#: InvenTree/serializers.py:407 +#: InvenTree/serializers.py:408 msgid "First name of the user" msgstr "Nome dell'utente" -#: InvenTree/serializers.py:410 templates/InvenTree/settings/user.html:41 +#: InvenTree/serializers.py:412 templates/InvenTree/settings/user.html:41 msgid "Last Name" msgstr "Cognome" -#: InvenTree/serializers.py:410 +#: InvenTree/serializers.py:412 msgid "Last name of the user" msgstr "Cognome dell'utente" -#: InvenTree/serializers.py:413 +#: InvenTree/serializers.py:416 msgid "Email address of the user" msgstr "Indirizzo email dell'utente" -#: InvenTree/serializers.py:438 +#: InvenTree/serializers.py:441 msgid "Staff" msgstr "Staff" -#: InvenTree/serializers.py:438 +#: InvenTree/serializers.py:441 msgid "Does this user have staff permissions" msgstr "Questo utente ha i permessi dello staff" -#: InvenTree/serializers.py:441 +#: InvenTree/serializers.py:445 msgid "Superuser" msgstr "Superuser" -#: InvenTree/serializers.py:441 +#: InvenTree/serializers.py:445 msgid "Is this user a superuser" msgstr "Questo utente è un superutente" -#: InvenTree/serializers.py:444 common/models.py:2709 company/models.py:160 +#: InvenTree/serializers.py:449 common/models.py:2710 company/models.py:160 #: company/models.py:798 machine/models.py:39 part/admin.py:88 #: part/models.py:1201 plugin/models.py:66 #: templates/js/translated/company.js:523 @@ -585,89 +585,89 @@ msgstr "Questo utente è un superutente" msgid "Active" msgstr "Attivo" -#: InvenTree/serializers.py:444 +#: InvenTree/serializers.py:449 msgid "Is this user account active" msgstr "Questo account utente è attivo" -#: InvenTree/serializers.py:462 +#: InvenTree/serializers.py:467 msgid "You do not have permission to change this user role." msgstr "Non hai i permessi per cambiare il ruolo dell'utente." -#: InvenTree/serializers.py:474 +#: InvenTree/serializers.py:503 msgid "Only superusers can create new users" msgstr "Solo i superutenti possono creare nuovi utenti" -#: InvenTree/serializers.py:493 +#: InvenTree/serializers.py:522 msgid "Your account has been created." msgstr "Il tuo account è stato creato." -#: InvenTree/serializers.py:495 +#: InvenTree/serializers.py:524 msgid "Please use the password reset function to login" msgstr "Si prega di utilizzare la funzione di reset password per accedere" -#: InvenTree/serializers.py:502 +#: InvenTree/serializers.py:531 msgid "Welcome to InvenTree" msgstr "Benvenuto in InvenTree" -#: InvenTree/serializers.py:560 +#: InvenTree/serializers.py:589 msgid "Invalid value" msgstr "Valore non valido" -#: InvenTree/serializers.py:580 importer/models.py:64 +#: InvenTree/serializers.py:609 importer/models.py:64 msgid "Data File" msgstr "File dati" -#: InvenTree/serializers.py:581 +#: InvenTree/serializers.py:610 msgid "Select data file for upload" msgstr "Seleziona un file per il caricamento" -#: InvenTree/serializers.py:598 +#: InvenTree/serializers.py:627 msgid "Unsupported file type" msgstr "Formato file non supportato" -#: InvenTree/serializers.py:604 +#: InvenTree/serializers.py:633 msgid "File is too large" msgstr "File troppo grande" -#: InvenTree/serializers.py:625 +#: InvenTree/serializers.py:654 msgid "No columns found in file" msgstr "Nessun colonna trovata nel file" -#: InvenTree/serializers.py:628 +#: InvenTree/serializers.py:657 msgid "No data rows found in file" msgstr "Nessuna riga di dati trovata nel file" -#: InvenTree/serializers.py:740 +#: InvenTree/serializers.py:769 msgid "No data rows provided" msgstr "Nessun dato fornito" -#: InvenTree/serializers.py:743 +#: InvenTree/serializers.py:772 msgid "No data columns supplied" msgstr "Nessuna colonna di dati fornita" -#: InvenTree/serializers.py:809 +#: InvenTree/serializers.py:838 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "Colonna richiesta mancante: '{name}'" -#: InvenTree/serializers.py:818 +#: InvenTree/serializers.py:847 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "Colonna duplicata: '{col}'" -#: InvenTree/serializers.py:857 +#: InvenTree/serializers.py:886 msgid "Remote Image" msgstr "Immagine Remota" -#: InvenTree/serializers.py:858 +#: InvenTree/serializers.py:887 msgid "URL of remote image file" msgstr "URL del file immagine remota" -#: InvenTree/serializers.py:876 +#: InvenTree/serializers.py:905 msgid "Downloading images from remote URL is not enabled" msgstr "Il download delle immagini da URL remoto non è abilitato" -#: InvenTree/status.py:65 part/serializers.py:1267 +#: InvenTree/status.py:65 part/serializers.py:1265 msgid "Background worker check failed" msgstr "Controllo in background non riuscito" @@ -759,7 +759,7 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "La produzione deve essere annullata prima di poter essere eliminata" -#: build/api.py:319 build/serializers.py:1332 part/models.py:4278 +#: build/api.py:319 build/serializers.py:1332 part/models.py:4265 #: templates/js/translated/bom.js:997 templates/js/translated/bom.js:1037 #: templates/js/translated/build.js:2705 #: templates/js/translated/table_filters.js:197 @@ -767,7 +767,7 @@ msgstr "La produzione deve essere annullata prima di poter essere eliminata" msgid "Consumable" msgstr "Consumabile" -#: build/api.py:320 build/serializers.py:1333 part/models.py:4272 +#: build/api.py:320 build/serializers.py:1333 part/models.py:4259 #: part/templates/part/upload_bom.html:58 templates/js/translated/bom.js:1001 #: templates/js/translated/bom.js:1028 templates/js/translated/build.js:2696 #: templates/js/translated/table_filters.js:193 @@ -777,7 +777,7 @@ msgid "Optional" msgstr "Opzionale" #: build/api.py:321 common/models.py:1491 part/admin.py:91 part/admin.py:428 -#: part/models.py:1166 part/serializers.py:1596 +#: part/models.py:1166 part/serializers.py:1594 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:337 #: templates/js/translated/table_filters.js:729 @@ -816,7 +816,7 @@ msgstr "Allocato" msgid "Available" msgstr "Disponibile" -#: build/models.py:87 build/templates/build/build_base.html:9 +#: build/models.py:88 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_report.html:105 #: stock/serializers.py:85 templates/email/build_order_completed.html:16 @@ -825,7 +825,7 @@ msgstr "Disponibile" msgid "Build Order" msgstr "Ordine di Produzione" -#: build/models.py:88 build/templates/build/build_base.html:13 +#: build/models.py:89 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:111 #: order/templates/order/so_sidebar.html:13 @@ -866,7 +866,7 @@ msgstr "Riferimento Ordine Di Produzione" #: build/models.py:243 build/serializers.py:1331 order/models.py:468 #: order/models.py:979 order/models.py:1366 order/models.py:2128 -#: part/admin.py:414 part/models.py:4293 part/templates/part/upload_bom.html:54 +#: part/admin.py:414 part/models.py:4280 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 @@ -892,11 +892,11 @@ msgstr "Ordine di produzione a cui questa produzione viene assegnata" #: build/templates/build/build_base.html:105 #: build/templates/build/detail.html:29 company/models.py:1043 order/api.py:761 #: order/models.py:1496 order/models.py:1651 order/models.py:1652 -#: part/api.py:1506 part/api.py:1806 part/models.py:419 part/models.py:3138 -#: part/models.py:3282 part/models.py:3430 part/models.py:3451 -#: part/models.py:3473 part/models.py:3609 part/models.py:3951 -#: part/models.py:4114 part/models.py:4244 part/models.py:4602 -#: part/serializers.py:1213 part/serializers.py:1857 +#: part/api.py:1506 part/api.py:1806 part/models.py:419 part/models.py:3125 +#: part/models.py:3269 part/models.py:3417 part/models.py:3438 +#: part/models.py:3460 part/models.py:3596 part/models.py:3938 +#: part/models.py:4101 part/models.py:4231 part/models.py:4595 +#: part/serializers.py:1211 part/serializers.py:1855 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -1063,12 +1063,12 @@ msgstr "Utente o gruppo responsabile di questo ordine di produzione" #: order/templates/order/return_order_base.html:148 #: order/templates/order/sales_order_base.html:187 #: part/templates/part/part_base.html:399 stock/models.py:859 -#: stock/templates/stock/item_base.html:200 +#: stock/templates/stock/item_base.html:196 #: templates/js/translated/company.js:1019 msgid "External Link" msgstr "Collegamento esterno" -#: build/models.py:378 common/models.py:3272 part/models.py:1070 +#: build/models.py:378 common/models.py:3273 part/models.py:1070 #: stock/models.py:859 msgid "Link to external URL" msgstr "Link a URL esterno" @@ -1110,7 +1110,7 @@ msgstr "L'ordine di produzione {build} è stato completato" msgid "A build order has been completed" msgstr "L'ordine di produzione è stato completato" -#: build/models.py:968 build/models.py:1056 +#: build/models.py:968 build/models.py:1057 msgid "No build output specified" msgstr "Nessun output di produzione specificato" @@ -1122,37 +1122,37 @@ msgstr "La produzione è stata completata" msgid "Build output does not match Build Order" msgstr "L'output della produzione non corrisponde all'ordine di compilazione" -#: build/models.py:1060 build/serializers.py:279 build/serializers.py:328 +#: build/models.py:1061 build/serializers.py:279 build/serializers.py:328 #: build/serializers.py:959 order/models.py:565 order/serializers.py:500 -#: order/serializers.py:666 part/serializers.py:1590 part/serializers.py:2019 +#: order/serializers.py:666 part/serializers.py:1588 part/serializers.py:2017 #: stock/models.py:704 stock/models.py:1515 stock/serializers.py:676 msgid "Quantity must be greater than zero" msgstr "La quantità deve essere maggiore di zero" -#: build/models.py:1065 build/serializers.py:284 +#: build/models.py:1066 build/serializers.py:284 msgid "Quantity cannot be greater than the output quantity" msgstr "La quantità non può essere maggiore della quantità in uscita" -#: build/models.py:1125 build/serializers.py:607 +#: build/models.py:1126 build/serializers.py:607 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "" -#: build/models.py:1466 +#: build/models.py:1477 msgid "Build Order Line Item" msgstr "" -#: build/models.py:1491 +#: build/models.py:1502 msgid "Build object" msgstr "Crea oggetto" -#: build/models.py:1505 build/models.py:1761 build/serializers.py:266 +#: build/models.py:1516 build/models.py:1775 build/serializers.py:266 #: build/serializers.py:313 build/serializers.py:1339 #: build/templates/build/build_base.html:110 -#: build/templates/build/detail.html:34 common/models.py:2581 +#: build/templates/build/detail.html:34 common/models.py:2582 #: order/models.py:1349 order/models.py:2034 order/serializers.py:1464 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:413 -#: part/forms.py:48 part/models.py:3296 part/models.py:4266 +#: part/forms.py:48 part/models.py:3283 part/models.py:4253 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1163,9 +1163,9 @@ msgstr "Crea oggetto" #: report/templates/report/inventree_test_report.html:90 #: report/templates/report/inventree_test_report.html:169 stock/admin.py:160 #: stock/serializers.py:128 stock/serializers.py:168 stock/serializers.py:667 -#: stock/templates/stock/item_base.html:287 -#: stock/templates/stock/item_base.html:295 -#: stock/templates/stock/item_base.html:342 +#: stock/templates/stock/item_base.html:283 +#: stock/templates/stock/item_base.html:291 +#: stock/templates/stock/item_base.html:338 #: templates/email/build_order_completed.html:18 #: templates/js/translated/barcode.js:579 templates/js/translated/bom.js:771 #: templates/js/translated/bom.js:981 templates/js/translated/build.js:525 @@ -1194,41 +1194,41 @@ msgstr "Crea oggetto" msgid "Quantity" msgstr "Quantità" -#: build/models.py:1506 +#: build/models.py:1517 msgid "Required quantity for build order" msgstr "Quantità richiesta per l'ordine di costruzione" -#: build/models.py:1586 +#: build/models.py:1597 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:1595 +#: build/models.py:1606 #, 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:1605 order/models.py:1985 +#: build/models.py:1616 order/models.py:1985 msgid "Stock item is over-allocated" msgstr "L'articolo in giacenza è sovrallocato" -#: build/models.py:1611 order/models.py:1988 +#: build/models.py:1622 order/models.py:1988 msgid "Allocation quantity must be greater than zero" msgstr "La quantità di assegnazione deve essere maggiore di zero" -#: build/models.py:1617 +#: build/models.py:1628 msgid "Quantity must be 1 for serialized stock" msgstr "La quantità deve essere 1 per lo stock serializzato" -#: build/models.py:1676 +#: build/models.py:1687 msgid "Selected stock item does not match BOM line" msgstr "L'articolo in stock selezionato non corrisponde alla voce nella BOM" -#: build/models.py:1748 build/serializers.py:939 order/serializers.py:1301 +#: build/models.py:1762 build/serializers.py:939 order/serializers.py:1301 #: order/serializers.py:1322 stock/models.py:381 stock/serializers.py:94 #: stock/serializers.py:770 stock/serializers.py:1288 stock/serializers.py:1400 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 -#: stock/templates/stock/item_base.html:194 +#: stock/templates/stock/item_base.html:190 #: templates/js/translated/build.js:1921 #: templates/js/translated/sales_order.js:301 #: templates/js/translated/sales_order.js:1234 @@ -1241,19 +1241,19 @@ msgstr "L'articolo in stock selezionato non corrisponde alla voce nella BOM" msgid "Stock Item" msgstr "Articoli in magazzino" -#: build/models.py:1749 +#: build/models.py:1763 msgid "Source stock item" msgstr "Origine giacenza articolo" -#: build/models.py:1762 +#: build/models.py:1776 msgid "Stock quantity to allocate to build" msgstr "Quantità di magazzino da assegnare per la produzione" -#: build/models.py:1770 +#: build/models.py:1784 msgid "Install into" msgstr "Installa in" -#: build/models.py:1771 +#: build/models.py:1785 msgid "Destination stock item" msgstr "Destinazione articolo in giacenza" @@ -1262,7 +1262,7 @@ msgid "Build Level" msgstr "" #: build/serializers.py:115 build/serializers.py:1234 build/serializers.py:1323 -#: part/admin.py:41 part/admin.py:408 part/models.py:4116 part/stocktake.py:219 +#: part/admin.py:41 part/admin.py:408 part/models.py:4103 part/stocktake.py:219 #: stock/admin.py:157 msgid "Part Name" msgstr "Nome Articolo" @@ -1323,10 +1323,10 @@ msgid "Enter serial numbers for build outputs" msgstr "Inserisci i numeri di serie per gli output di compilazione (build option)" #: build/serializers.py:359 build/serializers.py:500 build/serializers.py:572 -#: order/serializers.py:655 order/serializers.py:778 order/serializers.py:1789 -#: part/serializers.py:1233 stock/serializers.py:103 stock/serializers.py:698 +#: order/serializers.py:655 order/serializers.py:778 order/serializers.py:1797 +#: part/serializers.py:1231 stock/serializers.py:103 stock/serializers.py:698 #: stock/serializers.py:858 stock/serializers.py:984 stock/serializers.py:1432 -#: stock/serializers.py:1688 stock/templates/stock/item_base.html:394 +#: stock/serializers.py:1688 stock/templates/stock/item_base.html:390 #: templates/js/translated/barcode.js:578 #: templates/js/translated/barcode.js:826 templates/js/translated/build.js:1035 #: templates/js/translated/build.js:1177 templates/js/translated/build.js:2547 @@ -1390,7 +1390,7 @@ msgstr "Posizione per gli output di build completati" #: build/templates/build/detail.html:62 order/models.py:477 #: order/models.py:1003 order/models.py:2152 order/serializers.py:687 #: stock/admin.py:165 stock/serializers.py:1035 stock/serializers.py:1576 -#: stock/templates/stock/item_base.html:427 +#: stock/templates/stock/item_base.html:423 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2366 #: templates/js/translated/purchase_order.js:1371 #: templates/js/translated/purchase_order.js:1792 @@ -1522,7 +1522,7 @@ msgstr "L'output di produzione deve essere specificato per l'ubicazione delle pa 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:1030 order/serializers.py:1614 +#: build/serializers.py:1030 order/serializers.py:1622 msgid "Allocation items must be provided" msgstr "Deve essere indicata l'allocazione dell'articolo" @@ -1590,7 +1590,7 @@ msgstr "" #: build/serializers.py:1230 company/models.py:849 #: company/templates/company/supplier_part.html:160 order/serializers.py:691 #: stock/admin.py:229 stock/models.py:822 stock/serializers.py:1586 -#: stock/templates/stock/item_base.html:240 +#: stock/templates/stock/item_base.html:236 #: templates/js/translated/company.js:1646 #: templates/js/translated/purchase_order.js:1169 #: templates/js/translated/purchase_order.js:1332 @@ -1600,12 +1600,12 @@ msgid "Packaging" msgstr "Confezionamento" #: build/serializers.py:1233 part/admin.py:39 part/admin.py:398 -#: part/models.py:4115 part/stocktake.py:218 stock/admin.py:153 +#: part/models.py:4102 part/stocktake.py:218 stock/admin.py:153 msgid "Part ID" msgstr "Codice Articolo" #: build/serializers.py:1235 build/serializers.py:1324 part/admin.py:402 -#: part/models.py:4117 +#: part/models.py:4104 msgid "Part IPN" msgstr "IPN Articolo" @@ -1625,7 +1625,7 @@ msgstr "" #: build/serializers.py:1243 #: report/templates/report/inventree_return_order_report.html:25 #: report/templates/report/inventree_test_report.html:88 stock/models.py:849 -#: stock/serializers.py:152 stock/templates/stock/item_base.html:311 +#: stock/serializers.py:152 stock/templates/stock/item_base.html:307 #: templates/js/translated/build.js:523 templates/js/translated/build.js:1543 #: templates/js/translated/build.js:2530 #: templates/js/translated/model_renderers.js:231 @@ -1644,7 +1644,7 @@ msgstr "Numero Seriale" msgid "Allocated Quantity" msgstr "" -#: build/serializers.py:1257 stock/templates/stock/item_base.html:340 +#: build/serializers.py:1257 stock/templates/stock/item_base.html:336 msgid "Available Quantity" msgstr "Quantità Disponibile" @@ -1667,13 +1667,13 @@ msgstr "Tracciabile" msgid "Inherited" msgstr "" -#: build/serializers.py:1337 part/models.py:4326 +#: build/serializers.py:1337 part/models.py:4313 #: part/templates/part/upload_bom.html:56 templates/js/translated/bom.js:1046 #: templates/js/translated/build.js:2714 msgid "Allow Variants" msgstr "Consenti Le Varianti" -#: build/serializers.py:1341 part/models.py:4124 part/models.py:4594 +#: build/serializers.py:1341 part/models.py:4111 part/models.py:4587 #: stock/api.py:793 msgid "BOM Item" msgstr "Distinta base (Bom)" @@ -1684,7 +1684,7 @@ msgid "Allocated Stock" msgstr "" #: build/serializers.py:1355 order/serializers.py:1179 part/admin.py:132 -#: part/bom.py:186 part/serializers.py:920 part/serializers.py:1623 +#: part/bom.py:186 part/serializers.py:918 part/serializers.py:1621 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 #: templates/js/translated/build.js:2807 templates/js/translated/part.js:712 #: templates/js/translated/part.js:2155 @@ -1692,13 +1692,13 @@ msgstr "" msgid "On Order" msgstr "Ordinato" -#: build/serializers.py:1360 order/serializers.py:1180 part/serializers.py:1625 +#: build/serializers.py:1360 order/serializers.py:1180 part/serializers.py:1623 #: templates/js/translated/build.js:2811 #: templates/js/translated/table_filters.js:367 msgid "In Production" msgstr "" -#: build/serializers.py:1365 part/bom.py:185 part/serializers.py:1650 +#: build/serializers.py:1365 part/bom.py:185 part/serializers.py:1648 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" @@ -1716,7 +1716,7 @@ msgstr "" msgid "Total Available Stock" msgstr "" -#: build/serializers.py:1372 part/serializers.py:927 +#: build/serializers.py:1372 part/serializers.py:925 msgid "External Stock" msgstr "" @@ -1745,7 +1745,7 @@ msgstr "Annullato" #: importer/status_codes.py:27 order/status_codes.py:15 #: order/status_codes.py:50 order/status_codes.py:81 #: order/templates/order/order_base.html:163 -#: order/templates/order/sales_order_base.html:168 report/models.py:443 +#: order/templates/order/sales_order_base.html:168 report/models.py:451 msgid "Complete" msgstr "Completo" @@ -1849,9 +1849,6 @@ msgid "Delete Build" msgstr "Elimina Produzione" #: build/templates/build/build_base.html:87 -msgid "Isueue Build" -msgstr "" - #: build/templates/build/build_base.html:88 msgid "Issue Build" msgstr "" @@ -1931,7 +1928,7 @@ msgstr "Outputs Completati" #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_report.html:135 #: report/templates/report/inventree_sales_order_report.html:14 -#: stock/templates/stock/item_base.html:369 +#: stock/templates/stock/item_base.html:365 #: templates/email/overdue_sales_order.html:15 #: templates/js/translated/pricing.js:929 #: templates/js/translated/sales_order.js:805 @@ -1991,7 +1988,7 @@ msgid "Allocated Parts" msgstr "Articoli Assegnati" #: build/templates/build/detail.html:80 stock/admin.py:163 -#: stock/templates/stock/item_base.html:162 +#: stock/templates/stock/item_base.html:158 #: templates/js/translated/build.js:1556 #: templates/js/translated/model_renderers.js:242 #: templates/js/translated/purchase_order.js:1326 @@ -2148,19 +2145,19 @@ msgstr "Output Incompleti" msgid "Test Statistics" msgstr "" -#: common/api.py:692 +#: common/api.py:725 msgid "Is Link" msgstr "" -#: common/api.py:700 +#: common/api.py:733 msgid "Is File" msgstr "" -#: common/api.py:743 +#: common/api.py:776 msgid "User does not have permission to delete these attachments" msgstr "" -#: common/api.py:760 +#: common/api.py:793 msgid "User does not have permission to delete this attachment" msgstr "" @@ -2352,8 +2349,8 @@ msgstr "" #: common/models.py:1297 common/models.py:1353 common/models.py:1366 #: common/models.py:1374 common/models.py:1383 common/models.py:1392 -#: common/models.py:1629 common/models.py:1651 common/models.py:1766 -#: common/models.py:2148 +#: common/models.py:1629 common/models.py:1651 common/models.py:1752 +#: common/models.py:2141 msgid "days" msgstr "giorni" @@ -2581,9 +2578,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:1485 part/admin.py:108 part/models.py:3959 -#: report/models.py:293 report/models.py:360 report/serializers.py:90 -#: report/serializers.py:131 stock/serializers.py:233 +#: common/models.py:1485 part/admin.py:108 part/models.py:3946 +#: report/models.py:301 report/models.py:368 report/serializers.py:91 +#: report/serializers.py:132 stock/serializers.py:233 #: templates/js/translated/table_filters.js:138 #: templates/js/translated/table_filters.js:775 msgid "Template" @@ -2598,7 +2595,7 @@ 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:1497 part/admin.py:95 part/models.py:1172 -#: part/serializers.py:1617 templates/js/translated/table_filters.js:737 +#: part/serializers.py:1615 templates/js/translated/table_filters.js:737 msgid "Component" msgstr "Componente" @@ -2823,7 +2820,7 @@ msgid "Log errors which occur when generating reports" msgstr "" #: common/models.py:1702 plugin/builtin/labels/label_sheet.py:28 -#: report/models.py:301 +#: report/models.py:309 msgid "Page Size" msgstr "Dimensioni pagina" @@ -2832,914 +2829,914 @@ msgid "Default page size for PDF reports" msgstr "Dimensione predefinita della pagina per i report PDF" #: common/models.py:1708 -msgid "Enable Test Reports" -msgstr "Abilita Rapporto di Prova" - -#: common/models.py:1709 -msgid "Enable generation of test reports" -msgstr "Abilita generazione di stampe di prova" - -#: common/models.py:1714 -msgid "Attach Test Reports" -msgstr "Allega Rapporto di Prova" - -#: common/models.py:1716 -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:1722 msgid "Globally Unique Serials" msgstr "Seriali Unici Globali" -#: common/models.py:1723 +#: common/models.py:1709 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:1728 +#: common/models.py:1714 msgid "Autofill Serial Numbers" msgstr "Auto Riempimento Numeri Seriali" -#: common/models.py:1729 +#: common/models.py:1715 msgid "Autofill serial numbers in forms" msgstr "Auto riempimento numeri nel modulo" -#: common/models.py:1734 +#: common/models.py:1720 msgid "Delete Depleted Stock" msgstr "Elimina scorte esaurite" -#: common/models.py:1736 +#: common/models.py:1722 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/models.py:1742 +#: common/models.py:1728 msgid "Batch Code Template" msgstr "Modello Codice a Barre" -#: common/models.py:1744 +#: common/models.py:1730 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:1749 +#: common/models.py:1735 msgid "Stock Expiry" msgstr "Scadenza giacenza" -#: common/models.py:1750 +#: common/models.py:1736 msgid "Enable stock expiry functionality" msgstr "Abilita funzionalità di scadenza della giacenza" -#: common/models.py:1755 +#: common/models.py:1741 msgid "Sell Expired Stock" msgstr "Vendi giacenza scaduta" -#: common/models.py:1756 +#: common/models.py:1742 msgid "Allow sale of expired stock" msgstr "Consenti la vendita di stock scaduti" -#: common/models.py:1761 +#: common/models.py:1747 msgid "Stock Stale Time" msgstr "Tempo di Scorta del Magazzino" -#: common/models.py:1763 +#: common/models.py:1749 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:1770 +#: common/models.py:1756 msgid "Build Expired Stock" msgstr "Crea giacenza scaduta" -#: common/models.py:1771 +#: common/models.py:1757 msgid "Allow building with expired stock" msgstr "Permetti produzione con stock scaduto" -#: common/models.py:1776 +#: common/models.py:1762 msgid "Stock Ownership Control" msgstr "Controllo della proprietà della giacenza" -#: common/models.py:1777 +#: common/models.py:1763 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:1782 +#: common/models.py:1768 msgid "Stock Location Default Icon" msgstr "Icona Predefinita Ubicazione di Magazzino" -#: common/models.py:1783 +#: common/models.py:1769 msgid "Stock location default icon (empty means no icon)" msgstr "Icona Predefinita Ubicazione di Magazzino (vuoto significa nessuna icona)" -#: common/models.py:1788 +#: common/models.py:1774 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1789 +#: common/models.py:1775 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1794 +#: common/models.py:1780 msgid "Check BOM when installing items" msgstr "" -#: common/models.py:1796 +#: common/models.py:1782 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/models.py:1802 +#: common/models.py:1788 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/models.py:1804 +#: common/models.py:1790 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/models.py:1810 +#: common/models.py:1796 msgid "Build Order Reference Pattern" msgstr "Modello Di Riferimento Ordine Di Produzione" -#: common/models.py:1812 +#: common/models.py:1798 msgid "Required pattern for generating Build Order reference field" msgstr "Modello richiesto per generare il campo di riferimento ordine di produzione" -#: common/models.py:1818 common/models.py:1874 common/models.py:1896 -#: common/models.py:1932 +#: common/models.py:1804 common/models.py:1860 common/models.py:1882 +#: common/models.py:1918 msgid "Require Responsible Owner" msgstr "" -#: common/models.py:1819 common/models.py:1875 common/models.py:1897 -#: common/models.py:1933 +#: common/models.py:1805 common/models.py:1861 common/models.py:1883 +#: common/models.py:1919 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/models.py:1824 +#: common/models.py:1810 msgid "Require Active Part" msgstr "" -#: common/models.py:1825 +#: common/models.py:1811 msgid "Prevent build order creation for inactive parts" msgstr "" -#: common/models.py:1830 +#: common/models.py:1816 msgid "Require Locked Part" msgstr "" -#: common/models.py:1831 +#: common/models.py:1817 msgid "Prevent build order creation for unlocked parts" msgstr "" -#: common/models.py:1836 +#: common/models.py:1822 msgid "Require Valid BOM" msgstr "" -#: common/models.py:1838 +#: common/models.py:1824 msgid "Prevent build order creation unless BOM has been validated" msgstr "" -#: common/models.py:1844 +#: common/models.py:1830 msgid "Require Closed Child Orders" msgstr "" -#: common/models.py:1846 +#: common/models.py:1832 msgid "Prevent build order completion until all child orders are closed" msgstr "" -#: common/models.py:1852 +#: common/models.py:1838 msgid "Block Until Tests Pass" msgstr "" -#: common/models.py:1854 +#: common/models.py:1840 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "" -#: common/models.py:1860 +#: common/models.py:1846 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1861 +#: common/models.py:1847 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1866 +#: common/models.py:1852 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1868 +#: common/models.py:1854 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1880 +#: common/models.py:1866 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1882 +#: common/models.py:1868 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1888 +#: common/models.py:1874 msgid "Sales Order Reference Pattern" msgstr "Modello Di Riferimento Ordine Di Vendita" -#: common/models.py:1890 +#: common/models.py:1876 msgid "Required pattern for generating Sales Order reference field" msgstr "Modello richiesto per generare il campo di riferimento ordine di vendita" -#: common/models.py:1902 +#: common/models.py:1888 msgid "Sales Order Default Shipment" msgstr "Spedizione Predefinita Ordine Di Vendita" -#: common/models.py:1903 +#: common/models.py:1889 msgid "Enable creation of default shipment with sales orders" msgstr "Abilita la creazione di spedizioni predefinite con ordini di vendita" -#: common/models.py:1908 +#: common/models.py:1894 msgid "Edit Completed Sales Orders" msgstr "Modifica Ordini Di Vendita Completati" -#: common/models.py:1910 +#: common/models.py:1896 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:1916 +#: common/models.py:1902 msgid "Mark Shipped Orders as Complete" msgstr "" -#: common/models.py:1918 +#: common/models.py:1904 msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status" msgstr "" -#: common/models.py:1924 +#: common/models.py:1910 msgid "Purchase Order Reference Pattern" msgstr "Modello di Riferimento Ordine D'Acquisto" -#: common/models.py:1926 +#: common/models.py:1912 msgid "Required pattern for generating Purchase Order reference field" msgstr "Modello richiesto per generare il campo di riferimento ordine di acquisto" -#: common/models.py:1938 +#: common/models.py:1924 msgid "Edit Completed Purchase Orders" msgstr "Modifica Ordini Di Acquisto Completati" -#: common/models.py:1940 +#: common/models.py:1926 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:1946 +#: common/models.py:1932 msgid "Auto Complete Purchase Orders" msgstr "" -#: common/models.py:1948 +#: common/models.py:1934 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/models.py:1955 +#: common/models.py:1941 msgid "Enable password forgot" msgstr "Abilita password dimenticata" -#: common/models.py:1956 +#: common/models.py:1942 msgid "Enable password forgot function on the login pages" msgstr "Abilita la funzione password dimenticata nelle pagine di accesso" -#: common/models.py:1961 +#: common/models.py:1947 msgid "Enable registration" msgstr "Abilita registrazione" -#: common/models.py:1962 +#: common/models.py:1948 msgid "Enable self-registration for users on the login pages" msgstr "Abilita auto-registrazione per gli utenti nelle pagine di accesso" -#: common/models.py:1967 +#: common/models.py:1953 msgid "Enable SSO" msgstr "SSO abilitato" -#: common/models.py:1968 +#: common/models.py:1954 msgid "Enable SSO on the login pages" msgstr "Abilita SSO nelle pagine di accesso" -#: common/models.py:1973 +#: common/models.py:1959 msgid "Enable SSO registration" msgstr "Abilita registrazione SSO" -#: common/models.py:1975 +#: common/models.py:1961 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:1981 +#: common/models.py:1967 msgid "Enable SSO group sync" msgstr "" -#: common/models.py:1983 +#: common/models.py:1969 msgid "Enable synchronizing InvenTree groups with groups provided by the IdP" msgstr "" -#: common/models.py:1989 +#: common/models.py:1975 msgid "SSO group key" msgstr "" -#: common/models.py:1991 +#: common/models.py:1977 msgid "The name of the groups claim attribute provided by the IdP" msgstr "" -#: common/models.py:1997 +#: common/models.py:1983 msgid "SSO group map" msgstr "" -#: common/models.py:1999 +#: common/models.py:1985 msgid "A mapping from SSO groups to local InvenTree groups. If the local group does not exist, it will be created." msgstr "" -#: common/models.py:2005 +#: common/models.py:1991 msgid "Remove groups outside of SSO" msgstr "" -#: common/models.py:2007 +#: common/models.py:1993 msgid "Whether groups assigned to the user should be removed if they are not backend by the IdP. Disabling this setting might cause security issues" msgstr "" -#: common/models.py:2013 +#: common/models.py:1999 msgid "Email required" msgstr "Email richiesta" -#: common/models.py:2014 +#: common/models.py:2000 msgid "Require user to supply mail on signup" msgstr "Richiedi all'utente di fornire una email al momento dell'iscrizione" -#: common/models.py:2019 +#: common/models.py:2005 msgid "Auto-fill SSO users" msgstr "Riempimento automatico degli utenti SSO" -#: common/models.py:2021 +#: common/models.py:2007 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:2027 +#: common/models.py:2013 msgid "Mail twice" msgstr "Posta due volte" -#: common/models.py:2028 +#: common/models.py:2014 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:2033 +#: common/models.py:2019 msgid "Password twice" msgstr "Password due volte" -#: common/models.py:2034 +#: common/models.py:2020 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:2039 +#: common/models.py:2025 msgid "Allowed domains" msgstr "Domini consentiti" -#: common/models.py:2041 +#: common/models.py:2027 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:2047 +#: common/models.py:2033 msgid "Group on signup" msgstr "Gruppo iscrizione" -#: common/models.py:2049 +#: common/models.py:2035 msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP." msgstr "" -#: common/models.py:2055 +#: common/models.py:2041 msgid "Enforce MFA" msgstr "Applica MFA" -#: common/models.py:2056 +#: common/models.py:2042 msgid "Users must use multifactor security." msgstr "Gli utenti devono utilizzare la sicurezza a due fattori." -#: common/models.py:2061 +#: common/models.py:2047 msgid "Check plugins on startup" msgstr "Controlla i plugin all'avvio" -#: common/models.py:2063 +#: common/models.py:2049 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:2071 +#: common/models.py:2057 msgid "Check for plugin updates" msgstr "" -#: common/models.py:2072 +#: common/models.py:2058 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:2078 +#: common/models.py:2064 msgid "Enable URL integration" msgstr "Abilita l'integrazione URL" -#: common/models.py:2079 +#: common/models.py:2065 msgid "Enable plugins to add URL routes" msgstr "Attiva plugin per aggiungere percorsi URL" -#: common/models.py:2085 +#: common/models.py:2071 msgid "Enable navigation integration" msgstr "Attiva integrazione navigazione" -#: common/models.py:2086 +#: common/models.py:2072 msgid "Enable plugins to integrate into navigation" msgstr "Abilita i plugin per l'integrazione nella navigazione" -#: common/models.py:2092 +#: common/models.py:2078 msgid "Enable app integration" msgstr "Abilita l'app integrata" -#: common/models.py:2093 +#: common/models.py:2079 msgid "Enable plugins to add apps" msgstr "Abilita plugin per aggiungere applicazioni" -#: common/models.py:2099 +#: common/models.py:2085 msgid "Enable schedule integration" msgstr "Abilita integrazione pianificazione" -#: common/models.py:2100 +#: common/models.py:2086 msgid "Enable plugins to run scheduled tasks" msgstr "Abilita i plugin per eseguire le attività pianificate" -#: common/models.py:2106 +#: common/models.py:2092 msgid "Enable event integration" msgstr "Abilita eventi integrati" -#: common/models.py:2107 +#: common/models.py:2093 msgid "Enable plugins to respond to internal events" msgstr "Abilita plugin per rispondere agli eventi interni" -#: common/models.py:2113 +#: common/models.py:2099 +msgid "Enable interface integration" +msgstr "" + +#: common/models.py:2100 +msgid "Enable plugins to integrate into the user interface" +msgstr "" + +#: common/models.py:2106 msgid "Enable project codes" msgstr "" -#: common/models.py:2114 +#: common/models.py:2107 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:2119 +#: common/models.py:2112 msgid "Stocktake Functionality" msgstr "Funzionalità Dell'Inventario" -#: common/models.py:2121 +#: common/models.py:2114 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:2127 +#: common/models.py:2120 msgid "Exclude External Locations" msgstr "" -#: common/models.py:2129 +#: common/models.py:2122 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/models.py:2135 +#: common/models.py:2128 msgid "Automatic Stocktake Period" msgstr "Inventario periodico automatico" -#: common/models.py:2137 +#: common/models.py:2130 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:2143 +#: common/models.py:2136 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:2145 +#: common/models.py:2138 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:2152 +#: common/models.py:2145 msgid "Display Users full names" msgstr "" -#: common/models.py:2153 +#: common/models.py:2146 msgid "Display Users full names instead of usernames" msgstr "" -#: common/models.py:2158 +#: common/models.py:2151 msgid "Enable Test Station Data" msgstr "" -#: common/models.py:2159 +#: common/models.py:2152 msgid "Enable test station data collection for test results" msgstr "" -#: common/models.py:2171 common/models.py:2551 +#: common/models.py:2157 +msgid "Create Template on Upload" +msgstr "" + +#: common/models.py:2159 +msgid "Create a new test template when uploading test data which does not match an existing template" +msgstr "" + +#: common/models.py:2172 common/models.py:2552 msgid "Settings key (must be unique - case insensitive" msgstr "Tasto impostazioni (deve essere univoco - maiuscole e minuscole" -#: common/models.py:2214 +#: common/models.py:2215 msgid "Hide inactive parts" msgstr "Nascondi Articoli Inattivi" -#: common/models.py:2216 +#: common/models.py:2217 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:2222 +#: common/models.py:2223 msgid "Show subscribed parts" msgstr "Mostra articoli sottoscritti" -#: common/models.py:2223 +#: common/models.py:2224 msgid "Show subscribed parts on the homepage" msgstr "Mostra gli articoli sottoscritti nella homepage" -#: common/models.py:2228 +#: common/models.py:2229 msgid "Show subscribed categories" msgstr "Mostra le categorie sottoscritte" -#: common/models.py:2229 +#: common/models.py:2230 msgid "Show subscribed part categories on the homepage" msgstr "Mostra le categorie dei componenti sottoscritti nella homepage" -#: common/models.py:2234 +#: common/models.py:2235 msgid "Show latest parts" msgstr "Mostra ultimi articoli" -#: common/models.py:2235 +#: common/models.py:2236 msgid "Show latest parts on the homepage" msgstr "Mostra gli ultimi articoli sulla homepage" -#: common/models.py:2240 +#: common/models.py:2241 msgid "Show invalid BOMs" msgstr "" -#: common/models.py:2241 +#: common/models.py:2242 msgid "Show BOMs that await validation on the homepage" msgstr "Mostra le distinte base che attendono la convalida sulla homepage" -#: common/models.py:2246 +#: common/models.py:2247 msgid "Show recent stock changes" msgstr "Mostra le modifiche recenti alle giacenze" -#: common/models.py:2247 +#: common/models.py:2248 msgid "Show recently changed stock items on the homepage" msgstr "Mostra le giacenze modificate di recente nella homepage" -#: common/models.py:2252 +#: common/models.py:2253 msgid "Show low stock" msgstr "Mostra disponibilità scarsa delle giacenze" -#: common/models.py:2253 +#: common/models.py:2254 msgid "Show low stock items on the homepage" msgstr "Mostra disponibilità scarsa degli articoli sulla homepage" -#: common/models.py:2258 +#: common/models.py:2259 msgid "Show depleted stock" msgstr "Mostra scorte esaurite" -#: common/models.py:2259 +#: common/models.py:2260 msgid "Show depleted stock items on the homepage" msgstr "Mostra disponibilità scarsa delle scorte degli articoli sulla homepage" -#: common/models.py:2264 +#: common/models.py:2265 msgid "Show needed stock" msgstr "Mostra scorte necessarie" -#: common/models.py:2265 +#: common/models.py:2266 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:2270 +#: common/models.py:2271 msgid "Show expired stock" msgstr "Mostra scorte esaurite" -#: common/models.py:2271 +#: common/models.py:2272 msgid "Show expired stock items on the homepage" msgstr "Mostra gli articoli stock scaduti nella home page" -#: common/models.py:2276 +#: common/models.py:2277 msgid "Show stale stock" msgstr "Mostra scorte obsolete" -#: common/models.py:2277 +#: common/models.py:2278 msgid "Show stale stock items on the homepage" msgstr "Mostra gli elementi obsoleti esistenti sulla home page" -#: common/models.py:2282 +#: common/models.py:2283 msgid "Show pending builds" msgstr "Mostra produzioni in attesa" -#: common/models.py:2283 +#: common/models.py:2284 msgid "Show pending builds on the homepage" msgstr "Mostra produzioni in attesa sulla homepage" -#: common/models.py:2288 +#: common/models.py:2289 msgid "Show overdue builds" msgstr "Mostra produzioni in ritardo" -#: common/models.py:2289 +#: common/models.py:2290 msgid "Show overdue builds on the homepage" msgstr "Mostra produzioni in ritardo sulla home page" -#: common/models.py:2294 +#: common/models.py:2295 msgid "Show outstanding POs" msgstr "Mostra ordini di produzione inevasi" -#: common/models.py:2295 +#: common/models.py:2296 msgid "Show outstanding POs on the homepage" msgstr "Mostra ordini di produzione inevasi sulla home page" -#: common/models.py:2300 +#: common/models.py:2301 msgid "Show overdue POs" msgstr "Mostra Ordini di Produzione in ritardo" -#: common/models.py:2301 +#: common/models.py:2302 msgid "Show overdue POs on the homepage" msgstr "Mostra Ordini di Produzione in ritardo sulla home page" -#: common/models.py:2306 +#: common/models.py:2307 msgid "Show outstanding SOs" msgstr "Mostra Ordini di Vendita inevasi" -#: common/models.py:2307 +#: common/models.py:2308 msgid "Show outstanding SOs on the homepage" msgstr "Mostra Ordini di Vendita inevasi sulla home page" -#: common/models.py:2312 +#: common/models.py:2313 msgid "Show overdue SOs" msgstr "Mostra Ordini di Vendita in ritardo" -#: common/models.py:2313 +#: common/models.py:2314 msgid "Show overdue SOs on the homepage" msgstr "Mostra Ordini di Vendita in ritardo sulla home page" -#: common/models.py:2318 +#: common/models.py:2319 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2319 +#: common/models.py:2320 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2324 +#: common/models.py:2325 msgid "Show News" msgstr "Mostra Notizie" -#: common/models.py:2325 +#: common/models.py:2326 msgid "Show news on the homepage" msgstr "Mostra notizie sulla home page" -#: common/models.py:2330 +#: common/models.py:2331 msgid "Inline label display" msgstr "Visualizzazione dell'etichetta in linea" -#: common/models.py:2332 +#: common/models.py:2333 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:2338 +#: common/models.py:2339 msgid "Default label printer" msgstr "Stampante per etichette predefinita" -#: common/models.py:2340 +#: common/models.py:2341 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:2346 +#: common/models.py:2347 msgid "Inline report display" msgstr "Visualizzazione dell'etichetta in linea" -#: common/models.py:2348 +#: common/models.py:2349 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:2354 +#: common/models.py:2355 msgid "Search Parts" msgstr "Cerca Articoli" -#: common/models.py:2355 +#: common/models.py:2356 msgid "Display parts in search preview window" msgstr "Mostra articoli della ricerca nella finestra di anteprima" -#: common/models.py:2360 +#: common/models.py:2361 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2361 +#: common/models.py:2362 msgid "Display supplier parts in search preview window" msgstr "Mostra articoli del fornitore nella finestra di anteprima" -#: common/models.py:2366 +#: common/models.py:2367 msgid "Search Manufacturer Parts" msgstr "Cerca Articoli Produttore" -#: common/models.py:2367 +#: common/models.py:2368 msgid "Display manufacturer parts in search preview window" msgstr "Mostra articoli del produttore nella finestra di anteprima" -#: common/models.py:2372 +#: common/models.py:2373 msgid "Hide Inactive Parts" msgstr "Nascondi Articoli Inattivi" -#: common/models.py:2373 +#: common/models.py:2374 msgid "Excluded inactive parts from search preview window" msgstr "Escludi articoli inattivi dalla finestra di anteprima della ricerca" -#: common/models.py:2378 +#: common/models.py:2379 msgid "Search Categories" msgstr "Cerca Categorie" -#: common/models.py:2379 +#: common/models.py:2380 msgid "Display part categories in search preview window" msgstr "Mostra categorie articolo nella finestra di anteprima di ricerca" -#: common/models.py:2384 +#: common/models.py:2385 msgid "Search Stock" msgstr "Cerca Giacenze" -#: common/models.py:2385 +#: common/models.py:2386 msgid "Display stock items in search preview window" msgstr "Mostra articoli in giacenza nella finestra di anteprima della ricerca" -#: common/models.py:2390 +#: common/models.py:2391 msgid "Hide Unavailable Stock Items" msgstr "Nascondi elementi non disponibili" -#: common/models.py:2392 +#: common/models.py:2393 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:2398 +#: common/models.py:2399 msgid "Search Locations" msgstr "Cerca Ubicazioni" -#: common/models.py:2399 +#: common/models.py:2400 msgid "Display stock locations in search preview window" msgstr "Mostra ubicazioni delle giacenze nella finestra di anteprima di ricerca" -#: common/models.py:2404 +#: common/models.py:2405 msgid "Search Companies" msgstr "Cerca Aziende" -#: common/models.py:2405 +#: common/models.py:2406 msgid "Display companies in search preview window" msgstr "Mostra le aziende nella finestra di anteprima di ricerca" -#: common/models.py:2410 +#: common/models.py:2411 msgid "Search Build Orders" msgstr "Cerca Ordini Di Produzione" -#: common/models.py:2411 +#: common/models.py:2412 msgid "Display build orders in search preview window" msgstr "Mostra gli ordini di produzione nella finestra di anteprima di ricerca" -#: common/models.py:2416 +#: common/models.py:2417 msgid "Search Purchase Orders" msgstr "Cerca Ordini di Acquisto" -#: common/models.py:2417 +#: common/models.py:2418 msgid "Display purchase orders in search preview window" msgstr "Mostra gli ordini di acquisto nella finestra di anteprima di ricerca" -#: common/models.py:2422 +#: common/models.py:2423 msgid "Exclude Inactive Purchase Orders" msgstr "Escludi Ordini D'Acquisto Inattivi" -#: common/models.py:2424 +#: common/models.py:2425 msgid "Exclude inactive purchase orders from search preview window" msgstr "Escludi ordini di acquisto inattivi dalla finestra di anteprima di ricerca" -#: common/models.py:2430 +#: common/models.py:2431 msgid "Search Sales Orders" msgstr "Cerca Ordini Di Vendita" -#: common/models.py:2431 +#: common/models.py:2432 msgid "Display sales orders in search preview window" msgstr "Visualizzazione degli ordini di vendita nella finestra di anteprima della ricerca" -#: common/models.py:2436 +#: common/models.py:2437 msgid "Exclude Inactive Sales Orders" msgstr "Escludi Ordini Di Vendita Inattivi" -#: common/models.py:2438 +#: common/models.py:2439 msgid "Exclude inactive sales orders from search preview window" msgstr "Escludi ordini di vendita inattivi dalla finestra di anteprima di ricerca" -#: common/models.py:2444 +#: common/models.py:2445 msgid "Search Return Orders" msgstr "Cerca Ordini Di Reso" -#: common/models.py:2445 +#: common/models.py:2446 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2450 +#: common/models.py:2451 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2452 +#: common/models.py:2453 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2458 +#: common/models.py:2459 msgid "Search Preview Results" msgstr "Risultati Dell'Anteprima Di Ricerca" -#: common/models.py:2460 +#: common/models.py:2461 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:2466 +#: common/models.py:2467 msgid "Regex Search" msgstr "Ricerca con regex" -#: common/models.py:2467 +#: common/models.py:2468 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2472 +#: common/models.py:2473 msgid "Whole Word Search" msgstr "" -#: common/models.py:2473 +#: common/models.py:2474 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2478 +#: common/models.py:2479 msgid "Show Quantity in Forms" msgstr "Mostra quantità nei moduli" -#: common/models.py:2479 +#: common/models.py:2480 msgid "Display available part quantity in some forms" msgstr "Visualizzare la quantità di pezzi disponibili in alcuni moduli" -#: common/models.py:2484 +#: common/models.py:2485 msgid "Escape Key Closes Forms" msgstr "Il tasto Esc chiude i moduli" -#: common/models.py:2485 +#: common/models.py:2486 msgid "Use the escape key to close modal forms" msgstr "Utilizzare il tasto Esc per chiudere i moduli modali" -#: common/models.py:2490 +#: common/models.py:2491 msgid "Fixed Navbar" msgstr "Barra di navigazione fissa" -#: common/models.py:2491 +#: common/models.py:2492 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:2496 +#: common/models.py:2497 msgid "Date Format" msgstr "Formato Data" -#: common/models.py:2497 +#: common/models.py:2498 msgid "Preferred format for displaying dates" msgstr "Formato predefinito per visualizzare le date" -#: common/models.py:2510 part/templates/part/detail.html:41 +#: common/models.py:2511 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "Programmazione Prodotto" -#: common/models.py:2511 +#: common/models.py:2512 msgid "Display part scheduling information" msgstr "Mostra informazioni sulla pianificazione del prodotto" -#: common/models.py:2516 part/templates/part/detail.html:62 +#: common/models.py:2517 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "Inventario Prodotto" -#: common/models.py:2518 +#: common/models.py:2519 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:2524 +#: common/models.py:2525 msgid "Table String Length" msgstr "Lunghezza Stringa Tabella" -#: common/models.py:2526 +#: common/models.py:2527 msgid "Maximum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2532 +#: common/models.py:2533 msgid "Receive error reports" msgstr "" -#: common/models.py:2533 +#: common/models.py:2534 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2538 +#: common/models.py:2539 msgid "Last used printing machines" msgstr "" -#: common/models.py:2539 +#: common/models.py:2540 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2559 common/models.py:2560 common/models.py:2717 -#: common/models.py:2718 common/models.py:2963 common/models.py:2964 -#: common/models.py:3287 common/models.py:3288 importer/models.py:89 -#: part/models.py:3319 part/models.py:3406 part/models.py:3480 -#: part/models.py:3508 plugin/models.py:274 plugin/models.py:275 +#: common/models.py:2560 common/models.py:2561 common/models.py:2718 +#: common/models.py:2719 common/models.py:2964 common/models.py:2965 +#: common/models.py:3288 common/models.py:3289 importer/models.py:89 +#: part/models.py:3306 part/models.py:3393 part/models.py:3467 +#: part/models.py:3495 plugin/models.py:274 plugin/models.py:275 #: report/templates/report/inventree_test_report.html:105 #: templates/js/translated/stock.js:3121 users/models.py:111 msgid "User" msgstr "Utente" -#: common/models.py:2582 +#: common/models.py:2583 msgid "Price break quantity" msgstr "Quantità prezzo limite" -#: common/models.py:2589 company/serializers.py:517 order/admin.py:42 +#: common/models.py:2590 company/serializers.py:517 order/admin.py:42 #: order/models.py:1423 order/models.py:2410 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1892 #: templates/js/translated/pricing.js:621 @@ -3747,96 +3744,96 @@ msgstr "Quantità prezzo limite" msgid "Price" msgstr "Prezzo" -#: common/models.py:2590 +#: common/models.py:2591 msgid "Unit price at specified quantity" msgstr "Prezzo unitario in quantità specificata" -#: common/models.py:2694 common/models.py:2879 +#: common/models.py:2695 common/models.py:2880 msgid "Endpoint" msgstr "Scadenza" -#: common/models.py:2695 +#: common/models.py:2696 msgid "Endpoint at which this webhook is received" msgstr "Scadenza in cui questa notifica viene ricevuta" -#: common/models.py:2705 +#: common/models.py:2706 msgid "Name for this webhook" msgstr "Nome per questa notifica" -#: common/models.py:2709 +#: common/models.py:2710 msgid "Is this webhook active" msgstr "È questa notifica attiva" -#: common/models.py:2725 users/models.py:159 +#: common/models.py:2726 users/models.py:159 msgid "Token" msgstr "" -#: common/models.py:2726 +#: common/models.py:2727 msgid "Token for access" msgstr "Token per l'accesso" -#: common/models.py:2734 +#: common/models.py:2735 msgid "Secret" msgstr "Segreto" -#: common/models.py:2735 +#: common/models.py:2736 msgid "Shared secret for HMAC" msgstr "Segreto condiviso per HMAC" -#: common/models.py:2843 +#: common/models.py:2844 msgid "Message ID" msgstr "ID Messaggio" -#: common/models.py:2844 +#: common/models.py:2845 msgid "Unique identifier for this message" msgstr "Identificatore unico per questo messaggio" -#: common/models.py:2852 +#: common/models.py:2853 msgid "Host" msgstr "" -#: common/models.py:2853 +#: common/models.py:2854 msgid "Host from which this message was received" msgstr "Host da cui questo messaggio è stato ricevuto" -#: common/models.py:2861 +#: common/models.py:2862 msgid "Header" msgstr "Intestazione" -#: common/models.py:2862 +#: common/models.py:2863 msgid "Header of this message" msgstr "Intestazione di questo messaggio" -#: common/models.py:2869 +#: common/models.py:2870 msgid "Body" msgstr "Contenuto" -#: common/models.py:2870 +#: common/models.py:2871 msgid "Body of this message" msgstr "Contenuto di questo messaggio" -#: common/models.py:2880 +#: common/models.py:2881 msgid "Endpoint on which this message was received" msgstr "Scadenza in cui questo messaggio è stato ricevuto" -#: common/models.py:2885 +#: common/models.py:2886 msgid "Worked on" msgstr "Lavorato il" -#: common/models.py:2886 +#: common/models.py:2887 msgid "Was the work on this message finished?" msgstr "Il lavoro su questo messaggio è terminato?" -#: common/models.py:3012 +#: common/models.py:3013 msgid "Id" msgstr "" -#: common/models.py:3014 templates/js/translated/company.js:965 +#: common/models.py:3015 templates/js/translated/company.js:965 #: templates/js/translated/news.js:44 msgid "Title" msgstr "Titolo" -#: common/models.py:3016 common/models.py:3271 company/models.py:146 +#: common/models.py:3017 common/models.py:3272 company/models.py:146 #: company/models.py:443 company/models.py:509 company/models.py:815 #: order/models.py:303 order/models.py:1378 order/models.py:1810 #: part/admin.py:55 part/models.py:1069 @@ -3853,217 +3850,217 @@ msgstr "Titolo" msgid "Link" msgstr "Collegamento" -#: common/models.py:3018 templates/js/translated/news.js:60 +#: common/models.py:3019 templates/js/translated/news.js:60 msgid "Published" msgstr "Pubblicato" -#: common/models.py:3020 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:3021 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:103 msgid "Author" msgstr "Autore" -#: common/models.py:3022 templates/js/translated/news.js:52 +#: common/models.py:3023 templates/js/translated/news.js:52 msgid "Summary" msgstr "Riepilogo" -#: common/models.py:3025 +#: common/models.py:3026 msgid "Read" msgstr "Letto" -#: common/models.py:3025 +#: common/models.py:3026 msgid "Was this news item read?" msgstr "Queste notizie sull'elemento sono state lette?" -#: common/models.py:3042 company/models.py:156 part/models.py:1079 +#: common/models.py:3043 company/models.py:156 part/models.py:1079 #: 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.html:35 -#: stock/templates/stock/item_base.html:133 templates/503.html:31 +#: stock/templates/stock/item_base.html:129 templates/503.html:31 #: templates/hover_image.html:7 templates/hover_image.html:9 #: templates/modals.html:6 msgid "Image" msgstr "Immagine" -#: common/models.py:3042 +#: common/models.py:3043 msgid "Image file" msgstr "File immagine" -#: common/models.py:3054 common/models.py:3255 +#: common/models.py:3055 common/models.py:3256 msgid "Target model type for this image" msgstr "" -#: common/models.py:3058 +#: common/models.py:3059 msgid "Target model ID for this image" msgstr "" -#: common/models.py:3080 +#: common/models.py:3081 msgid "Custom Unit" msgstr "" -#: common/models.py:3098 +#: common/models.py:3099 msgid "Unit symbol must be unique" msgstr "" -#: common/models.py:3113 +#: common/models.py:3114 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:3132 +#: common/models.py:3133 msgid "Unit name" msgstr "" -#: common/models.py:3139 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3140 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:3140 +#: common/models.py:3141 msgid "Optional unit symbol" msgstr "" -#: common/models.py:3146 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3147 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:3147 +#: common/models.py:3148 msgid "Unit definition" msgstr "" -#: common/models.py:3205 common/models.py:3262 stock/models.py:2552 +#: common/models.py:3206 common/models.py:3263 stock/models.py:2547 #: stock/serializers.py:244 templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:345 msgid "Attachment" msgstr "Allegato" -#: common/models.py:3217 +#: common/models.py:3218 msgid "Missing file" msgstr "File mancante" -#: common/models.py:3218 +#: common/models.py:3219 msgid "Missing external link" msgstr "Link esterno mancante" -#: common/models.py:3263 +#: common/models.py:3264 msgid "Select file to attach" msgstr "Seleziona file da allegare" -#: common/models.py:3278 templates/js/translated/attachment.js:120 +#: common/models.py:3279 templates/js/translated/attachment.js:120 #: templates/js/translated/attachment.js:360 msgid "Comment" msgstr "Commento" -#: common/models.py:3279 +#: common/models.py:3280 msgid "Attachment comment" msgstr "" -#: common/models.py:3295 +#: common/models.py:3296 msgid "Upload date" msgstr "" -#: common/models.py:3296 +#: common/models.py:3297 msgid "Date the file was uploaded" msgstr "" -#: common/models.py:3300 +#: common/models.py:3301 msgid "File size" msgstr "" -#: common/models.py:3300 +#: common/models.py:3301 msgid "File size in bytes" msgstr "" -#: common/models.py:3338 common/serializers.py:588 +#: common/models.py:3339 common/serializers.py:604 msgid "Invalid model type specified for attachment" msgstr "" -#: common/models.py:3347 plugin/models.py:43 users/models.py:100 +#: common/models.py:3348 plugin/models.py:43 users/models.py:100 msgid "Key" msgstr "" -#: common/models.py:3348 +#: common/models.py:3349 msgid "Value that will be saved in the models database" msgstr "" -#: common/models.py:3351 +#: common/models.py:3352 msgid "Name of the state" msgstr "" -#: common/models.py:3355 +#: common/models.py:3356 msgid "Label" msgstr "" -#: common/models.py:3356 +#: common/models.py:3357 msgid "Label that will be displayed in the frontend" msgstr "" -#: common/models.py:3362 +#: common/models.py:3363 msgid "Color" msgstr "" -#: common/models.py:3363 +#: common/models.py:3364 msgid "Color that will be displayed in the frontend" msgstr "" -#: common/models.py:3366 +#: common/models.py:3367 msgid "Logical Key" msgstr "" -#: common/models.py:3368 +#: common/models.py:3369 msgid "State logical key that is equal to this custom state in business logic" msgstr "" -#: common/models.py:3376 +#: common/models.py:3377 msgid "Model" msgstr "" -#: common/models.py:3377 +#: common/models.py:3378 msgid "Model this state is associated with" msgstr "" -#: common/models.py:3381 +#: common/models.py:3382 msgid "Reference Status Set" msgstr "" -#: common/models.py:3382 +#: common/models.py:3383 msgid "Status set that is extended with this custom state" msgstr "" -#: common/models.py:3388 +#: common/models.py:3389 msgid "Custom State" msgstr "" -#: common/models.py:3389 +#: common/models.py:3390 msgid "Custom States" msgstr "" -#: common/models.py:3404 +#: common/models.py:3405 msgid "Model must be selected" msgstr "" -#: common/models.py:3407 +#: common/models.py:3408 msgid "Key must be selected" msgstr "" -#: common/models.py:3410 +#: common/models.py:3411 msgid "Logical key must be selected" msgstr "" -#: common/models.py:3414 +#: common/models.py:3415 msgid "Key must be different from logical key" msgstr "" -#: common/models.py:3418 +#: common/models.py:3419 msgid "Reference status must be selected" msgstr "" -#: common/models.py:3430 +#: common/models.py:3431 msgid "Reference status set not found" msgstr "" -#: common/models.py:3436 +#: common/models.py:3437 msgid "Key must be different from the logical keys of the reference status" msgstr "" -#: common/models.py:3442 +#: common/models.py:3443 msgid "Logical key must be in the logical keys of the reference status" msgstr "" @@ -4101,75 +4098,75 @@ msgstr "" msgid "Error raised by plugin" msgstr "Errore generato dal plugin" -#: common/serializers.py:402 +#: common/serializers.py:418 msgid "Is Running" msgstr "" -#: common/serializers.py:408 +#: common/serializers.py:424 msgid "Pending Tasks" msgstr "" -#: common/serializers.py:414 +#: common/serializers.py:430 msgid "Scheduled Tasks" msgstr "" -#: common/serializers.py:420 +#: common/serializers.py:436 msgid "Failed Tasks" msgstr "" -#: common/serializers.py:435 +#: common/serializers.py:451 msgid "Task ID" msgstr "" -#: common/serializers.py:435 +#: common/serializers.py:451 msgid "Unique task ID" msgstr "" -#: common/serializers.py:437 +#: common/serializers.py:453 msgid "Lock" msgstr "" -#: common/serializers.py:437 +#: common/serializers.py:453 msgid "Lock time" msgstr "" -#: common/serializers.py:439 +#: common/serializers.py:455 msgid "Task name" msgstr "" -#: common/serializers.py:441 +#: common/serializers.py:457 msgid "Function" msgstr "" -#: common/serializers.py:441 +#: common/serializers.py:457 msgid "Function name" msgstr "" -#: common/serializers.py:443 +#: common/serializers.py:459 msgid "Arguments" msgstr "" -#: common/serializers.py:443 +#: common/serializers.py:459 msgid "Task arguments" msgstr "" -#: common/serializers.py:446 +#: common/serializers.py:462 msgid "Keyword Arguments" msgstr "" -#: common/serializers.py:446 +#: common/serializers.py:462 msgid "Task keyword arguments" msgstr "" -#: common/serializers.py:556 +#: common/serializers.py:572 msgid "Filename" msgstr "Nome del file" -#: common/serializers.py:563 report/api.py:100 report/serializers.py:53 +#: common/serializers.py:579 report/api.py:100 report/serializers.py:54 msgid "Model Type" msgstr "" -#: common/serializers.py:591 +#: common/serializers.py:607 msgid "User does not have permission to create or edit attachments for this model" msgstr "" @@ -4447,12 +4444,12 @@ msgstr "" #: company/models.py:467 company/models.py:584 company/models.py:808 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 -#: stock/templates/stock/item_base.html:217 +#: stock/templates/stock/item_base.html:213 msgid "Manufacturer Part" msgstr "Codice articolo produttore" #: company/models.py:484 company/models.py:776 stock/models.py:791 -#: stock/serializers.py:452 stock/templates/stock/item_base.html:142 +#: stock/serializers.py:452 stock/templates/stock/item_base.html:138 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "Articolo di base" @@ -4463,8 +4460,8 @@ msgstr "Seleziona articolo" #: company/models.py:495 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:567 -#: stock/templates/stock/item_base.html:207 +#: company/templates/company/supplier_part.html:145 part/serializers.py:565 +#: stock/templates/stock/item_base.html:203 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 #: templates/js/translated/company.js:1296 @@ -4479,7 +4476,7 @@ msgstr "Seleziona Produttore" #: company/models.py:502 company/templates/company/manufacturer_part.html:101 #: company/templates/company/supplier_part.html:153 order/serializers.py:557 -#: part/serializers.py:577 templates/js/translated/company.js:351 +#: part/serializers.py:575 templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 #: templates/js/translated/company.js:1630 templates/js/translated/part.js:1807 @@ -4505,7 +4502,7 @@ msgid "Parameter name" msgstr "Nome parametro" #: company/models.py:597 report/templates/report/inventree_test_report.html:104 -#: stock/models.py:2544 templates/js/translated/company.js:1166 +#: stock/models.py:2539 templates/js/translated/company.js:1166 #: templates/js/translated/company.js:1419 templates/js/translated/part.js:1499 #: templates/js/translated/stock.js:1607 msgid "Value" @@ -4516,7 +4513,7 @@ msgid "Parameter value" msgstr "Valore del parametro" #: company/models.py:605 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1159 part/models.py:3783 +#: part/admin.py:57 part/models.py:1159 part/models.py:3770 #: part/templates/part/part_base.html:300 #: templates/js/translated/company.js:1425 templates/js/translated/part.js:1518 #: templates/js/translated/part.js:1622 templates/js/translated/part.js:2376 @@ -4530,7 +4527,7 @@ msgstr "Unità parametri" #: company/models.py:659 company/templates/company/supplier_part.html:7 #: company/templates/company/supplier_part.html:24 order/api.py:440 #: order/serializers.py:492 stock/models.py:802 -#: stock/templates/stock/item_base.html:233 +#: stock/templates/stock/item_base.html:229 #: templates/js/translated/build.js:1055 #: templates/js/translated/company.js:1600 #: templates/js/translated/purchase_order.js:752 @@ -4553,9 +4550,9 @@ msgstr "L'articolo del costruttore collegato deve riferirsi alla stesso articolo #: company/models.py:786 company/templates/company/company_base.html:87 #: company/templates/company/supplier_part.html:129 order/models.py:492 #: order/templates/order/order_base.html:141 part/bom.py:279 part/bom.py:314 -#: part/serializers.py:551 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:549 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 -#: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 +#: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:220 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:511 @@ -4570,7 +4567,7 @@ msgstr "Fornitore" msgid "Select supplier" msgstr "Seleziona fornitore" -#: company/models.py:793 part/serializers.py:562 +#: company/models.py:793 part/serializers.py:560 msgid "Supplier stock keeping unit" msgstr "Unità di giacenza magazzino fornitore" @@ -4591,7 +4588,7 @@ msgid "Supplier part description" msgstr "Descrizione articolo fornitore" #: company/models.py:832 company/templates/company/supplier_part.html:187 -#: order/serializers.py:699 part/admin.py:415 part/models.py:4301 +#: order/serializers.py:699 part/admin.py:415 part/models.py:4288 #: part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 @@ -4603,11 +4600,11 @@ msgstr "Descrizione articolo fornitore" msgid "Note" msgstr "Nota" -#: company/models.py:841 part/models.py:2129 +#: company/models.py:841 part/models.py:2128 msgid "base cost" msgstr "costo base" -#: company/models.py:842 part/models.py:2130 +#: company/models.py:842 part/models.py:2129 msgid "Minimum charge (e.g. stocking fee)" msgstr "Onere minimo (ad esempio tassa di stoccaggio)" @@ -4629,7 +4626,7 @@ msgstr "Quantità Confezione" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:876 part/models.py:2136 +#: company/models.py:876 part/models.py:2135 msgid "multiple" msgstr "multiplo" @@ -4661,7 +4658,7 @@ msgstr "Valuta predefinita utilizzata per questo fornitore" msgid "Company Name" msgstr "" -#: company/serializers.py:397 part/admin.py:126 part/serializers.py:919 +#: company/serializers.py:397 part/admin.py:126 part/serializers.py:917 #: part/templates/part/part_base.html:197 #: templates/js/translated/company.js:1689 #: templates/js/translated/table_filters.js:362 @@ -4735,7 +4732,7 @@ msgstr "Elimina immagine" #: order/models.py:2140 order/templates/order/return_order_base.html:134 #: order/templates/order/sales_order_base.html:151 stock/models.py:844 #: stock/models.py:845 stock/serializers.py:1336 -#: stock/templates/stock/item_base.html:405 +#: stock/templates/stock/item_base.html:401 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 #: templates/js/translated/return_order.js:295 @@ -4939,7 +4936,7 @@ msgstr "Nessuna informazione sul produttore disponibile" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:925 +#: part/admin.py:122 part/serializers.py:923 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -5030,7 +5027,7 @@ msgid "No supplier information available" msgstr "Nessuna informazione sul fornitore disponibile" #: company/templates/company/supplier_part.html:139 order/serializers.py:554 -#: part/bom.py:286 part/bom.py:315 part/serializers.py:561 +#: part/bom.py:286 part/bom.py:315 part/serializers.py:559 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1793 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1920 @@ -5084,7 +5081,7 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:923 part/stocktake.py:223 +#: part/serializers.py:921 part/stocktake.py:223 #: part/templates/part/category.html:180 #: part/templates/part/category_sidebar.html:17 stock/admin.py:68 #: stock/serializers.py:1021 stock/serializers.py:1199 @@ -5215,7 +5212,7 @@ msgstr "" msgid "Original row data" msgstr "" -#: importer/models.py:504 part/models.py:3965 +#: importer/models.py:504 part/models.py:3952 msgid "Data" msgstr "Dati" @@ -5473,7 +5470,7 @@ msgstr "" #: order/models.py:1592 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_purchase_order_report.html:14 -#: stock/serializers.py:121 stock/templates/stock/item_base.html:176 +#: stock/serializers.py:121 stock/templates/stock/item_base.html:172 #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/part.js:1752 templates/js/translated/pricing.js:804 #: templates/js/translated/purchase_order.js:168 @@ -5694,7 +5691,7 @@ msgid "Number of items received" msgstr "Numero di elementi ricevuti" #: order/models.py:1513 stock/models.py:963 stock/serializers.py:617 -#: stock/templates/stock/item_base.html:183 +#: stock/templates/stock/item_base.html:179 #: templates/js/translated/stock.js:2397 msgid "Purchase Price" msgstr "Prezzo di Acquisto" @@ -5768,7 +5765,7 @@ msgid "User who checked this shipment" msgstr "Utente che ha controllato questa spedizione" #: order/models.py:1788 order/models.py:2011 order/serializers.py:1479 -#: order/serializers.py:1589 templates/js/translated/model_renderers.js:455 +#: order/serializers.py:1597 templates/js/translated/model_renderers.js:455 msgid "Shipment" msgstr "Spedizione" @@ -5982,7 +5979,7 @@ msgstr "Elemento Riga" msgid "Line item does not match purchase order" msgstr "L'elemento di riga non corrisponde all'ordine di acquisto" -#: order/serializers.py:656 order/serializers.py:779 order/serializers.py:1790 +#: order/serializers.py:656 order/serializers.py:779 order/serializers.py:1798 msgid "Select destination location for received items" msgstr "Seleziona la posizione di destinazione per gli elementi ricevuti" @@ -6019,7 +6016,7 @@ msgstr "Il codice a barre è già in uso" msgid "An integer quantity must be provided for trackable parts" msgstr "Deve essere fornita una quantità intera per gli articoli rintracciabili" -#: order/serializers.py:795 order/serializers.py:1806 +#: order/serializers.py:795 order/serializers.py:1814 msgid "Line items must be provided" msgstr "Gli elementi di linea devono essere forniti" @@ -6051,39 +6048,39 @@ msgstr "La quantità deve essere positiva" msgid "Enter serial numbers to allocate" msgstr "Inserisci i numeri di serie da assegnare" -#: order/serializers.py:1491 order/serializers.py:1597 +#: order/serializers.py:1491 order/serializers.py:1605 msgid "Shipment has already been shipped" msgstr "La spedizione è già stata spedita" -#: order/serializers.py:1494 order/serializers.py:1600 +#: order/serializers.py:1494 order/serializers.py:1608 msgid "Shipment is not associated with this order" msgstr "La spedizione non è associata con questo ordine" -#: order/serializers.py:1541 +#: order/serializers.py:1549 msgid "No match found for the following serial numbers" msgstr "Nessuna corrispondenza trovata per i seguenti numeri di serie" -#: order/serializers.py:1548 -msgid "The following serial numbers are already allocated" -msgstr "I seguenti numeri di serie sono già assegnati" +#: order/serializers.py:1556 +msgid "The following serial numbers are unavailable" +msgstr "" -#: order/serializers.py:1760 +#: order/serializers.py:1768 msgid "Return order line item" msgstr "" -#: order/serializers.py:1766 +#: order/serializers.py:1774 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1769 +#: order/serializers.py:1777 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1798 +#: order/serializers.py:1806 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1881 +#: order/serializers.py:1889 msgid "Line price currency" msgstr "" @@ -6510,7 +6507,7 @@ 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:48 part/models.py:1044 part/serializers.py:908 +#: part/admin.py:48 part/models.py:1044 part/serializers.py:906 #: part/templates/part/part_base.html:276 #: report/templates/report/inventree_stock_location_report.html:103 #: templates/js/translated/part.js:1233 templates/js/translated/part.js:2347 @@ -6537,7 +6534,7 @@ msgstr "" msgid "Category ID" msgstr "Id Categoria" -#: part/admin.py:67 part/admin.py:304 part/serializers.py:893 +#: part/admin.py:67 part/admin.py:304 part/serializers.py:891 #: part/stocktake.py:222 msgid "Category Name" msgstr "Nome Categoria" @@ -6562,18 +6559,18 @@ msgstr "Scorta Minima" msgid "Used In" msgstr "Utilizzato In" -#: part/admin.py:150 part/serializers.py:918 +#: part/admin.py:150 part/serializers.py:916 #: part/templates/part/part_base.html:248 stock/admin.py:236 #: templates/js/translated/part.js:717 templates/js/translated/part.js:2159 msgid "Building" msgstr "In Costruzione" -#: part/admin.py:155 part/models.py:3214 part/models.py:3228 +#: part/admin.py:155 part/models.py:3201 part/models.py:3215 #: templates/js/translated/part.js:976 msgid "Minimum Cost" msgstr "Costo Minimo" -#: part/admin.py:158 part/models.py:3221 part/models.py:3235 +#: part/admin.py:158 part/models.py:3208 part/models.py:3222 #: templates/js/translated/part.js:986 msgid "Maximum Cost" msgstr "Costo Massimo" @@ -6592,7 +6589,7 @@ msgid "Category Path" msgstr "Percorso Categoria" #: part/admin.py:325 part/models.py:420 part/serializers.py:130 -#: part/serializers.py:290 part/serializers.py:428 +#: part/serializers.py:290 part/serializers.py:426 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:20 #: part/templates/part/category.html:138 part/templates/part/category.html:158 #: part/templates/part/category_sidebar.html:9 @@ -6619,13 +6616,13 @@ msgstr "IPN Principale" msgid "Part Revision" msgstr "" -#: part/admin.py:418 part/serializers.py:1367 +#: part/admin.py:418 part/serializers.py:1365 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "Prezzo Minimo" -#: part/admin.py:423 part/serializers.py:1382 +#: part/admin.py:423 part/serializers.py:1380 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -6719,8 +6716,8 @@ msgstr "" msgid "BOM Valid" msgstr "" -#: part/api.py:1520 part/models.py:1036 part/models.py:3501 part/models.py:4060 -#: part/serializers.py:443 part/serializers.py:1223 +#: part/api.py:1520 part/models.py:1036 part/models.py:3488 part/models.py:4047 +#: part/serializers.py:441 part/serializers.py:1221 #: part/templates/part/part_base.html:267 stock/api.py:780 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 @@ -6746,7 +6743,7 @@ msgstr "" msgid "Default Location" msgstr "Posizione Predefinita" -#: part/bom.py:184 part/serializers.py:926 +#: part/bom.py:184 part/serializers.py:924 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "Giacenze Totali" @@ -6755,7 +6752,7 @@ msgstr "Giacenze Totali" msgid "Input quantity for price calculation" msgstr "Digita la quantità per il calcolo del prezzo" -#: part/models.py:89 part/models.py:4061 part/templates/part/category.html:16 +#: part/models.py:89 part/models.py:4048 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "Categoria Articoli" @@ -6878,7 +6875,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:995 part/models.py:4116 +#: part/models.py:995 part/models.py:4103 msgid "Part name" msgstr "Nome articolo" @@ -6906,7 +6903,7 @@ msgstr "Parole chiave per migliorare la visibilità nei risultati di ricerca" msgid "Part category" msgstr "Categoria articolo" -#: part/models.py:1052 part/serializers.py:360 +#: part/models.py:1052 msgid "Part revision or version number" msgstr "Numero di revisione o di versione" @@ -7012,164 +7009,164 @@ msgid "Owner responsible for this part" msgstr "" #: part/models.py:1264 part/templates/part/part_base.html:355 -#: stock/templates/stock/item_base.html:451 +#: stock/templates/stock/item_base.html:447 #: templates/js/translated/part.js:2490 msgid "Last Stocktake" msgstr "Ultimo Inventario" -#: part/models.py:2137 +#: part/models.py:2136 msgid "Sell multiple" msgstr "Vendita multipla" -#: part/models.py:3128 +#: part/models.py:3115 msgid "Currency used to cache pricing calculations" msgstr "Valuta utilizzata per calcolare i prezzi" -#: part/models.py:3144 +#: part/models.py:3131 msgid "Minimum BOM Cost" msgstr "Costo Minimo Distinta Base" -#: part/models.py:3145 +#: part/models.py:3132 msgid "Minimum cost of component parts" msgstr "Costo minimo dei componenti dell'articolo" -#: part/models.py:3151 +#: part/models.py:3138 msgid "Maximum BOM Cost" msgstr "Costo Massimo Distinta Base" -#: part/models.py:3152 +#: part/models.py:3139 msgid "Maximum cost of component parts" msgstr "Costo massimo dei componenti dell'articolo" -#: part/models.py:3158 +#: part/models.py:3145 msgid "Minimum Purchase Cost" msgstr "Importo Acquisto Minimo" -#: part/models.py:3159 +#: part/models.py:3146 msgid "Minimum historical purchase cost" msgstr "Costo minimo di acquisto storico" -#: part/models.py:3165 +#: part/models.py:3152 msgid "Maximum Purchase Cost" msgstr "Importo massimo acquisto" -#: part/models.py:3166 +#: part/models.py:3153 msgid "Maximum historical purchase cost" msgstr "Costo massimo di acquisto storico" -#: part/models.py:3172 +#: part/models.py:3159 msgid "Minimum Internal Price" msgstr "Prezzo Interno Minimo" -#: part/models.py:3173 +#: part/models.py:3160 msgid "Minimum cost based on internal price breaks" msgstr "Costo minimo basato su interruzioni di prezzo interne" -#: part/models.py:3179 +#: part/models.py:3166 msgid "Maximum Internal Price" msgstr "Prezzo Interno Massimo" -#: part/models.py:3180 +#: part/models.py:3167 msgid "Maximum cost based on internal price breaks" msgstr "Costo massimo basato su interruzioni di prezzo interne" -#: part/models.py:3186 +#: part/models.py:3173 msgid "Minimum Supplier Price" msgstr "Prezzo Minimo Fornitore" -#: part/models.py:3187 +#: part/models.py:3174 msgid "Minimum price of part from external suppliers" msgstr "Prezzo minimo articolo da fornitori esterni" -#: part/models.py:3193 +#: part/models.py:3180 msgid "Maximum Supplier Price" msgstr "Prezzo Massimo Fornitore" -#: part/models.py:3194 +#: part/models.py:3181 msgid "Maximum price of part from external suppliers" msgstr "Prezzo massimo dell'articolo proveniente da fornitori esterni" -#: part/models.py:3200 +#: part/models.py:3187 msgid "Minimum Variant Cost" msgstr "Variazione di costo minimo" -#: part/models.py:3201 +#: part/models.py:3188 msgid "Calculated minimum cost of variant parts" msgstr "Costo minimo calcolato di variazione dell'articolo" -#: part/models.py:3207 +#: part/models.py:3194 msgid "Maximum Variant Cost" msgstr "Massima variazione di costo" -#: part/models.py:3208 +#: part/models.py:3195 msgid "Calculated maximum cost of variant parts" msgstr "Costo massimo calcolato di variazione dell'articolo" -#: part/models.py:3215 +#: part/models.py:3202 msgid "Override minimum cost" msgstr "" -#: part/models.py:3222 +#: part/models.py:3209 msgid "Override maximum cost" msgstr "" -#: part/models.py:3229 +#: part/models.py:3216 msgid "Calculated overall minimum cost" msgstr "Costo minimo totale calcolato" -#: part/models.py:3236 +#: part/models.py:3223 msgid "Calculated overall maximum cost" msgstr "Costo massimo totale calcolato" -#: part/models.py:3242 +#: part/models.py:3229 msgid "Minimum Sale Price" msgstr "Prezzo Di Vendita Minimo" -#: part/models.py:3243 +#: part/models.py:3230 msgid "Minimum sale price based on price breaks" msgstr "Prezzo minimo di vendita basato sulle interruzioni di prezzo" -#: part/models.py:3249 +#: part/models.py:3236 msgid "Maximum Sale Price" msgstr "Prezzo Di Vendita Massimo" -#: part/models.py:3250 +#: part/models.py:3237 msgid "Maximum sale price based on price breaks" msgstr "Prezzo massimo di vendita basato sulle interruzioni di prezzo" -#: part/models.py:3256 +#: part/models.py:3243 msgid "Minimum Sale Cost" msgstr "Costo Di Vendita Minimo" -#: part/models.py:3257 +#: part/models.py:3244 msgid "Minimum historical sale price" msgstr "Prezzo storico minimo di vendita" -#: part/models.py:3263 +#: part/models.py:3250 msgid "Maximum Sale Cost" msgstr "Costo Di Vendita Minimo" -#: part/models.py:3264 +#: part/models.py:3251 msgid "Maximum historical sale price" msgstr "Prezzo storico massimo di vendita" -#: part/models.py:3283 +#: part/models.py:3270 msgid "Part for stocktake" msgstr "Articolo per l'inventario" -#: part/models.py:3288 +#: part/models.py:3275 msgid "Item Count" msgstr "Contatore Elemento" -#: part/models.py:3289 +#: part/models.py:3276 msgid "Number of individual stock entries at time of stocktake" msgstr "Numero di scorte individuali al momento dell'inventario" -#: part/models.py:3297 +#: part/models.py:3284 msgid "Total available stock at time of stocktake" msgstr "Totale delle scorte disponibili al momento dell'inventario" -#: part/models.py:3301 part/models.py:3384 +#: part/models.py:3288 part/models.py:3371 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -7181,363 +7178,363 @@ msgstr "Totale delle scorte disponibili al momento dell'inventario" msgid "Date" msgstr "Data" -#: part/models.py:3302 +#: part/models.py:3289 msgid "Date stocktake was performed" msgstr "Data in cui è stato effettuato l'inventario" -#: part/models.py:3310 +#: part/models.py:3297 msgid "Additional notes" msgstr "Note aggiuntive" -#: part/models.py:3320 +#: part/models.py:3307 msgid "User who performed this stocktake" msgstr "Utente che ha eseguito questo inventario" -#: part/models.py:3326 +#: part/models.py:3313 msgid "Minimum Stock Cost" msgstr "Costo Minimo Scorta" -#: part/models.py:3327 +#: part/models.py:3314 msgid "Estimated minimum cost of stock on hand" msgstr "Costo minimo stimato di magazzino a disposizione" -#: part/models.py:3333 +#: part/models.py:3320 msgid "Maximum Stock Cost" msgstr "Costo Massimo Scorte" -#: part/models.py:3334 +#: part/models.py:3321 msgid "Estimated maximum cost of stock on hand" msgstr "Costo massimo stimato di magazzino a disposizione" -#: part/models.py:3390 templates/InvenTree/settings/settings_staff_js.html:532 +#: part/models.py:3377 templates/InvenTree/settings/settings_staff_js.html:532 msgid "Report" msgstr "" -#: part/models.py:3391 +#: part/models.py:3378 msgid "Stocktake report file (generated internally)" msgstr "File Report Inventario (generato internamente)" -#: part/models.py:3396 templates/InvenTree/settings/settings_staff_js.html:539 +#: part/models.py:3383 templates/InvenTree/settings/settings_staff_js.html:539 msgid "Part Count" msgstr "Conteggio Articolo" -#: part/models.py:3397 +#: part/models.py:3384 msgid "Number of parts covered by stocktake" msgstr "Numero di articoli oggetto d'inventario" -#: part/models.py:3407 +#: part/models.py:3394 msgid "User who requested this stocktake report" msgstr "Utente che ha richiesto questo report inventario" -#: part/models.py:3417 +#: part/models.py:3404 msgid "Part Sale Price Break" msgstr "" -#: part/models.py:3529 +#: part/models.py:3516 msgid "Part Test Template" msgstr "" -#: part/models.py:3555 +#: part/models.py:3542 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3576 part/models.py:3745 +#: part/models.py:3563 part/models.py:3732 msgid "Choices must be unique" msgstr "" -#: part/models.py:3587 +#: part/models.py:3574 msgid "Test templates can only be created for testable parts" msgstr "" -#: part/models.py:3598 +#: part/models.py:3585 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3615 templates/js/translated/part.js:2898 +#: part/models.py:3602 templates/js/translated/part.js:2898 msgid "Test Name" msgstr "Nome Test" -#: part/models.py:3616 +#: part/models.py:3603 msgid "Enter a name for the test" msgstr "Inserisci un nome per la prova" -#: part/models.py:3622 +#: part/models.py:3609 msgid "Test Key" msgstr "" -#: part/models.py:3623 +#: part/models.py:3610 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3630 +#: part/models.py:3617 msgid "Test Description" msgstr "Descrizione Di Prova" -#: part/models.py:3631 +#: part/models.py:3618 msgid "Enter description for this test" msgstr "Inserisci descrizione per questa prova" -#: part/models.py:3635 report/models.py:208 +#: part/models.py:3622 report/models.py:216 #: templates/js/translated/part.js:2919 #: templates/js/translated/table_filters.js:502 msgid "Enabled" msgstr "Abilitato" -#: part/models.py:3635 +#: part/models.py:3622 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3640 templates/js/translated/part.js:2927 +#: part/models.py:3627 templates/js/translated/part.js:2927 #: templates/js/translated/table_filters.js:498 msgid "Required" msgstr "Richiesto" -#: part/models.py:3641 +#: part/models.py:3628 msgid "Is this test required to pass?" msgstr "Questa prova è necessaria per passare?" -#: part/models.py:3646 templates/js/translated/part.js:2935 +#: part/models.py:3633 templates/js/translated/part.js:2935 msgid "Requires Value" msgstr "Valore richiesto" -#: part/models.py:3647 +#: part/models.py:3634 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:3652 templates/js/translated/part.js:2942 +#: part/models.py:3639 templates/js/translated/part.js:2942 msgid "Requires Attachment" msgstr "Allegato Richiesto" -#: part/models.py:3654 +#: part/models.py:3641 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:3660 part/models.py:3804 templates/js/translated/part.js:1643 +#: part/models.py:3647 part/models.py:3791 templates/js/translated/part.js:1643 msgid "Choices" msgstr "" -#: part/models.py:3661 +#: part/models.py:3648 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3693 +#: part/models.py:3680 msgid "Part Parameter Template" msgstr "" -#: part/models.py:3720 +#: part/models.py:3707 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3725 +#: part/models.py:3712 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3762 +#: part/models.py:3749 msgid "Parameter template name must be unique" msgstr "Il nome del modello del parametro deve essere univoco" -#: part/models.py:3777 +#: part/models.py:3764 msgid "Parameter Name" msgstr "Nome Parametro" -#: part/models.py:3784 +#: part/models.py:3771 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3792 +#: part/models.py:3779 msgid "Parameter description" msgstr "Descrizione del parametro" -#: part/models.py:3798 templates/js/translated/part.js:1634 +#: part/models.py:3785 templates/js/translated/part.js:1634 #: templates/js/translated/table_filters.js:837 msgid "Checkbox" msgstr "" -#: part/models.py:3799 +#: part/models.py:3786 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3805 +#: part/models.py:3792 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3839 +#: part/models.py:3826 msgid "Part Parameter" msgstr "" -#: part/models.py:3865 +#: part/models.py:3852 msgid "Parameter cannot be modified - part is locked" msgstr "" -#: part/models.py:3903 +#: part/models.py:3890 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3952 +#: part/models.py:3939 msgid "Parent Part" msgstr "Articolo principale" -#: part/models.py:3960 part/models.py:4068 part/models.py:4069 +#: part/models.py:3947 part/models.py:4055 part/models.py:4056 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "Modello Parametro" -#: part/models.py:3966 +#: part/models.py:3953 msgid "Parameter Value" msgstr "Valore del Parametro" -#: part/models.py:4016 +#: part/models.py:4003 msgid "Part Category Parameter Template" msgstr "" -#: part/models.py:4075 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:4062 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "Valore Predefinito" -#: part/models.py:4076 +#: part/models.py:4063 msgid "Default Parameter Value" msgstr "Valore Parametro Predefinito" -#: part/models.py:4114 +#: part/models.py:4101 msgid "Part ID or part name" msgstr "ID articolo o nome articolo" -#: part/models.py:4115 +#: part/models.py:4102 msgid "Unique part ID value" msgstr "Valore ID articolo univoco" -#: part/models.py:4117 +#: part/models.py:4104 msgid "Part IPN value" msgstr "Valore IPN articolo" -#: part/models.py:4118 +#: part/models.py:4105 msgid "Level" msgstr "Livello" -#: part/models.py:4118 +#: part/models.py:4105 msgid "BOM level" msgstr "Livello distinta base" -#: part/models.py:4228 +#: part/models.py:4215 msgid "BOM item cannot be modified - assembly is locked" msgstr "" -#: part/models.py:4235 +#: part/models.py:4222 msgid "BOM item cannot be modified - variant assembly is locked" msgstr "" -#: part/models.py:4245 +#: part/models.py:4232 msgid "Select parent part" msgstr "Seleziona articolo principale" -#: part/models.py:4255 +#: part/models.py:4242 msgid "Sub part" msgstr "Articolo subordinato" -#: part/models.py:4256 +#: part/models.py:4243 msgid "Select part to be used in BOM" msgstr "Seleziona l'articolo da utilizzare nella Distinta Base" -#: part/models.py:4267 +#: part/models.py:4254 msgid "BOM quantity for this BOM item" msgstr "Quantità Distinta Base per questo elemento Distinta Base" -#: part/models.py:4273 +#: part/models.py:4260 msgid "This BOM item is optional" msgstr "Questo elemento della Distinta Base è opzionale" -#: part/models.py:4279 +#: part/models.py:4266 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:4286 part/templates/part/upload_bom.html:55 +#: part/models.py:4273 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "Eccedenza" -#: part/models.py:4287 +#: part/models.py:4274 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "Quantità stimata scarti di produzione (assoluta o percentuale)" -#: part/models.py:4294 +#: part/models.py:4281 msgid "BOM item reference" msgstr "Riferimento Elemento Distinta Base" -#: part/models.py:4302 +#: part/models.py:4289 msgid "BOM item notes" msgstr "Note Elemento Distinta Base" -#: part/models.py:4308 +#: part/models.py:4295 msgid "Checksum" msgstr "Codice di controllo" -#: part/models.py:4309 +#: part/models.py:4296 msgid "BOM line checksum" msgstr "Codice di controllo Distinta Base" -#: part/models.py:4314 templates/js/translated/table_filters.js:181 +#: part/models.py:4301 templates/js/translated/table_filters.js:181 msgid "Validated" msgstr "Convalidato" -#: part/models.py:4315 +#: part/models.py:4302 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4320 part/templates/part/upload_bom.html:57 +#: part/models.py:4307 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:185 #: templates/js/translated/table_filters.js:218 msgid "Gets inherited" msgstr "" -#: part/models.py:4321 +#: part/models.py:4308 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:4327 +#: part/models.py:4314 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:4412 stock/models.py:689 +#: part/models.py:4399 stock/models.py:689 msgid "Quantity must be integer value for trackable parts" msgstr "La quantità deve essere un valore intero per gli articoli rintracciabili" -#: part/models.py:4422 part/models.py:4424 +#: part/models.py:4409 part/models.py:4411 msgid "Sub part must be specified" msgstr "L'articolo subordinato deve essere specificato" -#: part/models.py:4561 +#: part/models.py:4554 msgid "BOM Item Substitute" msgstr "Elemento Distinta Base Sostituito" -#: part/models.py:4582 +#: part/models.py:4575 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:4595 +#: part/models.py:4588 msgid "Parent BOM item" msgstr "Elemento principale Distinta Base" -#: part/models.py:4603 +#: part/models.py:4596 msgid "Substitute part" msgstr "Sostituisci l'Articolo" -#: part/models.py:4619 +#: part/models.py:4612 msgid "Part 1" msgstr "Articolo 1" -#: part/models.py:4627 +#: part/models.py:4620 msgid "Part 2" msgstr "Articolo 2" -#: part/models.py:4628 +#: part/models.py:4621 msgid "Select Related Part" msgstr "Seleziona Prodotto Relativo" -#: part/models.py:4647 +#: part/models.py:4640 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:4652 +#: part/models.py:4645 msgid "Duplicate relationship already exists" msgstr "La relazione duplicata esiste già" @@ -7571,326 +7568,326 @@ msgstr "Valuta di acquisto di questo articolo in stock" msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:434 +#: part/serializers.py:432 msgid "No parts selected" msgstr "" -#: part/serializers.py:444 +#: part/serializers.py:442 msgid "Select category" msgstr "" -#: part/serializers.py:479 +#: part/serializers.py:477 msgid "Original Part" msgstr "Articolo Originale" -#: part/serializers.py:480 +#: part/serializers.py:478 msgid "Select original part to duplicate" msgstr "Seleziona l'articolo originale da duplicare" -#: part/serializers.py:485 +#: part/serializers.py:483 msgid "Copy Image" msgstr "Copia immagine" -#: part/serializers.py:486 +#: part/serializers.py:484 msgid "Copy image from original part" msgstr "Copia immagine dall'articolo originale" -#: part/serializers.py:492 part/templates/part/detail.html:293 +#: part/serializers.py:490 part/templates/part/detail.html:293 msgid "Copy BOM" msgstr "Copia Distinta Base" -#: part/serializers.py:493 +#: part/serializers.py:491 msgid "Copy bill of materials from original part" msgstr "Copia fattura dei materiali dall'articolo originale" -#: part/serializers.py:499 +#: part/serializers.py:497 msgid "Copy Parameters" msgstr "Copia parametri" -#: part/serializers.py:500 +#: part/serializers.py:498 msgid "Copy parameter data from original part" msgstr "Copia i dati dei parametri dall'articolo originale" -#: part/serializers.py:506 +#: part/serializers.py:504 msgid "Copy Notes" msgstr "" -#: part/serializers.py:507 +#: part/serializers.py:505 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:525 +#: part/serializers.py:523 msgid "Initial Stock Quantity" msgstr "Quantità iniziale" -#: part/serializers.py:527 +#: part/serializers.py:525 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:534 +#: part/serializers.py:532 msgid "Initial Stock Location" msgstr "Ubicazione Iniziale Magazzino" -#: part/serializers.py:535 +#: part/serializers.py:533 msgid "Specify initial stock location for this Part" msgstr "Specificare l'ubicazione iniziale del magazzino per questo Articolo" -#: part/serializers.py:552 +#: part/serializers.py:550 msgid "Select supplier (or leave blank to skip)" msgstr "Seleziona il fornitore (o lascia vuoto per saltare)" -#: part/serializers.py:568 +#: part/serializers.py:566 msgid "Select manufacturer (or leave blank to skip)" msgstr "Seleziona il produttore (o lascia vuoto per saltare)" -#: part/serializers.py:578 +#: part/serializers.py:576 msgid "Manufacturer part number" msgstr "Codice articolo Produttore" -#: part/serializers.py:585 +#: part/serializers.py:583 msgid "Selected company is not a valid supplier" msgstr "L'azienda selezionata non è un fornitore valido" -#: part/serializers.py:594 +#: part/serializers.py:592 msgid "Selected company is not a valid manufacturer" msgstr "L'azienda selezionata non è un produttore valido" -#: part/serializers.py:605 +#: part/serializers.py:603 msgid "Manufacturer part matching this MPN already exists" msgstr "L'articolo del produttore che corrisponde a questo MPN esiste già" -#: part/serializers.py:612 +#: part/serializers.py:610 msgid "Supplier part matching this SKU already exists" msgstr "L'articolo del fornitore che corrisponde a questo SKU esiste già" -#: part/serializers.py:924 +#: part/serializers.py:922 msgid "Revisions" msgstr "" -#: part/serializers.py:929 +#: part/serializers.py:927 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:932 +#: part/serializers.py:930 msgid "Variant Stock" msgstr "" -#: part/serializers.py:962 part/templates/part/copy_part.html:9 +#: part/serializers.py:960 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:474 msgid "Duplicate Part" msgstr "Duplica articolo" -#: part/serializers.py:963 +#: part/serializers.py:961 msgid "Copy initial data from another Part" msgstr "Copia i dati iniziali da un altro Articolo" -#: part/serializers.py:969 templates/js/translated/part.js:103 +#: part/serializers.py:967 templates/js/translated/part.js:103 msgid "Initial Stock" msgstr "Stock iniziale" -#: part/serializers.py:970 +#: part/serializers.py:968 msgid "Create Part with initial stock quantity" msgstr "Crea Articolo con quantità di scorta iniziale" -#: part/serializers.py:976 +#: part/serializers.py:974 msgid "Supplier Information" msgstr "Informazioni Fornitore" -#: part/serializers.py:977 +#: part/serializers.py:975 msgid "Add initial supplier information for this part" msgstr "Aggiungi le informazioni iniziali del fornitore per questo articolo" -#: part/serializers.py:985 +#: part/serializers.py:983 msgid "Copy Category Parameters" msgstr "Copia Parametri Categoria" -#: part/serializers.py:986 +#: part/serializers.py:984 msgid "Copy parameter templates from selected part category" msgstr "Copia i parametri dai modelli della categoria articolo selezionata" -#: part/serializers.py:991 +#: part/serializers.py:989 msgid "Existing Image" msgstr "" -#: part/serializers.py:992 +#: part/serializers.py:990 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:1009 +#: part/serializers.py:1007 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1215 +#: part/serializers.py:1213 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:1225 +#: part/serializers.py:1223 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:1235 +#: part/serializers.py:1233 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:1241 +#: part/serializers.py:1239 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1242 +#: part/serializers.py:1240 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1247 +#: part/serializers.py:1245 msgid "Generate Report" msgstr "Genera Report" -#: part/serializers.py:1248 +#: part/serializers.py:1246 msgid "Generate report file containing calculated stocktake data" msgstr "Genera file di report contenente dati di inventario calcolati" -#: part/serializers.py:1253 +#: part/serializers.py:1251 msgid "Update Parts" msgstr "Aggiorna Articoli" -#: part/serializers.py:1254 +#: part/serializers.py:1252 msgid "Update specified parts with calculated stocktake data" msgstr "Aggiorna gli articoli specificati con i dati calcolati di inventario" -#: part/serializers.py:1262 +#: part/serializers.py:1260 msgid "Stocktake functionality is not enabled" msgstr "La funzione Inventario non è abilitata" -#: part/serializers.py:1368 +#: part/serializers.py:1366 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1375 +#: part/serializers.py:1373 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1383 +#: part/serializers.py:1381 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1390 +#: part/serializers.py:1388 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1419 +#: part/serializers.py:1417 msgid "Update" msgstr "Aggiorna" -#: part/serializers.py:1420 +#: part/serializers.py:1418 msgid "Update pricing for this part" msgstr "Aggiorna i prezzi per questo articolo" -#: part/serializers.py:1443 +#: part/serializers.py:1441 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1450 +#: part/serializers.py:1448 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1453 +#: part/serializers.py:1451 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1597 +#: part/serializers.py:1595 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1606 +#: part/serializers.py:1604 msgid "Component Name" msgstr "" -#: part/serializers.py:1609 +#: part/serializers.py:1607 msgid "Component IPN" msgstr "" -#: part/serializers.py:1612 +#: part/serializers.py:1610 msgid "Component Description" msgstr "" -#: part/serializers.py:1618 +#: part/serializers.py:1616 msgid "Select the component part" msgstr "" -#: part/serializers.py:1627 part/templates/part/part_base.html:242 +#: part/serializers.py:1625 part/templates/part/part_base.html:242 #: templates/js/translated/bom.js:1219 msgid "Can Build" msgstr "Puoi produrre" -#: part/serializers.py:1858 +#: part/serializers.py:1856 msgid "Select part to copy BOM from" msgstr "Seleziona l'articolo da cui copiare la distinta base" -#: part/serializers.py:1866 +#: part/serializers.py:1864 msgid "Remove Existing Data" msgstr "Rimuovi Dati Esistenti" -#: part/serializers.py:1867 +#: part/serializers.py:1865 msgid "Remove existing BOM items before copying" msgstr "Rimuovi elementi distinta base esistenti prima di copiare" -#: part/serializers.py:1872 +#: part/serializers.py:1870 msgid "Include Inherited" msgstr "Includi Ereditato" -#: part/serializers.py:1873 +#: part/serializers.py:1871 msgid "Include BOM items which are inherited from templated parts" msgstr "Includi gli elementi Distinta Base ereditati da prodotti template" -#: part/serializers.py:1878 +#: part/serializers.py:1876 msgid "Skip Invalid Rows" msgstr "Salta Righe Non Valide" -#: part/serializers.py:1879 +#: part/serializers.py:1877 msgid "Enable this option to skip invalid rows" msgstr "Abilita questa opzione per saltare le righe non valide" -#: part/serializers.py:1884 +#: part/serializers.py:1882 msgid "Copy Substitute Parts" msgstr "Copia Articoli sostitutivi" -#: part/serializers.py:1885 +#: part/serializers.py:1883 msgid "Copy substitute parts when duplicate BOM items" msgstr "Copia articoli sostitutivi quando duplichi gli elementi distinta base" -#: part/serializers.py:1922 +#: part/serializers.py:1920 msgid "Clear Existing BOM" msgstr "Cancella Distinta Base esistente" -#: part/serializers.py:1923 +#: part/serializers.py:1921 msgid "Delete existing BOM items before uploading" msgstr "Rimuovi elementi distinta base esistenti prima del caricamento" -#: part/serializers.py:1955 +#: part/serializers.py:1953 msgid "No part column specified" msgstr "Nessuna colonna articolo specificata" -#: part/serializers.py:1999 +#: part/serializers.py:1997 msgid "Multiple matching parts found" msgstr "Trovati più articoli corrispondenti" -#: part/serializers.py:2002 +#: part/serializers.py:2000 msgid "No matching part found" msgstr "Nessun articolo corrispondente trovato" -#: part/serializers.py:2004 +#: part/serializers.py:2002 msgid "Part is not designated as a component" msgstr "L'articolo non è indicato come componente" -#: part/serializers.py:2013 +#: part/serializers.py:2011 msgid "Quantity not provided" msgstr "Quantità non fornita" -#: part/serializers.py:2021 +#: part/serializers.py:2019 msgid "Invalid quantity" msgstr "Quantità non valida" -#: part/serializers.py:2044 +#: part/serializers.py:2042 msgid "At least one BOM item is required" msgstr "Almeno un elemento della distinta base è richiesto" @@ -8216,7 +8213,7 @@ msgid "Subscribe to notifications for this part" msgstr "Sottoscrivi le notifiche per questo articolo" #: part/templates/part/part_base.html:52 -#: stock/templates/stock/item_base.html:62 +#: stock/templates/stock/item_base.html:61 #: stock/templates/stock/location.html:71 templates/js/translated/label.js:136 msgid "Print Label" msgstr "Stampa Etichetta" @@ -8226,7 +8223,7 @@ msgid "Show pricing information" msgstr "Mostra informazioni sui prezzi" #: part/templates/part/part_base.html:63 -#: stock/templates/stock/item_base.html:110 +#: stock/templates/stock/item_base.html:106 #: stock/templates/stock/location.html:80 msgid "Stock actions" msgstr "Azioni magazzino" @@ -8297,12 +8294,12 @@ msgid "Required for Orders" msgstr "" #: part/templates/part/part_base.html:225 -#: stock/templates/stock/item_base.html:388 +#: stock/templates/stock/item_base.html:384 msgid "Allocated to Build Orders" msgstr "Assegnato agli Ordini di Produzione" #: part/templates/part/part_base.html:234 -#: stock/templates/stock/item_base.html:381 +#: stock/templates/stock/item_base.html:377 msgid "Allocated to Sales Orders" msgstr "Assegnato agli Ordini di Vendita" @@ -8322,7 +8319,7 @@ msgid "Latest Serial Number" msgstr "Ultimo Numero Di Serie" #: part/templates/part/part_base.html:372 -#: stock/templates/stock/item_base.html:322 +#: stock/templates/stock/item_base.html:318 msgid "Search for serial number" msgstr "Ricerca per numero seriale" @@ -8449,7 +8446,7 @@ msgid "Edit" msgstr "Modifica" #: part/templates/part/prices.html:28 stock/admin.py:252 -#: stock/templates/stock/item_base.html:446 +#: stock/templates/stock/item_base.html:442 #: templates/js/translated/company.js:1703 #: templates/js/translated/company.js:1713 #: templates/js/translated/stock.js:2332 @@ -8604,7 +8601,7 @@ msgstr "Immagine articolo non trovata" msgid "Part Pricing" msgstr "Prezzo Articolo" -#: plugin/api.py:172 +#: plugin/api.py:174 msgid "Plugin cannot be deleted as it is currently active" msgstr "" @@ -8940,7 +8937,7 @@ msgstr "" msgid "Print a border around each label" msgstr "" -#: plugin/builtin/labels/label_sheet.py:47 report/models.py:307 +#: plugin/builtin/labels/label_sheet.py:47 report/models.py:315 msgid "Landscape" msgstr "" @@ -9012,44 +9009,44 @@ msgstr "" msgid "The Supplier which acts as 'TME'" msgstr "" -#: plugin/installer.py:194 plugin/installer.py:274 +#: plugin/installer.py:199 plugin/installer.py:282 msgid "Only staff users can administer plugins" msgstr "" -#: plugin/installer.py:197 +#: plugin/installer.py:202 msgid "Plugin installation is disabled" msgstr "" -#: plugin/installer.py:241 +#: plugin/installer.py:246 msgid "Installed plugin successfully" msgstr "" -#: plugin/installer.py:246 +#: plugin/installer.py:251 #, python-brace-format msgid "Installed plugin into {path}" msgstr "" -#: plugin/installer.py:265 +#: plugin/installer.py:273 msgid "Plugin was not found in registry" msgstr "" -#: plugin/installer.py:268 +#: plugin/installer.py:276 msgid "Plugin is not a packaged plugin" msgstr "" -#: plugin/installer.py:271 +#: plugin/installer.py:279 msgid "Plugin package name not found" msgstr "" -#: plugin/installer.py:291 +#: plugin/installer.py:299 msgid "Plugin uninstalling is disabled" msgstr "" -#: plugin/installer.py:295 +#: plugin/installer.py:303 msgid "Plugin cannot be uninstalled as it is currently active" msgstr "" -#: plugin/installer.py:308 +#: plugin/installer.py:316 msgid "Uninstalled plugin successfully" msgstr "" @@ -9098,7 +9095,7 @@ msgstr "Plugin Integrato" msgid "Package Plugin" msgstr "" -#: plugin/models.py:220 report/models.py:474 +#: plugin/models.py:220 report/models.py:482 #: templates/InvenTree/settings/plugin_settings.html:9 #: templates/js/translated/plugin.js:51 msgid "Plugin" @@ -9167,6 +9164,38 @@ msgstr "" msgid "InvenTree Contributors" msgstr "" +#: plugin/samples/integration/user_interface_sample.py:22 +msgid "Enable Part Panels" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:23 +msgid "Enable custom panels for Part views" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:28 +msgid "Enable Purchase Order Panels" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:29 +msgid "Enable custom panels for Purchase Order views" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:34 +msgid "Enable Broken Panels" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:35 +msgid "Enable broken panels for testing" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:40 +msgid "Enable Dynamic Panel" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:41 +msgid "Enable dynamic panels for testing" +msgstr "" + #: plugin/serializers.py:81 msgid "Source URL" msgstr "URL di origine" @@ -9245,12 +9274,36 @@ msgstr "" msgid "Delete the plugin configuration from the database" msgstr "" +#: plugin/serializers.py:324 +msgid "Plugin Key" +msgstr "" + +#: plugin/serializers.py:328 +msgid "Panel Name" +msgstr "" + +#: plugin/serializers.py:332 +msgid "Panel Title" +msgstr "" + +#: plugin/serializers.py:337 +msgid "Panel Icon" +msgstr "" + +#: plugin/serializers.py:341 +msgid "Panel Content (HTML)" +msgstr "" + +#: plugin/serializers.py:345 +msgid "Panel Source (javascript)" +msgstr "" + #: report/api.py:88 msgid "No valid objects provided to template" msgstr "Nessun oggetto valido fornito nel modello" -#: report/api.py:103 report/models.py:438 report/serializers.py:98 -#: report/serializers.py:148 templates/js/translated/purchase_order.js:1817 +#: report/api.py:103 report/models.py:446 report/serializers.py:99 +#: report/serializers.py:149 templates/js/translated/purchase_order.js:1817 #: templates/js/translated/return_order.js:353 #: templates/js/translated/sales_order.js:887 #: templates/js/translated/sales_order.js:1047 @@ -9281,7 +9334,11 @@ msgstr "" msgid "Error printing label" msgstr "" -#: report/api.py:375 report/api.py:411 +#: report/api.py:358 +msgid "Report saved at time of printing" +msgstr "" + +#: report/api.py:384 report/api.py:420 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "Il file del modello '{template}' è mancante o non esiste" @@ -9318,135 +9375,143 @@ msgstr "" msgid "Revision number (auto-increments)" msgstr "" -#: report/models.py:202 +#: report/models.py:168 +msgid "Attach to Model on Print" +msgstr "" + +#: report/models.py:170 +msgid "Save report output as an attachment against linked model instance when printing" +msgstr "" + +#: report/models.py:210 msgid "Filename Pattern" msgstr "Formato del nome file" -#: report/models.py:203 +#: report/models.py:211 msgid "Pattern for generating filenames" msgstr "" -#: report/models.py:208 +#: report/models.py:216 msgid "Template is enabled" msgstr "" -#: report/models.py:214 +#: report/models.py:222 msgid "Target model type for template" msgstr "" -#: report/models.py:234 +#: report/models.py:242 msgid "Filters" msgstr "Filtri" -#: report/models.py:235 +#: report/models.py:243 msgid "Template query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:294 report/models.py:361 +#: report/models.py:302 report/models.py:369 msgid "Template file" msgstr "" -#: report/models.py:302 +#: report/models.py:310 msgid "Page size for PDF reports" msgstr "" -#: report/models.py:308 +#: report/models.py:316 msgid "Render report in landscape orientation" msgstr "" -#: report/models.py:367 +#: report/models.py:375 msgid "Width [mm]" msgstr "Larghezza [mm]" -#: report/models.py:368 +#: report/models.py:376 msgid "Label width, specified in mm" msgstr "Larghezza dell'etichetta, specificata in mm" -#: report/models.py:374 +#: report/models.py:382 msgid "Height [mm]" msgstr "Altezza [mm]" -#: report/models.py:375 +#: report/models.py:383 msgid "Label height, specified in mm" msgstr "Larghezza dell'etichetta, specificata in mm" -#: report/models.py:438 +#: report/models.py:446 msgid "Number of items to process" msgstr "" -#: report/models.py:444 +#: report/models.py:452 msgid "Report generation is complete" msgstr "" -#: report/models.py:448 templates/js/translated/build.js:2352 +#: report/models.py:456 templates/js/translated/build.js:2352 msgid "Progress" msgstr "" -#: report/models.py:448 +#: report/models.py:456 msgid "Report generation progress" msgstr "" -#: report/models.py:456 +#: report/models.py:464 msgid "Report Template" msgstr "" -#: report/models.py:463 report/models.py:486 +#: report/models.py:471 report/models.py:494 msgid "Output File" msgstr "" -#: report/models.py:464 report/models.py:487 +#: report/models.py:472 report/models.py:495 msgid "Generated output file" msgstr "" -#: report/models.py:475 +#: report/models.py:483 msgid "Label output plugin" msgstr "" -#: report/models.py:479 +#: report/models.py:487 msgid "Label Template" msgstr "" -#: report/models.py:502 +#: report/models.py:510 msgid "Snippet" msgstr "" -#: report/models.py:503 +#: report/models.py:511 msgid "Report snippet file" msgstr "Report file snippet" -#: report/models.py:510 +#: report/models.py:518 msgid "Snippet file description" msgstr "Descrizione file snippet" -#: report/models.py:528 +#: report/models.py:536 msgid "Asset" msgstr "Risorsa" -#: report/models.py:529 +#: report/models.py:537 msgid "Report asset file" msgstr "Report file risorsa" -#: report/models.py:536 +#: report/models.py:544 msgid "Asset file description" msgstr "File risorsa descrizione" -#: report/serializers.py:91 +#: report/serializers.py:92 msgid "Select report template" msgstr "" -#: report/serializers.py:99 report/serializers.py:149 +#: report/serializers.py:100 report/serializers.py:150 msgid "List of item primary keys to include in the report" msgstr "" -#: report/serializers.py:132 +#: report/serializers.py:133 msgid "Select label template" msgstr "" -#: report/serializers.py:140 +#: report/serializers.py:141 msgid "Printing Plugin" msgstr "" -#: report/serializers.py:141 +#: report/serializers.py:142 msgid "Select plugin to use for label printing" msgstr "" @@ -9517,7 +9582,7 @@ msgstr "Risultati Test" msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report.html:103 stock/models.py:2538 +#: report/templates/report/inventree_test_report.html:103 stock/models.py:2533 msgid "Result" msgstr "Risultato" @@ -9598,7 +9663,7 @@ msgid "Customer ID" msgstr "ID Cliente" #: stock/admin.py:206 stock/models.py:829 -#: stock/templates/stock/item_base.html:354 +#: stock/templates/stock/item_base.html:350 msgid "Installed In" msgstr "Installato In" @@ -9623,7 +9688,7 @@ msgid "Delete on Deplete" msgstr "Elimina al esaurimento" #: stock/admin.py:261 stock/models.py:923 -#: stock/templates/stock/item_base.html:433 +#: stock/templates/stock/item_base.html:429 #: templates/js/translated/stock.js:2316 users/models.py:124 msgid "Expiry Date" msgstr "Data di Scadenza" @@ -9665,7 +9730,7 @@ msgid "Expiry date after" msgstr "" #: stock/api.py:839 stock/serializers.py:611 -#: stock/templates/stock/item_base.html:439 +#: stock/templates/stock/item_base.html:435 #: templates/js/translated/table_filters.js:448 msgid "Stale" msgstr "Obsoleto" @@ -9715,7 +9780,7 @@ msgid "Stock Locations" msgstr "Posizioni magazzino" #: stock/models.py:185 stock/models.py:972 -#: stock/templates/stock/item_base.html:247 +#: stock/templates/stock/item_base.html:243 msgid "Owner" msgstr "Proprietario" @@ -9826,7 +9891,7 @@ msgstr "Genera Costruzione" msgid "Build for this stock item" msgstr "Costruisci per questo elemento di magazzino" -#: stock/models.py:892 stock/templates/stock/item_base.html:363 +#: stock/models.py:892 stock/templates/stock/item_base.html:359 msgid "Consumed By" msgstr "" @@ -9891,7 +9956,7 @@ msgstr "La quantità non corrisponde ai numeri di serie" msgid "Serial numbers already exist" msgstr "Numeri di serie già esistenti" -#: stock/models.py:1636 +#: stock/models.py:1636 stock/models.py:2436 msgid "Test template does not exist" msgstr "" @@ -9939,67 +10004,67 @@ msgstr "I codici di stato dello stock devono corrispondere" msgid "StockItem cannot be moved as it is not in stock" msgstr "Le giacenze non possono essere spostate perché non disponibili" -#: stock/models.py:2337 +#: stock/models.py:2335 msgid "Stock Item Tracking" msgstr "" -#: stock/models.py:2370 +#: stock/models.py:2368 msgid "Entry notes" msgstr "Note d'ingresso" -#: stock/models.py:2410 +#: stock/models.py:2408 msgid "Stock Item Test Result" msgstr "" -#: stock/models.py:2443 +#: stock/models.py:2439 msgid "Value must be provided for this test" msgstr "Il valore deve essere fornito per questo test" -#: stock/models.py:2448 +#: stock/models.py:2443 msgid "Attachment must be uploaded for this test" msgstr "L'allegato deve essere caricato per questo test" -#: stock/models.py:2453 +#: stock/models.py:2448 msgid "Invalid value for this test" msgstr "" -#: stock/models.py:2538 +#: stock/models.py:2533 msgid "Test result" msgstr "Risultato Test" -#: stock/models.py:2545 +#: stock/models.py:2540 msgid "Test output value" msgstr "Test valore output" -#: stock/models.py:2553 stock/serializers.py:245 +#: stock/models.py:2548 stock/serializers.py:245 msgid "Test result attachment" msgstr "Risultato della prova allegato" -#: stock/models.py:2557 +#: stock/models.py:2552 msgid "Test notes" msgstr "Note del test" -#: stock/models.py:2565 templates/js/translated/stock.js:1633 +#: stock/models.py:2560 templates/js/translated/stock.js:1633 msgid "Test station" msgstr "" -#: stock/models.py:2566 +#: stock/models.py:2561 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2572 +#: stock/models.py:2567 msgid "Started" msgstr "" -#: stock/models.py:2573 +#: stock/models.py:2568 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2579 +#: stock/models.py:2574 msgid "Finished" msgstr "" -#: stock/models.py:2580 +#: stock/models.py:2575 msgid "The timestamp of the test finish" msgstr "" @@ -10059,7 +10124,7 @@ msgstr "" msgid "Serial number is too large" msgstr "Il numero di serie è troppo grande" -#: stock/serializers.py:459 stock/templates/stock/item_base.html:193 +#: stock/serializers.py:459 stock/templates/stock/item_base.html:189 msgid "Parent Item" msgstr "Elemento principale" @@ -10071,7 +10136,7 @@ msgstr "" msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:603 stock/templates/stock/item_base.html:437 +#: stock/serializers.py:603 stock/templates/stock/item_base.html:433 #: templates/js/translated/table_filters.js:442 users/models.py:174 msgid "Expired" msgstr "Scaduto" @@ -10410,7 +10475,7 @@ msgstr "Questo elemento di magazzino non ha nessun elemento secondario" msgid "Test Data" msgstr "Dati di Test" -#: stock/templates/stock/item.html:85 stock/templates/stock/item_base.html:65 +#: stock/templates/stock/item.html:85 msgid "Test Report" msgstr "Rapporto del Test" @@ -10450,200 +10515,204 @@ msgstr "Individua elemento di magazzino" msgid "Scan to Location" msgstr "Scansiona nella posizione" -#: stock/templates/stock/item_base.html:59 +#: stock/templates/stock/item_base.html:58 #: stock/templates/stock/location.html:67 #: templates/js/translated/filters.js:434 msgid "Printing actions" msgstr "Impostazioni di stampa" -#: stock/templates/stock/item_base.html:75 +#: stock/templates/stock/item_base.html:63 templates/js/translated/report.js:49 +msgid "Print Report" +msgstr "" + +#: stock/templates/stock/item_base.html:71 msgid "Stock adjustment actions" msgstr "Azioni adeguamento giacenza" -#: stock/templates/stock/item_base.html:79 +#: stock/templates/stock/item_base.html:75 #: stock/templates/stock/location.html:87 templates/js/translated/stock.js:1909 msgid "Count stock" msgstr "Conta giacenza" -#: stock/templates/stock/item_base.html:81 +#: stock/templates/stock/item_base.html:77 #: templates/js/translated/stock.js:1891 msgid "Add stock" msgstr "Aggiungi giacenza" -#: stock/templates/stock/item_base.html:82 +#: stock/templates/stock/item_base.html:78 #: templates/js/translated/stock.js:1900 msgid "Remove stock" msgstr "Rimuovi giacenza" -#: stock/templates/stock/item_base.html:85 +#: stock/templates/stock/item_base.html:81 msgid "Serialize stock" msgstr "Serializza magazzino" -#: stock/templates/stock/item_base.html:88 +#: stock/templates/stock/item_base.html:84 #: stock/templates/stock/location.html:93 templates/js/translated/stock.js:1918 msgid "Transfer stock" msgstr "Trasferisci giacenza" -#: stock/templates/stock/item_base.html:91 +#: stock/templates/stock/item_base.html:87 #: templates/js/translated/stock.js:1973 msgid "Assign to customer" msgstr "Assegna al cliente" -#: stock/templates/stock/item_base.html:94 +#: stock/templates/stock/item_base.html:90 msgid "Return to stock" msgstr "Torna al magazzino" -#: stock/templates/stock/item_base.html:97 +#: stock/templates/stock/item_base.html:93 msgid "Uninstall stock item" msgstr "Disinstalla elemento di magazzino" -#: stock/templates/stock/item_base.html:97 +#: stock/templates/stock/item_base.html:93 msgid "Uninstall" msgstr "Disinstalla" -#: stock/templates/stock/item_base.html:101 +#: stock/templates/stock/item_base.html:97 msgid "Install stock item" msgstr "Installa elementi stock" -#: stock/templates/stock/item_base.html:101 +#: stock/templates/stock/item_base.html:97 msgid "Install" msgstr "Installa" -#: stock/templates/stock/item_base.html:115 +#: stock/templates/stock/item_base.html:111 msgid "Convert to variant" msgstr "Converti in variante" -#: stock/templates/stock/item_base.html:118 +#: stock/templates/stock/item_base.html:114 msgid "Duplicate stock item" msgstr "Duplica elemento di magazzino" -#: stock/templates/stock/item_base.html:120 +#: stock/templates/stock/item_base.html:116 msgid "Edit stock item" msgstr "Modifica elemento di magazzino" -#: stock/templates/stock/item_base.html:123 +#: stock/templates/stock/item_base.html:119 msgid "Delete stock item" msgstr "Cancella elemento di magazzino" -#: stock/templates/stock/item_base.html:169 templates/InvenTree/search.html:139 +#: stock/templates/stock/item_base.html:165 templates/InvenTree/search.html:139 #: templates/js/translated/build.js:2298 templates/navbar.html:38 msgid "Build" msgstr "Produzione" -#: stock/templates/stock/item_base.html:211 +#: stock/templates/stock/item_base.html:207 msgid "No manufacturer set" msgstr "Nessun produttore impostato" -#: stock/templates/stock/item_base.html:251 +#: stock/templates/stock/item_base.html:247 msgid "You are not in the list of owners of this item. This stock item cannot be edited." msgstr "Non sei nell'elenco dei proprietari di questo elemento. Questo elemento di magazzino non può essere modificato." -#: stock/templates/stock/item_base.html:252 +#: stock/templates/stock/item_base.html:248 #: stock/templates/stock/location.html:146 msgid "Read only" msgstr "Sola lettura" -#: stock/templates/stock/item_base.html:265 +#: stock/templates/stock/item_base.html:261 msgid "This stock item is unavailable" msgstr "Elemento di magazzino non disponibile" -#: stock/templates/stock/item_base.html:271 +#: stock/templates/stock/item_base.html:267 msgid "This stock item is in production and cannot be edited." msgstr "Questo elemento di magazzino è in produzione e non può essere modificato." -#: stock/templates/stock/item_base.html:272 +#: stock/templates/stock/item_base.html:268 msgid "Edit the stock item from the build view." msgstr "Modifica l'elemento di magazzino dalla visualizzazione generata." -#: stock/templates/stock/item_base.html:287 +#: stock/templates/stock/item_base.html:283 msgid "This stock item is allocated to Sales Order" msgstr "Questo elemento di magazzino è stato assegnato all'Ordine di Vendita" -#: stock/templates/stock/item_base.html:295 +#: stock/templates/stock/item_base.html:291 msgid "This stock item is allocated to Build Order" msgstr "Questo elemento di magazzino è stato assegnato all'Ordine di Produzione" -#: stock/templates/stock/item_base.html:311 +#: stock/templates/stock/item_base.html:307 msgid "This stock item is serialized. It has a unique serial number and the quantity cannot be adjusted" msgstr "" -#: stock/templates/stock/item_base.html:317 +#: stock/templates/stock/item_base.html:313 msgid "previous page" msgstr "pagina precedente" -#: stock/templates/stock/item_base.html:317 +#: stock/templates/stock/item_base.html:313 msgid "Navigate to previous serial number" msgstr "Vai al numero di serie precedente" -#: stock/templates/stock/item_base.html:326 +#: stock/templates/stock/item_base.html:322 msgid "next page" msgstr "pagina successiva" -#: stock/templates/stock/item_base.html:326 +#: stock/templates/stock/item_base.html:322 msgid "Navigate to next serial number" msgstr "Vai al numero di serie successivo" -#: stock/templates/stock/item_base.html:398 +#: stock/templates/stock/item_base.html:394 #: templates/js/translated/build.js:2555 msgid "No location set" msgstr "Nessuna posizione impostata" -#: stock/templates/stock/item_base.html:413 +#: stock/templates/stock/item_base.html:409 msgid "Tests" msgstr "Test" -#: stock/templates/stock/item_base.html:419 +#: stock/templates/stock/item_base.html:415 msgid "This stock item has not passed all required tests" msgstr "Questo elemento di magazzino non ha superato i test richiesti" -#: stock/templates/stock/item_base.html:437 +#: stock/templates/stock/item_base.html:433 #, python-format 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:439 +#: stock/templates/stock/item_base.html:435 #, python-format 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:455 +#: stock/templates/stock/item_base.html:451 msgid "No stocktake performed" msgstr "Nessun inventario eseguito" -#: stock/templates/stock/item_base.html:504 +#: stock/templates/stock/item_base.html:500 #: templates/js/translated/stock.js:2038 msgid "stock item" msgstr "" -#: stock/templates/stock/item_base.html:527 +#: stock/templates/stock/item_base.html:523 msgid "Edit Stock Status" msgstr "" -#: stock/templates/stock/item_base.html:536 +#: stock/templates/stock/item_base.html:532 msgid "Stock Item QR Code" msgstr "" -#: stock/templates/stock/item_base.html:547 +#: stock/templates/stock/item_base.html:543 msgid "Link Barcode to Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:611 +#: stock/templates/stock/item_base.html:607 msgid "Select one of the part variants listed below." msgstr "Selezionare una delle varianti dell'articolo elencate sotto." -#: stock/templates/stock/item_base.html:614 +#: stock/templates/stock/item_base.html:610 msgid "Warning" msgstr "Attenzione" -#: stock/templates/stock/item_base.html:615 +#: stock/templates/stock/item_base.html:611 msgid "This action cannot be easily undone" msgstr "Questa azione non può essere facilmente annullata" -#: stock/templates/stock/item_base.html:623 +#: stock/templates/stock/item_base.html:619 msgid "Convert Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:656 +#: stock/templates/stock/item_base.html:652 msgid "Return to Stock" msgstr "" @@ -11310,7 +11379,7 @@ msgid "Delete Location Type" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:503 -#: templates/InvenTree/settings/stock.html:38 +#: templates/InvenTree/settings/stock.html:39 msgid "New Location Type" msgstr "" @@ -11367,7 +11436,7 @@ msgstr "Impostazioni Ordine di Vendita" msgid "Stock Settings" msgstr "Impostazioni Magazzino" -#: templates/InvenTree/settings/stock.html:34 +#: templates/InvenTree/settings/stock.html:35 msgid "Stock Location Types" msgstr "" @@ -11852,23 +11921,23 @@ msgstr "Aggiungi allegato" msgid "Barcode Identifier" msgstr "Codice a Barre Identificativo" -#: templates/base.html:103 +#: templates/base.html:102 msgid "Server Restart Required" msgstr "È necessario riavviare il server" -#: templates/base.html:106 +#: templates/base.html:105 msgid "A configuration option has been changed which requires a server restart" msgstr "È stata modificata un'impostazione che richiede un riavvio del server" -#: templates/base.html:106 templates/base.html:116 +#: templates/base.html:105 templates/base.html:115 msgid "Contact your system administrator for further information" msgstr "Contatta l'amministratore per maggiori informazioni" -#: templates/base.html:113 +#: templates/base.html:112 msgid "Pending Database Migrations" msgstr "" -#: templates/base.html:116 +#: templates/base.html:115 msgid "There are pending database migrations which require attention" msgstr "" @@ -13946,10 +14015,6 @@ msgstr "" msgid "Delete line item" msgstr "" -#: templates/js/translated/report.js:49 -msgid "Print Report" -msgstr "" - #: templates/js/translated/report.js:68 msgid "Report print successful" msgstr "" diff --git a/src/backend/InvenTree/locale/ja/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/ja/LC_MESSAGES/django.po index f09655485c83..c5234cc85c7f 100644 --- a/src/backend/InvenTree/locale/ja/LC_MESSAGES/django.po +++ b/src/backend/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: 2024-08-29 07:07+0000\n" -"PO-Revision-Date: 2024-08-29 07:10\n" +"POT-Creation-Date: 2024-09-16 00:37+0000\n" +"PO-Revision-Date: 2024-09-16 00:40\n" "Last-Translator: \n" "Language-Team: Japanese\n" "Language: ja_JP\n" @@ -65,9 +65,9 @@ msgstr "日付を入力する" #: 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:59 -#: part/models.py:3309 part/templates/part/part_sidebar.html:65 +#: part/models.py:3296 part/templates/part/part_sidebar.html:65 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/admin.py:231 stock/models.py:2369 stock/models.py:2557 +#: stock/admin.py:231 stock/models.py:2367 stock/models.py:2552 #: stock/serializers.py:705 stock/serializers.py:863 stock/serializers.py:989 #: stock/serializers.py:1039 stock/serializers.py:1350 #: stock/serializers.py:1439 stock/serializers.py:1604 @@ -364,7 +364,7 @@ msgstr "" msgid "[{site_name}] Log in to the app" msgstr "" -#: InvenTree/magic_login.py:38 InvenTree/serializers.py:413 +#: InvenTree/magic_login.py:38 InvenTree/serializers.py:416 #: company/models.py:133 company/templates/company/company_base.html:138 #: templates/InvenTree/settings/user.html:49 #: templates/js/translated/company.js:677 @@ -419,9 +419,9 @@ msgstr "" msgid "Invalid choice" msgstr "無効な選択です" -#: InvenTree/models.py:767 common/models.py:2704 common/models.py:3131 -#: common/models.py:3351 common/serializers.py:439 company/models.py:590 -#: machine/models.py:24 part/models.py:995 part/models.py:3776 +#: InvenTree/models.py:767 common/models.py:2705 common/models.py:3132 +#: common/models.py:3352 common/serializers.py:455 company/models.py:590 +#: machine/models.py:24 part/models.py:995 part/models.py:3763 #: plugin/models.py:51 report/models.py:149 stock/models.py:82 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -446,10 +446,10 @@ msgstr "お名前" #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 order/models.py:289 #: order/models.py:1406 part/admin.py:305 part/admin.py:411 part/models.py:1018 -#: part/models.py:3791 part/templates/part/category.html:79 +#: part/models.py:3778 part/templates/part/category.html:79 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:155 -#: report/models.py:509 report/models.py:535 +#: report/models.py:517 report/models.py:543 #: report/templates/report/inventree_build_order_report.html:117 #: stock/admin.py:54 stock/models.py:88 stock/templates/stock/location.html:122 #: templates/InvenTree/settings/notifications.html:19 @@ -517,12 +517,12 @@ msgstr "" msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:63 part/models.py:4400 +#: InvenTree/serializers.py:63 part/models.py:4387 msgid "Must be a valid number" msgstr "有効な数字でなければなりません" #: InvenTree/serializers.py:100 company/models.py:183 -#: company/templates/company/company_base.html:112 part/models.py:3127 +#: company/templates/company/company_base.html:112 part/models.py:3114 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -536,43 +536,43 @@ msgstr "利用可能なオプションから通貨を選択してください" msgid "Username" msgstr "" -#: InvenTree/serializers.py:407 templates/InvenTree/settings/user.html:37 +#: InvenTree/serializers.py:408 templates/InvenTree/settings/user.html:37 msgid "First Name" msgstr "" -#: InvenTree/serializers.py:407 +#: InvenTree/serializers.py:408 msgid "First name of the user" msgstr "" -#: InvenTree/serializers.py:410 templates/InvenTree/settings/user.html:41 +#: InvenTree/serializers.py:412 templates/InvenTree/settings/user.html:41 msgid "Last Name" msgstr "" -#: InvenTree/serializers.py:410 +#: InvenTree/serializers.py:412 msgid "Last name of the user" msgstr "" -#: InvenTree/serializers.py:413 +#: InvenTree/serializers.py:416 msgid "Email address of the user" msgstr "" -#: InvenTree/serializers.py:438 +#: InvenTree/serializers.py:441 msgid "Staff" msgstr "" -#: InvenTree/serializers.py:438 +#: InvenTree/serializers.py:441 msgid "Does this user have staff permissions" msgstr "" -#: InvenTree/serializers.py:441 +#: InvenTree/serializers.py:445 msgid "Superuser" msgstr "" -#: InvenTree/serializers.py:441 +#: InvenTree/serializers.py:445 msgid "Is this user a superuser" msgstr "" -#: InvenTree/serializers.py:444 common/models.py:2709 company/models.py:160 +#: InvenTree/serializers.py:449 common/models.py:2710 company/models.py:160 #: company/models.py:798 machine/models.py:39 part/admin.py:88 #: part/models.py:1201 plugin/models.py:66 #: templates/js/translated/company.js:523 @@ -585,89 +585,89 @@ msgstr "" msgid "Active" msgstr "" -#: InvenTree/serializers.py:444 +#: InvenTree/serializers.py:449 msgid "Is this user account active" msgstr "" -#: InvenTree/serializers.py:462 +#: InvenTree/serializers.py:467 msgid "You do not have permission to change this user role." msgstr "このユーザのロールを変更する権限がありません" -#: InvenTree/serializers.py:474 +#: InvenTree/serializers.py:503 msgid "Only superusers can create new users" msgstr "" -#: InvenTree/serializers.py:493 +#: InvenTree/serializers.py:522 msgid "Your account has been created." msgstr "" -#: InvenTree/serializers.py:495 +#: InvenTree/serializers.py:524 msgid "Please use the password reset function to login" msgstr "" -#: InvenTree/serializers.py:502 +#: InvenTree/serializers.py:531 msgid "Welcome to InvenTree" msgstr "" -#: InvenTree/serializers.py:560 +#: InvenTree/serializers.py:589 msgid "Invalid value" msgstr "無効な値です。" -#: InvenTree/serializers.py:580 importer/models.py:64 +#: InvenTree/serializers.py:609 importer/models.py:64 msgid "Data File" msgstr "データファイル" -#: InvenTree/serializers.py:581 +#: InvenTree/serializers.py:610 msgid "Select data file for upload" msgstr "アップロードするファイルを選択" -#: InvenTree/serializers.py:598 +#: InvenTree/serializers.py:627 msgid "Unsupported file type" msgstr "サポートされていないファイル形式" -#: InvenTree/serializers.py:604 +#: InvenTree/serializers.py:633 msgid "File is too large" msgstr "ファイルサイズが大きすぎます" -#: InvenTree/serializers.py:625 +#: InvenTree/serializers.py:654 msgid "No columns found in file" msgstr "ファイルに列が見つかりません" -#: InvenTree/serializers.py:628 +#: InvenTree/serializers.py:657 msgid "No data rows found in file" msgstr "ファイルにデータ行がみつかりません" -#: InvenTree/serializers.py:740 +#: InvenTree/serializers.py:769 msgid "No data rows provided" msgstr "データが入力されていません" -#: InvenTree/serializers.py:743 +#: InvenTree/serializers.py:772 msgid "No data columns supplied" msgstr "データ列が指定されていません" -#: InvenTree/serializers.py:809 +#: InvenTree/serializers.py:838 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "必須の列がありません: {name}" -#: InvenTree/serializers.py:818 +#: InvenTree/serializers.py:847 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "{col} 列が重複しています。" -#: InvenTree/serializers.py:857 +#: InvenTree/serializers.py:886 msgid "Remote Image" msgstr "" -#: InvenTree/serializers.py:858 +#: InvenTree/serializers.py:887 msgid "URL of remote image file" msgstr "外部画像ファイルのURL" -#: InvenTree/serializers.py:876 +#: InvenTree/serializers.py:905 msgid "Downloading images from remote URL is not enabled" msgstr "外部URLからの画像ダウンロードは許可されていません" -#: InvenTree/status.py:65 part/serializers.py:1267 +#: InvenTree/status.py:65 part/serializers.py:1265 msgid "Background worker check failed" msgstr "バックグラウンドワーカーのチェックに失敗しました" @@ -759,7 +759,7 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:319 build/serializers.py:1332 part/models.py:4278 +#: build/api.py:319 build/serializers.py:1332 part/models.py:4265 #: templates/js/translated/bom.js:997 templates/js/translated/bom.js:1037 #: templates/js/translated/build.js:2705 #: templates/js/translated/table_filters.js:197 @@ -767,7 +767,7 @@ msgstr "" msgid "Consumable" msgstr "" -#: build/api.py:320 build/serializers.py:1333 part/models.py:4272 +#: build/api.py:320 build/serializers.py:1333 part/models.py:4259 #: part/templates/part/upload_bom.html:58 templates/js/translated/bom.js:1001 #: templates/js/translated/bom.js:1028 templates/js/translated/build.js:2696 #: templates/js/translated/table_filters.js:193 @@ -777,7 +777,7 @@ msgid "Optional" msgstr "オプション" #: build/api.py:321 common/models.py:1491 part/admin.py:91 part/admin.py:428 -#: part/models.py:1166 part/serializers.py:1596 +#: part/models.py:1166 part/serializers.py:1594 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:337 #: templates/js/translated/table_filters.js:729 @@ -816,7 +816,7 @@ msgstr "" msgid "Available" msgstr "" -#: build/models.py:87 build/templates/build/build_base.html:9 +#: build/models.py:88 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_report.html:105 #: stock/serializers.py:85 templates/email/build_order_completed.html:16 @@ -825,7 +825,7 @@ msgstr "" msgid "Build Order" msgstr "組立注文" -#: build/models.py:88 build/templates/build/build_base.html:13 +#: build/models.py:89 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:111 #: order/templates/order/so_sidebar.html:13 @@ -866,7 +866,7 @@ msgstr "" #: build/models.py:243 build/serializers.py:1331 order/models.py:468 #: order/models.py:979 order/models.py:1366 order/models.py:2128 -#: part/admin.py:414 part/models.py:4293 part/templates/part/upload_bom.html:54 +#: part/admin.py:414 part/models.py:4280 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 @@ -892,11 +892,11 @@ msgstr "" #: build/templates/build/build_base.html:105 #: build/templates/build/detail.html:29 company/models.py:1043 order/api.py:761 #: order/models.py:1496 order/models.py:1651 order/models.py:1652 -#: part/api.py:1506 part/api.py:1806 part/models.py:419 part/models.py:3138 -#: part/models.py:3282 part/models.py:3430 part/models.py:3451 -#: part/models.py:3473 part/models.py:3609 part/models.py:3951 -#: part/models.py:4114 part/models.py:4244 part/models.py:4602 -#: part/serializers.py:1213 part/serializers.py:1857 +#: part/api.py:1506 part/api.py:1806 part/models.py:419 part/models.py:3125 +#: part/models.py:3269 part/models.py:3417 part/models.py:3438 +#: part/models.py:3460 part/models.py:3596 part/models.py:3938 +#: part/models.py:4101 part/models.py:4231 part/models.py:4595 +#: part/serializers.py:1211 part/serializers.py:1855 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -1063,12 +1063,12 @@ msgstr "" #: order/templates/order/return_order_base.html:148 #: order/templates/order/sales_order_base.html:187 #: part/templates/part/part_base.html:399 stock/models.py:859 -#: stock/templates/stock/item_base.html:200 +#: stock/templates/stock/item_base.html:196 #: templates/js/translated/company.js:1019 msgid "External Link" msgstr "外部リンク" -#: build/models.py:378 common/models.py:3272 part/models.py:1070 +#: build/models.py:378 common/models.py:3273 part/models.py:1070 #: stock/models.py:859 msgid "Link to external URL" msgstr "外部 サイト へのリンク" @@ -1110,7 +1110,7 @@ msgstr "" msgid "A build order has been completed" msgstr "" -#: build/models.py:968 build/models.py:1056 +#: build/models.py:968 build/models.py:1057 msgid "No build output specified" msgstr "" @@ -1122,37 +1122,37 @@ msgstr "" msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:1060 build/serializers.py:279 build/serializers.py:328 +#: build/models.py:1061 build/serializers.py:279 build/serializers.py:328 #: build/serializers.py:959 order/models.py:565 order/serializers.py:500 -#: order/serializers.py:666 part/serializers.py:1590 part/serializers.py:2019 +#: order/serializers.py:666 part/serializers.py:1588 part/serializers.py:2017 #: stock/models.py:704 stock/models.py:1515 stock/serializers.py:676 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:1065 build/serializers.py:284 +#: build/models.py:1066 build/serializers.py:284 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1125 build/serializers.py:607 +#: build/models.py:1126 build/serializers.py:607 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "" -#: build/models.py:1466 +#: build/models.py:1477 msgid "Build Order Line Item" msgstr "" -#: build/models.py:1491 +#: build/models.py:1502 msgid "Build object" msgstr "" -#: build/models.py:1505 build/models.py:1761 build/serializers.py:266 +#: build/models.py:1516 build/models.py:1775 build/serializers.py:266 #: build/serializers.py:313 build/serializers.py:1339 #: build/templates/build/build_base.html:110 -#: build/templates/build/detail.html:34 common/models.py:2581 +#: build/templates/build/detail.html:34 common/models.py:2582 #: order/models.py:1349 order/models.py:2034 order/serializers.py:1464 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:413 -#: part/forms.py:48 part/models.py:3296 part/models.py:4266 +#: part/forms.py:48 part/models.py:3283 part/models.py:4253 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1163,9 +1163,9 @@ msgstr "" #: report/templates/report/inventree_test_report.html:90 #: report/templates/report/inventree_test_report.html:169 stock/admin.py:160 #: stock/serializers.py:128 stock/serializers.py:168 stock/serializers.py:667 -#: stock/templates/stock/item_base.html:287 -#: stock/templates/stock/item_base.html:295 -#: stock/templates/stock/item_base.html:342 +#: stock/templates/stock/item_base.html:283 +#: stock/templates/stock/item_base.html:291 +#: stock/templates/stock/item_base.html:338 #: templates/email/build_order_completed.html:18 #: templates/js/translated/barcode.js:579 templates/js/translated/bom.js:771 #: templates/js/translated/bom.js:981 templates/js/translated/build.js:525 @@ -1194,41 +1194,41 @@ msgstr "" msgid "Quantity" msgstr "数量" -#: build/models.py:1506 +#: build/models.py:1517 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1586 +#: build/models.py:1597 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1595 +#: build/models.py:1606 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1605 order/models.py:1985 +#: build/models.py:1616 order/models.py:1985 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1611 order/models.py:1988 +#: build/models.py:1622 order/models.py:1988 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1617 +#: build/models.py:1628 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1676 +#: build/models.py:1687 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1748 build/serializers.py:939 order/serializers.py:1301 +#: build/models.py:1762 build/serializers.py:939 order/serializers.py:1301 #: order/serializers.py:1322 stock/models.py:381 stock/serializers.py:94 #: stock/serializers.py:770 stock/serializers.py:1288 stock/serializers.py:1400 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 -#: stock/templates/stock/item_base.html:194 +#: stock/templates/stock/item_base.html:190 #: templates/js/translated/build.js:1921 #: templates/js/translated/sales_order.js:301 #: templates/js/translated/sales_order.js:1234 @@ -1241,19 +1241,19 @@ msgstr "" msgid "Stock Item" msgstr "在庫商品" -#: build/models.py:1749 +#: build/models.py:1763 msgid "Source stock item" msgstr "" -#: build/models.py:1762 +#: build/models.py:1776 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1770 +#: build/models.py:1784 msgid "Install into" msgstr "" -#: build/models.py:1771 +#: build/models.py:1785 msgid "Destination stock item" msgstr "" @@ -1262,7 +1262,7 @@ msgid "Build Level" msgstr "" #: build/serializers.py:115 build/serializers.py:1234 build/serializers.py:1323 -#: part/admin.py:41 part/admin.py:408 part/models.py:4116 part/stocktake.py:219 +#: part/admin.py:41 part/admin.py:408 part/models.py:4103 part/stocktake.py:219 #: stock/admin.py:157 msgid "Part Name" msgstr "" @@ -1323,10 +1323,10 @@ msgid "Enter serial numbers for build outputs" msgstr "" #: build/serializers.py:359 build/serializers.py:500 build/serializers.py:572 -#: order/serializers.py:655 order/serializers.py:778 order/serializers.py:1789 -#: part/serializers.py:1233 stock/serializers.py:103 stock/serializers.py:698 +#: order/serializers.py:655 order/serializers.py:778 order/serializers.py:1797 +#: part/serializers.py:1231 stock/serializers.py:103 stock/serializers.py:698 #: stock/serializers.py:858 stock/serializers.py:984 stock/serializers.py:1432 -#: stock/serializers.py:1688 stock/templates/stock/item_base.html:394 +#: stock/serializers.py:1688 stock/templates/stock/item_base.html:390 #: templates/js/translated/barcode.js:578 #: templates/js/translated/barcode.js:826 templates/js/translated/build.js:1035 #: templates/js/translated/build.js:1177 templates/js/translated/build.js:2547 @@ -1390,7 +1390,7 @@ msgstr "" #: build/templates/build/detail.html:62 order/models.py:477 #: order/models.py:1003 order/models.py:2152 order/serializers.py:687 #: stock/admin.py:165 stock/serializers.py:1035 stock/serializers.py:1576 -#: stock/templates/stock/item_base.html:427 +#: stock/templates/stock/item_base.html:423 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2366 #: templates/js/translated/purchase_order.js:1371 #: templates/js/translated/purchase_order.js:1792 @@ -1522,7 +1522,7 @@ msgstr "" msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:1030 order/serializers.py:1614 +#: build/serializers.py:1030 order/serializers.py:1622 msgid "Allocation items must be provided" msgstr "" @@ -1590,7 +1590,7 @@ msgstr "" #: build/serializers.py:1230 company/models.py:849 #: company/templates/company/supplier_part.html:160 order/serializers.py:691 #: stock/admin.py:229 stock/models.py:822 stock/serializers.py:1586 -#: stock/templates/stock/item_base.html:240 +#: stock/templates/stock/item_base.html:236 #: templates/js/translated/company.js:1646 #: templates/js/translated/purchase_order.js:1169 #: templates/js/translated/purchase_order.js:1332 @@ -1600,12 +1600,12 @@ msgid "Packaging" msgstr "" #: build/serializers.py:1233 part/admin.py:39 part/admin.py:398 -#: part/models.py:4115 part/stocktake.py:218 stock/admin.py:153 +#: part/models.py:4102 part/stocktake.py:218 stock/admin.py:153 msgid "Part ID" msgstr "" #: build/serializers.py:1235 build/serializers.py:1324 part/admin.py:402 -#: part/models.py:4117 +#: part/models.py:4104 msgid "Part IPN" msgstr "" @@ -1625,7 +1625,7 @@ msgstr "" #: build/serializers.py:1243 #: report/templates/report/inventree_return_order_report.html:25 #: report/templates/report/inventree_test_report.html:88 stock/models.py:849 -#: stock/serializers.py:152 stock/templates/stock/item_base.html:311 +#: stock/serializers.py:152 stock/templates/stock/item_base.html:307 #: templates/js/translated/build.js:523 templates/js/translated/build.js:1543 #: templates/js/translated/build.js:2530 #: templates/js/translated/model_renderers.js:231 @@ -1644,7 +1644,7 @@ msgstr "シリアル番号" msgid "Allocated Quantity" msgstr "" -#: build/serializers.py:1257 stock/templates/stock/item_base.html:340 +#: build/serializers.py:1257 stock/templates/stock/item_base.html:336 msgid "Available Quantity" msgstr "" @@ -1667,13 +1667,13 @@ msgstr "追跡可能" msgid "Inherited" msgstr "" -#: build/serializers.py:1337 part/models.py:4326 +#: build/serializers.py:1337 part/models.py:4313 #: part/templates/part/upload_bom.html:56 templates/js/translated/bom.js:1046 #: templates/js/translated/build.js:2714 msgid "Allow Variants" msgstr "" -#: build/serializers.py:1341 part/models.py:4124 part/models.py:4594 +#: build/serializers.py:1341 part/models.py:4111 part/models.py:4587 #: stock/api.py:793 msgid "BOM Item" msgstr "" @@ -1684,7 +1684,7 @@ msgid "Allocated Stock" msgstr "" #: build/serializers.py:1355 order/serializers.py:1179 part/admin.py:132 -#: part/bom.py:186 part/serializers.py:920 part/serializers.py:1623 +#: part/bom.py:186 part/serializers.py:918 part/serializers.py:1621 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 #: templates/js/translated/build.js:2807 templates/js/translated/part.js:712 #: templates/js/translated/part.js:2155 @@ -1692,13 +1692,13 @@ msgstr "" msgid "On Order" msgstr "" -#: build/serializers.py:1360 order/serializers.py:1180 part/serializers.py:1625 +#: build/serializers.py:1360 order/serializers.py:1180 part/serializers.py:1623 #: templates/js/translated/build.js:2811 #: templates/js/translated/table_filters.js:367 msgid "In Production" msgstr "" -#: build/serializers.py:1365 part/bom.py:185 part/serializers.py:1650 +#: build/serializers.py:1365 part/bom.py:185 part/serializers.py:1648 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" @@ -1716,7 +1716,7 @@ msgstr "" msgid "Total Available Stock" msgstr "" -#: build/serializers.py:1372 part/serializers.py:927 +#: build/serializers.py:1372 part/serializers.py:925 msgid "External Stock" msgstr "" @@ -1745,7 +1745,7 @@ msgstr "キャンセル済" #: importer/status_codes.py:27 order/status_codes.py:15 #: order/status_codes.py:50 order/status_codes.py:81 #: order/templates/order/order_base.html:163 -#: order/templates/order/sales_order_base.html:168 report/models.py:443 +#: order/templates/order/sales_order_base.html:168 report/models.py:451 msgid "Complete" msgstr "完了" @@ -1849,9 +1849,6 @@ msgid "Delete Build" msgstr "組立を削除" #: build/templates/build/build_base.html:87 -msgid "Isueue Build" -msgstr "" - #: build/templates/build/build_base.html:88 msgid "Issue Build" msgstr "" @@ -1931,7 +1928,7 @@ msgstr "" #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_report.html:135 #: report/templates/report/inventree_sales_order_report.html:14 -#: stock/templates/stock/item_base.html:369 +#: stock/templates/stock/item_base.html:365 #: templates/email/overdue_sales_order.html:15 #: templates/js/translated/pricing.js:929 #: templates/js/translated/sales_order.js:805 @@ -1991,7 +1988,7 @@ msgid "Allocated Parts" msgstr "" #: build/templates/build/detail.html:80 stock/admin.py:163 -#: stock/templates/stock/item_base.html:162 +#: stock/templates/stock/item_base.html:158 #: templates/js/translated/build.js:1556 #: templates/js/translated/model_renderers.js:242 #: templates/js/translated/purchase_order.js:1326 @@ -2148,19 +2145,19 @@ msgstr "" msgid "Test Statistics" msgstr "" -#: common/api.py:692 +#: common/api.py:725 msgid "Is Link" msgstr "" -#: common/api.py:700 +#: common/api.py:733 msgid "Is File" msgstr "" -#: common/api.py:743 +#: common/api.py:776 msgid "User does not have permission to delete these attachments" msgstr "" -#: common/api.py:760 +#: common/api.py:793 msgid "User does not have permission to delete this attachment" msgstr "" @@ -2352,8 +2349,8 @@ msgstr "" #: common/models.py:1297 common/models.py:1353 common/models.py:1366 #: common/models.py:1374 common/models.py:1383 common/models.py:1392 -#: common/models.py:1629 common/models.py:1651 common/models.py:1766 -#: common/models.py:2148 +#: common/models.py:1629 common/models.py:1651 common/models.py:1752 +#: common/models.py:2141 msgid "days" msgstr "" @@ -2581,9 +2578,9 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1485 part/admin.py:108 part/models.py:3959 -#: report/models.py:293 report/models.py:360 report/serializers.py:90 -#: report/serializers.py:131 stock/serializers.py:233 +#: common/models.py:1485 part/admin.py:108 part/models.py:3946 +#: report/models.py:301 report/models.py:368 report/serializers.py:91 +#: report/serializers.py:132 stock/serializers.py:233 #: templates/js/translated/table_filters.js:138 #: templates/js/translated/table_filters.js:775 msgid "Template" @@ -2598,7 +2595,7 @@ msgid "Parts can be assembled from other components by default" msgstr "パーツはデフォルトで他のコンポーネントから組み立てることができます" #: common/models.py:1497 part/admin.py:95 part/models.py:1172 -#: part/serializers.py:1617 templates/js/translated/table_filters.js:737 +#: part/serializers.py:1615 templates/js/translated/table_filters.js:737 msgid "Component" msgstr "コンポーネント" @@ -2823,7 +2820,7 @@ msgid "Log errors which occur when generating reports" msgstr "" #: common/models.py:1702 plugin/builtin/labels/label_sheet.py:28 -#: report/models.py:301 +#: report/models.py:309 msgid "Page Size" msgstr "" @@ -2832,914 +2829,914 @@ msgid "Default page size for PDF reports" msgstr "" #: common/models.py:1708 -msgid "Enable Test Reports" -msgstr "" - -#: common/models.py:1709 -msgid "Enable generation of test reports" -msgstr "" - -#: common/models.py:1714 -msgid "Attach Test Reports" -msgstr "" - -#: common/models.py:1716 -msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" -msgstr "" - -#: common/models.py:1722 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1723 +#: common/models.py:1709 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1728 +#: common/models.py:1714 msgid "Autofill Serial Numbers" msgstr "シリアル番号を自動入力" -#: common/models.py:1729 +#: common/models.py:1715 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1734 +#: common/models.py:1720 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1736 +#: common/models.py:1722 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/models.py:1742 +#: common/models.py:1728 msgid "Batch Code Template" msgstr "" -#: common/models.py:1744 +#: common/models.py:1730 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1749 +#: common/models.py:1735 msgid "Stock Expiry" msgstr "" -#: common/models.py:1750 +#: common/models.py:1736 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1755 +#: common/models.py:1741 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1756 +#: common/models.py:1742 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1761 +#: common/models.py:1747 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1763 +#: common/models.py:1749 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1770 +#: common/models.py:1756 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1771 +#: common/models.py:1757 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1776 +#: common/models.py:1762 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1777 +#: common/models.py:1763 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1782 +#: common/models.py:1768 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1783 +#: common/models.py:1769 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1788 +#: common/models.py:1774 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1789 +#: common/models.py:1775 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1794 +#: common/models.py:1780 msgid "Check BOM when installing items" msgstr "" -#: common/models.py:1796 +#: common/models.py:1782 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/models.py:1802 +#: common/models.py:1788 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/models.py:1804 +#: common/models.py:1790 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/models.py:1810 +#: common/models.py:1796 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1812 +#: common/models.py:1798 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1818 common/models.py:1874 common/models.py:1896 -#: common/models.py:1932 +#: common/models.py:1804 common/models.py:1860 common/models.py:1882 +#: common/models.py:1918 msgid "Require Responsible Owner" msgstr "" -#: common/models.py:1819 common/models.py:1875 common/models.py:1897 -#: common/models.py:1933 +#: common/models.py:1805 common/models.py:1861 common/models.py:1883 +#: common/models.py:1919 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/models.py:1824 +#: common/models.py:1810 msgid "Require Active Part" msgstr "" -#: common/models.py:1825 +#: common/models.py:1811 msgid "Prevent build order creation for inactive parts" msgstr "" -#: common/models.py:1830 +#: common/models.py:1816 msgid "Require Locked Part" msgstr "" -#: common/models.py:1831 +#: common/models.py:1817 msgid "Prevent build order creation for unlocked parts" msgstr "" -#: common/models.py:1836 +#: common/models.py:1822 msgid "Require Valid BOM" msgstr "" -#: common/models.py:1838 +#: common/models.py:1824 msgid "Prevent build order creation unless BOM has been validated" msgstr "" -#: common/models.py:1844 +#: common/models.py:1830 msgid "Require Closed Child Orders" msgstr "" -#: common/models.py:1846 +#: common/models.py:1832 msgid "Prevent build order completion until all child orders are closed" msgstr "" -#: common/models.py:1852 +#: common/models.py:1838 msgid "Block Until Tests Pass" msgstr "" -#: common/models.py:1854 +#: common/models.py:1840 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "" -#: common/models.py:1860 +#: common/models.py:1846 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1861 +#: common/models.py:1847 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1866 +#: common/models.py:1852 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1868 +#: common/models.py:1854 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1880 +#: common/models.py:1866 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1882 +#: common/models.py:1868 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1888 +#: common/models.py:1874 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1890 +#: common/models.py:1876 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1902 +#: common/models.py:1888 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1903 +#: common/models.py:1889 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1908 +#: common/models.py:1894 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1910 +#: common/models.py:1896 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1916 +#: common/models.py:1902 msgid "Mark Shipped Orders as Complete" msgstr "" -#: common/models.py:1918 +#: common/models.py:1904 msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status" msgstr "" -#: common/models.py:1924 +#: common/models.py:1910 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1926 +#: common/models.py:1912 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1938 +#: common/models.py:1924 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1940 +#: common/models.py:1926 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1946 +#: common/models.py:1932 msgid "Auto Complete Purchase Orders" msgstr "" -#: common/models.py:1948 +#: common/models.py:1934 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/models.py:1955 +#: common/models.py:1941 msgid "Enable password forgot" msgstr "" -#: common/models.py:1956 +#: common/models.py:1942 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1961 +#: common/models.py:1947 msgid "Enable registration" msgstr "" -#: common/models.py:1962 +#: common/models.py:1948 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1967 +#: common/models.py:1953 msgid "Enable SSO" msgstr "" -#: common/models.py:1968 +#: common/models.py:1954 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1973 +#: common/models.py:1959 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1975 +#: common/models.py:1961 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1981 +#: common/models.py:1967 msgid "Enable SSO group sync" msgstr "" -#: common/models.py:1983 +#: common/models.py:1969 msgid "Enable synchronizing InvenTree groups with groups provided by the IdP" msgstr "" -#: common/models.py:1989 +#: common/models.py:1975 msgid "SSO group key" msgstr "" -#: common/models.py:1991 +#: common/models.py:1977 msgid "The name of the groups claim attribute provided by the IdP" msgstr "" -#: common/models.py:1997 +#: common/models.py:1983 msgid "SSO group map" msgstr "" -#: common/models.py:1999 +#: common/models.py:1985 msgid "A mapping from SSO groups to local InvenTree groups. If the local group does not exist, it will be created." msgstr "" -#: common/models.py:2005 +#: common/models.py:1991 msgid "Remove groups outside of SSO" msgstr "" -#: common/models.py:2007 +#: common/models.py:1993 msgid "Whether groups assigned to the user should be removed if they are not backend by the IdP. Disabling this setting might cause security issues" msgstr "" -#: common/models.py:2013 +#: common/models.py:1999 msgid "Email required" msgstr "メールアドレスは必須です" -#: common/models.py:2014 +#: common/models.py:2000 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:2019 +#: common/models.py:2005 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:2021 +#: common/models.py:2007 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:2027 +#: common/models.py:2013 msgid "Mail twice" msgstr "" -#: common/models.py:2028 +#: common/models.py:2014 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:2033 +#: common/models.py:2019 msgid "Password twice" msgstr "" -#: common/models.py:2034 +#: common/models.py:2020 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:2039 +#: common/models.py:2025 msgid "Allowed domains" msgstr "" -#: common/models.py:2041 +#: common/models.py:2027 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:2047 +#: common/models.py:2033 msgid "Group on signup" msgstr "" -#: common/models.py:2049 +#: common/models.py:2035 msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP." msgstr "" -#: common/models.py:2055 +#: common/models.py:2041 msgid "Enforce MFA" msgstr "" -#: common/models.py:2056 +#: common/models.py:2042 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:2061 +#: common/models.py:2047 msgid "Check plugins on startup" msgstr "" -#: common/models.py:2063 +#: common/models.py:2049 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:2071 +#: common/models.py:2057 msgid "Check for plugin updates" msgstr "" -#: common/models.py:2072 +#: common/models.py:2058 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:2078 +#: common/models.py:2064 msgid "Enable URL integration" msgstr "" -#: common/models.py:2079 +#: common/models.py:2065 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:2085 +#: common/models.py:2071 msgid "Enable navigation integration" msgstr "" -#: common/models.py:2086 +#: common/models.py:2072 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:2092 +#: common/models.py:2078 msgid "Enable app integration" msgstr "" -#: common/models.py:2093 +#: common/models.py:2079 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:2099 +#: common/models.py:2085 msgid "Enable schedule integration" msgstr "" -#: common/models.py:2100 +#: common/models.py:2086 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:2106 +#: common/models.py:2092 msgid "Enable event integration" msgstr "" -#: common/models.py:2107 +#: common/models.py:2093 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:2113 +#: common/models.py:2099 +msgid "Enable interface integration" +msgstr "" + +#: common/models.py:2100 +msgid "Enable plugins to integrate into the user interface" +msgstr "" + +#: common/models.py:2106 msgid "Enable project codes" msgstr "" -#: common/models.py:2114 +#: common/models.py:2107 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:2119 +#: common/models.py:2112 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:2121 +#: common/models.py:2114 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:2127 +#: common/models.py:2120 msgid "Exclude External Locations" msgstr "" -#: common/models.py:2129 +#: common/models.py:2122 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/models.py:2135 +#: common/models.py:2128 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:2137 +#: common/models.py:2130 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:2143 +#: common/models.py:2136 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:2145 +#: common/models.py:2138 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:2152 +#: common/models.py:2145 msgid "Display Users full names" msgstr "" -#: common/models.py:2153 +#: common/models.py:2146 msgid "Display Users full names instead of usernames" msgstr "" -#: common/models.py:2158 +#: common/models.py:2151 msgid "Enable Test Station Data" msgstr "" -#: common/models.py:2159 +#: common/models.py:2152 msgid "Enable test station data collection for test results" msgstr "" -#: common/models.py:2171 common/models.py:2551 +#: common/models.py:2157 +msgid "Create Template on Upload" +msgstr "" + +#: common/models.py:2159 +msgid "Create a new test template when uploading test data which does not match an existing template" +msgstr "" + +#: common/models.py:2172 common/models.py:2552 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:2214 +#: common/models.py:2215 msgid "Hide inactive parts" msgstr "非アクティブな部品を非表示" -#: common/models.py:2216 +#: common/models.py:2217 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:2222 +#: common/models.py:2223 msgid "Show subscribed parts" msgstr "購読中の部品を表示" -#: common/models.py:2223 +#: common/models.py:2224 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:2228 +#: common/models.py:2229 msgid "Show subscribed categories" msgstr "購読中のカテゴリを表示" -#: common/models.py:2229 +#: common/models.py:2230 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:2234 +#: common/models.py:2235 msgid "Show latest parts" msgstr "" -#: common/models.py:2235 +#: common/models.py:2236 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:2240 +#: common/models.py:2241 msgid "Show invalid BOMs" msgstr "" -#: common/models.py:2241 +#: common/models.py:2242 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:2246 +#: common/models.py:2247 msgid "Show recent stock changes" msgstr "" -#: common/models.py:2247 +#: common/models.py:2248 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:2252 +#: common/models.py:2253 msgid "Show low stock" msgstr "" -#: common/models.py:2253 +#: common/models.py:2254 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:2258 +#: common/models.py:2259 msgid "Show depleted stock" msgstr "" -#: common/models.py:2259 +#: common/models.py:2260 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:2264 +#: common/models.py:2265 msgid "Show needed stock" msgstr "" -#: common/models.py:2265 +#: common/models.py:2266 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:2270 +#: common/models.py:2271 msgid "Show expired stock" msgstr "" -#: common/models.py:2271 +#: common/models.py:2272 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:2276 +#: common/models.py:2277 msgid "Show stale stock" msgstr "" -#: common/models.py:2277 +#: common/models.py:2278 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:2282 +#: common/models.py:2283 msgid "Show pending builds" msgstr "" -#: common/models.py:2283 +#: common/models.py:2284 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:2288 +#: common/models.py:2289 msgid "Show overdue builds" msgstr "" -#: common/models.py:2289 +#: common/models.py:2290 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:2294 +#: common/models.py:2295 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2295 +#: common/models.py:2296 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2300 +#: common/models.py:2301 msgid "Show overdue POs" msgstr "" -#: common/models.py:2301 +#: common/models.py:2302 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2306 +#: common/models.py:2307 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2307 +#: common/models.py:2308 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2312 +#: common/models.py:2313 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2313 +#: common/models.py:2314 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2318 +#: common/models.py:2319 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2319 +#: common/models.py:2320 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2324 +#: common/models.py:2325 msgid "Show News" msgstr "" -#: common/models.py:2325 +#: common/models.py:2326 msgid "Show news on the homepage" msgstr "" -#: common/models.py:2330 +#: common/models.py:2331 msgid "Inline label display" msgstr "" -#: common/models.py:2332 +#: common/models.py:2333 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2338 +#: common/models.py:2339 msgid "Default label printer" msgstr "" -#: common/models.py:2340 +#: common/models.py:2341 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2346 +#: common/models.py:2347 msgid "Inline report display" msgstr "" -#: common/models.py:2348 +#: common/models.py:2349 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2354 +#: common/models.py:2355 msgid "Search Parts" msgstr "" -#: common/models.py:2355 +#: common/models.py:2356 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2360 +#: common/models.py:2361 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2361 +#: common/models.py:2362 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2366 +#: common/models.py:2367 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2367 +#: common/models.py:2368 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2372 +#: common/models.py:2373 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2373 +#: common/models.py:2374 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2378 +#: common/models.py:2379 msgid "Search Categories" msgstr "" -#: common/models.py:2379 +#: common/models.py:2380 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2384 +#: common/models.py:2385 msgid "Search Stock" msgstr "" -#: common/models.py:2385 +#: common/models.py:2386 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2390 +#: common/models.py:2391 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2392 +#: common/models.py:2393 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2398 +#: common/models.py:2399 msgid "Search Locations" msgstr "" -#: common/models.py:2399 +#: common/models.py:2400 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2404 +#: common/models.py:2405 msgid "Search Companies" msgstr "" -#: common/models.py:2405 +#: common/models.py:2406 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2410 +#: common/models.py:2411 msgid "Search Build Orders" msgstr "" -#: common/models.py:2411 +#: common/models.py:2412 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2416 +#: common/models.py:2417 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2417 +#: common/models.py:2418 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2422 +#: common/models.py:2423 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2424 +#: common/models.py:2425 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2430 +#: common/models.py:2431 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2431 +#: common/models.py:2432 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2436 +#: common/models.py:2437 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2438 +#: common/models.py:2439 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2444 +#: common/models.py:2445 msgid "Search Return Orders" msgstr "" -#: common/models.py:2445 +#: common/models.py:2446 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2450 +#: common/models.py:2451 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2452 +#: common/models.py:2453 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2458 +#: common/models.py:2459 msgid "Search Preview Results" msgstr "" -#: common/models.py:2460 +#: common/models.py:2461 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2466 +#: common/models.py:2467 msgid "Regex Search" msgstr "" -#: common/models.py:2467 +#: common/models.py:2468 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2472 +#: common/models.py:2473 msgid "Whole Word Search" msgstr "" -#: common/models.py:2473 +#: common/models.py:2474 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2478 +#: common/models.py:2479 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2479 +#: common/models.py:2480 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2484 +#: common/models.py:2485 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2485 +#: common/models.py:2486 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2490 +#: common/models.py:2491 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2491 +#: common/models.py:2492 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2496 +#: common/models.py:2497 msgid "Date Format" msgstr "" -#: common/models.py:2497 +#: common/models.py:2498 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2510 part/templates/part/detail.html:41 +#: common/models.py:2511 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2511 +#: common/models.py:2512 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2516 part/templates/part/detail.html:62 +#: common/models.py:2517 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2518 +#: common/models.py:2519 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2524 +#: common/models.py:2525 msgid "Table String Length" msgstr "" -#: common/models.py:2526 +#: common/models.py:2527 msgid "Maximum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2532 +#: common/models.py:2533 msgid "Receive error reports" msgstr "" -#: common/models.py:2533 +#: common/models.py:2534 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2538 +#: common/models.py:2539 msgid "Last used printing machines" msgstr "" -#: common/models.py:2539 +#: common/models.py:2540 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2559 common/models.py:2560 common/models.py:2717 -#: common/models.py:2718 common/models.py:2963 common/models.py:2964 -#: common/models.py:3287 common/models.py:3288 importer/models.py:89 -#: part/models.py:3319 part/models.py:3406 part/models.py:3480 -#: part/models.py:3508 plugin/models.py:274 plugin/models.py:275 +#: common/models.py:2560 common/models.py:2561 common/models.py:2718 +#: common/models.py:2719 common/models.py:2964 common/models.py:2965 +#: common/models.py:3288 common/models.py:3289 importer/models.py:89 +#: part/models.py:3306 part/models.py:3393 part/models.py:3467 +#: part/models.py:3495 plugin/models.py:274 plugin/models.py:275 #: report/templates/report/inventree_test_report.html:105 #: templates/js/translated/stock.js:3121 users/models.py:111 msgid "User" msgstr "ユーザー" -#: common/models.py:2582 +#: common/models.py:2583 msgid "Price break quantity" msgstr "" -#: common/models.py:2589 company/serializers.py:517 order/admin.py:42 +#: common/models.py:2590 company/serializers.py:517 order/admin.py:42 #: order/models.py:1423 order/models.py:2410 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1892 #: templates/js/translated/pricing.js:621 @@ -3747,96 +3744,96 @@ msgstr "" msgid "Price" msgstr "" -#: common/models.py:2590 +#: common/models.py:2591 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2694 common/models.py:2879 +#: common/models.py:2695 common/models.py:2880 msgid "Endpoint" msgstr "" -#: common/models.py:2695 +#: common/models.py:2696 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2705 +#: common/models.py:2706 msgid "Name for this webhook" msgstr "" -#: common/models.py:2709 +#: common/models.py:2710 msgid "Is this webhook active" msgstr "" -#: common/models.py:2725 users/models.py:159 +#: common/models.py:2726 users/models.py:159 msgid "Token" msgstr "" -#: common/models.py:2726 +#: common/models.py:2727 msgid "Token for access" msgstr "" -#: common/models.py:2734 +#: common/models.py:2735 msgid "Secret" msgstr "" -#: common/models.py:2735 +#: common/models.py:2736 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2843 +#: common/models.py:2844 msgid "Message ID" msgstr "メッセージ ID:" -#: common/models.py:2844 +#: common/models.py:2845 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2852 +#: common/models.py:2853 msgid "Host" msgstr "" -#: common/models.py:2853 +#: common/models.py:2854 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2861 +#: common/models.py:2862 msgid "Header" msgstr "" -#: common/models.py:2862 +#: common/models.py:2863 msgid "Header of this message" msgstr "" -#: common/models.py:2869 +#: common/models.py:2870 msgid "Body" msgstr "" -#: common/models.py:2870 +#: common/models.py:2871 msgid "Body of this message" msgstr "" -#: common/models.py:2880 +#: common/models.py:2881 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2885 +#: common/models.py:2886 msgid "Worked on" msgstr "" -#: common/models.py:2886 +#: common/models.py:2887 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:3012 +#: common/models.py:3013 msgid "Id" msgstr "" -#: common/models.py:3014 templates/js/translated/company.js:965 +#: common/models.py:3015 templates/js/translated/company.js:965 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:3016 common/models.py:3271 company/models.py:146 +#: common/models.py:3017 common/models.py:3272 company/models.py:146 #: company/models.py:443 company/models.py:509 company/models.py:815 #: order/models.py:303 order/models.py:1378 order/models.py:1810 #: part/admin.py:55 part/models.py:1069 @@ -3853,217 +3850,217 @@ msgstr "" msgid "Link" msgstr "リンク" -#: common/models.py:3018 templates/js/translated/news.js:60 +#: common/models.py:3019 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:3020 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:3021 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:103 msgid "Author" msgstr "" -#: common/models.py:3022 templates/js/translated/news.js:52 +#: common/models.py:3023 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:3025 +#: common/models.py:3026 msgid "Read" msgstr "" -#: common/models.py:3025 +#: common/models.py:3026 msgid "Was this news item read?" msgstr "" -#: common/models.py:3042 company/models.py:156 part/models.py:1079 +#: common/models.py:3043 company/models.py:156 part/models.py:1079 #: 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.html:35 -#: stock/templates/stock/item_base.html:133 templates/503.html:31 +#: stock/templates/stock/item_base.html:129 templates/503.html:31 #: templates/hover_image.html:7 templates/hover_image.html:9 #: templates/modals.html:6 msgid "Image" msgstr "" -#: common/models.py:3042 +#: common/models.py:3043 msgid "Image file" msgstr "" -#: common/models.py:3054 common/models.py:3255 +#: common/models.py:3055 common/models.py:3256 msgid "Target model type for this image" msgstr "" -#: common/models.py:3058 +#: common/models.py:3059 msgid "Target model ID for this image" msgstr "" -#: common/models.py:3080 +#: common/models.py:3081 msgid "Custom Unit" msgstr "" -#: common/models.py:3098 +#: common/models.py:3099 msgid "Unit symbol must be unique" msgstr "" -#: common/models.py:3113 +#: common/models.py:3114 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:3132 +#: common/models.py:3133 msgid "Unit name" msgstr "" -#: common/models.py:3139 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3140 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:3140 +#: common/models.py:3141 msgid "Optional unit symbol" msgstr "" -#: common/models.py:3146 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3147 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:3147 +#: common/models.py:3148 msgid "Unit definition" msgstr "" -#: common/models.py:3205 common/models.py:3262 stock/models.py:2552 +#: common/models.py:3206 common/models.py:3263 stock/models.py:2547 #: stock/serializers.py:244 templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:345 msgid "Attachment" msgstr "添付ファイル" -#: common/models.py:3217 +#: common/models.py:3218 msgid "Missing file" msgstr "ファイルがありません" -#: common/models.py:3218 +#: common/models.py:3219 msgid "Missing external link" msgstr "外部リンクが見つかりません。" -#: common/models.py:3263 +#: common/models.py:3264 msgid "Select file to attach" msgstr "添付ファイルを選択" -#: common/models.py:3278 templates/js/translated/attachment.js:120 +#: common/models.py:3279 templates/js/translated/attachment.js:120 #: templates/js/translated/attachment.js:360 msgid "Comment" msgstr "コメント:" -#: common/models.py:3279 +#: common/models.py:3280 msgid "Attachment comment" msgstr "" -#: common/models.py:3295 +#: common/models.py:3296 msgid "Upload date" msgstr "" -#: common/models.py:3296 +#: common/models.py:3297 msgid "Date the file was uploaded" msgstr "" -#: common/models.py:3300 +#: common/models.py:3301 msgid "File size" msgstr "" -#: common/models.py:3300 +#: common/models.py:3301 msgid "File size in bytes" msgstr "" -#: common/models.py:3338 common/serializers.py:588 +#: common/models.py:3339 common/serializers.py:604 msgid "Invalid model type specified for attachment" msgstr "" -#: common/models.py:3347 plugin/models.py:43 users/models.py:100 +#: common/models.py:3348 plugin/models.py:43 users/models.py:100 msgid "Key" msgstr "" -#: common/models.py:3348 +#: common/models.py:3349 msgid "Value that will be saved in the models database" msgstr "" -#: common/models.py:3351 +#: common/models.py:3352 msgid "Name of the state" msgstr "" -#: common/models.py:3355 +#: common/models.py:3356 msgid "Label" msgstr "" -#: common/models.py:3356 +#: common/models.py:3357 msgid "Label that will be displayed in the frontend" msgstr "" -#: common/models.py:3362 +#: common/models.py:3363 msgid "Color" msgstr "" -#: common/models.py:3363 +#: common/models.py:3364 msgid "Color that will be displayed in the frontend" msgstr "" -#: common/models.py:3366 +#: common/models.py:3367 msgid "Logical Key" msgstr "" -#: common/models.py:3368 +#: common/models.py:3369 msgid "State logical key that is equal to this custom state in business logic" msgstr "" -#: common/models.py:3376 +#: common/models.py:3377 msgid "Model" msgstr "" -#: common/models.py:3377 +#: common/models.py:3378 msgid "Model this state is associated with" msgstr "" -#: common/models.py:3381 +#: common/models.py:3382 msgid "Reference Status Set" msgstr "" -#: common/models.py:3382 +#: common/models.py:3383 msgid "Status set that is extended with this custom state" msgstr "" -#: common/models.py:3388 +#: common/models.py:3389 msgid "Custom State" msgstr "" -#: common/models.py:3389 +#: common/models.py:3390 msgid "Custom States" msgstr "" -#: common/models.py:3404 +#: common/models.py:3405 msgid "Model must be selected" msgstr "" -#: common/models.py:3407 +#: common/models.py:3408 msgid "Key must be selected" msgstr "" -#: common/models.py:3410 +#: common/models.py:3411 msgid "Logical key must be selected" msgstr "" -#: common/models.py:3414 +#: common/models.py:3415 msgid "Key must be different from logical key" msgstr "" -#: common/models.py:3418 +#: common/models.py:3419 msgid "Reference status must be selected" msgstr "" -#: common/models.py:3430 +#: common/models.py:3431 msgid "Reference status set not found" msgstr "" -#: common/models.py:3436 +#: common/models.py:3437 msgid "Key must be different from the logical keys of the reference status" msgstr "" -#: common/models.py:3442 +#: common/models.py:3443 msgid "Logical key must be in the logical keys of the reference status" msgstr "" @@ -4101,75 +4098,75 @@ msgstr "" msgid "Error raised by plugin" msgstr "" -#: common/serializers.py:402 +#: common/serializers.py:418 msgid "Is Running" msgstr "" -#: common/serializers.py:408 +#: common/serializers.py:424 msgid "Pending Tasks" msgstr "" -#: common/serializers.py:414 +#: common/serializers.py:430 msgid "Scheduled Tasks" msgstr "" -#: common/serializers.py:420 +#: common/serializers.py:436 msgid "Failed Tasks" msgstr "" -#: common/serializers.py:435 +#: common/serializers.py:451 msgid "Task ID" msgstr "" -#: common/serializers.py:435 +#: common/serializers.py:451 msgid "Unique task ID" msgstr "" -#: common/serializers.py:437 +#: common/serializers.py:453 msgid "Lock" msgstr "" -#: common/serializers.py:437 +#: common/serializers.py:453 msgid "Lock time" msgstr "" -#: common/serializers.py:439 +#: common/serializers.py:455 msgid "Task name" msgstr "" -#: common/serializers.py:441 +#: common/serializers.py:457 msgid "Function" msgstr "" -#: common/serializers.py:441 +#: common/serializers.py:457 msgid "Function name" msgstr "" -#: common/serializers.py:443 +#: common/serializers.py:459 msgid "Arguments" msgstr "" -#: common/serializers.py:443 +#: common/serializers.py:459 msgid "Task arguments" msgstr "" -#: common/serializers.py:446 +#: common/serializers.py:462 msgid "Keyword Arguments" msgstr "" -#: common/serializers.py:446 +#: common/serializers.py:462 msgid "Task keyword arguments" msgstr "" -#: common/serializers.py:556 +#: common/serializers.py:572 msgid "Filename" msgstr "ファイル名" -#: common/serializers.py:563 report/api.py:100 report/serializers.py:53 +#: common/serializers.py:579 report/api.py:100 report/serializers.py:54 msgid "Model Type" msgstr "" -#: common/serializers.py:591 +#: common/serializers.py:607 msgid "User does not have permission to create or edit attachments for this model" msgstr "" @@ -4447,12 +4444,12 @@ msgstr "" #: company/models.py:467 company/models.py:584 company/models.py:808 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 -#: stock/templates/stock/item_base.html:217 +#: stock/templates/stock/item_base.html:213 msgid "Manufacturer Part" msgstr "メーカー・パーツ" #: company/models.py:484 company/models.py:776 stock/models.py:791 -#: stock/serializers.py:452 stock/templates/stock/item_base.html:142 +#: stock/serializers.py:452 stock/templates/stock/item_base.html:138 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" @@ -4463,8 +4460,8 @@ msgstr "" #: company/models.py:495 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:567 -#: stock/templates/stock/item_base.html:207 +#: company/templates/company/supplier_part.html:145 part/serializers.py:565 +#: stock/templates/stock/item_base.html:203 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 #: templates/js/translated/company.js:1296 @@ -4479,7 +4476,7 @@ msgstr "" #: company/models.py:502 company/templates/company/manufacturer_part.html:101 #: company/templates/company/supplier_part.html:153 order/serializers.py:557 -#: part/serializers.py:577 templates/js/translated/company.js:351 +#: part/serializers.py:575 templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 #: templates/js/translated/company.js:1630 templates/js/translated/part.js:1807 @@ -4505,7 +4502,7 @@ msgid "Parameter name" msgstr "" #: company/models.py:597 report/templates/report/inventree_test_report.html:104 -#: stock/models.py:2544 templates/js/translated/company.js:1166 +#: stock/models.py:2539 templates/js/translated/company.js:1166 #: templates/js/translated/company.js:1419 templates/js/translated/part.js:1499 #: templates/js/translated/stock.js:1607 msgid "Value" @@ -4516,7 +4513,7 @@ msgid "Parameter value" msgstr "" #: company/models.py:605 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1159 part/models.py:3783 +#: part/admin.py:57 part/models.py:1159 part/models.py:3770 #: part/templates/part/part_base.html:300 #: templates/js/translated/company.js:1425 templates/js/translated/part.js:1518 #: templates/js/translated/part.js:1622 templates/js/translated/part.js:2376 @@ -4530,7 +4527,7 @@ msgstr "" #: company/models.py:659 company/templates/company/supplier_part.html:7 #: company/templates/company/supplier_part.html:24 order/api.py:440 #: order/serializers.py:492 stock/models.py:802 -#: stock/templates/stock/item_base.html:233 +#: stock/templates/stock/item_base.html:229 #: templates/js/translated/build.js:1055 #: templates/js/translated/company.js:1600 #: templates/js/translated/purchase_order.js:752 @@ -4553,9 +4550,9 @@ msgstr "" #: company/models.py:786 company/templates/company/company_base.html:87 #: company/templates/company/supplier_part.html:129 order/models.py:492 #: order/templates/order/order_base.html:141 part/bom.py:279 part/bom.py:314 -#: part/serializers.py:551 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:549 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 -#: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 +#: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:220 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:511 @@ -4570,7 +4567,7 @@ msgstr "仕入先" msgid "Select supplier" msgstr "" -#: company/models.py:793 part/serializers.py:562 +#: company/models.py:793 part/serializers.py:560 msgid "Supplier stock keeping unit" msgstr "" @@ -4591,7 +4588,7 @@ msgid "Supplier part description" msgstr "" #: company/models.py:832 company/templates/company/supplier_part.html:187 -#: order/serializers.py:699 part/admin.py:415 part/models.py:4301 +#: order/serializers.py:699 part/admin.py:415 part/models.py:4288 #: part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 @@ -4603,11 +4600,11 @@ msgstr "" msgid "Note" msgstr "" -#: company/models.py:841 part/models.py:2129 +#: company/models.py:841 part/models.py:2128 msgid "base cost" msgstr "" -#: company/models.py:842 part/models.py:2130 +#: company/models.py:842 part/models.py:2129 msgid "Minimum charge (e.g. stocking fee)" msgstr "" @@ -4629,7 +4626,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:876 part/models.py:2136 +#: company/models.py:876 part/models.py:2135 msgid "multiple" msgstr "" @@ -4661,7 +4658,7 @@ msgstr "" msgid "Company Name" msgstr "" -#: company/serializers.py:397 part/admin.py:126 part/serializers.py:919 +#: company/serializers.py:397 part/admin.py:126 part/serializers.py:917 #: part/templates/part/part_base.html:197 #: templates/js/translated/company.js:1689 #: templates/js/translated/table_filters.js:362 @@ -4735,7 +4732,7 @@ msgstr "" #: order/models.py:2140 order/templates/order/return_order_base.html:134 #: order/templates/order/sales_order_base.html:151 stock/models.py:844 #: stock/models.py:845 stock/serializers.py:1336 -#: stock/templates/stock/item_base.html:405 +#: stock/templates/stock/item_base.html:401 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 #: templates/js/translated/return_order.js:295 @@ -4939,7 +4936,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:925 +#: part/admin.py:122 part/serializers.py:923 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -5030,7 +5027,7 @@ msgid "No supplier information available" msgstr "" #: company/templates/company/supplier_part.html:139 order/serializers.py:554 -#: part/bom.py:286 part/bom.py:315 part/serializers.py:561 +#: part/bom.py:286 part/bom.py:315 part/serializers.py:559 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1793 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1920 @@ -5084,7 +5081,7 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:923 part/stocktake.py:223 +#: part/serializers.py:921 part/stocktake.py:223 #: part/templates/part/category.html:180 #: part/templates/part/category_sidebar.html:17 stock/admin.py:68 #: stock/serializers.py:1021 stock/serializers.py:1199 @@ -5215,7 +5212,7 @@ msgstr "" msgid "Original row data" msgstr "" -#: importer/models.py:504 part/models.py:3965 +#: importer/models.py:504 part/models.py:3952 msgid "Data" msgstr "" @@ -5473,7 +5470,7 @@ msgstr "" #: order/models.py:1592 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_purchase_order_report.html:14 -#: stock/serializers.py:121 stock/templates/stock/item_base.html:176 +#: stock/serializers.py:121 stock/templates/stock/item_base.html:172 #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/part.js:1752 templates/js/translated/pricing.js:804 #: templates/js/translated/purchase_order.js:168 @@ -5694,7 +5691,7 @@ msgid "Number of items received" msgstr "" #: order/models.py:1513 stock/models.py:963 stock/serializers.py:617 -#: stock/templates/stock/item_base.html:183 +#: stock/templates/stock/item_base.html:179 #: templates/js/translated/stock.js:2397 msgid "Purchase Price" msgstr "購入金額" @@ -5768,7 +5765,7 @@ msgid "User who checked this shipment" msgstr "" #: order/models.py:1788 order/models.py:2011 order/serializers.py:1479 -#: order/serializers.py:1589 templates/js/translated/model_renderers.js:455 +#: order/serializers.py:1597 templates/js/translated/model_renderers.js:455 msgid "Shipment" msgstr "" @@ -5982,7 +5979,7 @@ msgstr "" msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:656 order/serializers.py:779 order/serializers.py:1790 +#: order/serializers.py:656 order/serializers.py:779 order/serializers.py:1798 msgid "Select destination location for received items" msgstr "" @@ -6019,7 +6016,7 @@ msgstr "" msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:795 order/serializers.py:1806 +#: order/serializers.py:795 order/serializers.py:1814 msgid "Line items must be provided" msgstr "" @@ -6051,39 +6048,39 @@ msgstr "" msgid "Enter serial numbers to allocate" msgstr "割り当てるシリアル番号を入力" -#: order/serializers.py:1491 order/serializers.py:1597 +#: order/serializers.py:1491 order/serializers.py:1605 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1494 order/serializers.py:1600 +#: order/serializers.py:1494 order/serializers.py:1608 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1541 +#: order/serializers.py:1549 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1548 -msgid "The following serial numbers are already allocated" +#: order/serializers.py:1556 +msgid "The following serial numbers are unavailable" msgstr "" -#: order/serializers.py:1760 +#: order/serializers.py:1768 msgid "Return order line item" msgstr "" -#: order/serializers.py:1766 +#: order/serializers.py:1774 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1769 +#: order/serializers.py:1777 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1798 +#: order/serializers.py:1806 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1881 +#: order/serializers.py:1889 msgid "Line price currency" msgstr "" @@ -6510,7 +6507,7 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:48 part/models.py:1044 part/serializers.py:908 +#: part/admin.py:48 part/models.py:1044 part/serializers.py:906 #: part/templates/part/part_base.html:276 #: report/templates/report/inventree_stock_location_report.html:103 #: templates/js/translated/part.js:1233 templates/js/translated/part.js:2347 @@ -6537,7 +6534,7 @@ msgstr "" msgid "Category ID" msgstr "カテゴリID" -#: part/admin.py:67 part/admin.py:304 part/serializers.py:893 +#: part/admin.py:67 part/admin.py:304 part/serializers.py:891 #: part/stocktake.py:222 msgid "Category Name" msgstr "カテゴリ名" @@ -6562,18 +6559,18 @@ msgstr "" msgid "Used In" msgstr "" -#: part/admin.py:150 part/serializers.py:918 +#: part/admin.py:150 part/serializers.py:916 #: part/templates/part/part_base.html:248 stock/admin.py:236 #: templates/js/translated/part.js:717 templates/js/translated/part.js:2159 msgid "Building" msgstr "" -#: part/admin.py:155 part/models.py:3214 part/models.py:3228 +#: part/admin.py:155 part/models.py:3201 part/models.py:3215 #: templates/js/translated/part.js:976 msgid "Minimum Cost" msgstr "" -#: part/admin.py:158 part/models.py:3221 part/models.py:3235 +#: part/admin.py:158 part/models.py:3208 part/models.py:3222 #: templates/js/translated/part.js:986 msgid "Maximum Cost" msgstr "" @@ -6592,7 +6589,7 @@ msgid "Category Path" msgstr "" #: part/admin.py:325 part/models.py:420 part/serializers.py:130 -#: part/serializers.py:290 part/serializers.py:428 +#: part/serializers.py:290 part/serializers.py:426 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:20 #: part/templates/part/category.html:138 part/templates/part/category.html:158 #: part/templates/part/category_sidebar.html:9 @@ -6619,13 +6616,13 @@ msgstr "" msgid "Part Revision" msgstr "" -#: part/admin.py:418 part/serializers.py:1367 +#: part/admin.py:418 part/serializers.py:1365 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:423 part/serializers.py:1382 +#: part/admin.py:423 part/serializers.py:1380 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -6719,8 +6716,8 @@ msgstr "" msgid "BOM Valid" msgstr "" -#: part/api.py:1520 part/models.py:1036 part/models.py:3501 part/models.py:4060 -#: part/serializers.py:443 part/serializers.py:1223 +#: part/api.py:1520 part/models.py:1036 part/models.py:3488 part/models.py:4047 +#: part/serializers.py:441 part/serializers.py:1221 #: part/templates/part/part_base.html:267 stock/api.py:780 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 @@ -6746,7 +6743,7 @@ msgstr "" msgid "Default Location" msgstr "" -#: part/bom.py:184 part/serializers.py:926 +#: part/bom.py:184 part/serializers.py:924 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -6755,7 +6752,7 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:89 part/models.py:4061 part/templates/part/category.html:16 +#: part/models.py:89 part/models.py:4048 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "パーツカテゴリ" @@ -6878,7 +6875,7 @@ msgstr "" msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:995 part/models.py:4116 +#: part/models.py:995 part/models.py:4103 msgid "Part name" msgstr "" @@ -6906,7 +6903,7 @@ msgstr "" msgid "Part category" msgstr "パーツカテゴリ" -#: part/models.py:1052 part/serializers.py:360 +#: part/models.py:1052 msgid "Part revision or version number" msgstr "" @@ -7012,164 +7009,164 @@ msgid "Owner responsible for this part" msgstr "" #: part/models.py:1264 part/templates/part/part_base.html:355 -#: stock/templates/stock/item_base.html:451 +#: stock/templates/stock/item_base.html:447 #: templates/js/translated/part.js:2490 msgid "Last Stocktake" msgstr "" -#: part/models.py:2137 +#: part/models.py:2136 msgid "Sell multiple" msgstr "" -#: part/models.py:3128 +#: part/models.py:3115 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3144 +#: part/models.py:3131 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3145 +#: part/models.py:3132 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3151 +#: part/models.py:3138 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3152 +#: part/models.py:3139 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3158 +#: part/models.py:3145 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3159 +#: part/models.py:3146 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3165 +#: part/models.py:3152 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3166 +#: part/models.py:3153 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3172 +#: part/models.py:3159 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3173 +#: part/models.py:3160 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3179 +#: part/models.py:3166 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3180 +#: part/models.py:3167 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3186 +#: part/models.py:3173 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3187 +#: part/models.py:3174 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3193 +#: part/models.py:3180 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3194 +#: part/models.py:3181 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3200 +#: part/models.py:3187 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3201 +#: part/models.py:3188 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3207 +#: part/models.py:3194 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3208 +#: part/models.py:3195 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3215 +#: part/models.py:3202 msgid "Override minimum cost" msgstr "" -#: part/models.py:3222 +#: part/models.py:3209 msgid "Override maximum cost" msgstr "" -#: part/models.py:3229 +#: part/models.py:3216 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3236 +#: part/models.py:3223 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3242 +#: part/models.py:3229 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3243 +#: part/models.py:3230 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3249 +#: part/models.py:3236 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3250 +#: part/models.py:3237 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3256 +#: part/models.py:3243 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3257 +#: part/models.py:3244 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3263 +#: part/models.py:3250 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3264 +#: part/models.py:3251 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3283 +#: part/models.py:3270 msgid "Part for stocktake" msgstr "" -#: part/models.py:3288 +#: part/models.py:3275 msgid "Item Count" msgstr "" -#: part/models.py:3289 +#: part/models.py:3276 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3297 +#: part/models.py:3284 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3301 part/models.py:3384 +#: part/models.py:3288 part/models.py:3371 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -7181,363 +7178,363 @@ msgstr "" msgid "Date" msgstr "" -#: part/models.py:3302 +#: part/models.py:3289 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3310 +#: part/models.py:3297 msgid "Additional notes" msgstr "" -#: part/models.py:3320 +#: part/models.py:3307 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3326 +#: part/models.py:3313 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3327 +#: part/models.py:3314 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3333 +#: part/models.py:3320 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3334 +#: part/models.py:3321 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3390 templates/InvenTree/settings/settings_staff_js.html:532 +#: part/models.py:3377 templates/InvenTree/settings/settings_staff_js.html:532 msgid "Report" msgstr "" -#: part/models.py:3391 +#: part/models.py:3378 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3396 templates/InvenTree/settings/settings_staff_js.html:539 +#: part/models.py:3383 templates/InvenTree/settings/settings_staff_js.html:539 msgid "Part Count" msgstr "" -#: part/models.py:3397 +#: part/models.py:3384 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3407 +#: part/models.py:3394 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3417 +#: part/models.py:3404 msgid "Part Sale Price Break" msgstr "" -#: part/models.py:3529 +#: part/models.py:3516 msgid "Part Test Template" msgstr "" -#: part/models.py:3555 +#: part/models.py:3542 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3576 part/models.py:3745 +#: part/models.py:3563 part/models.py:3732 msgid "Choices must be unique" msgstr "" -#: part/models.py:3587 +#: part/models.py:3574 msgid "Test templates can only be created for testable parts" msgstr "" -#: part/models.py:3598 +#: part/models.py:3585 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3615 templates/js/translated/part.js:2898 +#: part/models.py:3602 templates/js/translated/part.js:2898 msgid "Test Name" msgstr "" -#: part/models.py:3616 +#: part/models.py:3603 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3622 +#: part/models.py:3609 msgid "Test Key" msgstr "" -#: part/models.py:3623 +#: part/models.py:3610 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3630 +#: part/models.py:3617 msgid "Test Description" msgstr "" -#: part/models.py:3631 +#: part/models.py:3618 msgid "Enter description for this test" msgstr "" -#: part/models.py:3635 report/models.py:208 +#: part/models.py:3622 report/models.py:216 #: templates/js/translated/part.js:2919 #: templates/js/translated/table_filters.js:502 msgid "Enabled" msgstr "" -#: part/models.py:3635 +#: part/models.py:3622 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3640 templates/js/translated/part.js:2927 +#: part/models.py:3627 templates/js/translated/part.js:2927 #: templates/js/translated/table_filters.js:498 msgid "Required" msgstr "" -#: part/models.py:3641 +#: part/models.py:3628 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3646 templates/js/translated/part.js:2935 +#: part/models.py:3633 templates/js/translated/part.js:2935 msgid "Requires Value" msgstr "" -#: part/models.py:3647 +#: part/models.py:3634 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3652 templates/js/translated/part.js:2942 +#: part/models.py:3639 templates/js/translated/part.js:2942 msgid "Requires Attachment" msgstr "" -#: part/models.py:3654 +#: part/models.py:3641 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3660 part/models.py:3804 templates/js/translated/part.js:1643 +#: part/models.py:3647 part/models.py:3791 templates/js/translated/part.js:1643 msgid "Choices" msgstr "" -#: part/models.py:3661 +#: part/models.py:3648 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3693 +#: part/models.py:3680 msgid "Part Parameter Template" msgstr "" -#: part/models.py:3720 +#: part/models.py:3707 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3725 +#: part/models.py:3712 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3762 +#: part/models.py:3749 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3777 +#: part/models.py:3764 msgid "Parameter Name" msgstr "" -#: part/models.py:3784 +#: part/models.py:3771 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3792 +#: part/models.py:3779 msgid "Parameter description" msgstr "" -#: part/models.py:3798 templates/js/translated/part.js:1634 +#: part/models.py:3785 templates/js/translated/part.js:1634 #: templates/js/translated/table_filters.js:837 msgid "Checkbox" msgstr "" -#: part/models.py:3799 +#: part/models.py:3786 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3805 +#: part/models.py:3792 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3839 +#: part/models.py:3826 msgid "Part Parameter" msgstr "" -#: part/models.py:3865 +#: part/models.py:3852 msgid "Parameter cannot be modified - part is locked" msgstr "" -#: part/models.py:3903 +#: part/models.py:3890 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3952 +#: part/models.py:3939 msgid "Parent Part" msgstr "" -#: part/models.py:3960 part/models.py:4068 part/models.py:4069 +#: part/models.py:3947 part/models.py:4055 part/models.py:4056 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3966 +#: part/models.py:3953 msgid "Parameter Value" msgstr "" -#: part/models.py:4016 +#: part/models.py:4003 msgid "Part Category Parameter Template" msgstr "" -#: part/models.py:4075 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:4062 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:4076 +#: part/models.py:4063 msgid "Default Parameter Value" msgstr "" -#: part/models.py:4114 +#: part/models.py:4101 msgid "Part ID or part name" msgstr "" -#: part/models.py:4115 +#: part/models.py:4102 msgid "Unique part ID value" msgstr "" -#: part/models.py:4117 +#: part/models.py:4104 msgid "Part IPN value" msgstr "" -#: part/models.py:4118 +#: part/models.py:4105 msgid "Level" msgstr "" -#: part/models.py:4118 +#: part/models.py:4105 msgid "BOM level" msgstr "" -#: part/models.py:4228 +#: part/models.py:4215 msgid "BOM item cannot be modified - assembly is locked" msgstr "" -#: part/models.py:4235 +#: part/models.py:4222 msgid "BOM item cannot be modified - variant assembly is locked" msgstr "" -#: part/models.py:4245 +#: part/models.py:4232 msgid "Select parent part" msgstr "" -#: part/models.py:4255 +#: part/models.py:4242 msgid "Sub part" msgstr "" -#: part/models.py:4256 +#: part/models.py:4243 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4267 +#: part/models.py:4254 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4273 +#: part/models.py:4260 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4279 +#: part/models.py:4266 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4286 part/templates/part/upload_bom.html:55 +#: part/models.py:4273 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4287 +#: part/models.py:4274 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4294 +#: part/models.py:4281 msgid "BOM item reference" msgstr "" -#: part/models.py:4302 +#: part/models.py:4289 msgid "BOM item notes" msgstr "" -#: part/models.py:4308 +#: part/models.py:4295 msgid "Checksum" msgstr "" -#: part/models.py:4309 +#: part/models.py:4296 msgid "BOM line checksum" msgstr "" -#: part/models.py:4314 templates/js/translated/table_filters.js:181 +#: part/models.py:4301 templates/js/translated/table_filters.js:181 msgid "Validated" msgstr "" -#: part/models.py:4315 +#: part/models.py:4302 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4320 part/templates/part/upload_bom.html:57 +#: part/models.py:4307 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:185 #: templates/js/translated/table_filters.js:218 msgid "Gets inherited" msgstr "" -#: part/models.py:4321 +#: part/models.py:4308 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4327 +#: part/models.py:4314 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4412 stock/models.py:689 +#: part/models.py:4399 stock/models.py:689 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4422 part/models.py:4424 +#: part/models.py:4409 part/models.py:4411 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4561 +#: part/models.py:4554 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4582 +#: part/models.py:4575 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4595 +#: part/models.py:4588 msgid "Parent BOM item" msgstr "" -#: part/models.py:4603 +#: part/models.py:4596 msgid "Substitute part" msgstr "" -#: part/models.py:4619 +#: part/models.py:4612 msgid "Part 1" msgstr "" -#: part/models.py:4627 +#: part/models.py:4620 msgid "Part 2" msgstr "" -#: part/models.py:4628 +#: part/models.py:4621 msgid "Select Related Part" msgstr "" -#: part/models.py:4647 +#: part/models.py:4640 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4652 +#: part/models.py:4645 msgid "Duplicate relationship already exists" msgstr "" @@ -7571,326 +7568,326 @@ msgstr "" msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:434 +#: part/serializers.py:432 msgid "No parts selected" msgstr "" -#: part/serializers.py:444 +#: part/serializers.py:442 msgid "Select category" msgstr "カテゴリを選択" -#: part/serializers.py:479 +#: part/serializers.py:477 msgid "Original Part" msgstr "" -#: part/serializers.py:480 +#: part/serializers.py:478 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:485 +#: part/serializers.py:483 msgid "Copy Image" msgstr "" -#: part/serializers.py:486 +#: part/serializers.py:484 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:492 part/templates/part/detail.html:293 +#: part/serializers.py:490 part/templates/part/detail.html:293 msgid "Copy BOM" msgstr "" -#: part/serializers.py:493 +#: part/serializers.py:491 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:499 +#: part/serializers.py:497 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:500 +#: part/serializers.py:498 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:506 +#: part/serializers.py:504 msgid "Copy Notes" msgstr "" -#: part/serializers.py:507 +#: part/serializers.py:505 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:525 +#: part/serializers.py:523 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:527 +#: part/serializers.py:525 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:534 +#: part/serializers.py:532 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:535 +#: part/serializers.py:533 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:552 +#: part/serializers.py:550 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:568 +#: part/serializers.py:566 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:578 +#: part/serializers.py:576 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:585 +#: part/serializers.py:583 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:594 +#: part/serializers.py:592 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:605 +#: part/serializers.py:603 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:612 +#: part/serializers.py:610 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:924 +#: part/serializers.py:922 msgid "Revisions" msgstr "" -#: part/serializers.py:929 +#: part/serializers.py:927 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:932 +#: part/serializers.py:930 msgid "Variant Stock" msgstr "" -#: part/serializers.py:962 part/templates/part/copy_part.html:9 +#: part/serializers.py:960 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:474 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:963 +#: part/serializers.py:961 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:969 templates/js/translated/part.js:103 +#: part/serializers.py:967 templates/js/translated/part.js:103 msgid "Initial Stock" msgstr "" -#: part/serializers.py:970 +#: part/serializers.py:968 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:976 +#: part/serializers.py:974 msgid "Supplier Information" msgstr "" -#: part/serializers.py:977 +#: part/serializers.py:975 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:985 +#: part/serializers.py:983 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:986 +#: part/serializers.py:984 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:991 +#: part/serializers.py:989 msgid "Existing Image" msgstr "" -#: part/serializers.py:992 +#: part/serializers.py:990 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:1009 +#: part/serializers.py:1007 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1215 +#: part/serializers.py:1213 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1225 +#: part/serializers.py:1223 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1235 +#: part/serializers.py:1233 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1241 +#: part/serializers.py:1239 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1242 +#: part/serializers.py:1240 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1247 +#: part/serializers.py:1245 msgid "Generate Report" msgstr "" -#: part/serializers.py:1248 +#: part/serializers.py:1246 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1253 +#: part/serializers.py:1251 msgid "Update Parts" msgstr "" -#: part/serializers.py:1254 +#: part/serializers.py:1252 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1262 +#: part/serializers.py:1260 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1368 +#: part/serializers.py:1366 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1375 +#: part/serializers.py:1373 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1383 +#: part/serializers.py:1381 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1390 +#: part/serializers.py:1388 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1419 +#: part/serializers.py:1417 msgid "Update" msgstr "" -#: part/serializers.py:1420 +#: part/serializers.py:1418 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1443 +#: part/serializers.py:1441 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1450 +#: part/serializers.py:1448 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1453 +#: part/serializers.py:1451 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1597 +#: part/serializers.py:1595 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1606 +#: part/serializers.py:1604 msgid "Component Name" msgstr "" -#: part/serializers.py:1609 +#: part/serializers.py:1607 msgid "Component IPN" msgstr "" -#: part/serializers.py:1612 +#: part/serializers.py:1610 msgid "Component Description" msgstr "" -#: part/serializers.py:1618 +#: part/serializers.py:1616 msgid "Select the component part" msgstr "" -#: part/serializers.py:1627 part/templates/part/part_base.html:242 +#: part/serializers.py:1625 part/templates/part/part_base.html:242 #: templates/js/translated/bom.js:1219 msgid "Can Build" msgstr "" -#: part/serializers.py:1858 +#: part/serializers.py:1856 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1866 +#: part/serializers.py:1864 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1867 +#: part/serializers.py:1865 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1872 +#: part/serializers.py:1870 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1873 +#: part/serializers.py:1871 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1878 +#: part/serializers.py:1876 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1879 +#: part/serializers.py:1877 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1884 +#: part/serializers.py:1882 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1885 +#: part/serializers.py:1883 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1922 +#: part/serializers.py:1920 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1923 +#: part/serializers.py:1921 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1955 +#: part/serializers.py:1953 msgid "No part column specified" msgstr "" -#: part/serializers.py:1999 +#: part/serializers.py:1997 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:2002 +#: part/serializers.py:2000 msgid "No matching part found" msgstr "" -#: part/serializers.py:2004 +#: part/serializers.py:2002 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:2013 +#: part/serializers.py:2011 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:2021 +#: part/serializers.py:2019 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:2044 +#: part/serializers.py:2042 msgid "At least one BOM item is required" msgstr "" @@ -8216,7 +8213,7 @@ msgid "Subscribe to notifications for this part" msgstr "このパーツの通知を受け取る" #: part/templates/part/part_base.html:52 -#: stock/templates/stock/item_base.html:62 +#: stock/templates/stock/item_base.html:61 #: stock/templates/stock/location.html:71 templates/js/translated/label.js:136 msgid "Print Label" msgstr "" @@ -8226,7 +8223,7 @@ msgid "Show pricing information" msgstr "" #: part/templates/part/part_base.html:63 -#: stock/templates/stock/item_base.html:110 +#: stock/templates/stock/item_base.html:106 #: stock/templates/stock/location.html:80 msgid "Stock actions" msgstr "" @@ -8297,12 +8294,12 @@ msgid "Required for Orders" msgstr "" #: part/templates/part/part_base.html:225 -#: stock/templates/stock/item_base.html:388 +#: stock/templates/stock/item_base.html:384 msgid "Allocated to Build Orders" msgstr "" #: part/templates/part/part_base.html:234 -#: stock/templates/stock/item_base.html:381 +#: stock/templates/stock/item_base.html:377 msgid "Allocated to Sales Orders" msgstr "" @@ -8322,7 +8319,7 @@ msgid "Latest Serial Number" msgstr "" #: part/templates/part/part_base.html:372 -#: stock/templates/stock/item_base.html:322 +#: stock/templates/stock/item_base.html:318 msgid "Search for serial number" msgstr "シリアル番号で検索" @@ -8449,7 +8446,7 @@ msgid "Edit" msgstr "" #: part/templates/part/prices.html:28 stock/admin.py:252 -#: stock/templates/stock/item_base.html:446 +#: stock/templates/stock/item_base.html:442 #: templates/js/translated/company.js:1703 #: templates/js/translated/company.js:1713 #: templates/js/translated/stock.js:2332 @@ -8604,7 +8601,7 @@ msgstr "" msgid "Part Pricing" msgstr "" -#: plugin/api.py:172 +#: plugin/api.py:174 msgid "Plugin cannot be deleted as it is currently active" msgstr "" @@ -8940,7 +8937,7 @@ msgstr "" msgid "Print a border around each label" msgstr "" -#: plugin/builtin/labels/label_sheet.py:47 report/models.py:307 +#: plugin/builtin/labels/label_sheet.py:47 report/models.py:315 msgid "Landscape" msgstr "" @@ -9012,44 +9009,44 @@ msgstr "" msgid "The Supplier which acts as 'TME'" msgstr "" -#: plugin/installer.py:194 plugin/installer.py:274 +#: plugin/installer.py:199 plugin/installer.py:282 msgid "Only staff users can administer plugins" msgstr "" -#: plugin/installer.py:197 +#: plugin/installer.py:202 msgid "Plugin installation is disabled" msgstr "" -#: plugin/installer.py:241 +#: plugin/installer.py:246 msgid "Installed plugin successfully" msgstr "" -#: plugin/installer.py:246 +#: plugin/installer.py:251 #, python-brace-format msgid "Installed plugin into {path}" msgstr "" -#: plugin/installer.py:265 +#: plugin/installer.py:273 msgid "Plugin was not found in registry" msgstr "" -#: plugin/installer.py:268 +#: plugin/installer.py:276 msgid "Plugin is not a packaged plugin" msgstr "" -#: plugin/installer.py:271 +#: plugin/installer.py:279 msgid "Plugin package name not found" msgstr "" -#: plugin/installer.py:291 +#: plugin/installer.py:299 msgid "Plugin uninstalling is disabled" msgstr "" -#: plugin/installer.py:295 +#: plugin/installer.py:303 msgid "Plugin cannot be uninstalled as it is currently active" msgstr "" -#: plugin/installer.py:308 +#: plugin/installer.py:316 msgid "Uninstalled plugin successfully" msgstr "" @@ -9098,7 +9095,7 @@ msgstr "" msgid "Package Plugin" msgstr "" -#: plugin/models.py:220 report/models.py:474 +#: plugin/models.py:220 report/models.py:482 #: templates/InvenTree/settings/plugin_settings.html:9 #: templates/js/translated/plugin.js:51 msgid "Plugin" @@ -9167,6 +9164,38 @@ msgstr "" msgid "InvenTree Contributors" msgstr "" +#: plugin/samples/integration/user_interface_sample.py:22 +msgid "Enable Part Panels" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:23 +msgid "Enable custom panels for Part views" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:28 +msgid "Enable Purchase Order Panels" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:29 +msgid "Enable custom panels for Purchase Order views" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:34 +msgid "Enable Broken Panels" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:35 +msgid "Enable broken panels for testing" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:40 +msgid "Enable Dynamic Panel" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:41 +msgid "Enable dynamic panels for testing" +msgstr "" + #: plugin/serializers.py:81 msgid "Source URL" msgstr "" @@ -9245,12 +9274,36 @@ msgstr "" msgid "Delete the plugin configuration from the database" msgstr "" +#: plugin/serializers.py:324 +msgid "Plugin Key" +msgstr "" + +#: plugin/serializers.py:328 +msgid "Panel Name" +msgstr "" + +#: plugin/serializers.py:332 +msgid "Panel Title" +msgstr "" + +#: plugin/serializers.py:337 +msgid "Panel Icon" +msgstr "" + +#: plugin/serializers.py:341 +msgid "Panel Content (HTML)" +msgstr "" + +#: plugin/serializers.py:345 +msgid "Panel Source (javascript)" +msgstr "" + #: report/api.py:88 msgid "No valid objects provided to template" msgstr "" -#: report/api.py:103 report/models.py:438 report/serializers.py:98 -#: report/serializers.py:148 templates/js/translated/purchase_order.js:1817 +#: report/api.py:103 report/models.py:446 report/serializers.py:99 +#: report/serializers.py:149 templates/js/translated/purchase_order.js:1817 #: templates/js/translated/return_order.js:353 #: templates/js/translated/sales_order.js:887 #: templates/js/translated/sales_order.js:1047 @@ -9281,7 +9334,11 @@ msgstr "" msgid "Error printing label" msgstr "" -#: report/api.py:375 report/api.py:411 +#: report/api.py:358 +msgid "Report saved at time of printing" +msgstr "" + +#: report/api.py:384 report/api.py:420 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" @@ -9318,135 +9375,143 @@ msgstr "" msgid "Revision number (auto-increments)" msgstr "" -#: report/models.py:202 +#: report/models.py:168 +msgid "Attach to Model on Print" +msgstr "" + +#: report/models.py:170 +msgid "Save report output as an attachment against linked model instance when printing" +msgstr "" + +#: report/models.py:210 msgid "Filename Pattern" msgstr "" -#: report/models.py:203 +#: report/models.py:211 msgid "Pattern for generating filenames" msgstr "" -#: report/models.py:208 +#: report/models.py:216 msgid "Template is enabled" msgstr "" -#: report/models.py:214 +#: report/models.py:222 msgid "Target model type for template" msgstr "" -#: report/models.py:234 +#: report/models.py:242 msgid "Filters" msgstr "" -#: report/models.py:235 +#: report/models.py:243 msgid "Template query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:294 report/models.py:361 +#: report/models.py:302 report/models.py:369 msgid "Template file" msgstr "" -#: report/models.py:302 +#: report/models.py:310 msgid "Page size for PDF reports" msgstr "" -#: report/models.py:308 +#: report/models.py:316 msgid "Render report in landscape orientation" msgstr "" -#: report/models.py:367 +#: report/models.py:375 msgid "Width [mm]" msgstr "" -#: report/models.py:368 +#: report/models.py:376 msgid "Label width, specified in mm" msgstr "" -#: report/models.py:374 +#: report/models.py:382 msgid "Height [mm]" msgstr "" -#: report/models.py:375 +#: report/models.py:383 msgid "Label height, specified in mm" msgstr "" -#: report/models.py:438 +#: report/models.py:446 msgid "Number of items to process" msgstr "" -#: report/models.py:444 +#: report/models.py:452 msgid "Report generation is complete" msgstr "" -#: report/models.py:448 templates/js/translated/build.js:2352 +#: report/models.py:456 templates/js/translated/build.js:2352 msgid "Progress" msgstr "" -#: report/models.py:448 +#: report/models.py:456 msgid "Report generation progress" msgstr "" -#: report/models.py:456 +#: report/models.py:464 msgid "Report Template" msgstr "" -#: report/models.py:463 report/models.py:486 +#: report/models.py:471 report/models.py:494 msgid "Output File" msgstr "" -#: report/models.py:464 report/models.py:487 +#: report/models.py:472 report/models.py:495 msgid "Generated output file" msgstr "" -#: report/models.py:475 +#: report/models.py:483 msgid "Label output plugin" msgstr "" -#: report/models.py:479 +#: report/models.py:487 msgid "Label Template" msgstr "" -#: report/models.py:502 +#: report/models.py:510 msgid "Snippet" msgstr "" -#: report/models.py:503 +#: report/models.py:511 msgid "Report snippet file" msgstr "" -#: report/models.py:510 +#: report/models.py:518 msgid "Snippet file description" msgstr "" -#: report/models.py:528 +#: report/models.py:536 msgid "Asset" msgstr "" -#: report/models.py:529 +#: report/models.py:537 msgid "Report asset file" msgstr "" -#: report/models.py:536 +#: report/models.py:544 msgid "Asset file description" msgstr "" -#: report/serializers.py:91 +#: report/serializers.py:92 msgid "Select report template" msgstr "" -#: report/serializers.py:99 report/serializers.py:149 +#: report/serializers.py:100 report/serializers.py:150 msgid "List of item primary keys to include in the report" msgstr "" -#: report/serializers.py:132 +#: report/serializers.py:133 msgid "Select label template" msgstr "" -#: report/serializers.py:140 +#: report/serializers.py:141 msgid "Printing Plugin" msgstr "" -#: report/serializers.py:141 +#: report/serializers.py:142 msgid "Select plugin to use for label printing" msgstr "" @@ -9517,7 +9582,7 @@ msgstr "" msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report.html:103 stock/models.py:2538 +#: report/templates/report/inventree_test_report.html:103 stock/models.py:2533 msgid "Result" msgstr "" @@ -9598,7 +9663,7 @@ msgid "Customer ID" msgstr "" #: stock/admin.py:206 stock/models.py:829 -#: stock/templates/stock/item_base.html:354 +#: stock/templates/stock/item_base.html:350 msgid "Installed In" msgstr "" @@ -9623,7 +9688,7 @@ msgid "Delete on Deplete" msgstr "" #: stock/admin.py:261 stock/models.py:923 -#: stock/templates/stock/item_base.html:433 +#: stock/templates/stock/item_base.html:429 #: templates/js/translated/stock.js:2316 users/models.py:124 msgid "Expiry Date" msgstr "" @@ -9665,7 +9730,7 @@ msgid "Expiry date after" msgstr "" #: stock/api.py:839 stock/serializers.py:611 -#: stock/templates/stock/item_base.html:439 +#: stock/templates/stock/item_base.html:435 #: templates/js/translated/table_filters.js:448 msgid "Stale" msgstr "" @@ -9715,7 +9780,7 @@ msgid "Stock Locations" msgstr "" #: stock/models.py:185 stock/models.py:972 -#: stock/templates/stock/item_base.html:247 +#: stock/templates/stock/item_base.html:243 msgid "Owner" msgstr "" @@ -9826,7 +9891,7 @@ msgstr "" msgid "Build for this stock item" msgstr "" -#: stock/models.py:892 stock/templates/stock/item_base.html:363 +#: stock/models.py:892 stock/templates/stock/item_base.html:359 msgid "Consumed By" msgstr "" @@ -9891,7 +9956,7 @@ msgstr "" msgid "Serial numbers already exist" msgstr "シリアル番号が既に存在します" -#: stock/models.py:1636 +#: stock/models.py:1636 stock/models.py:2436 msgid "Test template does not exist" msgstr "" @@ -9939,67 +10004,67 @@ msgstr "" msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2337 +#: stock/models.py:2335 msgid "Stock Item Tracking" msgstr "" -#: stock/models.py:2370 +#: stock/models.py:2368 msgid "Entry notes" msgstr "" -#: stock/models.py:2410 +#: stock/models.py:2408 msgid "Stock Item Test Result" msgstr "" -#: stock/models.py:2443 +#: stock/models.py:2439 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2448 +#: stock/models.py:2443 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2453 +#: stock/models.py:2448 msgid "Invalid value for this test" msgstr "" -#: stock/models.py:2538 +#: stock/models.py:2533 msgid "Test result" msgstr "" -#: stock/models.py:2545 +#: stock/models.py:2540 msgid "Test output value" msgstr "" -#: stock/models.py:2553 stock/serializers.py:245 +#: stock/models.py:2548 stock/serializers.py:245 msgid "Test result attachment" msgstr "" -#: stock/models.py:2557 +#: stock/models.py:2552 msgid "Test notes" msgstr "" -#: stock/models.py:2565 templates/js/translated/stock.js:1633 +#: stock/models.py:2560 templates/js/translated/stock.js:1633 msgid "Test station" msgstr "" -#: stock/models.py:2566 +#: stock/models.py:2561 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2572 +#: stock/models.py:2567 msgid "Started" msgstr "" -#: stock/models.py:2573 +#: stock/models.py:2568 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2579 +#: stock/models.py:2574 msgid "Finished" msgstr "" -#: stock/models.py:2580 +#: stock/models.py:2575 msgid "The timestamp of the test finish" msgstr "" @@ -10059,7 +10124,7 @@ msgstr "" msgid "Serial number is too large" msgstr "シリアル番号が大きすぎます" -#: stock/serializers.py:459 stock/templates/stock/item_base.html:193 +#: stock/serializers.py:459 stock/templates/stock/item_base.html:189 msgid "Parent Item" msgstr "" @@ -10071,7 +10136,7 @@ msgstr "" msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:603 stock/templates/stock/item_base.html:437 +#: stock/serializers.py:603 stock/templates/stock/item_base.html:433 #: templates/js/translated/table_filters.js:442 users/models.py:174 msgid "Expired" msgstr "期限切れ" @@ -10410,7 +10475,7 @@ msgstr "" msgid "Test Data" msgstr "" -#: stock/templates/stock/item.html:85 stock/templates/stock/item_base.html:65 +#: stock/templates/stock/item.html:85 msgid "Test Report" msgstr "" @@ -10450,200 +10515,204 @@ msgstr "" msgid "Scan to Location" msgstr "" -#: stock/templates/stock/item_base.html:59 +#: stock/templates/stock/item_base.html:58 #: stock/templates/stock/location.html:67 #: templates/js/translated/filters.js:434 msgid "Printing actions" msgstr "" -#: stock/templates/stock/item_base.html:75 +#: stock/templates/stock/item_base.html:63 templates/js/translated/report.js:49 +msgid "Print Report" +msgstr "" + +#: stock/templates/stock/item_base.html:71 msgid "Stock adjustment actions" msgstr "" -#: stock/templates/stock/item_base.html:79 +#: stock/templates/stock/item_base.html:75 #: stock/templates/stock/location.html:87 templates/js/translated/stock.js:1909 msgid "Count stock" msgstr "" -#: stock/templates/stock/item_base.html:81 +#: stock/templates/stock/item_base.html:77 #: templates/js/translated/stock.js:1891 msgid "Add stock" msgstr "" -#: stock/templates/stock/item_base.html:82 +#: stock/templates/stock/item_base.html:78 #: templates/js/translated/stock.js:1900 msgid "Remove stock" msgstr "" -#: stock/templates/stock/item_base.html:85 +#: stock/templates/stock/item_base.html:81 msgid "Serialize stock" msgstr "" -#: stock/templates/stock/item_base.html:88 +#: stock/templates/stock/item_base.html:84 #: stock/templates/stock/location.html:93 templates/js/translated/stock.js:1918 msgid "Transfer stock" msgstr "" -#: stock/templates/stock/item_base.html:91 +#: stock/templates/stock/item_base.html:87 #: templates/js/translated/stock.js:1973 msgid "Assign to customer" msgstr "" -#: stock/templates/stock/item_base.html:94 +#: stock/templates/stock/item_base.html:90 msgid "Return to stock" msgstr "" -#: stock/templates/stock/item_base.html:97 +#: stock/templates/stock/item_base.html:93 msgid "Uninstall stock item" msgstr "" -#: stock/templates/stock/item_base.html:97 +#: stock/templates/stock/item_base.html:93 msgid "Uninstall" msgstr "" -#: stock/templates/stock/item_base.html:101 +#: stock/templates/stock/item_base.html:97 msgid "Install stock item" msgstr "" -#: stock/templates/stock/item_base.html:101 +#: stock/templates/stock/item_base.html:97 msgid "Install" msgstr "" -#: stock/templates/stock/item_base.html:115 +#: stock/templates/stock/item_base.html:111 msgid "Convert to variant" msgstr "" -#: stock/templates/stock/item_base.html:118 +#: stock/templates/stock/item_base.html:114 msgid "Duplicate stock item" msgstr "" -#: stock/templates/stock/item_base.html:120 +#: stock/templates/stock/item_base.html:116 msgid "Edit stock item" msgstr "" -#: stock/templates/stock/item_base.html:123 +#: stock/templates/stock/item_base.html:119 msgid "Delete stock item" msgstr "" -#: stock/templates/stock/item_base.html:169 templates/InvenTree/search.html:139 +#: stock/templates/stock/item_base.html:165 templates/InvenTree/search.html:139 #: templates/js/translated/build.js:2298 templates/navbar.html:38 msgid "Build" msgstr "組立" -#: stock/templates/stock/item_base.html:211 +#: stock/templates/stock/item_base.html:207 msgid "No manufacturer set" msgstr "" -#: stock/templates/stock/item_base.html:251 +#: stock/templates/stock/item_base.html:247 msgid "You are not in the list of owners of this item. This stock item cannot be edited." msgstr "" -#: stock/templates/stock/item_base.html:252 +#: stock/templates/stock/item_base.html:248 #: stock/templates/stock/location.html:146 msgid "Read only" msgstr "" -#: stock/templates/stock/item_base.html:265 +#: stock/templates/stock/item_base.html:261 msgid "This stock item is unavailable" msgstr "" -#: stock/templates/stock/item_base.html:271 +#: stock/templates/stock/item_base.html:267 msgid "This stock item is in production and cannot be edited." msgstr "" -#: stock/templates/stock/item_base.html:272 +#: stock/templates/stock/item_base.html:268 msgid "Edit the stock item from the build view." msgstr "" -#: stock/templates/stock/item_base.html:287 +#: stock/templates/stock/item_base.html:283 msgid "This stock item is allocated to Sales Order" msgstr "" -#: stock/templates/stock/item_base.html:295 +#: stock/templates/stock/item_base.html:291 msgid "This stock item is allocated to Build Order" msgstr "" -#: stock/templates/stock/item_base.html:311 +#: stock/templates/stock/item_base.html:307 msgid "This stock item is serialized. It has a unique serial number and the quantity cannot be adjusted" msgstr "" -#: stock/templates/stock/item_base.html:317 +#: stock/templates/stock/item_base.html:313 msgid "previous page" msgstr "" -#: stock/templates/stock/item_base.html:317 +#: stock/templates/stock/item_base.html:313 msgid "Navigate to previous serial number" msgstr "" -#: stock/templates/stock/item_base.html:326 +#: stock/templates/stock/item_base.html:322 msgid "next page" msgstr "" -#: stock/templates/stock/item_base.html:326 +#: stock/templates/stock/item_base.html:322 msgid "Navigate to next serial number" msgstr "" -#: stock/templates/stock/item_base.html:398 +#: stock/templates/stock/item_base.html:394 #: templates/js/translated/build.js:2555 msgid "No location set" msgstr "" -#: stock/templates/stock/item_base.html:413 +#: stock/templates/stock/item_base.html:409 msgid "Tests" msgstr "" -#: stock/templates/stock/item_base.html:419 +#: stock/templates/stock/item_base.html:415 msgid "This stock item has not passed all required tests" msgstr "" -#: stock/templates/stock/item_base.html:437 +#: stock/templates/stock/item_base.html:433 #, python-format msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:439 +#: stock/templates/stock/item_base.html:435 #, python-format msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:455 +#: stock/templates/stock/item_base.html:451 msgid "No stocktake performed" msgstr "" -#: stock/templates/stock/item_base.html:504 +#: stock/templates/stock/item_base.html:500 #: templates/js/translated/stock.js:2038 msgid "stock item" msgstr "" -#: stock/templates/stock/item_base.html:527 +#: stock/templates/stock/item_base.html:523 msgid "Edit Stock Status" msgstr "" -#: stock/templates/stock/item_base.html:536 +#: stock/templates/stock/item_base.html:532 msgid "Stock Item QR Code" msgstr "" -#: stock/templates/stock/item_base.html:547 +#: stock/templates/stock/item_base.html:543 msgid "Link Barcode to Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:611 +#: stock/templates/stock/item_base.html:607 msgid "Select one of the part variants listed below." msgstr "" -#: stock/templates/stock/item_base.html:614 +#: stock/templates/stock/item_base.html:610 msgid "Warning" msgstr "" -#: stock/templates/stock/item_base.html:615 +#: stock/templates/stock/item_base.html:611 msgid "This action cannot be easily undone" msgstr "" -#: stock/templates/stock/item_base.html:623 +#: stock/templates/stock/item_base.html:619 msgid "Convert Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:656 +#: stock/templates/stock/item_base.html:652 msgid "Return to Stock" msgstr "" @@ -11310,7 +11379,7 @@ msgid "Delete Location Type" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:503 -#: templates/InvenTree/settings/stock.html:38 +#: templates/InvenTree/settings/stock.html:39 msgid "New Location Type" msgstr "" @@ -11367,7 +11436,7 @@ msgstr "" msgid "Stock Settings" msgstr "" -#: templates/InvenTree/settings/stock.html:34 +#: templates/InvenTree/settings/stock.html:35 msgid "Stock Location Types" msgstr "" @@ -11852,23 +11921,23 @@ msgstr "" msgid "Barcode Identifier" msgstr "" -#: templates/base.html:103 +#: templates/base.html:102 msgid "Server Restart Required" msgstr "" -#: templates/base.html:106 +#: templates/base.html:105 msgid "A configuration option has been changed which requires a server restart" msgstr "" -#: templates/base.html:106 templates/base.html:116 +#: templates/base.html:105 templates/base.html:115 msgid "Contact your system administrator for further information" msgstr "" -#: templates/base.html:113 +#: templates/base.html:112 msgid "Pending Database Migrations" msgstr "" -#: templates/base.html:116 +#: templates/base.html:115 msgid "There are pending database migrations which require attention" msgstr "" @@ -13946,10 +14015,6 @@ msgstr "" msgid "Delete line item" msgstr "" -#: templates/js/translated/report.js:49 -msgid "Print Report" -msgstr "" - #: templates/js/translated/report.js:68 msgid "Report print successful" msgstr "" diff --git a/src/backend/InvenTree/locale/ko/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/ko/LC_MESSAGES/django.po index 0512dfad3d90..d686591f3468 100644 --- a/src/backend/InvenTree/locale/ko/LC_MESSAGES/django.po +++ b/src/backend/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: 2024-08-29 07:07+0000\n" -"PO-Revision-Date: 2024-08-29 07:10\n" +"POT-Creation-Date: 2024-09-16 00:37+0000\n" +"PO-Revision-Date: 2024-09-16 00:40\n" "Last-Translator: \n" "Language-Team: Korean\n" "Language: ko_KR\n" @@ -65,9 +65,9 @@ msgstr "" #: 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:59 -#: part/models.py:3309 part/templates/part/part_sidebar.html:65 +#: part/models.py:3296 part/templates/part/part_sidebar.html:65 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/admin.py:231 stock/models.py:2369 stock/models.py:2557 +#: stock/admin.py:231 stock/models.py:2367 stock/models.py:2552 #: stock/serializers.py:705 stock/serializers.py:863 stock/serializers.py:989 #: stock/serializers.py:1039 stock/serializers.py:1350 #: stock/serializers.py:1439 stock/serializers.py:1604 @@ -364,7 +364,7 @@ msgstr "" msgid "[{site_name}] Log in to the app" msgstr "" -#: InvenTree/magic_login.py:38 InvenTree/serializers.py:413 +#: InvenTree/magic_login.py:38 InvenTree/serializers.py:416 #: company/models.py:133 company/templates/company/company_base.html:138 #: templates/InvenTree/settings/user.html:49 #: templates/js/translated/company.js:677 @@ -419,9 +419,9 @@ msgstr "" msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:767 common/models.py:2704 common/models.py:3131 -#: common/models.py:3351 common/serializers.py:439 company/models.py:590 -#: machine/models.py:24 part/models.py:995 part/models.py:3776 +#: InvenTree/models.py:767 common/models.py:2705 common/models.py:3132 +#: common/models.py:3352 common/serializers.py:455 company/models.py:590 +#: machine/models.py:24 part/models.py:995 part/models.py:3763 #: plugin/models.py:51 report/models.py:149 stock/models.py:82 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -446,10 +446,10 @@ msgstr "" #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 order/models.py:289 #: order/models.py:1406 part/admin.py:305 part/admin.py:411 part/models.py:1018 -#: part/models.py:3791 part/templates/part/category.html:79 +#: part/models.py:3778 part/templates/part/category.html:79 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:155 -#: report/models.py:509 report/models.py:535 +#: report/models.py:517 report/models.py:543 #: report/templates/report/inventree_build_order_report.html:117 #: stock/admin.py:54 stock/models.py:88 stock/templates/stock/location.html:122 #: templates/InvenTree/settings/notifications.html:19 @@ -517,12 +517,12 @@ msgstr "" msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:63 part/models.py:4400 +#: InvenTree/serializers.py:63 part/models.py:4387 msgid "Must be a valid number" msgstr "" #: InvenTree/serializers.py:100 company/models.py:183 -#: company/templates/company/company_base.html:112 part/models.py:3127 +#: company/templates/company/company_base.html:112 part/models.py:3114 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -536,43 +536,43 @@ msgstr "" msgid "Username" msgstr "" -#: InvenTree/serializers.py:407 templates/InvenTree/settings/user.html:37 +#: InvenTree/serializers.py:408 templates/InvenTree/settings/user.html:37 msgid "First Name" msgstr "" -#: InvenTree/serializers.py:407 +#: InvenTree/serializers.py:408 msgid "First name of the user" msgstr "" -#: InvenTree/serializers.py:410 templates/InvenTree/settings/user.html:41 +#: InvenTree/serializers.py:412 templates/InvenTree/settings/user.html:41 msgid "Last Name" msgstr "" -#: InvenTree/serializers.py:410 +#: InvenTree/serializers.py:412 msgid "Last name of the user" msgstr "" -#: InvenTree/serializers.py:413 +#: InvenTree/serializers.py:416 msgid "Email address of the user" msgstr "" -#: InvenTree/serializers.py:438 +#: InvenTree/serializers.py:441 msgid "Staff" msgstr "" -#: InvenTree/serializers.py:438 +#: InvenTree/serializers.py:441 msgid "Does this user have staff permissions" msgstr "" -#: InvenTree/serializers.py:441 +#: InvenTree/serializers.py:445 msgid "Superuser" msgstr "" -#: InvenTree/serializers.py:441 +#: InvenTree/serializers.py:445 msgid "Is this user a superuser" msgstr "" -#: InvenTree/serializers.py:444 common/models.py:2709 company/models.py:160 +#: InvenTree/serializers.py:449 common/models.py:2710 company/models.py:160 #: company/models.py:798 machine/models.py:39 part/admin.py:88 #: part/models.py:1201 plugin/models.py:66 #: templates/js/translated/company.js:523 @@ -585,89 +585,89 @@ msgstr "" msgid "Active" msgstr "" -#: InvenTree/serializers.py:444 +#: InvenTree/serializers.py:449 msgid "Is this user account active" msgstr "" -#: InvenTree/serializers.py:462 +#: InvenTree/serializers.py:467 msgid "You do not have permission to change this user role." msgstr "" -#: InvenTree/serializers.py:474 +#: InvenTree/serializers.py:503 msgid "Only superusers can create new users" msgstr "" -#: InvenTree/serializers.py:493 +#: InvenTree/serializers.py:522 msgid "Your account has been created." msgstr "" -#: InvenTree/serializers.py:495 +#: InvenTree/serializers.py:524 msgid "Please use the password reset function to login" msgstr "" -#: InvenTree/serializers.py:502 +#: InvenTree/serializers.py:531 msgid "Welcome to InvenTree" msgstr "" -#: InvenTree/serializers.py:560 +#: InvenTree/serializers.py:589 msgid "Invalid value" msgstr "" -#: InvenTree/serializers.py:580 importer/models.py:64 +#: InvenTree/serializers.py:609 importer/models.py:64 msgid "Data File" msgstr "" -#: InvenTree/serializers.py:581 +#: InvenTree/serializers.py:610 msgid "Select data file for upload" msgstr "" -#: InvenTree/serializers.py:598 +#: InvenTree/serializers.py:627 msgid "Unsupported file type" msgstr "" -#: InvenTree/serializers.py:604 +#: InvenTree/serializers.py:633 msgid "File is too large" msgstr "" -#: InvenTree/serializers.py:625 +#: InvenTree/serializers.py:654 msgid "No columns found in file" msgstr "" -#: InvenTree/serializers.py:628 +#: InvenTree/serializers.py:657 msgid "No data rows found in file" msgstr "" -#: InvenTree/serializers.py:740 +#: InvenTree/serializers.py:769 msgid "No data rows provided" msgstr "" -#: InvenTree/serializers.py:743 +#: InvenTree/serializers.py:772 msgid "No data columns supplied" msgstr "" -#: InvenTree/serializers.py:809 +#: InvenTree/serializers.py:838 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "" -#: InvenTree/serializers.py:818 +#: InvenTree/serializers.py:847 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "" -#: InvenTree/serializers.py:857 +#: InvenTree/serializers.py:886 msgid "Remote Image" msgstr "" -#: InvenTree/serializers.py:858 +#: InvenTree/serializers.py:887 msgid "URL of remote image file" msgstr "" -#: InvenTree/serializers.py:876 +#: InvenTree/serializers.py:905 msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/status.py:65 part/serializers.py:1267 +#: InvenTree/status.py:65 part/serializers.py:1265 msgid "Background worker check failed" msgstr "" @@ -759,7 +759,7 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:319 build/serializers.py:1332 part/models.py:4278 +#: build/api.py:319 build/serializers.py:1332 part/models.py:4265 #: templates/js/translated/bom.js:997 templates/js/translated/bom.js:1037 #: templates/js/translated/build.js:2705 #: templates/js/translated/table_filters.js:197 @@ -767,7 +767,7 @@ msgstr "" msgid "Consumable" msgstr "" -#: build/api.py:320 build/serializers.py:1333 part/models.py:4272 +#: build/api.py:320 build/serializers.py:1333 part/models.py:4259 #: part/templates/part/upload_bom.html:58 templates/js/translated/bom.js:1001 #: templates/js/translated/bom.js:1028 templates/js/translated/build.js:2696 #: templates/js/translated/table_filters.js:193 @@ -777,7 +777,7 @@ msgid "Optional" msgstr "" #: build/api.py:321 common/models.py:1491 part/admin.py:91 part/admin.py:428 -#: part/models.py:1166 part/serializers.py:1596 +#: part/models.py:1166 part/serializers.py:1594 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:337 #: templates/js/translated/table_filters.js:729 @@ -816,7 +816,7 @@ msgstr "" msgid "Available" msgstr "" -#: build/models.py:87 build/templates/build/build_base.html:9 +#: build/models.py:88 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_report.html:105 #: stock/serializers.py:85 templates/email/build_order_completed.html:16 @@ -825,7 +825,7 @@ msgstr "" msgid "Build Order" msgstr "" -#: build/models.py:88 build/templates/build/build_base.html:13 +#: build/models.py:89 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:111 #: order/templates/order/so_sidebar.html:13 @@ -866,7 +866,7 @@ msgstr "" #: build/models.py:243 build/serializers.py:1331 order/models.py:468 #: order/models.py:979 order/models.py:1366 order/models.py:2128 -#: part/admin.py:414 part/models.py:4293 part/templates/part/upload_bom.html:54 +#: part/admin.py:414 part/models.py:4280 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 @@ -892,11 +892,11 @@ msgstr "" #: build/templates/build/build_base.html:105 #: build/templates/build/detail.html:29 company/models.py:1043 order/api.py:761 #: order/models.py:1496 order/models.py:1651 order/models.py:1652 -#: part/api.py:1506 part/api.py:1806 part/models.py:419 part/models.py:3138 -#: part/models.py:3282 part/models.py:3430 part/models.py:3451 -#: part/models.py:3473 part/models.py:3609 part/models.py:3951 -#: part/models.py:4114 part/models.py:4244 part/models.py:4602 -#: part/serializers.py:1213 part/serializers.py:1857 +#: part/api.py:1506 part/api.py:1806 part/models.py:419 part/models.py:3125 +#: part/models.py:3269 part/models.py:3417 part/models.py:3438 +#: part/models.py:3460 part/models.py:3596 part/models.py:3938 +#: part/models.py:4101 part/models.py:4231 part/models.py:4595 +#: part/serializers.py:1211 part/serializers.py:1855 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -1063,12 +1063,12 @@ msgstr "" #: order/templates/order/return_order_base.html:148 #: order/templates/order/sales_order_base.html:187 #: part/templates/part/part_base.html:399 stock/models.py:859 -#: stock/templates/stock/item_base.html:200 +#: stock/templates/stock/item_base.html:196 #: templates/js/translated/company.js:1019 msgid "External Link" msgstr "" -#: build/models.py:378 common/models.py:3272 part/models.py:1070 +#: build/models.py:378 common/models.py:3273 part/models.py:1070 #: stock/models.py:859 msgid "Link to external URL" msgstr "" @@ -1110,7 +1110,7 @@ msgstr "" msgid "A build order has been completed" msgstr "" -#: build/models.py:968 build/models.py:1056 +#: build/models.py:968 build/models.py:1057 msgid "No build output specified" msgstr "" @@ -1122,37 +1122,37 @@ msgstr "" msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:1060 build/serializers.py:279 build/serializers.py:328 +#: build/models.py:1061 build/serializers.py:279 build/serializers.py:328 #: build/serializers.py:959 order/models.py:565 order/serializers.py:500 -#: order/serializers.py:666 part/serializers.py:1590 part/serializers.py:2019 +#: order/serializers.py:666 part/serializers.py:1588 part/serializers.py:2017 #: stock/models.py:704 stock/models.py:1515 stock/serializers.py:676 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:1065 build/serializers.py:284 +#: build/models.py:1066 build/serializers.py:284 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1125 build/serializers.py:607 +#: build/models.py:1126 build/serializers.py:607 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "" -#: build/models.py:1466 +#: build/models.py:1477 msgid "Build Order Line Item" msgstr "" -#: build/models.py:1491 +#: build/models.py:1502 msgid "Build object" msgstr "" -#: build/models.py:1505 build/models.py:1761 build/serializers.py:266 +#: build/models.py:1516 build/models.py:1775 build/serializers.py:266 #: build/serializers.py:313 build/serializers.py:1339 #: build/templates/build/build_base.html:110 -#: build/templates/build/detail.html:34 common/models.py:2581 +#: build/templates/build/detail.html:34 common/models.py:2582 #: order/models.py:1349 order/models.py:2034 order/serializers.py:1464 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:413 -#: part/forms.py:48 part/models.py:3296 part/models.py:4266 +#: part/forms.py:48 part/models.py:3283 part/models.py:4253 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1163,9 +1163,9 @@ msgstr "" #: report/templates/report/inventree_test_report.html:90 #: report/templates/report/inventree_test_report.html:169 stock/admin.py:160 #: stock/serializers.py:128 stock/serializers.py:168 stock/serializers.py:667 -#: stock/templates/stock/item_base.html:287 -#: stock/templates/stock/item_base.html:295 -#: stock/templates/stock/item_base.html:342 +#: stock/templates/stock/item_base.html:283 +#: stock/templates/stock/item_base.html:291 +#: stock/templates/stock/item_base.html:338 #: templates/email/build_order_completed.html:18 #: templates/js/translated/barcode.js:579 templates/js/translated/bom.js:771 #: templates/js/translated/bom.js:981 templates/js/translated/build.js:525 @@ -1194,41 +1194,41 @@ msgstr "" msgid "Quantity" msgstr "" -#: build/models.py:1506 +#: build/models.py:1517 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1586 +#: build/models.py:1597 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1595 +#: build/models.py:1606 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1605 order/models.py:1985 +#: build/models.py:1616 order/models.py:1985 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1611 order/models.py:1988 +#: build/models.py:1622 order/models.py:1988 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1617 +#: build/models.py:1628 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1676 +#: build/models.py:1687 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1748 build/serializers.py:939 order/serializers.py:1301 +#: build/models.py:1762 build/serializers.py:939 order/serializers.py:1301 #: order/serializers.py:1322 stock/models.py:381 stock/serializers.py:94 #: stock/serializers.py:770 stock/serializers.py:1288 stock/serializers.py:1400 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 -#: stock/templates/stock/item_base.html:194 +#: stock/templates/stock/item_base.html:190 #: templates/js/translated/build.js:1921 #: templates/js/translated/sales_order.js:301 #: templates/js/translated/sales_order.js:1234 @@ -1241,19 +1241,19 @@ msgstr "" msgid "Stock Item" msgstr "" -#: build/models.py:1749 +#: build/models.py:1763 msgid "Source stock item" msgstr "" -#: build/models.py:1762 +#: build/models.py:1776 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1770 +#: build/models.py:1784 msgid "Install into" msgstr "" -#: build/models.py:1771 +#: build/models.py:1785 msgid "Destination stock item" msgstr "" @@ -1262,7 +1262,7 @@ msgid "Build Level" msgstr "" #: build/serializers.py:115 build/serializers.py:1234 build/serializers.py:1323 -#: part/admin.py:41 part/admin.py:408 part/models.py:4116 part/stocktake.py:219 +#: part/admin.py:41 part/admin.py:408 part/models.py:4103 part/stocktake.py:219 #: stock/admin.py:157 msgid "Part Name" msgstr "" @@ -1323,10 +1323,10 @@ msgid "Enter serial numbers for build outputs" msgstr "" #: build/serializers.py:359 build/serializers.py:500 build/serializers.py:572 -#: order/serializers.py:655 order/serializers.py:778 order/serializers.py:1789 -#: part/serializers.py:1233 stock/serializers.py:103 stock/serializers.py:698 +#: order/serializers.py:655 order/serializers.py:778 order/serializers.py:1797 +#: part/serializers.py:1231 stock/serializers.py:103 stock/serializers.py:698 #: stock/serializers.py:858 stock/serializers.py:984 stock/serializers.py:1432 -#: stock/serializers.py:1688 stock/templates/stock/item_base.html:394 +#: stock/serializers.py:1688 stock/templates/stock/item_base.html:390 #: templates/js/translated/barcode.js:578 #: templates/js/translated/barcode.js:826 templates/js/translated/build.js:1035 #: templates/js/translated/build.js:1177 templates/js/translated/build.js:2547 @@ -1390,7 +1390,7 @@ msgstr "" #: build/templates/build/detail.html:62 order/models.py:477 #: order/models.py:1003 order/models.py:2152 order/serializers.py:687 #: stock/admin.py:165 stock/serializers.py:1035 stock/serializers.py:1576 -#: stock/templates/stock/item_base.html:427 +#: stock/templates/stock/item_base.html:423 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2366 #: templates/js/translated/purchase_order.js:1371 #: templates/js/translated/purchase_order.js:1792 @@ -1522,7 +1522,7 @@ msgstr "" msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:1030 order/serializers.py:1614 +#: build/serializers.py:1030 order/serializers.py:1622 msgid "Allocation items must be provided" msgstr "" @@ -1590,7 +1590,7 @@ msgstr "" #: build/serializers.py:1230 company/models.py:849 #: company/templates/company/supplier_part.html:160 order/serializers.py:691 #: stock/admin.py:229 stock/models.py:822 stock/serializers.py:1586 -#: stock/templates/stock/item_base.html:240 +#: stock/templates/stock/item_base.html:236 #: templates/js/translated/company.js:1646 #: templates/js/translated/purchase_order.js:1169 #: templates/js/translated/purchase_order.js:1332 @@ -1600,12 +1600,12 @@ msgid "Packaging" msgstr "" #: build/serializers.py:1233 part/admin.py:39 part/admin.py:398 -#: part/models.py:4115 part/stocktake.py:218 stock/admin.py:153 +#: part/models.py:4102 part/stocktake.py:218 stock/admin.py:153 msgid "Part ID" msgstr "" #: build/serializers.py:1235 build/serializers.py:1324 part/admin.py:402 -#: part/models.py:4117 +#: part/models.py:4104 msgid "Part IPN" msgstr "" @@ -1625,7 +1625,7 @@ msgstr "" #: build/serializers.py:1243 #: report/templates/report/inventree_return_order_report.html:25 #: report/templates/report/inventree_test_report.html:88 stock/models.py:849 -#: stock/serializers.py:152 stock/templates/stock/item_base.html:311 +#: stock/serializers.py:152 stock/templates/stock/item_base.html:307 #: templates/js/translated/build.js:523 templates/js/translated/build.js:1543 #: templates/js/translated/build.js:2530 #: templates/js/translated/model_renderers.js:231 @@ -1644,7 +1644,7 @@ msgstr "" msgid "Allocated Quantity" msgstr "" -#: build/serializers.py:1257 stock/templates/stock/item_base.html:340 +#: build/serializers.py:1257 stock/templates/stock/item_base.html:336 msgid "Available Quantity" msgstr "" @@ -1667,13 +1667,13 @@ msgstr "" msgid "Inherited" msgstr "" -#: build/serializers.py:1337 part/models.py:4326 +#: build/serializers.py:1337 part/models.py:4313 #: part/templates/part/upload_bom.html:56 templates/js/translated/bom.js:1046 #: templates/js/translated/build.js:2714 msgid "Allow Variants" msgstr "" -#: build/serializers.py:1341 part/models.py:4124 part/models.py:4594 +#: build/serializers.py:1341 part/models.py:4111 part/models.py:4587 #: stock/api.py:793 msgid "BOM Item" msgstr "" @@ -1684,7 +1684,7 @@ msgid "Allocated Stock" msgstr "" #: build/serializers.py:1355 order/serializers.py:1179 part/admin.py:132 -#: part/bom.py:186 part/serializers.py:920 part/serializers.py:1623 +#: part/bom.py:186 part/serializers.py:918 part/serializers.py:1621 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 #: templates/js/translated/build.js:2807 templates/js/translated/part.js:712 #: templates/js/translated/part.js:2155 @@ -1692,13 +1692,13 @@ msgstr "" msgid "On Order" msgstr "" -#: build/serializers.py:1360 order/serializers.py:1180 part/serializers.py:1625 +#: build/serializers.py:1360 order/serializers.py:1180 part/serializers.py:1623 #: templates/js/translated/build.js:2811 #: templates/js/translated/table_filters.js:367 msgid "In Production" msgstr "" -#: build/serializers.py:1365 part/bom.py:185 part/serializers.py:1650 +#: build/serializers.py:1365 part/bom.py:185 part/serializers.py:1648 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" @@ -1716,7 +1716,7 @@ msgstr "" msgid "Total Available Stock" msgstr "" -#: build/serializers.py:1372 part/serializers.py:927 +#: build/serializers.py:1372 part/serializers.py:925 msgid "External Stock" msgstr "" @@ -1745,7 +1745,7 @@ msgstr "" #: importer/status_codes.py:27 order/status_codes.py:15 #: order/status_codes.py:50 order/status_codes.py:81 #: order/templates/order/order_base.html:163 -#: order/templates/order/sales_order_base.html:168 report/models.py:443 +#: order/templates/order/sales_order_base.html:168 report/models.py:451 msgid "Complete" msgstr "" @@ -1849,9 +1849,6 @@ msgid "Delete Build" msgstr "" #: build/templates/build/build_base.html:87 -msgid "Isueue Build" -msgstr "" - #: build/templates/build/build_base.html:88 msgid "Issue Build" msgstr "" @@ -1931,7 +1928,7 @@ msgstr "" #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_report.html:135 #: report/templates/report/inventree_sales_order_report.html:14 -#: stock/templates/stock/item_base.html:369 +#: stock/templates/stock/item_base.html:365 #: templates/email/overdue_sales_order.html:15 #: templates/js/translated/pricing.js:929 #: templates/js/translated/sales_order.js:805 @@ -1991,7 +1988,7 @@ msgid "Allocated Parts" msgstr "" #: build/templates/build/detail.html:80 stock/admin.py:163 -#: stock/templates/stock/item_base.html:162 +#: stock/templates/stock/item_base.html:158 #: templates/js/translated/build.js:1556 #: templates/js/translated/model_renderers.js:242 #: templates/js/translated/purchase_order.js:1326 @@ -2148,19 +2145,19 @@ msgstr "" msgid "Test Statistics" msgstr "" -#: common/api.py:692 +#: common/api.py:725 msgid "Is Link" msgstr "" -#: common/api.py:700 +#: common/api.py:733 msgid "Is File" msgstr "" -#: common/api.py:743 +#: common/api.py:776 msgid "User does not have permission to delete these attachments" msgstr "" -#: common/api.py:760 +#: common/api.py:793 msgid "User does not have permission to delete this attachment" msgstr "" @@ -2352,8 +2349,8 @@ msgstr "" #: common/models.py:1297 common/models.py:1353 common/models.py:1366 #: common/models.py:1374 common/models.py:1383 common/models.py:1392 -#: common/models.py:1629 common/models.py:1651 common/models.py:1766 -#: common/models.py:2148 +#: common/models.py:1629 common/models.py:1651 common/models.py:1752 +#: common/models.py:2141 msgid "days" msgstr "" @@ -2581,9 +2578,9 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1485 part/admin.py:108 part/models.py:3959 -#: report/models.py:293 report/models.py:360 report/serializers.py:90 -#: report/serializers.py:131 stock/serializers.py:233 +#: common/models.py:1485 part/admin.py:108 part/models.py:3946 +#: report/models.py:301 report/models.py:368 report/serializers.py:91 +#: report/serializers.py:132 stock/serializers.py:233 #: templates/js/translated/table_filters.js:138 #: templates/js/translated/table_filters.js:775 msgid "Template" @@ -2598,7 +2595,7 @@ msgid "Parts can be assembled from other components by default" msgstr "" #: common/models.py:1497 part/admin.py:95 part/models.py:1172 -#: part/serializers.py:1617 templates/js/translated/table_filters.js:737 +#: part/serializers.py:1615 templates/js/translated/table_filters.js:737 msgid "Component" msgstr "" @@ -2823,7 +2820,7 @@ msgid "Log errors which occur when generating reports" msgstr "" #: common/models.py:1702 plugin/builtin/labels/label_sheet.py:28 -#: report/models.py:301 +#: report/models.py:309 msgid "Page Size" msgstr "" @@ -2832,914 +2829,914 @@ msgid "Default page size for PDF reports" msgstr "" #: common/models.py:1708 -msgid "Enable Test Reports" -msgstr "" - -#: common/models.py:1709 -msgid "Enable generation of test reports" -msgstr "" - -#: common/models.py:1714 -msgid "Attach Test Reports" -msgstr "" - -#: common/models.py:1716 -msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" -msgstr "" - -#: common/models.py:1722 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1723 +#: common/models.py:1709 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1728 +#: common/models.py:1714 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1729 +#: common/models.py:1715 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1734 +#: common/models.py:1720 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1736 +#: common/models.py:1722 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/models.py:1742 +#: common/models.py:1728 msgid "Batch Code Template" msgstr "" -#: common/models.py:1744 +#: common/models.py:1730 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1749 +#: common/models.py:1735 msgid "Stock Expiry" msgstr "" -#: common/models.py:1750 +#: common/models.py:1736 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1755 +#: common/models.py:1741 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1756 +#: common/models.py:1742 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1761 +#: common/models.py:1747 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1763 +#: common/models.py:1749 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1770 +#: common/models.py:1756 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1771 +#: common/models.py:1757 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1776 +#: common/models.py:1762 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1777 +#: common/models.py:1763 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1782 +#: common/models.py:1768 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1783 +#: common/models.py:1769 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1788 +#: common/models.py:1774 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1789 +#: common/models.py:1775 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1794 +#: common/models.py:1780 msgid "Check BOM when installing items" msgstr "" -#: common/models.py:1796 +#: common/models.py:1782 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/models.py:1802 +#: common/models.py:1788 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/models.py:1804 +#: common/models.py:1790 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/models.py:1810 +#: common/models.py:1796 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1812 +#: common/models.py:1798 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1818 common/models.py:1874 common/models.py:1896 -#: common/models.py:1932 +#: common/models.py:1804 common/models.py:1860 common/models.py:1882 +#: common/models.py:1918 msgid "Require Responsible Owner" msgstr "" -#: common/models.py:1819 common/models.py:1875 common/models.py:1897 -#: common/models.py:1933 +#: common/models.py:1805 common/models.py:1861 common/models.py:1883 +#: common/models.py:1919 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/models.py:1824 +#: common/models.py:1810 msgid "Require Active Part" msgstr "" -#: common/models.py:1825 +#: common/models.py:1811 msgid "Prevent build order creation for inactive parts" msgstr "" -#: common/models.py:1830 +#: common/models.py:1816 msgid "Require Locked Part" msgstr "" -#: common/models.py:1831 +#: common/models.py:1817 msgid "Prevent build order creation for unlocked parts" msgstr "" -#: common/models.py:1836 +#: common/models.py:1822 msgid "Require Valid BOM" msgstr "" -#: common/models.py:1838 +#: common/models.py:1824 msgid "Prevent build order creation unless BOM has been validated" msgstr "" -#: common/models.py:1844 +#: common/models.py:1830 msgid "Require Closed Child Orders" msgstr "" -#: common/models.py:1846 +#: common/models.py:1832 msgid "Prevent build order completion until all child orders are closed" msgstr "" -#: common/models.py:1852 +#: common/models.py:1838 msgid "Block Until Tests Pass" msgstr "" -#: common/models.py:1854 +#: common/models.py:1840 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "" -#: common/models.py:1860 +#: common/models.py:1846 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1861 +#: common/models.py:1847 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1866 +#: common/models.py:1852 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1868 +#: common/models.py:1854 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1880 +#: common/models.py:1866 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1882 +#: common/models.py:1868 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1888 +#: common/models.py:1874 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1890 +#: common/models.py:1876 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1902 +#: common/models.py:1888 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1903 +#: common/models.py:1889 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1908 +#: common/models.py:1894 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1910 +#: common/models.py:1896 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1916 +#: common/models.py:1902 msgid "Mark Shipped Orders as Complete" msgstr "" -#: common/models.py:1918 +#: common/models.py:1904 msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status" msgstr "" -#: common/models.py:1924 +#: common/models.py:1910 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1926 +#: common/models.py:1912 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1938 +#: common/models.py:1924 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1940 +#: common/models.py:1926 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1946 +#: common/models.py:1932 msgid "Auto Complete Purchase Orders" msgstr "" -#: common/models.py:1948 +#: common/models.py:1934 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/models.py:1955 +#: common/models.py:1941 msgid "Enable password forgot" msgstr "" -#: common/models.py:1956 +#: common/models.py:1942 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1961 +#: common/models.py:1947 msgid "Enable registration" msgstr "" -#: common/models.py:1962 +#: common/models.py:1948 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1967 +#: common/models.py:1953 msgid "Enable SSO" msgstr "" -#: common/models.py:1968 +#: common/models.py:1954 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1973 +#: common/models.py:1959 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1975 +#: common/models.py:1961 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1981 +#: common/models.py:1967 msgid "Enable SSO group sync" msgstr "" -#: common/models.py:1983 +#: common/models.py:1969 msgid "Enable synchronizing InvenTree groups with groups provided by the IdP" msgstr "" -#: common/models.py:1989 +#: common/models.py:1975 msgid "SSO group key" msgstr "" -#: common/models.py:1991 +#: common/models.py:1977 msgid "The name of the groups claim attribute provided by the IdP" msgstr "" -#: common/models.py:1997 +#: common/models.py:1983 msgid "SSO group map" msgstr "" -#: common/models.py:1999 +#: common/models.py:1985 msgid "A mapping from SSO groups to local InvenTree groups. If the local group does not exist, it will be created." msgstr "" -#: common/models.py:2005 +#: common/models.py:1991 msgid "Remove groups outside of SSO" msgstr "" -#: common/models.py:2007 +#: common/models.py:1993 msgid "Whether groups assigned to the user should be removed if they are not backend by the IdP. Disabling this setting might cause security issues" msgstr "" -#: common/models.py:2013 +#: common/models.py:1999 msgid "Email required" msgstr "" -#: common/models.py:2014 +#: common/models.py:2000 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:2019 +#: common/models.py:2005 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:2021 +#: common/models.py:2007 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:2027 +#: common/models.py:2013 msgid "Mail twice" msgstr "" -#: common/models.py:2028 +#: common/models.py:2014 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:2033 +#: common/models.py:2019 msgid "Password twice" msgstr "" -#: common/models.py:2034 +#: common/models.py:2020 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:2039 +#: common/models.py:2025 msgid "Allowed domains" msgstr "" -#: common/models.py:2041 +#: common/models.py:2027 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:2047 +#: common/models.py:2033 msgid "Group on signup" msgstr "" -#: common/models.py:2049 +#: common/models.py:2035 msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP." msgstr "" -#: common/models.py:2055 +#: common/models.py:2041 msgid "Enforce MFA" msgstr "" -#: common/models.py:2056 +#: common/models.py:2042 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:2061 +#: common/models.py:2047 msgid "Check plugins on startup" msgstr "" -#: common/models.py:2063 +#: common/models.py:2049 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:2071 +#: common/models.py:2057 msgid "Check for plugin updates" msgstr "" -#: common/models.py:2072 +#: common/models.py:2058 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:2078 +#: common/models.py:2064 msgid "Enable URL integration" msgstr "" -#: common/models.py:2079 +#: common/models.py:2065 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:2085 +#: common/models.py:2071 msgid "Enable navigation integration" msgstr "" -#: common/models.py:2086 +#: common/models.py:2072 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:2092 +#: common/models.py:2078 msgid "Enable app integration" msgstr "" -#: common/models.py:2093 +#: common/models.py:2079 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:2099 +#: common/models.py:2085 msgid "Enable schedule integration" msgstr "" -#: common/models.py:2100 +#: common/models.py:2086 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:2106 +#: common/models.py:2092 msgid "Enable event integration" msgstr "" -#: common/models.py:2107 +#: common/models.py:2093 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:2113 +#: common/models.py:2099 +msgid "Enable interface integration" +msgstr "" + +#: common/models.py:2100 +msgid "Enable plugins to integrate into the user interface" +msgstr "" + +#: common/models.py:2106 msgid "Enable project codes" msgstr "" -#: common/models.py:2114 +#: common/models.py:2107 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:2119 +#: common/models.py:2112 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:2121 +#: common/models.py:2114 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:2127 +#: common/models.py:2120 msgid "Exclude External Locations" msgstr "" -#: common/models.py:2129 +#: common/models.py:2122 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/models.py:2135 +#: common/models.py:2128 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:2137 +#: common/models.py:2130 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:2143 +#: common/models.py:2136 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:2145 +#: common/models.py:2138 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:2152 +#: common/models.py:2145 msgid "Display Users full names" msgstr "" -#: common/models.py:2153 +#: common/models.py:2146 msgid "Display Users full names instead of usernames" msgstr "" -#: common/models.py:2158 +#: common/models.py:2151 msgid "Enable Test Station Data" msgstr "" -#: common/models.py:2159 +#: common/models.py:2152 msgid "Enable test station data collection for test results" msgstr "" -#: common/models.py:2171 common/models.py:2551 +#: common/models.py:2157 +msgid "Create Template on Upload" +msgstr "" + +#: common/models.py:2159 +msgid "Create a new test template when uploading test data which does not match an existing template" +msgstr "" + +#: common/models.py:2172 common/models.py:2552 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:2214 +#: common/models.py:2215 msgid "Hide inactive parts" msgstr "" -#: common/models.py:2216 +#: common/models.py:2217 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:2222 +#: common/models.py:2223 msgid "Show subscribed parts" msgstr "" -#: common/models.py:2223 +#: common/models.py:2224 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:2228 +#: common/models.py:2229 msgid "Show subscribed categories" msgstr "" -#: common/models.py:2229 +#: common/models.py:2230 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:2234 +#: common/models.py:2235 msgid "Show latest parts" msgstr "" -#: common/models.py:2235 +#: common/models.py:2236 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:2240 +#: common/models.py:2241 msgid "Show invalid BOMs" msgstr "" -#: common/models.py:2241 +#: common/models.py:2242 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:2246 +#: common/models.py:2247 msgid "Show recent stock changes" msgstr "" -#: common/models.py:2247 +#: common/models.py:2248 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:2252 +#: common/models.py:2253 msgid "Show low stock" msgstr "" -#: common/models.py:2253 +#: common/models.py:2254 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:2258 +#: common/models.py:2259 msgid "Show depleted stock" msgstr "" -#: common/models.py:2259 +#: common/models.py:2260 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:2264 +#: common/models.py:2265 msgid "Show needed stock" msgstr "" -#: common/models.py:2265 +#: common/models.py:2266 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:2270 +#: common/models.py:2271 msgid "Show expired stock" msgstr "" -#: common/models.py:2271 +#: common/models.py:2272 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:2276 +#: common/models.py:2277 msgid "Show stale stock" msgstr "" -#: common/models.py:2277 +#: common/models.py:2278 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:2282 +#: common/models.py:2283 msgid "Show pending builds" msgstr "" -#: common/models.py:2283 +#: common/models.py:2284 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:2288 +#: common/models.py:2289 msgid "Show overdue builds" msgstr "" -#: common/models.py:2289 +#: common/models.py:2290 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:2294 +#: common/models.py:2295 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2295 +#: common/models.py:2296 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2300 +#: common/models.py:2301 msgid "Show overdue POs" msgstr "" -#: common/models.py:2301 +#: common/models.py:2302 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2306 +#: common/models.py:2307 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2307 +#: common/models.py:2308 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2312 +#: common/models.py:2313 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2313 +#: common/models.py:2314 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2318 +#: common/models.py:2319 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2319 +#: common/models.py:2320 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2324 +#: common/models.py:2325 msgid "Show News" msgstr "" -#: common/models.py:2325 +#: common/models.py:2326 msgid "Show news on the homepage" msgstr "" -#: common/models.py:2330 +#: common/models.py:2331 msgid "Inline label display" msgstr "" -#: common/models.py:2332 +#: common/models.py:2333 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2338 +#: common/models.py:2339 msgid "Default label printer" msgstr "" -#: common/models.py:2340 +#: common/models.py:2341 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2346 +#: common/models.py:2347 msgid "Inline report display" msgstr "" -#: common/models.py:2348 +#: common/models.py:2349 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2354 +#: common/models.py:2355 msgid "Search Parts" msgstr "" -#: common/models.py:2355 +#: common/models.py:2356 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2360 +#: common/models.py:2361 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2361 +#: common/models.py:2362 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2366 +#: common/models.py:2367 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2367 +#: common/models.py:2368 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2372 +#: common/models.py:2373 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2373 +#: common/models.py:2374 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2378 +#: common/models.py:2379 msgid "Search Categories" msgstr "" -#: common/models.py:2379 +#: common/models.py:2380 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2384 +#: common/models.py:2385 msgid "Search Stock" msgstr "" -#: common/models.py:2385 +#: common/models.py:2386 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2390 +#: common/models.py:2391 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2392 +#: common/models.py:2393 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2398 +#: common/models.py:2399 msgid "Search Locations" msgstr "" -#: common/models.py:2399 +#: common/models.py:2400 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2404 +#: common/models.py:2405 msgid "Search Companies" msgstr "" -#: common/models.py:2405 +#: common/models.py:2406 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2410 +#: common/models.py:2411 msgid "Search Build Orders" msgstr "" -#: common/models.py:2411 +#: common/models.py:2412 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2416 +#: common/models.py:2417 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2417 +#: common/models.py:2418 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2422 +#: common/models.py:2423 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2424 +#: common/models.py:2425 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2430 +#: common/models.py:2431 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2431 +#: common/models.py:2432 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2436 +#: common/models.py:2437 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2438 +#: common/models.py:2439 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2444 +#: common/models.py:2445 msgid "Search Return Orders" msgstr "" -#: common/models.py:2445 +#: common/models.py:2446 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2450 +#: common/models.py:2451 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2452 +#: common/models.py:2453 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2458 +#: common/models.py:2459 msgid "Search Preview Results" msgstr "" -#: common/models.py:2460 +#: common/models.py:2461 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2466 +#: common/models.py:2467 msgid "Regex Search" msgstr "" -#: common/models.py:2467 +#: common/models.py:2468 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2472 +#: common/models.py:2473 msgid "Whole Word Search" msgstr "" -#: common/models.py:2473 +#: common/models.py:2474 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2478 +#: common/models.py:2479 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2479 +#: common/models.py:2480 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2484 +#: common/models.py:2485 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2485 +#: common/models.py:2486 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2490 +#: common/models.py:2491 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2491 +#: common/models.py:2492 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2496 +#: common/models.py:2497 msgid "Date Format" msgstr "" -#: common/models.py:2497 +#: common/models.py:2498 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2510 part/templates/part/detail.html:41 +#: common/models.py:2511 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2511 +#: common/models.py:2512 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2516 part/templates/part/detail.html:62 +#: common/models.py:2517 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2518 +#: common/models.py:2519 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2524 +#: common/models.py:2525 msgid "Table String Length" msgstr "" -#: common/models.py:2526 +#: common/models.py:2527 msgid "Maximum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2532 +#: common/models.py:2533 msgid "Receive error reports" msgstr "" -#: common/models.py:2533 +#: common/models.py:2534 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2538 +#: common/models.py:2539 msgid "Last used printing machines" msgstr "" -#: common/models.py:2539 +#: common/models.py:2540 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2559 common/models.py:2560 common/models.py:2717 -#: common/models.py:2718 common/models.py:2963 common/models.py:2964 -#: common/models.py:3287 common/models.py:3288 importer/models.py:89 -#: part/models.py:3319 part/models.py:3406 part/models.py:3480 -#: part/models.py:3508 plugin/models.py:274 plugin/models.py:275 +#: common/models.py:2560 common/models.py:2561 common/models.py:2718 +#: common/models.py:2719 common/models.py:2964 common/models.py:2965 +#: common/models.py:3288 common/models.py:3289 importer/models.py:89 +#: part/models.py:3306 part/models.py:3393 part/models.py:3467 +#: part/models.py:3495 plugin/models.py:274 plugin/models.py:275 #: report/templates/report/inventree_test_report.html:105 #: templates/js/translated/stock.js:3121 users/models.py:111 msgid "User" msgstr "" -#: common/models.py:2582 +#: common/models.py:2583 msgid "Price break quantity" msgstr "" -#: common/models.py:2589 company/serializers.py:517 order/admin.py:42 +#: common/models.py:2590 company/serializers.py:517 order/admin.py:42 #: order/models.py:1423 order/models.py:2410 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1892 #: templates/js/translated/pricing.js:621 @@ -3747,96 +3744,96 @@ msgstr "" msgid "Price" msgstr "" -#: common/models.py:2590 +#: common/models.py:2591 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2694 common/models.py:2879 +#: common/models.py:2695 common/models.py:2880 msgid "Endpoint" msgstr "" -#: common/models.py:2695 +#: common/models.py:2696 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2705 +#: common/models.py:2706 msgid "Name for this webhook" msgstr "" -#: common/models.py:2709 +#: common/models.py:2710 msgid "Is this webhook active" msgstr "" -#: common/models.py:2725 users/models.py:159 +#: common/models.py:2726 users/models.py:159 msgid "Token" msgstr "" -#: common/models.py:2726 +#: common/models.py:2727 msgid "Token for access" msgstr "" -#: common/models.py:2734 +#: common/models.py:2735 msgid "Secret" msgstr "" -#: common/models.py:2735 +#: common/models.py:2736 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2843 +#: common/models.py:2844 msgid "Message ID" msgstr "" -#: common/models.py:2844 +#: common/models.py:2845 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2852 +#: common/models.py:2853 msgid "Host" msgstr "" -#: common/models.py:2853 +#: common/models.py:2854 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2861 +#: common/models.py:2862 msgid "Header" msgstr "" -#: common/models.py:2862 +#: common/models.py:2863 msgid "Header of this message" msgstr "" -#: common/models.py:2869 +#: common/models.py:2870 msgid "Body" msgstr "" -#: common/models.py:2870 +#: common/models.py:2871 msgid "Body of this message" msgstr "" -#: common/models.py:2880 +#: common/models.py:2881 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2885 +#: common/models.py:2886 msgid "Worked on" msgstr "" -#: common/models.py:2886 +#: common/models.py:2887 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:3012 +#: common/models.py:3013 msgid "Id" msgstr "" -#: common/models.py:3014 templates/js/translated/company.js:965 +#: common/models.py:3015 templates/js/translated/company.js:965 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:3016 common/models.py:3271 company/models.py:146 +#: common/models.py:3017 common/models.py:3272 company/models.py:146 #: company/models.py:443 company/models.py:509 company/models.py:815 #: order/models.py:303 order/models.py:1378 order/models.py:1810 #: part/admin.py:55 part/models.py:1069 @@ -3853,217 +3850,217 @@ msgstr "" msgid "Link" msgstr "" -#: common/models.py:3018 templates/js/translated/news.js:60 +#: common/models.py:3019 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:3020 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:3021 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:103 msgid "Author" msgstr "" -#: common/models.py:3022 templates/js/translated/news.js:52 +#: common/models.py:3023 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:3025 +#: common/models.py:3026 msgid "Read" msgstr "" -#: common/models.py:3025 +#: common/models.py:3026 msgid "Was this news item read?" msgstr "" -#: common/models.py:3042 company/models.py:156 part/models.py:1079 +#: common/models.py:3043 company/models.py:156 part/models.py:1079 #: 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.html:35 -#: stock/templates/stock/item_base.html:133 templates/503.html:31 +#: stock/templates/stock/item_base.html:129 templates/503.html:31 #: templates/hover_image.html:7 templates/hover_image.html:9 #: templates/modals.html:6 msgid "Image" msgstr "" -#: common/models.py:3042 +#: common/models.py:3043 msgid "Image file" msgstr "" -#: common/models.py:3054 common/models.py:3255 +#: common/models.py:3055 common/models.py:3256 msgid "Target model type for this image" msgstr "" -#: common/models.py:3058 +#: common/models.py:3059 msgid "Target model ID for this image" msgstr "" -#: common/models.py:3080 +#: common/models.py:3081 msgid "Custom Unit" msgstr "" -#: common/models.py:3098 +#: common/models.py:3099 msgid "Unit symbol must be unique" msgstr "" -#: common/models.py:3113 +#: common/models.py:3114 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:3132 +#: common/models.py:3133 msgid "Unit name" msgstr "" -#: common/models.py:3139 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3140 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:3140 +#: common/models.py:3141 msgid "Optional unit symbol" msgstr "" -#: common/models.py:3146 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3147 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:3147 +#: common/models.py:3148 msgid "Unit definition" msgstr "" -#: common/models.py:3205 common/models.py:3262 stock/models.py:2552 +#: common/models.py:3206 common/models.py:3263 stock/models.py:2547 #: stock/serializers.py:244 templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:345 msgid "Attachment" msgstr "" -#: common/models.py:3217 +#: common/models.py:3218 msgid "Missing file" msgstr "" -#: common/models.py:3218 +#: common/models.py:3219 msgid "Missing external link" msgstr "" -#: common/models.py:3263 +#: common/models.py:3264 msgid "Select file to attach" msgstr "" -#: common/models.py:3278 templates/js/translated/attachment.js:120 +#: common/models.py:3279 templates/js/translated/attachment.js:120 #: templates/js/translated/attachment.js:360 msgid "Comment" msgstr "" -#: common/models.py:3279 +#: common/models.py:3280 msgid "Attachment comment" msgstr "" -#: common/models.py:3295 +#: common/models.py:3296 msgid "Upload date" msgstr "" -#: common/models.py:3296 +#: common/models.py:3297 msgid "Date the file was uploaded" msgstr "" -#: common/models.py:3300 +#: common/models.py:3301 msgid "File size" msgstr "" -#: common/models.py:3300 +#: common/models.py:3301 msgid "File size in bytes" msgstr "" -#: common/models.py:3338 common/serializers.py:588 +#: common/models.py:3339 common/serializers.py:604 msgid "Invalid model type specified for attachment" msgstr "" -#: common/models.py:3347 plugin/models.py:43 users/models.py:100 +#: common/models.py:3348 plugin/models.py:43 users/models.py:100 msgid "Key" msgstr "" -#: common/models.py:3348 +#: common/models.py:3349 msgid "Value that will be saved in the models database" msgstr "" -#: common/models.py:3351 +#: common/models.py:3352 msgid "Name of the state" msgstr "" -#: common/models.py:3355 +#: common/models.py:3356 msgid "Label" msgstr "" -#: common/models.py:3356 +#: common/models.py:3357 msgid "Label that will be displayed in the frontend" msgstr "" -#: common/models.py:3362 +#: common/models.py:3363 msgid "Color" msgstr "" -#: common/models.py:3363 +#: common/models.py:3364 msgid "Color that will be displayed in the frontend" msgstr "" -#: common/models.py:3366 +#: common/models.py:3367 msgid "Logical Key" msgstr "" -#: common/models.py:3368 +#: common/models.py:3369 msgid "State logical key that is equal to this custom state in business logic" msgstr "" -#: common/models.py:3376 +#: common/models.py:3377 msgid "Model" msgstr "" -#: common/models.py:3377 +#: common/models.py:3378 msgid "Model this state is associated with" msgstr "" -#: common/models.py:3381 +#: common/models.py:3382 msgid "Reference Status Set" msgstr "" -#: common/models.py:3382 +#: common/models.py:3383 msgid "Status set that is extended with this custom state" msgstr "" -#: common/models.py:3388 +#: common/models.py:3389 msgid "Custom State" msgstr "" -#: common/models.py:3389 +#: common/models.py:3390 msgid "Custom States" msgstr "" -#: common/models.py:3404 +#: common/models.py:3405 msgid "Model must be selected" msgstr "" -#: common/models.py:3407 +#: common/models.py:3408 msgid "Key must be selected" msgstr "" -#: common/models.py:3410 +#: common/models.py:3411 msgid "Logical key must be selected" msgstr "" -#: common/models.py:3414 +#: common/models.py:3415 msgid "Key must be different from logical key" msgstr "" -#: common/models.py:3418 +#: common/models.py:3419 msgid "Reference status must be selected" msgstr "" -#: common/models.py:3430 +#: common/models.py:3431 msgid "Reference status set not found" msgstr "" -#: common/models.py:3436 +#: common/models.py:3437 msgid "Key must be different from the logical keys of the reference status" msgstr "" -#: common/models.py:3442 +#: common/models.py:3443 msgid "Logical key must be in the logical keys of the reference status" msgstr "" @@ -4101,75 +4098,75 @@ msgstr "" msgid "Error raised by plugin" msgstr "" -#: common/serializers.py:402 +#: common/serializers.py:418 msgid "Is Running" msgstr "" -#: common/serializers.py:408 +#: common/serializers.py:424 msgid "Pending Tasks" msgstr "" -#: common/serializers.py:414 +#: common/serializers.py:430 msgid "Scheduled Tasks" msgstr "" -#: common/serializers.py:420 +#: common/serializers.py:436 msgid "Failed Tasks" msgstr "" -#: common/serializers.py:435 +#: common/serializers.py:451 msgid "Task ID" msgstr "" -#: common/serializers.py:435 +#: common/serializers.py:451 msgid "Unique task ID" msgstr "" -#: common/serializers.py:437 +#: common/serializers.py:453 msgid "Lock" msgstr "" -#: common/serializers.py:437 +#: common/serializers.py:453 msgid "Lock time" msgstr "" -#: common/serializers.py:439 +#: common/serializers.py:455 msgid "Task name" msgstr "" -#: common/serializers.py:441 +#: common/serializers.py:457 msgid "Function" msgstr "" -#: common/serializers.py:441 +#: common/serializers.py:457 msgid "Function name" msgstr "" -#: common/serializers.py:443 +#: common/serializers.py:459 msgid "Arguments" msgstr "" -#: common/serializers.py:443 +#: common/serializers.py:459 msgid "Task arguments" msgstr "" -#: common/serializers.py:446 +#: common/serializers.py:462 msgid "Keyword Arguments" msgstr "" -#: common/serializers.py:446 +#: common/serializers.py:462 msgid "Task keyword arguments" msgstr "" -#: common/serializers.py:556 +#: common/serializers.py:572 msgid "Filename" msgstr "" -#: common/serializers.py:563 report/api.py:100 report/serializers.py:53 +#: common/serializers.py:579 report/api.py:100 report/serializers.py:54 msgid "Model Type" msgstr "" -#: common/serializers.py:591 +#: common/serializers.py:607 msgid "User does not have permission to create or edit attachments for this model" msgstr "" @@ -4447,12 +4444,12 @@ msgstr "" #: company/models.py:467 company/models.py:584 company/models.py:808 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 -#: stock/templates/stock/item_base.html:217 +#: stock/templates/stock/item_base.html:213 msgid "Manufacturer Part" msgstr "" #: company/models.py:484 company/models.py:776 stock/models.py:791 -#: stock/serializers.py:452 stock/templates/stock/item_base.html:142 +#: stock/serializers.py:452 stock/templates/stock/item_base.html:138 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" @@ -4463,8 +4460,8 @@ msgstr "" #: company/models.py:495 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:567 -#: stock/templates/stock/item_base.html:207 +#: company/templates/company/supplier_part.html:145 part/serializers.py:565 +#: stock/templates/stock/item_base.html:203 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 #: templates/js/translated/company.js:1296 @@ -4479,7 +4476,7 @@ msgstr "" #: company/models.py:502 company/templates/company/manufacturer_part.html:101 #: company/templates/company/supplier_part.html:153 order/serializers.py:557 -#: part/serializers.py:577 templates/js/translated/company.js:351 +#: part/serializers.py:575 templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 #: templates/js/translated/company.js:1630 templates/js/translated/part.js:1807 @@ -4505,7 +4502,7 @@ msgid "Parameter name" msgstr "" #: company/models.py:597 report/templates/report/inventree_test_report.html:104 -#: stock/models.py:2544 templates/js/translated/company.js:1166 +#: stock/models.py:2539 templates/js/translated/company.js:1166 #: templates/js/translated/company.js:1419 templates/js/translated/part.js:1499 #: templates/js/translated/stock.js:1607 msgid "Value" @@ -4516,7 +4513,7 @@ msgid "Parameter value" msgstr "" #: company/models.py:605 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1159 part/models.py:3783 +#: part/admin.py:57 part/models.py:1159 part/models.py:3770 #: part/templates/part/part_base.html:300 #: templates/js/translated/company.js:1425 templates/js/translated/part.js:1518 #: templates/js/translated/part.js:1622 templates/js/translated/part.js:2376 @@ -4530,7 +4527,7 @@ msgstr "" #: company/models.py:659 company/templates/company/supplier_part.html:7 #: company/templates/company/supplier_part.html:24 order/api.py:440 #: order/serializers.py:492 stock/models.py:802 -#: stock/templates/stock/item_base.html:233 +#: stock/templates/stock/item_base.html:229 #: templates/js/translated/build.js:1055 #: templates/js/translated/company.js:1600 #: templates/js/translated/purchase_order.js:752 @@ -4553,9 +4550,9 @@ msgstr "" #: company/models.py:786 company/templates/company/company_base.html:87 #: company/templates/company/supplier_part.html:129 order/models.py:492 #: order/templates/order/order_base.html:141 part/bom.py:279 part/bom.py:314 -#: part/serializers.py:551 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:549 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 -#: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 +#: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:220 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:511 @@ -4570,7 +4567,7 @@ msgstr "" msgid "Select supplier" msgstr "" -#: company/models.py:793 part/serializers.py:562 +#: company/models.py:793 part/serializers.py:560 msgid "Supplier stock keeping unit" msgstr "" @@ -4591,7 +4588,7 @@ msgid "Supplier part description" msgstr "" #: company/models.py:832 company/templates/company/supplier_part.html:187 -#: order/serializers.py:699 part/admin.py:415 part/models.py:4301 +#: order/serializers.py:699 part/admin.py:415 part/models.py:4288 #: part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 @@ -4603,11 +4600,11 @@ msgstr "" msgid "Note" msgstr "" -#: company/models.py:841 part/models.py:2129 +#: company/models.py:841 part/models.py:2128 msgid "base cost" msgstr "" -#: company/models.py:842 part/models.py:2130 +#: company/models.py:842 part/models.py:2129 msgid "Minimum charge (e.g. stocking fee)" msgstr "" @@ -4629,7 +4626,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:876 part/models.py:2136 +#: company/models.py:876 part/models.py:2135 msgid "multiple" msgstr "" @@ -4661,7 +4658,7 @@ msgstr "" msgid "Company Name" msgstr "" -#: company/serializers.py:397 part/admin.py:126 part/serializers.py:919 +#: company/serializers.py:397 part/admin.py:126 part/serializers.py:917 #: part/templates/part/part_base.html:197 #: templates/js/translated/company.js:1689 #: templates/js/translated/table_filters.js:362 @@ -4735,7 +4732,7 @@ msgstr "" #: order/models.py:2140 order/templates/order/return_order_base.html:134 #: order/templates/order/sales_order_base.html:151 stock/models.py:844 #: stock/models.py:845 stock/serializers.py:1336 -#: stock/templates/stock/item_base.html:405 +#: stock/templates/stock/item_base.html:401 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 #: templates/js/translated/return_order.js:295 @@ -4939,7 +4936,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:925 +#: part/admin.py:122 part/serializers.py:923 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -5030,7 +5027,7 @@ msgid "No supplier information available" msgstr "" #: company/templates/company/supplier_part.html:139 order/serializers.py:554 -#: part/bom.py:286 part/bom.py:315 part/serializers.py:561 +#: part/bom.py:286 part/bom.py:315 part/serializers.py:559 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1793 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1920 @@ -5084,7 +5081,7 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:923 part/stocktake.py:223 +#: part/serializers.py:921 part/stocktake.py:223 #: part/templates/part/category.html:180 #: part/templates/part/category_sidebar.html:17 stock/admin.py:68 #: stock/serializers.py:1021 stock/serializers.py:1199 @@ -5215,7 +5212,7 @@ msgstr "" msgid "Original row data" msgstr "" -#: importer/models.py:504 part/models.py:3965 +#: importer/models.py:504 part/models.py:3952 msgid "Data" msgstr "" @@ -5473,7 +5470,7 @@ msgstr "" #: order/models.py:1592 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_purchase_order_report.html:14 -#: stock/serializers.py:121 stock/templates/stock/item_base.html:176 +#: stock/serializers.py:121 stock/templates/stock/item_base.html:172 #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/part.js:1752 templates/js/translated/pricing.js:804 #: templates/js/translated/purchase_order.js:168 @@ -5694,7 +5691,7 @@ msgid "Number of items received" msgstr "" #: order/models.py:1513 stock/models.py:963 stock/serializers.py:617 -#: stock/templates/stock/item_base.html:183 +#: stock/templates/stock/item_base.html:179 #: templates/js/translated/stock.js:2397 msgid "Purchase Price" msgstr "" @@ -5768,7 +5765,7 @@ msgid "User who checked this shipment" msgstr "" #: order/models.py:1788 order/models.py:2011 order/serializers.py:1479 -#: order/serializers.py:1589 templates/js/translated/model_renderers.js:455 +#: order/serializers.py:1597 templates/js/translated/model_renderers.js:455 msgid "Shipment" msgstr "" @@ -5982,7 +5979,7 @@ msgstr "" msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:656 order/serializers.py:779 order/serializers.py:1790 +#: order/serializers.py:656 order/serializers.py:779 order/serializers.py:1798 msgid "Select destination location for received items" msgstr "" @@ -6019,7 +6016,7 @@ msgstr "" msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:795 order/serializers.py:1806 +#: order/serializers.py:795 order/serializers.py:1814 msgid "Line items must be provided" msgstr "" @@ -6051,39 +6048,39 @@ msgstr "" msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1491 order/serializers.py:1597 +#: order/serializers.py:1491 order/serializers.py:1605 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1494 order/serializers.py:1600 +#: order/serializers.py:1494 order/serializers.py:1608 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1541 +#: order/serializers.py:1549 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1548 -msgid "The following serial numbers are already allocated" +#: order/serializers.py:1556 +msgid "The following serial numbers are unavailable" msgstr "" -#: order/serializers.py:1760 +#: order/serializers.py:1768 msgid "Return order line item" msgstr "" -#: order/serializers.py:1766 +#: order/serializers.py:1774 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1769 +#: order/serializers.py:1777 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1798 +#: order/serializers.py:1806 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1881 +#: order/serializers.py:1889 msgid "Line price currency" msgstr "" @@ -6510,7 +6507,7 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:48 part/models.py:1044 part/serializers.py:908 +#: part/admin.py:48 part/models.py:1044 part/serializers.py:906 #: part/templates/part/part_base.html:276 #: report/templates/report/inventree_stock_location_report.html:103 #: templates/js/translated/part.js:1233 templates/js/translated/part.js:2347 @@ -6537,7 +6534,7 @@ msgstr "" msgid "Category ID" msgstr "" -#: part/admin.py:67 part/admin.py:304 part/serializers.py:893 +#: part/admin.py:67 part/admin.py:304 part/serializers.py:891 #: part/stocktake.py:222 msgid "Category Name" msgstr "" @@ -6562,18 +6559,18 @@ msgstr "" msgid "Used In" msgstr "" -#: part/admin.py:150 part/serializers.py:918 +#: part/admin.py:150 part/serializers.py:916 #: part/templates/part/part_base.html:248 stock/admin.py:236 #: templates/js/translated/part.js:717 templates/js/translated/part.js:2159 msgid "Building" msgstr "" -#: part/admin.py:155 part/models.py:3214 part/models.py:3228 +#: part/admin.py:155 part/models.py:3201 part/models.py:3215 #: templates/js/translated/part.js:976 msgid "Minimum Cost" msgstr "" -#: part/admin.py:158 part/models.py:3221 part/models.py:3235 +#: part/admin.py:158 part/models.py:3208 part/models.py:3222 #: templates/js/translated/part.js:986 msgid "Maximum Cost" msgstr "" @@ -6592,7 +6589,7 @@ msgid "Category Path" msgstr "" #: part/admin.py:325 part/models.py:420 part/serializers.py:130 -#: part/serializers.py:290 part/serializers.py:428 +#: part/serializers.py:290 part/serializers.py:426 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:20 #: part/templates/part/category.html:138 part/templates/part/category.html:158 #: part/templates/part/category_sidebar.html:9 @@ -6619,13 +6616,13 @@ msgstr "" msgid "Part Revision" msgstr "" -#: part/admin.py:418 part/serializers.py:1367 +#: part/admin.py:418 part/serializers.py:1365 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:423 part/serializers.py:1382 +#: part/admin.py:423 part/serializers.py:1380 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -6719,8 +6716,8 @@ msgstr "" msgid "BOM Valid" msgstr "" -#: part/api.py:1520 part/models.py:1036 part/models.py:3501 part/models.py:4060 -#: part/serializers.py:443 part/serializers.py:1223 +#: part/api.py:1520 part/models.py:1036 part/models.py:3488 part/models.py:4047 +#: part/serializers.py:441 part/serializers.py:1221 #: part/templates/part/part_base.html:267 stock/api.py:780 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 @@ -6746,7 +6743,7 @@ msgstr "" msgid "Default Location" msgstr "" -#: part/bom.py:184 part/serializers.py:926 +#: part/bom.py:184 part/serializers.py:924 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -6755,7 +6752,7 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:89 part/models.py:4061 part/templates/part/category.html:16 +#: part/models.py:89 part/models.py:4048 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -6878,7 +6875,7 @@ msgstr "" msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:995 part/models.py:4116 +#: part/models.py:995 part/models.py:4103 msgid "Part name" msgstr "" @@ -6906,7 +6903,7 @@ msgstr "" msgid "Part category" msgstr "" -#: part/models.py:1052 part/serializers.py:360 +#: part/models.py:1052 msgid "Part revision or version number" msgstr "" @@ -7012,164 +7009,164 @@ msgid "Owner responsible for this part" msgstr "" #: part/models.py:1264 part/templates/part/part_base.html:355 -#: stock/templates/stock/item_base.html:451 +#: stock/templates/stock/item_base.html:447 #: templates/js/translated/part.js:2490 msgid "Last Stocktake" msgstr "" -#: part/models.py:2137 +#: part/models.py:2136 msgid "Sell multiple" msgstr "" -#: part/models.py:3128 +#: part/models.py:3115 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3144 +#: part/models.py:3131 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3145 +#: part/models.py:3132 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3151 +#: part/models.py:3138 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3152 +#: part/models.py:3139 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3158 +#: part/models.py:3145 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3159 +#: part/models.py:3146 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3165 +#: part/models.py:3152 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3166 +#: part/models.py:3153 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3172 +#: part/models.py:3159 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3173 +#: part/models.py:3160 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3179 +#: part/models.py:3166 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3180 +#: part/models.py:3167 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3186 +#: part/models.py:3173 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3187 +#: part/models.py:3174 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3193 +#: part/models.py:3180 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3194 +#: part/models.py:3181 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3200 +#: part/models.py:3187 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3201 +#: part/models.py:3188 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3207 +#: part/models.py:3194 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3208 +#: part/models.py:3195 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3215 +#: part/models.py:3202 msgid "Override minimum cost" msgstr "" -#: part/models.py:3222 +#: part/models.py:3209 msgid "Override maximum cost" msgstr "" -#: part/models.py:3229 +#: part/models.py:3216 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3236 +#: part/models.py:3223 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3242 +#: part/models.py:3229 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3243 +#: part/models.py:3230 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3249 +#: part/models.py:3236 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3250 +#: part/models.py:3237 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3256 +#: part/models.py:3243 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3257 +#: part/models.py:3244 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3263 +#: part/models.py:3250 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3264 +#: part/models.py:3251 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3283 +#: part/models.py:3270 msgid "Part for stocktake" msgstr "" -#: part/models.py:3288 +#: part/models.py:3275 msgid "Item Count" msgstr "" -#: part/models.py:3289 +#: part/models.py:3276 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3297 +#: part/models.py:3284 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3301 part/models.py:3384 +#: part/models.py:3288 part/models.py:3371 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -7181,363 +7178,363 @@ msgstr "" msgid "Date" msgstr "" -#: part/models.py:3302 +#: part/models.py:3289 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3310 +#: part/models.py:3297 msgid "Additional notes" msgstr "" -#: part/models.py:3320 +#: part/models.py:3307 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3326 +#: part/models.py:3313 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3327 +#: part/models.py:3314 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3333 +#: part/models.py:3320 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3334 +#: part/models.py:3321 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3390 templates/InvenTree/settings/settings_staff_js.html:532 +#: part/models.py:3377 templates/InvenTree/settings/settings_staff_js.html:532 msgid "Report" msgstr "" -#: part/models.py:3391 +#: part/models.py:3378 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3396 templates/InvenTree/settings/settings_staff_js.html:539 +#: part/models.py:3383 templates/InvenTree/settings/settings_staff_js.html:539 msgid "Part Count" msgstr "" -#: part/models.py:3397 +#: part/models.py:3384 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3407 +#: part/models.py:3394 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3417 +#: part/models.py:3404 msgid "Part Sale Price Break" msgstr "" -#: part/models.py:3529 +#: part/models.py:3516 msgid "Part Test Template" msgstr "" -#: part/models.py:3555 +#: part/models.py:3542 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3576 part/models.py:3745 +#: part/models.py:3563 part/models.py:3732 msgid "Choices must be unique" msgstr "" -#: part/models.py:3587 +#: part/models.py:3574 msgid "Test templates can only be created for testable parts" msgstr "" -#: part/models.py:3598 +#: part/models.py:3585 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3615 templates/js/translated/part.js:2898 +#: part/models.py:3602 templates/js/translated/part.js:2898 msgid "Test Name" msgstr "" -#: part/models.py:3616 +#: part/models.py:3603 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3622 +#: part/models.py:3609 msgid "Test Key" msgstr "" -#: part/models.py:3623 +#: part/models.py:3610 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3630 +#: part/models.py:3617 msgid "Test Description" msgstr "" -#: part/models.py:3631 +#: part/models.py:3618 msgid "Enter description for this test" msgstr "" -#: part/models.py:3635 report/models.py:208 +#: part/models.py:3622 report/models.py:216 #: templates/js/translated/part.js:2919 #: templates/js/translated/table_filters.js:502 msgid "Enabled" msgstr "" -#: part/models.py:3635 +#: part/models.py:3622 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3640 templates/js/translated/part.js:2927 +#: part/models.py:3627 templates/js/translated/part.js:2927 #: templates/js/translated/table_filters.js:498 msgid "Required" msgstr "" -#: part/models.py:3641 +#: part/models.py:3628 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3646 templates/js/translated/part.js:2935 +#: part/models.py:3633 templates/js/translated/part.js:2935 msgid "Requires Value" msgstr "" -#: part/models.py:3647 +#: part/models.py:3634 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3652 templates/js/translated/part.js:2942 +#: part/models.py:3639 templates/js/translated/part.js:2942 msgid "Requires Attachment" msgstr "" -#: part/models.py:3654 +#: part/models.py:3641 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3660 part/models.py:3804 templates/js/translated/part.js:1643 +#: part/models.py:3647 part/models.py:3791 templates/js/translated/part.js:1643 msgid "Choices" msgstr "" -#: part/models.py:3661 +#: part/models.py:3648 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3693 +#: part/models.py:3680 msgid "Part Parameter Template" msgstr "" -#: part/models.py:3720 +#: part/models.py:3707 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3725 +#: part/models.py:3712 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3762 +#: part/models.py:3749 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3777 +#: part/models.py:3764 msgid "Parameter Name" msgstr "" -#: part/models.py:3784 +#: part/models.py:3771 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3792 +#: part/models.py:3779 msgid "Parameter description" msgstr "" -#: part/models.py:3798 templates/js/translated/part.js:1634 +#: part/models.py:3785 templates/js/translated/part.js:1634 #: templates/js/translated/table_filters.js:837 msgid "Checkbox" msgstr "" -#: part/models.py:3799 +#: part/models.py:3786 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3805 +#: part/models.py:3792 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3839 +#: part/models.py:3826 msgid "Part Parameter" msgstr "" -#: part/models.py:3865 +#: part/models.py:3852 msgid "Parameter cannot be modified - part is locked" msgstr "" -#: part/models.py:3903 +#: part/models.py:3890 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3952 +#: part/models.py:3939 msgid "Parent Part" msgstr "" -#: part/models.py:3960 part/models.py:4068 part/models.py:4069 +#: part/models.py:3947 part/models.py:4055 part/models.py:4056 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3966 +#: part/models.py:3953 msgid "Parameter Value" msgstr "" -#: part/models.py:4016 +#: part/models.py:4003 msgid "Part Category Parameter Template" msgstr "" -#: part/models.py:4075 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:4062 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:4076 +#: part/models.py:4063 msgid "Default Parameter Value" msgstr "" -#: part/models.py:4114 +#: part/models.py:4101 msgid "Part ID or part name" msgstr "" -#: part/models.py:4115 +#: part/models.py:4102 msgid "Unique part ID value" msgstr "" -#: part/models.py:4117 +#: part/models.py:4104 msgid "Part IPN value" msgstr "" -#: part/models.py:4118 +#: part/models.py:4105 msgid "Level" msgstr "" -#: part/models.py:4118 +#: part/models.py:4105 msgid "BOM level" msgstr "" -#: part/models.py:4228 +#: part/models.py:4215 msgid "BOM item cannot be modified - assembly is locked" msgstr "" -#: part/models.py:4235 +#: part/models.py:4222 msgid "BOM item cannot be modified - variant assembly is locked" msgstr "" -#: part/models.py:4245 +#: part/models.py:4232 msgid "Select parent part" msgstr "" -#: part/models.py:4255 +#: part/models.py:4242 msgid "Sub part" msgstr "" -#: part/models.py:4256 +#: part/models.py:4243 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4267 +#: part/models.py:4254 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4273 +#: part/models.py:4260 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4279 +#: part/models.py:4266 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4286 part/templates/part/upload_bom.html:55 +#: part/models.py:4273 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4287 +#: part/models.py:4274 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4294 +#: part/models.py:4281 msgid "BOM item reference" msgstr "" -#: part/models.py:4302 +#: part/models.py:4289 msgid "BOM item notes" msgstr "" -#: part/models.py:4308 +#: part/models.py:4295 msgid "Checksum" msgstr "" -#: part/models.py:4309 +#: part/models.py:4296 msgid "BOM line checksum" msgstr "" -#: part/models.py:4314 templates/js/translated/table_filters.js:181 +#: part/models.py:4301 templates/js/translated/table_filters.js:181 msgid "Validated" msgstr "" -#: part/models.py:4315 +#: part/models.py:4302 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4320 part/templates/part/upload_bom.html:57 +#: part/models.py:4307 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:185 #: templates/js/translated/table_filters.js:218 msgid "Gets inherited" msgstr "" -#: part/models.py:4321 +#: part/models.py:4308 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4327 +#: part/models.py:4314 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4412 stock/models.py:689 +#: part/models.py:4399 stock/models.py:689 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4422 part/models.py:4424 +#: part/models.py:4409 part/models.py:4411 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4561 +#: part/models.py:4554 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4582 +#: part/models.py:4575 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4595 +#: part/models.py:4588 msgid "Parent BOM item" msgstr "" -#: part/models.py:4603 +#: part/models.py:4596 msgid "Substitute part" msgstr "" -#: part/models.py:4619 +#: part/models.py:4612 msgid "Part 1" msgstr "" -#: part/models.py:4627 +#: part/models.py:4620 msgid "Part 2" msgstr "" -#: part/models.py:4628 +#: part/models.py:4621 msgid "Select Related Part" msgstr "" -#: part/models.py:4647 +#: part/models.py:4640 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4652 +#: part/models.py:4645 msgid "Duplicate relationship already exists" msgstr "" @@ -7571,326 +7568,326 @@ msgstr "" msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:434 +#: part/serializers.py:432 msgid "No parts selected" msgstr "" -#: part/serializers.py:444 +#: part/serializers.py:442 msgid "Select category" msgstr "" -#: part/serializers.py:479 +#: part/serializers.py:477 msgid "Original Part" msgstr "" -#: part/serializers.py:480 +#: part/serializers.py:478 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:485 +#: part/serializers.py:483 msgid "Copy Image" msgstr "" -#: part/serializers.py:486 +#: part/serializers.py:484 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:492 part/templates/part/detail.html:293 +#: part/serializers.py:490 part/templates/part/detail.html:293 msgid "Copy BOM" msgstr "" -#: part/serializers.py:493 +#: part/serializers.py:491 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:499 +#: part/serializers.py:497 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:500 +#: part/serializers.py:498 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:506 +#: part/serializers.py:504 msgid "Copy Notes" msgstr "" -#: part/serializers.py:507 +#: part/serializers.py:505 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:525 +#: part/serializers.py:523 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:527 +#: part/serializers.py:525 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:534 +#: part/serializers.py:532 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:535 +#: part/serializers.py:533 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:552 +#: part/serializers.py:550 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:568 +#: part/serializers.py:566 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:578 +#: part/serializers.py:576 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:585 +#: part/serializers.py:583 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:594 +#: part/serializers.py:592 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:605 +#: part/serializers.py:603 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:612 +#: part/serializers.py:610 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:924 +#: part/serializers.py:922 msgid "Revisions" msgstr "" -#: part/serializers.py:929 +#: part/serializers.py:927 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:932 +#: part/serializers.py:930 msgid "Variant Stock" msgstr "" -#: part/serializers.py:962 part/templates/part/copy_part.html:9 +#: part/serializers.py:960 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:474 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:963 +#: part/serializers.py:961 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:969 templates/js/translated/part.js:103 +#: part/serializers.py:967 templates/js/translated/part.js:103 msgid "Initial Stock" msgstr "" -#: part/serializers.py:970 +#: part/serializers.py:968 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:976 +#: part/serializers.py:974 msgid "Supplier Information" msgstr "" -#: part/serializers.py:977 +#: part/serializers.py:975 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:985 +#: part/serializers.py:983 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:986 +#: part/serializers.py:984 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:991 +#: part/serializers.py:989 msgid "Existing Image" msgstr "" -#: part/serializers.py:992 +#: part/serializers.py:990 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:1009 +#: part/serializers.py:1007 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1215 +#: part/serializers.py:1213 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1225 +#: part/serializers.py:1223 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1235 +#: part/serializers.py:1233 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1241 +#: part/serializers.py:1239 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1242 +#: part/serializers.py:1240 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1247 +#: part/serializers.py:1245 msgid "Generate Report" msgstr "" -#: part/serializers.py:1248 +#: part/serializers.py:1246 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1253 +#: part/serializers.py:1251 msgid "Update Parts" msgstr "" -#: part/serializers.py:1254 +#: part/serializers.py:1252 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1262 +#: part/serializers.py:1260 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1368 +#: part/serializers.py:1366 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1375 +#: part/serializers.py:1373 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1383 +#: part/serializers.py:1381 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1390 +#: part/serializers.py:1388 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1419 +#: part/serializers.py:1417 msgid "Update" msgstr "" -#: part/serializers.py:1420 +#: part/serializers.py:1418 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1443 +#: part/serializers.py:1441 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1450 +#: part/serializers.py:1448 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1453 +#: part/serializers.py:1451 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1597 +#: part/serializers.py:1595 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1606 +#: part/serializers.py:1604 msgid "Component Name" msgstr "" -#: part/serializers.py:1609 +#: part/serializers.py:1607 msgid "Component IPN" msgstr "" -#: part/serializers.py:1612 +#: part/serializers.py:1610 msgid "Component Description" msgstr "" -#: part/serializers.py:1618 +#: part/serializers.py:1616 msgid "Select the component part" msgstr "" -#: part/serializers.py:1627 part/templates/part/part_base.html:242 +#: part/serializers.py:1625 part/templates/part/part_base.html:242 #: templates/js/translated/bom.js:1219 msgid "Can Build" msgstr "" -#: part/serializers.py:1858 +#: part/serializers.py:1856 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1866 +#: part/serializers.py:1864 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1867 +#: part/serializers.py:1865 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1872 +#: part/serializers.py:1870 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1873 +#: part/serializers.py:1871 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1878 +#: part/serializers.py:1876 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1879 +#: part/serializers.py:1877 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1884 +#: part/serializers.py:1882 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1885 +#: part/serializers.py:1883 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1922 +#: part/serializers.py:1920 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1923 +#: part/serializers.py:1921 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1955 +#: part/serializers.py:1953 msgid "No part column specified" msgstr "" -#: part/serializers.py:1999 +#: part/serializers.py:1997 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:2002 +#: part/serializers.py:2000 msgid "No matching part found" msgstr "" -#: part/serializers.py:2004 +#: part/serializers.py:2002 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:2013 +#: part/serializers.py:2011 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:2021 +#: part/serializers.py:2019 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:2044 +#: part/serializers.py:2042 msgid "At least one BOM item is required" msgstr "" @@ -8216,7 +8213,7 @@ msgid "Subscribe to notifications for this part" msgstr "" #: part/templates/part/part_base.html:52 -#: stock/templates/stock/item_base.html:62 +#: stock/templates/stock/item_base.html:61 #: stock/templates/stock/location.html:71 templates/js/translated/label.js:136 msgid "Print Label" msgstr "" @@ -8226,7 +8223,7 @@ msgid "Show pricing information" msgstr "" #: part/templates/part/part_base.html:63 -#: stock/templates/stock/item_base.html:110 +#: stock/templates/stock/item_base.html:106 #: stock/templates/stock/location.html:80 msgid "Stock actions" msgstr "" @@ -8297,12 +8294,12 @@ msgid "Required for Orders" msgstr "" #: part/templates/part/part_base.html:225 -#: stock/templates/stock/item_base.html:388 +#: stock/templates/stock/item_base.html:384 msgid "Allocated to Build Orders" msgstr "" #: part/templates/part/part_base.html:234 -#: stock/templates/stock/item_base.html:381 +#: stock/templates/stock/item_base.html:377 msgid "Allocated to Sales Orders" msgstr "" @@ -8322,7 +8319,7 @@ msgid "Latest Serial Number" msgstr "" #: part/templates/part/part_base.html:372 -#: stock/templates/stock/item_base.html:322 +#: stock/templates/stock/item_base.html:318 msgid "Search for serial number" msgstr "" @@ -8449,7 +8446,7 @@ msgid "Edit" msgstr "" #: part/templates/part/prices.html:28 stock/admin.py:252 -#: stock/templates/stock/item_base.html:446 +#: stock/templates/stock/item_base.html:442 #: templates/js/translated/company.js:1703 #: templates/js/translated/company.js:1713 #: templates/js/translated/stock.js:2332 @@ -8604,7 +8601,7 @@ msgstr "" msgid "Part Pricing" msgstr "" -#: plugin/api.py:172 +#: plugin/api.py:174 msgid "Plugin cannot be deleted as it is currently active" msgstr "" @@ -8940,7 +8937,7 @@ msgstr "" msgid "Print a border around each label" msgstr "" -#: plugin/builtin/labels/label_sheet.py:47 report/models.py:307 +#: plugin/builtin/labels/label_sheet.py:47 report/models.py:315 msgid "Landscape" msgstr "" @@ -9012,44 +9009,44 @@ msgstr "" msgid "The Supplier which acts as 'TME'" msgstr "" -#: plugin/installer.py:194 plugin/installer.py:274 +#: plugin/installer.py:199 plugin/installer.py:282 msgid "Only staff users can administer plugins" msgstr "" -#: plugin/installer.py:197 +#: plugin/installer.py:202 msgid "Plugin installation is disabled" msgstr "" -#: plugin/installer.py:241 +#: plugin/installer.py:246 msgid "Installed plugin successfully" msgstr "" -#: plugin/installer.py:246 +#: plugin/installer.py:251 #, python-brace-format msgid "Installed plugin into {path}" msgstr "" -#: plugin/installer.py:265 +#: plugin/installer.py:273 msgid "Plugin was not found in registry" msgstr "" -#: plugin/installer.py:268 +#: plugin/installer.py:276 msgid "Plugin is not a packaged plugin" msgstr "" -#: plugin/installer.py:271 +#: plugin/installer.py:279 msgid "Plugin package name not found" msgstr "" -#: plugin/installer.py:291 +#: plugin/installer.py:299 msgid "Plugin uninstalling is disabled" msgstr "" -#: plugin/installer.py:295 +#: plugin/installer.py:303 msgid "Plugin cannot be uninstalled as it is currently active" msgstr "" -#: plugin/installer.py:308 +#: plugin/installer.py:316 msgid "Uninstalled plugin successfully" msgstr "" @@ -9098,7 +9095,7 @@ msgstr "" msgid "Package Plugin" msgstr "" -#: plugin/models.py:220 report/models.py:474 +#: plugin/models.py:220 report/models.py:482 #: templates/InvenTree/settings/plugin_settings.html:9 #: templates/js/translated/plugin.js:51 msgid "Plugin" @@ -9167,6 +9164,38 @@ msgstr "" msgid "InvenTree Contributors" msgstr "" +#: plugin/samples/integration/user_interface_sample.py:22 +msgid "Enable Part Panels" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:23 +msgid "Enable custom panels for Part views" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:28 +msgid "Enable Purchase Order Panels" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:29 +msgid "Enable custom panels for Purchase Order views" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:34 +msgid "Enable Broken Panels" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:35 +msgid "Enable broken panels for testing" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:40 +msgid "Enable Dynamic Panel" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:41 +msgid "Enable dynamic panels for testing" +msgstr "" + #: plugin/serializers.py:81 msgid "Source URL" msgstr "" @@ -9245,12 +9274,36 @@ msgstr "" msgid "Delete the plugin configuration from the database" msgstr "" +#: plugin/serializers.py:324 +msgid "Plugin Key" +msgstr "" + +#: plugin/serializers.py:328 +msgid "Panel Name" +msgstr "" + +#: plugin/serializers.py:332 +msgid "Panel Title" +msgstr "" + +#: plugin/serializers.py:337 +msgid "Panel Icon" +msgstr "" + +#: plugin/serializers.py:341 +msgid "Panel Content (HTML)" +msgstr "" + +#: plugin/serializers.py:345 +msgid "Panel Source (javascript)" +msgstr "" + #: report/api.py:88 msgid "No valid objects provided to template" msgstr "" -#: report/api.py:103 report/models.py:438 report/serializers.py:98 -#: report/serializers.py:148 templates/js/translated/purchase_order.js:1817 +#: report/api.py:103 report/models.py:446 report/serializers.py:99 +#: report/serializers.py:149 templates/js/translated/purchase_order.js:1817 #: templates/js/translated/return_order.js:353 #: templates/js/translated/sales_order.js:887 #: templates/js/translated/sales_order.js:1047 @@ -9281,7 +9334,11 @@ msgstr "" msgid "Error printing label" msgstr "" -#: report/api.py:375 report/api.py:411 +#: report/api.py:358 +msgid "Report saved at time of printing" +msgstr "" + +#: report/api.py:384 report/api.py:420 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" @@ -9318,135 +9375,143 @@ msgstr "" msgid "Revision number (auto-increments)" msgstr "" -#: report/models.py:202 +#: report/models.py:168 +msgid "Attach to Model on Print" +msgstr "" + +#: report/models.py:170 +msgid "Save report output as an attachment against linked model instance when printing" +msgstr "" + +#: report/models.py:210 msgid "Filename Pattern" msgstr "" -#: report/models.py:203 +#: report/models.py:211 msgid "Pattern for generating filenames" msgstr "" -#: report/models.py:208 +#: report/models.py:216 msgid "Template is enabled" msgstr "" -#: report/models.py:214 +#: report/models.py:222 msgid "Target model type for template" msgstr "" -#: report/models.py:234 +#: report/models.py:242 msgid "Filters" msgstr "" -#: report/models.py:235 +#: report/models.py:243 msgid "Template query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:294 report/models.py:361 +#: report/models.py:302 report/models.py:369 msgid "Template file" msgstr "" -#: report/models.py:302 +#: report/models.py:310 msgid "Page size for PDF reports" msgstr "" -#: report/models.py:308 +#: report/models.py:316 msgid "Render report in landscape orientation" msgstr "" -#: report/models.py:367 +#: report/models.py:375 msgid "Width [mm]" msgstr "" -#: report/models.py:368 +#: report/models.py:376 msgid "Label width, specified in mm" msgstr "" -#: report/models.py:374 +#: report/models.py:382 msgid "Height [mm]" msgstr "" -#: report/models.py:375 +#: report/models.py:383 msgid "Label height, specified in mm" msgstr "" -#: report/models.py:438 +#: report/models.py:446 msgid "Number of items to process" msgstr "" -#: report/models.py:444 +#: report/models.py:452 msgid "Report generation is complete" msgstr "" -#: report/models.py:448 templates/js/translated/build.js:2352 +#: report/models.py:456 templates/js/translated/build.js:2352 msgid "Progress" msgstr "" -#: report/models.py:448 +#: report/models.py:456 msgid "Report generation progress" msgstr "" -#: report/models.py:456 +#: report/models.py:464 msgid "Report Template" msgstr "" -#: report/models.py:463 report/models.py:486 +#: report/models.py:471 report/models.py:494 msgid "Output File" msgstr "" -#: report/models.py:464 report/models.py:487 +#: report/models.py:472 report/models.py:495 msgid "Generated output file" msgstr "" -#: report/models.py:475 +#: report/models.py:483 msgid "Label output plugin" msgstr "" -#: report/models.py:479 +#: report/models.py:487 msgid "Label Template" msgstr "" -#: report/models.py:502 +#: report/models.py:510 msgid "Snippet" msgstr "" -#: report/models.py:503 +#: report/models.py:511 msgid "Report snippet file" msgstr "" -#: report/models.py:510 +#: report/models.py:518 msgid "Snippet file description" msgstr "" -#: report/models.py:528 +#: report/models.py:536 msgid "Asset" msgstr "" -#: report/models.py:529 +#: report/models.py:537 msgid "Report asset file" msgstr "" -#: report/models.py:536 +#: report/models.py:544 msgid "Asset file description" msgstr "" -#: report/serializers.py:91 +#: report/serializers.py:92 msgid "Select report template" msgstr "" -#: report/serializers.py:99 report/serializers.py:149 +#: report/serializers.py:100 report/serializers.py:150 msgid "List of item primary keys to include in the report" msgstr "" -#: report/serializers.py:132 +#: report/serializers.py:133 msgid "Select label template" msgstr "" -#: report/serializers.py:140 +#: report/serializers.py:141 msgid "Printing Plugin" msgstr "" -#: report/serializers.py:141 +#: report/serializers.py:142 msgid "Select plugin to use for label printing" msgstr "" @@ -9517,7 +9582,7 @@ msgstr "" msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report.html:103 stock/models.py:2538 +#: report/templates/report/inventree_test_report.html:103 stock/models.py:2533 msgid "Result" msgstr "" @@ -9598,7 +9663,7 @@ msgid "Customer ID" msgstr "" #: stock/admin.py:206 stock/models.py:829 -#: stock/templates/stock/item_base.html:354 +#: stock/templates/stock/item_base.html:350 msgid "Installed In" msgstr "" @@ -9623,7 +9688,7 @@ msgid "Delete on Deplete" msgstr "" #: stock/admin.py:261 stock/models.py:923 -#: stock/templates/stock/item_base.html:433 +#: stock/templates/stock/item_base.html:429 #: templates/js/translated/stock.js:2316 users/models.py:124 msgid "Expiry Date" msgstr "" @@ -9665,7 +9730,7 @@ msgid "Expiry date after" msgstr "" #: stock/api.py:839 stock/serializers.py:611 -#: stock/templates/stock/item_base.html:439 +#: stock/templates/stock/item_base.html:435 #: templates/js/translated/table_filters.js:448 msgid "Stale" msgstr "" @@ -9715,7 +9780,7 @@ msgid "Stock Locations" msgstr "" #: stock/models.py:185 stock/models.py:972 -#: stock/templates/stock/item_base.html:247 +#: stock/templates/stock/item_base.html:243 msgid "Owner" msgstr "" @@ -9826,7 +9891,7 @@ msgstr "" msgid "Build for this stock item" msgstr "" -#: stock/models.py:892 stock/templates/stock/item_base.html:363 +#: stock/models.py:892 stock/templates/stock/item_base.html:359 msgid "Consumed By" msgstr "" @@ -9891,7 +9956,7 @@ msgstr "" msgid "Serial numbers already exist" msgstr "" -#: stock/models.py:1636 +#: stock/models.py:1636 stock/models.py:2436 msgid "Test template does not exist" msgstr "" @@ -9939,67 +10004,67 @@ msgstr "" msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2337 +#: stock/models.py:2335 msgid "Stock Item Tracking" msgstr "" -#: stock/models.py:2370 +#: stock/models.py:2368 msgid "Entry notes" msgstr "" -#: stock/models.py:2410 +#: stock/models.py:2408 msgid "Stock Item Test Result" msgstr "" -#: stock/models.py:2443 +#: stock/models.py:2439 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2448 +#: stock/models.py:2443 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2453 +#: stock/models.py:2448 msgid "Invalid value for this test" msgstr "" -#: stock/models.py:2538 +#: stock/models.py:2533 msgid "Test result" msgstr "" -#: stock/models.py:2545 +#: stock/models.py:2540 msgid "Test output value" msgstr "" -#: stock/models.py:2553 stock/serializers.py:245 +#: stock/models.py:2548 stock/serializers.py:245 msgid "Test result attachment" msgstr "" -#: stock/models.py:2557 +#: stock/models.py:2552 msgid "Test notes" msgstr "" -#: stock/models.py:2565 templates/js/translated/stock.js:1633 +#: stock/models.py:2560 templates/js/translated/stock.js:1633 msgid "Test station" msgstr "" -#: stock/models.py:2566 +#: stock/models.py:2561 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2572 +#: stock/models.py:2567 msgid "Started" msgstr "" -#: stock/models.py:2573 +#: stock/models.py:2568 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2579 +#: stock/models.py:2574 msgid "Finished" msgstr "" -#: stock/models.py:2580 +#: stock/models.py:2575 msgid "The timestamp of the test finish" msgstr "" @@ -10059,7 +10124,7 @@ msgstr "" msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:459 stock/templates/stock/item_base.html:193 +#: stock/serializers.py:459 stock/templates/stock/item_base.html:189 msgid "Parent Item" msgstr "" @@ -10071,7 +10136,7 @@ msgstr "" msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:603 stock/templates/stock/item_base.html:437 +#: stock/serializers.py:603 stock/templates/stock/item_base.html:433 #: templates/js/translated/table_filters.js:442 users/models.py:174 msgid "Expired" msgstr "" @@ -10410,7 +10475,7 @@ msgstr "" msgid "Test Data" msgstr "" -#: stock/templates/stock/item.html:85 stock/templates/stock/item_base.html:65 +#: stock/templates/stock/item.html:85 msgid "Test Report" msgstr "" @@ -10450,200 +10515,204 @@ msgstr "" msgid "Scan to Location" msgstr "" -#: stock/templates/stock/item_base.html:59 +#: stock/templates/stock/item_base.html:58 #: stock/templates/stock/location.html:67 #: templates/js/translated/filters.js:434 msgid "Printing actions" msgstr "" -#: stock/templates/stock/item_base.html:75 +#: stock/templates/stock/item_base.html:63 templates/js/translated/report.js:49 +msgid "Print Report" +msgstr "" + +#: stock/templates/stock/item_base.html:71 msgid "Stock adjustment actions" msgstr "" -#: stock/templates/stock/item_base.html:79 +#: stock/templates/stock/item_base.html:75 #: stock/templates/stock/location.html:87 templates/js/translated/stock.js:1909 msgid "Count stock" msgstr "" -#: stock/templates/stock/item_base.html:81 +#: stock/templates/stock/item_base.html:77 #: templates/js/translated/stock.js:1891 msgid "Add stock" msgstr "" -#: stock/templates/stock/item_base.html:82 +#: stock/templates/stock/item_base.html:78 #: templates/js/translated/stock.js:1900 msgid "Remove stock" msgstr "" -#: stock/templates/stock/item_base.html:85 +#: stock/templates/stock/item_base.html:81 msgid "Serialize stock" msgstr "" -#: stock/templates/stock/item_base.html:88 +#: stock/templates/stock/item_base.html:84 #: stock/templates/stock/location.html:93 templates/js/translated/stock.js:1918 msgid "Transfer stock" msgstr "" -#: stock/templates/stock/item_base.html:91 +#: stock/templates/stock/item_base.html:87 #: templates/js/translated/stock.js:1973 msgid "Assign to customer" msgstr "" -#: stock/templates/stock/item_base.html:94 +#: stock/templates/stock/item_base.html:90 msgid "Return to stock" msgstr "" -#: stock/templates/stock/item_base.html:97 +#: stock/templates/stock/item_base.html:93 msgid "Uninstall stock item" msgstr "" -#: stock/templates/stock/item_base.html:97 +#: stock/templates/stock/item_base.html:93 msgid "Uninstall" msgstr "" -#: stock/templates/stock/item_base.html:101 +#: stock/templates/stock/item_base.html:97 msgid "Install stock item" msgstr "" -#: stock/templates/stock/item_base.html:101 +#: stock/templates/stock/item_base.html:97 msgid "Install" msgstr "" -#: stock/templates/stock/item_base.html:115 +#: stock/templates/stock/item_base.html:111 msgid "Convert to variant" msgstr "" -#: stock/templates/stock/item_base.html:118 +#: stock/templates/stock/item_base.html:114 msgid "Duplicate stock item" msgstr "" -#: stock/templates/stock/item_base.html:120 +#: stock/templates/stock/item_base.html:116 msgid "Edit stock item" msgstr "" -#: stock/templates/stock/item_base.html:123 +#: stock/templates/stock/item_base.html:119 msgid "Delete stock item" msgstr "" -#: stock/templates/stock/item_base.html:169 templates/InvenTree/search.html:139 +#: stock/templates/stock/item_base.html:165 templates/InvenTree/search.html:139 #: templates/js/translated/build.js:2298 templates/navbar.html:38 msgid "Build" msgstr "" -#: stock/templates/stock/item_base.html:211 +#: stock/templates/stock/item_base.html:207 msgid "No manufacturer set" msgstr "" -#: stock/templates/stock/item_base.html:251 +#: stock/templates/stock/item_base.html:247 msgid "You are not in the list of owners of this item. This stock item cannot be edited." msgstr "" -#: stock/templates/stock/item_base.html:252 +#: stock/templates/stock/item_base.html:248 #: stock/templates/stock/location.html:146 msgid "Read only" msgstr "" -#: stock/templates/stock/item_base.html:265 +#: stock/templates/stock/item_base.html:261 msgid "This stock item is unavailable" msgstr "" -#: stock/templates/stock/item_base.html:271 +#: stock/templates/stock/item_base.html:267 msgid "This stock item is in production and cannot be edited." msgstr "" -#: stock/templates/stock/item_base.html:272 +#: stock/templates/stock/item_base.html:268 msgid "Edit the stock item from the build view." msgstr "" -#: stock/templates/stock/item_base.html:287 +#: stock/templates/stock/item_base.html:283 msgid "This stock item is allocated to Sales Order" msgstr "" -#: stock/templates/stock/item_base.html:295 +#: stock/templates/stock/item_base.html:291 msgid "This stock item is allocated to Build Order" msgstr "" -#: stock/templates/stock/item_base.html:311 +#: stock/templates/stock/item_base.html:307 msgid "This stock item is serialized. It has a unique serial number and the quantity cannot be adjusted" msgstr "" -#: stock/templates/stock/item_base.html:317 +#: stock/templates/stock/item_base.html:313 msgid "previous page" msgstr "" -#: stock/templates/stock/item_base.html:317 +#: stock/templates/stock/item_base.html:313 msgid "Navigate to previous serial number" msgstr "" -#: stock/templates/stock/item_base.html:326 +#: stock/templates/stock/item_base.html:322 msgid "next page" msgstr "" -#: stock/templates/stock/item_base.html:326 +#: stock/templates/stock/item_base.html:322 msgid "Navigate to next serial number" msgstr "" -#: stock/templates/stock/item_base.html:398 +#: stock/templates/stock/item_base.html:394 #: templates/js/translated/build.js:2555 msgid "No location set" msgstr "" -#: stock/templates/stock/item_base.html:413 +#: stock/templates/stock/item_base.html:409 msgid "Tests" msgstr "" -#: stock/templates/stock/item_base.html:419 +#: stock/templates/stock/item_base.html:415 msgid "This stock item has not passed all required tests" msgstr "" -#: stock/templates/stock/item_base.html:437 +#: stock/templates/stock/item_base.html:433 #, python-format msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:439 +#: stock/templates/stock/item_base.html:435 #, python-format msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:455 +#: stock/templates/stock/item_base.html:451 msgid "No stocktake performed" msgstr "" -#: stock/templates/stock/item_base.html:504 +#: stock/templates/stock/item_base.html:500 #: templates/js/translated/stock.js:2038 msgid "stock item" msgstr "" -#: stock/templates/stock/item_base.html:527 +#: stock/templates/stock/item_base.html:523 msgid "Edit Stock Status" msgstr "" -#: stock/templates/stock/item_base.html:536 +#: stock/templates/stock/item_base.html:532 msgid "Stock Item QR Code" msgstr "" -#: stock/templates/stock/item_base.html:547 +#: stock/templates/stock/item_base.html:543 msgid "Link Barcode to Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:611 +#: stock/templates/stock/item_base.html:607 msgid "Select one of the part variants listed below." msgstr "" -#: stock/templates/stock/item_base.html:614 +#: stock/templates/stock/item_base.html:610 msgid "Warning" msgstr "" -#: stock/templates/stock/item_base.html:615 +#: stock/templates/stock/item_base.html:611 msgid "This action cannot be easily undone" msgstr "" -#: stock/templates/stock/item_base.html:623 +#: stock/templates/stock/item_base.html:619 msgid "Convert Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:656 +#: stock/templates/stock/item_base.html:652 msgid "Return to Stock" msgstr "" @@ -11310,7 +11379,7 @@ msgid "Delete Location Type" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:503 -#: templates/InvenTree/settings/stock.html:38 +#: templates/InvenTree/settings/stock.html:39 msgid "New Location Type" msgstr "" @@ -11367,7 +11436,7 @@ msgstr "" msgid "Stock Settings" msgstr "" -#: templates/InvenTree/settings/stock.html:34 +#: templates/InvenTree/settings/stock.html:35 msgid "Stock Location Types" msgstr "" @@ -11852,23 +11921,23 @@ msgstr "" msgid "Barcode Identifier" msgstr "" -#: templates/base.html:103 +#: templates/base.html:102 msgid "Server Restart Required" msgstr "" -#: templates/base.html:106 +#: templates/base.html:105 msgid "A configuration option has been changed which requires a server restart" msgstr "" -#: templates/base.html:106 templates/base.html:116 +#: templates/base.html:105 templates/base.html:115 msgid "Contact your system administrator for further information" msgstr "" -#: templates/base.html:113 +#: templates/base.html:112 msgid "Pending Database Migrations" msgstr "" -#: templates/base.html:116 +#: templates/base.html:115 msgid "There are pending database migrations which require attention" msgstr "" @@ -13946,10 +14015,6 @@ msgstr "" msgid "Delete line item" msgstr "" -#: templates/js/translated/report.js:49 -msgid "Print Report" -msgstr "" - #: templates/js/translated/report.js:68 msgid "Report print successful" msgstr "" diff --git a/src/backend/InvenTree/locale/lv/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/lv/LC_MESSAGES/django.po index 507a0d4f40d5..11096871dd42 100644 --- a/src/backend/InvenTree/locale/lv/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/lv/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-08-29 07:07+0000\n" -"PO-Revision-Date: 2024-08-29 07:10\n" +"POT-Creation-Date: 2024-09-16 00:37+0000\n" +"PO-Revision-Date: 2024-09-16 00:40\n" "Last-Translator: \n" "Language-Team: Latvian\n" "Language: lv_LV\n" @@ -65,9 +65,9 @@ msgstr "Ievadiet datumu" #: 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:59 -#: part/models.py:3309 part/templates/part/part_sidebar.html:65 +#: part/models.py:3296 part/templates/part/part_sidebar.html:65 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/admin.py:231 stock/models.py:2369 stock/models.py:2557 +#: stock/admin.py:231 stock/models.py:2367 stock/models.py:2552 #: stock/serializers.py:705 stock/serializers.py:863 stock/serializers.py:989 #: stock/serializers.py:1039 stock/serializers.py:1350 #: stock/serializers.py:1439 stock/serializers.py:1604 @@ -364,7 +364,7 @@ msgstr "" msgid "[{site_name}] Log in to the app" msgstr "" -#: InvenTree/magic_login.py:38 InvenTree/serializers.py:413 +#: InvenTree/magic_login.py:38 InvenTree/serializers.py:416 #: company/models.py:133 company/templates/company/company_base.html:138 #: templates/InvenTree/settings/user.html:49 #: templates/js/translated/company.js:677 @@ -419,9 +419,9 @@ msgstr "" msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:767 common/models.py:2704 common/models.py:3131 -#: common/models.py:3351 common/serializers.py:439 company/models.py:590 -#: machine/models.py:24 part/models.py:995 part/models.py:3776 +#: InvenTree/models.py:767 common/models.py:2705 common/models.py:3132 +#: common/models.py:3352 common/serializers.py:455 company/models.py:590 +#: machine/models.py:24 part/models.py:995 part/models.py:3763 #: plugin/models.py:51 report/models.py:149 stock/models.py:82 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -446,10 +446,10 @@ msgstr "" #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 order/models.py:289 #: order/models.py:1406 part/admin.py:305 part/admin.py:411 part/models.py:1018 -#: part/models.py:3791 part/templates/part/category.html:79 +#: part/models.py:3778 part/templates/part/category.html:79 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:155 -#: report/models.py:509 report/models.py:535 +#: report/models.py:517 report/models.py:543 #: report/templates/report/inventree_build_order_report.html:117 #: stock/admin.py:54 stock/models.py:88 stock/templates/stock/location.html:122 #: templates/InvenTree/settings/notifications.html:19 @@ -517,12 +517,12 @@ msgstr "" msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:63 part/models.py:4400 +#: InvenTree/serializers.py:63 part/models.py:4387 msgid "Must be a valid number" msgstr "" #: InvenTree/serializers.py:100 company/models.py:183 -#: company/templates/company/company_base.html:112 part/models.py:3127 +#: company/templates/company/company_base.html:112 part/models.py:3114 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -536,43 +536,43 @@ msgstr "" msgid "Username" msgstr "" -#: InvenTree/serializers.py:407 templates/InvenTree/settings/user.html:37 +#: InvenTree/serializers.py:408 templates/InvenTree/settings/user.html:37 msgid "First Name" msgstr "" -#: InvenTree/serializers.py:407 +#: InvenTree/serializers.py:408 msgid "First name of the user" msgstr "" -#: InvenTree/serializers.py:410 templates/InvenTree/settings/user.html:41 +#: InvenTree/serializers.py:412 templates/InvenTree/settings/user.html:41 msgid "Last Name" msgstr "" -#: InvenTree/serializers.py:410 +#: InvenTree/serializers.py:412 msgid "Last name of the user" msgstr "" -#: InvenTree/serializers.py:413 +#: InvenTree/serializers.py:416 msgid "Email address of the user" msgstr "" -#: InvenTree/serializers.py:438 +#: InvenTree/serializers.py:441 msgid "Staff" msgstr "" -#: InvenTree/serializers.py:438 +#: InvenTree/serializers.py:441 msgid "Does this user have staff permissions" msgstr "" -#: InvenTree/serializers.py:441 +#: InvenTree/serializers.py:445 msgid "Superuser" msgstr "" -#: InvenTree/serializers.py:441 +#: InvenTree/serializers.py:445 msgid "Is this user a superuser" msgstr "" -#: InvenTree/serializers.py:444 common/models.py:2709 company/models.py:160 +#: InvenTree/serializers.py:449 common/models.py:2710 company/models.py:160 #: company/models.py:798 machine/models.py:39 part/admin.py:88 #: part/models.py:1201 plugin/models.py:66 #: templates/js/translated/company.js:523 @@ -585,89 +585,89 @@ msgstr "" msgid "Active" msgstr "" -#: InvenTree/serializers.py:444 +#: InvenTree/serializers.py:449 msgid "Is this user account active" msgstr "" -#: InvenTree/serializers.py:462 +#: InvenTree/serializers.py:467 msgid "You do not have permission to change this user role." msgstr "" -#: InvenTree/serializers.py:474 +#: InvenTree/serializers.py:503 msgid "Only superusers can create new users" msgstr "" -#: InvenTree/serializers.py:493 +#: InvenTree/serializers.py:522 msgid "Your account has been created." msgstr "" -#: InvenTree/serializers.py:495 +#: InvenTree/serializers.py:524 msgid "Please use the password reset function to login" msgstr "" -#: InvenTree/serializers.py:502 +#: InvenTree/serializers.py:531 msgid "Welcome to InvenTree" msgstr "" -#: InvenTree/serializers.py:560 +#: InvenTree/serializers.py:589 msgid "Invalid value" msgstr "" -#: InvenTree/serializers.py:580 importer/models.py:64 +#: InvenTree/serializers.py:609 importer/models.py:64 msgid "Data File" msgstr "" -#: InvenTree/serializers.py:581 +#: InvenTree/serializers.py:610 msgid "Select data file for upload" msgstr "" -#: InvenTree/serializers.py:598 +#: InvenTree/serializers.py:627 msgid "Unsupported file type" msgstr "" -#: InvenTree/serializers.py:604 +#: InvenTree/serializers.py:633 msgid "File is too large" msgstr "" -#: InvenTree/serializers.py:625 +#: InvenTree/serializers.py:654 msgid "No columns found in file" msgstr "" -#: InvenTree/serializers.py:628 +#: InvenTree/serializers.py:657 msgid "No data rows found in file" msgstr "" -#: InvenTree/serializers.py:740 +#: InvenTree/serializers.py:769 msgid "No data rows provided" msgstr "" -#: InvenTree/serializers.py:743 +#: InvenTree/serializers.py:772 msgid "No data columns supplied" msgstr "" -#: InvenTree/serializers.py:809 +#: InvenTree/serializers.py:838 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "" -#: InvenTree/serializers.py:818 +#: InvenTree/serializers.py:847 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "" -#: InvenTree/serializers.py:857 +#: InvenTree/serializers.py:886 msgid "Remote Image" msgstr "" -#: InvenTree/serializers.py:858 +#: InvenTree/serializers.py:887 msgid "URL of remote image file" msgstr "" -#: InvenTree/serializers.py:876 +#: InvenTree/serializers.py:905 msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/status.py:65 part/serializers.py:1267 +#: InvenTree/status.py:65 part/serializers.py:1265 msgid "Background worker check failed" msgstr "" @@ -759,7 +759,7 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:319 build/serializers.py:1332 part/models.py:4278 +#: build/api.py:319 build/serializers.py:1332 part/models.py:4265 #: templates/js/translated/bom.js:997 templates/js/translated/bom.js:1037 #: templates/js/translated/build.js:2705 #: templates/js/translated/table_filters.js:197 @@ -767,7 +767,7 @@ msgstr "" msgid "Consumable" msgstr "" -#: build/api.py:320 build/serializers.py:1333 part/models.py:4272 +#: build/api.py:320 build/serializers.py:1333 part/models.py:4259 #: part/templates/part/upload_bom.html:58 templates/js/translated/bom.js:1001 #: templates/js/translated/bom.js:1028 templates/js/translated/build.js:2696 #: templates/js/translated/table_filters.js:193 @@ -777,7 +777,7 @@ msgid "Optional" msgstr "" #: build/api.py:321 common/models.py:1491 part/admin.py:91 part/admin.py:428 -#: part/models.py:1166 part/serializers.py:1596 +#: part/models.py:1166 part/serializers.py:1594 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:337 #: templates/js/translated/table_filters.js:729 @@ -816,7 +816,7 @@ msgstr "" msgid "Available" msgstr "" -#: build/models.py:87 build/templates/build/build_base.html:9 +#: build/models.py:88 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_report.html:105 #: stock/serializers.py:85 templates/email/build_order_completed.html:16 @@ -825,7 +825,7 @@ msgstr "" msgid "Build Order" msgstr "" -#: build/models.py:88 build/templates/build/build_base.html:13 +#: build/models.py:89 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:111 #: order/templates/order/so_sidebar.html:13 @@ -866,7 +866,7 @@ msgstr "" #: build/models.py:243 build/serializers.py:1331 order/models.py:468 #: order/models.py:979 order/models.py:1366 order/models.py:2128 -#: part/admin.py:414 part/models.py:4293 part/templates/part/upload_bom.html:54 +#: part/admin.py:414 part/models.py:4280 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 @@ -892,11 +892,11 @@ msgstr "" #: build/templates/build/build_base.html:105 #: build/templates/build/detail.html:29 company/models.py:1043 order/api.py:761 #: order/models.py:1496 order/models.py:1651 order/models.py:1652 -#: part/api.py:1506 part/api.py:1806 part/models.py:419 part/models.py:3138 -#: part/models.py:3282 part/models.py:3430 part/models.py:3451 -#: part/models.py:3473 part/models.py:3609 part/models.py:3951 -#: part/models.py:4114 part/models.py:4244 part/models.py:4602 -#: part/serializers.py:1213 part/serializers.py:1857 +#: part/api.py:1506 part/api.py:1806 part/models.py:419 part/models.py:3125 +#: part/models.py:3269 part/models.py:3417 part/models.py:3438 +#: part/models.py:3460 part/models.py:3596 part/models.py:3938 +#: part/models.py:4101 part/models.py:4231 part/models.py:4595 +#: part/serializers.py:1211 part/serializers.py:1855 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -1063,12 +1063,12 @@ msgstr "" #: order/templates/order/return_order_base.html:148 #: order/templates/order/sales_order_base.html:187 #: part/templates/part/part_base.html:399 stock/models.py:859 -#: stock/templates/stock/item_base.html:200 +#: stock/templates/stock/item_base.html:196 #: templates/js/translated/company.js:1019 msgid "External Link" msgstr "" -#: build/models.py:378 common/models.py:3272 part/models.py:1070 +#: build/models.py:378 common/models.py:3273 part/models.py:1070 #: stock/models.py:859 msgid "Link to external URL" msgstr "" @@ -1110,7 +1110,7 @@ msgstr "" msgid "A build order has been completed" msgstr "" -#: build/models.py:968 build/models.py:1056 +#: build/models.py:968 build/models.py:1057 msgid "No build output specified" msgstr "" @@ -1122,37 +1122,37 @@ msgstr "" msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:1060 build/serializers.py:279 build/serializers.py:328 +#: build/models.py:1061 build/serializers.py:279 build/serializers.py:328 #: build/serializers.py:959 order/models.py:565 order/serializers.py:500 -#: order/serializers.py:666 part/serializers.py:1590 part/serializers.py:2019 +#: order/serializers.py:666 part/serializers.py:1588 part/serializers.py:2017 #: stock/models.py:704 stock/models.py:1515 stock/serializers.py:676 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:1065 build/serializers.py:284 +#: build/models.py:1066 build/serializers.py:284 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1125 build/serializers.py:607 +#: build/models.py:1126 build/serializers.py:607 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "" -#: build/models.py:1466 +#: build/models.py:1477 msgid "Build Order Line Item" msgstr "" -#: build/models.py:1491 +#: build/models.py:1502 msgid "Build object" msgstr "" -#: build/models.py:1505 build/models.py:1761 build/serializers.py:266 +#: build/models.py:1516 build/models.py:1775 build/serializers.py:266 #: build/serializers.py:313 build/serializers.py:1339 #: build/templates/build/build_base.html:110 -#: build/templates/build/detail.html:34 common/models.py:2581 +#: build/templates/build/detail.html:34 common/models.py:2582 #: order/models.py:1349 order/models.py:2034 order/serializers.py:1464 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:413 -#: part/forms.py:48 part/models.py:3296 part/models.py:4266 +#: part/forms.py:48 part/models.py:3283 part/models.py:4253 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1163,9 +1163,9 @@ msgstr "" #: report/templates/report/inventree_test_report.html:90 #: report/templates/report/inventree_test_report.html:169 stock/admin.py:160 #: stock/serializers.py:128 stock/serializers.py:168 stock/serializers.py:667 -#: stock/templates/stock/item_base.html:287 -#: stock/templates/stock/item_base.html:295 -#: stock/templates/stock/item_base.html:342 +#: stock/templates/stock/item_base.html:283 +#: stock/templates/stock/item_base.html:291 +#: stock/templates/stock/item_base.html:338 #: templates/email/build_order_completed.html:18 #: templates/js/translated/barcode.js:579 templates/js/translated/bom.js:771 #: templates/js/translated/bom.js:981 templates/js/translated/build.js:525 @@ -1194,41 +1194,41 @@ msgstr "" msgid "Quantity" msgstr "" -#: build/models.py:1506 +#: build/models.py:1517 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1586 +#: build/models.py:1597 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1595 +#: build/models.py:1606 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1605 order/models.py:1985 +#: build/models.py:1616 order/models.py:1985 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1611 order/models.py:1988 +#: build/models.py:1622 order/models.py:1988 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1617 +#: build/models.py:1628 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1676 +#: build/models.py:1687 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1748 build/serializers.py:939 order/serializers.py:1301 +#: build/models.py:1762 build/serializers.py:939 order/serializers.py:1301 #: order/serializers.py:1322 stock/models.py:381 stock/serializers.py:94 #: stock/serializers.py:770 stock/serializers.py:1288 stock/serializers.py:1400 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 -#: stock/templates/stock/item_base.html:194 +#: stock/templates/stock/item_base.html:190 #: templates/js/translated/build.js:1921 #: templates/js/translated/sales_order.js:301 #: templates/js/translated/sales_order.js:1234 @@ -1241,19 +1241,19 @@ msgstr "" msgid "Stock Item" msgstr "" -#: build/models.py:1749 +#: build/models.py:1763 msgid "Source stock item" msgstr "" -#: build/models.py:1762 +#: build/models.py:1776 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1770 +#: build/models.py:1784 msgid "Install into" msgstr "" -#: build/models.py:1771 +#: build/models.py:1785 msgid "Destination stock item" msgstr "" @@ -1262,7 +1262,7 @@ msgid "Build Level" msgstr "" #: build/serializers.py:115 build/serializers.py:1234 build/serializers.py:1323 -#: part/admin.py:41 part/admin.py:408 part/models.py:4116 part/stocktake.py:219 +#: part/admin.py:41 part/admin.py:408 part/models.py:4103 part/stocktake.py:219 #: stock/admin.py:157 msgid "Part Name" msgstr "" @@ -1323,10 +1323,10 @@ msgid "Enter serial numbers for build outputs" msgstr "" #: build/serializers.py:359 build/serializers.py:500 build/serializers.py:572 -#: order/serializers.py:655 order/serializers.py:778 order/serializers.py:1789 -#: part/serializers.py:1233 stock/serializers.py:103 stock/serializers.py:698 +#: order/serializers.py:655 order/serializers.py:778 order/serializers.py:1797 +#: part/serializers.py:1231 stock/serializers.py:103 stock/serializers.py:698 #: stock/serializers.py:858 stock/serializers.py:984 stock/serializers.py:1432 -#: stock/serializers.py:1688 stock/templates/stock/item_base.html:394 +#: stock/serializers.py:1688 stock/templates/stock/item_base.html:390 #: templates/js/translated/barcode.js:578 #: templates/js/translated/barcode.js:826 templates/js/translated/build.js:1035 #: templates/js/translated/build.js:1177 templates/js/translated/build.js:2547 @@ -1390,7 +1390,7 @@ msgstr "" #: build/templates/build/detail.html:62 order/models.py:477 #: order/models.py:1003 order/models.py:2152 order/serializers.py:687 #: stock/admin.py:165 stock/serializers.py:1035 stock/serializers.py:1576 -#: stock/templates/stock/item_base.html:427 +#: stock/templates/stock/item_base.html:423 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2366 #: templates/js/translated/purchase_order.js:1371 #: templates/js/translated/purchase_order.js:1792 @@ -1522,7 +1522,7 @@ msgstr "" msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:1030 order/serializers.py:1614 +#: build/serializers.py:1030 order/serializers.py:1622 msgid "Allocation items must be provided" msgstr "" @@ -1590,7 +1590,7 @@ msgstr "" #: build/serializers.py:1230 company/models.py:849 #: company/templates/company/supplier_part.html:160 order/serializers.py:691 #: stock/admin.py:229 stock/models.py:822 stock/serializers.py:1586 -#: stock/templates/stock/item_base.html:240 +#: stock/templates/stock/item_base.html:236 #: templates/js/translated/company.js:1646 #: templates/js/translated/purchase_order.js:1169 #: templates/js/translated/purchase_order.js:1332 @@ -1600,12 +1600,12 @@ msgid "Packaging" msgstr "" #: build/serializers.py:1233 part/admin.py:39 part/admin.py:398 -#: part/models.py:4115 part/stocktake.py:218 stock/admin.py:153 +#: part/models.py:4102 part/stocktake.py:218 stock/admin.py:153 msgid "Part ID" msgstr "" #: build/serializers.py:1235 build/serializers.py:1324 part/admin.py:402 -#: part/models.py:4117 +#: part/models.py:4104 msgid "Part IPN" msgstr "" @@ -1625,7 +1625,7 @@ msgstr "" #: build/serializers.py:1243 #: report/templates/report/inventree_return_order_report.html:25 #: report/templates/report/inventree_test_report.html:88 stock/models.py:849 -#: stock/serializers.py:152 stock/templates/stock/item_base.html:311 +#: stock/serializers.py:152 stock/templates/stock/item_base.html:307 #: templates/js/translated/build.js:523 templates/js/translated/build.js:1543 #: templates/js/translated/build.js:2530 #: templates/js/translated/model_renderers.js:231 @@ -1644,7 +1644,7 @@ msgstr "" msgid "Allocated Quantity" msgstr "" -#: build/serializers.py:1257 stock/templates/stock/item_base.html:340 +#: build/serializers.py:1257 stock/templates/stock/item_base.html:336 msgid "Available Quantity" msgstr "" @@ -1667,13 +1667,13 @@ msgstr "" msgid "Inherited" msgstr "" -#: build/serializers.py:1337 part/models.py:4326 +#: build/serializers.py:1337 part/models.py:4313 #: part/templates/part/upload_bom.html:56 templates/js/translated/bom.js:1046 #: templates/js/translated/build.js:2714 msgid "Allow Variants" msgstr "" -#: build/serializers.py:1341 part/models.py:4124 part/models.py:4594 +#: build/serializers.py:1341 part/models.py:4111 part/models.py:4587 #: stock/api.py:793 msgid "BOM Item" msgstr "" @@ -1684,7 +1684,7 @@ msgid "Allocated Stock" msgstr "" #: build/serializers.py:1355 order/serializers.py:1179 part/admin.py:132 -#: part/bom.py:186 part/serializers.py:920 part/serializers.py:1623 +#: part/bom.py:186 part/serializers.py:918 part/serializers.py:1621 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 #: templates/js/translated/build.js:2807 templates/js/translated/part.js:712 #: templates/js/translated/part.js:2155 @@ -1692,13 +1692,13 @@ msgstr "" msgid "On Order" msgstr "" -#: build/serializers.py:1360 order/serializers.py:1180 part/serializers.py:1625 +#: build/serializers.py:1360 order/serializers.py:1180 part/serializers.py:1623 #: templates/js/translated/build.js:2811 #: templates/js/translated/table_filters.js:367 msgid "In Production" msgstr "" -#: build/serializers.py:1365 part/bom.py:185 part/serializers.py:1650 +#: build/serializers.py:1365 part/bom.py:185 part/serializers.py:1648 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" @@ -1716,7 +1716,7 @@ msgstr "" msgid "Total Available Stock" msgstr "" -#: build/serializers.py:1372 part/serializers.py:927 +#: build/serializers.py:1372 part/serializers.py:925 msgid "External Stock" msgstr "" @@ -1745,7 +1745,7 @@ msgstr "" #: importer/status_codes.py:27 order/status_codes.py:15 #: order/status_codes.py:50 order/status_codes.py:81 #: order/templates/order/order_base.html:163 -#: order/templates/order/sales_order_base.html:168 report/models.py:443 +#: order/templates/order/sales_order_base.html:168 report/models.py:451 msgid "Complete" msgstr "" @@ -1849,9 +1849,6 @@ msgid "Delete Build" msgstr "" #: build/templates/build/build_base.html:87 -msgid "Isueue Build" -msgstr "" - #: build/templates/build/build_base.html:88 msgid "Issue Build" msgstr "" @@ -1931,7 +1928,7 @@ msgstr "" #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_report.html:135 #: report/templates/report/inventree_sales_order_report.html:14 -#: stock/templates/stock/item_base.html:369 +#: stock/templates/stock/item_base.html:365 #: templates/email/overdue_sales_order.html:15 #: templates/js/translated/pricing.js:929 #: templates/js/translated/sales_order.js:805 @@ -1991,7 +1988,7 @@ msgid "Allocated Parts" msgstr "" #: build/templates/build/detail.html:80 stock/admin.py:163 -#: stock/templates/stock/item_base.html:162 +#: stock/templates/stock/item_base.html:158 #: templates/js/translated/build.js:1556 #: templates/js/translated/model_renderers.js:242 #: templates/js/translated/purchase_order.js:1326 @@ -2148,19 +2145,19 @@ msgstr "" msgid "Test Statistics" msgstr "" -#: common/api.py:692 +#: common/api.py:725 msgid "Is Link" msgstr "" -#: common/api.py:700 +#: common/api.py:733 msgid "Is File" msgstr "" -#: common/api.py:743 +#: common/api.py:776 msgid "User does not have permission to delete these attachments" msgstr "" -#: common/api.py:760 +#: common/api.py:793 msgid "User does not have permission to delete this attachment" msgstr "" @@ -2352,8 +2349,8 @@ msgstr "" #: common/models.py:1297 common/models.py:1353 common/models.py:1366 #: common/models.py:1374 common/models.py:1383 common/models.py:1392 -#: common/models.py:1629 common/models.py:1651 common/models.py:1766 -#: common/models.py:2148 +#: common/models.py:1629 common/models.py:1651 common/models.py:1752 +#: common/models.py:2141 msgid "days" msgstr "" @@ -2581,9 +2578,9 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1485 part/admin.py:108 part/models.py:3959 -#: report/models.py:293 report/models.py:360 report/serializers.py:90 -#: report/serializers.py:131 stock/serializers.py:233 +#: common/models.py:1485 part/admin.py:108 part/models.py:3946 +#: report/models.py:301 report/models.py:368 report/serializers.py:91 +#: report/serializers.py:132 stock/serializers.py:233 #: templates/js/translated/table_filters.js:138 #: templates/js/translated/table_filters.js:775 msgid "Template" @@ -2598,7 +2595,7 @@ msgid "Parts can be assembled from other components by default" msgstr "" #: common/models.py:1497 part/admin.py:95 part/models.py:1172 -#: part/serializers.py:1617 templates/js/translated/table_filters.js:737 +#: part/serializers.py:1615 templates/js/translated/table_filters.js:737 msgid "Component" msgstr "" @@ -2823,7 +2820,7 @@ msgid "Log errors which occur when generating reports" msgstr "" #: common/models.py:1702 plugin/builtin/labels/label_sheet.py:28 -#: report/models.py:301 +#: report/models.py:309 msgid "Page Size" msgstr "" @@ -2832,914 +2829,914 @@ msgid "Default page size for PDF reports" msgstr "" #: common/models.py:1708 -msgid "Enable Test Reports" -msgstr "" - -#: common/models.py:1709 -msgid "Enable generation of test reports" -msgstr "" - -#: common/models.py:1714 -msgid "Attach Test Reports" -msgstr "" - -#: common/models.py:1716 -msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" -msgstr "" - -#: common/models.py:1722 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1723 +#: common/models.py:1709 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1728 +#: common/models.py:1714 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1729 +#: common/models.py:1715 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1734 +#: common/models.py:1720 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1736 +#: common/models.py:1722 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/models.py:1742 +#: common/models.py:1728 msgid "Batch Code Template" msgstr "" -#: common/models.py:1744 +#: common/models.py:1730 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1749 +#: common/models.py:1735 msgid "Stock Expiry" msgstr "" -#: common/models.py:1750 +#: common/models.py:1736 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1755 +#: common/models.py:1741 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1756 +#: common/models.py:1742 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1761 +#: common/models.py:1747 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1763 +#: common/models.py:1749 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1770 +#: common/models.py:1756 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1771 +#: common/models.py:1757 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1776 +#: common/models.py:1762 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1777 +#: common/models.py:1763 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1782 +#: common/models.py:1768 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1783 +#: common/models.py:1769 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1788 +#: common/models.py:1774 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1789 +#: common/models.py:1775 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1794 +#: common/models.py:1780 msgid "Check BOM when installing items" msgstr "" -#: common/models.py:1796 +#: common/models.py:1782 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/models.py:1802 +#: common/models.py:1788 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/models.py:1804 +#: common/models.py:1790 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/models.py:1810 +#: common/models.py:1796 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1812 +#: common/models.py:1798 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1818 common/models.py:1874 common/models.py:1896 -#: common/models.py:1932 +#: common/models.py:1804 common/models.py:1860 common/models.py:1882 +#: common/models.py:1918 msgid "Require Responsible Owner" msgstr "" -#: common/models.py:1819 common/models.py:1875 common/models.py:1897 -#: common/models.py:1933 +#: common/models.py:1805 common/models.py:1861 common/models.py:1883 +#: common/models.py:1919 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/models.py:1824 +#: common/models.py:1810 msgid "Require Active Part" msgstr "" -#: common/models.py:1825 +#: common/models.py:1811 msgid "Prevent build order creation for inactive parts" msgstr "" -#: common/models.py:1830 +#: common/models.py:1816 msgid "Require Locked Part" msgstr "" -#: common/models.py:1831 +#: common/models.py:1817 msgid "Prevent build order creation for unlocked parts" msgstr "" -#: common/models.py:1836 +#: common/models.py:1822 msgid "Require Valid BOM" msgstr "" -#: common/models.py:1838 +#: common/models.py:1824 msgid "Prevent build order creation unless BOM has been validated" msgstr "" -#: common/models.py:1844 +#: common/models.py:1830 msgid "Require Closed Child Orders" msgstr "" -#: common/models.py:1846 +#: common/models.py:1832 msgid "Prevent build order completion until all child orders are closed" msgstr "" -#: common/models.py:1852 +#: common/models.py:1838 msgid "Block Until Tests Pass" msgstr "" -#: common/models.py:1854 +#: common/models.py:1840 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "" -#: common/models.py:1860 +#: common/models.py:1846 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1861 +#: common/models.py:1847 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1866 +#: common/models.py:1852 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1868 +#: common/models.py:1854 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1880 +#: common/models.py:1866 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1882 +#: common/models.py:1868 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1888 +#: common/models.py:1874 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1890 +#: common/models.py:1876 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1902 +#: common/models.py:1888 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1903 +#: common/models.py:1889 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1908 +#: common/models.py:1894 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1910 +#: common/models.py:1896 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1916 +#: common/models.py:1902 msgid "Mark Shipped Orders as Complete" msgstr "" -#: common/models.py:1918 +#: common/models.py:1904 msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status" msgstr "" -#: common/models.py:1924 +#: common/models.py:1910 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1926 +#: common/models.py:1912 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1938 +#: common/models.py:1924 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1940 +#: common/models.py:1926 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1946 +#: common/models.py:1932 msgid "Auto Complete Purchase Orders" msgstr "" -#: common/models.py:1948 +#: common/models.py:1934 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/models.py:1955 +#: common/models.py:1941 msgid "Enable password forgot" msgstr "" -#: common/models.py:1956 +#: common/models.py:1942 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1961 +#: common/models.py:1947 msgid "Enable registration" msgstr "" -#: common/models.py:1962 +#: common/models.py:1948 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1967 +#: common/models.py:1953 msgid "Enable SSO" msgstr "" -#: common/models.py:1968 +#: common/models.py:1954 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1973 +#: common/models.py:1959 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1975 +#: common/models.py:1961 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1981 +#: common/models.py:1967 msgid "Enable SSO group sync" msgstr "" -#: common/models.py:1983 +#: common/models.py:1969 msgid "Enable synchronizing InvenTree groups with groups provided by the IdP" msgstr "" -#: common/models.py:1989 +#: common/models.py:1975 msgid "SSO group key" msgstr "" -#: common/models.py:1991 +#: common/models.py:1977 msgid "The name of the groups claim attribute provided by the IdP" msgstr "" -#: common/models.py:1997 +#: common/models.py:1983 msgid "SSO group map" msgstr "" -#: common/models.py:1999 +#: common/models.py:1985 msgid "A mapping from SSO groups to local InvenTree groups. If the local group does not exist, it will be created." msgstr "" -#: common/models.py:2005 +#: common/models.py:1991 msgid "Remove groups outside of SSO" msgstr "" -#: common/models.py:2007 +#: common/models.py:1993 msgid "Whether groups assigned to the user should be removed if they are not backend by the IdP. Disabling this setting might cause security issues" msgstr "" -#: common/models.py:2013 +#: common/models.py:1999 msgid "Email required" msgstr "" -#: common/models.py:2014 +#: common/models.py:2000 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:2019 +#: common/models.py:2005 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:2021 +#: common/models.py:2007 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:2027 +#: common/models.py:2013 msgid "Mail twice" msgstr "" -#: common/models.py:2028 +#: common/models.py:2014 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:2033 +#: common/models.py:2019 msgid "Password twice" msgstr "" -#: common/models.py:2034 +#: common/models.py:2020 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:2039 +#: common/models.py:2025 msgid "Allowed domains" msgstr "" -#: common/models.py:2041 +#: common/models.py:2027 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:2047 +#: common/models.py:2033 msgid "Group on signup" msgstr "" -#: common/models.py:2049 +#: common/models.py:2035 msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP." msgstr "" -#: common/models.py:2055 +#: common/models.py:2041 msgid "Enforce MFA" msgstr "" -#: common/models.py:2056 +#: common/models.py:2042 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:2061 +#: common/models.py:2047 msgid "Check plugins on startup" msgstr "" -#: common/models.py:2063 +#: common/models.py:2049 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:2071 +#: common/models.py:2057 msgid "Check for plugin updates" msgstr "" -#: common/models.py:2072 +#: common/models.py:2058 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:2078 +#: common/models.py:2064 msgid "Enable URL integration" msgstr "" -#: common/models.py:2079 +#: common/models.py:2065 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:2085 +#: common/models.py:2071 msgid "Enable navigation integration" msgstr "" -#: common/models.py:2086 +#: common/models.py:2072 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:2092 +#: common/models.py:2078 msgid "Enable app integration" msgstr "" -#: common/models.py:2093 +#: common/models.py:2079 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:2099 +#: common/models.py:2085 msgid "Enable schedule integration" msgstr "" -#: common/models.py:2100 +#: common/models.py:2086 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:2106 +#: common/models.py:2092 msgid "Enable event integration" msgstr "" -#: common/models.py:2107 +#: common/models.py:2093 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:2113 +#: common/models.py:2099 +msgid "Enable interface integration" +msgstr "" + +#: common/models.py:2100 +msgid "Enable plugins to integrate into the user interface" +msgstr "" + +#: common/models.py:2106 msgid "Enable project codes" msgstr "" -#: common/models.py:2114 +#: common/models.py:2107 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:2119 +#: common/models.py:2112 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:2121 +#: common/models.py:2114 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:2127 +#: common/models.py:2120 msgid "Exclude External Locations" msgstr "" -#: common/models.py:2129 +#: common/models.py:2122 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/models.py:2135 +#: common/models.py:2128 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:2137 +#: common/models.py:2130 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:2143 +#: common/models.py:2136 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:2145 +#: common/models.py:2138 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:2152 +#: common/models.py:2145 msgid "Display Users full names" msgstr "" -#: common/models.py:2153 +#: common/models.py:2146 msgid "Display Users full names instead of usernames" msgstr "" -#: common/models.py:2158 +#: common/models.py:2151 msgid "Enable Test Station Data" msgstr "" -#: common/models.py:2159 +#: common/models.py:2152 msgid "Enable test station data collection for test results" msgstr "" -#: common/models.py:2171 common/models.py:2551 +#: common/models.py:2157 +msgid "Create Template on Upload" +msgstr "" + +#: common/models.py:2159 +msgid "Create a new test template when uploading test data which does not match an existing template" +msgstr "" + +#: common/models.py:2172 common/models.py:2552 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:2214 +#: common/models.py:2215 msgid "Hide inactive parts" msgstr "" -#: common/models.py:2216 +#: common/models.py:2217 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:2222 +#: common/models.py:2223 msgid "Show subscribed parts" msgstr "" -#: common/models.py:2223 +#: common/models.py:2224 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:2228 +#: common/models.py:2229 msgid "Show subscribed categories" msgstr "" -#: common/models.py:2229 +#: common/models.py:2230 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:2234 +#: common/models.py:2235 msgid "Show latest parts" msgstr "" -#: common/models.py:2235 +#: common/models.py:2236 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:2240 +#: common/models.py:2241 msgid "Show invalid BOMs" msgstr "" -#: common/models.py:2241 +#: common/models.py:2242 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:2246 +#: common/models.py:2247 msgid "Show recent stock changes" msgstr "" -#: common/models.py:2247 +#: common/models.py:2248 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:2252 +#: common/models.py:2253 msgid "Show low stock" msgstr "" -#: common/models.py:2253 +#: common/models.py:2254 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:2258 +#: common/models.py:2259 msgid "Show depleted stock" msgstr "" -#: common/models.py:2259 +#: common/models.py:2260 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:2264 +#: common/models.py:2265 msgid "Show needed stock" msgstr "" -#: common/models.py:2265 +#: common/models.py:2266 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:2270 +#: common/models.py:2271 msgid "Show expired stock" msgstr "" -#: common/models.py:2271 +#: common/models.py:2272 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:2276 +#: common/models.py:2277 msgid "Show stale stock" msgstr "" -#: common/models.py:2277 +#: common/models.py:2278 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:2282 +#: common/models.py:2283 msgid "Show pending builds" msgstr "" -#: common/models.py:2283 +#: common/models.py:2284 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:2288 +#: common/models.py:2289 msgid "Show overdue builds" msgstr "" -#: common/models.py:2289 +#: common/models.py:2290 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:2294 +#: common/models.py:2295 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2295 +#: common/models.py:2296 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2300 +#: common/models.py:2301 msgid "Show overdue POs" msgstr "" -#: common/models.py:2301 +#: common/models.py:2302 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2306 +#: common/models.py:2307 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2307 +#: common/models.py:2308 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2312 +#: common/models.py:2313 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2313 +#: common/models.py:2314 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2318 +#: common/models.py:2319 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2319 +#: common/models.py:2320 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2324 +#: common/models.py:2325 msgid "Show News" msgstr "" -#: common/models.py:2325 +#: common/models.py:2326 msgid "Show news on the homepage" msgstr "" -#: common/models.py:2330 +#: common/models.py:2331 msgid "Inline label display" msgstr "" -#: common/models.py:2332 +#: common/models.py:2333 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2338 +#: common/models.py:2339 msgid "Default label printer" msgstr "" -#: common/models.py:2340 +#: common/models.py:2341 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2346 +#: common/models.py:2347 msgid "Inline report display" msgstr "" -#: common/models.py:2348 +#: common/models.py:2349 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2354 +#: common/models.py:2355 msgid "Search Parts" msgstr "" -#: common/models.py:2355 +#: common/models.py:2356 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2360 +#: common/models.py:2361 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2361 +#: common/models.py:2362 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2366 +#: common/models.py:2367 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2367 +#: common/models.py:2368 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2372 +#: common/models.py:2373 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2373 +#: common/models.py:2374 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2378 +#: common/models.py:2379 msgid "Search Categories" msgstr "" -#: common/models.py:2379 +#: common/models.py:2380 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2384 +#: common/models.py:2385 msgid "Search Stock" msgstr "" -#: common/models.py:2385 +#: common/models.py:2386 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2390 +#: common/models.py:2391 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2392 +#: common/models.py:2393 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2398 +#: common/models.py:2399 msgid "Search Locations" msgstr "" -#: common/models.py:2399 +#: common/models.py:2400 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2404 +#: common/models.py:2405 msgid "Search Companies" msgstr "" -#: common/models.py:2405 +#: common/models.py:2406 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2410 +#: common/models.py:2411 msgid "Search Build Orders" msgstr "" -#: common/models.py:2411 +#: common/models.py:2412 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2416 +#: common/models.py:2417 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2417 +#: common/models.py:2418 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2422 +#: common/models.py:2423 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2424 +#: common/models.py:2425 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2430 +#: common/models.py:2431 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2431 +#: common/models.py:2432 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2436 +#: common/models.py:2437 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2438 +#: common/models.py:2439 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2444 +#: common/models.py:2445 msgid "Search Return Orders" msgstr "" -#: common/models.py:2445 +#: common/models.py:2446 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2450 +#: common/models.py:2451 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2452 +#: common/models.py:2453 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2458 +#: common/models.py:2459 msgid "Search Preview Results" msgstr "" -#: common/models.py:2460 +#: common/models.py:2461 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2466 +#: common/models.py:2467 msgid "Regex Search" msgstr "" -#: common/models.py:2467 +#: common/models.py:2468 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2472 +#: common/models.py:2473 msgid "Whole Word Search" msgstr "" -#: common/models.py:2473 +#: common/models.py:2474 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2478 +#: common/models.py:2479 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2479 +#: common/models.py:2480 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2484 +#: common/models.py:2485 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2485 +#: common/models.py:2486 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2490 +#: common/models.py:2491 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2491 +#: common/models.py:2492 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2496 +#: common/models.py:2497 msgid "Date Format" msgstr "" -#: common/models.py:2497 +#: common/models.py:2498 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2510 part/templates/part/detail.html:41 +#: common/models.py:2511 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2511 +#: common/models.py:2512 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2516 part/templates/part/detail.html:62 +#: common/models.py:2517 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2518 +#: common/models.py:2519 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2524 +#: common/models.py:2525 msgid "Table String Length" msgstr "" -#: common/models.py:2526 +#: common/models.py:2527 msgid "Maximum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2532 +#: common/models.py:2533 msgid "Receive error reports" msgstr "" -#: common/models.py:2533 +#: common/models.py:2534 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2538 +#: common/models.py:2539 msgid "Last used printing machines" msgstr "" -#: common/models.py:2539 +#: common/models.py:2540 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2559 common/models.py:2560 common/models.py:2717 -#: common/models.py:2718 common/models.py:2963 common/models.py:2964 -#: common/models.py:3287 common/models.py:3288 importer/models.py:89 -#: part/models.py:3319 part/models.py:3406 part/models.py:3480 -#: part/models.py:3508 plugin/models.py:274 plugin/models.py:275 +#: common/models.py:2560 common/models.py:2561 common/models.py:2718 +#: common/models.py:2719 common/models.py:2964 common/models.py:2965 +#: common/models.py:3288 common/models.py:3289 importer/models.py:89 +#: part/models.py:3306 part/models.py:3393 part/models.py:3467 +#: part/models.py:3495 plugin/models.py:274 plugin/models.py:275 #: report/templates/report/inventree_test_report.html:105 #: templates/js/translated/stock.js:3121 users/models.py:111 msgid "User" msgstr "" -#: common/models.py:2582 +#: common/models.py:2583 msgid "Price break quantity" msgstr "" -#: common/models.py:2589 company/serializers.py:517 order/admin.py:42 +#: common/models.py:2590 company/serializers.py:517 order/admin.py:42 #: order/models.py:1423 order/models.py:2410 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1892 #: templates/js/translated/pricing.js:621 @@ -3747,96 +3744,96 @@ msgstr "" msgid "Price" msgstr "" -#: common/models.py:2590 +#: common/models.py:2591 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2694 common/models.py:2879 +#: common/models.py:2695 common/models.py:2880 msgid "Endpoint" msgstr "" -#: common/models.py:2695 +#: common/models.py:2696 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2705 +#: common/models.py:2706 msgid "Name for this webhook" msgstr "" -#: common/models.py:2709 +#: common/models.py:2710 msgid "Is this webhook active" msgstr "" -#: common/models.py:2725 users/models.py:159 +#: common/models.py:2726 users/models.py:159 msgid "Token" msgstr "" -#: common/models.py:2726 +#: common/models.py:2727 msgid "Token for access" msgstr "" -#: common/models.py:2734 +#: common/models.py:2735 msgid "Secret" msgstr "" -#: common/models.py:2735 +#: common/models.py:2736 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2843 +#: common/models.py:2844 msgid "Message ID" msgstr "" -#: common/models.py:2844 +#: common/models.py:2845 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2852 +#: common/models.py:2853 msgid "Host" msgstr "" -#: common/models.py:2853 +#: common/models.py:2854 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2861 +#: common/models.py:2862 msgid "Header" msgstr "" -#: common/models.py:2862 +#: common/models.py:2863 msgid "Header of this message" msgstr "" -#: common/models.py:2869 +#: common/models.py:2870 msgid "Body" msgstr "" -#: common/models.py:2870 +#: common/models.py:2871 msgid "Body of this message" msgstr "" -#: common/models.py:2880 +#: common/models.py:2881 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2885 +#: common/models.py:2886 msgid "Worked on" msgstr "" -#: common/models.py:2886 +#: common/models.py:2887 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:3012 +#: common/models.py:3013 msgid "Id" msgstr "" -#: common/models.py:3014 templates/js/translated/company.js:965 +#: common/models.py:3015 templates/js/translated/company.js:965 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:3016 common/models.py:3271 company/models.py:146 +#: common/models.py:3017 common/models.py:3272 company/models.py:146 #: company/models.py:443 company/models.py:509 company/models.py:815 #: order/models.py:303 order/models.py:1378 order/models.py:1810 #: part/admin.py:55 part/models.py:1069 @@ -3853,217 +3850,217 @@ msgstr "" msgid "Link" msgstr "" -#: common/models.py:3018 templates/js/translated/news.js:60 +#: common/models.py:3019 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:3020 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:3021 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:103 msgid "Author" msgstr "" -#: common/models.py:3022 templates/js/translated/news.js:52 +#: common/models.py:3023 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:3025 +#: common/models.py:3026 msgid "Read" msgstr "" -#: common/models.py:3025 +#: common/models.py:3026 msgid "Was this news item read?" msgstr "" -#: common/models.py:3042 company/models.py:156 part/models.py:1079 +#: common/models.py:3043 company/models.py:156 part/models.py:1079 #: 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.html:35 -#: stock/templates/stock/item_base.html:133 templates/503.html:31 +#: stock/templates/stock/item_base.html:129 templates/503.html:31 #: templates/hover_image.html:7 templates/hover_image.html:9 #: templates/modals.html:6 msgid "Image" msgstr "" -#: common/models.py:3042 +#: common/models.py:3043 msgid "Image file" msgstr "" -#: common/models.py:3054 common/models.py:3255 +#: common/models.py:3055 common/models.py:3256 msgid "Target model type for this image" msgstr "" -#: common/models.py:3058 +#: common/models.py:3059 msgid "Target model ID for this image" msgstr "" -#: common/models.py:3080 +#: common/models.py:3081 msgid "Custom Unit" msgstr "" -#: common/models.py:3098 +#: common/models.py:3099 msgid "Unit symbol must be unique" msgstr "" -#: common/models.py:3113 +#: common/models.py:3114 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:3132 +#: common/models.py:3133 msgid "Unit name" msgstr "" -#: common/models.py:3139 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3140 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:3140 +#: common/models.py:3141 msgid "Optional unit symbol" msgstr "" -#: common/models.py:3146 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3147 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:3147 +#: common/models.py:3148 msgid "Unit definition" msgstr "" -#: common/models.py:3205 common/models.py:3262 stock/models.py:2552 +#: common/models.py:3206 common/models.py:3263 stock/models.py:2547 #: stock/serializers.py:244 templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:345 msgid "Attachment" msgstr "" -#: common/models.py:3217 +#: common/models.py:3218 msgid "Missing file" msgstr "" -#: common/models.py:3218 +#: common/models.py:3219 msgid "Missing external link" msgstr "" -#: common/models.py:3263 +#: common/models.py:3264 msgid "Select file to attach" msgstr "" -#: common/models.py:3278 templates/js/translated/attachment.js:120 +#: common/models.py:3279 templates/js/translated/attachment.js:120 #: templates/js/translated/attachment.js:360 msgid "Comment" msgstr "" -#: common/models.py:3279 +#: common/models.py:3280 msgid "Attachment comment" msgstr "" -#: common/models.py:3295 +#: common/models.py:3296 msgid "Upload date" msgstr "" -#: common/models.py:3296 +#: common/models.py:3297 msgid "Date the file was uploaded" msgstr "" -#: common/models.py:3300 +#: common/models.py:3301 msgid "File size" msgstr "" -#: common/models.py:3300 +#: common/models.py:3301 msgid "File size in bytes" msgstr "" -#: common/models.py:3338 common/serializers.py:588 +#: common/models.py:3339 common/serializers.py:604 msgid "Invalid model type specified for attachment" msgstr "" -#: common/models.py:3347 plugin/models.py:43 users/models.py:100 +#: common/models.py:3348 plugin/models.py:43 users/models.py:100 msgid "Key" msgstr "" -#: common/models.py:3348 +#: common/models.py:3349 msgid "Value that will be saved in the models database" msgstr "" -#: common/models.py:3351 +#: common/models.py:3352 msgid "Name of the state" msgstr "" -#: common/models.py:3355 +#: common/models.py:3356 msgid "Label" msgstr "" -#: common/models.py:3356 +#: common/models.py:3357 msgid "Label that will be displayed in the frontend" msgstr "" -#: common/models.py:3362 +#: common/models.py:3363 msgid "Color" msgstr "" -#: common/models.py:3363 +#: common/models.py:3364 msgid "Color that will be displayed in the frontend" msgstr "" -#: common/models.py:3366 +#: common/models.py:3367 msgid "Logical Key" msgstr "" -#: common/models.py:3368 +#: common/models.py:3369 msgid "State logical key that is equal to this custom state in business logic" msgstr "" -#: common/models.py:3376 +#: common/models.py:3377 msgid "Model" msgstr "" -#: common/models.py:3377 +#: common/models.py:3378 msgid "Model this state is associated with" msgstr "" -#: common/models.py:3381 +#: common/models.py:3382 msgid "Reference Status Set" msgstr "" -#: common/models.py:3382 +#: common/models.py:3383 msgid "Status set that is extended with this custom state" msgstr "" -#: common/models.py:3388 +#: common/models.py:3389 msgid "Custom State" msgstr "" -#: common/models.py:3389 +#: common/models.py:3390 msgid "Custom States" msgstr "" -#: common/models.py:3404 +#: common/models.py:3405 msgid "Model must be selected" msgstr "" -#: common/models.py:3407 +#: common/models.py:3408 msgid "Key must be selected" msgstr "" -#: common/models.py:3410 +#: common/models.py:3411 msgid "Logical key must be selected" msgstr "" -#: common/models.py:3414 +#: common/models.py:3415 msgid "Key must be different from logical key" msgstr "" -#: common/models.py:3418 +#: common/models.py:3419 msgid "Reference status must be selected" msgstr "" -#: common/models.py:3430 +#: common/models.py:3431 msgid "Reference status set not found" msgstr "" -#: common/models.py:3436 +#: common/models.py:3437 msgid "Key must be different from the logical keys of the reference status" msgstr "" -#: common/models.py:3442 +#: common/models.py:3443 msgid "Logical key must be in the logical keys of the reference status" msgstr "" @@ -4101,75 +4098,75 @@ msgstr "" msgid "Error raised by plugin" msgstr "" -#: common/serializers.py:402 +#: common/serializers.py:418 msgid "Is Running" msgstr "" -#: common/serializers.py:408 +#: common/serializers.py:424 msgid "Pending Tasks" msgstr "" -#: common/serializers.py:414 +#: common/serializers.py:430 msgid "Scheduled Tasks" msgstr "" -#: common/serializers.py:420 +#: common/serializers.py:436 msgid "Failed Tasks" msgstr "" -#: common/serializers.py:435 +#: common/serializers.py:451 msgid "Task ID" msgstr "" -#: common/serializers.py:435 +#: common/serializers.py:451 msgid "Unique task ID" msgstr "" -#: common/serializers.py:437 +#: common/serializers.py:453 msgid "Lock" msgstr "" -#: common/serializers.py:437 +#: common/serializers.py:453 msgid "Lock time" msgstr "" -#: common/serializers.py:439 +#: common/serializers.py:455 msgid "Task name" msgstr "" -#: common/serializers.py:441 +#: common/serializers.py:457 msgid "Function" msgstr "" -#: common/serializers.py:441 +#: common/serializers.py:457 msgid "Function name" msgstr "" -#: common/serializers.py:443 +#: common/serializers.py:459 msgid "Arguments" msgstr "" -#: common/serializers.py:443 +#: common/serializers.py:459 msgid "Task arguments" msgstr "" -#: common/serializers.py:446 +#: common/serializers.py:462 msgid "Keyword Arguments" msgstr "" -#: common/serializers.py:446 +#: common/serializers.py:462 msgid "Task keyword arguments" msgstr "" -#: common/serializers.py:556 +#: common/serializers.py:572 msgid "Filename" msgstr "" -#: common/serializers.py:563 report/api.py:100 report/serializers.py:53 +#: common/serializers.py:579 report/api.py:100 report/serializers.py:54 msgid "Model Type" msgstr "" -#: common/serializers.py:591 +#: common/serializers.py:607 msgid "User does not have permission to create or edit attachments for this model" msgstr "" @@ -4447,12 +4444,12 @@ msgstr "" #: company/models.py:467 company/models.py:584 company/models.py:808 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 -#: stock/templates/stock/item_base.html:217 +#: stock/templates/stock/item_base.html:213 msgid "Manufacturer Part" msgstr "" #: company/models.py:484 company/models.py:776 stock/models.py:791 -#: stock/serializers.py:452 stock/templates/stock/item_base.html:142 +#: stock/serializers.py:452 stock/templates/stock/item_base.html:138 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" @@ -4463,8 +4460,8 @@ msgstr "" #: company/models.py:495 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:567 -#: stock/templates/stock/item_base.html:207 +#: company/templates/company/supplier_part.html:145 part/serializers.py:565 +#: stock/templates/stock/item_base.html:203 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 #: templates/js/translated/company.js:1296 @@ -4479,7 +4476,7 @@ msgstr "" #: company/models.py:502 company/templates/company/manufacturer_part.html:101 #: company/templates/company/supplier_part.html:153 order/serializers.py:557 -#: part/serializers.py:577 templates/js/translated/company.js:351 +#: part/serializers.py:575 templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 #: templates/js/translated/company.js:1630 templates/js/translated/part.js:1807 @@ -4505,7 +4502,7 @@ msgid "Parameter name" msgstr "" #: company/models.py:597 report/templates/report/inventree_test_report.html:104 -#: stock/models.py:2544 templates/js/translated/company.js:1166 +#: stock/models.py:2539 templates/js/translated/company.js:1166 #: templates/js/translated/company.js:1419 templates/js/translated/part.js:1499 #: templates/js/translated/stock.js:1607 msgid "Value" @@ -4516,7 +4513,7 @@ msgid "Parameter value" msgstr "" #: company/models.py:605 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1159 part/models.py:3783 +#: part/admin.py:57 part/models.py:1159 part/models.py:3770 #: part/templates/part/part_base.html:300 #: templates/js/translated/company.js:1425 templates/js/translated/part.js:1518 #: templates/js/translated/part.js:1622 templates/js/translated/part.js:2376 @@ -4530,7 +4527,7 @@ msgstr "" #: company/models.py:659 company/templates/company/supplier_part.html:7 #: company/templates/company/supplier_part.html:24 order/api.py:440 #: order/serializers.py:492 stock/models.py:802 -#: stock/templates/stock/item_base.html:233 +#: stock/templates/stock/item_base.html:229 #: templates/js/translated/build.js:1055 #: templates/js/translated/company.js:1600 #: templates/js/translated/purchase_order.js:752 @@ -4553,9 +4550,9 @@ msgstr "" #: company/models.py:786 company/templates/company/company_base.html:87 #: company/templates/company/supplier_part.html:129 order/models.py:492 #: order/templates/order/order_base.html:141 part/bom.py:279 part/bom.py:314 -#: part/serializers.py:551 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:549 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 -#: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 +#: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:220 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:511 @@ -4570,7 +4567,7 @@ msgstr "" msgid "Select supplier" msgstr "" -#: company/models.py:793 part/serializers.py:562 +#: company/models.py:793 part/serializers.py:560 msgid "Supplier stock keeping unit" msgstr "" @@ -4591,7 +4588,7 @@ msgid "Supplier part description" msgstr "" #: company/models.py:832 company/templates/company/supplier_part.html:187 -#: order/serializers.py:699 part/admin.py:415 part/models.py:4301 +#: order/serializers.py:699 part/admin.py:415 part/models.py:4288 #: part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 @@ -4603,11 +4600,11 @@ msgstr "" msgid "Note" msgstr "" -#: company/models.py:841 part/models.py:2129 +#: company/models.py:841 part/models.py:2128 msgid "base cost" msgstr "" -#: company/models.py:842 part/models.py:2130 +#: company/models.py:842 part/models.py:2129 msgid "Minimum charge (e.g. stocking fee)" msgstr "" @@ -4629,7 +4626,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:876 part/models.py:2136 +#: company/models.py:876 part/models.py:2135 msgid "multiple" msgstr "" @@ -4661,7 +4658,7 @@ msgstr "" msgid "Company Name" msgstr "" -#: company/serializers.py:397 part/admin.py:126 part/serializers.py:919 +#: company/serializers.py:397 part/admin.py:126 part/serializers.py:917 #: part/templates/part/part_base.html:197 #: templates/js/translated/company.js:1689 #: templates/js/translated/table_filters.js:362 @@ -4735,7 +4732,7 @@ msgstr "" #: order/models.py:2140 order/templates/order/return_order_base.html:134 #: order/templates/order/sales_order_base.html:151 stock/models.py:844 #: stock/models.py:845 stock/serializers.py:1336 -#: stock/templates/stock/item_base.html:405 +#: stock/templates/stock/item_base.html:401 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 #: templates/js/translated/return_order.js:295 @@ -4939,7 +4936,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:925 +#: part/admin.py:122 part/serializers.py:923 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -5030,7 +5027,7 @@ msgid "No supplier information available" msgstr "" #: company/templates/company/supplier_part.html:139 order/serializers.py:554 -#: part/bom.py:286 part/bom.py:315 part/serializers.py:561 +#: part/bom.py:286 part/bom.py:315 part/serializers.py:559 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1793 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1920 @@ -5084,7 +5081,7 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:923 part/stocktake.py:223 +#: part/serializers.py:921 part/stocktake.py:223 #: part/templates/part/category.html:180 #: part/templates/part/category_sidebar.html:17 stock/admin.py:68 #: stock/serializers.py:1021 stock/serializers.py:1199 @@ -5215,7 +5212,7 @@ msgstr "" msgid "Original row data" msgstr "" -#: importer/models.py:504 part/models.py:3965 +#: importer/models.py:504 part/models.py:3952 msgid "Data" msgstr "" @@ -5473,7 +5470,7 @@ msgstr "" #: order/models.py:1592 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_purchase_order_report.html:14 -#: stock/serializers.py:121 stock/templates/stock/item_base.html:176 +#: stock/serializers.py:121 stock/templates/stock/item_base.html:172 #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/part.js:1752 templates/js/translated/pricing.js:804 #: templates/js/translated/purchase_order.js:168 @@ -5694,7 +5691,7 @@ msgid "Number of items received" msgstr "" #: order/models.py:1513 stock/models.py:963 stock/serializers.py:617 -#: stock/templates/stock/item_base.html:183 +#: stock/templates/stock/item_base.html:179 #: templates/js/translated/stock.js:2397 msgid "Purchase Price" msgstr "" @@ -5768,7 +5765,7 @@ msgid "User who checked this shipment" msgstr "" #: order/models.py:1788 order/models.py:2011 order/serializers.py:1479 -#: order/serializers.py:1589 templates/js/translated/model_renderers.js:455 +#: order/serializers.py:1597 templates/js/translated/model_renderers.js:455 msgid "Shipment" msgstr "" @@ -5982,7 +5979,7 @@ msgstr "" msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:656 order/serializers.py:779 order/serializers.py:1790 +#: order/serializers.py:656 order/serializers.py:779 order/serializers.py:1798 msgid "Select destination location for received items" msgstr "" @@ -6019,7 +6016,7 @@ msgstr "" msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:795 order/serializers.py:1806 +#: order/serializers.py:795 order/serializers.py:1814 msgid "Line items must be provided" msgstr "" @@ -6051,39 +6048,39 @@ msgstr "" msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1491 order/serializers.py:1597 +#: order/serializers.py:1491 order/serializers.py:1605 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1494 order/serializers.py:1600 +#: order/serializers.py:1494 order/serializers.py:1608 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1541 +#: order/serializers.py:1549 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1548 -msgid "The following serial numbers are already allocated" +#: order/serializers.py:1556 +msgid "The following serial numbers are unavailable" msgstr "" -#: order/serializers.py:1760 +#: order/serializers.py:1768 msgid "Return order line item" msgstr "" -#: order/serializers.py:1766 +#: order/serializers.py:1774 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1769 +#: order/serializers.py:1777 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1798 +#: order/serializers.py:1806 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1881 +#: order/serializers.py:1889 msgid "Line price currency" msgstr "" @@ -6510,7 +6507,7 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:48 part/models.py:1044 part/serializers.py:908 +#: part/admin.py:48 part/models.py:1044 part/serializers.py:906 #: part/templates/part/part_base.html:276 #: report/templates/report/inventree_stock_location_report.html:103 #: templates/js/translated/part.js:1233 templates/js/translated/part.js:2347 @@ -6537,7 +6534,7 @@ msgstr "" msgid "Category ID" msgstr "" -#: part/admin.py:67 part/admin.py:304 part/serializers.py:893 +#: part/admin.py:67 part/admin.py:304 part/serializers.py:891 #: part/stocktake.py:222 msgid "Category Name" msgstr "" @@ -6562,18 +6559,18 @@ msgstr "" msgid "Used In" msgstr "" -#: part/admin.py:150 part/serializers.py:918 +#: part/admin.py:150 part/serializers.py:916 #: part/templates/part/part_base.html:248 stock/admin.py:236 #: templates/js/translated/part.js:717 templates/js/translated/part.js:2159 msgid "Building" msgstr "" -#: part/admin.py:155 part/models.py:3214 part/models.py:3228 +#: part/admin.py:155 part/models.py:3201 part/models.py:3215 #: templates/js/translated/part.js:976 msgid "Minimum Cost" msgstr "" -#: part/admin.py:158 part/models.py:3221 part/models.py:3235 +#: part/admin.py:158 part/models.py:3208 part/models.py:3222 #: templates/js/translated/part.js:986 msgid "Maximum Cost" msgstr "" @@ -6592,7 +6589,7 @@ msgid "Category Path" msgstr "" #: part/admin.py:325 part/models.py:420 part/serializers.py:130 -#: part/serializers.py:290 part/serializers.py:428 +#: part/serializers.py:290 part/serializers.py:426 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:20 #: part/templates/part/category.html:138 part/templates/part/category.html:158 #: part/templates/part/category_sidebar.html:9 @@ -6619,13 +6616,13 @@ msgstr "" msgid "Part Revision" msgstr "" -#: part/admin.py:418 part/serializers.py:1367 +#: part/admin.py:418 part/serializers.py:1365 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:423 part/serializers.py:1382 +#: part/admin.py:423 part/serializers.py:1380 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -6719,8 +6716,8 @@ msgstr "" msgid "BOM Valid" msgstr "" -#: part/api.py:1520 part/models.py:1036 part/models.py:3501 part/models.py:4060 -#: part/serializers.py:443 part/serializers.py:1223 +#: part/api.py:1520 part/models.py:1036 part/models.py:3488 part/models.py:4047 +#: part/serializers.py:441 part/serializers.py:1221 #: part/templates/part/part_base.html:267 stock/api.py:780 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 @@ -6746,7 +6743,7 @@ msgstr "" msgid "Default Location" msgstr "" -#: part/bom.py:184 part/serializers.py:926 +#: part/bom.py:184 part/serializers.py:924 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -6755,7 +6752,7 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:89 part/models.py:4061 part/templates/part/category.html:16 +#: part/models.py:89 part/models.py:4048 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -6878,7 +6875,7 @@ msgstr "" msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:995 part/models.py:4116 +#: part/models.py:995 part/models.py:4103 msgid "Part name" msgstr "" @@ -6906,7 +6903,7 @@ msgstr "" msgid "Part category" msgstr "" -#: part/models.py:1052 part/serializers.py:360 +#: part/models.py:1052 msgid "Part revision or version number" msgstr "" @@ -7012,164 +7009,164 @@ msgid "Owner responsible for this part" msgstr "" #: part/models.py:1264 part/templates/part/part_base.html:355 -#: stock/templates/stock/item_base.html:451 +#: stock/templates/stock/item_base.html:447 #: templates/js/translated/part.js:2490 msgid "Last Stocktake" msgstr "" -#: part/models.py:2137 +#: part/models.py:2136 msgid "Sell multiple" msgstr "" -#: part/models.py:3128 +#: part/models.py:3115 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3144 +#: part/models.py:3131 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3145 +#: part/models.py:3132 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3151 +#: part/models.py:3138 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3152 +#: part/models.py:3139 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3158 +#: part/models.py:3145 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3159 +#: part/models.py:3146 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3165 +#: part/models.py:3152 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3166 +#: part/models.py:3153 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3172 +#: part/models.py:3159 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3173 +#: part/models.py:3160 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3179 +#: part/models.py:3166 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3180 +#: part/models.py:3167 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3186 +#: part/models.py:3173 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3187 +#: part/models.py:3174 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3193 +#: part/models.py:3180 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3194 +#: part/models.py:3181 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3200 +#: part/models.py:3187 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3201 +#: part/models.py:3188 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3207 +#: part/models.py:3194 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3208 +#: part/models.py:3195 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3215 +#: part/models.py:3202 msgid "Override minimum cost" msgstr "" -#: part/models.py:3222 +#: part/models.py:3209 msgid "Override maximum cost" msgstr "" -#: part/models.py:3229 +#: part/models.py:3216 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3236 +#: part/models.py:3223 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3242 +#: part/models.py:3229 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3243 +#: part/models.py:3230 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3249 +#: part/models.py:3236 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3250 +#: part/models.py:3237 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3256 +#: part/models.py:3243 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3257 +#: part/models.py:3244 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3263 +#: part/models.py:3250 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3264 +#: part/models.py:3251 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3283 +#: part/models.py:3270 msgid "Part for stocktake" msgstr "" -#: part/models.py:3288 +#: part/models.py:3275 msgid "Item Count" msgstr "" -#: part/models.py:3289 +#: part/models.py:3276 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3297 +#: part/models.py:3284 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3301 part/models.py:3384 +#: part/models.py:3288 part/models.py:3371 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -7181,363 +7178,363 @@ msgstr "" msgid "Date" msgstr "" -#: part/models.py:3302 +#: part/models.py:3289 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3310 +#: part/models.py:3297 msgid "Additional notes" msgstr "" -#: part/models.py:3320 +#: part/models.py:3307 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3326 +#: part/models.py:3313 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3327 +#: part/models.py:3314 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3333 +#: part/models.py:3320 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3334 +#: part/models.py:3321 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3390 templates/InvenTree/settings/settings_staff_js.html:532 +#: part/models.py:3377 templates/InvenTree/settings/settings_staff_js.html:532 msgid "Report" msgstr "" -#: part/models.py:3391 +#: part/models.py:3378 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3396 templates/InvenTree/settings/settings_staff_js.html:539 +#: part/models.py:3383 templates/InvenTree/settings/settings_staff_js.html:539 msgid "Part Count" msgstr "" -#: part/models.py:3397 +#: part/models.py:3384 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3407 +#: part/models.py:3394 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3417 +#: part/models.py:3404 msgid "Part Sale Price Break" msgstr "" -#: part/models.py:3529 +#: part/models.py:3516 msgid "Part Test Template" msgstr "" -#: part/models.py:3555 +#: part/models.py:3542 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3576 part/models.py:3745 +#: part/models.py:3563 part/models.py:3732 msgid "Choices must be unique" msgstr "" -#: part/models.py:3587 +#: part/models.py:3574 msgid "Test templates can only be created for testable parts" msgstr "" -#: part/models.py:3598 +#: part/models.py:3585 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3615 templates/js/translated/part.js:2898 +#: part/models.py:3602 templates/js/translated/part.js:2898 msgid "Test Name" msgstr "" -#: part/models.py:3616 +#: part/models.py:3603 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3622 +#: part/models.py:3609 msgid "Test Key" msgstr "" -#: part/models.py:3623 +#: part/models.py:3610 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3630 +#: part/models.py:3617 msgid "Test Description" msgstr "" -#: part/models.py:3631 +#: part/models.py:3618 msgid "Enter description for this test" msgstr "" -#: part/models.py:3635 report/models.py:208 +#: part/models.py:3622 report/models.py:216 #: templates/js/translated/part.js:2919 #: templates/js/translated/table_filters.js:502 msgid "Enabled" msgstr "" -#: part/models.py:3635 +#: part/models.py:3622 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3640 templates/js/translated/part.js:2927 +#: part/models.py:3627 templates/js/translated/part.js:2927 #: templates/js/translated/table_filters.js:498 msgid "Required" msgstr "" -#: part/models.py:3641 +#: part/models.py:3628 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3646 templates/js/translated/part.js:2935 +#: part/models.py:3633 templates/js/translated/part.js:2935 msgid "Requires Value" msgstr "" -#: part/models.py:3647 +#: part/models.py:3634 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3652 templates/js/translated/part.js:2942 +#: part/models.py:3639 templates/js/translated/part.js:2942 msgid "Requires Attachment" msgstr "" -#: part/models.py:3654 +#: part/models.py:3641 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3660 part/models.py:3804 templates/js/translated/part.js:1643 +#: part/models.py:3647 part/models.py:3791 templates/js/translated/part.js:1643 msgid "Choices" msgstr "" -#: part/models.py:3661 +#: part/models.py:3648 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3693 +#: part/models.py:3680 msgid "Part Parameter Template" msgstr "" -#: part/models.py:3720 +#: part/models.py:3707 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3725 +#: part/models.py:3712 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3762 +#: part/models.py:3749 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3777 +#: part/models.py:3764 msgid "Parameter Name" msgstr "" -#: part/models.py:3784 +#: part/models.py:3771 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3792 +#: part/models.py:3779 msgid "Parameter description" msgstr "" -#: part/models.py:3798 templates/js/translated/part.js:1634 +#: part/models.py:3785 templates/js/translated/part.js:1634 #: templates/js/translated/table_filters.js:837 msgid "Checkbox" msgstr "" -#: part/models.py:3799 +#: part/models.py:3786 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3805 +#: part/models.py:3792 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3839 +#: part/models.py:3826 msgid "Part Parameter" msgstr "" -#: part/models.py:3865 +#: part/models.py:3852 msgid "Parameter cannot be modified - part is locked" msgstr "" -#: part/models.py:3903 +#: part/models.py:3890 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3952 +#: part/models.py:3939 msgid "Parent Part" msgstr "" -#: part/models.py:3960 part/models.py:4068 part/models.py:4069 +#: part/models.py:3947 part/models.py:4055 part/models.py:4056 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3966 +#: part/models.py:3953 msgid "Parameter Value" msgstr "" -#: part/models.py:4016 +#: part/models.py:4003 msgid "Part Category Parameter Template" msgstr "" -#: part/models.py:4075 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:4062 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:4076 +#: part/models.py:4063 msgid "Default Parameter Value" msgstr "" -#: part/models.py:4114 +#: part/models.py:4101 msgid "Part ID or part name" msgstr "" -#: part/models.py:4115 +#: part/models.py:4102 msgid "Unique part ID value" msgstr "" -#: part/models.py:4117 +#: part/models.py:4104 msgid "Part IPN value" msgstr "" -#: part/models.py:4118 +#: part/models.py:4105 msgid "Level" msgstr "" -#: part/models.py:4118 +#: part/models.py:4105 msgid "BOM level" msgstr "" -#: part/models.py:4228 +#: part/models.py:4215 msgid "BOM item cannot be modified - assembly is locked" msgstr "" -#: part/models.py:4235 +#: part/models.py:4222 msgid "BOM item cannot be modified - variant assembly is locked" msgstr "" -#: part/models.py:4245 +#: part/models.py:4232 msgid "Select parent part" msgstr "" -#: part/models.py:4255 +#: part/models.py:4242 msgid "Sub part" msgstr "" -#: part/models.py:4256 +#: part/models.py:4243 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4267 +#: part/models.py:4254 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4273 +#: part/models.py:4260 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4279 +#: part/models.py:4266 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4286 part/templates/part/upload_bom.html:55 +#: part/models.py:4273 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4287 +#: part/models.py:4274 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4294 +#: part/models.py:4281 msgid "BOM item reference" msgstr "" -#: part/models.py:4302 +#: part/models.py:4289 msgid "BOM item notes" msgstr "" -#: part/models.py:4308 +#: part/models.py:4295 msgid "Checksum" msgstr "" -#: part/models.py:4309 +#: part/models.py:4296 msgid "BOM line checksum" msgstr "" -#: part/models.py:4314 templates/js/translated/table_filters.js:181 +#: part/models.py:4301 templates/js/translated/table_filters.js:181 msgid "Validated" msgstr "" -#: part/models.py:4315 +#: part/models.py:4302 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4320 part/templates/part/upload_bom.html:57 +#: part/models.py:4307 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:185 #: templates/js/translated/table_filters.js:218 msgid "Gets inherited" msgstr "" -#: part/models.py:4321 +#: part/models.py:4308 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4327 +#: part/models.py:4314 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4412 stock/models.py:689 +#: part/models.py:4399 stock/models.py:689 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4422 part/models.py:4424 +#: part/models.py:4409 part/models.py:4411 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4561 +#: part/models.py:4554 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4582 +#: part/models.py:4575 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4595 +#: part/models.py:4588 msgid "Parent BOM item" msgstr "" -#: part/models.py:4603 +#: part/models.py:4596 msgid "Substitute part" msgstr "" -#: part/models.py:4619 +#: part/models.py:4612 msgid "Part 1" msgstr "" -#: part/models.py:4627 +#: part/models.py:4620 msgid "Part 2" msgstr "" -#: part/models.py:4628 +#: part/models.py:4621 msgid "Select Related Part" msgstr "" -#: part/models.py:4647 +#: part/models.py:4640 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4652 +#: part/models.py:4645 msgid "Duplicate relationship already exists" msgstr "" @@ -7571,326 +7568,326 @@ msgstr "" msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:434 +#: part/serializers.py:432 msgid "No parts selected" msgstr "" -#: part/serializers.py:444 +#: part/serializers.py:442 msgid "Select category" msgstr "" -#: part/serializers.py:479 +#: part/serializers.py:477 msgid "Original Part" msgstr "" -#: part/serializers.py:480 +#: part/serializers.py:478 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:485 +#: part/serializers.py:483 msgid "Copy Image" msgstr "" -#: part/serializers.py:486 +#: part/serializers.py:484 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:492 part/templates/part/detail.html:293 +#: part/serializers.py:490 part/templates/part/detail.html:293 msgid "Copy BOM" msgstr "" -#: part/serializers.py:493 +#: part/serializers.py:491 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:499 +#: part/serializers.py:497 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:500 +#: part/serializers.py:498 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:506 +#: part/serializers.py:504 msgid "Copy Notes" msgstr "" -#: part/serializers.py:507 +#: part/serializers.py:505 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:525 +#: part/serializers.py:523 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:527 +#: part/serializers.py:525 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:534 +#: part/serializers.py:532 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:535 +#: part/serializers.py:533 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:552 +#: part/serializers.py:550 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:568 +#: part/serializers.py:566 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:578 +#: part/serializers.py:576 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:585 +#: part/serializers.py:583 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:594 +#: part/serializers.py:592 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:605 +#: part/serializers.py:603 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:612 +#: part/serializers.py:610 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:924 +#: part/serializers.py:922 msgid "Revisions" msgstr "" -#: part/serializers.py:929 +#: part/serializers.py:927 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:932 +#: part/serializers.py:930 msgid "Variant Stock" msgstr "" -#: part/serializers.py:962 part/templates/part/copy_part.html:9 +#: part/serializers.py:960 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:474 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:963 +#: part/serializers.py:961 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:969 templates/js/translated/part.js:103 +#: part/serializers.py:967 templates/js/translated/part.js:103 msgid "Initial Stock" msgstr "" -#: part/serializers.py:970 +#: part/serializers.py:968 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:976 +#: part/serializers.py:974 msgid "Supplier Information" msgstr "" -#: part/serializers.py:977 +#: part/serializers.py:975 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:985 +#: part/serializers.py:983 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:986 +#: part/serializers.py:984 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:991 +#: part/serializers.py:989 msgid "Existing Image" msgstr "" -#: part/serializers.py:992 +#: part/serializers.py:990 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:1009 +#: part/serializers.py:1007 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1215 +#: part/serializers.py:1213 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1225 +#: part/serializers.py:1223 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1235 +#: part/serializers.py:1233 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1241 +#: part/serializers.py:1239 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1242 +#: part/serializers.py:1240 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1247 +#: part/serializers.py:1245 msgid "Generate Report" msgstr "" -#: part/serializers.py:1248 +#: part/serializers.py:1246 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1253 +#: part/serializers.py:1251 msgid "Update Parts" msgstr "" -#: part/serializers.py:1254 +#: part/serializers.py:1252 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1262 +#: part/serializers.py:1260 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1368 +#: part/serializers.py:1366 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1375 +#: part/serializers.py:1373 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1383 +#: part/serializers.py:1381 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1390 +#: part/serializers.py:1388 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1419 +#: part/serializers.py:1417 msgid "Update" msgstr "" -#: part/serializers.py:1420 +#: part/serializers.py:1418 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1443 +#: part/serializers.py:1441 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1450 +#: part/serializers.py:1448 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1453 +#: part/serializers.py:1451 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1597 +#: part/serializers.py:1595 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1606 +#: part/serializers.py:1604 msgid "Component Name" msgstr "" -#: part/serializers.py:1609 +#: part/serializers.py:1607 msgid "Component IPN" msgstr "" -#: part/serializers.py:1612 +#: part/serializers.py:1610 msgid "Component Description" msgstr "" -#: part/serializers.py:1618 +#: part/serializers.py:1616 msgid "Select the component part" msgstr "" -#: part/serializers.py:1627 part/templates/part/part_base.html:242 +#: part/serializers.py:1625 part/templates/part/part_base.html:242 #: templates/js/translated/bom.js:1219 msgid "Can Build" msgstr "" -#: part/serializers.py:1858 +#: part/serializers.py:1856 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1866 +#: part/serializers.py:1864 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1867 +#: part/serializers.py:1865 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1872 +#: part/serializers.py:1870 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1873 +#: part/serializers.py:1871 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1878 +#: part/serializers.py:1876 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1879 +#: part/serializers.py:1877 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1884 +#: part/serializers.py:1882 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1885 +#: part/serializers.py:1883 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1922 +#: part/serializers.py:1920 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1923 +#: part/serializers.py:1921 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1955 +#: part/serializers.py:1953 msgid "No part column specified" msgstr "" -#: part/serializers.py:1999 +#: part/serializers.py:1997 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:2002 +#: part/serializers.py:2000 msgid "No matching part found" msgstr "" -#: part/serializers.py:2004 +#: part/serializers.py:2002 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:2013 +#: part/serializers.py:2011 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:2021 +#: part/serializers.py:2019 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:2044 +#: part/serializers.py:2042 msgid "At least one BOM item is required" msgstr "" @@ -8216,7 +8213,7 @@ msgid "Subscribe to notifications for this part" msgstr "" #: part/templates/part/part_base.html:52 -#: stock/templates/stock/item_base.html:62 +#: stock/templates/stock/item_base.html:61 #: stock/templates/stock/location.html:71 templates/js/translated/label.js:136 msgid "Print Label" msgstr "" @@ -8226,7 +8223,7 @@ msgid "Show pricing information" msgstr "" #: part/templates/part/part_base.html:63 -#: stock/templates/stock/item_base.html:110 +#: stock/templates/stock/item_base.html:106 #: stock/templates/stock/location.html:80 msgid "Stock actions" msgstr "" @@ -8297,12 +8294,12 @@ msgid "Required for Orders" msgstr "" #: part/templates/part/part_base.html:225 -#: stock/templates/stock/item_base.html:388 +#: stock/templates/stock/item_base.html:384 msgid "Allocated to Build Orders" msgstr "" #: part/templates/part/part_base.html:234 -#: stock/templates/stock/item_base.html:381 +#: stock/templates/stock/item_base.html:377 msgid "Allocated to Sales Orders" msgstr "" @@ -8322,7 +8319,7 @@ msgid "Latest Serial Number" msgstr "" #: part/templates/part/part_base.html:372 -#: stock/templates/stock/item_base.html:322 +#: stock/templates/stock/item_base.html:318 msgid "Search for serial number" msgstr "" @@ -8449,7 +8446,7 @@ msgid "Edit" msgstr "" #: part/templates/part/prices.html:28 stock/admin.py:252 -#: stock/templates/stock/item_base.html:446 +#: stock/templates/stock/item_base.html:442 #: templates/js/translated/company.js:1703 #: templates/js/translated/company.js:1713 #: templates/js/translated/stock.js:2332 @@ -8604,7 +8601,7 @@ msgstr "" msgid "Part Pricing" msgstr "" -#: plugin/api.py:172 +#: plugin/api.py:174 msgid "Plugin cannot be deleted as it is currently active" msgstr "" @@ -8940,7 +8937,7 @@ msgstr "" msgid "Print a border around each label" msgstr "" -#: plugin/builtin/labels/label_sheet.py:47 report/models.py:307 +#: plugin/builtin/labels/label_sheet.py:47 report/models.py:315 msgid "Landscape" msgstr "" @@ -9012,44 +9009,44 @@ msgstr "" msgid "The Supplier which acts as 'TME'" msgstr "" -#: plugin/installer.py:194 plugin/installer.py:274 +#: plugin/installer.py:199 plugin/installer.py:282 msgid "Only staff users can administer plugins" msgstr "" -#: plugin/installer.py:197 +#: plugin/installer.py:202 msgid "Plugin installation is disabled" msgstr "" -#: plugin/installer.py:241 +#: plugin/installer.py:246 msgid "Installed plugin successfully" msgstr "" -#: plugin/installer.py:246 +#: plugin/installer.py:251 #, python-brace-format msgid "Installed plugin into {path}" msgstr "" -#: plugin/installer.py:265 +#: plugin/installer.py:273 msgid "Plugin was not found in registry" msgstr "" -#: plugin/installer.py:268 +#: plugin/installer.py:276 msgid "Plugin is not a packaged plugin" msgstr "" -#: plugin/installer.py:271 +#: plugin/installer.py:279 msgid "Plugin package name not found" msgstr "" -#: plugin/installer.py:291 +#: plugin/installer.py:299 msgid "Plugin uninstalling is disabled" msgstr "" -#: plugin/installer.py:295 +#: plugin/installer.py:303 msgid "Plugin cannot be uninstalled as it is currently active" msgstr "" -#: plugin/installer.py:308 +#: plugin/installer.py:316 msgid "Uninstalled plugin successfully" msgstr "" @@ -9098,7 +9095,7 @@ msgstr "" msgid "Package Plugin" msgstr "" -#: plugin/models.py:220 report/models.py:474 +#: plugin/models.py:220 report/models.py:482 #: templates/InvenTree/settings/plugin_settings.html:9 #: templates/js/translated/plugin.js:51 msgid "Plugin" @@ -9167,6 +9164,38 @@ msgstr "" msgid "InvenTree Contributors" msgstr "" +#: plugin/samples/integration/user_interface_sample.py:22 +msgid "Enable Part Panels" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:23 +msgid "Enable custom panels for Part views" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:28 +msgid "Enable Purchase Order Panels" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:29 +msgid "Enable custom panels for Purchase Order views" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:34 +msgid "Enable Broken Panels" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:35 +msgid "Enable broken panels for testing" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:40 +msgid "Enable Dynamic Panel" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:41 +msgid "Enable dynamic panels for testing" +msgstr "" + #: plugin/serializers.py:81 msgid "Source URL" msgstr "" @@ -9245,12 +9274,36 @@ msgstr "" msgid "Delete the plugin configuration from the database" msgstr "" +#: plugin/serializers.py:324 +msgid "Plugin Key" +msgstr "" + +#: plugin/serializers.py:328 +msgid "Panel Name" +msgstr "" + +#: plugin/serializers.py:332 +msgid "Panel Title" +msgstr "" + +#: plugin/serializers.py:337 +msgid "Panel Icon" +msgstr "" + +#: plugin/serializers.py:341 +msgid "Panel Content (HTML)" +msgstr "" + +#: plugin/serializers.py:345 +msgid "Panel Source (javascript)" +msgstr "" + #: report/api.py:88 msgid "No valid objects provided to template" msgstr "" -#: report/api.py:103 report/models.py:438 report/serializers.py:98 -#: report/serializers.py:148 templates/js/translated/purchase_order.js:1817 +#: report/api.py:103 report/models.py:446 report/serializers.py:99 +#: report/serializers.py:149 templates/js/translated/purchase_order.js:1817 #: templates/js/translated/return_order.js:353 #: templates/js/translated/sales_order.js:887 #: templates/js/translated/sales_order.js:1047 @@ -9281,7 +9334,11 @@ msgstr "" msgid "Error printing label" msgstr "" -#: report/api.py:375 report/api.py:411 +#: report/api.py:358 +msgid "Report saved at time of printing" +msgstr "" + +#: report/api.py:384 report/api.py:420 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" @@ -9318,135 +9375,143 @@ msgstr "" msgid "Revision number (auto-increments)" msgstr "" -#: report/models.py:202 +#: report/models.py:168 +msgid "Attach to Model on Print" +msgstr "" + +#: report/models.py:170 +msgid "Save report output as an attachment against linked model instance when printing" +msgstr "" + +#: report/models.py:210 msgid "Filename Pattern" msgstr "" -#: report/models.py:203 +#: report/models.py:211 msgid "Pattern for generating filenames" msgstr "" -#: report/models.py:208 +#: report/models.py:216 msgid "Template is enabled" msgstr "" -#: report/models.py:214 +#: report/models.py:222 msgid "Target model type for template" msgstr "" -#: report/models.py:234 +#: report/models.py:242 msgid "Filters" msgstr "" -#: report/models.py:235 +#: report/models.py:243 msgid "Template query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:294 report/models.py:361 +#: report/models.py:302 report/models.py:369 msgid "Template file" msgstr "" -#: report/models.py:302 +#: report/models.py:310 msgid "Page size for PDF reports" msgstr "" -#: report/models.py:308 +#: report/models.py:316 msgid "Render report in landscape orientation" msgstr "" -#: report/models.py:367 +#: report/models.py:375 msgid "Width [mm]" msgstr "" -#: report/models.py:368 +#: report/models.py:376 msgid "Label width, specified in mm" msgstr "" -#: report/models.py:374 +#: report/models.py:382 msgid "Height [mm]" msgstr "" -#: report/models.py:375 +#: report/models.py:383 msgid "Label height, specified in mm" msgstr "" -#: report/models.py:438 +#: report/models.py:446 msgid "Number of items to process" msgstr "" -#: report/models.py:444 +#: report/models.py:452 msgid "Report generation is complete" msgstr "" -#: report/models.py:448 templates/js/translated/build.js:2352 +#: report/models.py:456 templates/js/translated/build.js:2352 msgid "Progress" msgstr "" -#: report/models.py:448 +#: report/models.py:456 msgid "Report generation progress" msgstr "" -#: report/models.py:456 +#: report/models.py:464 msgid "Report Template" msgstr "" -#: report/models.py:463 report/models.py:486 +#: report/models.py:471 report/models.py:494 msgid "Output File" msgstr "" -#: report/models.py:464 report/models.py:487 +#: report/models.py:472 report/models.py:495 msgid "Generated output file" msgstr "" -#: report/models.py:475 +#: report/models.py:483 msgid "Label output plugin" msgstr "" -#: report/models.py:479 +#: report/models.py:487 msgid "Label Template" msgstr "" -#: report/models.py:502 +#: report/models.py:510 msgid "Snippet" msgstr "" -#: report/models.py:503 +#: report/models.py:511 msgid "Report snippet file" msgstr "" -#: report/models.py:510 +#: report/models.py:518 msgid "Snippet file description" msgstr "" -#: report/models.py:528 +#: report/models.py:536 msgid "Asset" msgstr "" -#: report/models.py:529 +#: report/models.py:537 msgid "Report asset file" msgstr "" -#: report/models.py:536 +#: report/models.py:544 msgid "Asset file description" msgstr "" -#: report/serializers.py:91 +#: report/serializers.py:92 msgid "Select report template" msgstr "" -#: report/serializers.py:99 report/serializers.py:149 +#: report/serializers.py:100 report/serializers.py:150 msgid "List of item primary keys to include in the report" msgstr "" -#: report/serializers.py:132 +#: report/serializers.py:133 msgid "Select label template" msgstr "" -#: report/serializers.py:140 +#: report/serializers.py:141 msgid "Printing Plugin" msgstr "" -#: report/serializers.py:141 +#: report/serializers.py:142 msgid "Select plugin to use for label printing" msgstr "" @@ -9517,7 +9582,7 @@ msgstr "" msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report.html:103 stock/models.py:2538 +#: report/templates/report/inventree_test_report.html:103 stock/models.py:2533 msgid "Result" msgstr "" @@ -9598,7 +9663,7 @@ msgid "Customer ID" msgstr "" #: stock/admin.py:206 stock/models.py:829 -#: stock/templates/stock/item_base.html:354 +#: stock/templates/stock/item_base.html:350 msgid "Installed In" msgstr "" @@ -9623,7 +9688,7 @@ msgid "Delete on Deplete" msgstr "" #: stock/admin.py:261 stock/models.py:923 -#: stock/templates/stock/item_base.html:433 +#: stock/templates/stock/item_base.html:429 #: templates/js/translated/stock.js:2316 users/models.py:124 msgid "Expiry Date" msgstr "" @@ -9665,7 +9730,7 @@ msgid "Expiry date after" msgstr "" #: stock/api.py:839 stock/serializers.py:611 -#: stock/templates/stock/item_base.html:439 +#: stock/templates/stock/item_base.html:435 #: templates/js/translated/table_filters.js:448 msgid "Stale" msgstr "" @@ -9715,7 +9780,7 @@ msgid "Stock Locations" msgstr "" #: stock/models.py:185 stock/models.py:972 -#: stock/templates/stock/item_base.html:247 +#: stock/templates/stock/item_base.html:243 msgid "Owner" msgstr "" @@ -9826,7 +9891,7 @@ msgstr "" msgid "Build for this stock item" msgstr "" -#: stock/models.py:892 stock/templates/stock/item_base.html:363 +#: stock/models.py:892 stock/templates/stock/item_base.html:359 msgid "Consumed By" msgstr "" @@ -9891,7 +9956,7 @@ msgstr "" msgid "Serial numbers already exist" msgstr "" -#: stock/models.py:1636 +#: stock/models.py:1636 stock/models.py:2436 msgid "Test template does not exist" msgstr "" @@ -9939,67 +10004,67 @@ msgstr "" msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2337 +#: stock/models.py:2335 msgid "Stock Item Tracking" msgstr "" -#: stock/models.py:2370 +#: stock/models.py:2368 msgid "Entry notes" msgstr "" -#: stock/models.py:2410 +#: stock/models.py:2408 msgid "Stock Item Test Result" msgstr "" -#: stock/models.py:2443 +#: stock/models.py:2439 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2448 +#: stock/models.py:2443 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2453 +#: stock/models.py:2448 msgid "Invalid value for this test" msgstr "" -#: stock/models.py:2538 +#: stock/models.py:2533 msgid "Test result" msgstr "" -#: stock/models.py:2545 +#: stock/models.py:2540 msgid "Test output value" msgstr "" -#: stock/models.py:2553 stock/serializers.py:245 +#: stock/models.py:2548 stock/serializers.py:245 msgid "Test result attachment" msgstr "" -#: stock/models.py:2557 +#: stock/models.py:2552 msgid "Test notes" msgstr "" -#: stock/models.py:2565 templates/js/translated/stock.js:1633 +#: stock/models.py:2560 templates/js/translated/stock.js:1633 msgid "Test station" msgstr "" -#: stock/models.py:2566 +#: stock/models.py:2561 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2572 +#: stock/models.py:2567 msgid "Started" msgstr "" -#: stock/models.py:2573 +#: stock/models.py:2568 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2579 +#: stock/models.py:2574 msgid "Finished" msgstr "" -#: stock/models.py:2580 +#: stock/models.py:2575 msgid "The timestamp of the test finish" msgstr "" @@ -10059,7 +10124,7 @@ msgstr "" msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:459 stock/templates/stock/item_base.html:193 +#: stock/serializers.py:459 stock/templates/stock/item_base.html:189 msgid "Parent Item" msgstr "" @@ -10071,7 +10136,7 @@ msgstr "" msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:603 stock/templates/stock/item_base.html:437 +#: stock/serializers.py:603 stock/templates/stock/item_base.html:433 #: templates/js/translated/table_filters.js:442 users/models.py:174 msgid "Expired" msgstr "" @@ -10410,7 +10475,7 @@ msgstr "" msgid "Test Data" msgstr "" -#: stock/templates/stock/item.html:85 stock/templates/stock/item_base.html:65 +#: stock/templates/stock/item.html:85 msgid "Test Report" msgstr "" @@ -10450,200 +10515,204 @@ msgstr "" msgid "Scan to Location" msgstr "" -#: stock/templates/stock/item_base.html:59 +#: stock/templates/stock/item_base.html:58 #: stock/templates/stock/location.html:67 #: templates/js/translated/filters.js:434 msgid "Printing actions" msgstr "" -#: stock/templates/stock/item_base.html:75 +#: stock/templates/stock/item_base.html:63 templates/js/translated/report.js:49 +msgid "Print Report" +msgstr "" + +#: stock/templates/stock/item_base.html:71 msgid "Stock adjustment actions" msgstr "" -#: stock/templates/stock/item_base.html:79 +#: stock/templates/stock/item_base.html:75 #: stock/templates/stock/location.html:87 templates/js/translated/stock.js:1909 msgid "Count stock" msgstr "" -#: stock/templates/stock/item_base.html:81 +#: stock/templates/stock/item_base.html:77 #: templates/js/translated/stock.js:1891 msgid "Add stock" msgstr "" -#: stock/templates/stock/item_base.html:82 +#: stock/templates/stock/item_base.html:78 #: templates/js/translated/stock.js:1900 msgid "Remove stock" msgstr "" -#: stock/templates/stock/item_base.html:85 +#: stock/templates/stock/item_base.html:81 msgid "Serialize stock" msgstr "" -#: stock/templates/stock/item_base.html:88 +#: stock/templates/stock/item_base.html:84 #: stock/templates/stock/location.html:93 templates/js/translated/stock.js:1918 msgid "Transfer stock" msgstr "" -#: stock/templates/stock/item_base.html:91 +#: stock/templates/stock/item_base.html:87 #: templates/js/translated/stock.js:1973 msgid "Assign to customer" msgstr "" -#: stock/templates/stock/item_base.html:94 +#: stock/templates/stock/item_base.html:90 msgid "Return to stock" msgstr "" -#: stock/templates/stock/item_base.html:97 +#: stock/templates/stock/item_base.html:93 msgid "Uninstall stock item" msgstr "" -#: stock/templates/stock/item_base.html:97 +#: stock/templates/stock/item_base.html:93 msgid "Uninstall" msgstr "" -#: stock/templates/stock/item_base.html:101 +#: stock/templates/stock/item_base.html:97 msgid "Install stock item" msgstr "" -#: stock/templates/stock/item_base.html:101 +#: stock/templates/stock/item_base.html:97 msgid "Install" msgstr "" -#: stock/templates/stock/item_base.html:115 +#: stock/templates/stock/item_base.html:111 msgid "Convert to variant" msgstr "" -#: stock/templates/stock/item_base.html:118 +#: stock/templates/stock/item_base.html:114 msgid "Duplicate stock item" msgstr "" -#: stock/templates/stock/item_base.html:120 +#: stock/templates/stock/item_base.html:116 msgid "Edit stock item" msgstr "" -#: stock/templates/stock/item_base.html:123 +#: stock/templates/stock/item_base.html:119 msgid "Delete stock item" msgstr "" -#: stock/templates/stock/item_base.html:169 templates/InvenTree/search.html:139 +#: stock/templates/stock/item_base.html:165 templates/InvenTree/search.html:139 #: templates/js/translated/build.js:2298 templates/navbar.html:38 msgid "Build" msgstr "" -#: stock/templates/stock/item_base.html:211 +#: stock/templates/stock/item_base.html:207 msgid "No manufacturer set" msgstr "" -#: stock/templates/stock/item_base.html:251 +#: stock/templates/stock/item_base.html:247 msgid "You are not in the list of owners of this item. This stock item cannot be edited." msgstr "" -#: stock/templates/stock/item_base.html:252 +#: stock/templates/stock/item_base.html:248 #: stock/templates/stock/location.html:146 msgid "Read only" msgstr "" -#: stock/templates/stock/item_base.html:265 +#: stock/templates/stock/item_base.html:261 msgid "This stock item is unavailable" msgstr "" -#: stock/templates/stock/item_base.html:271 +#: stock/templates/stock/item_base.html:267 msgid "This stock item is in production and cannot be edited." msgstr "" -#: stock/templates/stock/item_base.html:272 +#: stock/templates/stock/item_base.html:268 msgid "Edit the stock item from the build view." msgstr "" -#: stock/templates/stock/item_base.html:287 +#: stock/templates/stock/item_base.html:283 msgid "This stock item is allocated to Sales Order" msgstr "" -#: stock/templates/stock/item_base.html:295 +#: stock/templates/stock/item_base.html:291 msgid "This stock item is allocated to Build Order" msgstr "" -#: stock/templates/stock/item_base.html:311 +#: stock/templates/stock/item_base.html:307 msgid "This stock item is serialized. It has a unique serial number and the quantity cannot be adjusted" msgstr "" -#: stock/templates/stock/item_base.html:317 +#: stock/templates/stock/item_base.html:313 msgid "previous page" msgstr "" -#: stock/templates/stock/item_base.html:317 +#: stock/templates/stock/item_base.html:313 msgid "Navigate to previous serial number" msgstr "" -#: stock/templates/stock/item_base.html:326 +#: stock/templates/stock/item_base.html:322 msgid "next page" msgstr "" -#: stock/templates/stock/item_base.html:326 +#: stock/templates/stock/item_base.html:322 msgid "Navigate to next serial number" msgstr "" -#: stock/templates/stock/item_base.html:398 +#: stock/templates/stock/item_base.html:394 #: templates/js/translated/build.js:2555 msgid "No location set" msgstr "" -#: stock/templates/stock/item_base.html:413 +#: stock/templates/stock/item_base.html:409 msgid "Tests" msgstr "" -#: stock/templates/stock/item_base.html:419 +#: stock/templates/stock/item_base.html:415 msgid "This stock item has not passed all required tests" msgstr "" -#: stock/templates/stock/item_base.html:437 +#: stock/templates/stock/item_base.html:433 #, python-format msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:439 +#: stock/templates/stock/item_base.html:435 #, python-format msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:455 +#: stock/templates/stock/item_base.html:451 msgid "No stocktake performed" msgstr "" -#: stock/templates/stock/item_base.html:504 +#: stock/templates/stock/item_base.html:500 #: templates/js/translated/stock.js:2038 msgid "stock item" msgstr "" -#: stock/templates/stock/item_base.html:527 +#: stock/templates/stock/item_base.html:523 msgid "Edit Stock Status" msgstr "" -#: stock/templates/stock/item_base.html:536 +#: stock/templates/stock/item_base.html:532 msgid "Stock Item QR Code" msgstr "" -#: stock/templates/stock/item_base.html:547 +#: stock/templates/stock/item_base.html:543 msgid "Link Barcode to Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:611 +#: stock/templates/stock/item_base.html:607 msgid "Select one of the part variants listed below." msgstr "" -#: stock/templates/stock/item_base.html:614 +#: stock/templates/stock/item_base.html:610 msgid "Warning" msgstr "" -#: stock/templates/stock/item_base.html:615 +#: stock/templates/stock/item_base.html:611 msgid "This action cannot be easily undone" msgstr "" -#: stock/templates/stock/item_base.html:623 +#: stock/templates/stock/item_base.html:619 msgid "Convert Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:656 +#: stock/templates/stock/item_base.html:652 msgid "Return to Stock" msgstr "" @@ -11310,7 +11379,7 @@ msgid "Delete Location Type" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:503 -#: templates/InvenTree/settings/stock.html:38 +#: templates/InvenTree/settings/stock.html:39 msgid "New Location Type" msgstr "" @@ -11367,7 +11436,7 @@ msgstr "" msgid "Stock Settings" msgstr "" -#: templates/InvenTree/settings/stock.html:34 +#: templates/InvenTree/settings/stock.html:35 msgid "Stock Location Types" msgstr "" @@ -11852,23 +11921,23 @@ msgstr "" msgid "Barcode Identifier" msgstr "" -#: templates/base.html:103 +#: templates/base.html:102 msgid "Server Restart Required" msgstr "" -#: templates/base.html:106 +#: templates/base.html:105 msgid "A configuration option has been changed which requires a server restart" msgstr "" -#: templates/base.html:106 templates/base.html:116 +#: templates/base.html:105 templates/base.html:115 msgid "Contact your system administrator for further information" msgstr "" -#: templates/base.html:113 +#: templates/base.html:112 msgid "Pending Database Migrations" msgstr "" -#: templates/base.html:116 +#: templates/base.html:115 msgid "There are pending database migrations which require attention" msgstr "" @@ -13946,10 +14015,6 @@ msgstr "" msgid "Delete line item" msgstr "" -#: templates/js/translated/report.js:49 -msgid "Print Report" -msgstr "" - #: templates/js/translated/report.js:68 msgid "Report print successful" msgstr "" diff --git a/src/backend/InvenTree/locale/nl/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/nl/LC_MESSAGES/django.po index f3a89a270104..c9bd436d2980 100644 --- a/src/backend/InvenTree/locale/nl/LC_MESSAGES/django.po +++ b/src/backend/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: 2024-08-29 07:07+0000\n" -"PO-Revision-Date: 2024-08-29 07:10\n" +"POT-Creation-Date: 2024-09-16 00:37+0000\n" +"PO-Revision-Date: 2024-09-16 00:40\n" "Last-Translator: \n" "Language-Team: Dutch\n" "Language: nl_NL\n" @@ -28,7 +28,7 @@ msgstr "Gebruiker heeft geen rechten om dit model te bekijken" #: InvenTree/conversion.py:161 #, python-brace-format msgid "Invalid unit provided ({unit})" -msgstr "" +msgstr "Ongeldige eenheid opgegeven ({unit})" #: InvenTree/conversion.py:178 msgid "No value provided" @@ -65,9 +65,9 @@ msgstr "Voer datum in" #: 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:59 -#: part/models.py:3309 part/templates/part/part_sidebar.html:65 +#: part/models.py:3296 part/templates/part/part_sidebar.html:65 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/admin.py:231 stock/models.py:2369 stock/models.py:2557 +#: stock/admin.py:231 stock/models.py:2367 stock/models.py:2552 #: stock/serializers.py:705 stock/serializers.py:863 stock/serializers.py:989 #: stock/serializers.py:1039 stock/serializers.py:1350 #: stock/serializers.py:1439 stock/serializers.py:1604 @@ -126,7 +126,7 @@ msgstr "Er moet hetzelfde e-mailadres ingevoerd worden." #: InvenTree/forms.py:221 msgid "MFA Registration is disabled." -msgstr "" +msgstr "Registratie is uitgeschakeld." #: InvenTree/forms.py:259 InvenTree/forms.py:267 msgid "The provided primary email address is not valid." @@ -155,17 +155,17 @@ msgstr "Duplicaat serienummer" #: InvenTree/helpers.py:554 InvenTree/helpers.py:597 #, python-brace-format msgid "Invalid group range: {group}" -msgstr "" +msgstr "Ongeldig groepsbereik: {group}" #: InvenTree/helpers.py:585 #, python-brace-format msgid "Group range {group} exceeds allowed quantity ({expected_quantity})" -msgstr "" +msgstr "Groepsbereik {group} overschrijdt toegestane hoeveelheid ({expected_quantity})" #: InvenTree/helpers.py:615 InvenTree/helpers.py:622 InvenTree/helpers.py:641 #, python-brace-format msgid "Invalid group sequence: {group}" -msgstr "" +msgstr "Ongeldig groepsbereik: {group}" #: InvenTree/helpers.py:651 msgid "No serial numbers found" @@ -173,7 +173,7 @@ msgstr "Geen serienummers gevonden" #: InvenTree/helpers.py:656 msgid "Number of unique serial numbers ({len(serials)}) must match quantity ({expected_quantity})" -msgstr "" +msgstr "Hoeveelheid van unieke serienummers ({s}) moet overeenkomen met de hoeveelheid ({q})" #: InvenTree/helpers.py:774 msgid "Remove HTML tags from this value" @@ -213,7 +213,7 @@ msgstr "Opgegeven URL is geen geldig afbeeldingsbestand" #: InvenTree/locales.py:18 msgid "Arabic" -msgstr "" +msgstr "Arabisch" #: InvenTree/locales.py:19 msgid "Bulgarian" @@ -249,7 +249,7 @@ msgstr "Spaans (Mexicaans)" #: InvenTree/locales.py:27 msgid "Estonian" -msgstr "" +msgstr "Estlands" #: InvenTree/locales.py:28 msgid "Farsi / Persian" @@ -269,7 +269,7 @@ msgstr "Hebreeuws" #: InvenTree/locales.py:32 msgid "Hindi" -msgstr "" +msgstr "Hindi" #: InvenTree/locales.py:33 msgid "Hungarian" @@ -289,7 +289,7 @@ msgstr "Koreaans" #: InvenTree/locales.py:37 msgid "Latvian" -msgstr "" +msgstr "Lets" #: InvenTree/locales.py:38 msgid "Dutch" @@ -313,7 +313,7 @@ msgstr "Portugees (Braziliaans)" #: InvenTree/locales.py:43 msgid "Romanian" -msgstr "" +msgstr "Roemeens" #: InvenTree/locales.py:44 msgid "Russian" @@ -321,7 +321,7 @@ msgstr "Russisch" #: InvenTree/locales.py:45 msgid "Slovak" -msgstr "" +msgstr "Slowaaks" #: InvenTree/locales.py:46 msgid "Slovenian" @@ -345,7 +345,7 @@ msgstr "Turks" #: InvenTree/locales.py:51 msgid "Ukrainian" -msgstr "" +msgstr "Oekraïnes" #: InvenTree/locales.py:52 msgid "Vietnamese" @@ -362,18 +362,18 @@ msgstr "Chinees (traditioneel)" #: InvenTree/magic_login.py:28 #, python-brace-format msgid "[{site_name}] Log in to the app" -msgstr "" +msgstr "[{site_name}] Log in bij de app" -#: InvenTree/magic_login.py:38 InvenTree/serializers.py:413 +#: InvenTree/magic_login.py:38 InvenTree/serializers.py:416 #: company/models.py:133 company/templates/company/company_base.html:138 #: templates/InvenTree/settings/user.html:49 #: templates/js/translated/company.js:677 msgid "Email" -msgstr "" +msgstr "E-mail" #: InvenTree/models.py:103 msgid "Error running plugin validation" -msgstr "" +msgstr "Fout bij uitvoeren plug-in validatie" #: InvenTree/models.py:172 msgid "Metadata must be a python dict object" @@ -381,7 +381,7 @@ msgstr "Metadata moeten een python dict object zijn" #: InvenTree/models.py:178 msgid "Plugin Metadata" -msgstr "" +msgstr "Plug-in metadata" #: InvenTree/models.py:179 msgid "JSON metadata field, for use by external plugins" @@ -419,9 +419,9 @@ msgstr "Dubbele namen kunnen niet bestaan onder hetzelfde bovenliggende object" msgid "Invalid choice" msgstr "Ongeldige keuze" -#: InvenTree/models.py:767 common/models.py:2704 common/models.py:3131 -#: common/models.py:3351 common/serializers.py:439 company/models.py:590 -#: machine/models.py:24 part/models.py:995 part/models.py:3776 +#: InvenTree/models.py:767 common/models.py:2705 common/models.py:3132 +#: common/models.py:3352 common/serializers.py:455 company/models.py:590 +#: machine/models.py:24 part/models.py:995 part/models.py:3763 #: plugin/models.py:51 report/models.py:149 stock/models.py:82 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -446,10 +446,10 @@ msgstr "Naam" #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 order/models.py:289 #: order/models.py:1406 part/admin.py:305 part/admin.py:411 part/models.py:1018 -#: part/models.py:3791 part/templates/part/category.html:79 +#: part/models.py:3778 part/templates/part/category.html:79 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:155 -#: report/models.py:509 report/models.py:535 +#: report/models.py:517 report/models.py:543 #: report/templates/report/inventree_build_order_report.html:117 #: stock/admin.py:54 stock/models.py:88 stock/templates/stock/location.html:122 #: templates/InvenTree/settings/notifications.html:19 @@ -517,12 +517,12 @@ msgstr "Serverfout" msgid "An error has been logged by the server." msgstr "Er is een fout gelogd door de server." -#: InvenTree/serializers.py:63 part/models.py:4400 +#: InvenTree/serializers.py:63 part/models.py:4387 msgid "Must be a valid number" msgstr "Moet een geldig nummer zijn" #: InvenTree/serializers.py:100 company/models.py:183 -#: company/templates/company/company_base.html:112 part/models.py:3127 +#: company/templates/company/company_base.html:112 part/models.py:3114 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -534,45 +534,45 @@ msgstr "Selecteer valuta uit beschikbare opties" #: InvenTree/serializers.py:405 templates/InvenTree/settings/user.html:33 msgid "Username" -msgstr "" +msgstr "Gebruikersnaam" -#: InvenTree/serializers.py:407 templates/InvenTree/settings/user.html:37 +#: InvenTree/serializers.py:408 templates/InvenTree/settings/user.html:37 msgid "First Name" -msgstr "" +msgstr "Voornaam :" -#: InvenTree/serializers.py:407 +#: InvenTree/serializers.py:408 msgid "First name of the user" -msgstr "" +msgstr "Voornaam van de gebruiker" -#: InvenTree/serializers.py:410 templates/InvenTree/settings/user.html:41 +#: InvenTree/serializers.py:412 templates/InvenTree/settings/user.html:41 msgid "Last Name" -msgstr "" +msgstr "Achternaam" -#: InvenTree/serializers.py:410 +#: InvenTree/serializers.py:412 msgid "Last name of the user" -msgstr "" +msgstr "Achternaam van de gebruiker" -#: InvenTree/serializers.py:413 +#: InvenTree/serializers.py:416 msgid "Email address of the user" -msgstr "" +msgstr "E-mailadres van de gebruiker" -#: InvenTree/serializers.py:438 +#: InvenTree/serializers.py:441 msgid "Staff" -msgstr "" +msgstr "Medewerkers" -#: InvenTree/serializers.py:438 +#: InvenTree/serializers.py:441 msgid "Does this user have staff permissions" -msgstr "" +msgstr "Heeft deze gebruiker medewerker machtigingen" -#: InvenTree/serializers.py:441 +#: InvenTree/serializers.py:445 msgid "Superuser" -msgstr "" +msgstr "Administrator " -#: InvenTree/serializers.py:441 +#: InvenTree/serializers.py:445 msgid "Is this user a superuser" -msgstr "" +msgstr "Is deze gebruiker een administrator " -#: InvenTree/serializers.py:444 common/models.py:2709 company/models.py:160 +#: InvenTree/serializers.py:449 common/models.py:2710 company/models.py:160 #: company/models.py:798 machine/models.py:39 part/admin.py:88 #: part/models.py:1201 plugin/models.py:66 #: templates/js/translated/company.js:523 @@ -585,89 +585,89 @@ msgstr "" msgid "Active" msgstr "Actief" -#: InvenTree/serializers.py:444 +#: InvenTree/serializers.py:449 msgid "Is this user account active" -msgstr "" +msgstr "Is dit gebruikersaccount actief" -#: InvenTree/serializers.py:462 +#: InvenTree/serializers.py:467 msgid "You do not have permission to change this user role." -msgstr "" +msgstr "Je bent niet bevoegd om deze gebruikersrol te wijzigen." -#: InvenTree/serializers.py:474 +#: InvenTree/serializers.py:503 msgid "Only superusers can create new users" -msgstr "" +msgstr "Alleen administrators kunnen nieuwe gebruikers aanmaken" -#: InvenTree/serializers.py:493 +#: InvenTree/serializers.py:522 msgid "Your account has been created." -msgstr "" +msgstr "Je account is aangemaakt." -#: InvenTree/serializers.py:495 +#: InvenTree/serializers.py:524 msgid "Please use the password reset function to login" -msgstr "" +msgstr "Gebruik de wachtwoordreset functie om in te loggen" -#: InvenTree/serializers.py:502 +#: InvenTree/serializers.py:531 msgid "Welcome to InvenTree" -msgstr "" +msgstr "Welkom bij InvenTree" -#: InvenTree/serializers.py:560 +#: InvenTree/serializers.py:589 msgid "Invalid value" msgstr "Ongeldige waarde" -#: InvenTree/serializers.py:580 importer/models.py:64 +#: InvenTree/serializers.py:609 importer/models.py:64 msgid "Data File" msgstr "Data bestand" -#: InvenTree/serializers.py:581 +#: InvenTree/serializers.py:610 msgid "Select data file for upload" msgstr "Selecteer een bestand om te uploaden" -#: InvenTree/serializers.py:598 +#: InvenTree/serializers.py:627 msgid "Unsupported file type" msgstr "Niet ondersteund bestandstype" -#: InvenTree/serializers.py:604 +#: InvenTree/serializers.py:633 msgid "File is too large" msgstr "Bestand is te groot" -#: InvenTree/serializers.py:625 +#: InvenTree/serializers.py:654 msgid "No columns found in file" msgstr "Geen kolommen gevonden in het bestand" -#: InvenTree/serializers.py:628 +#: InvenTree/serializers.py:657 msgid "No data rows found in file" msgstr "Geen data rijen gevonden in dit bestand" -#: InvenTree/serializers.py:740 +#: InvenTree/serializers.py:769 msgid "No data rows provided" msgstr "Geen data rijen opgegeven" -#: InvenTree/serializers.py:743 +#: InvenTree/serializers.py:772 msgid "No data columns supplied" msgstr "Geen gegevenskolommen opgegeven" -#: InvenTree/serializers.py:809 +#: InvenTree/serializers.py:838 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "Verplichte kolom ontbreekt: '{name}'" -#: InvenTree/serializers.py:818 +#: InvenTree/serializers.py:847 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "Dubbele kolom: '{col}'" -#: InvenTree/serializers.py:857 +#: InvenTree/serializers.py:886 msgid "Remote Image" -msgstr "" +msgstr "Externe afbeelding" -#: InvenTree/serializers.py:858 +#: InvenTree/serializers.py:887 msgid "URL of remote image file" msgstr "URL van extern afbeeldingsbestand" -#: InvenTree/serializers.py:876 +#: InvenTree/serializers.py:905 msgid "Downloading images from remote URL is not enabled" msgstr "Afbeeldingen van externe URL downloaden is niet ingeschakeld" -#: InvenTree/status.py:65 part/serializers.py:1267 +#: InvenTree/status.py:65 part/serializers.py:1265 msgid "Background worker check failed" msgstr "Achtergrondwerker check is gefaald" @@ -681,7 +681,7 @@ msgstr "InvenTree gezondsheidschecks mislukt" #: InvenTree/templatetags/inventree_extras.py:184 msgid "Unknown database" -msgstr "" +msgstr "Onbekende database" #: InvenTree/validators.py:32 msgid "Invalid physical unit" @@ -735,14 +735,14 @@ msgstr "Bovenliggende Productie" #: build/api.py:59 msgid "Ancestor Build" -msgstr "" +msgstr "Voorouderlijke bouw" #: build/api.py:78 order/api.py:92 templates/js/translated/table_filters.js:101 #: templates/js/translated/table_filters.js:549 #: templates/js/translated/table_filters.js:633 #: templates/js/translated/table_filters.js:674 msgid "Assigned to me" -msgstr "" +msgstr "Toegewezen aan mij" #: build/api.py:95 build/templates/build/build_base.html:205 #: build/templates/build/detail.html:115 @@ -753,13 +753,13 @@ msgstr "Uitgegeven door" #: build/api.py:114 msgid "Assigned To" -msgstr "" +msgstr "Toegewezen aan" #: build/api.py:275 msgid "Build must be cancelled before it can be deleted" msgstr "Productie moet geannuleerd worden voordat het kan worden verwijderd" -#: build/api.py:319 build/serializers.py:1332 part/models.py:4278 +#: build/api.py:319 build/serializers.py:1332 part/models.py:4265 #: templates/js/translated/bom.js:997 templates/js/translated/bom.js:1037 #: templates/js/translated/build.js:2705 #: templates/js/translated/table_filters.js:197 @@ -767,7 +767,7 @@ msgstr "Productie moet geannuleerd worden voordat het kan worden verwijderd" msgid "Consumable" msgstr "Verbruiksartikelen" -#: build/api.py:320 build/serializers.py:1333 part/models.py:4272 +#: build/api.py:320 build/serializers.py:1333 part/models.py:4259 #: part/templates/part/upload_bom.html:58 templates/js/translated/bom.js:1001 #: templates/js/translated/bom.js:1028 templates/js/translated/build.js:2696 #: templates/js/translated/table_filters.js:193 @@ -777,7 +777,7 @@ msgid "Optional" msgstr "Optioneel" #: build/api.py:321 common/models.py:1491 part/admin.py:91 part/admin.py:428 -#: part/models.py:1166 part/serializers.py:1596 +#: part/models.py:1166 part/serializers.py:1594 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:337 #: templates/js/translated/table_filters.js:729 @@ -793,7 +793,7 @@ msgstr "Gevolgd" #: templates/js/translated/table_filters.js:146 #: templates/js/translated/table_filters.js:779 msgid "Testable" -msgstr "" +msgstr "Testbaar" #: build/api.py:325 part/admin.py:144 templates/js/translated/build.js:1920 #: templates/js/translated/build.js:2823 @@ -816,7 +816,7 @@ msgstr "Toegewezen" msgid "Available" msgstr "Beschikbaar" -#: build/models.py:87 build/templates/build/build_base.html:9 +#: build/models.py:88 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_report.html:105 #: stock/serializers.py:85 templates/email/build_order_completed.html:16 @@ -825,7 +825,7 @@ msgstr "Beschikbaar" msgid "Build Order" msgstr "Productieorder" -#: build/models.py:88 build/templates/build/build_base.html:13 +#: build/models.py:89 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:111 #: order/templates/order/so_sidebar.html:13 @@ -838,7 +838,7 @@ msgstr "Productieorders" #: build/models.py:136 msgid "Assembly BOM has not been validated" -msgstr "" +msgstr "Assemblage stuklijst is niet gevalideerd" #: build/models.py:143 msgid "Build order cannot be created for an inactive part" @@ -866,7 +866,7 @@ msgstr "Productieorderreferentie" #: build/models.py:243 build/serializers.py:1331 order/models.py:468 #: order/models.py:979 order/models.py:1366 order/models.py:2128 -#: part/admin.py:414 part/models.py:4293 part/templates/part/upload_bom.html:54 +#: part/admin.py:414 part/models.py:4280 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 @@ -892,11 +892,11 @@ msgstr "Productieorder waar deze productie aan is toegewezen" #: build/templates/build/build_base.html:105 #: build/templates/build/detail.html:29 company/models.py:1043 order/api.py:761 #: order/models.py:1496 order/models.py:1651 order/models.py:1652 -#: part/api.py:1506 part/api.py:1806 part/models.py:419 part/models.py:3138 -#: part/models.py:3282 part/models.py:3430 part/models.py:3451 -#: part/models.py:3473 part/models.py:3609 part/models.py:3951 -#: part/models.py:4114 part/models.py:4244 part/models.py:4602 -#: part/serializers.py:1213 part/serializers.py:1857 +#: part/api.py:1506 part/api.py:1806 part/models.py:419 part/models.py:3125 +#: part/models.py:3269 part/models.py:3417 part/models.py:3438 +#: part/models.py:3460 part/models.py:3596 part/models.py:3938 +#: part/models.py:4101 part/models.py:4231 part/models.py:4595 +#: part/serializers.py:1211 part/serializers.py:1855 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -1063,12 +1063,12 @@ msgstr "Gebruiker of groep verantwoordelijk voor deze bouwopdracht" #: order/templates/order/return_order_base.html:148 #: order/templates/order/sales_order_base.html:187 #: part/templates/part/part_base.html:399 stock/models.py:859 -#: stock/templates/stock/item_base.html:200 +#: stock/templates/stock/item_base.html:196 #: templates/js/translated/company.js:1019 msgid "External Link" msgstr "Externe Link" -#: build/models.py:378 common/models.py:3272 part/models.py:1070 +#: build/models.py:378 common/models.py:3273 part/models.py:1070 #: stock/models.py:859 msgid "Link to external URL" msgstr "Link naar externe URL" @@ -1110,7 +1110,7 @@ msgstr "Productieorder {build} is voltooid" msgid "A build order has been completed" msgstr "Een productieorder is voltooid" -#: build/models.py:968 build/models.py:1056 +#: build/models.py:968 build/models.py:1057 msgid "No build output specified" msgstr "Geen productie uitvoer opgegeven" @@ -1122,37 +1122,37 @@ msgstr "Productie uitvoer is al voltooid" msgid "Build output does not match Build Order" msgstr "Productuitvoer komt niet overeen met de Productieorder" -#: build/models.py:1060 build/serializers.py:279 build/serializers.py:328 +#: build/models.py:1061 build/serializers.py:279 build/serializers.py:328 #: build/serializers.py:959 order/models.py:565 order/serializers.py:500 -#: order/serializers.py:666 part/serializers.py:1590 part/serializers.py:2019 +#: order/serializers.py:666 part/serializers.py:1588 part/serializers.py:2017 #: stock/models.py:704 stock/models.py:1515 stock/serializers.py:676 msgid "Quantity must be greater than zero" msgstr "Hoeveelheid moet groter zijn dan nul" -#: build/models.py:1065 build/serializers.py:284 +#: build/models.py:1066 build/serializers.py:284 msgid "Quantity cannot be greater than the output quantity" msgstr "Hoeveelheid kan niet groter zijn dan aantal" -#: build/models.py:1125 build/serializers.py:607 +#: build/models.py:1126 build/serializers.py:607 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "" -#: build/models.py:1466 +#: build/models.py:1477 msgid "Build Order Line Item" msgstr "" -#: build/models.py:1491 +#: build/models.py:1502 msgid "Build object" msgstr "Bouw object" -#: build/models.py:1505 build/models.py:1761 build/serializers.py:266 +#: build/models.py:1516 build/models.py:1775 build/serializers.py:266 #: build/serializers.py:313 build/serializers.py:1339 #: build/templates/build/build_base.html:110 -#: build/templates/build/detail.html:34 common/models.py:2581 +#: build/templates/build/detail.html:34 common/models.py:2582 #: order/models.py:1349 order/models.py:2034 order/serializers.py:1464 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:413 -#: part/forms.py:48 part/models.py:3296 part/models.py:4266 +#: part/forms.py:48 part/models.py:3283 part/models.py:4253 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1163,9 +1163,9 @@ msgstr "Bouw object" #: report/templates/report/inventree_test_report.html:90 #: report/templates/report/inventree_test_report.html:169 stock/admin.py:160 #: stock/serializers.py:128 stock/serializers.py:168 stock/serializers.py:667 -#: stock/templates/stock/item_base.html:287 -#: stock/templates/stock/item_base.html:295 -#: stock/templates/stock/item_base.html:342 +#: stock/templates/stock/item_base.html:283 +#: stock/templates/stock/item_base.html:291 +#: stock/templates/stock/item_base.html:338 #: templates/email/build_order_completed.html:18 #: templates/js/translated/barcode.js:579 templates/js/translated/bom.js:771 #: templates/js/translated/bom.js:981 templates/js/translated/build.js:525 @@ -1194,41 +1194,41 @@ msgstr "Bouw object" msgid "Quantity" msgstr "Hoeveelheid" -#: build/models.py:1506 +#: build/models.py:1517 msgid "Required quantity for build order" msgstr "Vereiste hoeveelheid voor bouwopdracht" -#: build/models.py:1586 +#: build/models.py:1597 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:1595 +#: build/models.py:1606 #, 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:1605 order/models.py:1985 +#: build/models.py:1616 order/models.py:1985 msgid "Stock item is over-allocated" msgstr "Voorraad item is te veel toegewezen" -#: build/models.py:1611 order/models.py:1988 +#: build/models.py:1622 order/models.py:1988 msgid "Allocation quantity must be greater than zero" msgstr "Toewijzing hoeveelheid moet groter zijn dan nul" -#: build/models.py:1617 +#: build/models.py:1628 msgid "Quantity must be 1 for serialized stock" msgstr "Hoeveelheid moet 1 zijn voor geserialiseerde voorraad" -#: build/models.py:1676 +#: build/models.py:1687 msgid "Selected stock item does not match BOM line" msgstr "Geselecteerde voorraadartikelen komen niet overeen met de BOM-regel" -#: build/models.py:1748 build/serializers.py:939 order/serializers.py:1301 +#: build/models.py:1762 build/serializers.py:939 order/serializers.py:1301 #: order/serializers.py:1322 stock/models.py:381 stock/serializers.py:94 #: stock/serializers.py:770 stock/serializers.py:1288 stock/serializers.py:1400 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 -#: stock/templates/stock/item_base.html:194 +#: stock/templates/stock/item_base.html:190 #: templates/js/translated/build.js:1921 #: templates/js/translated/sales_order.js:301 #: templates/js/translated/sales_order.js:1234 @@ -1241,19 +1241,19 @@ msgstr "Geselecteerde voorraadartikelen komen niet overeen met de BOM-regel" msgid "Stock Item" msgstr "Voorraadartikel" -#: build/models.py:1749 +#: build/models.py:1763 msgid "Source stock item" msgstr "Bron voorraadartikel" -#: build/models.py:1762 +#: build/models.py:1776 msgid "Stock quantity to allocate to build" msgstr "Voorraad hoeveelheid toe te wijzen aan productie" -#: build/models.py:1770 +#: build/models.py:1784 msgid "Install into" msgstr "Installeren in" -#: build/models.py:1771 +#: build/models.py:1785 msgid "Destination stock item" msgstr "Bestemming voorraadartikel" @@ -1262,7 +1262,7 @@ msgid "Build Level" msgstr "" #: build/serializers.py:115 build/serializers.py:1234 build/serializers.py:1323 -#: part/admin.py:41 part/admin.py:408 part/models.py:4116 part/stocktake.py:219 +#: part/admin.py:41 part/admin.py:408 part/models.py:4103 part/stocktake.py:219 #: stock/admin.py:157 msgid "Part Name" msgstr "Onderdeel naam" @@ -1323,10 +1323,10 @@ msgid "Enter serial numbers for build outputs" msgstr "Voer serienummers in voor productieuitvoeren" #: build/serializers.py:359 build/serializers.py:500 build/serializers.py:572 -#: order/serializers.py:655 order/serializers.py:778 order/serializers.py:1789 -#: part/serializers.py:1233 stock/serializers.py:103 stock/serializers.py:698 +#: order/serializers.py:655 order/serializers.py:778 order/serializers.py:1797 +#: part/serializers.py:1231 stock/serializers.py:103 stock/serializers.py:698 #: stock/serializers.py:858 stock/serializers.py:984 stock/serializers.py:1432 -#: stock/serializers.py:1688 stock/templates/stock/item_base.html:394 +#: stock/serializers.py:1688 stock/templates/stock/item_base.html:390 #: templates/js/translated/barcode.js:578 #: templates/js/translated/barcode.js:826 templates/js/translated/build.js:1035 #: templates/js/translated/build.js:1177 templates/js/translated/build.js:2547 @@ -1344,7 +1344,7 @@ msgstr "Locatie" #: build/serializers.py:360 msgid "Stock location for build output" -msgstr "" +msgstr "Voorraad locatie voor project uitvoer" #: build/serializers.py:374 msgid "Auto Allocate Serial Numbers" @@ -1390,7 +1390,7 @@ msgstr "Locatie van voltooide productieuitvoeren" #: build/templates/build/detail.html:62 order/models.py:477 #: order/models.py:1003 order/models.py:2152 order/serializers.py:687 #: stock/admin.py:165 stock/serializers.py:1035 stock/serializers.py:1576 -#: stock/templates/stock/item_base.html:427 +#: stock/templates/stock/item_base.html:423 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2366 #: templates/js/translated/purchase_order.js:1371 #: templates/js/translated/purchase_order.js:1792 @@ -1399,7 +1399,7 @@ msgstr "Locatie van voltooide productieuitvoeren" #: templates/js/translated/stock.js:2262 templates/js/translated/stock.js:3080 #: templates/js/translated/stock.js:3205 msgid "Status" -msgstr "" +msgstr "Status" #: build/serializers.py:585 msgid "Accept Incomplete Allocation" @@ -1411,11 +1411,11 @@ msgstr "Voltooi de uitvoer als de voorraad niet volledig is toegewezen" #: build/serializers.py:698 msgid "Consume Allocated Stock" -msgstr "" +msgstr "Toegewezen voorraad gebruiken" #: build/serializers.py:699 msgid "Consume any stock which has already been allocated to this build" -msgstr "" +msgstr "Verbruik elke voorraad die al is toegewezen aan deze build" #: build/serializers.py:705 msgid "Remove Incomplete Outputs" @@ -1522,7 +1522,7 @@ msgstr "Productieuitvoer moet worden opgegeven voor de toewijzing van gevolgde o 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:1030 order/serializers.py:1614 +#: build/serializers.py:1030 order/serializers.py:1622 msgid "Allocation items must be provided" msgstr "Allocaties voor artikelen moeten worden opgegeven" @@ -1577,7 +1577,7 @@ msgstr "Fabrikant artikel nummer (MPN)" #: build/serializers.py:1227 stock/admin.py:53 stock/admin.py:176 #: stock/serializers.py:464 msgid "Location Name" -msgstr "" +msgstr "Locatie naam" #: build/serializers.py:1228 msgid "Build Reference" @@ -1590,22 +1590,22 @@ msgstr "" #: build/serializers.py:1230 company/models.py:849 #: company/templates/company/supplier_part.html:160 order/serializers.py:691 #: stock/admin.py:229 stock/models.py:822 stock/serializers.py:1586 -#: stock/templates/stock/item_base.html:240 +#: stock/templates/stock/item_base.html:236 #: templates/js/translated/company.js:1646 #: templates/js/translated/purchase_order.js:1169 #: templates/js/translated/purchase_order.js:1332 #: templates/js/translated/stock.js:1214 templates/js/translated/stock.js:1246 #: templates/js/translated/stock.js:2510 msgid "Packaging" -msgstr "" +msgstr "Verpakking" #: build/serializers.py:1233 part/admin.py:39 part/admin.py:398 -#: part/models.py:4115 part/stocktake.py:218 stock/admin.py:153 +#: part/models.py:4102 part/stocktake.py:218 stock/admin.py:153 msgid "Part ID" msgstr "Onderdeel-id" #: build/serializers.py:1235 build/serializers.py:1324 part/admin.py:402 -#: part/models.py:4117 +#: part/models.py:4104 msgid "Part IPN" msgstr "" @@ -1625,7 +1625,7 @@ msgstr "" #: build/serializers.py:1243 #: report/templates/report/inventree_return_order_report.html:25 #: report/templates/report/inventree_test_report.html:88 stock/models.py:849 -#: stock/serializers.py:152 stock/templates/stock/item_base.html:311 +#: stock/serializers.py:152 stock/templates/stock/item_base.html:307 #: templates/js/translated/build.js:523 templates/js/translated/build.js:1543 #: templates/js/translated/build.js:2530 #: templates/js/translated/model_renderers.js:231 @@ -1642,11 +1642,11 @@ msgstr "Serienummer" #: templates/js/translated/build.js:1020 templates/js/translated/build.js:1167 #: templates/js/translated/build.js:2519 msgid "Allocated Quantity" -msgstr "" +msgstr "Toegewezen hoeveelheid" -#: build/serializers.py:1257 stock/templates/stock/item_base.html:340 +#: build/serializers.py:1257 stock/templates/stock/item_base.html:336 msgid "Available Quantity" -msgstr "" +msgstr "Beschikbare hoeveelheid" #: build/serializers.py:1327 msgid "Part Category ID" @@ -1667,13 +1667,13 @@ msgstr "Volgbaar" msgid "Inherited" msgstr "" -#: build/serializers.py:1337 part/models.py:4326 +#: build/serializers.py:1337 part/models.py:4313 #: part/templates/part/upload_bom.html:56 templates/js/translated/bom.js:1046 #: templates/js/translated/build.js:2714 msgid "Allow Variants" msgstr "" -#: build/serializers.py:1341 part/models.py:4124 part/models.py:4594 +#: build/serializers.py:1341 part/models.py:4111 part/models.py:4587 #: stock/api.py:793 msgid "BOM Item" msgstr "Stuklijstartikel" @@ -1681,10 +1681,10 @@ msgstr "Stuklijstartikel" #: build/serializers.py:1350 build/templates/build/detail.html:236 #: build/templates/build/sidebar.html:16 templates/js/translated/index.js:130 msgid "Allocated Stock" -msgstr "" +msgstr "Toegewezen voorraad" #: build/serializers.py:1355 order/serializers.py:1179 part/admin.py:132 -#: part/bom.py:186 part/serializers.py:920 part/serializers.py:1623 +#: part/bom.py:186 part/serializers.py:918 part/serializers.py:1621 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 #: templates/js/translated/build.js:2807 templates/js/translated/part.js:712 #: templates/js/translated/part.js:2155 @@ -1692,13 +1692,13 @@ msgstr "" msgid "On Order" msgstr "In bestelling" -#: build/serializers.py:1360 order/serializers.py:1180 part/serializers.py:1625 +#: build/serializers.py:1360 order/serializers.py:1180 part/serializers.py:1623 #: templates/js/translated/build.js:2811 #: templates/js/translated/table_filters.js:367 msgid "In Production" msgstr "" -#: build/serializers.py:1365 part/bom.py:185 part/serializers.py:1650 +#: build/serializers.py:1365 part/bom.py:185 part/serializers.py:1648 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" @@ -1706,19 +1706,19 @@ msgstr "Beschikbare Voorraad" #: build/serializers.py:1369 msgid "Available Substitute Stock" -msgstr "" +msgstr "Beschikbare vervanging voorraad" #: build/serializers.py:1370 msgid "Available Variant Stock" -msgstr "" +msgstr "Beschikbare varianten voorraad" #: build/serializers.py:1371 msgid "Total Available Stock" -msgstr "" +msgstr "Totaal beschikbare voorraad" -#: build/serializers.py:1372 part/serializers.py:927 +#: build/serializers.py:1372 part/serializers.py:925 msgid "External Stock" -msgstr "" +msgstr "Externe voorraad" #: build/status_codes.py:11 generic/states/tests.py:21 #: generic/states/tests.py:131 order/status_codes.py:12 @@ -1745,7 +1745,7 @@ msgstr "Geannuleerd" #: importer/status_codes.py:27 order/status_codes.py:15 #: order/status_codes.py:50 order/status_codes.py:81 #: order/templates/order/order_base.html:163 -#: order/templates/order/sales_order_base.html:168 report/models.py:443 +#: order/templates/order/sales_order_base.html:168 report/models.py:451 msgid "Complete" msgstr "Voltooid" @@ -1849,9 +1849,6 @@ msgid "Delete Build" msgstr "Verwijder Productie" #: build/templates/build/build_base.html:87 -msgid "Isueue Build" -msgstr "" - #: build/templates/build/build_base.html:88 msgid "Issue Build" msgstr "" @@ -1931,7 +1928,7 @@ msgstr "Voltooide Uitvoeren" #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_report.html:135 #: report/templates/report/inventree_sales_order_report.html:14 -#: stock/templates/stock/item_base.html:369 +#: stock/templates/stock/item_base.html:365 #: templates/email/overdue_sales_order.html:15 #: templates/js/translated/pricing.js:929 #: templates/js/translated/sales_order.js:805 @@ -1991,7 +1988,7 @@ msgid "Allocated Parts" msgstr "Toegewezen Onderdelen" #: build/templates/build/detail.html:80 stock/admin.py:163 -#: stock/templates/stock/item_base.html:162 +#: stock/templates/stock/item_base.html:158 #: templates/js/translated/build.js:1556 #: templates/js/translated/model_renderers.js:242 #: templates/js/translated/purchase_order.js:1326 @@ -2000,7 +1997,7 @@ msgstr "Toegewezen Onderdelen" #: templates/js/translated/table_filters.js:320 #: templates/js/translated/table_filters.js:411 msgid "Batch" -msgstr "" +msgstr "Batch" #: build/templates/build/detail.html:133 #: order/templates/order/order_base.html:178 @@ -2067,7 +2064,7 @@ msgstr "Onderdelen bestellen" #: build/templates/build/detail.html:205 msgid "Available stock has been filtered based on specified source location for this build order" -msgstr "" +msgstr "De beschikbare voorraad is gefilterd op basis van de opgegeven bron locatie voor deze build order" #: build/templates/build/detail.html:215 msgid "Incomplete Build Outputs" @@ -2148,19 +2145,19 @@ msgstr "Onvolledige Productieuitvoeren" msgid "Test Statistics" msgstr "" -#: common/api.py:692 +#: common/api.py:725 msgid "Is Link" msgstr "" -#: common/api.py:700 +#: common/api.py:733 msgid "Is File" msgstr "" -#: common/api.py:743 +#: common/api.py:776 msgid "User does not have permission to delete these attachments" msgstr "" -#: common/api.py:760 +#: common/api.py:793 msgid "User does not have permission to delete this attachment" msgstr "" @@ -2352,8 +2349,8 @@ msgstr "" #: common/models.py:1297 common/models.py:1353 common/models.py:1366 #: common/models.py:1374 common/models.py:1383 common/models.py:1392 -#: common/models.py:1629 common/models.py:1651 common/models.py:1766 -#: common/models.py:2148 +#: common/models.py:1629 common/models.py:1651 common/models.py:1752 +#: common/models.py:2141 msgid "days" msgstr "dagen" @@ -2581,9 +2578,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:1485 part/admin.py:108 part/models.py:3959 -#: report/models.py:293 report/models.py:360 report/serializers.py:90 -#: report/serializers.py:131 stock/serializers.py:233 +#: common/models.py:1485 part/admin.py:108 part/models.py:3946 +#: report/models.py:301 report/models.py:368 report/serializers.py:91 +#: report/serializers.py:132 stock/serializers.py:233 #: templates/js/translated/table_filters.js:138 #: templates/js/translated/table_filters.js:775 msgid "Template" @@ -2598,7 +2595,7 @@ msgid "Parts can be assembled from other components by default" msgstr "Onderdelen kunnen standaard vanuit andere componenten worden samengesteld" #: common/models.py:1497 part/admin.py:95 part/models.py:1172 -#: part/serializers.py:1617 templates/js/translated/table_filters.js:737 +#: part/serializers.py:1615 templates/js/translated/table_filters.js:737 msgid "Component" msgstr "" @@ -2823,7 +2820,7 @@ msgid "Log errors which occur when generating reports" msgstr "" #: common/models.py:1702 plugin/builtin/labels/label_sheet.py:28 -#: report/models.py:301 +#: report/models.py:309 msgid "Page Size" msgstr "Paginagrootte" @@ -2832,914 +2829,914 @@ msgid "Default page size for PDF reports" msgstr "Standaard paginagrootte voor PDF rapporten" #: common/models.py:1708 -msgid "Enable Test Reports" -msgstr "Activeer Testrapporten" - -#: common/models.py:1709 -msgid "Enable generation of test reports" -msgstr "Activeer het genereren van testrapporten" - -#: common/models.py:1714 -msgid "Attach Test Reports" -msgstr "Testrapporten Toevoegen" - -#: common/models.py:1716 -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:1722 msgid "Globally Unique Serials" msgstr "Globaal unieke serienummers" -#: common/models.py:1723 +#: common/models.py:1709 msgid "Serial numbers for stock items must be globally unique" msgstr "Serienummers voor voorraaditems moeten globaal uniek zijn" -#: common/models.py:1728 +#: common/models.py:1714 msgid "Autofill Serial Numbers" msgstr "Serienummers automatisch invullen" -#: common/models.py:1729 +#: common/models.py:1715 msgid "Autofill serial numbers in forms" msgstr "Automatisch invullen van serienummer in formulieren" -#: common/models.py:1734 +#: common/models.py:1720 msgid "Delete Depleted Stock" msgstr "Verwijder uitgeputte voorraad" -#: common/models.py:1736 +#: common/models.py:1722 msgid "Determines default behavior when a stock item is depleted" -msgstr "" +msgstr "Bepaalt standaard gedrag wanneer een voorraadartikel leeg is" -#: common/models.py:1742 +#: common/models.py:1728 msgid "Batch Code Template" msgstr "Batchcode Sjabloon" -#: common/models.py:1744 +#: common/models.py:1730 msgid "Template for generating default batch codes for stock items" msgstr "Sjabloon voor het genereren van standaard batchcodes voor voorraadartikelen" -#: common/models.py:1749 +#: common/models.py:1735 msgid "Stock Expiry" msgstr "Verlopen Voorraad" -#: common/models.py:1750 +#: common/models.py:1736 msgid "Enable stock expiry functionality" msgstr "Verlopen voorraad functionaliteit inschakelen" -#: common/models.py:1755 +#: common/models.py:1741 msgid "Sell Expired Stock" msgstr "Verkoop Verlopen Voorraad" -#: common/models.py:1756 +#: common/models.py:1742 msgid "Allow sale of expired stock" msgstr "Verkoop verlopen voorraad toestaan" -#: common/models.py:1761 +#: common/models.py:1747 msgid "Stock Stale Time" msgstr "Voorraad Vervaltijd" -#: common/models.py:1763 +#: common/models.py:1749 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:1770 +#: common/models.py:1756 msgid "Build Expired Stock" msgstr "Produceer Verlopen Voorraad" -#: common/models.py:1771 +#: common/models.py:1757 msgid "Allow building with expired stock" msgstr "Sta productie met verlopen voorraad toe" -#: common/models.py:1776 +#: common/models.py:1762 msgid "Stock Ownership Control" msgstr "Voorraad Eigenaar Toezicht" -#: common/models.py:1777 +#: common/models.py:1763 msgid "Enable ownership control over stock locations and items" msgstr "Eigenaarstoezicht over voorraadlocaties en items inschakelen" -#: common/models.py:1782 +#: common/models.py:1768 msgid "Stock Location Default Icon" msgstr "Voorraadlocatie standaard icoon" -#: common/models.py:1783 +#: common/models.py:1769 msgid "Stock location default icon (empty means no icon)" msgstr "Standaard locatie pictogram (leeg betekent geen icoon)" -#: common/models.py:1788 +#: common/models.py:1774 msgid "Show Installed Stock Items" msgstr "Geïnstalleerde voorraad items weergeven" -#: common/models.py:1789 +#: common/models.py:1775 msgid "Display installed stock items in stock tables" msgstr "Geïnstalleerde voorraadartikelen in voorraadtabellen tonen" -#: common/models.py:1794 +#: common/models.py:1780 msgid "Check BOM when installing items" msgstr "" -#: common/models.py:1796 +#: common/models.py:1782 msgid "Installed stock items must exist in the BOM for the parent part" -msgstr "" +msgstr "Geïnstalleerde voorraad items moeten in de BOM voor het bovenliggende deel bestaan" -#: common/models.py:1802 +#: common/models.py:1788 msgid "Allow Out of Stock Transfer" -msgstr "" +msgstr "Sta 'Niet op voorraad overschrijving' toe" -#: common/models.py:1804 +#: common/models.py:1790 msgid "Allow stock items which are not in stock to be transferred between stock locations" -msgstr "" +msgstr "Toestaan dat voorraadartikelen die niet op voorraad zijn worden overgebracht tussen voorraadlocaties" -#: common/models.py:1810 +#: common/models.py:1796 msgid "Build Order Reference Pattern" msgstr "Productieorderreferentiepatroon" -#: common/models.py:1812 +#: common/models.py:1798 msgid "Required pattern for generating Build Order reference field" msgstr "Vereist patroon voor het genereren van het Bouworderreferentieveld" -#: common/models.py:1818 common/models.py:1874 common/models.py:1896 -#: common/models.py:1932 +#: common/models.py:1804 common/models.py:1860 common/models.py:1882 +#: common/models.py:1918 msgid "Require Responsible Owner" msgstr "" -#: common/models.py:1819 common/models.py:1875 common/models.py:1897 -#: common/models.py:1933 +#: common/models.py:1805 common/models.py:1861 common/models.py:1883 +#: common/models.py:1919 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/models.py:1824 +#: common/models.py:1810 msgid "Require Active Part" msgstr "" -#: common/models.py:1825 +#: common/models.py:1811 msgid "Prevent build order creation for inactive parts" msgstr "" -#: common/models.py:1830 +#: common/models.py:1816 msgid "Require Locked Part" msgstr "" -#: common/models.py:1831 +#: common/models.py:1817 msgid "Prevent build order creation for unlocked parts" msgstr "" -#: common/models.py:1836 +#: common/models.py:1822 msgid "Require Valid BOM" msgstr "" -#: common/models.py:1838 +#: common/models.py:1824 msgid "Prevent build order creation unless BOM has been validated" msgstr "" -#: common/models.py:1844 +#: common/models.py:1830 msgid "Require Closed Child Orders" msgstr "" -#: common/models.py:1846 +#: common/models.py:1832 msgid "Prevent build order completion until all child orders are closed" msgstr "" -#: common/models.py:1852 +#: common/models.py:1838 msgid "Block Until Tests Pass" msgstr "" -#: common/models.py:1854 +#: common/models.py:1840 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "" -#: common/models.py:1860 +#: common/models.py:1846 msgid "Enable Return Orders" msgstr "Retourorders inschakelen" -#: common/models.py:1861 +#: common/models.py:1847 msgid "Enable return order functionality in the user interface" msgstr "Retourorder functionaliteit inschakelen in de gebruikersinterface" -#: common/models.py:1866 +#: common/models.py:1852 msgid "Return Order Reference Pattern" msgstr "Retourorder referentie patroon" -#: common/models.py:1868 +#: common/models.py:1854 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1880 +#: common/models.py:1866 msgid "Edit Completed Return Orders" msgstr "Bewerk voltooide retourorders" -#: common/models.py:1882 +#: common/models.py:1868 msgid "Allow editing of return orders after they have been completed" msgstr "Bewerken van retourorders toestaan nadat deze zijn voltooid" -#: common/models.py:1888 +#: common/models.py:1874 msgid "Sales Order Reference Pattern" msgstr "Verkooporderreferentiepatroon" -#: common/models.py:1890 +#: common/models.py:1876 msgid "Required pattern for generating Sales Order reference field" msgstr "Vereist patroon voor het genereren van het Verkooporderreferentieveld" -#: common/models.py:1902 +#: common/models.py:1888 msgid "Sales Order Default Shipment" msgstr "Standaard Verzending Verkooporder" -#: common/models.py:1903 +#: common/models.py:1889 msgid "Enable creation of default shipment with sales orders" msgstr "Aanmaken standaard verzending bij verkooporders inschakelen" -#: common/models.py:1908 +#: common/models.py:1894 msgid "Edit Completed Sales Orders" msgstr "Bewerk voltooide verkooporders" -#: common/models.py:1910 +#: common/models.py:1896 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "Bewerken van verkooporders toestaan nadat deze zijn verzonden of voltooid" -#: common/models.py:1916 +#: common/models.py:1902 msgid "Mark Shipped Orders as Complete" msgstr "" -#: common/models.py:1918 +#: common/models.py:1904 msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status" msgstr "" -#: common/models.py:1924 +#: common/models.py:1910 msgid "Purchase Order Reference Pattern" msgstr "Inkooporderreferentiepatroon" -#: common/models.py:1926 +#: common/models.py:1912 msgid "Required pattern for generating Purchase Order reference field" msgstr "Vereist patroon voor het genereren van het Inkooporderreferentieveld" -#: common/models.py:1938 +#: common/models.py:1924 msgid "Edit Completed Purchase Orders" msgstr "Bewerk voltooide verkooporders" -#: common/models.py:1940 +#: common/models.py:1926 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "Bewerken van inkooporders toestaan nadat deze zijn verzonden of voltooid" -#: common/models.py:1946 +#: common/models.py:1932 msgid "Auto Complete Purchase Orders" msgstr "" -#: common/models.py:1948 +#: common/models.py:1934 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/models.py:1955 +#: common/models.py:1941 msgid "Enable password forgot" msgstr "Wachtwoord vergeten functie inschakelen" -#: common/models.py:1956 +#: common/models.py:1942 msgid "Enable password forgot function on the login pages" msgstr "Wachtwoord vergeten functie inschakelen op de inlogpagina's" -#: common/models.py:1961 +#: common/models.py:1947 msgid "Enable registration" msgstr "Registratie inschakelen" -#: common/models.py:1962 +#: common/models.py:1948 msgid "Enable self-registration for users on the login pages" msgstr "Zelfregistratie voor gebruikers op de inlogpagina's inschakelen" -#: common/models.py:1967 +#: common/models.py:1953 msgid "Enable SSO" msgstr "SSO inschakelen" -#: common/models.py:1968 +#: common/models.py:1954 msgid "Enable SSO on the login pages" msgstr "SSO inschakelen op de inlogpagina's" -#: common/models.py:1973 +#: common/models.py:1959 msgid "Enable SSO registration" msgstr "Schakel gebruikersregistratie met SSO in" -#: common/models.py:1975 +#: common/models.py:1961 msgid "Enable self-registration via SSO for users on the login pages" msgstr "Zelfregistratie voor gebruikers middels SSO op de inlogpagina's inschakelen" -#: common/models.py:1981 +#: common/models.py:1967 msgid "Enable SSO group sync" msgstr "" -#: common/models.py:1983 +#: common/models.py:1969 msgid "Enable synchronizing InvenTree groups with groups provided by the IdP" msgstr "" -#: common/models.py:1989 +#: common/models.py:1975 msgid "SSO group key" msgstr "" -#: common/models.py:1991 +#: common/models.py:1977 msgid "The name of the groups claim attribute provided by the IdP" msgstr "" -#: common/models.py:1997 +#: common/models.py:1983 msgid "SSO group map" msgstr "" -#: common/models.py:1999 +#: common/models.py:1985 msgid "A mapping from SSO groups to local InvenTree groups. If the local group does not exist, it will be created." msgstr "" -#: common/models.py:2005 +#: common/models.py:1991 msgid "Remove groups outside of SSO" msgstr "" -#: common/models.py:2007 +#: common/models.py:1993 msgid "Whether groups assigned to the user should be removed if they are not backend by the IdP. Disabling this setting might cause security issues" msgstr "" -#: common/models.py:2013 +#: common/models.py:1999 msgid "Email required" msgstr "E-mailadres verplicht" -#: common/models.py:2014 +#: common/models.py:2000 msgid "Require user to supply mail on signup" msgstr "Vereis gebruiker om e-mailadres te registreren bij aanmelding" -#: common/models.py:2019 +#: common/models.py:2005 msgid "Auto-fill SSO users" msgstr "SSO-gebruikers automatisch invullen" -#: common/models.py:2021 +#: common/models.py:2007 msgid "Automatically fill out user-details from SSO account-data" msgstr "Gebruikersdetails van SSO-accountgegevens automatisch invullen" -#: common/models.py:2027 +#: common/models.py:2013 msgid "Mail twice" msgstr "E-mail twee keer" -#: common/models.py:2028 +#: common/models.py:2014 msgid "On signup ask users twice for their mail" msgstr "Bij inschrijving gebruikers twee keer om hun e-mail vragen" -#: common/models.py:2033 +#: common/models.py:2019 msgid "Password twice" msgstr "Wachtwoord tweemaal" -#: common/models.py:2034 +#: common/models.py:2020 msgid "On signup ask users twice for their password" msgstr "Laat gebruikers twee keer om hun wachtwoord vragen tijdens het aanmelden" -#: common/models.py:2039 +#: common/models.py:2025 msgid "Allowed domains" msgstr "Toegestane domeinen" -#: common/models.py:2041 +#: common/models.py:2027 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "Inschrijven beperken tot bepaalde domeinen (komma-gescheiden, beginnend met @)" -#: common/models.py:2047 +#: common/models.py:2033 msgid "Group on signup" msgstr "Groep bij aanmelding" -#: common/models.py:2049 +#: common/models.py:2035 msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP." msgstr "" -#: common/models.py:2055 +#: common/models.py:2041 msgid "Enforce MFA" msgstr "MFA afdwingen" -#: common/models.py:2056 +#: common/models.py:2042 msgid "Users must use multifactor security." msgstr "Gebruikers moeten multifactor-beveiliging gebruiken." -#: common/models.py:2061 +#: common/models.py:2047 msgid "Check plugins on startup" msgstr "Controleer plugins bij het opstarten" -#: common/models.py:2063 +#: common/models.py:2049 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "Controleer of alle plug-ins zijn geïnstalleerd bij het opstarten - inschakelen in container-omgevingen" -#: common/models.py:2071 +#: common/models.py:2057 msgid "Check for plugin updates" msgstr "" -#: common/models.py:2072 +#: common/models.py:2058 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:2078 +#: common/models.py:2064 msgid "Enable URL integration" msgstr "Activeer URL-integratie" -#: common/models.py:2079 +#: common/models.py:2065 msgid "Enable plugins to add URL routes" msgstr "Plugins toestaan om URL-routes toe te voegen" -#: common/models.py:2085 +#: common/models.py:2071 msgid "Enable navigation integration" msgstr "Activeer navigatie integratie" -#: common/models.py:2086 +#: common/models.py:2072 msgid "Enable plugins to integrate into navigation" msgstr "Plugins toestaan om te integreren in navigatie" -#: common/models.py:2092 +#: common/models.py:2078 msgid "Enable app integration" msgstr "Activeer app integratie" -#: common/models.py:2093 +#: common/models.py:2079 msgid "Enable plugins to add apps" msgstr "Activeer plug-ins om apps toe te voegen" -#: common/models.py:2099 +#: common/models.py:2085 msgid "Enable schedule integration" msgstr "Activeer planning integratie" -#: common/models.py:2100 +#: common/models.py:2086 msgid "Enable plugins to run scheduled tasks" msgstr "Activeer plugin om periodiek taken uit te voeren" -#: common/models.py:2106 +#: common/models.py:2092 msgid "Enable event integration" msgstr "Activeer evenement integratie" -#: common/models.py:2107 +#: common/models.py:2093 msgid "Enable plugins to respond to internal events" msgstr "Activeer plugin om op interne evenementen te reageren" -#: common/models.py:2113 +#: common/models.py:2099 +msgid "Enable interface integration" +msgstr "" + +#: common/models.py:2100 +msgid "Enable plugins to integrate into the user interface" +msgstr "" + +#: common/models.py:2106 msgid "Enable project codes" msgstr "Activeer project codes" -#: common/models.py:2114 +#: common/models.py:2107 msgid "Enable project codes for tracking projects" msgstr "Activeer project codes voor het bijhouden van projecten" -#: common/models.py:2119 +#: common/models.py:2112 msgid "Stocktake Functionality" msgstr "Voorraadcontrole functionaliteit" -#: common/models.py:2121 +#: common/models.py:2114 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "Schakel voorraadfunctionaliteit in voor het opnemen van voorraadniveaus en het berekenen van voorraadwaarde" -#: common/models.py:2127 +#: common/models.py:2120 msgid "Exclude External Locations" msgstr "Externe locaties uitsluiten" -#: common/models.py:2129 +#: common/models.py:2122 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "Voorraadartikelen op externe locaties uitsluiten van voorraadberekeningen" -#: common/models.py:2135 +#: common/models.py:2128 msgid "Automatic Stocktake Period" msgstr "Automatische Voorraadcontrole Periode" -#: common/models.py:2137 +#: common/models.py:2130 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "Aantal dagen tussen automatische voorraadopname (ingesteld op nul om uit te schakelen)" -#: common/models.py:2143 +#: common/models.py:2136 msgid "Report Deletion Interval" msgstr "Rapport Verwijdering Interval" -#: common/models.py:2145 +#: common/models.py:2138 msgid "Stocktake reports will be deleted after specified number of days" msgstr "Voorraadrapportage zal worden verwijderd na het opgegeven aantal dagen" -#: common/models.py:2152 +#: common/models.py:2145 msgid "Display Users full names" msgstr "" -#: common/models.py:2153 +#: common/models.py:2146 msgid "Display Users full names instead of usernames" msgstr "" -#: common/models.py:2158 +#: common/models.py:2151 msgid "Enable Test Station Data" msgstr "" -#: common/models.py:2159 +#: common/models.py:2152 msgid "Enable test station data collection for test results" msgstr "" -#: common/models.py:2171 common/models.py:2551 +#: common/models.py:2157 +msgid "Create Template on Upload" +msgstr "" + +#: common/models.py:2159 +msgid "Create a new test template when uploading test data which does not match an existing template" +msgstr "" + +#: common/models.py:2172 common/models.py:2552 msgid "Settings key (must be unique - case insensitive" msgstr "Instellingssleutel (moet uniek zijn - hoofdletter ongevoelig" -#: common/models.py:2214 +#: common/models.py:2215 msgid "Hide inactive parts" msgstr "Inactieve Onderdelen Verbergen" -#: common/models.py:2216 +#: common/models.py:2217 msgid "Hide inactive parts in results displayed on the homepage" msgstr "Verberg inactieve delen bij items op de homepage" -#: common/models.py:2222 +#: common/models.py:2223 msgid "Show subscribed parts" msgstr "Toon geabonneerde onderdelen" -#: common/models.py:2223 +#: common/models.py:2224 msgid "Show subscribed parts on the homepage" msgstr "Toon geabonneerde onderdelen op de homepage" -#: common/models.py:2228 +#: common/models.py:2229 msgid "Show subscribed categories" msgstr "Toon geabonneerde categorieën" -#: common/models.py:2229 +#: common/models.py:2230 msgid "Show subscribed part categories on the homepage" msgstr "Toon geabonneerde onderdeel categorieën op de startpagina" -#: common/models.py:2234 +#: common/models.py:2235 msgid "Show latest parts" msgstr "Toon laatste onderdelen" -#: common/models.py:2235 +#: common/models.py:2236 msgid "Show latest parts on the homepage" msgstr "Toon laatste onderdelen op de startpagina" -#: common/models.py:2240 +#: common/models.py:2241 msgid "Show invalid BOMs" msgstr "" -#: common/models.py:2241 +#: common/models.py:2242 msgid "Show BOMs that await validation on the homepage" msgstr "Laat BOMs zien die wachten op validatie op de startpagina" -#: common/models.py:2246 +#: common/models.py:2247 msgid "Show recent stock changes" msgstr "Toon recente voorraadwijzigingen" -#: common/models.py:2247 +#: common/models.py:2248 msgid "Show recently changed stock items on the homepage" msgstr "Toon recent aangepaste voorraadartikelen op de startpagina" -#: common/models.py:2252 +#: common/models.py:2253 msgid "Show low stock" msgstr "Toon lage voorraad" -#: common/models.py:2253 +#: common/models.py:2254 msgid "Show low stock items on the homepage" msgstr "Toon lage voorraad van artikelen op de startpagina" -#: common/models.py:2258 +#: common/models.py:2259 msgid "Show depleted stock" msgstr "Toon lege voorraad" -#: common/models.py:2259 +#: common/models.py:2260 msgid "Show depleted stock items on the homepage" msgstr "Toon lege voorraad van artikelen op de startpagina" -#: common/models.py:2264 +#: common/models.py:2265 msgid "Show needed stock" msgstr "Toon benodigde voorraad" -#: common/models.py:2265 +#: common/models.py:2266 msgid "Show stock items needed for builds on the homepage" msgstr "Toon benodigde voorraad van artikelen voor productie op de startpagina" -#: common/models.py:2270 +#: common/models.py:2271 msgid "Show expired stock" msgstr "Toon verlopen voorraad" -#: common/models.py:2271 +#: common/models.py:2272 msgid "Show expired stock items on the homepage" msgstr "Toon verlopen voorraad van artikelen op de startpagina" -#: common/models.py:2276 +#: common/models.py:2277 msgid "Show stale stock" msgstr "Toon verouderde voorraad" -#: common/models.py:2277 +#: common/models.py:2278 msgid "Show stale stock items on the homepage" msgstr "Toon verouderde voorraad van artikelen op de startpagina" -#: common/models.py:2282 +#: common/models.py:2283 msgid "Show pending builds" msgstr "Toon openstaande producties" -#: common/models.py:2283 +#: common/models.py:2284 msgid "Show pending builds on the homepage" msgstr "Toon openstaande producties op de startpagina" -#: common/models.py:2288 +#: common/models.py:2289 msgid "Show overdue builds" msgstr "Toon achterstallige productie" -#: common/models.py:2289 +#: common/models.py:2290 msgid "Show overdue builds on the homepage" msgstr "Toon achterstallige producties op de startpagina" -#: common/models.py:2294 +#: common/models.py:2295 msgid "Show outstanding POs" msgstr "Toon uitstaande PO's" -#: common/models.py:2295 +#: common/models.py:2296 msgid "Show outstanding POs on the homepage" msgstr "Toon uitstaande PO's op de startpagina" -#: common/models.py:2300 +#: common/models.py:2301 msgid "Show overdue POs" msgstr "Toon achterstallige PO's" -#: common/models.py:2301 +#: common/models.py:2302 msgid "Show overdue POs on the homepage" msgstr "Toon achterstallige PO's op de startpagina" -#: common/models.py:2306 +#: common/models.py:2307 msgid "Show outstanding SOs" msgstr "Toon uitstaande SO's" -#: common/models.py:2307 +#: common/models.py:2308 msgid "Show outstanding SOs on the homepage" msgstr "Toon uitstaande SO's op de startpagina" -#: common/models.py:2312 +#: common/models.py:2313 msgid "Show overdue SOs" msgstr "Toon achterstallige SO's" -#: common/models.py:2313 +#: common/models.py:2314 msgid "Show overdue SOs on the homepage" msgstr "Toon achterstallige SO's op de startpagina" -#: common/models.py:2318 +#: common/models.py:2319 msgid "Show pending SO shipments" msgstr "Toon in behandeling SO verzendingen" -#: common/models.py:2319 +#: common/models.py:2320 msgid "Show pending SO shipments on the homepage" msgstr "Toon in behandeling zijnde SO verzendingen op de startpagina" -#: common/models.py:2324 +#: common/models.py:2325 msgid "Show News" msgstr "Nieuws tonen" -#: common/models.py:2325 +#: common/models.py:2326 msgid "Show news on the homepage" msgstr "Nieuws op de startpagina weergeven" -#: common/models.py:2330 +#: common/models.py:2331 msgid "Inline label display" msgstr "Inline labelweergave" -#: common/models.py:2332 +#: common/models.py:2333 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "PDF-labels in browser weergeven, in plaats van als bestand te downloaden" -#: common/models.py:2338 +#: common/models.py:2339 msgid "Default label printer" msgstr "Standaard label printer" -#: common/models.py:2340 +#: common/models.py:2341 msgid "Configure which label printer should be selected by default" msgstr "Instellen welke label printer standaard moet worden geselecteerd" -#: common/models.py:2346 +#: common/models.py:2347 msgid "Inline report display" msgstr "Inline rapport weergeven" -#: common/models.py:2348 +#: common/models.py:2349 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "PDF-rapporten in de browser weergeven, in plaats van als bestand te downloaden" -#: common/models.py:2354 +#: common/models.py:2355 msgid "Search Parts" msgstr "Zoek Onderdelen" -#: common/models.py:2355 +#: common/models.py:2356 msgid "Display parts in search preview window" msgstr "Onderdelen weergeven in zoekscherm" -#: common/models.py:2360 +#: common/models.py:2361 msgid "Search Supplier Parts" msgstr "Zoek leveranciersonderdelen" -#: common/models.py:2361 +#: common/models.py:2362 msgid "Display supplier parts in search preview window" msgstr "Leveranciersonderdelen weergeven in zoekscherm" -#: common/models.py:2366 +#: common/models.py:2367 msgid "Search Manufacturer Parts" msgstr "Fabrikant onderdelen zoeken" -#: common/models.py:2367 +#: common/models.py:2368 msgid "Display manufacturer parts in search preview window" msgstr "Fabrikant onderdelen weergeven in zoekscherm" -#: common/models.py:2372 +#: common/models.py:2373 msgid "Hide Inactive Parts" msgstr "Inactieve Onderdelen Verbergen" -#: common/models.py:2373 +#: common/models.py:2374 msgid "Excluded inactive parts from search preview window" msgstr "Inactieve verkooporders weglaten in het zoekvenster" -#: common/models.py:2378 +#: common/models.py:2379 msgid "Search Categories" msgstr "Zoek categorieën" -#: common/models.py:2379 +#: common/models.py:2380 msgid "Display part categories in search preview window" msgstr "Toon onderdeelcategorieën in zoekvenster" -#: common/models.py:2384 +#: common/models.py:2385 msgid "Search Stock" msgstr "Zoek in Voorraad" -#: common/models.py:2385 +#: common/models.py:2386 msgid "Display stock items in search preview window" msgstr "Toon voorraad items in zoekvenster" -#: common/models.py:2390 +#: common/models.py:2391 msgid "Hide Unavailable Stock Items" msgstr "Verberg niet beschikbare voorraad items" -#: common/models.py:2392 +#: common/models.py:2393 msgid "Exclude stock items which are not available from the search preview window" msgstr "Voorraadartikelen die niet beschikbaar zijn niet in het zoekvenster weergeven" -#: common/models.py:2398 +#: common/models.py:2399 msgid "Search Locations" msgstr "Locaties doorzoeken" -#: common/models.py:2399 +#: common/models.py:2400 msgid "Display stock locations in search preview window" msgstr "Toon voorraadlocaties in zoekvenster" -#: common/models.py:2404 +#: common/models.py:2405 msgid "Search Companies" msgstr "Zoek bedrijven" -#: common/models.py:2405 +#: common/models.py:2406 msgid "Display companies in search preview window" msgstr "Toon bedrijven in zoekvenster" -#: common/models.py:2410 +#: common/models.py:2411 msgid "Search Build Orders" msgstr "Zoek Bouworders" -#: common/models.py:2411 +#: common/models.py:2412 msgid "Display build orders in search preview window" msgstr "Toon bouworders in zoekvenster" -#: common/models.py:2416 +#: common/models.py:2417 msgid "Search Purchase Orders" msgstr "Inkooporders Zoeken" -#: common/models.py:2417 +#: common/models.py:2418 msgid "Display purchase orders in search preview window" msgstr "Toon inkooporders in het zoekvenster" -#: common/models.py:2422 +#: common/models.py:2423 msgid "Exclude Inactive Purchase Orders" msgstr "Inactieve Inkooporders Weglaten" -#: common/models.py:2424 +#: common/models.py:2425 msgid "Exclude inactive purchase orders from search preview window" msgstr "Inactieve inkooporders weglaten in het zoekvenster" -#: common/models.py:2430 +#: common/models.py:2431 msgid "Search Sales Orders" msgstr "Verkooporders zoeken" -#: common/models.py:2431 +#: common/models.py:2432 msgid "Display sales orders in search preview window" msgstr "Toon verkooporders in het zoekvenster" -#: common/models.py:2436 +#: common/models.py:2437 msgid "Exclude Inactive Sales Orders" msgstr "Inactieve Verkooporders Weglaten" -#: common/models.py:2438 +#: common/models.py:2439 msgid "Exclude inactive sales orders from search preview window" msgstr "Inactieve verkooporders weglaten in het zoekvenster" -#: common/models.py:2444 +#: common/models.py:2445 msgid "Search Return Orders" msgstr "Zoek retourorders" -#: common/models.py:2445 +#: common/models.py:2446 msgid "Display return orders in search preview window" msgstr "Toon bouworders in zoekvenster" -#: common/models.py:2450 +#: common/models.py:2451 msgid "Exclude Inactive Return Orders" msgstr "Inactieve retourbestellingen weglaten" -#: common/models.py:2452 +#: common/models.py:2453 msgid "Exclude inactive return orders from search preview window" msgstr "Inactieve retourorders uitsluiten in zoekvenster" -#: common/models.py:2458 +#: common/models.py:2459 msgid "Search Preview Results" msgstr "Zoekvoorbeeld resultaten" -#: common/models.py:2460 +#: common/models.py:2461 msgid "Number of results to show in each section of the search preview window" msgstr "Aantal resultaten om weer te geven in elk gedeelte van het zoekvenster" -#: common/models.py:2466 +#: common/models.py:2467 msgid "Regex Search" msgstr "Regex zoeken" -#: common/models.py:2467 +#: common/models.py:2468 msgid "Enable regular expressions in search queries" msgstr "Schakel reguliere expressies in zoekopdrachten in" -#: common/models.py:2472 +#: common/models.py:2473 msgid "Whole Word Search" msgstr "Hele woorden zoeken" -#: common/models.py:2473 +#: common/models.py:2474 msgid "Search queries return results for whole word matches" msgstr "Zoekopdrachten geven resultaat voor hele woord overeenkomsten" -#: common/models.py:2478 +#: common/models.py:2479 msgid "Show Quantity in Forms" msgstr "Toon hoeveelheid in formulieren" -#: common/models.py:2479 +#: common/models.py:2480 msgid "Display available part quantity in some forms" msgstr "Hoeveelheid beschikbare onderdelen in sommige formulieren weergeven" -#: common/models.py:2484 +#: common/models.py:2485 msgid "Escape Key Closes Forms" msgstr "Escape-toets sluit formulieren" -#: common/models.py:2485 +#: common/models.py:2486 msgid "Use the escape key to close modal forms" msgstr "Gebruik de Escape-toets om standaard formulieren te sluiten" -#: common/models.py:2490 +#: common/models.py:2491 msgid "Fixed Navbar" msgstr "Vaste navigatiebalk" -#: common/models.py:2491 +#: common/models.py:2492 msgid "The navbar position is fixed to the top of the screen" msgstr "De navigatiebalk positie is gefixeerd aan de bovenkant van het scherm" -#: common/models.py:2496 +#: common/models.py:2497 msgid "Date Format" msgstr "Datum formaat" -#: common/models.py:2497 +#: common/models.py:2498 msgid "Preferred format for displaying dates" msgstr "Voorkeursindeling voor weergave van datums" -#: common/models.py:2510 part/templates/part/detail.html:41 +#: common/models.py:2511 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "Onderdeel planning" -#: common/models.py:2511 +#: common/models.py:2512 msgid "Display part scheduling information" msgstr "Toon informatie voor het plannen van onderdelen" -#: common/models.py:2516 part/templates/part/detail.html:62 +#: common/models.py:2517 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "Voorraadcontrole onderdeel" -#: common/models.py:2518 +#: common/models.py:2519 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "Toon voorraadinformatie van onderdeel (als voorraadcontrole functionaliteit is ingeschakeld)" -#: common/models.py:2524 +#: common/models.py:2525 msgid "Table String Length" msgstr "Tabel tekenreekslengte" -#: common/models.py:2526 +#: common/models.py:2527 msgid "Maximum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2532 +#: common/models.py:2533 msgid "Receive error reports" msgstr "Foutrapportages ontvangen" -#: common/models.py:2533 +#: common/models.py:2534 msgid "Receive notifications for system errors" msgstr "Meldingen ontvangen van systeemfouten" -#: common/models.py:2538 +#: common/models.py:2539 msgid "Last used printing machines" msgstr "" -#: common/models.py:2539 +#: common/models.py:2540 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2559 common/models.py:2560 common/models.py:2717 -#: common/models.py:2718 common/models.py:2963 common/models.py:2964 -#: common/models.py:3287 common/models.py:3288 importer/models.py:89 -#: part/models.py:3319 part/models.py:3406 part/models.py:3480 -#: part/models.py:3508 plugin/models.py:274 plugin/models.py:275 +#: common/models.py:2560 common/models.py:2561 common/models.py:2718 +#: common/models.py:2719 common/models.py:2964 common/models.py:2965 +#: common/models.py:3288 common/models.py:3289 importer/models.py:89 +#: part/models.py:3306 part/models.py:3393 part/models.py:3467 +#: part/models.py:3495 plugin/models.py:274 plugin/models.py:275 #: report/templates/report/inventree_test_report.html:105 #: templates/js/translated/stock.js:3121 users/models.py:111 msgid "User" msgstr "Gebruiker" -#: common/models.py:2582 +#: common/models.py:2583 msgid "Price break quantity" msgstr "" -#: common/models.py:2589 company/serializers.py:517 order/admin.py:42 +#: common/models.py:2590 company/serializers.py:517 order/admin.py:42 #: order/models.py:1423 order/models.py:2410 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1892 #: templates/js/translated/pricing.js:621 @@ -3747,96 +3744,96 @@ msgstr "" msgid "Price" msgstr "Prijs" -#: common/models.py:2590 +#: common/models.py:2591 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2694 common/models.py:2879 +#: common/models.py:2695 common/models.py:2880 msgid "Endpoint" msgstr "Eindpunt" -#: common/models.py:2695 +#: common/models.py:2696 msgid "Endpoint at which this webhook is received" msgstr "Eindpunt waarop deze webhook wordt ontvangen" -#: common/models.py:2705 +#: common/models.py:2706 msgid "Name for this webhook" msgstr "Naam van deze webhook" -#: common/models.py:2709 +#: common/models.py:2710 msgid "Is this webhook active" msgstr "Is deze webhook actief" -#: common/models.py:2725 users/models.py:159 +#: common/models.py:2726 users/models.py:159 msgid "Token" msgstr "" -#: common/models.py:2726 +#: common/models.py:2727 msgid "Token for access" msgstr "Token voor toegang" -#: common/models.py:2734 +#: common/models.py:2735 msgid "Secret" msgstr "Geheim" -#: common/models.py:2735 +#: common/models.py:2736 msgid "Shared secret for HMAC" msgstr "Gedeeld geheim voor HMAC" -#: common/models.py:2843 +#: common/models.py:2844 msgid "Message ID" msgstr "Bericht ID" -#: common/models.py:2844 +#: common/models.py:2845 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2852 +#: common/models.py:2853 msgid "Host" msgstr "" -#: common/models.py:2853 +#: common/models.py:2854 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2861 +#: common/models.py:2862 msgid "Header" msgstr "Koptekst" -#: common/models.py:2862 +#: common/models.py:2863 msgid "Header of this message" msgstr "Koptekst van dit bericht" -#: common/models.py:2869 +#: common/models.py:2870 msgid "Body" msgstr "Berichtinhoud" -#: common/models.py:2870 +#: common/models.py:2871 msgid "Body of this message" msgstr "Inhoud van dit bericht" -#: common/models.py:2880 +#: common/models.py:2881 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2885 +#: common/models.py:2886 msgid "Worked on" msgstr "Aan gewerkt" -#: common/models.py:2886 +#: common/models.py:2887 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:3012 +#: common/models.py:3013 msgid "Id" msgstr "" -#: common/models.py:3014 templates/js/translated/company.js:965 +#: common/models.py:3015 templates/js/translated/company.js:965 #: templates/js/translated/news.js:44 msgid "Title" msgstr "Titel" -#: common/models.py:3016 common/models.py:3271 company/models.py:146 +#: common/models.py:3017 common/models.py:3272 company/models.py:146 #: company/models.py:443 company/models.py:509 company/models.py:815 #: order/models.py:303 order/models.py:1378 order/models.py:1810 #: part/admin.py:55 part/models.py:1069 @@ -3851,219 +3848,219 @@ msgstr "Titel" #: templates/js/translated/sales_order.js:1092 #: templates/js/translated/sales_order.js:2023 msgid "Link" -msgstr "" +msgstr "Koppeling" -#: common/models.py:3018 templates/js/translated/news.js:60 +#: common/models.py:3019 templates/js/translated/news.js:60 msgid "Published" msgstr "Gepubliceerd" -#: common/models.py:3020 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:3021 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:103 msgid "Author" msgstr "" -#: common/models.py:3022 templates/js/translated/news.js:52 +#: common/models.py:3023 templates/js/translated/news.js:52 msgid "Summary" msgstr "Samenvatting" -#: common/models.py:3025 +#: common/models.py:3026 msgid "Read" msgstr "Gelezen" -#: common/models.py:3025 +#: common/models.py:3026 msgid "Was this news item read?" msgstr "" -#: common/models.py:3042 company/models.py:156 part/models.py:1079 +#: common/models.py:3043 company/models.py:156 part/models.py:1079 #: 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.html:35 -#: stock/templates/stock/item_base.html:133 templates/503.html:31 +#: stock/templates/stock/item_base.html:129 templates/503.html:31 #: templates/hover_image.html:7 templates/hover_image.html:9 #: templates/modals.html:6 msgid "Image" msgstr "Afbeelding" -#: common/models.py:3042 +#: common/models.py:3043 msgid "Image file" msgstr "Afbeelding" -#: common/models.py:3054 common/models.py:3255 +#: common/models.py:3055 common/models.py:3256 msgid "Target model type for this image" msgstr "" -#: common/models.py:3058 +#: common/models.py:3059 msgid "Target model ID for this image" msgstr "" -#: common/models.py:3080 +#: common/models.py:3081 msgid "Custom Unit" msgstr "" -#: common/models.py:3098 +#: common/models.py:3099 msgid "Unit symbol must be unique" msgstr "" -#: common/models.py:3113 +#: common/models.py:3114 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:3132 +#: common/models.py:3133 msgid "Unit name" msgstr "" -#: common/models.py:3139 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3140 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "Symbool" -#: common/models.py:3140 +#: common/models.py:3141 msgid "Optional unit symbol" msgstr "" -#: common/models.py:3146 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3147 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "Definitie" -#: common/models.py:3147 +#: common/models.py:3148 msgid "Unit definition" msgstr "" -#: common/models.py:3205 common/models.py:3262 stock/models.py:2552 +#: common/models.py:3206 common/models.py:3263 stock/models.py:2547 #: stock/serializers.py:244 templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:345 msgid "Attachment" msgstr "Bijlage" -#: common/models.py:3217 +#: common/models.py:3218 msgid "Missing file" msgstr "Ontbrekend bestand" -#: common/models.py:3218 +#: common/models.py:3219 msgid "Missing external link" msgstr "Externe link ontbreekt" -#: common/models.py:3263 +#: common/models.py:3264 msgid "Select file to attach" msgstr "Bestand als bijlage selecteren" -#: common/models.py:3278 templates/js/translated/attachment.js:120 +#: common/models.py:3279 templates/js/translated/attachment.js:120 #: templates/js/translated/attachment.js:360 msgid "Comment" msgstr "Opmerking" -#: common/models.py:3279 +#: common/models.py:3280 msgid "Attachment comment" msgstr "" -#: common/models.py:3295 +#: common/models.py:3296 msgid "Upload date" msgstr "" -#: common/models.py:3296 +#: common/models.py:3297 msgid "Date the file was uploaded" msgstr "" -#: common/models.py:3300 +#: common/models.py:3301 msgid "File size" msgstr "" -#: common/models.py:3300 +#: common/models.py:3301 msgid "File size in bytes" msgstr "" -#: common/models.py:3338 common/serializers.py:588 +#: common/models.py:3339 common/serializers.py:604 msgid "Invalid model type specified for attachment" msgstr "" -#: common/models.py:3347 plugin/models.py:43 users/models.py:100 +#: common/models.py:3348 plugin/models.py:43 users/models.py:100 msgid "Key" msgstr "" -#: common/models.py:3348 +#: common/models.py:3349 msgid "Value that will be saved in the models database" msgstr "" -#: common/models.py:3351 +#: common/models.py:3352 msgid "Name of the state" msgstr "" -#: common/models.py:3355 +#: common/models.py:3356 msgid "Label" -msgstr "" +msgstr "Label" -#: common/models.py:3356 +#: common/models.py:3357 msgid "Label that will be displayed in the frontend" msgstr "" -#: common/models.py:3362 +#: common/models.py:3363 msgid "Color" msgstr "" -#: common/models.py:3363 +#: common/models.py:3364 msgid "Color that will be displayed in the frontend" msgstr "" -#: common/models.py:3366 +#: common/models.py:3367 msgid "Logical Key" msgstr "" -#: common/models.py:3368 +#: common/models.py:3369 msgid "State logical key that is equal to this custom state in business logic" msgstr "" -#: common/models.py:3376 +#: common/models.py:3377 msgid "Model" msgstr "" -#: common/models.py:3377 +#: common/models.py:3378 msgid "Model this state is associated with" msgstr "" -#: common/models.py:3381 +#: common/models.py:3382 msgid "Reference Status Set" msgstr "" -#: common/models.py:3382 +#: common/models.py:3383 msgid "Status set that is extended with this custom state" msgstr "" -#: common/models.py:3388 +#: common/models.py:3389 msgid "Custom State" msgstr "" -#: common/models.py:3389 +#: common/models.py:3390 msgid "Custom States" msgstr "" -#: common/models.py:3404 +#: common/models.py:3405 msgid "Model must be selected" msgstr "" -#: common/models.py:3407 +#: common/models.py:3408 msgid "Key must be selected" msgstr "" -#: common/models.py:3410 +#: common/models.py:3411 msgid "Logical key must be selected" msgstr "" -#: common/models.py:3414 +#: common/models.py:3415 msgid "Key must be different from logical key" msgstr "" -#: common/models.py:3418 +#: common/models.py:3419 msgid "Reference status must be selected" msgstr "" -#: common/models.py:3430 +#: common/models.py:3431 msgid "Reference status set not found" msgstr "" -#: common/models.py:3436 +#: common/models.py:3437 msgid "Key must be different from the logical keys of the reference status" msgstr "" -#: common/models.py:3442 +#: common/models.py:3443 msgid "Logical key must be in the logical keys of the reference status" msgstr "" @@ -4101,75 +4098,75 @@ msgstr "" msgid "Error raised by plugin" msgstr "" -#: common/serializers.py:402 +#: common/serializers.py:418 msgid "Is Running" msgstr "" -#: common/serializers.py:408 +#: common/serializers.py:424 msgid "Pending Tasks" msgstr "" -#: common/serializers.py:414 +#: common/serializers.py:430 msgid "Scheduled Tasks" msgstr "" -#: common/serializers.py:420 +#: common/serializers.py:436 msgid "Failed Tasks" msgstr "" -#: common/serializers.py:435 +#: common/serializers.py:451 msgid "Task ID" msgstr "" -#: common/serializers.py:435 +#: common/serializers.py:451 msgid "Unique task ID" msgstr "" -#: common/serializers.py:437 +#: common/serializers.py:453 msgid "Lock" msgstr "" -#: common/serializers.py:437 +#: common/serializers.py:453 msgid "Lock time" msgstr "" -#: common/serializers.py:439 +#: common/serializers.py:455 msgid "Task name" msgstr "" -#: common/serializers.py:441 +#: common/serializers.py:457 msgid "Function" msgstr "" -#: common/serializers.py:441 +#: common/serializers.py:457 msgid "Function name" msgstr "" -#: common/serializers.py:443 +#: common/serializers.py:459 msgid "Arguments" msgstr "" -#: common/serializers.py:443 +#: common/serializers.py:459 msgid "Task arguments" msgstr "" -#: common/serializers.py:446 +#: common/serializers.py:462 msgid "Keyword Arguments" msgstr "" -#: common/serializers.py:446 +#: common/serializers.py:462 msgid "Task keyword arguments" msgstr "" -#: common/serializers.py:556 +#: common/serializers.py:572 msgid "Filename" msgstr "Bestandsnaam" -#: common/serializers.py:563 report/api.py:100 report/serializers.py:53 +#: common/serializers.py:579 report/api.py:100 report/serializers.py:54 msgid "Model Type" msgstr "" -#: common/serializers.py:591 +#: common/serializers.py:607 msgid "User does not have permission to create or edit attachments for this model" msgstr "" @@ -4447,12 +4444,12 @@ msgstr "" #: company/models.py:467 company/models.py:584 company/models.py:808 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 -#: stock/templates/stock/item_base.html:217 +#: stock/templates/stock/item_base.html:213 msgid "Manufacturer Part" msgstr "Fabrikant onderdeel" #: company/models.py:484 company/models.py:776 stock/models.py:791 -#: stock/serializers.py:452 stock/templates/stock/item_base.html:142 +#: stock/serializers.py:452 stock/templates/stock/item_base.html:138 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "Basis onderdeel" @@ -4463,8 +4460,8 @@ msgstr "Onderdeel selecteren" #: company/models.py:495 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:567 -#: stock/templates/stock/item_base.html:207 +#: company/templates/company/supplier_part.html:145 part/serializers.py:565 +#: stock/templates/stock/item_base.html:203 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 #: templates/js/translated/company.js:1296 @@ -4479,7 +4476,7 @@ msgstr "Fabrikant selecteren" #: company/models.py:502 company/templates/company/manufacturer_part.html:101 #: company/templates/company/supplier_part.html:153 order/serializers.py:557 -#: part/serializers.py:577 templates/js/translated/company.js:351 +#: part/serializers.py:575 templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 #: templates/js/translated/company.js:1630 templates/js/translated/part.js:1807 @@ -4505,7 +4502,7 @@ msgid "Parameter name" msgstr "Parameternaam" #: company/models.py:597 report/templates/report/inventree_test_report.html:104 -#: stock/models.py:2544 templates/js/translated/company.js:1166 +#: stock/models.py:2539 templates/js/translated/company.js:1166 #: templates/js/translated/company.js:1419 templates/js/translated/part.js:1499 #: templates/js/translated/stock.js:1607 msgid "Value" @@ -4516,7 +4513,7 @@ msgid "Parameter value" msgstr "Parameterwaarde" #: company/models.py:605 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1159 part/models.py:3783 +#: part/admin.py:57 part/models.py:1159 part/models.py:3770 #: part/templates/part/part_base.html:300 #: templates/js/translated/company.js:1425 templates/js/translated/part.js:1518 #: templates/js/translated/part.js:1622 templates/js/translated/part.js:2376 @@ -4530,7 +4527,7 @@ msgstr "Parameter eenheden" #: company/models.py:659 company/templates/company/supplier_part.html:7 #: company/templates/company/supplier_part.html:24 order/api.py:440 #: order/serializers.py:492 stock/models.py:802 -#: stock/templates/stock/item_base.html:233 +#: stock/templates/stock/item_base.html:229 #: templates/js/translated/build.js:1055 #: templates/js/translated/company.js:1600 #: templates/js/translated/purchase_order.js:752 @@ -4553,9 +4550,9 @@ msgstr "Gekoppeld fabrikant onderdeel moet verwijzen naar hetzelfde basis onderd #: company/models.py:786 company/templates/company/company_base.html:87 #: company/templates/company/supplier_part.html:129 order/models.py:492 #: order/templates/order/order_base.html:141 part/bom.py:279 part/bom.py:314 -#: part/serializers.py:551 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:549 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 -#: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 +#: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:220 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:511 @@ -4570,9 +4567,9 @@ msgstr "Leverancier" msgid "Select supplier" msgstr "Leverancier selecteren" -#: company/models.py:793 part/serializers.py:562 +#: company/models.py:793 part/serializers.py:560 msgid "Supplier stock keeping unit" -msgstr "" +msgstr "Voorraad beheers eenheid voor leveranciers" #: company/models.py:799 msgid "Is this supplier part active?" @@ -4591,7 +4588,7 @@ msgid "Supplier part description" msgstr "" #: company/models.py:832 company/templates/company/supplier_part.html:187 -#: order/serializers.py:699 part/admin.py:415 part/models.py:4301 +#: order/serializers.py:699 part/admin.py:415 part/models.py:4288 #: part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 @@ -4603,11 +4600,11 @@ msgstr "" msgid "Note" msgstr "Opmerking" -#: company/models.py:841 part/models.py:2129 +#: company/models.py:841 part/models.py:2128 msgid "base cost" msgstr "basisprijs" -#: company/models.py:842 part/models.py:2130 +#: company/models.py:842 part/models.py:2129 msgid "Minimum charge (e.g. stocking fee)" msgstr "Minimale kosten (bijv. voorraadkosten)" @@ -4629,7 +4626,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:876 part/models.py:2136 +#: company/models.py:876 part/models.py:2135 msgid "multiple" msgstr "meerdere" @@ -4661,12 +4658,12 @@ msgstr "" msgid "Company Name" msgstr "" -#: company/serializers.py:397 part/admin.py:126 part/serializers.py:919 +#: company/serializers.py:397 part/admin.py:126 part/serializers.py:917 #: part/templates/part/part_base.html:197 #: templates/js/translated/company.js:1689 #: templates/js/translated/table_filters.js:362 msgid "In Stock" -msgstr "" +msgstr "Op voorraad" #: company/templates/company/company_base.html:16 #: part/templates/part/part_base.html:146 @@ -4735,7 +4732,7 @@ msgstr "" #: order/models.py:2140 order/templates/order/return_order_base.html:134 #: order/templates/order/sales_order_base.html:151 stock/models.py:844 #: stock/models.py:845 stock/serializers.py:1336 -#: stock/templates/stock/item_base.html:405 +#: stock/templates/stock/item_base.html:401 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 #: templates/js/translated/return_order.js:295 @@ -4810,7 +4807,7 @@ msgstr "Nieuw fabrikant onderdeel" #: company/templates/company/detail.html:65 msgid "Supplier Stock" -msgstr "" +msgstr "Leverancier voorraad" #: company/templates/company/detail.html:75 #: company/templates/company/sidebar.html:12 @@ -4861,7 +4858,7 @@ msgstr "Nieuwe Verkooporder" #: company/templates/company/detail.html:126 msgid "Assigned Stock" -msgstr "" +msgstr "Toegewezen voorraad" #: company/templates/company/detail.html:142 #: company/templates/company/sidebar.html:29 @@ -4939,7 +4936,7 @@ msgstr "Geen fabrikanten informatie beschikbaar" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:925 +#: part/admin.py:122 part/serializers.py:923 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -5030,7 +5027,7 @@ msgid "No supplier information available" msgstr "Geen leveranciersinformatie beschikbaar" #: company/templates/company/supplier_part.html:139 order/serializers.py:554 -#: part/bom.py:286 part/bom.py:315 part/serializers.py:561 +#: part/bom.py:286 part/bom.py:315 part/serializers.py:559 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1793 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1920 @@ -5040,7 +5037,7 @@ msgstr "" #: company/templates/company/supplier_part.html:206 msgid "Supplier Part Stock" -msgstr "" +msgstr "Voorraad leverancier" #: company/templates/company/supplier_part.html:209 #: part/templates/part/detail.html:24 stock/templates/stock/location.html:204 @@ -5084,7 +5081,7 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:923 part/stocktake.py:223 +#: part/serializers.py:921 part/stocktake.py:223 #: part/templates/part/category.html:180 #: part/templates/part/category_sidebar.html:17 stock/admin.py:68 #: stock/serializers.py:1021 stock/serializers.py:1199 @@ -5215,7 +5212,7 @@ msgstr "" msgid "Original row data" msgstr "" -#: importer/models.py:504 part/models.py:3965 +#: importer/models.py:504 part/models.py:3952 msgid "Data" msgstr "" @@ -5473,7 +5470,7 @@ msgstr "" #: order/models.py:1592 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_purchase_order_report.html:14 -#: stock/serializers.py:121 stock/templates/stock/item_base.html:176 +#: stock/serializers.py:121 stock/templates/stock/item_base.html:172 #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/part.js:1752 templates/js/translated/pricing.js:804 #: templates/js/translated/purchase_order.js:168 @@ -5490,7 +5487,7 @@ msgstr "Inkooporder" #: templates/js/translated/return_order.js:280 #: templates/js/translated/stock.js:3026 msgid "Return Order" -msgstr "" +msgstr "Retour bestelling" #: order/models.py:91 msgid "Total price for this order" @@ -5694,7 +5691,7 @@ msgid "Number of items received" msgstr "Aantal ontvangen artikelen" #: order/models.py:1513 stock/models.py:963 stock/serializers.py:617 -#: stock/templates/stock/item_base.html:183 +#: stock/templates/stock/item_base.html:179 #: templates/js/translated/stock.js:2397 msgid "Purchase Price" msgstr "Inkoopprijs" @@ -5768,7 +5765,7 @@ msgid "User who checked this shipment" msgstr "Gebruiker die deze zending gecontroleerd heeft" #: order/models.py:1788 order/models.py:2011 order/serializers.py:1479 -#: order/serializers.py:1589 templates/js/translated/model_renderers.js:455 +#: order/serializers.py:1597 templates/js/translated/model_renderers.js:455 msgid "Shipment" msgstr "Zending" @@ -5912,7 +5909,7 @@ msgstr "" #: order/serializers.py:290 stock/admin.py:196 msgid "Supplier Name" -msgstr "" +msgstr "Leveranciers Naam" #: order/serializers.py:332 msgid "Order cannot be cancelled" @@ -5982,14 +5979,14 @@ msgstr "Artikel" msgid "Line item does not match purchase order" msgstr "Artikelregel komt niet overeen met inkooporder" -#: order/serializers.py:656 order/serializers.py:779 order/serializers.py:1790 +#: order/serializers.py:656 order/serializers.py:779 order/serializers.py:1798 msgid "Select destination location for received items" msgstr "Selecteer bestemmingslocatie voor ontvangen artikelen" #: order/serializers.py:672 templates/js/translated/purchase_order.js:1130 #: templates/js/translated/stock.js:1200 msgid "Enter batch code for incoming stock items" -msgstr "" +msgstr "Voer batch code in voor inkomende voorraad items" #: order/serializers.py:680 templates/js/translated/purchase_order.js:1155 msgid "Enter serial numbers for incoming stock items" @@ -5997,11 +5994,11 @@ msgstr "Voer serienummers in voor inkomende voorraadartikelen" #: order/serializers.py:692 msgid "Override packaging information for incoming stock items" -msgstr "" +msgstr "Overschrijf verpakkingsinformatie voor binnenkomende voorraad" #: order/serializers.py:700 msgid "Additional note for incoming stock items" -msgstr "" +msgstr "Extra opmerking voor inkomende voorraad items" #: order/serializers.py:707 templates/js/translated/barcode.js:52 msgid "Barcode" @@ -6019,7 +6016,7 @@ msgstr "Streepjescode is al in gebruik" msgid "An integer quantity must be provided for trackable parts" msgstr "Hoeveelheid als geheel getal vereist voor traceerbare onderdelen" -#: order/serializers.py:795 order/serializers.py:1806 +#: order/serializers.py:795 order/serializers.py:1814 msgid "Line items must be provided" msgstr "Artikelen moeten worden opgegeven" @@ -6051,39 +6048,39 @@ msgstr "Hoeveelheid moet positief zijn" msgid "Enter serial numbers to allocate" msgstr "Voer serienummers in om toe te wijzen" -#: order/serializers.py:1491 order/serializers.py:1597 +#: order/serializers.py:1491 order/serializers.py:1605 msgid "Shipment has already been shipped" msgstr "Verzending is al verzonden" -#: order/serializers.py:1494 order/serializers.py:1600 +#: order/serializers.py:1494 order/serializers.py:1608 msgid "Shipment is not associated with this order" msgstr "Zending is niet gekoppeld aan deze bestelling" -#: order/serializers.py:1541 +#: order/serializers.py:1549 msgid "No match found for the following serial numbers" msgstr "Geen overeenkomst gevonden voor de volgende serienummers" -#: order/serializers.py:1548 -msgid "The following serial numbers are already allocated" -msgstr "De volgende serienummers zijn al toegewezen" +#: order/serializers.py:1556 +msgid "The following serial numbers are unavailable" +msgstr "" -#: order/serializers.py:1760 +#: order/serializers.py:1768 msgid "Return order line item" msgstr "" -#: order/serializers.py:1766 +#: order/serializers.py:1774 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1769 +#: order/serializers.py:1777 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1798 +#: order/serializers.py:1806 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1881 +#: order/serializers.py:1889 msgid "Line price currency" msgstr "" @@ -6510,13 +6507,13 @@ 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:48 part/models.py:1044 part/serializers.py:908 +#: part/admin.py:48 part/models.py:1044 part/serializers.py:906 #: part/templates/part/part_base.html:276 #: report/templates/report/inventree_stock_location_report.html:103 #: templates/js/translated/part.js:1233 templates/js/translated/part.js:2347 #: templates/js/translated/stock.js:2122 msgid "IPN" -msgstr "" +msgstr "IPN" #: part/admin.py:50 part/models.py:1053 part/templates/part/part_base.html:293 #: report/models.py:161 templates/js/translated/part.js:1238 @@ -6535,12 +6532,12 @@ msgstr "" #: part/admin.py:63 part/admin.py:302 part/stocktake.py:221 msgid "Category ID" -msgstr "" +msgstr "Categorie ID" -#: part/admin.py:67 part/admin.py:304 part/serializers.py:893 +#: part/admin.py:67 part/admin.py:304 part/serializers.py:891 #: part/stocktake.py:222 msgid "Category Name" -msgstr "" +msgstr "Categorie naam" #: part/admin.py:71 part/admin.py:316 msgid "Default Location ID" @@ -6556,35 +6553,35 @@ msgstr "" #: part/admin.py:84 part/models.py:1150 part/templates/part/part_base.html:203 msgid "Minimum Stock" -msgstr "" +msgstr "Minimum voorraad" #: part/admin.py:138 part/templates/part/part_sidebar.html:27 msgid "Used In" msgstr "" -#: part/admin.py:150 part/serializers.py:918 +#: part/admin.py:150 part/serializers.py:916 #: part/templates/part/part_base.html:248 stock/admin.py:236 #: templates/js/translated/part.js:717 templates/js/translated/part.js:2159 msgid "Building" -msgstr "" +msgstr "Bouwen" -#: part/admin.py:155 part/models.py:3214 part/models.py:3228 +#: part/admin.py:155 part/models.py:3201 part/models.py:3215 #: templates/js/translated/part.js:976 msgid "Minimum Cost" msgstr "" -#: part/admin.py:158 part/models.py:3221 part/models.py:3235 +#: part/admin.py:158 part/models.py:3208 part/models.py:3222 #: templates/js/translated/part.js:986 msgid "Maximum Cost" msgstr "" #: part/admin.py:308 part/admin.py:387 stock/admin.py:57 stock/admin.py:216 msgid "Parent ID" -msgstr "" +msgstr "Bovenliggende ID" #: part/admin.py:312 part/admin.py:394 stock/admin.py:61 msgid "Parent Name" -msgstr "" +msgstr "Bovenliggende naam" #: part/admin.py:320 part/templates/part/category.html:85 #: part/templates/part/category.html:98 @@ -6592,7 +6589,7 @@ msgid "Category Path" msgstr "" #: part/admin.py:325 part/models.py:420 part/serializers.py:130 -#: part/serializers.py:290 part/serializers.py:428 +#: part/serializers.py:290 part/serializers.py:426 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:20 #: part/templates/part/category.html:138 part/templates/part/category.html:158 #: part/templates/part/category_sidebar.html:9 @@ -6619,13 +6616,13 @@ msgstr "" msgid "Part Revision" msgstr "" -#: part/admin.py:418 part/serializers.py:1367 +#: part/admin.py:418 part/serializers.py:1365 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:423 part/serializers.py:1382 +#: part/admin.py:423 part/serializers.py:1380 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -6641,7 +6638,7 @@ msgstr "" #: part/api.py:123 stock/api.py:310 msgid "Depth" -msgstr "" +msgstr "Diepte" #: part/api.py:123 msgid "Filter by category depth" @@ -6649,7 +6646,7 @@ msgstr "" #: part/api.py:141 stock/api.py:328 msgid "Top Level" -msgstr "" +msgstr "Hoogste niveau" #: part/api.py:143 msgid "Filter by top-level categories" @@ -6657,7 +6654,7 @@ msgstr "" #: part/api.py:156 stock/api.py:343 msgid "Cascade" -msgstr "" +msgstr "Stapelen" #: part/api.py:158 msgid "Include sub-categories in filtered results" @@ -6719,14 +6716,14 @@ msgstr "" msgid "BOM Valid" msgstr "" -#: part/api.py:1520 part/models.py:1036 part/models.py:3501 part/models.py:4060 -#: part/serializers.py:443 part/serializers.py:1223 +#: part/api.py:1520 part/models.py:1036 part/models.py:3488 part/models.py:4047 +#: part/serializers.py:441 part/serializers.py:1221 #: part/templates/part/part_base.html:267 stock/api.py:780 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 #: templates/js/translated/part.js:2383 msgid "Category" -msgstr "" +msgstr "Categorie" #: part/api.py:1754 msgid "Assembly part is testable" @@ -6746,7 +6743,7 @@ msgstr "" msgid "Default Location" msgstr "Standaard locatie" -#: part/bom.py:184 part/serializers.py:926 +#: part/bom.py:184 part/serializers.py:924 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "Totale Voorraad" @@ -6755,7 +6752,7 @@ msgstr "Totale Voorraad" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:89 part/models.py:4061 part/templates/part/category.html:16 +#: part/models.py:89 part/models.py:4048 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "Onderdeel Categorie" @@ -6775,7 +6772,7 @@ msgstr "Standaard locatie voor onderdelen in deze categorie" #: templates/js/translated/table_filters.js:246 #: templates/js/translated/table_filters.js:290 msgid "Structural" -msgstr "" +msgstr "Structureel" #: part/models.py:116 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." @@ -6792,12 +6789,12 @@ msgstr "" #: part/models.py:132 stock/models.py:95 stock/models.py:174 #: templates/InvenTree/settings/settings_staff_js.html:445 msgid "Icon" -msgstr "" +msgstr "Pictogram" #: part/models.py:133 part/serializers.py:143 part/serializers.py:161 #: stock/models.py:175 msgid "Icon (optional)" -msgstr "" +msgstr "Pictogram (optioneel)" #: part/models.py:179 msgid "You cannot make this part category structural because some parts are already assigned to it!" @@ -6860,7 +6857,7 @@ msgstr "" #: part/models.py:826 msgid "Stock item with this serial number already exists" -msgstr "" +msgstr "Voorraadartikel met dit serienummer bestaat al" #: part/models.py:927 msgid "Duplicate IPN not allowed in part settings" @@ -6878,7 +6875,7 @@ msgstr "" msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:995 part/models.py:4116 +#: part/models.py:995 part/models.py:4103 msgid "Part name" msgstr "Onderdeel naam" @@ -6906,7 +6903,7 @@ msgstr "" msgid "Part category" msgstr "Onderdeel Categorie" -#: part/models.py:1052 part/serializers.py:360 +#: part/models.py:1052 msgid "Part revision or version number" msgstr "" @@ -6936,11 +6933,11 @@ msgstr "" #: part/models.py:1142 msgid "Expiry time (in days) for stock items of this part" -msgstr "" +msgstr "Verlooptijd (in dagen) voor voorraadartikelen van dit deel" #: part/models.py:1151 msgid "Minimum allowed stock level" -msgstr "" +msgstr "Minimaal toegelaten stock niveau" #: part/models.py:1160 msgid "Units of measure for this part" @@ -7012,164 +7009,164 @@ msgid "Owner responsible for this part" msgstr "" #: part/models.py:1264 part/templates/part/part_base.html:355 -#: stock/templates/stock/item_base.html:451 +#: stock/templates/stock/item_base.html:447 #: templates/js/translated/part.js:2490 msgid "Last Stocktake" -msgstr "" +msgstr "Laatste voorraadcontrole" -#: part/models.py:2137 +#: part/models.py:2136 msgid "Sell multiple" msgstr "" -#: part/models.py:3128 +#: part/models.py:3115 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3144 +#: part/models.py:3131 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3145 +#: part/models.py:3132 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3151 +#: part/models.py:3138 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3152 +#: part/models.py:3139 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3158 +#: part/models.py:3145 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3159 +#: part/models.py:3146 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3165 +#: part/models.py:3152 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3166 +#: part/models.py:3153 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3172 +#: part/models.py:3159 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3173 +#: part/models.py:3160 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3179 +#: part/models.py:3166 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3180 +#: part/models.py:3167 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3186 +#: part/models.py:3173 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3187 +#: part/models.py:3174 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3193 +#: part/models.py:3180 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3194 +#: part/models.py:3181 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3200 +#: part/models.py:3187 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3201 +#: part/models.py:3188 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3207 +#: part/models.py:3194 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3208 +#: part/models.py:3195 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3215 +#: part/models.py:3202 msgid "Override minimum cost" msgstr "" -#: part/models.py:3222 +#: part/models.py:3209 msgid "Override maximum cost" msgstr "" -#: part/models.py:3229 +#: part/models.py:3216 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3236 +#: part/models.py:3223 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3242 +#: part/models.py:3229 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3243 +#: part/models.py:3230 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3249 +#: part/models.py:3236 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3250 +#: part/models.py:3237 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3256 +#: part/models.py:3243 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3257 +#: part/models.py:3244 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3263 +#: part/models.py:3250 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3264 +#: part/models.py:3251 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3283 +#: part/models.py:3270 msgid "Part for stocktake" msgstr "Onderdeel voor voorraadcontrole" -#: part/models.py:3288 +#: part/models.py:3275 msgid "Item Count" msgstr "" -#: part/models.py:3289 +#: part/models.py:3276 msgid "Number of individual stock entries at time of stocktake" -msgstr "" +msgstr "Aantal individuele voorraadvermeldingen op het moment van voorraadcontrole" -#: part/models.py:3297 +#: part/models.py:3284 msgid "Total available stock at time of stocktake" -msgstr "" +msgstr "Totale voorraad op het moment van voorraadcontrole" -#: part/models.py:3301 part/models.py:3384 +#: part/models.py:3288 part/models.py:3371 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -7181,363 +7178,363 @@ msgstr "" msgid "Date" msgstr "Datum" -#: part/models.py:3302 +#: part/models.py:3289 msgid "Date stocktake was performed" -msgstr "" +msgstr "Datum waarop voorraad werd uitgevoerd" -#: part/models.py:3310 +#: part/models.py:3297 msgid "Additional notes" msgstr "" -#: part/models.py:3320 +#: part/models.py:3307 msgid "User who performed this stocktake" -msgstr "" +msgstr "Gebruiker die deze voorraad heeft uitgevoerd" -#: part/models.py:3326 +#: part/models.py:3313 msgid "Minimum Stock Cost" -msgstr "" +msgstr "Minimale voorraadprijs" -#: part/models.py:3327 +#: part/models.py:3314 msgid "Estimated minimum cost of stock on hand" -msgstr "" +msgstr "Geschatte minimum kosten van de voorraad op de hand" -#: part/models.py:3333 +#: part/models.py:3320 msgid "Maximum Stock Cost" -msgstr "" +msgstr "Maximale voorraadkosten" -#: part/models.py:3334 +#: part/models.py:3321 msgid "Estimated maximum cost of stock on hand" -msgstr "" +msgstr "Geschatte maximale kosten van de hand van voorraad" -#: part/models.py:3390 templates/InvenTree/settings/settings_staff_js.html:532 +#: part/models.py:3377 templates/InvenTree/settings/settings_staff_js.html:532 msgid "Report" msgstr "" -#: part/models.py:3391 +#: part/models.py:3378 msgid "Stocktake report file (generated internally)" -msgstr "" +msgstr "Bestand voorraadcontrole (intern gegenereerd)" -#: part/models.py:3396 templates/InvenTree/settings/settings_staff_js.html:539 +#: part/models.py:3383 templates/InvenTree/settings/settings_staff_js.html:539 msgid "Part Count" msgstr "Aantal onderdelen" -#: part/models.py:3397 +#: part/models.py:3384 msgid "Number of parts covered by stocktake" -msgstr "" +msgstr "Aantal door voorraadopname gedekte onderdelen" -#: part/models.py:3407 +#: part/models.py:3394 msgid "User who requested this stocktake report" -msgstr "" +msgstr "Gebruiker die om dit voorraadrapport heeft gevraagd" -#: part/models.py:3417 +#: part/models.py:3404 msgid "Part Sale Price Break" msgstr "" -#: part/models.py:3529 +#: part/models.py:3516 msgid "Part Test Template" msgstr "" -#: part/models.py:3555 +#: part/models.py:3542 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3576 part/models.py:3745 +#: part/models.py:3563 part/models.py:3732 msgid "Choices must be unique" msgstr "" -#: part/models.py:3587 +#: part/models.py:3574 msgid "Test templates can only be created for testable parts" -msgstr "" +msgstr "Test sjablonen kunnen alleen worden gemaakt voor testbare onderdelen" -#: part/models.py:3598 +#: part/models.py:3585 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3615 templates/js/translated/part.js:2898 +#: part/models.py:3602 templates/js/translated/part.js:2898 msgid "Test Name" msgstr "" -#: part/models.py:3616 +#: part/models.py:3603 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3622 +#: part/models.py:3609 msgid "Test Key" msgstr "" -#: part/models.py:3623 +#: part/models.py:3610 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3630 +#: part/models.py:3617 msgid "Test Description" msgstr "" -#: part/models.py:3631 +#: part/models.py:3618 msgid "Enter description for this test" msgstr "" -#: part/models.py:3635 report/models.py:208 +#: part/models.py:3622 report/models.py:216 #: templates/js/translated/part.js:2919 #: templates/js/translated/table_filters.js:502 msgid "Enabled" msgstr "Ingeschakeld" -#: part/models.py:3635 +#: part/models.py:3622 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3640 templates/js/translated/part.js:2927 +#: part/models.py:3627 templates/js/translated/part.js:2927 #: templates/js/translated/table_filters.js:498 msgid "Required" msgstr "" -#: part/models.py:3641 +#: part/models.py:3628 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3646 templates/js/translated/part.js:2935 +#: part/models.py:3633 templates/js/translated/part.js:2935 msgid "Requires Value" msgstr "" -#: part/models.py:3647 +#: part/models.py:3634 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3652 templates/js/translated/part.js:2942 +#: part/models.py:3639 templates/js/translated/part.js:2942 msgid "Requires Attachment" msgstr "" -#: part/models.py:3654 +#: part/models.py:3641 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3660 part/models.py:3804 templates/js/translated/part.js:1643 +#: part/models.py:3647 part/models.py:3791 templates/js/translated/part.js:1643 msgid "Choices" msgstr "" -#: part/models.py:3661 +#: part/models.py:3648 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3693 +#: part/models.py:3680 msgid "Part Parameter Template" msgstr "" -#: part/models.py:3720 +#: part/models.py:3707 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3725 +#: part/models.py:3712 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3762 +#: part/models.py:3749 msgid "Parameter template name must be unique" msgstr "De template van de parameter moet uniek zijn" -#: part/models.py:3777 +#: part/models.py:3764 msgid "Parameter Name" msgstr "Parameternaam" -#: part/models.py:3784 +#: part/models.py:3771 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3792 +#: part/models.py:3779 msgid "Parameter description" msgstr "" -#: part/models.py:3798 templates/js/translated/part.js:1634 +#: part/models.py:3785 templates/js/translated/part.js:1634 #: templates/js/translated/table_filters.js:837 msgid "Checkbox" msgstr "" -#: part/models.py:3799 +#: part/models.py:3786 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3805 +#: part/models.py:3792 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3839 +#: part/models.py:3826 msgid "Part Parameter" msgstr "" -#: part/models.py:3865 +#: part/models.py:3852 msgid "Parameter cannot be modified - part is locked" msgstr "" -#: part/models.py:3903 +#: part/models.py:3890 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3952 +#: part/models.py:3939 msgid "Parent Part" msgstr "" -#: part/models.py:3960 part/models.py:4068 part/models.py:4069 +#: part/models.py:3947 part/models.py:4055 part/models.py:4056 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3966 +#: part/models.py:3953 msgid "Parameter Value" msgstr "Parameterwaarde" -#: part/models.py:4016 +#: part/models.py:4003 msgid "Part Category Parameter Template" msgstr "" -#: part/models.py:4075 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:4062 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:4076 +#: part/models.py:4063 msgid "Default Parameter Value" msgstr "Standaard Parameter Waarde" -#: part/models.py:4114 +#: part/models.py:4101 msgid "Part ID or part name" msgstr "" -#: part/models.py:4115 +#: part/models.py:4102 msgid "Unique part ID value" msgstr "" -#: part/models.py:4117 +#: part/models.py:4104 msgid "Part IPN value" msgstr "" -#: part/models.py:4118 +#: part/models.py:4105 msgid "Level" msgstr "" -#: part/models.py:4118 +#: part/models.py:4105 msgid "BOM level" msgstr "" -#: part/models.py:4228 +#: part/models.py:4215 msgid "BOM item cannot be modified - assembly is locked" msgstr "" -#: part/models.py:4235 +#: part/models.py:4222 msgid "BOM item cannot be modified - variant assembly is locked" msgstr "" -#: part/models.py:4245 +#: part/models.py:4232 msgid "Select parent part" msgstr "" -#: part/models.py:4255 +#: part/models.py:4242 msgid "Sub part" msgstr "" -#: part/models.py:4256 +#: part/models.py:4243 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4267 +#: part/models.py:4254 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4273 +#: part/models.py:4260 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4279 +#: part/models.py:4266 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4286 part/templates/part/upload_bom.html:55 +#: part/models.py:4273 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4287 +#: part/models.py:4274 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4294 +#: part/models.py:4281 msgid "BOM item reference" msgstr "" -#: part/models.py:4302 +#: part/models.py:4289 msgid "BOM item notes" msgstr "" -#: part/models.py:4308 +#: part/models.py:4295 msgid "Checksum" msgstr "" -#: part/models.py:4309 +#: part/models.py:4296 msgid "BOM line checksum" msgstr "" -#: part/models.py:4314 templates/js/translated/table_filters.js:181 +#: part/models.py:4301 templates/js/translated/table_filters.js:181 msgid "Validated" msgstr "" -#: part/models.py:4315 +#: part/models.py:4302 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4320 part/templates/part/upload_bom.html:57 +#: part/models.py:4307 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:185 #: templates/js/translated/table_filters.js:218 msgid "Gets inherited" msgstr "" -#: part/models.py:4321 +#: part/models.py:4308 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4327 +#: part/models.py:4314 msgid "Stock items for variant parts can be used for this BOM item" -msgstr "" +msgstr "Voorraaditems voor variant onderdelen kunnen worden gebruikt voor dit BOM artikel" -#: part/models.py:4412 stock/models.py:689 +#: part/models.py:4399 stock/models.py:689 msgid "Quantity must be integer value for trackable parts" -msgstr "" +msgstr "Hoeveelheid moet een geheel getal zijn voor trackable onderdelen" -#: part/models.py:4422 part/models.py:4424 +#: part/models.py:4409 part/models.py:4411 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4561 +#: part/models.py:4554 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4582 +#: part/models.py:4575 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4595 +#: part/models.py:4588 msgid "Parent BOM item" msgstr "" -#: part/models.py:4603 +#: part/models.py:4596 msgid "Substitute part" msgstr "" -#: part/models.py:4619 +#: part/models.py:4612 msgid "Part 1" msgstr "" -#: part/models.py:4627 +#: part/models.py:4620 msgid "Part 2" msgstr "" -#: part/models.py:4628 +#: part/models.py:4621 msgid "Select Related Part" msgstr "" -#: part/models.py:4647 +#: part/models.py:4640 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4652 +#: part/models.py:4645 msgid "Duplicate relationship already exists" msgstr "" @@ -7565,365 +7562,365 @@ msgstr "" #: part/serializers.py:225 part/serializers.py:243 stock/serializers.py:623 msgid "Purchase currency of this stock item" -msgstr "" +msgstr "Inkooporder voor dit voorraadartikel" #: part/serializers.py:291 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:434 +#: part/serializers.py:432 msgid "No parts selected" msgstr "Geen onderdelen geselecteerd" -#: part/serializers.py:444 +#: part/serializers.py:442 msgid "Select category" msgstr "" -#: part/serializers.py:479 +#: part/serializers.py:477 msgid "Original Part" msgstr "" -#: part/serializers.py:480 +#: part/serializers.py:478 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:485 +#: part/serializers.py:483 msgid "Copy Image" msgstr "Afbeelding kopiëren" -#: part/serializers.py:486 +#: part/serializers.py:484 msgid "Copy image from original part" msgstr "Afbeelding kopiëren van het oorspronkelijke onderdeel" -#: part/serializers.py:492 part/templates/part/detail.html:293 +#: part/serializers.py:490 part/templates/part/detail.html:293 msgid "Copy BOM" msgstr "" -#: part/serializers.py:493 +#: part/serializers.py:491 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:499 +#: part/serializers.py:497 msgid "Copy Parameters" msgstr "Parameters kopiëren" -#: part/serializers.py:500 +#: part/serializers.py:498 msgid "Copy parameter data from original part" msgstr "Parameter data kopiëren van het originele onderdeel" -#: part/serializers.py:506 +#: part/serializers.py:504 msgid "Copy Notes" msgstr "" -#: part/serializers.py:507 +#: part/serializers.py:505 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:525 +#: part/serializers.py:523 msgid "Initial Stock Quantity" -msgstr "" +msgstr "Eerste voorraad hoeveelheid" -#: part/serializers.py:527 +#: part/serializers.py:525 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." -msgstr "" +msgstr "Specificeer de initiële voorraad hoeveelheid voor dit onderdeel. Als het aantal nul is, wordt er geen voorraad toegevoegd." -#: part/serializers.py:534 +#: part/serializers.py:532 msgid "Initial Stock Location" -msgstr "" +msgstr "Eerste voorraad locatie" -#: part/serializers.py:535 +#: part/serializers.py:533 msgid "Specify initial stock location for this Part" -msgstr "" +msgstr "Specificeer locatie van de eerste voorraad voor dit onderdeel" -#: part/serializers.py:552 +#: part/serializers.py:550 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:568 +#: part/serializers.py:566 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:578 +#: part/serializers.py:576 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:585 +#: part/serializers.py:583 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:594 +#: part/serializers.py:592 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:605 +#: part/serializers.py:603 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:612 +#: part/serializers.py:610 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:924 +#: part/serializers.py:922 msgid "Revisions" msgstr "" -#: part/serializers.py:929 +#: part/serializers.py:927 msgid "Unallocated Stock" -msgstr "" +msgstr "Niet toegewezen voorraad" -#: part/serializers.py:932 +#: part/serializers.py:930 msgid "Variant Stock" -msgstr "" +msgstr "Variant voorraad" -#: part/serializers.py:962 part/templates/part/copy_part.html:9 +#: part/serializers.py:960 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:474 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:963 +#: part/serializers.py:961 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:969 templates/js/translated/part.js:103 +#: part/serializers.py:967 templates/js/translated/part.js:103 msgid "Initial Stock" -msgstr "" +msgstr "Eerste voorraad" -#: part/serializers.py:970 +#: part/serializers.py:968 msgid "Create Part with initial stock quantity" -msgstr "" +msgstr "Maak onderdeel met eerste voorraad" -#: part/serializers.py:976 +#: part/serializers.py:974 msgid "Supplier Information" msgstr "" -#: part/serializers.py:977 +#: part/serializers.py:975 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:985 +#: part/serializers.py:983 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:986 +#: part/serializers.py:984 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:991 +#: part/serializers.py:989 msgid "Existing Image" msgstr "" -#: part/serializers.py:992 +#: part/serializers.py:990 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:1009 +#: part/serializers.py:1007 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1215 +#: part/serializers.py:1213 msgid "Limit stocktake report to a particular part, and any variant parts" -msgstr "" +msgstr "Limiteer de voorraadrapportage tot een bepaald onderdeel en eventuele variant onderdelen" -#: part/serializers.py:1225 +#: part/serializers.py:1223 msgid "Limit stocktake report to a particular part category, and any child categories" -msgstr "" +msgstr "Limiteer de voorraadrapportage tot een bepaalde deelcategorie en alle onderliggende categorieën" -#: part/serializers.py:1235 +#: part/serializers.py:1233 msgid "Limit stocktake report to a particular stock location, and any child locations" -msgstr "" +msgstr "Limiteer de voorraadrapportage tot een bepaalde voorraadlocatie en alle onderliggende locaties" -#: part/serializers.py:1241 +#: part/serializers.py:1239 msgid "Exclude External Stock" -msgstr "" +msgstr "Externe voorraad uitsluiten" -#: part/serializers.py:1242 +#: part/serializers.py:1240 msgid "Exclude stock items in external locations" -msgstr "" +msgstr "Voorraadartikelen op externe locaties uitsluiten" -#: part/serializers.py:1247 +#: part/serializers.py:1245 msgid "Generate Report" msgstr "" -#: part/serializers.py:1248 +#: part/serializers.py:1246 msgid "Generate report file containing calculated stocktake data" -msgstr "" +msgstr "Genereer een bestand met berekende voorraad namen gegevens" -#: part/serializers.py:1253 +#: part/serializers.py:1251 msgid "Update Parts" msgstr "" -#: part/serializers.py:1254 +#: part/serializers.py:1252 msgid "Update specified parts with calculated stocktake data" -msgstr "" +msgstr "Bijwerken van de opgegeven onderdelen met berekende voorraad gegevens" -#: part/serializers.py:1262 +#: part/serializers.py:1260 msgid "Stocktake functionality is not enabled" -msgstr "" +msgstr "Voorraadcontrole functionaliteit is niet ingeschakeld" -#: part/serializers.py:1368 +#: part/serializers.py:1366 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1375 +#: part/serializers.py:1373 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1383 +#: part/serializers.py:1381 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1390 +#: part/serializers.py:1388 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1419 +#: part/serializers.py:1417 msgid "Update" msgstr "" -#: part/serializers.py:1420 +#: part/serializers.py:1418 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1443 +#: part/serializers.py:1441 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1450 +#: part/serializers.py:1448 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1453 +#: part/serializers.py:1451 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1597 +#: part/serializers.py:1595 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1606 +#: part/serializers.py:1604 msgid "Component Name" msgstr "" -#: part/serializers.py:1609 +#: part/serializers.py:1607 msgid "Component IPN" msgstr "" -#: part/serializers.py:1612 +#: part/serializers.py:1610 msgid "Component Description" msgstr "" -#: part/serializers.py:1618 +#: part/serializers.py:1616 msgid "Select the component part" msgstr "" -#: part/serializers.py:1627 part/templates/part/part_base.html:242 +#: part/serializers.py:1625 part/templates/part/part_base.html:242 #: templates/js/translated/bom.js:1219 msgid "Can Build" msgstr "" -#: part/serializers.py:1858 +#: part/serializers.py:1856 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1866 +#: part/serializers.py:1864 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1867 +#: part/serializers.py:1865 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1872 +#: part/serializers.py:1870 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1873 +#: part/serializers.py:1871 msgid "Include BOM items which are inherited from templated parts" -msgstr "" +msgstr "Inclusief stuklijst BOM items die worden overgenomen van getemplated onderdelen" -#: part/serializers.py:1878 +#: part/serializers.py:1876 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1879 +#: part/serializers.py:1877 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1884 +#: part/serializers.py:1882 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1885 +#: part/serializers.py:1883 msgid "Copy substitute parts when duplicate BOM items" -msgstr "" +msgstr "Kopieer vervangende onderdelen bij dubbele stuklijst BOM items" -#: part/serializers.py:1922 +#: part/serializers.py:1920 msgid "Clear Existing BOM" -msgstr "" +msgstr "Verwijder bestaande stuklijst BOM" -#: part/serializers.py:1923 +#: part/serializers.py:1921 msgid "Delete existing BOM items before uploading" -msgstr "" +msgstr "Verwijder bestaande stuklijst BOM items voor het uploaden" -#: part/serializers.py:1955 +#: part/serializers.py:1953 msgid "No part column specified" msgstr "" -#: part/serializers.py:1999 +#: part/serializers.py:1997 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:2002 +#: part/serializers.py:2000 msgid "No matching part found" msgstr "" -#: part/serializers.py:2004 +#: part/serializers.py:2002 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:2013 +#: part/serializers.py:2011 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:2021 +#: part/serializers.py:2019 msgid "Invalid quantity" msgstr "Ongeldige hoeveelheid" -#: part/serializers.py:2044 +#: part/serializers.py:2042 msgid "At least one BOM item is required" -msgstr "" +msgstr "Minstens één stuklijst BOM artikel is vereist" #: part/stocktake.py:224 templates/js/translated/part.js:1073 #: templates/js/translated/part.js:1828 templates/js/translated/part.js:1884 #: templates/js/translated/purchase_order.js:2154 msgid "Total Quantity" -msgstr "" +msgstr "Totale hoeveelheid" #: part/stocktake.py:225 msgid "Total Cost Min" -msgstr "" +msgstr "Totale kosten Min" #: part/stocktake.py:226 msgid "Total Cost Max" -msgstr "" +msgstr "Totale kosten Max" #: part/stocktake.py:284 msgid "Stocktake Report Available" -msgstr "" +msgstr "Voorraadcontrole rapport beschikbaar" #: part/stocktake.py:285 msgid "A new stocktake report is available for download" -msgstr "" +msgstr "Een nieuwe voorraadrapportage is beschikbaar voor download" #: part/tasks.py:37 msgid "Low stock notification" -msgstr "" +msgstr "Lage voorraad melding" #: part/tasks.py:39 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" -msgstr "" +msgstr "De beschikbare voorraad voor {part.name} is onder het ingestelde minimumniveau gedaald" #: part/templates/part/bom.html:6 msgid "You do not have permission to edit the BOM." @@ -7931,20 +7928,20 @@ msgstr "U heeft geen toestemming om de stuklijst te bewerken." #: part/templates/part/bom.html:15 msgid "The BOM this part has been changed, and must be validated" -msgstr "" +msgstr "De stuklijst BOM dit onderdeel is gewijzigd en moet worden gevalideerd" #: part/templates/part/bom.html:17 #, python-format msgid "This BOM was last checked by %(checker)s on %(check_date)s" -msgstr "" +msgstr "Deze stuklijst BOM is laatst gecontroleerd door %(checker)s op %(check_date)s" #: part/templates/part/bom.html:21 msgid "This BOM has not been validated." -msgstr "" +msgstr "Deze stuklijst BOM is niet gevalideerd." #: part/templates/part/category.html:32 msgid "Perform stocktake for this part category" -msgstr "" +msgstr "Voorraadcontrole uitvoeren voor deze deelcategorie" #: part/templates/part/category.html:38 part/templates/part/category.html:42 msgid "You are subscribed to notifications for this category" @@ -7988,7 +7985,7 @@ msgstr "" #: part/templates/part/category.html:163 templates/js/translated/bom.js:444 msgid "New Part" -msgstr "" +msgstr "Nieuw onderdeel" #: part/templates/part/category.html:189 #: templates/InvenTree/settings/part_parameters.html:7 @@ -8030,7 +8027,7 @@ msgstr "" #: part/templates/part/detail.html:20 msgid "Part Stock" -msgstr "" +msgstr "Voorraad onderdeel" #: part/templates/part/detail.html:44 msgid "Refresh scheduling data" @@ -8043,14 +8040,14 @@ msgstr "" #: part/templates/part/detail.html:66 msgid "Add stocktake information" -msgstr "" +msgstr "Voorraadinformatie toevoegen" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:256 templates/InvenTree/settings/part_stocktake.html:30 #: templates/InvenTree/settings/sidebar.html:53 #: templates/js/translated/stock.js:2302 users/models.py:204 msgid "Stocktake" -msgstr "" +msgstr "Voorraadcontrole" #: part/templates/part/detail.html:83 msgid "Part Test Templates" @@ -8107,28 +8104,28 @@ msgstr "" #: part/templates/part/detail.html:280 templates/js/translated/bom.js:340 msgid "Export BOM" -msgstr "" +msgstr "Exporteren van stuklijst BOM" #: part/templates/part/detail.html:282 msgid "Print BOM Report" -msgstr "" +msgstr "Print stuklijst BOM Rapport" #: part/templates/part/detail.html:288 msgid "BOM actions" -msgstr "" +msgstr "Stuklijst BOM acties" #: part/templates/part/detail.html:292 msgid "Upload BOM" -msgstr "" +msgstr "Stuklijst BOM uploaden" #: part/templates/part/detail.html:294 msgid "Validate BOM" -msgstr "" +msgstr "Valideren stuklijst BOM" #: part/templates/part/detail.html:299 part/templates/part/detail.html:300 #: templates/js/translated/bom.js:1320 templates/js/translated/bom.js:1321 msgid "Add BOM Item" -msgstr "" +msgstr "Stuklijst BOM item toevoegen" #: part/templates/part/detail.html:313 msgid "Assemblies" @@ -8216,7 +8213,7 @@ msgid "Subscribe to notifications for this part" msgstr "" #: part/templates/part/part_base.html:52 -#: stock/templates/stock/item_base.html:62 +#: stock/templates/stock/item_base.html:61 #: stock/templates/stock/location.html:71 templates/js/translated/label.js:136 msgid "Print Label" msgstr "Label afdrukken" @@ -8226,18 +8223,18 @@ msgid "Show pricing information" msgstr "" #: part/templates/part/part_base.html:63 -#: stock/templates/stock/item_base.html:110 +#: stock/templates/stock/item_base.html:106 #: stock/templates/stock/location.html:80 msgid "Stock actions" msgstr "Voorraad acties" #: part/templates/part/part_base.html:70 msgid "Count part stock" -msgstr "" +msgstr "Tel voorraad" #: part/templates/part/part_base.html:76 msgid "Transfer part stock" -msgstr "" +msgstr "Voorraad van onderdeel verplaatsen" #: part/templates/part/part_base.html:91 templates/js/translated/part.js:2299 msgid "Part actions" @@ -8269,7 +8266,7 @@ msgstr "Onderdeel kan gebruikt worden voor assemblages" #: part/templates/part/part_base.html:131 msgid "Part stock is tracked by serial number" -msgstr "" +msgstr "Onderdeel voorraad wordt bijgehouden op basis van serienummer" #: part/templates/part/part_base.html:135 msgid "Part can be purchased from external suppliers" @@ -8297,34 +8294,34 @@ msgid "Required for Orders" msgstr "" #: part/templates/part/part_base.html:225 -#: stock/templates/stock/item_base.html:388 +#: stock/templates/stock/item_base.html:384 msgid "Allocated to Build Orders" msgstr "Toegewezen aan Productieorder" #: part/templates/part/part_base.html:234 -#: stock/templates/stock/item_base.html:381 +#: stock/templates/stock/item_base.html:377 msgid "Allocated to Sales Orders" msgstr "Toegewezen aan verkooporders" #: part/templates/part/part_base.html:307 msgid "Minimum stock level" -msgstr "" +msgstr "Minimale voorraad niveau" #: part/templates/part/part_base.html:338 templates/js/translated/bom.js:1071 #: templates/js/translated/part.js:1271 templates/js/translated/part.js:2463 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1054 msgid "Price Range" -msgstr "" +msgstr "Prijs bereik" #: part/templates/part/part_base.html:368 msgid "Latest Serial Number" msgstr "" #: part/templates/part/part_base.html:372 -#: stock/templates/stock/item_base.html:322 +#: stock/templates/stock/item_base.html:318 msgid "Search for serial number" -msgstr "" +msgstr "Zoek op serienummer" #: part/templates/part/part_base.html:460 msgid "Part QR Code" @@ -8369,7 +8366,7 @@ msgstr "" #: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:90 #: part/templates/part/prices.html:250 msgid "BOM Pricing" -msgstr "" +msgstr "Stukslijst prijs" #: part/templates/part/part_pricing.html:66 msgid "Unit Purchase Price" @@ -8381,7 +8378,7 @@ msgstr "" #: part/templates/part/part_pricing.html:83 msgid "No BOM pricing available" -msgstr "" +msgstr "Geen stuklijst BOM prijs beschikbaar" #: part/templates/part/part_pricing.html:92 msgid "Internal Price" @@ -8449,12 +8446,12 @@ msgid "Edit" msgstr "" #: part/templates/part/prices.html:28 stock/admin.py:252 -#: stock/templates/stock/item_base.html:446 +#: stock/templates/stock/item_base.html:442 #: templates/js/translated/company.js:1703 #: templates/js/translated/company.js:1713 #: templates/js/translated/stock.js:2332 msgid "Last Updated" -msgstr "" +msgstr "Laatst bijgewerkt" #: part/templates/part/prices.html:37 part/templates/part/prices.html:127 msgid "Price Category" @@ -8528,48 +8525,48 @@ msgstr "" #: templates/js/translated/part.js:707 templates/js/translated/part.js:2147 #: templates/js/translated/part.js:2149 msgid "No Stock" -msgstr "" +msgstr "Geen voorraad" #: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:120 msgid "Low Stock" -msgstr "" +msgstr "Lage voorraad" #: part/templates/part/upload_bom.html:8 msgid "Return to BOM" -msgstr "" +msgstr "Terug naar stuklijst BOM" #: part/templates/part/upload_bom.html:13 msgid "Upload Bill of Materials" -msgstr "" +msgstr "Upload stuklijst" #: part/templates/part/upload_bom.html:19 msgid "BOM upload requirements" -msgstr "" +msgstr "stuklijst BOM upload vereisten" #: part/templates/part/upload_bom.html:23 #: part/templates/part/upload_bom.html:90 msgid "Upload BOM File" -msgstr "" +msgstr "Stuklijst BOM bestand uploaden" #: part/templates/part/upload_bom.html:29 msgid "Submit BOM Data" -msgstr "" +msgstr "Stuklijst BOM gegevens verzenden" #: part/templates/part/upload_bom.html:37 msgid "Requirements for BOM upload" -msgstr "" +msgstr "Vereisten voor stuklijst BOM upload" #: part/templates/part/upload_bom.html:39 msgid "The BOM file must contain the required named columns as provided in the " -msgstr "" +msgstr "Het stuklijst BOM bestand moet de vereiste kolommen met naam en toenaam bevatten in de " #: part/templates/part/upload_bom.html:39 msgid "BOM Upload Template" -msgstr "" +msgstr "Stuklijst BOM Upload Sjabloon" #: part/templates/part/upload_bom.html:40 msgid "Each part must already exist in the database" -msgstr "" +msgstr "Elk onderdeel moet al bestaan in de database" #: part/templates/part/variant_part.html:9 msgid "Create new part variant" @@ -8604,7 +8601,7 @@ msgstr "Afbeelding van onderdeel niet gevonden" msgid "Part Pricing" msgstr "" -#: plugin/api.py:172 +#: plugin/api.py:174 msgid "Plugin cannot be deleted as it is currently active" msgstr "" @@ -8672,11 +8669,11 @@ msgstr "" #: plugin/base/barcodes/api.py:550 plugin/base/barcodes/api.py:557 msgid "Barcode does not match an existing stock item" -msgstr "" +msgstr "Streepjescode komt niet overeen met een bestaand voorraadartikel" #: plugin/base/barcodes/api.py:568 msgid "Stock item does not match line item" -msgstr "" +msgstr "Voorraad item komt niet overeen met regelitem" #: plugin/base/barcodes/api.py:592 templates/js/translated/build.js:2783 #: templates/js/translated/sales_order.js:1953 @@ -8685,7 +8682,7 @@ msgstr "Onvoldoende voorraad beschikbaar" #: plugin/base/barcodes/api.py:601 msgid "Stock item allocated to sales order" -msgstr "" +msgstr "Voorraad item toegewezen aan verkooporder" #: plugin/base/barcodes/api.py:605 msgid "Not enough information" @@ -8940,7 +8937,7 @@ msgstr "" msgid "Print a border around each label" msgstr "" -#: plugin/builtin/labels/label_sheet.py:47 report/models.py:307 +#: plugin/builtin/labels/label_sheet.py:47 report/models.py:315 msgid "Landscape" msgstr "" @@ -9012,44 +9009,44 @@ msgstr "" msgid "The Supplier which acts as 'TME'" msgstr "" -#: plugin/installer.py:194 plugin/installer.py:274 +#: plugin/installer.py:199 plugin/installer.py:282 msgid "Only staff users can administer plugins" msgstr "" -#: plugin/installer.py:197 +#: plugin/installer.py:202 msgid "Plugin installation is disabled" msgstr "" -#: plugin/installer.py:241 +#: plugin/installer.py:246 msgid "Installed plugin successfully" msgstr "" -#: plugin/installer.py:246 +#: plugin/installer.py:251 #, python-brace-format msgid "Installed plugin into {path}" msgstr "" -#: plugin/installer.py:265 +#: plugin/installer.py:273 msgid "Plugin was not found in registry" msgstr "" -#: plugin/installer.py:268 +#: plugin/installer.py:276 msgid "Plugin is not a packaged plugin" msgstr "" -#: plugin/installer.py:271 +#: plugin/installer.py:279 msgid "Plugin package name not found" msgstr "" -#: plugin/installer.py:291 +#: plugin/installer.py:299 msgid "Plugin uninstalling is disabled" msgstr "" -#: plugin/installer.py:295 +#: plugin/installer.py:303 msgid "Plugin cannot be uninstalled as it is currently active" msgstr "" -#: plugin/installer.py:308 +#: plugin/installer.py:316 msgid "Uninstalled plugin successfully" msgstr "" @@ -9098,7 +9095,7 @@ msgstr "" msgid "Package Plugin" msgstr "" -#: plugin/models.py:220 report/models.py:474 +#: plugin/models.py:220 report/models.py:482 #: templates/InvenTree/settings/plugin_settings.html:9 #: templates/js/translated/plugin.js:51 msgid "Plugin" @@ -9167,6 +9164,38 @@ msgstr "" msgid "InvenTree Contributors" msgstr "" +#: plugin/samples/integration/user_interface_sample.py:22 +msgid "Enable Part Panels" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:23 +msgid "Enable custom panels for Part views" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:28 +msgid "Enable Purchase Order Panels" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:29 +msgid "Enable custom panels for Purchase Order views" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:34 +msgid "Enable Broken Panels" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:35 +msgid "Enable broken panels for testing" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:40 +msgid "Enable Dynamic Panel" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:41 +msgid "Enable dynamic panels for testing" +msgstr "" + #: plugin/serializers.py:81 msgid "Source URL" msgstr "" @@ -9245,12 +9274,36 @@ msgstr "" msgid "Delete the plugin configuration from the database" msgstr "" +#: plugin/serializers.py:324 +msgid "Plugin Key" +msgstr "" + +#: plugin/serializers.py:328 +msgid "Panel Name" +msgstr "" + +#: plugin/serializers.py:332 +msgid "Panel Title" +msgstr "" + +#: plugin/serializers.py:337 +msgid "Panel Icon" +msgstr "" + +#: plugin/serializers.py:341 +msgid "Panel Content (HTML)" +msgstr "" + +#: plugin/serializers.py:345 +msgid "Panel Source (javascript)" +msgstr "" + #: report/api.py:88 msgid "No valid objects provided to template" msgstr "" -#: report/api.py:103 report/models.py:438 report/serializers.py:98 -#: report/serializers.py:148 templates/js/translated/purchase_order.js:1817 +#: report/api.py:103 report/models.py:446 report/serializers.py:99 +#: report/serializers.py:149 templates/js/translated/purchase_order.js:1817 #: templates/js/translated/return_order.js:353 #: templates/js/translated/sales_order.js:887 #: templates/js/translated/sales_order.js:1047 @@ -9281,7 +9334,11 @@ msgstr "" msgid "Error printing label" msgstr "" -#: report/api.py:375 report/api.py:411 +#: report/api.py:358 +msgid "Report saved at time of printing" +msgstr "" + +#: report/api.py:384 report/api.py:420 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" @@ -9318,135 +9375,143 @@ msgstr "" msgid "Revision number (auto-increments)" msgstr "" -#: report/models.py:202 +#: report/models.py:168 +msgid "Attach to Model on Print" +msgstr "" + +#: report/models.py:170 +msgid "Save report output as an attachment against linked model instance when printing" +msgstr "" + +#: report/models.py:210 msgid "Filename Pattern" msgstr "Bestandsnaam Patroon" -#: report/models.py:203 +#: report/models.py:211 msgid "Pattern for generating filenames" msgstr "" -#: report/models.py:208 +#: report/models.py:216 msgid "Template is enabled" msgstr "" -#: report/models.py:214 +#: report/models.py:222 msgid "Target model type for template" msgstr "" -#: report/models.py:234 +#: report/models.py:242 msgid "Filters" msgstr "" -#: report/models.py:235 +#: report/models.py:243 msgid "Template query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:294 report/models.py:361 +#: report/models.py:302 report/models.py:369 msgid "Template file" msgstr "" -#: report/models.py:302 +#: report/models.py:310 msgid "Page size for PDF reports" msgstr "" -#: report/models.py:308 +#: report/models.py:316 msgid "Render report in landscape orientation" msgstr "" -#: report/models.py:367 +#: report/models.py:375 msgid "Width [mm]" msgstr "Breedte [mm]" -#: report/models.py:368 +#: report/models.py:376 msgid "Label width, specified in mm" msgstr "Label breedte, gespecificeerd in mm" -#: report/models.py:374 +#: report/models.py:382 msgid "Height [mm]" msgstr "Hoogte [mm]" -#: report/models.py:375 +#: report/models.py:383 msgid "Label height, specified in mm" msgstr "Label hoogte, gespecificeerd in mm" -#: report/models.py:438 +#: report/models.py:446 msgid "Number of items to process" msgstr "" -#: report/models.py:444 +#: report/models.py:452 msgid "Report generation is complete" msgstr "" -#: report/models.py:448 templates/js/translated/build.js:2352 +#: report/models.py:456 templates/js/translated/build.js:2352 msgid "Progress" msgstr "" -#: report/models.py:448 +#: report/models.py:456 msgid "Report generation progress" msgstr "" -#: report/models.py:456 +#: report/models.py:464 msgid "Report Template" msgstr "" -#: report/models.py:463 report/models.py:486 +#: report/models.py:471 report/models.py:494 msgid "Output File" msgstr "" -#: report/models.py:464 report/models.py:487 +#: report/models.py:472 report/models.py:495 msgid "Generated output file" msgstr "" -#: report/models.py:475 +#: report/models.py:483 msgid "Label output plugin" msgstr "" -#: report/models.py:479 +#: report/models.py:487 msgid "Label Template" msgstr "" -#: report/models.py:502 +#: report/models.py:510 msgid "Snippet" msgstr "" -#: report/models.py:503 +#: report/models.py:511 msgid "Report snippet file" msgstr "" -#: report/models.py:510 +#: report/models.py:518 msgid "Snippet file description" msgstr "" -#: report/models.py:528 +#: report/models.py:536 msgid "Asset" msgstr "" -#: report/models.py:529 +#: report/models.py:537 msgid "Report asset file" msgstr "" -#: report/models.py:536 +#: report/models.py:544 msgid "Asset file description" msgstr "" -#: report/serializers.py:91 +#: report/serializers.py:92 msgid "Select report template" msgstr "" -#: report/serializers.py:99 report/serializers.py:149 +#: report/serializers.py:100 report/serializers.py:150 msgid "List of item primary keys to include in the report" msgstr "" -#: report/serializers.py:132 +#: report/serializers.py:133 msgid "Select label template" msgstr "" -#: report/serializers.py:140 +#: report/serializers.py:141 msgid "Printing Plugin" msgstr "" -#: report/serializers.py:141 +#: report/serializers.py:142 msgid "Select plugin to use for label printing" msgstr "" @@ -9455,13 +9520,13 @@ msgstr "" #: report/templates/label/stocklocation_qr.html:20 #: templates/allauth_2fa/setup.html:18 msgid "QR Code" -msgstr "" +msgstr "QR Code" #: report/templates/label/part_label_code128.html:31 #: report/templates/label/stocklocation_qr_and_text.html:31 #: templates/qr_code.html:7 msgid "QR code" -msgstr "" +msgstr "QR code" #: report/templates/report/inventree_bill_of_materials_report.html:133 msgid "Materials needed" @@ -9502,11 +9567,11 @@ msgstr "Totaal" #: report/templates/report/inventree_stock_location_report.html:97 msgid "Stock location items" -msgstr "" +msgstr "Voorraad locatie items" #: report/templates/report/inventree_test_report.html:21 msgid "Stock Item Test Report" -msgstr "" +msgstr "Rapport voorraadcontrole" #: report/templates/report/inventree_test_report.html:97 msgid "Test Results" @@ -9515,11 +9580,11 @@ msgstr "" #: report/templates/report/inventree_test_report.html:102 #: templates/js/translated/stock.js:1580 msgid "Test" -msgstr "" +msgstr "Test" -#: report/templates/report/inventree_test_report.html:103 stock/models.py:2538 +#: report/templates/report/inventree_test_report.html:103 stock/models.py:2533 msgid "Result" -msgstr "" +msgstr "Resultaat" #: report/templates/report/inventree_test_report.html:129 msgid "Pass" @@ -9540,13 +9605,13 @@ msgstr "" #: report/templates/report/inventree_test_report.html:153 #: stock/serializers.py:606 stock/templates/stock/stock_sidebar.html:16 msgid "Installed Items" -msgstr "" +msgstr "Geïnstalleerde items" #: report/templates/report/inventree_test_report.html:167 stock/admin.py:162 #: templates/js/translated/stock.js:706 templates/js/translated/stock.js:877 #: templates/js/translated/stock.js:3195 msgid "Serial" -msgstr "" +msgstr "Serienummer" #: report/templatetags/report.py:98 msgid "Asset file does not exist" @@ -9566,141 +9631,141 @@ msgstr "" #: stock/admin.py:51 stock/admin.py:172 msgid "Location ID" -msgstr "" +msgstr "Locatie ID" #: stock/admin.py:63 stock/templates/stock/location.html:128 #: stock/templates/stock/location.html:134 msgid "Location Path" -msgstr "" +msgstr "Locatie pad" #: stock/admin.py:149 msgid "Stock Item ID" -msgstr "" +msgstr "Voorraad item ID" #: stock/admin.py:168 msgid "Status Code" -msgstr "" +msgstr "Status code" #: stock/admin.py:180 msgid "Supplier Part ID" -msgstr "" +msgstr "Leverancier deel ID" #: stock/admin.py:185 msgid "Supplier Part SKU" -msgstr "" +msgstr "Leverancier artikelnummer" #: stock/admin.py:190 msgid "Supplier ID" -msgstr "" +msgstr "Leverancier ID" #: stock/admin.py:201 msgid "Customer ID" -msgstr "" +msgstr "Klant ID" #: stock/admin.py:206 stock/models.py:829 -#: stock/templates/stock/item_base.html:354 +#: stock/templates/stock/item_base.html:350 msgid "Installed In" -msgstr "" +msgstr "Geïnstalleerd in" #: stock/admin.py:211 msgid "Build ID" -msgstr "" +msgstr "Build ID" #: stock/admin.py:221 msgid "Sales Order ID" -msgstr "" +msgstr "Verkooporder ID" #: stock/admin.py:226 msgid "Purchase Order ID" -msgstr "" +msgstr "Inkooporder ID" #: stock/admin.py:241 msgid "Review Needed" -msgstr "" +msgstr "Beoordeling nodig" #: stock/admin.py:246 msgid "Delete on Deplete" -msgstr "" +msgstr "Verwijderen na uitzetten" #: stock/admin.py:261 stock/models.py:923 -#: stock/templates/stock/item_base.html:433 +#: stock/templates/stock/item_base.html:429 #: templates/js/translated/stock.js:2316 users/models.py:124 msgid "Expiry Date" -msgstr "" +msgstr "Vervaldatum" #: stock/api.py:310 msgid "Filter by location depth" -msgstr "" +msgstr "Filter op locatie diepte" #: stock/api.py:330 msgid "Filter by top-level locations" -msgstr "" +msgstr "Filter op topniveau locaties" #: stock/api.py:345 msgid "Include sub-locations in filtered results" -msgstr "" +msgstr "Inclusief sublocaties in gefilterde resultaten" #: stock/api.py:366 stock/serializers.py:1193 msgid "Parent Location" -msgstr "" +msgstr "Bovenliggende locatie" #: stock/api.py:367 msgid "Filter by parent location" -msgstr "" +msgstr "Filter op bovenliggende locatie" #: stock/api.py:614 templates/js/translated/table_filters.js:434 msgid "External Location" -msgstr "" +msgstr "Externe locatie" #: stock/api.py:802 msgid "Part Tree" -msgstr "" +msgstr "Boomstructuur onderdeel" #: stock/api.py:832 msgid "Expiry date before" -msgstr "" +msgstr "Vervaldatum voor" #: stock/api.py:836 msgid "Expiry date after" -msgstr "" +msgstr "Vervaldatum na" #: stock/api.py:839 stock/serializers.py:611 -#: stock/templates/stock/item_base.html:439 +#: stock/templates/stock/item_base.html:435 #: templates/js/translated/table_filters.js:448 msgid "Stale" -msgstr "" +msgstr "Verouderd" #: stock/api.py:926 msgid "Quantity is required" -msgstr "" +msgstr "Hoeveelheid is vereist" #: stock/api.py:932 msgid "Valid part must be supplied" -msgstr "" +msgstr "Geldig onderdeel moet worden opgegeven" #: stock/api.py:963 msgid "The given supplier part does not exist" -msgstr "" +msgstr "Het opgegeven leveranciers onderdeel bestaat niet" #: stock/api.py:973 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" -msgstr "" +msgstr "Het leveranciersdeel heeft een pakketgrootte gedefinieerd, maar vlag use_pack_size niet ingesteld" #: stock/api.py:998 msgid "Serial numbers cannot be supplied for a non-trackable part" -msgstr "" +msgstr "Serienummers kunnen niet worden meegeleverd voor een niet traceerbaar onderdeel" #: stock/models.py:69 msgid "Stock Location type" -msgstr "" +msgstr "Voorraad locatie soort" #: stock/models.py:70 msgid "Stock Location types" -msgstr "" +msgstr "Voorraad locatie soorten" #: stock/models.py:96 msgid "Default icon for all locations that have no icon set (optional)" -msgstr "" +msgstr "Standaardpictogram voor alle locaties waarvoor geen pictogram is ingesteld (optioneel)" #: stock/models.py:136 stock/models.py:811 #: stock/templates/stock/location.html:17 @@ -9715,124 +9780,124 @@ msgid "Stock Locations" msgstr "Voorraadlocaties" #: stock/models.py:185 stock/models.py:972 -#: stock/templates/stock/item_base.html:247 +#: stock/templates/stock/item_base.html:243 msgid "Owner" -msgstr "" +msgstr "Eigenaar" #: stock/models.py:186 stock/models.py:973 msgid "Select Owner" -msgstr "" +msgstr "Selecteer eigenaar" #: stock/models.py:194 msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." -msgstr "" +msgstr "Voorraaditems kunnen niet direct worden geplaatst op een structurele voorraadlocatie, maar kunnen zich op onderliggende locaties bevinden." #: stock/models.py:201 templates/js/translated/stock.js:2866 #: templates/js/translated/table_filters.js:250 msgid "External" -msgstr "" +msgstr "Extern" #: stock/models.py:202 msgid "This is an external stock location" -msgstr "" +msgstr "Dit is een externe voorraadlocatie" #: stock/models.py:208 templates/js/translated/stock.js:2875 #: templates/js/translated/table_filters.js:253 msgid "Location type" -msgstr "" +msgstr "Locatie type" #: stock/models.py:212 msgid "Stock location type of this location" -msgstr "" +msgstr "Voorraad locatie type van deze locatie" #: stock/models.py:284 msgid "You cannot make this stock location structural because some stock items are already located into it!" -msgstr "" +msgstr "U kunt deze voorraadlocatie niet structureel maken omdat sommige voorraadartikelen er al in liggen!" #: stock/models.py:668 msgid "Stock items cannot be located into structural stock locations!" -msgstr "" +msgstr "Voorraaditems kunnen niet worden geplaatst in structurele voorraadlocaties!" #: stock/models.py:695 stock/serializers.py:487 msgid "Stock item cannot be created for virtual parts" -msgstr "" +msgstr "Voorraadartikel kan niet worden aangemaakt voor virtuele onderdelen" #: stock/models.py:712 #, python-brace-format msgid "Part type ('{self.supplier_part.part}') must be {self.part}" -msgstr "" +msgstr "Onderdeel type ('{self.supplier_part.part}') moet {self.part} zijn" #: stock/models.py:722 stock/models.py:735 msgid "Quantity must be 1 for item with a serial number" -msgstr "" +msgstr "Hoeveelheid moet 1 zijn voor item met een serienummer" #: stock/models.py:725 msgid "Serial number cannot be set if quantity greater than 1" -msgstr "" +msgstr "Serienummer kan niet worden ingesteld als de hoeveelheid groter is dan 1" #: stock/models.py:747 msgid "Item cannot belong to itself" -msgstr "" +msgstr "Item kan niet tot zichzelf behoren" #: stock/models.py:752 msgid "Item must have a build reference if is_building=True" -msgstr "" +msgstr "Item moet een bouw referentie hebben als is_building=True" #: stock/models.py:765 msgid "Build reference does not point to the same part object" -msgstr "" +msgstr "Bouw referentie verwijst niet naar hetzelfde deel object" #: stock/models.py:781 msgid "Parent Stock Item" -msgstr "" +msgstr "Bovenliggend voorraad item" #: stock/models.py:793 msgid "Base part" -msgstr "" +msgstr "Basis onderdeel" #: stock/models.py:803 msgid "Select a matching supplier part for this stock item" -msgstr "" +msgstr "Selecteer een leveranciersdeel voor dit voorraadartikel" #: stock/models.py:815 msgid "Where is this stock item located?" -msgstr "" +msgstr "Waar bevindt zich dit voorraaditem?" #: stock/models.py:823 stock/serializers.py:1587 msgid "Packaging this stock item is stored in" -msgstr "" +msgstr "Het verpakken van dit voorraaditem is opgeslagen in" #: stock/models.py:834 msgid "Is this item installed in another item?" -msgstr "" +msgstr "Is dit item geïnstalleerd in een ander item?" #: stock/models.py:853 msgid "Serial number for this item" -msgstr "" +msgstr "Serienummer van dit item" #: stock/models.py:867 stock/serializers.py:1570 msgid "Batch code for this stock item" -msgstr "" +msgstr "Batch code voor dit voorraaditem" #: stock/models.py:872 msgid "Stock Quantity" -msgstr "" +msgstr "Voorraad hoeveelheid" #: stock/models.py:882 msgid "Source Build" -msgstr "" +msgstr "Bron Bouw" #: stock/models.py:885 msgid "Build for this stock item" -msgstr "" +msgstr "Build voor dit voorraaditem" -#: stock/models.py:892 stock/templates/stock/item_base.html:363 +#: stock/models.py:892 stock/templates/stock/item_base.html:359 msgid "Consumed By" -msgstr "" +msgstr "Verbruikt door" #: stock/models.py:895 msgid "Build order which consumed this stock item" -msgstr "" +msgstr "Bestelling bouwen welke dit voorraadartikel heeft verbruikt" #: stock/models.py:904 msgid "Source Purchase Order" @@ -9848,52 +9913,52 @@ msgstr "Bestemming Verkooporder" #: stock/models.py:925 msgid "Expiry date for stock item. Stock will be considered expired after this date" -msgstr "" +msgstr "Vervaldatum voor voorraadartikel. Voorraad zal worden beschouwd als verlopen na deze datum" #: stock/models.py:943 msgid "Delete on deplete" -msgstr "" +msgstr "Verwijderen bij leegmaken" #: stock/models.py:944 msgid "Delete this Stock Item when stock is depleted" -msgstr "" +msgstr "Verwijder dit voorraadproduct wanneer de voorraad is leeg" #: stock/models.py:964 msgid "Single unit purchase price at time of purchase" -msgstr "" +msgstr "Enkele eenheidsprijs van de aankoop op het moment van aankoop" #: stock/models.py:995 msgid "Converted to part" -msgstr "" +msgstr "Omgezet tot onderdeel" #: stock/models.py:1506 msgid "Part is not set as trackable" -msgstr "" +msgstr "Onderdeel is niet ingesteld als traceerbaar" #: stock/models.py:1512 msgid "Quantity must be integer" -msgstr "" +msgstr "Hoeveelheid moet heel getal zijn" #: stock/models.py:1520 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({self.quantity})" -msgstr "" +msgstr "Hoeveelheid mag niet hoger zijn dan de beschikbare voorraad ({self.quantity})" #: stock/models.py:1526 msgid "Serial numbers must be a list of integers" -msgstr "" +msgstr "Serienummers moeten een lijst van gehele getallen zijn" #: stock/models.py:1531 msgid "Quantity does not match serial numbers" -msgstr "" +msgstr "Hoeveelheid komt niet overeen met serienummers" #: stock/models.py:1539 stock/serializers.py:733 msgid "Serial numbers already exist" -msgstr "" +msgstr "Serienummers bestaan al" -#: stock/models.py:1636 +#: stock/models.py:1636 stock/models.py:2436 msgid "Test template does not exist" -msgstr "" +msgstr "Testsjabloon bestaat niet" #: stock/models.py:1654 msgid "Stock item has been assigned to a sales order" @@ -9901,262 +9966,262 @@ msgstr "Voorraadartikel is toegewezen aan een verkooporder" #: stock/models.py:1658 msgid "Stock item is installed in another item" -msgstr "" +msgstr "Voorraad item is geïnstalleerd in een ander item" #: stock/models.py:1661 msgid "Stock item contains other items" -msgstr "" +msgstr "Voorraadartikel bevat andere producten" #: stock/models.py:1664 msgid "Stock item has been assigned to a customer" -msgstr "" +msgstr "Voorraadartikel is aan een klant toegewezen" #: stock/models.py:1667 msgid "Stock item is currently in production" -msgstr "" +msgstr "Voorraad item is momenteel in productie" #: stock/models.py:1670 msgid "Serialized stock cannot be merged" -msgstr "" +msgstr "Geserialiseerde voorraad kan niet worden samengevoegd" #: stock/models.py:1677 stock/serializers.py:1476 msgid "Duplicate stock items" -msgstr "" +msgstr "Dupliceer voorraadartikelen" #: stock/models.py:1681 msgid "Stock items must refer to the same part" -msgstr "" +msgstr "Voorraadartikelen moeten hetzelfde onderdeel verwijzen" #: stock/models.py:1689 msgid "Stock items must refer to the same supplier part" -msgstr "" +msgstr "Voorraadartikelen moeten verwijzen naar dezelfde leveranciersdeel" #: stock/models.py:1694 msgid "Stock status codes must match" -msgstr "" +msgstr "De voorraad statuscodes moeten overeenkomen" #: stock/models.py:1955 msgid "StockItem cannot be moved as it is not in stock" -msgstr "" +msgstr "Voorraadartikel kan niet worden verplaatst omdat het niet op voorraad is" -#: stock/models.py:2337 +#: stock/models.py:2335 msgid "Stock Item Tracking" -msgstr "" +msgstr "Voorraad item volgen" -#: stock/models.py:2370 +#: stock/models.py:2368 msgid "Entry notes" -msgstr "" +msgstr "Item notities" -#: stock/models.py:2410 +#: stock/models.py:2408 msgid "Stock Item Test Result" msgstr "" -#: stock/models.py:2443 +#: stock/models.py:2439 msgid "Value must be provided for this test" -msgstr "" +msgstr "Waarde moet voor deze test worden opgegeven" -#: stock/models.py:2448 +#: stock/models.py:2443 msgid "Attachment must be uploaded for this test" -msgstr "" +msgstr "Bijlage moet worden geüpload voor deze test" -#: stock/models.py:2453 +#: stock/models.py:2448 msgid "Invalid value for this test" -msgstr "" +msgstr "Ongeldige waarde voor deze test" -#: stock/models.py:2538 +#: stock/models.py:2533 msgid "Test result" -msgstr "" +msgstr "Test resultaat" -#: stock/models.py:2545 +#: stock/models.py:2540 msgid "Test output value" -msgstr "" +msgstr "Test uitvoer waarde" -#: stock/models.py:2553 stock/serializers.py:245 +#: stock/models.py:2548 stock/serializers.py:245 msgid "Test result attachment" -msgstr "" +msgstr "Test resultaat bijlage" -#: stock/models.py:2557 +#: stock/models.py:2552 msgid "Test notes" -msgstr "" +msgstr "Test notities" -#: stock/models.py:2565 templates/js/translated/stock.js:1633 +#: stock/models.py:2560 templates/js/translated/stock.js:1633 msgid "Test station" -msgstr "" +msgstr "Test station" -#: stock/models.py:2566 +#: stock/models.py:2561 msgid "The identifier of the test station where the test was performed" -msgstr "" +msgstr "De identificatie van het teststation waar de test werd uitgevoerd" -#: stock/models.py:2572 +#: stock/models.py:2567 msgid "Started" -msgstr "" +msgstr "Gestart" -#: stock/models.py:2573 +#: stock/models.py:2568 msgid "The timestamp of the test start" -msgstr "" +msgstr "Het tijdstip van de start test" -#: stock/models.py:2579 +#: stock/models.py:2574 msgid "Finished" -msgstr "" +msgstr "Afgerond" -#: stock/models.py:2580 +#: stock/models.py:2575 msgid "The timestamp of the test finish" -msgstr "" +msgstr "Het tijdstip van de afgeronde test" #: stock/serializers.py:77 msgid "Generated batch code" -msgstr "" +msgstr "Gegenereerde batch code" #: stock/serializers.py:86 msgid "Select build order" -msgstr "" +msgstr "Selecteer build order" #: stock/serializers.py:95 msgid "Select stock item to generate batch code for" -msgstr "" +msgstr "Selecteer het voorraaditem om een batchcode te genereren voor" #: stock/serializers.py:104 msgid "Select location to generate batch code for" -msgstr "" +msgstr "Selecteer locatie om batch code voor te genereren" #: stock/serializers.py:113 msgid "Select part to generate batch code for" -msgstr "" +msgstr "Selecteer onderdeel voor het genereren van batchcode voor" #: stock/serializers.py:122 msgid "Select purchase order" -msgstr "" +msgstr "Selecteer bestelling" #: stock/serializers.py:129 msgid "Enter quantity for batch code" -msgstr "" +msgstr "Voer aantal voor batch code in" #: stock/serializers.py:152 msgid "Generated serial number" -msgstr "" +msgstr "Gegenereerd serienummer" #: stock/serializers.py:161 msgid "Select part to generate serial number for" -msgstr "" +msgstr "Selecteer onderdeel voor het genereren van het serienummer voor" #: stock/serializers.py:169 msgid "Quantity of serial numbers to generate" -msgstr "" +msgstr "Aantal serienummers om te genereren" #: stock/serializers.py:234 msgid "Test template for this result" -msgstr "" +msgstr "Test template voor dit resultaat" #: stock/serializers.py:258 msgid "Template ID or test name must be provided" -msgstr "" +msgstr "SjabloonID of testnaam moet worden opgegeven" #: stock/serializers.py:290 msgid "The test finished time cannot be earlier than the test started time" -msgstr "" +msgstr "De testtijd kan niet eerder zijn dan de starttijd van de test" #: stock/serializers.py:327 msgid "Serial number is too large" -msgstr "" +msgstr "Serienummer is te groot" -#: stock/serializers.py:459 stock/templates/stock/item_base.html:193 +#: stock/serializers.py:459 stock/templates/stock/item_base.html:189 msgid "Parent Item" -msgstr "" +msgstr "Bovenliggend Item" #: stock/serializers.py:460 msgid "Parent stock item" -msgstr "" +msgstr "Bovenliggende voorraad item" #: stock/serializers.py:479 msgid "Use pack size when adding: the quantity defined is the number of packs" -msgstr "" +msgstr "Gebruik pakketgrootte bij het toevoegen: de hoeveelheid gedefinieerd is het aantal pakketten" -#: stock/serializers.py:603 stock/templates/stock/item_base.html:437 +#: stock/serializers.py:603 stock/templates/stock/item_base.html:433 #: templates/js/translated/table_filters.js:442 users/models.py:174 msgid "Expired" -msgstr "" +msgstr "Verlopen" #: stock/serializers.py:609 stock/templates/stock/stock_sidebar.html:20 msgid "Child Items" -msgstr "" +msgstr "Onderliggende items" #: stock/serializers.py:613 msgid "Tracking Items" -msgstr "" +msgstr "Items volgen" #: stock/serializers.py:619 msgid "Purchase price of this stock item, per unit or pack" -msgstr "" +msgstr "Inkoopprijs van dit voorraadartikel, per eenheid of pakket" #: stock/serializers.py:638 msgid "Minimum Pricing" -msgstr "" +msgstr "Minimale prijs" #: stock/serializers.py:644 msgid "Maximum Pricing" -msgstr "" +msgstr "Maximum prijs" #: stock/serializers.py:668 msgid "Enter number of stock items to serialize" -msgstr "" +msgstr "Aantal voorraaditems om serienummers voor te maken" #: stock/serializers.py:681 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" -msgstr "" +msgstr "Hoeveelheid mag niet hoger zijn dan de beschikbare voorraad ({q})" #: stock/serializers.py:688 msgid "Enter serial numbers for new items" -msgstr "" +msgstr "Voer serienummers voor nieuwe items in" #: stock/serializers.py:699 stock/serializers.py:1433 stock/serializers.py:1689 msgid "Destination stock location" -msgstr "" +msgstr "Locatie van bestemming" #: stock/serializers.py:706 msgid "Optional note field" -msgstr "" +msgstr "Optioneel notities veld" #: stock/serializers.py:716 msgid "Serial numbers cannot be assigned to this part" -msgstr "" +msgstr "Serienummers kunnen niet worden toegewezen aan dit deel" #: stock/serializers.py:771 msgid "Select stock item to install" -msgstr "" +msgstr "Selecteer voorraaditem om te installeren" #: stock/serializers.py:778 msgid "Quantity to Install" -msgstr "" +msgstr "Te installeren hoeveelheid" #: stock/serializers.py:779 msgid "Enter the quantity of items to install" -msgstr "" +msgstr "Voer de te installeren hoeveelheid items in" #: stock/serializers.py:784 stock/serializers.py:864 stock/serializers.py:990 #: stock/serializers.py:1040 msgid "Add transaction note (optional)" -msgstr "" +msgstr "Transactienotitie toevoegen (optioneel)" #: stock/serializers.py:792 msgid "Quantity to install must be at least 1" -msgstr "" +msgstr "Te installeren hoeveelheid moet minimaal 1 zijn" #: stock/serializers.py:800 msgid "Stock item is unavailable" -msgstr "" +msgstr "Voorraadartikel is niet beschikbaar" #: stock/serializers.py:811 msgid "Selected part is not in the Bill of Materials" -msgstr "" +msgstr "Het geselecteerde deel zit niet in de materialen lijst" #: stock/serializers.py:824 msgid "Quantity to install must not exceed available quantity" -msgstr "" +msgstr "De te installeren hoeveelheid mag niet groter zijn dan de beschikbare hoeveelheid" #: stock/serializers.py:859 msgid "Destination location for uninstalled item" -msgstr "" +msgstr "Bestemmingslocatie voor verwijderd item" #: stock/serializers.py:910 msgid "Unsupported statistic type: " @@ -10410,7 +10475,7 @@ msgstr "" msgid "Test Data" msgstr "" -#: stock/templates/stock/item.html:85 stock/templates/stock/item_base.html:65 +#: stock/templates/stock/item.html:85 msgid "Test Report" msgstr "" @@ -10450,238 +10515,242 @@ msgstr "" msgid "Scan to Location" msgstr "Scan naar Locatie" -#: stock/templates/stock/item_base.html:59 +#: stock/templates/stock/item_base.html:58 #: stock/templates/stock/location.html:67 #: templates/js/translated/filters.js:434 msgid "Printing actions" msgstr "" -#: stock/templates/stock/item_base.html:75 +#: stock/templates/stock/item_base.html:63 templates/js/translated/report.js:49 +msgid "Print Report" +msgstr "" + +#: stock/templates/stock/item_base.html:71 msgid "Stock adjustment actions" msgstr "" -#: stock/templates/stock/item_base.html:79 +#: stock/templates/stock/item_base.html:75 #: stock/templates/stock/location.html:87 templates/js/translated/stock.js:1909 msgid "Count stock" msgstr "Voorraad tellen" -#: stock/templates/stock/item_base.html:81 +#: stock/templates/stock/item_base.html:77 #: templates/js/translated/stock.js:1891 msgid "Add stock" msgstr "" -#: stock/templates/stock/item_base.html:82 +#: stock/templates/stock/item_base.html:78 #: templates/js/translated/stock.js:1900 msgid "Remove stock" msgstr "" -#: stock/templates/stock/item_base.html:85 +#: stock/templates/stock/item_base.html:81 msgid "Serialize stock" msgstr "" -#: stock/templates/stock/item_base.html:88 +#: stock/templates/stock/item_base.html:84 #: stock/templates/stock/location.html:93 templates/js/translated/stock.js:1918 msgid "Transfer stock" msgstr "Voorraad overzetten" -#: stock/templates/stock/item_base.html:91 +#: stock/templates/stock/item_base.html:87 #: templates/js/translated/stock.js:1973 msgid "Assign to customer" msgstr "" -#: stock/templates/stock/item_base.html:94 +#: stock/templates/stock/item_base.html:90 msgid "Return to stock" msgstr "" -#: stock/templates/stock/item_base.html:97 +#: stock/templates/stock/item_base.html:93 msgid "Uninstall stock item" msgstr "" -#: stock/templates/stock/item_base.html:97 +#: stock/templates/stock/item_base.html:93 msgid "Uninstall" msgstr "" -#: stock/templates/stock/item_base.html:101 +#: stock/templates/stock/item_base.html:97 msgid "Install stock item" msgstr "" -#: stock/templates/stock/item_base.html:101 +#: stock/templates/stock/item_base.html:97 msgid "Install" msgstr "" -#: stock/templates/stock/item_base.html:115 +#: stock/templates/stock/item_base.html:111 msgid "Convert to variant" msgstr "" -#: stock/templates/stock/item_base.html:118 +#: stock/templates/stock/item_base.html:114 msgid "Duplicate stock item" -msgstr "" +msgstr "Artikel dupliceren" -#: stock/templates/stock/item_base.html:120 +#: stock/templates/stock/item_base.html:116 msgid "Edit stock item" -msgstr "" +msgstr "Bewerk voorraad item" -#: stock/templates/stock/item_base.html:123 +#: stock/templates/stock/item_base.html:119 msgid "Delete stock item" -msgstr "" +msgstr "Voorraadartikel verwijderen" -#: stock/templates/stock/item_base.html:169 templates/InvenTree/search.html:139 +#: stock/templates/stock/item_base.html:165 templates/InvenTree/search.html:139 #: templates/js/translated/build.js:2298 templates/navbar.html:38 msgid "Build" msgstr "Product" -#: stock/templates/stock/item_base.html:211 +#: stock/templates/stock/item_base.html:207 msgid "No manufacturer set" msgstr "Geen fabrikant geselecteerd" -#: stock/templates/stock/item_base.html:251 +#: stock/templates/stock/item_base.html:247 msgid "You are not in the list of owners of this item. This stock item cannot be edited." -msgstr "" +msgstr "U staat niet in de lijst van eigenaars van deze locatie. Deze voorraadlocatie kan niet worden bewerkt." -#: stock/templates/stock/item_base.html:252 +#: stock/templates/stock/item_base.html:248 #: stock/templates/stock/location.html:146 msgid "Read only" -msgstr "" +msgstr "Alleen lezen" -#: stock/templates/stock/item_base.html:265 +#: stock/templates/stock/item_base.html:261 msgid "This stock item is unavailable" -msgstr "" +msgstr "Dit voorraadartikel is niet beschikbaar" -#: stock/templates/stock/item_base.html:271 +#: stock/templates/stock/item_base.html:267 msgid "This stock item is in production and cannot be edited." -msgstr "" +msgstr "Deze voorraad is in productie en kan niet worden bewerkt." -#: stock/templates/stock/item_base.html:272 +#: stock/templates/stock/item_base.html:268 msgid "Edit the stock item from the build view." -msgstr "" +msgstr "Bewerk het voorraaditem uit de build weergave." -#: stock/templates/stock/item_base.html:287 +#: stock/templates/stock/item_base.html:283 msgid "This stock item is allocated to Sales Order" msgstr "Dit voorraadartikel is toegewezen aan Verkooporder" -#: stock/templates/stock/item_base.html:295 +#: stock/templates/stock/item_base.html:291 msgid "This stock item is allocated to Build Order" msgstr "Dit voorraadartikel is toegewezen aan Productieorder" -#: stock/templates/stock/item_base.html:311 +#: stock/templates/stock/item_base.html:307 msgid "This stock item is serialized. It has a unique serial number and the quantity cannot be adjusted" -msgstr "" +msgstr "Dit voorraaditem is geserialiseerd. Het heeft een uniek serienummer en de hoeveelheid kan niet worden aangepast" -#: stock/templates/stock/item_base.html:317 +#: stock/templates/stock/item_base.html:313 msgid "previous page" msgstr "vorige pagina" -#: stock/templates/stock/item_base.html:317 +#: stock/templates/stock/item_base.html:313 msgid "Navigate to previous serial number" -msgstr "" +msgstr "Navigeer naar het vorige serienummer" -#: stock/templates/stock/item_base.html:326 +#: stock/templates/stock/item_base.html:322 msgid "next page" msgstr "volgende pagina" -#: stock/templates/stock/item_base.html:326 +#: stock/templates/stock/item_base.html:322 msgid "Navigate to next serial number" -msgstr "" +msgstr "Navigeer naar het volgende serienummer" -#: stock/templates/stock/item_base.html:398 +#: stock/templates/stock/item_base.html:394 #: templates/js/translated/build.js:2555 msgid "No location set" msgstr "Geen locatie ingesteld" -#: stock/templates/stock/item_base.html:413 +#: stock/templates/stock/item_base.html:409 msgid "Tests" -msgstr "" +msgstr "Testen" -#: stock/templates/stock/item_base.html:419 +#: stock/templates/stock/item_base.html:415 msgid "This stock item has not passed all required tests" -msgstr "" +msgstr "Dit voorraadartikel heeft niet alle vereiste tests doorstaan" -#: stock/templates/stock/item_base.html:437 +#: stock/templates/stock/item_base.html:433 #, python-format msgid "This StockItem expired on %(item.expiry_date)s" -msgstr "" +msgstr "Dit voorraadartikel is verlopen op %(item.expiry_date)s" -#: stock/templates/stock/item_base.html:439 +#: stock/templates/stock/item_base.html:435 #, python-format msgid "This StockItem expires on %(item.expiry_date)s" -msgstr "" +msgstr "Dit voorraadartikel verloopt op %(item.expiry_date)s" -#: stock/templates/stock/item_base.html:455 +#: stock/templates/stock/item_base.html:451 msgid "No stocktake performed" -msgstr "" +msgstr "Er is geen voorraad uitgevoerd" -#: stock/templates/stock/item_base.html:504 +#: stock/templates/stock/item_base.html:500 #: templates/js/translated/stock.js:2038 msgid "stock item" -msgstr "" +msgstr "Voorraad item" -#: stock/templates/stock/item_base.html:527 +#: stock/templates/stock/item_base.html:523 msgid "Edit Stock Status" -msgstr "" +msgstr "Bewerk voorraad status" -#: stock/templates/stock/item_base.html:536 +#: stock/templates/stock/item_base.html:532 msgid "Stock Item QR Code" -msgstr "" +msgstr "Stock Item QR Code" -#: stock/templates/stock/item_base.html:547 +#: stock/templates/stock/item_base.html:543 msgid "Link Barcode to Stock Item" -msgstr "" +msgstr "Link streepjescode aan standaard artikel" -#: stock/templates/stock/item_base.html:611 +#: stock/templates/stock/item_base.html:607 msgid "Select one of the part variants listed below." -msgstr "" +msgstr "Selecteer één van de hieronder vermelde onderdelen varianten." -#: stock/templates/stock/item_base.html:614 +#: stock/templates/stock/item_base.html:610 msgid "Warning" -msgstr "" +msgstr "Waarschuwing" -#: stock/templates/stock/item_base.html:615 +#: stock/templates/stock/item_base.html:611 msgid "This action cannot be easily undone" -msgstr "" +msgstr "Deze actie kan niet makkelijk ongedaan worden gemaakt" -#: stock/templates/stock/item_base.html:623 +#: stock/templates/stock/item_base.html:619 msgid "Convert Stock Item" -msgstr "" +msgstr "Converteer voorraad item" -#: stock/templates/stock/item_base.html:656 +#: stock/templates/stock/item_base.html:652 msgid "Return to Stock" -msgstr "" +msgstr "Terug naar voorraad" #: stock/templates/stock/item_serialize.html:5 msgid "Create serialized items from this stock item." -msgstr "" +msgstr "Creëer geserialiseerde artikelen van dit voorraadartikel." #: stock/templates/stock/item_serialize.html:7 msgid "Select quantity to serialize, and unique serial numbers." -msgstr "" +msgstr "Selecteer aantal om te serialiseren en unieke serienummers." #: stock/templates/stock/location.html:35 msgid "Perform stocktake for this stock location" -msgstr "" +msgstr "Voorraadcontrole uitvoeren voor deze voorraadlocatie" #: stock/templates/stock/location.html:42 msgid "Locate stock location" -msgstr "" +msgstr "Zoek voorraad locatie" #: stock/templates/stock/location.html:60 msgid "Scan stock items into this location" -msgstr "" +msgstr "Scan voorraadartikelen naar deze locatie" #: stock/templates/stock/location.html:60 msgid "Scan In Stock Items" -msgstr "" +msgstr "Scan items op voorraad" #: stock/templates/stock/location.html:61 msgid "Scan stock container into this location" -msgstr "" +msgstr "Scan de voorraadcontainer naar deze locatie" #: stock/templates/stock/location.html:61 msgid "Scan In Container" -msgstr "" +msgstr "Scan in container" #: stock/templates/stock/location.html:72 msgid "Print Location Report" -msgstr "" +msgstr "Print locatie rapport" #: stock/templates/stock/location.html:101 msgid "Location actions" @@ -10697,11 +10766,11 @@ msgstr "Verwijder locatie" #: stock/templates/stock/location.html:135 msgid "Top level stock location" -msgstr "" +msgstr "Locatie voorraad topniveau" #: stock/templates/stock/location.html:141 msgid "Location Owner" -msgstr "" +msgstr "Locatie eigenaar" #: stock/templates/stock/location.html:145 msgid "You are not in the list of owners of this location. This stock location cannot be edited." @@ -10709,7 +10778,7 @@ msgstr "U staat niet in de lijst van eigenaars van deze locatie. Deze voorraadlo #: stock/templates/stock/location.html:173 msgid "Location Type" -msgstr "" +msgstr "Locatie type" #: stock/templates/stock/location.html:223 msgid "Create new stock location" @@ -10722,31 +10791,31 @@ msgstr "Nieuwe Locatie" #: stock/templates/stock/location.html:298 #: templates/js/translated/stock.js:2658 msgid "stock location" -msgstr "" +msgstr "Voorraad locatie" #: stock/templates/stock/location.html:320 msgid "Scanned stock container into this location" -msgstr "" +msgstr "Gescande voorraadcontainer op deze locatie" #: stock/templates/stock/location.html:393 msgid "Stock Location QR Code" -msgstr "" +msgstr "Voorraadlocatie QR-code" #: stock/templates/stock/location.html:404 msgid "Link Barcode to Stock Location" -msgstr "" +msgstr "Link streepjescode aan voorraad locatie" #: stock/templates/stock/stock_app_base.html:16 msgid "Loading..." -msgstr "" +msgstr "Laden..." #: stock/templates/stock/stock_sidebar.html:5 msgid "Stock Tracking" -msgstr "" +msgstr "Voorraad volgen" #: stock/templates/stock/stock_sidebar.html:8 msgid "Allocations" -msgstr "" +msgstr "Toewijzingen" #: templates/403.html:6 templates/403.html:12 templates/403_csrf.html:7 msgid "Permission Denied" @@ -10816,7 +10885,7 @@ msgstr "" #: templates/InvenTree/index.html:77 msgid "BOM Waiting Validation" -msgstr "" +msgstr "Stuklijst BOM wacht op validatie" #: templates/InvenTree/index.html:106 msgid "Recently Updated" @@ -10824,7 +10893,7 @@ msgstr "" #: templates/InvenTree/index.html:134 msgid "Depleted Stock" -msgstr "" +msgstr "Uitgebreide voorraad" #: templates/InvenTree/index.html:148 msgid "Required for Build Orders" @@ -10832,11 +10901,11 @@ msgstr "" #: templates/InvenTree/index.html:156 msgid "Expired Stock" -msgstr "" +msgstr "Verlopen voorraad" #: templates/InvenTree/index.html:172 msgid "Stale Stock" -msgstr "" +msgstr "Verouderde voorraad" #: templates/InvenTree/index.html:199 msgid "Build Orders In Progress" @@ -11012,11 +11081,11 @@ msgstr "" #: templates/InvenTree/settings/part_stocktake.html:7 msgid "Stocktake Settings" -msgstr "" +msgstr "Voorraadcontrole instellingen" #: templates/InvenTree/settings/part_stocktake.html:25 msgid "Stocktake Reports" -msgstr "" +msgstr "Voorraadcontrole rapporten" #: templates/InvenTree/settings/physical_units.html:8 #: templates/InvenTree/settings/sidebar.html:35 @@ -11290,7 +11359,7 @@ msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:439 msgid "No stock location types found" -msgstr "" +msgstr "Geen voorraadlocatie typen gevonden" #: templates/InvenTree/settings/settings_staff_js.html:464 msgid "Location count" @@ -11310,7 +11379,7 @@ msgid "Delete Location Type" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:503 -#: templates/InvenTree/settings/stock.html:38 +#: templates/InvenTree/settings/stock.html:39 msgid "New Location Type" msgstr "" @@ -11367,7 +11436,7 @@ msgstr "Verkooporder Instellingen" msgid "Stock Settings" msgstr "" -#: templates/InvenTree/settings/stock.html:34 +#: templates/InvenTree/settings/stock.html:35 msgid "Stock Location Types" msgstr "" @@ -11852,23 +11921,23 @@ msgstr "" msgid "Barcode Identifier" msgstr "" -#: templates/base.html:103 +#: templates/base.html:102 msgid "Server Restart Required" msgstr "" -#: templates/base.html:106 +#: templates/base.html:105 msgid "A configuration option has been changed which requires a server restart" msgstr "" -#: templates/base.html:106 templates/base.html:116 +#: templates/base.html:105 templates/base.html:115 msgid "Contact your system administrator for further information" msgstr "" -#: templates/base.html:113 +#: templates/base.html:112 msgid "Pending Database Migrations" msgstr "" -#: templates/base.html:116 +#: templates/base.html:115 msgid "There are pending database migrations which require attention" msgstr "" @@ -12140,15 +12209,15 @@ msgstr "" #: templates/js/translated/bom.js:78 msgid "Create BOM Item" -msgstr "" +msgstr "Creëer stuklijst BOM Item" #: templates/js/translated/bom.js:132 msgid "Display row data" -msgstr "" +msgstr "Toon rijgegevens" #: templates/js/translated/bom.js:188 msgid "Row Data" -msgstr "" +msgstr "Rij gegevens" #: templates/js/translated/bom.js:189 templates/js/translated/bom.js:700 #: templates/js/translated/modals.js:75 templates/js/translated/modals.js:629 @@ -12160,7 +12229,7 @@ msgstr "Sluit" #: templates/js/translated/bom.js:306 msgid "Download BOM Template" -msgstr "" +msgstr "Download stuklijst BOM sjabloon" #: templates/js/translated/bom.js:351 msgid "Multi Level BOM" @@ -12172,67 +12241,67 @@ msgstr "" #: templates/js/translated/bom.js:357 msgid "Levels" -msgstr "" +msgstr "Levels" #: templates/js/translated/bom.js:358 msgid "Select maximum number of BOM levels to export (0 = all levels)" -msgstr "" +msgstr "Selecteer het maximum aantal te exporteren stuklijst BOM niveaus (0 = alle levels)" #: templates/js/translated/bom.js:365 msgid "Include Alternative Parts" -msgstr "" +msgstr "Inclusief alternatieve onderdelen" #: templates/js/translated/bom.js:366 msgid "Include alternative parts in exported BOM" -msgstr "" +msgstr "Inclusief alternatieve onderdelen in geëxporteerd stuklijst BOM" #: templates/js/translated/bom.js:371 msgid "Include Parameter Data" -msgstr "" +msgstr "Voeg parametergegevens toe" #: templates/js/translated/bom.js:372 msgid "Include part parameter data in exported BOM" -msgstr "" +msgstr "Voeg deel parameter gegevens toe aan geëxporteerde stuklijst BOM" #: templates/js/translated/bom.js:377 msgid "Include Stock Data" -msgstr "" +msgstr "Inclusief voorraadgegevens" #: templates/js/translated/bom.js:378 msgid "Include part stock data in exported BOM" -msgstr "" +msgstr "Inclusief voorraadgegevens in geëxporteerde stuklijst BOM" #: templates/js/translated/bom.js:383 msgid "Include Manufacturer Data" -msgstr "" +msgstr "Inclusief fabrikant gegevens" #: templates/js/translated/bom.js:384 msgid "Include part manufacturer data in exported BOM" -msgstr "" +msgstr "Voeg fabrikant gegevens toe aan geëxporteerd stuklijst BOM" #: templates/js/translated/bom.js:389 msgid "Include Supplier Data" -msgstr "" +msgstr "Inclusief leveranciersgegevens" #: templates/js/translated/bom.js:390 msgid "Include part supplier data in exported BOM" -msgstr "" +msgstr "Inclusief leveranciersgegevens in geëxporteerde stuklijst BOM" #: templates/js/translated/bom.js:395 msgid "Include Pricing Data" -msgstr "" +msgstr "Inclusief prijsgegevens" #: templates/js/translated/bom.js:396 msgid "Include part pricing data in exported BOM" -msgstr "" +msgstr "Voeg onderdelenprijs gegevens toe aan geëxporteerde stuklijst BOM" #: templates/js/translated/bom.js:591 msgid "Remove substitute part" -msgstr "" +msgstr "Vervanging onderdeel verwijderen" #: templates/js/translated/bom.js:645 msgid "Select and add a new substitute part using the input below" -msgstr "" +msgstr "Selecteer en voeg een nieuw vervangingsonderdeel toe met behulp van onderstaande invoer" #: templates/js/translated/bom.js:656 msgid "Are you sure you wish to remove this substitute part link?" @@ -12240,118 +12309,118 @@ msgstr "" #: templates/js/translated/bom.js:662 msgid "Remove Substitute Part" -msgstr "" +msgstr "Verwijder vervangend deel" #: templates/js/translated/bom.js:701 msgid "Add Substitute" -msgstr "" +msgstr "Plaatsvervanger toevoegen" #: templates/js/translated/bom.js:702 msgid "Edit BOM Item Substitutes" -msgstr "" +msgstr "Stuklijst BOM Item vervangingen bewerken" #: templates/js/translated/bom.js:764 msgid "All selected BOM items will be deleted" -msgstr "" +msgstr "Alle geselecteerde stuklijst BOM items zullen worden verwijderd" #: templates/js/translated/bom.js:780 msgid "Delete selected BOM items?" -msgstr "" +msgstr "Geselecteerde stuklijst BOM items verwijderen?" #: templates/js/translated/bom.js:826 msgid "Delete items" -msgstr "" +msgstr "Artikelen verwijderen" #: templates/js/translated/bom.js:936 msgid "Load BOM for subassembly" -msgstr "" +msgstr "Laad stuklijst BOM voor sub assemblage" #: templates/js/translated/bom.js:946 msgid "Substitutes Available" -msgstr "" +msgstr "Vervangingen beschikbaar" #: templates/js/translated/bom.js:950 templates/js/translated/build.js:2676 msgid "Variant stock allowed" -msgstr "" +msgstr "Variant voorraad toegestaan" #: templates/js/translated/bom.js:1014 msgid "Substitutes" -msgstr "" +msgstr "Vervanging" #: templates/js/translated/bom.js:1139 msgid "BOM pricing is complete" -msgstr "" +msgstr "Stuklijst BOM prijs is voltooid" #: templates/js/translated/bom.js:1144 msgid "BOM pricing is incomplete" -msgstr "" +msgstr "Stuklijst BOM prijs aanduiding is niet compleet" #: templates/js/translated/bom.js:1151 msgid "No pricing available" -msgstr "" +msgstr "Geen prijs beschikbaar" #: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2815 msgid "External stock" -msgstr "" +msgstr "Externe voorraad" #: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2789 #: templates/js/translated/sales_order.js:1946 msgid "No Stock Available" -msgstr "" +msgstr "Geen voorraad beschikbaar" #: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2793 msgid "Includes variant and substitute stock" -msgstr "" +msgstr "Inclusief variant en vervangende voorraad" #: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2795 #: templates/js/translated/part.js:1263 #: templates/js/translated/sales_order.js:1943 msgid "Includes variant stock" -msgstr "" +msgstr "Inclusief variant voorraad" #: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2797 msgid "Includes substitute stock" -msgstr "" +msgstr "Inclusief vervangende voorraad" #: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2780 msgid "Consumable item" -msgstr "" +msgstr "Verbruiksartikel" #: templates/js/translated/bom.js:1285 msgid "Validate BOM Item" -msgstr "" +msgstr "Valideren stuklijstBOM Item" #: templates/js/translated/bom.js:1287 msgid "This line has been validated" -msgstr "" +msgstr "Deze regel is gevalideerd" #: templates/js/translated/bom.js:1289 msgid "Edit substitute parts" -msgstr "" +msgstr "Bewerk vervangende onderdelen" #: templates/js/translated/bom.js:1291 templates/js/translated/bom.js:1486 msgid "Edit BOM Item" -msgstr "" +msgstr "Edit stuklijst BOM Item" #: templates/js/translated/bom.js:1293 msgid "Delete BOM Item" -msgstr "" +msgstr "Verwijder stuklijst BOM Item" #: templates/js/translated/bom.js:1313 msgid "View BOM" -msgstr "" +msgstr "Bekijk stuklijst BOM" #: templates/js/translated/bom.js:1397 msgid "No BOM items found" -msgstr "" +msgstr "Geen stuklijst BOM producten gevonden" #: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2661 msgid "Required Part" -msgstr "" +msgstr "Vereist onderdeel" #: templates/js/translated/bom.js:1683 msgid "Inherited from parent BOM" -msgstr "" +msgstr "Overgenomen van bovenliggende stuklijst BOM" #: templates/js/translated/build.js:143 msgid "Edit Build Order" @@ -12718,7 +12787,7 @@ msgstr "" #: templates/js/translated/build.js:2785 #: templates/js/translated/sales_order.js:1951 msgid "Sufficient stock available" -msgstr "" +msgstr "Te veel voorraad beschikbaar" #: templates/js/translated/build.js:2840 msgid "Consumable Item" @@ -12735,20 +12804,20 @@ msgstr "" #: templates/js/translated/build.js:2856 #: templates/js/translated/sales_order.js:2052 msgid "Build stock" -msgstr "" +msgstr "Voorraad bouwen" #: templates/js/translated/build.js:2861 templates/js/translated/stock.js:1954 msgid "Order stock" -msgstr "" +msgstr "Bestel voorraad" #: templates/js/translated/build.js:2865 #: templates/js/translated/sales_order.js:2046 msgid "Allocate stock" -msgstr "" +msgstr "Voorraad toewijzen" #: templates/js/translated/build.js:2869 msgid "Remove stock allocation" -msgstr "" +msgstr "Verwijder voorraad toewijzing" #: templates/js/translated/company.js:98 msgid "Add Manufacturer" @@ -13280,7 +13349,7 @@ msgstr "" #: templates/js/translated/part.js:334 templates/js/translated/stock.js:147 #: templates/js/translated/stock.js:182 msgid "Icon (optional) - Explore all available icons on" -msgstr "" +msgstr "Pictogram (optioneel) - Ontdek alle beschikbare pictogrammen op" #: templates/js/translated/part.js:355 msgid "Create Part Category" @@ -13356,7 +13425,7 @@ msgstr "" #: templates/js/translated/part.js:551 msgid "Any stock items for this part will be deleted" -msgstr "" +msgstr "Alle voorraadartikelen voor dit onderdeel worden verwijderd" #: templates/js/translated/part.js:552 msgid "This part will be removed from any Bills of Material" @@ -13388,7 +13457,7 @@ msgstr "" #: templates/js/translated/part.js:622 msgid "Validating the BOM will mark each line item as valid" -msgstr "" +msgstr "Het valideren van de stuklijst BOM zal elk regelitem als geldig markeren" #: templates/js/translated/part.js:632 msgid "Validate Bill of Materials" @@ -13405,11 +13474,11 @@ msgstr "" #: templates/js/translated/part.js:688 #: templates/js/translated/table_filters.js:755 msgid "Low stock" -msgstr "" +msgstr "Lage voorraad" #: templates/js/translated/part.js:691 msgid "No stock available" -msgstr "" +msgstr "Geen voorraad beschikbaar" #: templates/js/translated/part.js:751 msgid "Demand" @@ -13433,31 +13502,31 @@ msgstr "" #: templates/js/translated/part.js:896 msgid "Schedule generation of a new stocktake report." -msgstr "" +msgstr "Plan het genereren van een nieuw voorraad verslag." #: templates/js/translated/part.js:896 msgid "Once complete, the stocktake report will be available for download." -msgstr "" +msgstr "Eenmaal voltooid, zal het voorraadrapport beschikbaar zijn om te downloaden." #: templates/js/translated/part.js:904 msgid "Generate Stocktake Report" -msgstr "" +msgstr "Voorraadcontrole rapport genereren" #: templates/js/translated/part.js:908 msgid "Stocktake report scheduled" -msgstr "" +msgstr "Voorraadcontrole verslag gepland" #: templates/js/translated/part.js:1057 msgid "No stocktake information available" -msgstr "" +msgstr "Geen voorraadinformatie beschikbaar" #: templates/js/translated/part.js:1115 templates/js/translated/part.js:1151 msgid "Edit Stocktake Entry" -msgstr "" +msgstr "Invoer voorraadopname bewerken" #: templates/js/translated/part.js:1119 templates/js/translated/part.js:1161 msgid "Delete Stocktake Entry" -msgstr "" +msgstr "Voorraad invoer verwijderen" #: templates/js/translated/part.js:1288 msgid "No variants found" @@ -13535,7 +13604,7 @@ msgstr "" #: templates/js/translated/part.js:2550 templates/js/translated/part.js:2680 #: templates/js/translated/stock.js:2755 msgid "Display as list" -msgstr "" +msgstr "Weergeven als lijst" #: templates/js/translated/part.js:2566 msgid "Display as grid" @@ -13547,7 +13616,7 @@ msgstr "" #: templates/js/translated/part.js:2700 templates/js/translated/stock.js:2775 msgid "Display as tree" -msgstr "" +msgstr "Weergeven als structuur" #: templates/js/translated/part.js:2780 msgid "Load Subcategories" @@ -13607,7 +13676,7 @@ msgstr "" #: templates/js/translated/part.js:3230 msgid "Scheduled Stock Quantities" -msgstr "" +msgstr "Geplande voorraad hoeveelheid" #: templates/js/translated/part.js:3246 msgid "Maximum Quantity" @@ -13615,7 +13684,7 @@ msgstr "" #: templates/js/translated/part.js:3291 msgid "Minimum Stock Level" -msgstr "" +msgstr "Minimum voorraad niveau" #: templates/js/translated/plugin.js:46 msgid "No plugins found" @@ -13671,7 +13740,7 @@ msgstr "" #: templates/js/translated/pricing.js:321 msgid "No BOM data available" -msgstr "" +msgstr "Geen stuklijst BOM gegevens beschikbaar" #: templates/js/translated/pricing.js:463 msgid "No supplier pricing data available" @@ -13829,11 +13898,11 @@ msgstr "" #: templates/js/translated/purchase_order.js:1170 #: templates/js/translated/stock.js:1215 msgid "Specify packaging for incoming stock items" -msgstr "" +msgstr "Specificeer verpakking voor inkomende voorraaditems" #: templates/js/translated/purchase_order.js:1223 msgid "Stock Status" -msgstr "" +msgstr "Voorraad staat" #: templates/js/translated/purchase_order.js:1237 msgid "Add barcode" @@ -13890,7 +13959,7 @@ msgstr "" #: templates/js/translated/purchase_order.js:1465 msgid "Scan barcode on incoming item (must not match any existing stock items)" -msgstr "" +msgstr "Scan de streepjescode op het inkomende item (mag niet overeenkomen met bestaande voorraadartikelen)" #: templates/js/translated/purchase_order.js:1479 msgid "Invalid barcode data" @@ -13946,10 +14015,6 @@ msgstr "" msgid "Delete line item" msgstr "" -#: templates/js/translated/report.js:49 -msgid "Print Report" -msgstr "" - #: templates/js/translated/report.js:68 msgid "Report print successful" msgstr "" @@ -14019,11 +14084,11 @@ msgstr "" #: templates/js/translated/sales_order.js:291 msgid "No stock items have been allocated to this shipment" -msgstr "" +msgstr "Er zijn geen voorraadartikelen toegewezen aan deze zending" #: templates/js/translated/sales_order.js:296 msgid "The following stock items will be shipped" -msgstr "" +msgstr "De volgende voorraadartikelen worden verzonden" #: templates/js/translated/sales_order.js:336 msgid "Complete Shipment" @@ -14039,7 +14104,7 @@ msgstr "" #: templates/js/translated/sales_order.js:420 msgid "No stock items have been allocated to pending shipments" -msgstr "" +msgstr "Geen voorraadartikelen toegewezen aan lopende verzendingen" #: templates/js/translated/sales_order.js:430 msgid "Complete Shipments" @@ -14140,11 +14205,11 @@ msgstr "" #: templates/js/translated/sales_order.js:1306 msgid "Confirm stock allocation" -msgstr "" +msgstr "Voorraadtoewijzing bevestigen" #: templates/js/translated/sales_order.js:1307 msgid "Allocate Stock Items to Sales Order" -msgstr "" +msgstr "Voorraad artikelen toewijzen aan verkooporder" #: templates/js/translated/sales_order.js:1513 msgid "No sales order allocations found" @@ -14152,7 +14217,7 @@ msgstr "" #: templates/js/translated/sales_order.js:1605 msgid "Edit Stock Allocation" -msgstr "" +msgstr "Bewerk voorraadtoewijzing" #: templates/js/translated/sales_order.js:1619 msgid "Confirm Delete Operation" @@ -14160,18 +14225,18 @@ msgstr "" #: templates/js/translated/sales_order.js:1620 msgid "Delete Stock Allocation" -msgstr "" +msgstr "Verwijder voorraadtoewijzing" #: templates/js/translated/sales_order.js:1659 #: templates/js/translated/sales_order.js:1746 #: templates/js/translated/stock.js:1861 msgid "Shipped to customer" -msgstr "" +msgstr "Verzonden naar klant" #: templates/js/translated/sales_order.js:1667 #: templates/js/translated/sales_order.js:1755 msgid "Stock location not specified" -msgstr "" +msgstr "Voorraadlocatie niet opgegeven" #: templates/js/translated/sales_order.js:2044 msgid "Allocate serial numbers" @@ -14179,7 +14244,7 @@ msgstr "" #: templates/js/translated/sales_order.js:2048 msgid "Purchase stock" -msgstr "" +msgstr "Voorraad kopen" #: templates/js/translated/sales_order.js:2057 #: templates/js/translated/sales_order.js:2245 @@ -14224,87 +14289,87 @@ msgstr "" #: templates/js/translated/stock.js:106 msgid "Serialize Stock Item" -msgstr "" +msgstr "Voorraadartikel serialiseren" #: templates/js/translated/stock.js:137 msgid "Confirm Stock Serialization" -msgstr "" +msgstr "Bevestig voorraad serialisatie" #: templates/js/translated/stock.js:173 msgid "Add Location type" -msgstr "" +msgstr "Voeg locatie type toe" #: templates/js/translated/stock.js:209 msgid "Edit Stock Location" -msgstr "" +msgstr "Voorraad locatie bewerken" #: templates/js/translated/stock.js:224 msgid "New Stock Location" -msgstr "" +msgstr "Nieuwe voorraad locatie" #: templates/js/translated/stock.js:226 msgid "Create another location after this one" -msgstr "" +msgstr "Een andere locatie aanmaken na deze" #: templates/js/translated/stock.js:227 msgid "Stock location created" -msgstr "" +msgstr "Voorraadlocatie aangemaakt" #: templates/js/translated/stock.js:241 msgid "Are you sure you want to delete this stock location?" -msgstr "" +msgstr "Weet u zeker dat u deze voorraadlocatie wilt verwijderen?" #: templates/js/translated/stock.js:248 msgid "Move to parent stock location" -msgstr "" +msgstr "Verplaats naar bovenliggende standaard locatie" #: templates/js/translated/stock.js:257 msgid "Delete Stock Location" -msgstr "" +msgstr "Voorraad locatie verwijderen" #: templates/js/translated/stock.js:261 msgid "Action for stock items in this stock location" -msgstr "" +msgstr "Actie voor voorraad artikelen op deze voorraadlocatie" #: templates/js/translated/stock.js:266 msgid "Action for sub-locations" -msgstr "" +msgstr "Actie voor deellocaties" #: templates/js/translated/stock.js:320 msgid "This part cannot be serialized" -msgstr "" +msgstr "Dit onderdeel kan niet geserialiseerd worden" #: templates/js/translated/stock.js:356 msgid "Add given quantity as packs instead of individual items" -msgstr "" +msgstr "Opgegeven hoeveelheid als pakket toevoegen in plaats van individuele artikelen" #: templates/js/translated/stock.js:368 msgid "Enter initial quantity for this stock item" -msgstr "" +msgstr "Voer het initiële aantal in voor dit voorraaditem" #: templates/js/translated/stock.js:374 msgid "Enter serial numbers for new stock (or leave blank)" -msgstr "" +msgstr "Voer serienummer in voor nieuwe voorraad (of laat het leeg)" #: templates/js/translated/stock.js:445 msgid "Stock item duplicated" -msgstr "" +msgstr "Voorraad item gedupliceerd" #: templates/js/translated/stock.js:465 msgid "Duplicate Stock Item" -msgstr "" +msgstr "Artikel dupliceren" #: templates/js/translated/stock.js:481 msgid "Are you sure you want to delete this stock item?" -msgstr "" +msgstr "Weet u zeker dat u dit product wilt verwijderen?" #: templates/js/translated/stock.js:486 msgid "Delete Stock Item" -msgstr "" +msgstr "Voorraad item verwijderen" #: templates/js/translated/stock.js:507 msgid "Edit Stock Item" -msgstr "" +msgstr "Voorraad item bewerken" #: templates/js/translated/stock.js:549 msgid "Create another item after this one" @@ -14677,7 +14742,7 @@ msgstr "" #: templates/js/translated/stock.js:3305 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" -msgstr "" +msgstr "Het voorraadartikel linkt naar een onderdeel dat de stuklijst BOM is voor dit voorraadartikel" #: templates/js/translated/stock.js:3306 msgid "The Stock Item is currently available in stock" diff --git a/src/backend/InvenTree/locale/no/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/no/LC_MESSAGES/django.po index 80f730a9c783..c6961f2386e0 100644 --- a/src/backend/InvenTree/locale/no/LC_MESSAGES/django.po +++ b/src/backend/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: 2024-08-29 07:07+0000\n" -"PO-Revision-Date: 2024-08-29 07:10\n" +"POT-Creation-Date: 2024-09-16 00:37+0000\n" +"PO-Revision-Date: 2024-09-16 00:40\n" "Last-Translator: \n" "Language-Team: Norwegian\n" "Language: no_NO\n" @@ -65,9 +65,9 @@ msgstr "Oppgi dato" #: 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:59 -#: part/models.py:3309 part/templates/part/part_sidebar.html:65 +#: part/models.py:3296 part/templates/part/part_sidebar.html:65 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/admin.py:231 stock/models.py:2369 stock/models.py:2557 +#: stock/admin.py:231 stock/models.py:2367 stock/models.py:2552 #: stock/serializers.py:705 stock/serializers.py:863 stock/serializers.py:989 #: stock/serializers.py:1039 stock/serializers.py:1350 #: stock/serializers.py:1439 stock/serializers.py:1604 @@ -364,7 +364,7 @@ msgstr "Kinesisk (tradisjonell)" msgid "[{site_name}] Log in to the app" msgstr "[{site_name}] Logg inn på appen" -#: InvenTree/magic_login.py:38 InvenTree/serializers.py:413 +#: InvenTree/magic_login.py:38 InvenTree/serializers.py:416 #: company/models.py:133 company/templates/company/company_base.html:138 #: templates/InvenTree/settings/user.html:49 #: templates/js/translated/company.js:677 @@ -419,9 +419,9 @@ msgstr "Duplikatnavn kan ikke eksistere under samme overordnede" msgid "Invalid choice" msgstr "Ugyldig valg" -#: InvenTree/models.py:767 common/models.py:2704 common/models.py:3131 -#: common/models.py:3351 common/serializers.py:439 company/models.py:590 -#: machine/models.py:24 part/models.py:995 part/models.py:3776 +#: InvenTree/models.py:767 common/models.py:2705 common/models.py:3132 +#: common/models.py:3352 common/serializers.py:455 company/models.py:590 +#: machine/models.py:24 part/models.py:995 part/models.py:3763 #: plugin/models.py:51 report/models.py:149 stock/models.py:82 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -446,10 +446,10 @@ msgstr "Navn" #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 order/models.py:289 #: order/models.py:1406 part/admin.py:305 part/admin.py:411 part/models.py:1018 -#: part/models.py:3791 part/templates/part/category.html:79 +#: part/models.py:3778 part/templates/part/category.html:79 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:155 -#: report/models.py:509 report/models.py:535 +#: report/models.py:517 report/models.py:543 #: report/templates/report/inventree_build_order_report.html:117 #: stock/admin.py:54 stock/models.py:88 stock/templates/stock/location.html:122 #: templates/InvenTree/settings/notifications.html:19 @@ -517,12 +517,12 @@ msgstr "Serverfeil" msgid "An error has been logged by the server." msgstr "En feil har blitt logget av serveren." -#: InvenTree/serializers.py:63 part/models.py:4400 +#: InvenTree/serializers.py:63 part/models.py:4387 msgid "Must be a valid number" msgstr "Må være et gyldig tall" #: InvenTree/serializers.py:100 company/models.py:183 -#: company/templates/company/company_base.html:112 part/models.py:3127 +#: company/templates/company/company_base.html:112 part/models.py:3114 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -536,43 +536,43 @@ msgstr "Velg valuta ut fra tilgjengelige alternativer" msgid "Username" msgstr "Brukernavn" -#: InvenTree/serializers.py:407 templates/InvenTree/settings/user.html:37 +#: InvenTree/serializers.py:408 templates/InvenTree/settings/user.html:37 msgid "First Name" msgstr "Fornavn" -#: InvenTree/serializers.py:407 +#: InvenTree/serializers.py:408 msgid "First name of the user" msgstr "Fornavn på brukeren" -#: InvenTree/serializers.py:410 templates/InvenTree/settings/user.html:41 +#: InvenTree/serializers.py:412 templates/InvenTree/settings/user.html:41 msgid "Last Name" msgstr "Etternavn" -#: InvenTree/serializers.py:410 +#: InvenTree/serializers.py:412 msgid "Last name of the user" msgstr "Etternavn på brukeren" -#: InvenTree/serializers.py:413 +#: InvenTree/serializers.py:416 msgid "Email address of the user" msgstr "E-postadressen til brukeren" -#: InvenTree/serializers.py:438 +#: InvenTree/serializers.py:441 msgid "Staff" msgstr "Personale" -#: InvenTree/serializers.py:438 +#: InvenTree/serializers.py:441 msgid "Does this user have staff permissions" msgstr "Har denne brukeren personelltillatelser" -#: InvenTree/serializers.py:441 +#: InvenTree/serializers.py:445 msgid "Superuser" msgstr "Superbruker" -#: InvenTree/serializers.py:441 +#: InvenTree/serializers.py:445 msgid "Is this user a superuser" msgstr "Er denne brukeren en superbruker" -#: InvenTree/serializers.py:444 common/models.py:2709 company/models.py:160 +#: InvenTree/serializers.py:449 common/models.py:2710 company/models.py:160 #: company/models.py:798 machine/models.py:39 part/admin.py:88 #: part/models.py:1201 plugin/models.py:66 #: templates/js/translated/company.js:523 @@ -585,89 +585,89 @@ msgstr "Er denne brukeren en superbruker" msgid "Active" msgstr "Aktiv" -#: InvenTree/serializers.py:444 +#: InvenTree/serializers.py:449 msgid "Is this user account active" msgstr "Er denne brukerkontoen aktiv" -#: InvenTree/serializers.py:462 +#: InvenTree/serializers.py:467 msgid "You do not have permission to change this user role." msgstr "Du har ikke tillatelse til å endre denne brukerrollen." -#: InvenTree/serializers.py:474 +#: InvenTree/serializers.py:503 msgid "Only superusers can create new users" msgstr "Bare superbrukere kan opprette nye brukere" -#: InvenTree/serializers.py:493 +#: InvenTree/serializers.py:522 msgid "Your account has been created." msgstr "Din konto er opprettet." -#: InvenTree/serializers.py:495 +#: InvenTree/serializers.py:524 msgid "Please use the password reset function to login" msgstr "Vennligst bruk funksjonen for å tilbakestille passord for å logge inn" -#: InvenTree/serializers.py:502 +#: InvenTree/serializers.py:531 msgid "Welcome to InvenTree" msgstr "Velkommen til InvenTree" -#: InvenTree/serializers.py:560 +#: InvenTree/serializers.py:589 msgid "Invalid value" msgstr "Ugyldig verdi" -#: InvenTree/serializers.py:580 importer/models.py:64 +#: InvenTree/serializers.py:609 importer/models.py:64 msgid "Data File" msgstr "Datafil" -#: InvenTree/serializers.py:581 +#: InvenTree/serializers.py:610 msgid "Select data file for upload" msgstr "Velg datafil for opplasting" -#: InvenTree/serializers.py:598 +#: InvenTree/serializers.py:627 msgid "Unsupported file type" msgstr "Filtypen støttes ikke" -#: InvenTree/serializers.py:604 +#: InvenTree/serializers.py:633 msgid "File is too large" msgstr "Filen er for stor" -#: InvenTree/serializers.py:625 +#: InvenTree/serializers.py:654 msgid "No columns found in file" msgstr "Ingen kolonner funnet i filen" -#: InvenTree/serializers.py:628 +#: InvenTree/serializers.py:657 msgid "No data rows found in file" msgstr "Ingen datarader funnet i fil" -#: InvenTree/serializers.py:740 +#: InvenTree/serializers.py:769 msgid "No data rows provided" msgstr "Ingen datarader oppgitt" -#: InvenTree/serializers.py:743 +#: InvenTree/serializers.py:772 msgid "No data columns supplied" msgstr "Ingen datakolonner angitt" -#: InvenTree/serializers.py:809 +#: InvenTree/serializers.py:838 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "Mangler påkrevd kolonne: '{name}'" -#: InvenTree/serializers.py:818 +#: InvenTree/serializers.py:847 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "Dupliaktkolonne: '{col}'" -#: InvenTree/serializers.py:857 +#: InvenTree/serializers.py:886 msgid "Remote Image" msgstr "Eksternt bilde" -#: InvenTree/serializers.py:858 +#: InvenTree/serializers.py:887 msgid "URL of remote image file" msgstr "URLtil ekstern bildefil" -#: InvenTree/serializers.py:876 +#: InvenTree/serializers.py:905 msgid "Downloading images from remote URL is not enabled" msgstr "Nedlasting av bilder fra ekstern URL er ikke aktivert" -#: InvenTree/status.py:65 part/serializers.py:1267 +#: InvenTree/status.py:65 part/serializers.py:1265 msgid "Background worker check failed" msgstr "Sjekk av bakgrunnsarbeider mislyktes" @@ -759,7 +759,7 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "Produksjonen må avbrytes før den kan slettes" -#: build/api.py:319 build/serializers.py:1332 part/models.py:4278 +#: build/api.py:319 build/serializers.py:1332 part/models.py:4265 #: templates/js/translated/bom.js:997 templates/js/translated/bom.js:1037 #: templates/js/translated/build.js:2705 #: templates/js/translated/table_filters.js:197 @@ -767,7 +767,7 @@ msgstr "Produksjonen må avbrytes før den kan slettes" msgid "Consumable" msgstr "Forbruksvare" -#: build/api.py:320 build/serializers.py:1333 part/models.py:4272 +#: build/api.py:320 build/serializers.py:1333 part/models.py:4259 #: part/templates/part/upload_bom.html:58 templates/js/translated/bom.js:1001 #: templates/js/translated/bom.js:1028 templates/js/translated/build.js:2696 #: templates/js/translated/table_filters.js:193 @@ -777,7 +777,7 @@ msgid "Optional" msgstr "Valgfritt" #: build/api.py:321 common/models.py:1491 part/admin.py:91 part/admin.py:428 -#: part/models.py:1166 part/serializers.py:1596 +#: part/models.py:1166 part/serializers.py:1594 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:337 #: templates/js/translated/table_filters.js:729 @@ -816,7 +816,7 @@ msgstr "Tildelt" msgid "Available" msgstr "Tilgjengelig" -#: build/models.py:87 build/templates/build/build_base.html:9 +#: build/models.py:88 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_report.html:105 #: stock/serializers.py:85 templates/email/build_order_completed.html:16 @@ -825,7 +825,7 @@ msgstr "Tilgjengelig" msgid "Build Order" msgstr "Produksjonsordre" -#: build/models.py:88 build/templates/build/build_base.html:13 +#: build/models.py:89 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:111 #: order/templates/order/so_sidebar.html:13 @@ -866,7 +866,7 @@ msgstr "Produksjonsordre-referanse" #: build/models.py:243 build/serializers.py:1331 order/models.py:468 #: order/models.py:979 order/models.py:1366 order/models.py:2128 -#: part/admin.py:414 part/models.py:4293 part/templates/part/upload_bom.html:54 +#: part/admin.py:414 part/models.py:4280 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 @@ -892,11 +892,11 @@ msgstr "Produksjonsordre som denne produksjonen er tildelt" #: build/templates/build/build_base.html:105 #: build/templates/build/detail.html:29 company/models.py:1043 order/api.py:761 #: order/models.py:1496 order/models.py:1651 order/models.py:1652 -#: part/api.py:1506 part/api.py:1806 part/models.py:419 part/models.py:3138 -#: part/models.py:3282 part/models.py:3430 part/models.py:3451 -#: part/models.py:3473 part/models.py:3609 part/models.py:3951 -#: part/models.py:4114 part/models.py:4244 part/models.py:4602 -#: part/serializers.py:1213 part/serializers.py:1857 +#: part/api.py:1506 part/api.py:1806 part/models.py:419 part/models.py:3125 +#: part/models.py:3269 part/models.py:3417 part/models.py:3438 +#: part/models.py:3460 part/models.py:3596 part/models.py:3938 +#: part/models.py:4101 part/models.py:4231 part/models.py:4595 +#: part/serializers.py:1211 part/serializers.py:1855 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -1063,12 +1063,12 @@ msgstr "Bruker eller gruppe ansvarlig for produksjonsordren" #: order/templates/order/return_order_base.html:148 #: order/templates/order/sales_order_base.html:187 #: part/templates/part/part_base.html:399 stock/models.py:859 -#: stock/templates/stock/item_base.html:200 +#: stock/templates/stock/item_base.html:196 #: templates/js/translated/company.js:1019 msgid "External Link" msgstr "Ekstern lenke" -#: build/models.py:378 common/models.py:3272 part/models.py:1070 +#: build/models.py:378 common/models.py:3273 part/models.py:1070 #: stock/models.py:859 msgid "Link to external URL" msgstr "Lenke til ekstern URL" @@ -1110,7 +1110,7 @@ msgstr "Produksjonsordre {build} er fullført" msgid "A build order has been completed" msgstr "En produksjonsordre er fullført" -#: build/models.py:968 build/models.py:1056 +#: build/models.py:968 build/models.py:1057 msgid "No build output specified" msgstr "Ingen produksjonsartikkel spesifisert" @@ -1122,37 +1122,37 @@ msgstr "Produksjonsartikkelen er allerede fullført" msgid "Build output does not match Build Order" msgstr "Produksjonsartikkelen samsvarer ikke med produksjonsordren" -#: build/models.py:1060 build/serializers.py:279 build/serializers.py:328 +#: build/models.py:1061 build/serializers.py:279 build/serializers.py:328 #: build/serializers.py:959 order/models.py:565 order/serializers.py:500 -#: order/serializers.py:666 part/serializers.py:1590 part/serializers.py:2019 +#: order/serializers.py:666 part/serializers.py:1588 part/serializers.py:2017 #: stock/models.py:704 stock/models.py:1515 stock/serializers.py:676 msgid "Quantity must be greater than zero" msgstr "Mengden må være større enn null" -#: build/models.py:1065 build/serializers.py:284 +#: build/models.py:1066 build/serializers.py:284 msgid "Quantity cannot be greater than the output quantity" msgstr "Kvantitet kan ikke være større enn utgangsantallet" -#: build/models.py:1125 build/serializers.py:607 +#: build/models.py:1126 build/serializers.py:607 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "Produksjonsartikkel {serial} har ikke bestått alle påkrevde tester" -#: build/models.py:1466 +#: build/models.py:1477 msgid "Build Order Line Item" msgstr "Produksjonsartikkel" -#: build/models.py:1491 +#: build/models.py:1502 msgid "Build object" msgstr "Produksjonsobjekt" -#: build/models.py:1505 build/models.py:1761 build/serializers.py:266 +#: build/models.py:1516 build/models.py:1775 build/serializers.py:266 #: build/serializers.py:313 build/serializers.py:1339 #: build/templates/build/build_base.html:110 -#: build/templates/build/detail.html:34 common/models.py:2581 +#: build/templates/build/detail.html:34 common/models.py:2582 #: order/models.py:1349 order/models.py:2034 order/serializers.py:1464 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:413 -#: part/forms.py:48 part/models.py:3296 part/models.py:4266 +#: part/forms.py:48 part/models.py:3283 part/models.py:4253 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1163,9 +1163,9 @@ msgstr "Produksjonsobjekt" #: report/templates/report/inventree_test_report.html:90 #: report/templates/report/inventree_test_report.html:169 stock/admin.py:160 #: stock/serializers.py:128 stock/serializers.py:168 stock/serializers.py:667 -#: stock/templates/stock/item_base.html:287 -#: stock/templates/stock/item_base.html:295 -#: stock/templates/stock/item_base.html:342 +#: stock/templates/stock/item_base.html:283 +#: stock/templates/stock/item_base.html:291 +#: stock/templates/stock/item_base.html:338 #: templates/email/build_order_completed.html:18 #: templates/js/translated/barcode.js:579 templates/js/translated/bom.js:771 #: templates/js/translated/bom.js:981 templates/js/translated/build.js:525 @@ -1194,41 +1194,41 @@ msgstr "Produksjonsobjekt" msgid "Quantity" msgstr "Antall" -#: build/models.py:1506 +#: build/models.py:1517 msgid "Required quantity for build order" msgstr "Påkrevd antall for produksjonsordre" -#: build/models.py:1586 +#: build/models.py:1597 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "Produksjonselement må spesifisere en produksjonsartikkel, da master-del er merket som sporbar" -#: build/models.py:1595 +#: build/models.py:1606 #, 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:1605 order/models.py:1985 +#: build/models.py:1616 order/models.py:1985 msgid "Stock item is over-allocated" msgstr "Lagervaren er overtildelt" -#: build/models.py:1611 order/models.py:1988 +#: build/models.py:1622 order/models.py:1988 msgid "Allocation quantity must be greater than zero" msgstr "Tildelingsantall må være større enn null" -#: build/models.py:1617 +#: build/models.py:1628 msgid "Quantity must be 1 for serialized stock" msgstr "Mengden må være 1 for serialisert lagervare" -#: build/models.py:1676 +#: build/models.py:1687 msgid "Selected stock item does not match BOM line" msgstr "Valgt lagervare samsvarer ikke med BOM-linjen" -#: build/models.py:1748 build/serializers.py:939 order/serializers.py:1301 +#: build/models.py:1762 build/serializers.py:939 order/serializers.py:1301 #: order/serializers.py:1322 stock/models.py:381 stock/serializers.py:94 #: stock/serializers.py:770 stock/serializers.py:1288 stock/serializers.py:1400 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 -#: stock/templates/stock/item_base.html:194 +#: stock/templates/stock/item_base.html:190 #: templates/js/translated/build.js:1921 #: templates/js/translated/sales_order.js:301 #: templates/js/translated/sales_order.js:1234 @@ -1241,19 +1241,19 @@ msgstr "Valgt lagervare samsvarer ikke med BOM-linjen" msgid "Stock Item" msgstr "Lagervare" -#: build/models.py:1749 +#: build/models.py:1763 msgid "Source stock item" msgstr "Kildelagervare" -#: build/models.py:1762 +#: build/models.py:1776 msgid "Stock quantity to allocate to build" msgstr "Lagerantall å tildele til produksjonen" -#: build/models.py:1770 +#: build/models.py:1784 msgid "Install into" msgstr "Monteres i" -#: build/models.py:1771 +#: build/models.py:1785 msgid "Destination stock item" msgstr "Lagervare for montering" @@ -1262,7 +1262,7 @@ msgid "Build Level" msgstr "" #: build/serializers.py:115 build/serializers.py:1234 build/serializers.py:1323 -#: part/admin.py:41 part/admin.py:408 part/models.py:4116 part/stocktake.py:219 +#: part/admin.py:41 part/admin.py:408 part/models.py:4103 part/stocktake.py:219 #: stock/admin.py:157 msgid "Part Name" msgstr "Delnavn" @@ -1323,10 +1323,10 @@ msgid "Enter serial numbers for build outputs" msgstr "Angi serienummer for produksjonsartikler" #: build/serializers.py:359 build/serializers.py:500 build/serializers.py:572 -#: order/serializers.py:655 order/serializers.py:778 order/serializers.py:1789 -#: part/serializers.py:1233 stock/serializers.py:103 stock/serializers.py:698 +#: order/serializers.py:655 order/serializers.py:778 order/serializers.py:1797 +#: part/serializers.py:1231 stock/serializers.py:103 stock/serializers.py:698 #: stock/serializers.py:858 stock/serializers.py:984 stock/serializers.py:1432 -#: stock/serializers.py:1688 stock/templates/stock/item_base.html:394 +#: stock/serializers.py:1688 stock/templates/stock/item_base.html:390 #: templates/js/translated/barcode.js:578 #: templates/js/translated/barcode.js:826 templates/js/translated/build.js:1035 #: templates/js/translated/build.js:1177 templates/js/translated/build.js:2547 @@ -1390,7 +1390,7 @@ msgstr "Plassering for ferdige produksjonsartikler" #: build/templates/build/detail.html:62 order/models.py:477 #: order/models.py:1003 order/models.py:2152 order/serializers.py:687 #: stock/admin.py:165 stock/serializers.py:1035 stock/serializers.py:1576 -#: stock/templates/stock/item_base.html:427 +#: stock/templates/stock/item_base.html:423 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2366 #: templates/js/translated/purchase_order.js:1371 #: templates/js/translated/purchase_order.js:1792 @@ -1522,7 +1522,7 @@ msgstr "Produksjonsartikkel må spesifiseres for tildeling av sporede deler" msgid "Build output cannot be specified for allocation of untracked parts" msgstr "Produksjonsartikkel kan ikke spesifiseres for tildeling av usporede deler" -#: build/serializers.py:1030 order/serializers.py:1614 +#: build/serializers.py:1030 order/serializers.py:1622 msgid "Allocation items must be provided" msgstr "Tildelingsartikler må oppgis" @@ -1590,7 +1590,7 @@ msgstr "BOM-referanse" #: build/serializers.py:1230 company/models.py:849 #: company/templates/company/supplier_part.html:160 order/serializers.py:691 #: stock/admin.py:229 stock/models.py:822 stock/serializers.py:1586 -#: stock/templates/stock/item_base.html:240 +#: stock/templates/stock/item_base.html:236 #: templates/js/translated/company.js:1646 #: templates/js/translated/purchase_order.js:1169 #: templates/js/translated/purchase_order.js:1332 @@ -1600,12 +1600,12 @@ msgid "Packaging" msgstr "Emballasje" #: build/serializers.py:1233 part/admin.py:39 part/admin.py:398 -#: part/models.py:4115 part/stocktake.py:218 stock/admin.py:153 +#: part/models.py:4102 part/stocktake.py:218 stock/admin.py:153 msgid "Part ID" msgstr "Del-ID" #: build/serializers.py:1235 build/serializers.py:1324 part/admin.py:402 -#: part/models.py:4117 +#: part/models.py:4104 msgid "Part IPN" msgstr "Del -IPN" @@ -1625,7 +1625,7 @@ msgstr "" #: build/serializers.py:1243 #: report/templates/report/inventree_return_order_report.html:25 #: report/templates/report/inventree_test_report.html:88 stock/models.py:849 -#: stock/serializers.py:152 stock/templates/stock/item_base.html:311 +#: stock/serializers.py:152 stock/templates/stock/item_base.html:307 #: templates/js/translated/build.js:523 templates/js/translated/build.js:1543 #: templates/js/translated/build.js:2530 #: templates/js/translated/model_renderers.js:231 @@ -1644,7 +1644,7 @@ msgstr "Serienummer" msgid "Allocated Quantity" msgstr "Tildelt antall" -#: build/serializers.py:1257 stock/templates/stock/item_base.html:340 +#: build/serializers.py:1257 stock/templates/stock/item_base.html:336 msgid "Available Quantity" msgstr "Tilgjengelig antall" @@ -1667,13 +1667,13 @@ msgstr "Sporbar" msgid "Inherited" msgstr "Nedarvet" -#: build/serializers.py:1337 part/models.py:4326 +#: build/serializers.py:1337 part/models.py:4313 #: part/templates/part/upload_bom.html:56 templates/js/translated/bom.js:1046 #: templates/js/translated/build.js:2714 msgid "Allow Variants" msgstr "Tillat Varianter" -#: build/serializers.py:1341 part/models.py:4124 part/models.py:4594 +#: build/serializers.py:1341 part/models.py:4111 part/models.py:4587 #: stock/api.py:793 msgid "BOM Item" msgstr "BOM-artikkel" @@ -1684,7 +1684,7 @@ msgid "Allocated Stock" msgstr "Tildelt lagerbeholdning" #: build/serializers.py:1355 order/serializers.py:1179 part/admin.py:132 -#: part/bom.py:186 part/serializers.py:920 part/serializers.py:1623 +#: part/bom.py:186 part/serializers.py:918 part/serializers.py:1621 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 #: templates/js/translated/build.js:2807 templates/js/translated/part.js:712 #: templates/js/translated/part.js:2155 @@ -1692,13 +1692,13 @@ msgstr "Tildelt lagerbeholdning" msgid "On Order" msgstr "I bestilling" -#: build/serializers.py:1360 order/serializers.py:1180 part/serializers.py:1625 +#: build/serializers.py:1360 order/serializers.py:1180 part/serializers.py:1623 #: templates/js/translated/build.js:2811 #: templates/js/translated/table_filters.js:367 msgid "In Production" msgstr "I produksjon" -#: build/serializers.py:1365 part/bom.py:185 part/serializers.py:1650 +#: build/serializers.py:1365 part/bom.py:185 part/serializers.py:1648 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" @@ -1716,7 +1716,7 @@ msgstr "Tilgjengelige variantvarer" msgid "Total Available Stock" msgstr "Totalt tilgjengelig lagerbeholdning" -#: build/serializers.py:1372 part/serializers.py:927 +#: build/serializers.py:1372 part/serializers.py:925 msgid "External Stock" msgstr "Ekstern lagerbeholdning" @@ -1745,7 +1745,7 @@ msgstr "Kansellert" #: importer/status_codes.py:27 order/status_codes.py:15 #: order/status_codes.py:50 order/status_codes.py:81 #: order/templates/order/order_base.html:163 -#: order/templates/order/sales_order_base.html:168 report/models.py:443 +#: order/templates/order/sales_order_base.html:168 report/models.py:451 msgid "Complete" msgstr "Fullført" @@ -1849,9 +1849,6 @@ msgid "Delete Build" msgstr "Slett Produksjon" #: build/templates/build/build_base.html:87 -msgid "Isueue Build" -msgstr "" - #: build/templates/build/build_base.html:88 msgid "Issue Build" msgstr "" @@ -1931,7 +1928,7 @@ msgstr "Fullførte byggeresultater" #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_report.html:135 #: report/templates/report/inventree_sales_order_report.html:14 -#: stock/templates/stock/item_base.html:369 +#: stock/templates/stock/item_base.html:365 #: templates/email/overdue_sales_order.html:15 #: templates/js/translated/pricing.js:929 #: templates/js/translated/sales_order.js:805 @@ -1991,7 +1988,7 @@ msgid "Allocated Parts" msgstr "Tildelte deler" #: build/templates/build/detail.html:80 stock/admin.py:163 -#: stock/templates/stock/item_base.html:162 +#: stock/templates/stock/item_base.html:158 #: templates/js/translated/build.js:1556 #: templates/js/translated/model_renderers.js:242 #: templates/js/translated/purchase_order.js:1326 @@ -2148,19 +2145,19 @@ msgstr "Ufullstendige artikler" msgid "Test Statistics" msgstr "" -#: common/api.py:692 +#: common/api.py:725 msgid "Is Link" msgstr "Er lenke" -#: common/api.py:700 +#: common/api.py:733 msgid "Is File" msgstr "Er fil" -#: common/api.py:743 +#: common/api.py:776 msgid "User does not have permission to delete these attachments" msgstr "" -#: common/api.py:760 +#: common/api.py:793 msgid "User does not have permission to delete this attachment" msgstr "Brukeren har ikke tillatelse til å slette dette vedlegget" @@ -2352,8 +2349,8 @@ msgstr "Hvor ofte valutakurser skal oppdateres (sett til null for å deaktiverer #: common/models.py:1297 common/models.py:1353 common/models.py:1366 #: common/models.py:1374 common/models.py:1383 common/models.py:1392 -#: common/models.py:1629 common/models.py:1651 common/models.py:1766 -#: common/models.py:2148 +#: common/models.py:1629 common/models.py:1651 common/models.py:1752 +#: common/models.py:2141 msgid "days" msgstr "dager" @@ -2581,9 +2578,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:1485 part/admin.py:108 part/models.py:3959 -#: report/models.py:293 report/models.py:360 report/serializers.py:90 -#: report/serializers.py:131 stock/serializers.py:233 +#: common/models.py:1485 part/admin.py:108 part/models.py:3946 +#: report/models.py:301 report/models.py:368 report/serializers.py:91 +#: report/serializers.py:132 stock/serializers.py:233 #: templates/js/translated/table_filters.js:138 #: templates/js/translated/table_filters.js:775 msgid "Template" @@ -2598,7 +2595,7 @@ msgid "Parts can be assembled from other components by default" msgstr "Deler kan settes sammen fra andre komponenter som standard" #: common/models.py:1497 part/admin.py:95 part/models.py:1172 -#: part/serializers.py:1617 templates/js/translated/table_filters.js:737 +#: part/serializers.py:1615 templates/js/translated/table_filters.js:737 msgid "Component" msgstr "Komponent" @@ -2823,7 +2820,7 @@ msgid "Log errors which occur when generating reports" msgstr "" #: common/models.py:1702 plugin/builtin/labels/label_sheet.py:28 -#: report/models.py:301 +#: report/models.py:309 msgid "Page Size" msgstr "Sidestørrelse" @@ -2832,914 +2829,914 @@ msgid "Default page size for PDF reports" msgstr "Standard sidestørrelse for PDF-rapporter" #: common/models.py:1708 -msgid "Enable Test Reports" -msgstr "Aktiver Testrapporter" - -#: common/models.py:1709 -msgid "Enable generation of test reports" -msgstr "Aktiver generering av testrapporter" - -#: common/models.py:1714 -msgid "Attach Test Reports" -msgstr "Legg ved testrapporter" - -#: common/models.py:1716 -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:1722 msgid "Globally Unique Serials" msgstr "Globalt Unike Serienummer" -#: common/models.py:1723 +#: common/models.py:1709 msgid "Serial numbers for stock items must be globally unique" msgstr "Serienummer for lagervarer må være globalt unike" -#: common/models.py:1728 +#: common/models.py:1714 msgid "Autofill Serial Numbers" msgstr "Automatisk tildeling av Serienummer" -#: common/models.py:1729 +#: common/models.py:1715 msgid "Autofill serial numbers in forms" msgstr "Aumatisk fyll ut serienummer i skjemaer" -#: common/models.py:1734 +#: common/models.py:1720 msgid "Delete Depleted Stock" msgstr "Slett oppbrukt lagerbeholdning" -#: common/models.py:1736 +#: common/models.py:1722 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/models.py:1742 +#: common/models.py:1728 msgid "Batch Code Template" msgstr "Batchkodemal" -#: common/models.py:1744 +#: common/models.py:1730 msgid "Template for generating default batch codes for stock items" msgstr "Mal for generering av standard batchkoder for lagervarer" -#: common/models.py:1749 +#: common/models.py:1735 msgid "Stock Expiry" msgstr "Lagerbeholdning utløper" -#: common/models.py:1750 +#: common/models.py:1736 msgid "Enable stock expiry functionality" msgstr "Aktiver funksjonalitet for utløp av lagerbeholdning" -#: common/models.py:1755 +#: common/models.py:1741 msgid "Sell Expired Stock" msgstr "Selg utløpt lagerbeholdning" -#: common/models.py:1756 +#: common/models.py:1742 msgid "Allow sale of expired stock" msgstr "Tillat salg av utgått lagerbeholdning" -#: common/models.py:1761 +#: common/models.py:1747 msgid "Stock Stale Time" msgstr "Foreldet lagerbeholdning tidsintervall" -#: common/models.py:1763 +#: common/models.py:1749 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:1770 +#: common/models.py:1756 msgid "Build Expired Stock" msgstr "Produsér Utløpt Lagerbeholdning" -#: common/models.py:1771 +#: common/models.py:1757 msgid "Allow building with expired stock" msgstr "Tillat produksjon med utløpt lagerbeholdning" -#: common/models.py:1776 +#: common/models.py:1762 msgid "Stock Ownership Control" msgstr "Kontroll over eierskap av lagerbeholdning" -#: common/models.py:1777 +#: common/models.py:1763 msgid "Enable ownership control over stock locations and items" msgstr "Aktiver eierskap over lagerplasseringer og -varer" -#: common/models.py:1782 +#: common/models.py:1768 msgid "Stock Location Default Icon" msgstr "Lagerplassering standard ikon" -#: common/models.py:1783 +#: common/models.py:1769 msgid "Stock location default icon (empty means no icon)" msgstr "Lagerplassering standard ikon (tomt betyr ingen ikon)" -#: common/models.py:1788 +#: common/models.py:1774 msgid "Show Installed Stock Items" msgstr "Vis installerte lagervarer" -#: common/models.py:1789 +#: common/models.py:1775 msgid "Display installed stock items in stock tables" msgstr "Vis installerte lagervarer i lagertabeller" -#: common/models.py:1794 +#: common/models.py:1780 msgid "Check BOM when installing items" msgstr "" -#: common/models.py:1796 +#: common/models.py:1782 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/models.py:1802 +#: common/models.py:1788 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/models.py:1804 +#: common/models.py:1790 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/models.py:1810 +#: common/models.py:1796 msgid "Build Order Reference Pattern" msgstr "Produksjonsordre-referansemønster" -#: common/models.py:1812 +#: common/models.py:1798 msgid "Required pattern for generating Build Order reference field" msgstr "Nødvendig mønster for å generere Produksjonsordre-referansefeltet" -#: common/models.py:1818 common/models.py:1874 common/models.py:1896 -#: common/models.py:1932 +#: common/models.py:1804 common/models.py:1860 common/models.py:1882 +#: common/models.py:1918 msgid "Require Responsible Owner" msgstr "" -#: common/models.py:1819 common/models.py:1875 common/models.py:1897 -#: common/models.py:1933 +#: common/models.py:1805 common/models.py:1861 common/models.py:1883 +#: common/models.py:1919 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/models.py:1824 +#: common/models.py:1810 msgid "Require Active Part" msgstr "" -#: common/models.py:1825 +#: common/models.py:1811 msgid "Prevent build order creation for inactive parts" msgstr "" -#: common/models.py:1830 +#: common/models.py:1816 msgid "Require Locked Part" msgstr "" -#: common/models.py:1831 +#: common/models.py:1817 msgid "Prevent build order creation for unlocked parts" msgstr "" -#: common/models.py:1836 +#: common/models.py:1822 msgid "Require Valid BOM" msgstr "" -#: common/models.py:1838 +#: common/models.py:1824 msgid "Prevent build order creation unless BOM has been validated" msgstr "" -#: common/models.py:1844 +#: common/models.py:1830 msgid "Require Closed Child Orders" msgstr "" -#: common/models.py:1846 +#: common/models.py:1832 msgid "Prevent build order completion until all child orders are closed" msgstr "" -#: common/models.py:1852 +#: common/models.py:1838 msgid "Block Until Tests Pass" msgstr "" -#: common/models.py:1854 +#: common/models.py:1840 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "" -#: common/models.py:1860 +#: common/models.py:1846 msgid "Enable Return Orders" msgstr "Aktiver returordrer" -#: common/models.py:1861 +#: common/models.py:1847 msgid "Enable return order functionality in the user interface" msgstr "Aktiver returordrefunksjonalitet i brukergrensesnittet" -#: common/models.py:1866 +#: common/models.py:1852 msgid "Return Order Reference Pattern" msgstr "Returordre-referansemønster" -#: common/models.py:1868 +#: common/models.py:1854 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1880 +#: common/models.py:1866 msgid "Edit Completed Return Orders" msgstr "Rediger fullførte returordrer" -#: common/models.py:1882 +#: common/models.py:1868 msgid "Allow editing of return orders after they have been completed" msgstr "Tillat redigering av returordrer etter de er fullført" -#: common/models.py:1888 +#: common/models.py:1874 msgid "Sales Order Reference Pattern" msgstr "Salgsordre-referansemønster" -#: common/models.py:1890 +#: common/models.py:1876 msgid "Required pattern for generating Sales Order reference field" msgstr "Påkrevd mønster for å generere salgsordrereferansefelt" -#: common/models.py:1902 +#: common/models.py:1888 msgid "Sales Order Default Shipment" msgstr "Salgsordre standard fraktmetode" -#: common/models.py:1903 +#: common/models.py:1889 msgid "Enable creation of default shipment with sales orders" msgstr "Aktiver opprettelse av standard forsendelse med salgsordrer" -#: common/models.py:1908 +#: common/models.py:1894 msgid "Edit Completed Sales Orders" msgstr "Rediger fullførte salgsordrer" -#: common/models.py:1910 +#: common/models.py:1896 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:1916 +#: common/models.py:1902 msgid "Mark Shipped Orders as Complete" msgstr "" -#: common/models.py:1918 +#: common/models.py:1904 msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status" msgstr "" -#: common/models.py:1924 +#: common/models.py:1910 msgid "Purchase Order Reference Pattern" msgstr "Referansemønster for innkjøpsordre" -#: common/models.py:1926 +#: common/models.py:1912 msgid "Required pattern for generating Purchase Order reference field" msgstr "Obligatorisk mønster for generering av referansefelt for innkjøpsordre" -#: common/models.py:1938 +#: common/models.py:1924 msgid "Edit Completed Purchase Orders" msgstr "Rediger fullførte innkjøpsordre" -#: common/models.py:1940 +#: common/models.py:1926 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:1946 +#: common/models.py:1932 msgid "Auto Complete Purchase Orders" msgstr "Autofullfør innkjøpsordrer" -#: common/models.py:1948 +#: common/models.py:1934 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "Automatisk merk innkjøpsordre som fullført når alle ordrelinjer er mottatt" -#: common/models.py:1955 +#: common/models.py:1941 msgid "Enable password forgot" msgstr "Aktiver passord glemt" -#: common/models.py:1956 +#: common/models.py:1942 msgid "Enable password forgot function on the login pages" msgstr "Ativer funskjon for glemt passord på innloggingssidene" -#: common/models.py:1961 +#: common/models.py:1947 msgid "Enable registration" msgstr "Aktiver registrering" -#: common/models.py:1962 +#: common/models.py:1948 msgid "Enable self-registration for users on the login pages" msgstr "Aktiver egenregistrerting for brukerer på påloggingssidene" -#: common/models.py:1967 +#: common/models.py:1953 msgid "Enable SSO" msgstr "Aktiver SSO" -#: common/models.py:1968 +#: common/models.py:1954 msgid "Enable SSO on the login pages" msgstr "Aktiver SSO på innloggingssidene" -#: common/models.py:1973 +#: common/models.py:1959 msgid "Enable SSO registration" msgstr "Aktiver SSO-registrering" -#: common/models.py:1975 +#: common/models.py:1961 msgid "Enable self-registration via SSO for users on the login pages" msgstr "Aktiver selvregistrering via SSO for brukere på innloggingssiden" -#: common/models.py:1981 +#: common/models.py:1967 msgid "Enable SSO group sync" msgstr "" -#: common/models.py:1983 +#: common/models.py:1969 msgid "Enable synchronizing InvenTree groups with groups provided by the IdP" msgstr "" -#: common/models.py:1989 +#: common/models.py:1975 msgid "SSO group key" msgstr "" -#: common/models.py:1991 +#: common/models.py:1977 msgid "The name of the groups claim attribute provided by the IdP" msgstr "" -#: common/models.py:1997 +#: common/models.py:1983 msgid "SSO group map" msgstr "" -#: common/models.py:1999 +#: common/models.py:1985 msgid "A mapping from SSO groups to local InvenTree groups. If the local group does not exist, it will be created." msgstr "" -#: common/models.py:2005 +#: common/models.py:1991 msgid "Remove groups outside of SSO" msgstr "" -#: common/models.py:2007 +#: common/models.py:1993 msgid "Whether groups assigned to the user should be removed if they are not backend by the IdP. Disabling this setting might cause security issues" msgstr "" -#: common/models.py:2013 +#: common/models.py:1999 msgid "Email required" msgstr "E-postadresse kreves" -#: common/models.py:2014 +#: common/models.py:2000 msgid "Require user to supply mail on signup" msgstr "Krevt at brukere angir e-post ved registrering" -#: common/models.py:2019 +#: common/models.py:2005 msgid "Auto-fill SSO users" msgstr "Auto-utfyll SSO-brukere" -#: common/models.py:2021 +#: common/models.py:2007 msgid "Automatically fill out user-details from SSO account-data" msgstr "Fyll automatisk ut brukeropplysninger fra SSO-kontodata" -#: common/models.py:2027 +#: common/models.py:2013 msgid "Mail twice" msgstr "E-post to ganger" -#: common/models.py:2028 +#: common/models.py:2014 msgid "On signup ask users twice for their mail" msgstr "Spør brukeren om e-post to ganger ved registrering" -#: common/models.py:2033 +#: common/models.py:2019 msgid "Password twice" msgstr "Passord to ganger" -#: common/models.py:2034 +#: common/models.py:2020 msgid "On signup ask users twice for their password" msgstr "Spør brukeren om passord to ganger ved registrering" -#: common/models.py:2039 +#: common/models.py:2025 msgid "Allowed domains" msgstr "Tillatte domener" -#: common/models.py:2041 +#: common/models.py:2027 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "Begrens registrering til bestemte domener (kommaseparert, begynner med @)" -#: common/models.py:2047 +#: common/models.py:2033 msgid "Group on signup" msgstr "Gruppe ved registrering" -#: common/models.py:2049 +#: common/models.py:2035 msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP." msgstr "" -#: common/models.py:2055 +#: common/models.py:2041 msgid "Enforce MFA" msgstr "Krev MFA" -#: common/models.py:2056 +#: common/models.py:2042 msgid "Users must use multifactor security." msgstr "Brukere må bruke flerfaktorsikkerhet." -#: common/models.py:2061 +#: common/models.py:2047 msgid "Check plugins on startup" msgstr "Sjekk utvidelser ved oppstart" -#: common/models.py:2063 +#: common/models.py:2049 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:2071 +#: common/models.py:2057 msgid "Check for plugin updates" msgstr "" -#: common/models.py:2072 +#: common/models.py:2058 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:2078 +#: common/models.py:2064 msgid "Enable URL integration" msgstr "Aktiver URL-integrasjon" -#: common/models.py:2079 +#: common/models.py:2065 msgid "Enable plugins to add URL routes" msgstr "Tillat utvidelser å legge til URL-ruter" -#: common/models.py:2085 +#: common/models.py:2071 msgid "Enable navigation integration" msgstr "Aktiver navigasjonsintegrasjon" -#: common/models.py:2086 +#: common/models.py:2072 msgid "Enable plugins to integrate into navigation" msgstr "Tillat utvidelser å integrere mot navigasjon" -#: common/models.py:2092 +#: common/models.py:2078 msgid "Enable app integration" msgstr "Aktiver app-integrasjon" -#: common/models.py:2093 +#: common/models.py:2079 msgid "Enable plugins to add apps" msgstr "Tillat utvidelser å legge til apper" -#: common/models.py:2099 +#: common/models.py:2085 msgid "Enable schedule integration" msgstr "Aktiver tidsplanintegrasjon" -#: common/models.py:2100 +#: common/models.py:2086 msgid "Enable plugins to run scheduled tasks" msgstr "Tillat utvidelser å kjøre planlagte oppgaver" -#: common/models.py:2106 +#: common/models.py:2092 msgid "Enable event integration" msgstr "Aktiver hendelsesintegrasjon" -#: common/models.py:2107 +#: common/models.py:2093 msgid "Enable plugins to respond to internal events" msgstr "Tillat utvidelser å reagere på interne hendelser" -#: common/models.py:2113 +#: common/models.py:2099 +msgid "Enable interface integration" +msgstr "" + +#: common/models.py:2100 +msgid "Enable plugins to integrate into the user interface" +msgstr "" + +#: common/models.py:2106 msgid "Enable project codes" msgstr "Aktiver prosjektkoder" -#: common/models.py:2114 +#: common/models.py:2107 msgid "Enable project codes for tracking projects" msgstr "Aktiver prosjektkoder for å spore prosjekter" -#: common/models.py:2119 +#: common/models.py:2112 msgid "Stocktake Functionality" msgstr "Varetellingsfunksjonalitet" -#: common/models.py:2121 +#: common/models.py:2114 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:2127 +#: common/models.py:2120 msgid "Exclude External Locations" msgstr "Ekskluder eksterne plasseringer" -#: common/models.py:2129 +#: common/models.py:2122 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "Eksluder lagervarer i eksterne plasseringer fra varetellinger" -#: common/models.py:2135 +#: common/models.py:2128 msgid "Automatic Stocktake Period" msgstr "Automatisk varetellingsperiode" -#: common/models.py:2137 +#: common/models.py:2130 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:2143 +#: common/models.py:2136 msgid "Report Deletion Interval" msgstr "Rapportslettingsintervall" -#: common/models.py:2145 +#: common/models.py:2138 msgid "Stocktake reports will be deleted after specified number of days" msgstr "Varetellingsrapporter vil slettes etter angitt antall dager" -#: common/models.py:2152 +#: common/models.py:2145 msgid "Display Users full names" msgstr "Vis brukernes fulle navn" -#: common/models.py:2153 +#: common/models.py:2146 msgid "Display Users full names instead of usernames" msgstr "Vis brukernes fulle navn istedet for brukernavn" -#: common/models.py:2158 +#: common/models.py:2151 msgid "Enable Test Station Data" msgstr "" -#: common/models.py:2159 +#: common/models.py:2152 msgid "Enable test station data collection for test results" msgstr "" -#: common/models.py:2171 common/models.py:2551 +#: common/models.py:2157 +msgid "Create Template on Upload" +msgstr "" + +#: common/models.py:2159 +msgid "Create a new test template when uploading test data which does not match an existing template" +msgstr "" + +#: common/models.py:2172 common/models.py:2552 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:2214 +#: common/models.py:2215 msgid "Hide inactive parts" msgstr "Skjul inaktive elementer" -#: common/models.py:2216 +#: common/models.py:2217 msgid "Hide inactive parts in results displayed on the homepage" msgstr "Skjul inaktive deler i resultater som vises på hjemmesiden" -#: common/models.py:2222 +#: common/models.py:2223 msgid "Show subscribed parts" msgstr "Vis abonnerte deler" -#: common/models.py:2223 +#: common/models.py:2224 msgid "Show subscribed parts on the homepage" msgstr "Vis abonnerte deler på startsiden" -#: common/models.py:2228 +#: common/models.py:2229 msgid "Show subscribed categories" msgstr "Vis abonnerte kategorier" -#: common/models.py:2229 +#: common/models.py:2230 msgid "Show subscribed part categories on the homepage" msgstr "Vis abonnerte delkatekorier på startsiden" -#: common/models.py:2234 +#: common/models.py:2235 msgid "Show latest parts" msgstr "Vis nyeste deler" -#: common/models.py:2235 +#: common/models.py:2236 msgid "Show latest parts on the homepage" msgstr "Vis nyeste deler på startsiden" -#: common/models.py:2240 +#: common/models.py:2241 msgid "Show invalid BOMs" msgstr "" -#: common/models.py:2241 +#: common/models.py:2242 msgid "Show BOMs that await validation on the homepage" msgstr "Vis stykklister som venter på validering på startsiden" -#: common/models.py:2246 +#: common/models.py:2247 msgid "Show recent stock changes" msgstr "Vis nylige lagerendringer" -#: common/models.py:2247 +#: common/models.py:2248 msgid "Show recently changed stock items on the homepage" msgstr "Vis nylig endrede lagervarer på startsiden" -#: common/models.py:2252 +#: common/models.py:2253 msgid "Show low stock" msgstr "Vis lav lagerbeholdning" -#: common/models.py:2253 +#: common/models.py:2254 msgid "Show low stock items on the homepage" msgstr "Vis lave lagervarer på startsiden" -#: common/models.py:2258 +#: common/models.py:2259 msgid "Show depleted stock" msgstr "Vis tomme lagervarer" -#: common/models.py:2259 +#: common/models.py:2260 msgid "Show depleted stock items on the homepage" msgstr "Vis tom lagerbeholdning på startsiden" -#: common/models.py:2264 +#: common/models.py:2265 msgid "Show needed stock" msgstr "Vis nødvendig lagerbeholdning" -#: common/models.py:2265 +#: common/models.py:2266 msgid "Show stock items needed for builds on the homepage" msgstr "Vis lagervarer som trengs for produksjon på startsiden" -#: common/models.py:2270 +#: common/models.py:2271 msgid "Show expired stock" msgstr "Vis utløpt lagerbeholdning" -#: common/models.py:2271 +#: common/models.py:2272 msgid "Show expired stock items on the homepage" msgstr "Vis utløpte lagervarer på startsiden" -#: common/models.py:2276 +#: common/models.py:2277 msgid "Show stale stock" msgstr "Vis foreldet lagerbeholdning" -#: common/models.py:2277 +#: common/models.py:2278 msgid "Show stale stock items on the homepage" msgstr "Vis foreldet lagerbeholdning på startsiden" -#: common/models.py:2282 +#: common/models.py:2283 msgid "Show pending builds" msgstr "Vis ventende produksjoner" -#: common/models.py:2283 +#: common/models.py:2284 msgid "Show pending builds on the homepage" msgstr "Vi ventende produksjoner på startsiden" -#: common/models.py:2288 +#: common/models.py:2289 msgid "Show overdue builds" msgstr "Vis forfalte produksjoner" -#: common/models.py:2289 +#: common/models.py:2290 msgid "Show overdue builds on the homepage" msgstr "Vis forfalte produksjoner på startsiden" -#: common/models.py:2294 +#: common/models.py:2295 msgid "Show outstanding POs" msgstr "Vis utestående Innkjøpsordrer" -#: common/models.py:2295 +#: common/models.py:2296 msgid "Show outstanding POs on the homepage" msgstr "Vis utestående Innkjøpsordrer på startsiden" -#: common/models.py:2300 +#: common/models.py:2301 msgid "Show overdue POs" msgstr "Vis forfalte Innkjøpsordrer" -#: common/models.py:2301 +#: common/models.py:2302 msgid "Show overdue POs on the homepage" msgstr "Vis forfalte Innkjøpsordrer på startsiden" -#: common/models.py:2306 +#: common/models.py:2307 msgid "Show outstanding SOs" msgstr "Vis utestående Salgsordrer" -#: common/models.py:2307 +#: common/models.py:2308 msgid "Show outstanding SOs on the homepage" msgstr "Vis utestående Salgsordrer på startsiden" -#: common/models.py:2312 +#: common/models.py:2313 msgid "Show overdue SOs" msgstr "Vis forfalte SOer" -#: common/models.py:2313 +#: common/models.py:2314 msgid "Show overdue SOs on the homepage" msgstr "Vis forfalte SOer på startsiden" -#: common/models.py:2318 +#: common/models.py:2319 msgid "Show pending SO shipments" msgstr "Vis ventende SO-forsendelser" -#: common/models.py:2319 +#: common/models.py:2320 msgid "Show pending SO shipments on the homepage" msgstr "Vis ventende SO-forsendelser på startsiden" -#: common/models.py:2324 +#: common/models.py:2325 msgid "Show News" msgstr "Vis Nyheter" -#: common/models.py:2325 +#: common/models.py:2326 msgid "Show news on the homepage" msgstr "Vis nyheter på startsiden" -#: common/models.py:2330 +#: common/models.py:2331 msgid "Inline label display" msgstr "Innebygd etikettvisning" -#: common/models.py:2332 +#: common/models.py:2333 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:2338 +#: common/models.py:2339 msgid "Default label printer" msgstr "Standard etikettskriver" -#: common/models.py:2340 +#: common/models.py:2341 msgid "Configure which label printer should be selected by default" msgstr "Konfigurer hvilken etikettskriver som skal være valgt som standard" -#: common/models.py:2346 +#: common/models.py:2347 msgid "Inline report display" msgstr "Innebygd rapportvisning" -#: common/models.py:2348 +#: common/models.py:2349 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:2354 +#: common/models.py:2355 msgid "Search Parts" msgstr "Søk i Deler" -#: common/models.py:2355 +#: common/models.py:2356 msgid "Display parts in search preview window" msgstr "Vis deler i forhåndsvsningsvinduet for søk" -#: common/models.py:2360 +#: common/models.py:2361 msgid "Search Supplier Parts" msgstr "Søk i Leverandørdeler" -#: common/models.py:2361 +#: common/models.py:2362 msgid "Display supplier parts in search preview window" msgstr "Vis leverandørdeler i forhåndsvisningsvinduet for søk" -#: common/models.py:2366 +#: common/models.py:2367 msgid "Search Manufacturer Parts" msgstr "Søk i Produsentdeler" -#: common/models.py:2367 +#: common/models.py:2368 msgid "Display manufacturer parts in search preview window" msgstr "Vis produsentdeler i forhåndsvisningsvinduet for søk" -#: common/models.py:2372 +#: common/models.py:2373 msgid "Hide Inactive Parts" msgstr "Skjul Inaktive Deler" -#: common/models.py:2373 +#: common/models.py:2374 msgid "Excluded inactive parts from search preview window" msgstr "Ekskluder inaktive deler fra forhåndsvisningsvinduet for søk" -#: common/models.py:2378 +#: common/models.py:2379 msgid "Search Categories" msgstr "Søk i kategorier" -#: common/models.py:2379 +#: common/models.py:2380 msgid "Display part categories in search preview window" msgstr "Vis delkategorier i forhåndsvisningsvinduet for søk" -#: common/models.py:2384 +#: common/models.py:2385 msgid "Search Stock" msgstr "Søk i lagerbeholdning" -#: common/models.py:2385 +#: common/models.py:2386 msgid "Display stock items in search preview window" msgstr "Vis lagervarer i forhåndsvisningsvinduet for søk" -#: common/models.py:2390 +#: common/models.py:2391 msgid "Hide Unavailable Stock Items" msgstr "Skjul utilgjengelige Lagervarer" -#: common/models.py:2392 +#: common/models.py:2393 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:2398 +#: common/models.py:2399 msgid "Search Locations" msgstr "Søk i Plasseringer" -#: common/models.py:2399 +#: common/models.py:2400 msgid "Display stock locations in search preview window" msgstr "Vis lagerplasseringer i forhåndsvisningsvinduet for søk" -#: common/models.py:2404 +#: common/models.py:2405 msgid "Search Companies" msgstr "Søk i Firma" -#: common/models.py:2405 +#: common/models.py:2406 msgid "Display companies in search preview window" msgstr "Vis firma i forhåndsvsningsvinduet for søk" -#: common/models.py:2410 +#: common/models.py:2411 msgid "Search Build Orders" msgstr "Søk i Produksjonsordrer" -#: common/models.py:2411 +#: common/models.py:2412 msgid "Display build orders in search preview window" msgstr "Vis produksjonsordrer i forhåndsvisningsvinduet for søk" -#: common/models.py:2416 +#: common/models.py:2417 msgid "Search Purchase Orders" msgstr "Søk i Innkjøpsordrer" -#: common/models.py:2417 +#: common/models.py:2418 msgid "Display purchase orders in search preview window" msgstr "Vis innkjøpsordrer i forhåndsvisningsvinduet for søk" -#: common/models.py:2422 +#: common/models.py:2423 msgid "Exclude Inactive Purchase Orders" msgstr "Ekskluder inaktive Innkjøpsordrer" -#: common/models.py:2424 +#: common/models.py:2425 msgid "Exclude inactive purchase orders from search preview window" msgstr "Ekskluder inaktive innkjøpsordrer fra forhåndsvisningsvinduet for søk" -#: common/models.py:2430 +#: common/models.py:2431 msgid "Search Sales Orders" msgstr "Søk i Salgsordrer" -#: common/models.py:2431 +#: common/models.py:2432 msgid "Display sales orders in search preview window" msgstr "Vis salgsordrer i forhåndsvisningsvinduet for søk" -#: common/models.py:2436 +#: common/models.py:2437 msgid "Exclude Inactive Sales Orders" msgstr "Ekskluder Inaktive Salgsordrer" -#: common/models.py:2438 +#: common/models.py:2439 msgid "Exclude inactive sales orders from search preview window" msgstr "Ekskluder inaktive salgsordrer fra forhåndsvisningsvinduet for søk" -#: common/models.py:2444 +#: common/models.py:2445 msgid "Search Return Orders" msgstr "Søk i Returordrer" -#: common/models.py:2445 +#: common/models.py:2446 msgid "Display return orders in search preview window" msgstr "Vis returordrer i forhåndsvisningsvinduet for søk" -#: common/models.py:2450 +#: common/models.py:2451 msgid "Exclude Inactive Return Orders" msgstr "Ekskluder Inaktive Returordrer" -#: common/models.py:2452 +#: common/models.py:2453 msgid "Exclude inactive return orders from search preview window" msgstr "Ekskluder inaktive returordrer fra forhåndsvisningsvinduet for søk" -#: common/models.py:2458 +#: common/models.py:2459 msgid "Search Preview Results" msgstr "Forhåndsvisning av søkeresultater" -#: common/models.py:2460 +#: common/models.py:2461 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:2466 +#: common/models.py:2467 msgid "Regex Search" msgstr "Regex-søk" -#: common/models.py:2467 +#: common/models.py:2468 msgid "Enable regular expressions in search queries" msgstr "Aktiver regulære uttrykk i søkeord" -#: common/models.py:2472 +#: common/models.py:2473 msgid "Whole Word Search" msgstr "Helordsøk" -#: common/models.py:2473 +#: common/models.py:2474 msgid "Search queries return results for whole word matches" msgstr "Søk returnerer resultater for treff med hele ord" -#: common/models.py:2478 +#: common/models.py:2479 msgid "Show Quantity in Forms" msgstr "Vis antall i skjemaer" -#: common/models.py:2479 +#: common/models.py:2480 msgid "Display available part quantity in some forms" msgstr "Vis antall tilgjengelige deler i noen skjemaer" -#: common/models.py:2484 +#: common/models.py:2485 msgid "Escape Key Closes Forms" msgstr "Escape-knappen lukker skjemaer" -#: common/models.py:2485 +#: common/models.py:2486 msgid "Use the escape key to close modal forms" msgstr "Bruk Escape-knappen for å lukke modal-skjemaer" -#: common/models.py:2490 +#: common/models.py:2491 msgid "Fixed Navbar" msgstr "Fast navigasjonsbar" -#: common/models.py:2491 +#: common/models.py:2492 msgid "The navbar position is fixed to the top of the screen" msgstr "Navigasjonsbarens posisjon er fast på toppen av skjermen" -#: common/models.py:2496 +#: common/models.py:2497 msgid "Date Format" msgstr "Datoformat" -#: common/models.py:2497 +#: common/models.py:2498 msgid "Preferred format for displaying dates" msgstr "Foretrukket format for å vise datoer" -#: common/models.py:2510 part/templates/part/detail.html:41 +#: common/models.py:2511 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "Delplanlegging" -#: common/models.py:2511 +#: common/models.py:2512 msgid "Display part scheduling information" msgstr "Vis delplanleggingsinformasjon" -#: common/models.py:2516 part/templates/part/detail.html:62 +#: common/models.py:2517 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "Lagertelling for Del" -#: common/models.py:2518 +#: common/models.py:2519 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "Vis lagertellingsinformasjon for del (om lagertellingsfunksjonalitet er aktivert)" -#: common/models.py:2524 +#: common/models.py:2525 msgid "Table String Length" msgstr "Tabellstrenglengde" -#: common/models.py:2526 +#: common/models.py:2527 msgid "Maximum length limit for strings displayed in table views" msgstr "Maksimal lengdegrense for tekst vist i tabeller" -#: common/models.py:2532 +#: common/models.py:2533 msgid "Receive error reports" msgstr "Motta feilrapporter" -#: common/models.py:2533 +#: common/models.py:2534 msgid "Receive notifications for system errors" msgstr "Motta varsler om systemfeil" -#: common/models.py:2538 +#: common/models.py:2539 msgid "Last used printing machines" msgstr "" -#: common/models.py:2539 +#: common/models.py:2540 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2559 common/models.py:2560 common/models.py:2717 -#: common/models.py:2718 common/models.py:2963 common/models.py:2964 -#: common/models.py:3287 common/models.py:3288 importer/models.py:89 -#: part/models.py:3319 part/models.py:3406 part/models.py:3480 -#: part/models.py:3508 plugin/models.py:274 plugin/models.py:275 +#: common/models.py:2560 common/models.py:2561 common/models.py:2718 +#: common/models.py:2719 common/models.py:2964 common/models.py:2965 +#: common/models.py:3288 common/models.py:3289 importer/models.py:89 +#: part/models.py:3306 part/models.py:3393 part/models.py:3467 +#: part/models.py:3495 plugin/models.py:274 plugin/models.py:275 #: report/templates/report/inventree_test_report.html:105 #: templates/js/translated/stock.js:3121 users/models.py:111 msgid "User" msgstr "Bruker" -#: common/models.py:2582 +#: common/models.py:2583 msgid "Price break quantity" msgstr "Antall for prisbrudd" -#: common/models.py:2589 company/serializers.py:517 order/admin.py:42 +#: common/models.py:2590 company/serializers.py:517 order/admin.py:42 #: order/models.py:1423 order/models.py:2410 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1892 #: templates/js/translated/pricing.js:621 @@ -3747,96 +3744,96 @@ msgstr "Antall for prisbrudd" msgid "Price" msgstr "Pris" -#: common/models.py:2590 +#: common/models.py:2591 msgid "Unit price at specified quantity" msgstr "Enhetspris på spesifisert antall" -#: common/models.py:2694 common/models.py:2879 +#: common/models.py:2695 common/models.py:2880 msgid "Endpoint" msgstr "Endepunkt" -#: common/models.py:2695 +#: common/models.py:2696 msgid "Endpoint at which this webhook is received" msgstr "Endepunktet hvor denne webhooken er mottatt" -#: common/models.py:2705 +#: common/models.py:2706 msgid "Name for this webhook" msgstr "Navn for webhooken" -#: common/models.py:2709 +#: common/models.py:2710 msgid "Is this webhook active" msgstr "Er webhooken aktiv" -#: common/models.py:2725 users/models.py:159 +#: common/models.py:2726 users/models.py:159 msgid "Token" msgstr "Sjetong" -#: common/models.py:2726 +#: common/models.py:2727 msgid "Token for access" msgstr "Nøkkel for tilgang" -#: common/models.py:2734 +#: common/models.py:2735 msgid "Secret" msgstr "Hemmelig" -#: common/models.py:2735 +#: common/models.py:2736 msgid "Shared secret for HMAC" msgstr "Delt hemmlighet for HMAC" -#: common/models.py:2843 +#: common/models.py:2844 msgid "Message ID" msgstr "Melding ID" -#: common/models.py:2844 +#: common/models.py:2845 msgid "Unique identifier for this message" msgstr "Unik Id for denne meldingen" -#: common/models.py:2852 +#: common/models.py:2853 msgid "Host" msgstr "Vert" -#: common/models.py:2853 +#: common/models.py:2854 msgid "Host from which this message was received" msgstr "Verten denne meldingen ble mottatt fra" -#: common/models.py:2861 +#: common/models.py:2862 msgid "Header" msgstr "Tittel" -#: common/models.py:2862 +#: common/models.py:2863 msgid "Header of this message" msgstr "Overskrift for denne meldingen" -#: common/models.py:2869 +#: common/models.py:2870 msgid "Body" msgstr "Brødtekst" -#: common/models.py:2870 +#: common/models.py:2871 msgid "Body of this message" msgstr "Innholdet i meldingen" -#: common/models.py:2880 +#: common/models.py:2881 msgid "Endpoint on which this message was received" msgstr "Endepunktet meldingen ble mottatt fra" -#: common/models.py:2885 +#: common/models.py:2886 msgid "Worked on" msgstr "Arbeidet med" -#: common/models.py:2886 +#: common/models.py:2887 msgid "Was the work on this message finished?" msgstr "Var arbeidet med denne meldingen ferdig?" -#: common/models.py:3012 +#: common/models.py:3013 msgid "Id" msgstr "" -#: common/models.py:3014 templates/js/translated/company.js:965 +#: common/models.py:3015 templates/js/translated/company.js:965 #: templates/js/translated/news.js:44 msgid "Title" msgstr "Tittel" -#: common/models.py:3016 common/models.py:3271 company/models.py:146 +#: common/models.py:3017 common/models.py:3272 company/models.py:146 #: company/models.py:443 company/models.py:509 company/models.py:815 #: order/models.py:303 order/models.py:1378 order/models.py:1810 #: part/admin.py:55 part/models.py:1069 @@ -3853,217 +3850,217 @@ msgstr "Tittel" msgid "Link" msgstr "Lenke" -#: common/models.py:3018 templates/js/translated/news.js:60 +#: common/models.py:3019 templates/js/translated/news.js:60 msgid "Published" msgstr "Publisert" -#: common/models.py:3020 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:3021 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:103 msgid "Author" msgstr "Forfatter" -#: common/models.py:3022 templates/js/translated/news.js:52 +#: common/models.py:3023 templates/js/translated/news.js:52 msgid "Summary" msgstr "Sammendrag" -#: common/models.py:3025 +#: common/models.py:3026 msgid "Read" msgstr "Les" -#: common/models.py:3025 +#: common/models.py:3026 msgid "Was this news item read?" msgstr "Er dette nyhetselementet lest?" -#: common/models.py:3042 company/models.py:156 part/models.py:1079 +#: common/models.py:3043 company/models.py:156 part/models.py:1079 #: 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.html:35 -#: stock/templates/stock/item_base.html:133 templates/503.html:31 +#: stock/templates/stock/item_base.html:129 templates/503.html:31 #: templates/hover_image.html:7 templates/hover_image.html:9 #: templates/modals.html:6 msgid "Image" msgstr "Bilde" -#: common/models.py:3042 +#: common/models.py:3043 msgid "Image file" msgstr "Bildefil" -#: common/models.py:3054 common/models.py:3255 +#: common/models.py:3055 common/models.py:3256 msgid "Target model type for this image" msgstr "" -#: common/models.py:3058 +#: common/models.py:3059 msgid "Target model ID for this image" msgstr "" -#: common/models.py:3080 +#: common/models.py:3081 msgid "Custom Unit" msgstr "" -#: common/models.py:3098 +#: common/models.py:3099 msgid "Unit symbol must be unique" msgstr "Enhetssymbolet må være unikt" -#: common/models.py:3113 +#: common/models.py:3114 msgid "Unit name must be a valid identifier" msgstr "Enhetsnavn må være en gyldig identifikator" -#: common/models.py:3132 +#: common/models.py:3133 msgid "Unit name" msgstr "Enhetsnavn" -#: common/models.py:3139 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3140 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "Symbol" -#: common/models.py:3140 +#: common/models.py:3141 msgid "Optional unit symbol" msgstr "Valgfritt enhetssymbol" -#: common/models.py:3146 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3147 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "Definisjon" -#: common/models.py:3147 +#: common/models.py:3148 msgid "Unit definition" msgstr "Enhetsdefinisjon" -#: common/models.py:3205 common/models.py:3262 stock/models.py:2552 +#: common/models.py:3206 common/models.py:3263 stock/models.py:2547 #: stock/serializers.py:244 templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:345 msgid "Attachment" msgstr "Vedlegg" -#: common/models.py:3217 +#: common/models.py:3218 msgid "Missing file" msgstr "Fil mangler" -#: common/models.py:3218 +#: common/models.py:3219 msgid "Missing external link" msgstr "Mangler eksternlenke" -#: common/models.py:3263 +#: common/models.py:3264 msgid "Select file to attach" msgstr "Velg fil å legge ved" -#: common/models.py:3278 templates/js/translated/attachment.js:120 +#: common/models.py:3279 templates/js/translated/attachment.js:120 #: templates/js/translated/attachment.js:360 msgid "Comment" msgstr "Kommentar" -#: common/models.py:3279 +#: common/models.py:3280 msgid "Attachment comment" msgstr "Vedleggskommentar" -#: common/models.py:3295 +#: common/models.py:3296 msgid "Upload date" msgstr "Opplastet dato" -#: common/models.py:3296 +#: common/models.py:3297 msgid "Date the file was uploaded" msgstr "Datoen som filen ble lastet opp" -#: common/models.py:3300 +#: common/models.py:3301 msgid "File size" msgstr "Filstørrelse" -#: common/models.py:3300 +#: common/models.py:3301 msgid "File size in bytes" msgstr "Filstørrelse i byte" -#: common/models.py:3338 common/serializers.py:588 +#: common/models.py:3339 common/serializers.py:604 msgid "Invalid model type specified for attachment" msgstr "Ugyldig modelltype spesifisert for vedlegg" -#: common/models.py:3347 plugin/models.py:43 users/models.py:100 +#: common/models.py:3348 plugin/models.py:43 users/models.py:100 msgid "Key" msgstr "Nøkkel" -#: common/models.py:3348 +#: common/models.py:3349 msgid "Value that will be saved in the models database" msgstr "" -#: common/models.py:3351 +#: common/models.py:3352 msgid "Name of the state" msgstr "" -#: common/models.py:3355 +#: common/models.py:3356 msgid "Label" msgstr "" -#: common/models.py:3356 +#: common/models.py:3357 msgid "Label that will be displayed in the frontend" msgstr "" -#: common/models.py:3362 +#: common/models.py:3363 msgid "Color" msgstr "" -#: common/models.py:3363 +#: common/models.py:3364 msgid "Color that will be displayed in the frontend" msgstr "" -#: common/models.py:3366 +#: common/models.py:3367 msgid "Logical Key" msgstr "" -#: common/models.py:3368 +#: common/models.py:3369 msgid "State logical key that is equal to this custom state in business logic" msgstr "" -#: common/models.py:3376 +#: common/models.py:3377 msgid "Model" msgstr "" -#: common/models.py:3377 +#: common/models.py:3378 msgid "Model this state is associated with" msgstr "" -#: common/models.py:3381 +#: common/models.py:3382 msgid "Reference Status Set" msgstr "" -#: common/models.py:3382 +#: common/models.py:3383 msgid "Status set that is extended with this custom state" msgstr "" -#: common/models.py:3388 +#: common/models.py:3389 msgid "Custom State" msgstr "" -#: common/models.py:3389 +#: common/models.py:3390 msgid "Custom States" msgstr "" -#: common/models.py:3404 +#: common/models.py:3405 msgid "Model must be selected" msgstr "" -#: common/models.py:3407 +#: common/models.py:3408 msgid "Key must be selected" msgstr "" -#: common/models.py:3410 +#: common/models.py:3411 msgid "Logical key must be selected" msgstr "" -#: common/models.py:3414 +#: common/models.py:3415 msgid "Key must be different from logical key" msgstr "" -#: common/models.py:3418 +#: common/models.py:3419 msgid "Reference status must be selected" msgstr "" -#: common/models.py:3430 +#: common/models.py:3431 msgid "Reference status set not found" msgstr "" -#: common/models.py:3436 +#: common/models.py:3437 msgid "Key must be different from the logical keys of the reference status" msgstr "" -#: common/models.py:3442 +#: common/models.py:3443 msgid "Logical key must be in the logical keys of the reference status" msgstr "" @@ -4101,75 +4098,75 @@ msgstr "Artikler har blitt mottatt mot en returordre" msgid "Error raised by plugin" msgstr "Feil oppstått i utvidelse" -#: common/serializers.py:402 +#: common/serializers.py:418 msgid "Is Running" msgstr "Kjører" -#: common/serializers.py:408 +#: common/serializers.py:424 msgid "Pending Tasks" msgstr "Ventende oppgaver" -#: common/serializers.py:414 +#: common/serializers.py:430 msgid "Scheduled Tasks" msgstr "Planlagte oppgaver" -#: common/serializers.py:420 +#: common/serializers.py:436 msgid "Failed Tasks" msgstr "Mislykkede oppgaver" -#: common/serializers.py:435 +#: common/serializers.py:451 msgid "Task ID" msgstr "Oppgave-ID" -#: common/serializers.py:435 +#: common/serializers.py:451 msgid "Unique task ID" msgstr "Unik oppgave-ID" -#: common/serializers.py:437 +#: common/serializers.py:453 msgid "Lock" msgstr "Lås" -#: common/serializers.py:437 +#: common/serializers.py:453 msgid "Lock time" msgstr "Låsetidspunkt" -#: common/serializers.py:439 +#: common/serializers.py:455 msgid "Task name" msgstr "Oppgavenavn" -#: common/serializers.py:441 +#: common/serializers.py:457 msgid "Function" msgstr "Funksjon" -#: common/serializers.py:441 +#: common/serializers.py:457 msgid "Function name" msgstr "Funksjonsnavn" -#: common/serializers.py:443 +#: common/serializers.py:459 msgid "Arguments" msgstr "Argumenter" -#: common/serializers.py:443 +#: common/serializers.py:459 msgid "Task arguments" msgstr "Oppgaveargumenter" -#: common/serializers.py:446 +#: common/serializers.py:462 msgid "Keyword Arguments" msgstr "Nøkkelordargumenter" -#: common/serializers.py:446 +#: common/serializers.py:462 msgid "Task keyword arguments" msgstr "Nøkkelordargumenter for oppgave" -#: common/serializers.py:556 +#: common/serializers.py:572 msgid "Filename" msgstr "Filnavn" -#: common/serializers.py:563 report/api.py:100 report/serializers.py:53 +#: common/serializers.py:579 report/api.py:100 report/serializers.py:54 msgid "Model Type" msgstr "Modelltype" -#: common/serializers.py:591 +#: common/serializers.py:607 msgid "User does not have permission to create or edit attachments for this model" msgstr "Brukeren har ikke tillatelse tillatelse å opprette eller endre vedlegg for denne modellen" @@ -4447,12 +4444,12 @@ msgstr "Lenke til adresseinformasjon (ekstern)" #: company/models.py:467 company/models.py:584 company/models.py:808 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 -#: stock/templates/stock/item_base.html:217 +#: stock/templates/stock/item_base.html:213 msgid "Manufacturer Part" msgstr "Produsentdeler" #: company/models.py:484 company/models.py:776 stock/models.py:791 -#: stock/serializers.py:452 stock/templates/stock/item_base.html:142 +#: stock/serializers.py:452 stock/templates/stock/item_base.html:138 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "Basisdel" @@ -4463,8 +4460,8 @@ msgstr "Velg del" #: company/models.py:495 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:567 -#: stock/templates/stock/item_base.html:207 +#: company/templates/company/supplier_part.html:145 part/serializers.py:565 +#: stock/templates/stock/item_base.html:203 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 #: templates/js/translated/company.js:1296 @@ -4479,7 +4476,7 @@ msgstr "Velg produsent" #: company/models.py:502 company/templates/company/manufacturer_part.html:101 #: company/templates/company/supplier_part.html:153 order/serializers.py:557 -#: part/serializers.py:577 templates/js/translated/company.js:351 +#: part/serializers.py:575 templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 #: templates/js/translated/company.js:1630 templates/js/translated/part.js:1807 @@ -4505,7 +4502,7 @@ msgid "Parameter name" msgstr "Parameternavn" #: company/models.py:597 report/templates/report/inventree_test_report.html:104 -#: stock/models.py:2544 templates/js/translated/company.js:1166 +#: stock/models.py:2539 templates/js/translated/company.js:1166 #: templates/js/translated/company.js:1419 templates/js/translated/part.js:1499 #: templates/js/translated/stock.js:1607 msgid "Value" @@ -4516,7 +4513,7 @@ msgid "Parameter value" msgstr "Parameterverdi" #: company/models.py:605 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1159 part/models.py:3783 +#: part/admin.py:57 part/models.py:1159 part/models.py:3770 #: part/templates/part/part_base.html:300 #: templates/js/translated/company.js:1425 templates/js/translated/part.js:1518 #: templates/js/translated/part.js:1622 templates/js/translated/part.js:2376 @@ -4530,7 +4527,7 @@ msgstr "Parameterenheter" #: company/models.py:659 company/templates/company/supplier_part.html:7 #: company/templates/company/supplier_part.html:24 order/api.py:440 #: order/serializers.py:492 stock/models.py:802 -#: stock/templates/stock/item_base.html:233 +#: stock/templates/stock/item_base.html:229 #: templates/js/translated/build.js:1055 #: templates/js/translated/company.js:1600 #: templates/js/translated/purchase_order.js:752 @@ -4553,9 +4550,9 @@ msgstr "Den sammenkoblede produsentdelen må referere til samme basisdel" #: company/models.py:786 company/templates/company/company_base.html:87 #: company/templates/company/supplier_part.html:129 order/models.py:492 #: order/templates/order/order_base.html:141 part/bom.py:279 part/bom.py:314 -#: part/serializers.py:551 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:549 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 -#: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 +#: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:220 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:511 @@ -4570,7 +4567,7 @@ msgstr "Leverandør" msgid "Select supplier" msgstr "Velg leverandør" -#: company/models.py:793 part/serializers.py:562 +#: company/models.py:793 part/serializers.py:560 msgid "Supplier stock keeping unit" msgstr "Leverandørens lagerbeholdningsenhet" @@ -4591,7 +4588,7 @@ msgid "Supplier part description" msgstr "Leverandørens delbeskrivelse" #: company/models.py:832 company/templates/company/supplier_part.html:187 -#: order/serializers.py:699 part/admin.py:415 part/models.py:4301 +#: order/serializers.py:699 part/admin.py:415 part/models.py:4288 #: part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 @@ -4603,11 +4600,11 @@ msgstr "Leverandørens delbeskrivelse" msgid "Note" msgstr "Notat" -#: company/models.py:841 part/models.py:2129 +#: company/models.py:841 part/models.py:2128 msgid "base cost" msgstr "grunnkostnad" -#: company/models.py:842 part/models.py:2130 +#: company/models.py:842 part/models.py:2129 msgid "Minimum charge (e.g. stocking fee)" msgstr "Minimum betaling (f.eks. lageravgift)" @@ -4629,7 +4626,7 @@ msgstr "Pakkeantall" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "Totalt antall i en enkelt pakke. La være tom for enkeltenheter." -#: company/models.py:876 part/models.py:2136 +#: company/models.py:876 part/models.py:2135 msgid "multiple" msgstr "flere" @@ -4661,7 +4658,7 @@ msgstr "Standardvaluta brukt for denne leverandøren" msgid "Company Name" msgstr "Bedriftsnavn" -#: company/serializers.py:397 part/admin.py:126 part/serializers.py:919 +#: company/serializers.py:397 part/admin.py:126 part/serializers.py:917 #: part/templates/part/part_base.html:197 #: templates/js/translated/company.js:1689 #: templates/js/translated/table_filters.js:362 @@ -4735,7 +4732,7 @@ msgstr "Slett bilde" #: order/models.py:2140 order/templates/order/return_order_base.html:134 #: order/templates/order/sales_order_base.html:151 stock/models.py:844 #: stock/models.py:845 stock/serializers.py:1336 -#: stock/templates/stock/item_base.html:405 +#: stock/templates/stock/item_base.html:401 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 #: templates/js/translated/return_order.js:295 @@ -4939,7 +4936,7 @@ msgstr "Ingen produsentinformasjon tilgjengelig" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:925 +#: part/admin.py:122 part/serializers.py:923 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -5030,7 +5027,7 @@ msgid "No supplier information available" msgstr "Ingen leverandørinformasjon tilgjengelig" #: company/templates/company/supplier_part.html:139 order/serializers.py:554 -#: part/bom.py:286 part/bom.py:315 part/serializers.py:561 +#: part/bom.py:286 part/bom.py:315 part/serializers.py:559 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1793 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1920 @@ -5084,7 +5081,7 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:923 part/stocktake.py:223 +#: part/serializers.py:921 part/stocktake.py:223 #: part/templates/part/category.html:180 #: part/templates/part/category_sidebar.html:17 stock/admin.py:68 #: stock/serializers.py:1021 stock/serializers.py:1199 @@ -5215,7 +5212,7 @@ msgstr "" msgid "Original row data" msgstr "" -#: importer/models.py:504 part/models.py:3965 +#: importer/models.py:504 part/models.py:3952 msgid "Data" msgstr "" @@ -5473,7 +5470,7 @@ msgstr "" #: order/models.py:1592 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_purchase_order_report.html:14 -#: stock/serializers.py:121 stock/templates/stock/item_base.html:176 +#: stock/serializers.py:121 stock/templates/stock/item_base.html:172 #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/part.js:1752 templates/js/translated/pricing.js:804 #: templates/js/translated/purchase_order.js:168 @@ -5694,7 +5691,7 @@ msgid "Number of items received" msgstr "Antall enheter mottatt" #: order/models.py:1513 stock/models.py:963 stock/serializers.py:617 -#: stock/templates/stock/item_base.html:183 +#: stock/templates/stock/item_base.html:179 #: templates/js/translated/stock.js:2397 msgid "Purchase Price" msgstr "Innkjøpspris" @@ -5768,7 +5765,7 @@ msgid "User who checked this shipment" msgstr "Brukeren som sjekket forsendelsen" #: order/models.py:1788 order/models.py:2011 order/serializers.py:1479 -#: order/serializers.py:1589 templates/js/translated/model_renderers.js:455 +#: order/serializers.py:1597 templates/js/translated/model_renderers.js:455 msgid "Shipment" msgstr "Forsendelse" @@ -5982,7 +5979,7 @@ msgstr "Ordrelinje" msgid "Line item does not match purchase order" msgstr "Linjeelementet samsvarer ikke med innkjøpsordre" -#: order/serializers.py:656 order/serializers.py:779 order/serializers.py:1790 +#: order/serializers.py:656 order/serializers.py:779 order/serializers.py:1798 msgid "Select destination location for received items" msgstr "Velg lagerplassering for mottatte enheter" @@ -6019,7 +6016,7 @@ msgstr "Strekkode allerede i bruk" msgid "An integer quantity must be provided for trackable parts" msgstr "Heltallsverdi må angis for sporbare deler" -#: order/serializers.py:795 order/serializers.py:1806 +#: order/serializers.py:795 order/serializers.py:1814 msgid "Line items must be provided" msgstr "Linjeelementer må være oppgitt" @@ -6051,39 +6048,39 @@ msgstr "Mengden må være positiv" msgid "Enter serial numbers to allocate" msgstr "Skriv inn serienummer for å tildele" -#: order/serializers.py:1491 order/serializers.py:1597 +#: order/serializers.py:1491 order/serializers.py:1605 msgid "Shipment has already been shipped" msgstr "Forsendelsen er allerede sendt" -#: order/serializers.py:1494 order/serializers.py:1600 +#: order/serializers.py:1494 order/serializers.py:1608 msgid "Shipment is not associated with this order" msgstr "Forsendelsen er ikke knyttet til denne ordren" -#: order/serializers.py:1541 +#: order/serializers.py:1549 msgid "No match found for the following serial numbers" msgstr "Ingen treff funnet for følgende serienummer" -#: order/serializers.py:1548 -msgid "The following serial numbers are already allocated" -msgstr "Følgende serienummer er allerede tildelt" +#: order/serializers.py:1556 +msgid "The following serial numbers are unavailable" +msgstr "" -#: order/serializers.py:1760 +#: order/serializers.py:1768 msgid "Return order line item" msgstr "Returordrelinje" -#: order/serializers.py:1766 +#: order/serializers.py:1774 msgid "Line item does not match return order" msgstr "Linjeelementet samsvarer ikke med returordre" -#: order/serializers.py:1769 +#: order/serializers.py:1777 msgid "Line item has already been received" msgstr "Linjeelementet er allerede mottatt" -#: order/serializers.py:1798 +#: order/serializers.py:1806 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:1881 +#: order/serializers.py:1889 msgid "Line price currency" msgstr "Valuta for linje" @@ -6510,7 +6507,7 @@ 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:48 part/models.py:1044 part/serializers.py:908 +#: part/admin.py:48 part/models.py:1044 part/serializers.py:906 #: part/templates/part/part_base.html:276 #: report/templates/report/inventree_stock_location_report.html:103 #: templates/js/translated/part.js:1233 templates/js/translated/part.js:2347 @@ -6537,7 +6534,7 @@ msgstr "Del-bilde" msgid "Category ID" msgstr "Kategori-ID" -#: part/admin.py:67 part/admin.py:304 part/serializers.py:893 +#: part/admin.py:67 part/admin.py:304 part/serializers.py:891 #: part/stocktake.py:222 msgid "Category Name" msgstr "Kategorinavn" @@ -6562,18 +6559,18 @@ msgstr "Minimal lagerbeholdning" msgid "Used In" msgstr "Brukt i" -#: part/admin.py:150 part/serializers.py:918 +#: part/admin.py:150 part/serializers.py:916 #: part/templates/part/part_base.html:248 stock/admin.py:236 #: templates/js/translated/part.js:717 templates/js/translated/part.js:2159 msgid "Building" msgstr "Produseres" -#: part/admin.py:155 part/models.py:3214 part/models.py:3228 +#: part/admin.py:155 part/models.py:3201 part/models.py:3215 #: templates/js/translated/part.js:976 msgid "Minimum Cost" msgstr "Minimal kostnad" -#: part/admin.py:158 part/models.py:3221 part/models.py:3235 +#: part/admin.py:158 part/models.py:3208 part/models.py:3222 #: templates/js/translated/part.js:986 msgid "Maximum Cost" msgstr "Maksimal kostnad" @@ -6592,7 +6589,7 @@ msgid "Category Path" msgstr "Sti til kategori" #: part/admin.py:325 part/models.py:420 part/serializers.py:130 -#: part/serializers.py:290 part/serializers.py:428 +#: part/serializers.py:290 part/serializers.py:426 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:20 #: part/templates/part/category.html:138 part/templates/part/category.html:158 #: part/templates/part/category_sidebar.html:9 @@ -6619,13 +6616,13 @@ msgstr "Overodnet IPN" msgid "Part Revision" msgstr "" -#: part/admin.py:418 part/serializers.py:1367 +#: part/admin.py:418 part/serializers.py:1365 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "Minstepris" -#: part/admin.py:423 part/serializers.py:1382 +#: part/admin.py:423 part/serializers.py:1380 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -6719,8 +6716,8 @@ msgstr "" msgid "BOM Valid" msgstr "" -#: part/api.py:1520 part/models.py:1036 part/models.py:3501 part/models.py:4060 -#: part/serializers.py:443 part/serializers.py:1223 +#: part/api.py:1520 part/models.py:1036 part/models.py:3488 part/models.py:4047 +#: part/serializers.py:441 part/serializers.py:1221 #: part/templates/part/part_base.html:267 stock/api.py:780 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 @@ -6746,7 +6743,7 @@ msgstr "" msgid "Default Location" msgstr "Standard plassering" -#: part/bom.py:184 part/serializers.py:926 +#: part/bom.py:184 part/serializers.py:924 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "Total lagerbeholdning" @@ -6755,7 +6752,7 @@ msgstr "Total lagerbeholdning" msgid "Input quantity for price calculation" msgstr "Sett inn antall for prisberegning" -#: part/models.py:89 part/models.py:4061 part/templates/part/category.html:16 +#: part/models.py:89 part/models.py:4048 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "Delkategori" @@ -6878,7 +6875,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:995 part/models.py:4116 +#: part/models.py:995 part/models.py:4103 msgid "Part name" msgstr "Delnavn" @@ -6906,7 +6903,7 @@ msgstr "Del-nøkkelord for å øke synligheten i søkeresultater" msgid "Part category" msgstr "Delkategori" -#: part/models.py:1052 part/serializers.py:360 +#: part/models.py:1052 msgid "Part revision or version number" msgstr "Delrevisjon eller versjonsnummer" @@ -7012,164 +7009,164 @@ msgid "Owner responsible for this part" msgstr "Eier ansvarlig for denne delen" #: part/models.py:1264 part/templates/part/part_base.html:355 -#: stock/templates/stock/item_base.html:451 +#: stock/templates/stock/item_base.html:447 #: templates/js/translated/part.js:2490 msgid "Last Stocktake" msgstr "Siste lagertelling" -#: part/models.py:2137 +#: part/models.py:2136 msgid "Sell multiple" msgstr "Selg flere" -#: part/models.py:3128 +#: part/models.py:3115 msgid "Currency used to cache pricing calculations" msgstr "Valuta som brukes til å bufre prisberegninger" -#: part/models.py:3144 +#: part/models.py:3131 msgid "Minimum BOM Cost" msgstr "Minimal BOM-kostnad" -#: part/models.py:3145 +#: part/models.py:3132 msgid "Minimum cost of component parts" msgstr "Minste kostnad for komponentdeler" -#: part/models.py:3151 +#: part/models.py:3138 msgid "Maximum BOM Cost" msgstr "Maksimal BOM-kostnad" -#: part/models.py:3152 +#: part/models.py:3139 msgid "Maximum cost of component parts" msgstr "Maksimal kostnad for komponentdeler" -#: part/models.py:3158 +#: part/models.py:3145 msgid "Minimum Purchase Cost" msgstr "Minimal innkjøpskostnad" -#: part/models.py:3159 +#: part/models.py:3146 msgid "Minimum historical purchase cost" msgstr "Minimal historisk innkjøpskostnad" -#: part/models.py:3165 +#: part/models.py:3152 msgid "Maximum Purchase Cost" msgstr "Maksimal innkjøpskostnad" -#: part/models.py:3166 +#: part/models.py:3153 msgid "Maximum historical purchase cost" msgstr "Maksimal historisk innkjøpskostnad" -#: part/models.py:3172 +#: part/models.py:3159 msgid "Minimum Internal Price" msgstr "Minimal intern pris" -#: part/models.py:3173 +#: part/models.py:3160 msgid "Minimum cost based on internal price breaks" msgstr "Minimal kostnad basert på interne prisbrudd" -#: part/models.py:3179 +#: part/models.py:3166 msgid "Maximum Internal Price" msgstr "Maksimal intern pris" -#: part/models.py:3180 +#: part/models.py:3167 msgid "Maximum cost based on internal price breaks" msgstr "Maksimal kostnad basert på interne prisbrudd" -#: part/models.py:3186 +#: part/models.py:3173 msgid "Minimum Supplier Price" msgstr "Minimal leverandørpris" -#: part/models.py:3187 +#: part/models.py:3174 msgid "Minimum price of part from external suppliers" msgstr "Minimumspris for del fra eksterne leverandører" -#: part/models.py:3193 +#: part/models.py:3180 msgid "Maximum Supplier Price" msgstr "Maksimal leverandørpris" -#: part/models.py:3194 +#: part/models.py:3181 msgid "Maximum price of part from external suppliers" msgstr "Maksimalpris for del fra eksterne leverandører" -#: part/models.py:3200 +#: part/models.py:3187 msgid "Minimum Variant Cost" msgstr "Minimal Variantkostnad" -#: part/models.py:3201 +#: part/models.py:3188 msgid "Calculated minimum cost of variant parts" msgstr "Beregnet minimal kostnad for variantdeler" -#: part/models.py:3207 +#: part/models.py:3194 msgid "Maximum Variant Cost" msgstr "Maksimal Variantkostnad" -#: part/models.py:3208 +#: part/models.py:3195 msgid "Calculated maximum cost of variant parts" msgstr "Beregnet maksimal kostnad for variantdeler" -#: part/models.py:3215 +#: part/models.py:3202 msgid "Override minimum cost" msgstr "Overstyr minstekostnad" -#: part/models.py:3222 +#: part/models.py:3209 msgid "Override maximum cost" msgstr "Overstyr maksimal kostnad" -#: part/models.py:3229 +#: part/models.py:3216 msgid "Calculated overall minimum cost" msgstr "Beregnet samlet minimal kostnad" -#: part/models.py:3236 +#: part/models.py:3223 msgid "Calculated overall maximum cost" msgstr "Beregnet samlet maksimal kostnad" -#: part/models.py:3242 +#: part/models.py:3229 msgid "Minimum Sale Price" msgstr "Minimal salgspris" -#: part/models.py:3243 +#: part/models.py:3230 msgid "Minimum sale price based on price breaks" msgstr "Minimal salgspris basert på prisbrudd" -#: part/models.py:3249 +#: part/models.py:3236 msgid "Maximum Sale Price" msgstr "Maksimal Salgspris" -#: part/models.py:3250 +#: part/models.py:3237 msgid "Maximum sale price based on price breaks" msgstr "Maksimal salgspris basert på prisbrudd" -#: part/models.py:3256 +#: part/models.py:3243 msgid "Minimum Sale Cost" msgstr "Minimal Salgskostnad" -#: part/models.py:3257 +#: part/models.py:3244 msgid "Minimum historical sale price" msgstr "Minimal historisk salgspris" -#: part/models.py:3263 +#: part/models.py:3250 msgid "Maximum Sale Cost" msgstr "Maksimal Salgskostnad" -#: part/models.py:3264 +#: part/models.py:3251 msgid "Maximum historical sale price" msgstr "Maksimal historisk salgspris" -#: part/models.py:3283 +#: part/models.py:3270 msgid "Part for stocktake" msgstr "Del for varetelling" -#: part/models.py:3288 +#: part/models.py:3275 msgid "Item Count" msgstr "Antall" -#: part/models.py:3289 +#: part/models.py:3276 msgid "Number of individual stock entries at time of stocktake" msgstr "Antall individuelle lagerenheter på tidspunkt for varetelling" -#: part/models.py:3297 +#: part/models.py:3284 msgid "Total available stock at time of stocktake" msgstr "Total tilgjengelig lagerbeholdning på tidspunkt for varetelling" -#: part/models.py:3301 part/models.py:3384 +#: part/models.py:3288 part/models.py:3371 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -7181,363 +7178,363 @@ msgstr "Total tilgjengelig lagerbeholdning på tidspunkt for varetelling" msgid "Date" msgstr "Dato" -#: part/models.py:3302 +#: part/models.py:3289 msgid "Date stocktake was performed" msgstr "Dato for utført lagertelling" -#: part/models.py:3310 +#: part/models.py:3297 msgid "Additional notes" msgstr "Flere notater" -#: part/models.py:3320 +#: part/models.py:3307 msgid "User who performed this stocktake" msgstr "Bruker som utførte denne lagertellingen" -#: part/models.py:3326 +#: part/models.py:3313 msgid "Minimum Stock Cost" msgstr "Minimal lagerkostnad" -#: part/models.py:3327 +#: part/models.py:3314 msgid "Estimated minimum cost of stock on hand" msgstr "Estimert minimal kostnad for lagerbeholdning" -#: part/models.py:3333 +#: part/models.py:3320 msgid "Maximum Stock Cost" msgstr "Maksimal lagerkostnad" -#: part/models.py:3334 +#: part/models.py:3321 msgid "Estimated maximum cost of stock on hand" msgstr "Estimert maksimal kostnad for lagerbeholdning" -#: part/models.py:3390 templates/InvenTree/settings/settings_staff_js.html:532 +#: part/models.py:3377 templates/InvenTree/settings/settings_staff_js.html:532 msgid "Report" msgstr "Rapport" -#: part/models.py:3391 +#: part/models.py:3378 msgid "Stocktake report file (generated internally)" msgstr "Lagertellingsrapportfil (generert internt)" -#: part/models.py:3396 templates/InvenTree/settings/settings_staff_js.html:539 +#: part/models.py:3383 templates/InvenTree/settings/settings_staff_js.html:539 msgid "Part Count" msgstr "Antall deler" -#: part/models.py:3397 +#: part/models.py:3384 msgid "Number of parts covered by stocktake" msgstr "Antall deler dekket av varetellingen" -#: part/models.py:3407 +#: part/models.py:3394 msgid "User who requested this stocktake report" msgstr "Bruker som forespurte varetellingsrapporten" -#: part/models.py:3417 +#: part/models.py:3404 msgid "Part Sale Price Break" msgstr "" -#: part/models.py:3529 +#: part/models.py:3516 msgid "Part Test Template" msgstr "" -#: part/models.py:3555 +#: part/models.py:3542 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3576 part/models.py:3745 +#: part/models.py:3563 part/models.py:3732 msgid "Choices must be unique" msgstr "Valg må være unike" -#: part/models.py:3587 +#: part/models.py:3574 msgid "Test templates can only be created for testable parts" msgstr "" -#: part/models.py:3598 +#: part/models.py:3585 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3615 templates/js/translated/part.js:2898 +#: part/models.py:3602 templates/js/translated/part.js:2898 msgid "Test Name" msgstr "Testnavn" -#: part/models.py:3616 +#: part/models.py:3603 msgid "Enter a name for the test" msgstr "Angi et navn for testen" -#: part/models.py:3622 +#: part/models.py:3609 msgid "Test Key" msgstr "" -#: part/models.py:3623 +#: part/models.py:3610 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3630 +#: part/models.py:3617 msgid "Test Description" msgstr "Testbeskrivelse" -#: part/models.py:3631 +#: part/models.py:3618 msgid "Enter description for this test" msgstr "Legg inn beskrivelse for denne testen" -#: part/models.py:3635 report/models.py:208 +#: part/models.py:3622 report/models.py:216 #: templates/js/translated/part.js:2919 #: templates/js/translated/table_filters.js:502 msgid "Enabled" msgstr "Aktivert" -#: part/models.py:3635 +#: part/models.py:3622 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3640 templates/js/translated/part.js:2927 +#: part/models.py:3627 templates/js/translated/part.js:2927 #: templates/js/translated/table_filters.js:498 msgid "Required" msgstr "Påkrevd" -#: part/models.py:3641 +#: part/models.py:3628 msgid "Is this test required to pass?" msgstr "Er det påkrevd at denne testen bestås?" -#: part/models.py:3646 templates/js/translated/part.js:2935 +#: part/models.py:3633 templates/js/translated/part.js:2935 msgid "Requires Value" msgstr "Krever verdi" -#: part/models.py:3647 +#: part/models.py:3634 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:3652 templates/js/translated/part.js:2942 +#: part/models.py:3639 templates/js/translated/part.js:2942 msgid "Requires Attachment" msgstr "Krever vedlegg" -#: part/models.py:3654 +#: part/models.py:3641 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:3660 part/models.py:3804 templates/js/translated/part.js:1643 +#: part/models.py:3647 part/models.py:3791 templates/js/translated/part.js:1643 msgid "Choices" msgstr "Valg" -#: part/models.py:3661 +#: part/models.py:3648 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3693 +#: part/models.py:3680 msgid "Part Parameter Template" msgstr "" -#: part/models.py:3720 +#: part/models.py:3707 msgid "Checkbox parameters cannot have units" msgstr "Sjekkboksparameter kan ikke ha enheter" -#: part/models.py:3725 +#: part/models.py:3712 msgid "Checkbox parameters cannot have choices" msgstr "Sjekkboksparameter kan ikke ha valg" -#: part/models.py:3762 +#: part/models.py:3749 msgid "Parameter template name must be unique" msgstr "Navn på parametermal må være unikt" -#: part/models.py:3777 +#: part/models.py:3764 msgid "Parameter Name" msgstr "Parameternavn" -#: part/models.py:3784 +#: part/models.py:3771 msgid "Physical units for this parameter" msgstr "Fysisk enheter for denne parameteren" -#: part/models.py:3792 +#: part/models.py:3779 msgid "Parameter description" msgstr "Parameterbeskrivelse" -#: part/models.py:3798 templates/js/translated/part.js:1634 +#: part/models.py:3785 templates/js/translated/part.js:1634 #: templates/js/translated/table_filters.js:837 msgid "Checkbox" msgstr "Sjekkboks" -#: part/models.py:3799 +#: part/models.py:3786 msgid "Is this parameter a checkbox?" msgstr "Er dette parameteret en sjekkboks?" -#: part/models.py:3805 +#: part/models.py:3792 msgid "Valid choices for this parameter (comma-separated)" msgstr "Gyldige valg for denne parameteren (kommaseparert)" -#: part/models.py:3839 +#: part/models.py:3826 msgid "Part Parameter" msgstr "" -#: part/models.py:3865 +#: part/models.py:3852 msgid "Parameter cannot be modified - part is locked" msgstr "" -#: part/models.py:3903 +#: part/models.py:3890 msgid "Invalid choice for parameter value" msgstr "Ugyldig valg for parameterverdi" -#: part/models.py:3952 +#: part/models.py:3939 msgid "Parent Part" msgstr "Overordnet del" -#: part/models.py:3960 part/models.py:4068 part/models.py:4069 +#: part/models.py:3947 part/models.py:4055 part/models.py:4056 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "Parametermal" -#: part/models.py:3966 +#: part/models.py:3953 msgid "Parameter Value" msgstr "Parameterverdi" -#: part/models.py:4016 +#: part/models.py:4003 msgid "Part Category Parameter Template" msgstr "" -#: part/models.py:4075 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:4062 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "Standardverdi" -#: part/models.py:4076 +#: part/models.py:4063 msgid "Default Parameter Value" msgstr "Standard Parameterverdi" -#: part/models.py:4114 +#: part/models.py:4101 msgid "Part ID or part name" msgstr "Del-ID eller delnavn" -#: part/models.py:4115 +#: part/models.py:4102 msgid "Unique part ID value" msgstr "Unik del-ID-verdi" -#: part/models.py:4117 +#: part/models.py:4104 msgid "Part IPN value" msgstr "Delens interne delnummerverdi" -#: part/models.py:4118 +#: part/models.py:4105 msgid "Level" msgstr "Nivå" -#: part/models.py:4118 +#: part/models.py:4105 msgid "BOM level" msgstr "BOM-nivå" -#: part/models.py:4228 +#: part/models.py:4215 msgid "BOM item cannot be modified - assembly is locked" msgstr "" -#: part/models.py:4235 +#: part/models.py:4222 msgid "BOM item cannot be modified - variant assembly is locked" msgstr "" -#: part/models.py:4245 +#: part/models.py:4232 msgid "Select parent part" msgstr "Velg overordnet del" -#: part/models.py:4255 +#: part/models.py:4242 msgid "Sub part" msgstr "Underordnet del" -#: part/models.py:4256 +#: part/models.py:4243 msgid "Select part to be used in BOM" msgstr "Velg del som skal brukes i BOM" -#: part/models.py:4267 +#: part/models.py:4254 msgid "BOM quantity for this BOM item" msgstr "BOM-antall for denne BOM-artikkelen" -#: part/models.py:4273 +#: part/models.py:4260 msgid "This BOM item is optional" msgstr "Denne BOM-artikkelen er valgfri" -#: part/models.py:4279 +#: part/models.py:4266 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:4286 part/templates/part/upload_bom.html:55 +#: part/models.py:4273 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "Svinn" -#: part/models.py:4287 +#: part/models.py:4274 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "Forventet produksjonssvinn (absolutt eller prosent)" -#: part/models.py:4294 +#: part/models.py:4281 msgid "BOM item reference" msgstr "BOM-artikkelreferanse" -#: part/models.py:4302 +#: part/models.py:4289 msgid "BOM item notes" msgstr "BOM-artikkelnotater" -#: part/models.py:4308 +#: part/models.py:4295 msgid "Checksum" msgstr "Kontrollsum" -#: part/models.py:4309 +#: part/models.py:4296 msgid "BOM line checksum" msgstr "BOM-linje kontrollsum" -#: part/models.py:4314 templates/js/translated/table_filters.js:181 +#: part/models.py:4301 templates/js/translated/table_filters.js:181 msgid "Validated" msgstr "Godkjent" -#: part/models.py:4315 +#: part/models.py:4302 msgid "This BOM item has been validated" msgstr "Denne BOM-artikkelen er godkjent" -#: part/models.py:4320 part/templates/part/upload_bom.html:57 +#: part/models.py:4307 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:185 #: templates/js/translated/table_filters.js:218 msgid "Gets inherited" msgstr "Arves" -#: part/models.py:4321 +#: part/models.py:4308 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "Denne BOM-artikkelen er arvet fra stykkliste for variantdeler" -#: part/models.py:4327 +#: part/models.py:4314 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:4412 stock/models.py:689 +#: part/models.py:4399 stock/models.py:689 msgid "Quantity must be integer value for trackable parts" msgstr "Antall må være heltallsverdi for sporbare deler" -#: part/models.py:4422 part/models.py:4424 +#: part/models.py:4409 part/models.py:4411 msgid "Sub part must be specified" msgstr "Underordnet del må angis" -#: part/models.py:4561 +#: part/models.py:4554 msgid "BOM Item Substitute" msgstr "BOM-artikkel erstatning" -#: part/models.py:4582 +#: part/models.py:4575 msgid "Substitute part cannot be the same as the master part" msgstr "Erstatningsdel kan ikke være samme som hoveddelen" -#: part/models.py:4595 +#: part/models.py:4588 msgid "Parent BOM item" msgstr "Overordnet BOM-artikkel" -#: part/models.py:4603 +#: part/models.py:4596 msgid "Substitute part" msgstr "Erstatningsdel" -#: part/models.py:4619 +#: part/models.py:4612 msgid "Part 1" msgstr "Del 1" -#: part/models.py:4627 +#: part/models.py:4620 msgid "Part 2" msgstr "Del 2" -#: part/models.py:4628 +#: part/models.py:4621 msgid "Select Related Part" msgstr "Velg relatert del" -#: part/models.py:4647 +#: part/models.py:4640 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:4652 +#: part/models.py:4645 msgid "Duplicate relationship already exists" msgstr "Duplikatforhold eksisterer allerede" @@ -7571,326 +7568,326 @@ msgstr "Innkjøpsvaluta for lagervaren" msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:434 +#: part/serializers.py:432 msgid "No parts selected" msgstr "Ingen deler valgt" -#: part/serializers.py:444 +#: part/serializers.py:442 msgid "Select category" msgstr "Velg kategori" -#: part/serializers.py:479 +#: part/serializers.py:477 msgid "Original Part" msgstr "Original Del" -#: part/serializers.py:480 +#: part/serializers.py:478 msgid "Select original part to duplicate" msgstr "Velg original del å duplisere" -#: part/serializers.py:485 +#: part/serializers.py:483 msgid "Copy Image" msgstr "Kopier Bilde" -#: part/serializers.py:486 +#: part/serializers.py:484 msgid "Copy image from original part" msgstr "Kopier bilde fra originaldel" -#: part/serializers.py:492 part/templates/part/detail.html:293 +#: part/serializers.py:490 part/templates/part/detail.html:293 msgid "Copy BOM" msgstr "Kopier Stykkliste" -#: part/serializers.py:493 +#: part/serializers.py:491 msgid "Copy bill of materials from original part" msgstr "Kopier stykkliste fra original del" -#: part/serializers.py:499 +#: part/serializers.py:497 msgid "Copy Parameters" msgstr "Kopier parametere" -#: part/serializers.py:500 +#: part/serializers.py:498 msgid "Copy parameter data from original part" msgstr "Kopier parameterdata fra originaldel" -#: part/serializers.py:506 +#: part/serializers.py:504 msgid "Copy Notes" msgstr "Kopier notater" -#: part/serializers.py:507 +#: part/serializers.py:505 msgid "Copy notes from original part" msgstr "Kopier notater fra originaldel" -#: part/serializers.py:525 +#: part/serializers.py:523 msgid "Initial Stock Quantity" msgstr "Innledende lagerbeholdning" -#: part/serializers.py:527 +#: part/serializers.py:525 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:534 +#: part/serializers.py:532 msgid "Initial Stock Location" msgstr "Innledende lagerplassering" -#: part/serializers.py:535 +#: part/serializers.py:533 msgid "Specify initial stock location for this Part" msgstr "Angi initiell lagerplasering for denne delen" -#: part/serializers.py:552 +#: part/serializers.py:550 msgid "Select supplier (or leave blank to skip)" msgstr "Velg leverandør (eller la stå tom for å hoppe over)" -#: part/serializers.py:568 +#: part/serializers.py:566 msgid "Select manufacturer (or leave blank to skip)" msgstr "Velg produsent (eller la stå tom for å hoppe over)" -#: part/serializers.py:578 +#: part/serializers.py:576 msgid "Manufacturer part number" msgstr "Produsentens delenummer" -#: part/serializers.py:585 +#: part/serializers.py:583 msgid "Selected company is not a valid supplier" msgstr "Valgt firma er ikke en gyldig leverandør" -#: part/serializers.py:594 +#: part/serializers.py:592 msgid "Selected company is not a valid manufacturer" msgstr "Valgt firma er ikke en gyldig produsent" -#: part/serializers.py:605 +#: part/serializers.py:603 msgid "Manufacturer part matching this MPN already exists" msgstr "Produsentdel som matcher dette MPN-et, finnes allerede" -#: part/serializers.py:612 +#: part/serializers.py:610 msgid "Supplier part matching this SKU already exists" msgstr "Leverandørdel som matcher denne SKU-en, finnes allerede" -#: part/serializers.py:924 +#: part/serializers.py:922 msgid "Revisions" msgstr "" -#: part/serializers.py:929 +#: part/serializers.py:927 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:932 +#: part/serializers.py:930 msgid "Variant Stock" msgstr "" -#: part/serializers.py:962 part/templates/part/copy_part.html:9 +#: part/serializers.py:960 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:474 msgid "Duplicate Part" msgstr "Dupliser del" -#: part/serializers.py:963 +#: part/serializers.py:961 msgid "Copy initial data from another Part" msgstr "Kopier innledende data fra en annen del" -#: part/serializers.py:969 templates/js/translated/part.js:103 +#: part/serializers.py:967 templates/js/translated/part.js:103 msgid "Initial Stock" msgstr "Innledende lagerbeholdning" -#: part/serializers.py:970 +#: part/serializers.py:968 msgid "Create Part with initial stock quantity" msgstr "Lag en del med innledende lagermengde" -#: part/serializers.py:976 +#: part/serializers.py:974 msgid "Supplier Information" msgstr "Leverandøropplysninger" -#: part/serializers.py:977 +#: part/serializers.py:975 msgid "Add initial supplier information for this part" msgstr "Legg til innledende leverandørinformasjon for denne delen" -#: part/serializers.py:985 +#: part/serializers.py:983 msgid "Copy Category Parameters" msgstr "Kopier kategoriparametre" -#: part/serializers.py:986 +#: part/serializers.py:984 msgid "Copy parameter templates from selected part category" msgstr "Kopier parametermaler fra valgt delkategori" -#: part/serializers.py:991 +#: part/serializers.py:989 msgid "Existing Image" msgstr "Eksisterende bilde" -#: part/serializers.py:992 +#: part/serializers.py:990 msgid "Filename of an existing part image" msgstr "Filnavn for et eksisterende del-bilde" -#: part/serializers.py:1009 +#: part/serializers.py:1007 msgid "Image file does not exist" msgstr "Bildefilen finnes ikke" -#: part/serializers.py:1215 +#: part/serializers.py:1213 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:1225 +#: part/serializers.py:1223 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:1235 +#: part/serializers.py:1233 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:1241 +#: part/serializers.py:1239 msgid "Exclude External Stock" msgstr "Ekskluder ekstern lagerbeholdning" -#: part/serializers.py:1242 +#: part/serializers.py:1240 msgid "Exclude stock items in external locations" msgstr "Ekskluder lagervarer i eksterne lokasjoner" -#: part/serializers.py:1247 +#: part/serializers.py:1245 msgid "Generate Report" msgstr "Generer rapport" -#: part/serializers.py:1248 +#: part/serializers.py:1246 msgid "Generate report file containing calculated stocktake data" msgstr "Genererer rapport som inneholder beregnede lagerdata" -#: part/serializers.py:1253 +#: part/serializers.py:1251 msgid "Update Parts" msgstr "Oppdater deler" -#: part/serializers.py:1254 +#: part/serializers.py:1252 msgid "Update specified parts with calculated stocktake data" msgstr "Oppdater spesifiserte deler med beregnede lagerbeholdningsdata" -#: part/serializers.py:1262 +#: part/serializers.py:1260 msgid "Stocktake functionality is not enabled" msgstr "Lagerbeholdningsfunksjonalitet er ikke aktivert" -#: part/serializers.py:1368 +#: part/serializers.py:1366 msgid "Override calculated value for minimum price" msgstr "Overstyr beregnet verdi for minimumspris" -#: part/serializers.py:1375 +#: part/serializers.py:1373 msgid "Minimum price currency" msgstr "Valuta for minstepris" -#: part/serializers.py:1383 +#: part/serializers.py:1381 msgid "Override calculated value for maximum price" msgstr "Overstyr beregnet verdi for maksimal pris" -#: part/serializers.py:1390 +#: part/serializers.py:1388 msgid "Maximum price currency" msgstr "Valuta for maksimal pris" -#: part/serializers.py:1419 +#: part/serializers.py:1417 msgid "Update" msgstr "Oppdater" -#: part/serializers.py:1420 +#: part/serializers.py:1418 msgid "Update pricing for this part" msgstr "Oppdater priser for denne delen" -#: part/serializers.py:1443 +#: part/serializers.py:1441 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "Kan ikke konvertere fra gitte valutaer til {default_currency}" -#: part/serializers.py:1450 +#: part/serializers.py:1448 msgid "Minimum price must not be greater than maximum price" msgstr "Minsteprisen kan ikke være større enn maksimal pris" -#: part/serializers.py:1453 +#: part/serializers.py:1451 msgid "Maximum price must not be less than minimum price" msgstr "Maksimal pris kan ikke være mindre enn minstepris" -#: part/serializers.py:1597 +#: part/serializers.py:1595 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1606 +#: part/serializers.py:1604 msgid "Component Name" msgstr "" -#: part/serializers.py:1609 +#: part/serializers.py:1607 msgid "Component IPN" msgstr "" -#: part/serializers.py:1612 +#: part/serializers.py:1610 msgid "Component Description" msgstr "" -#: part/serializers.py:1618 +#: part/serializers.py:1616 msgid "Select the component part" msgstr "" -#: part/serializers.py:1627 part/templates/part/part_base.html:242 +#: part/serializers.py:1625 part/templates/part/part_base.html:242 #: templates/js/translated/bom.js:1219 msgid "Can Build" msgstr "Kan Produsere" -#: part/serializers.py:1858 +#: part/serializers.py:1856 msgid "Select part to copy BOM from" msgstr "Velg del å kopiere BOM fra" -#: part/serializers.py:1866 +#: part/serializers.py:1864 msgid "Remove Existing Data" msgstr "Fjern eksisterende data" -#: part/serializers.py:1867 +#: part/serializers.py:1865 msgid "Remove existing BOM items before copying" msgstr "Fjern eksisterende BOM-artikler før kopiering" -#: part/serializers.py:1872 +#: part/serializers.py:1870 msgid "Include Inherited" msgstr "Inkluder arvede" -#: part/serializers.py:1873 +#: part/serializers.py:1871 msgid "Include BOM items which are inherited from templated parts" msgstr "Inkluder BOM-artikler som er arvet fra maldeler" -#: part/serializers.py:1878 +#: part/serializers.py:1876 msgid "Skip Invalid Rows" msgstr "Hopp over ugyldige rader" -#: part/serializers.py:1879 +#: part/serializers.py:1877 msgid "Enable this option to skip invalid rows" msgstr "Aktiver dette alternativet for å hoppe over ugyldige rader" -#: part/serializers.py:1884 +#: part/serializers.py:1882 msgid "Copy Substitute Parts" msgstr "Kopier erstatningsdeler" -#: part/serializers.py:1885 +#: part/serializers.py:1883 msgid "Copy substitute parts when duplicate BOM items" msgstr "Kopier erstatningsdeler når BOM-elementer dupliseres" -#: part/serializers.py:1922 +#: part/serializers.py:1920 msgid "Clear Existing BOM" msgstr "Nullstill eksisterende BOM" -#: part/serializers.py:1923 +#: part/serializers.py:1921 msgid "Delete existing BOM items before uploading" msgstr "Fjern eksisterende BOM-artikler før opplastning" -#: part/serializers.py:1955 +#: part/serializers.py:1953 msgid "No part column specified" msgstr "Ingen del-kolonne angitt" -#: part/serializers.py:1999 +#: part/serializers.py:1997 msgid "Multiple matching parts found" msgstr "Flere samsvarende deler funnet" -#: part/serializers.py:2002 +#: part/serializers.py:2000 msgid "No matching part found" msgstr "Ingen samsvarende del funnet" -#: part/serializers.py:2004 +#: part/serializers.py:2002 msgid "Part is not designated as a component" msgstr "Delen er ikke betegnet som en komponent" -#: part/serializers.py:2013 +#: part/serializers.py:2011 msgid "Quantity not provided" msgstr "Antall ikke oppgitt" -#: part/serializers.py:2021 +#: part/serializers.py:2019 msgid "Invalid quantity" msgstr "Ugyldig antall" -#: part/serializers.py:2044 +#: part/serializers.py:2042 msgid "At least one BOM item is required" msgstr "Minst en BOM-artikkel kreves" @@ -8216,7 +8213,7 @@ msgid "Subscribe to notifications for this part" msgstr "Abonner på varsler for denne delen" #: part/templates/part/part_base.html:52 -#: stock/templates/stock/item_base.html:62 +#: stock/templates/stock/item_base.html:61 #: stock/templates/stock/location.html:71 templates/js/translated/label.js:136 msgid "Print Label" msgstr "Skriv ut etikett" @@ -8226,7 +8223,7 @@ msgid "Show pricing information" msgstr "Vis prisinformasjon" #: part/templates/part/part_base.html:63 -#: stock/templates/stock/item_base.html:110 +#: stock/templates/stock/item_base.html:106 #: stock/templates/stock/location.html:80 msgid "Stock actions" msgstr "Lagerhandlinger" @@ -8297,12 +8294,12 @@ msgid "Required for Orders" msgstr "" #: part/templates/part/part_base.html:225 -#: stock/templates/stock/item_base.html:388 +#: stock/templates/stock/item_base.html:384 msgid "Allocated to Build Orders" msgstr "Tildelt til produksjonsordrer" #: part/templates/part/part_base.html:234 -#: stock/templates/stock/item_base.html:381 +#: stock/templates/stock/item_base.html:377 msgid "Allocated to Sales Orders" msgstr "Tildelt til Salgsordrer" @@ -8322,7 +8319,7 @@ msgid "Latest Serial Number" msgstr "Siste serienummer" #: part/templates/part/part_base.html:372 -#: stock/templates/stock/item_base.html:322 +#: stock/templates/stock/item_base.html:318 msgid "Search for serial number" msgstr "Søk etter serienummer" @@ -8449,7 +8446,7 @@ msgid "Edit" msgstr "Rediger" #: part/templates/part/prices.html:28 stock/admin.py:252 -#: stock/templates/stock/item_base.html:446 +#: stock/templates/stock/item_base.html:442 #: templates/js/translated/company.js:1703 #: templates/js/translated/company.js:1713 #: templates/js/translated/stock.js:2332 @@ -8604,7 +8601,7 @@ msgstr "Bilde for del ikke funnet" msgid "Part Pricing" msgstr "Delprising" -#: plugin/api.py:172 +#: plugin/api.py:174 msgid "Plugin cannot be deleted as it is currently active" msgstr "" @@ -8940,7 +8937,7 @@ msgstr "Kantlinjer" msgid "Print a border around each label" msgstr "Skriv ut en kant rundt hver etikett" -#: plugin/builtin/labels/label_sheet.py:47 report/models.py:307 +#: plugin/builtin/labels/label_sheet.py:47 report/models.py:315 msgid "Landscape" msgstr "Liggende" @@ -9012,44 +9009,44 @@ msgstr "Gir støtte for å skanne TME-strekkoder" msgid "The Supplier which acts as 'TME'" msgstr "Leverandøren som fungerer som \"TME\"" -#: plugin/installer.py:194 plugin/installer.py:274 +#: plugin/installer.py:199 plugin/installer.py:282 msgid "Only staff users can administer plugins" msgstr "" -#: plugin/installer.py:197 +#: plugin/installer.py:202 msgid "Plugin installation is disabled" msgstr "" -#: plugin/installer.py:241 +#: plugin/installer.py:246 msgid "Installed plugin successfully" msgstr "Installasjon av utvidelse vellykket" -#: plugin/installer.py:246 +#: plugin/installer.py:251 #, python-brace-format msgid "Installed plugin into {path}" msgstr "Installerte utvidelsen til {path}" -#: plugin/installer.py:265 +#: plugin/installer.py:273 msgid "Plugin was not found in registry" msgstr "" -#: plugin/installer.py:268 +#: plugin/installer.py:276 msgid "Plugin is not a packaged plugin" msgstr "" -#: plugin/installer.py:271 +#: plugin/installer.py:279 msgid "Plugin package name not found" msgstr "" -#: plugin/installer.py:291 +#: plugin/installer.py:299 msgid "Plugin uninstalling is disabled" msgstr "" -#: plugin/installer.py:295 +#: plugin/installer.py:303 msgid "Plugin cannot be uninstalled as it is currently active" msgstr "" -#: plugin/installer.py:308 +#: plugin/installer.py:316 msgid "Uninstalled plugin successfully" msgstr "" @@ -9098,7 +9095,7 @@ msgstr "Innebygd utvidelse" msgid "Package Plugin" msgstr "" -#: plugin/models.py:220 report/models.py:474 +#: plugin/models.py:220 report/models.py:482 #: templates/InvenTree/settings/plugin_settings.html:9 #: templates/js/translated/plugin.js:51 msgid "Plugin" @@ -9167,6 +9164,38 @@ msgstr "Eksempel valutakonverterings-utvidelse" msgid "InvenTree Contributors" msgstr "InvenTree-bidragsytere" +#: plugin/samples/integration/user_interface_sample.py:22 +msgid "Enable Part Panels" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:23 +msgid "Enable custom panels for Part views" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:28 +msgid "Enable Purchase Order Panels" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:29 +msgid "Enable custom panels for Purchase Order views" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:34 +msgid "Enable Broken Panels" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:35 +msgid "Enable broken panels for testing" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:40 +msgid "Enable Dynamic Panel" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:41 +msgid "Enable dynamic panels for testing" +msgstr "" + #: plugin/serializers.py:81 msgid "Source URL" msgstr "Kilde-URL" @@ -9245,12 +9274,36 @@ msgstr "" msgid "Delete the plugin configuration from the database" msgstr "" +#: plugin/serializers.py:324 +msgid "Plugin Key" +msgstr "" + +#: plugin/serializers.py:328 +msgid "Panel Name" +msgstr "" + +#: plugin/serializers.py:332 +msgid "Panel Title" +msgstr "" + +#: plugin/serializers.py:337 +msgid "Panel Icon" +msgstr "" + +#: plugin/serializers.py:341 +msgid "Panel Content (HTML)" +msgstr "" + +#: plugin/serializers.py:345 +msgid "Panel Source (javascript)" +msgstr "" + #: report/api.py:88 msgid "No valid objects provided to template" msgstr "Ingen gyldige objekter angitt for mal" -#: report/api.py:103 report/models.py:438 report/serializers.py:98 -#: report/serializers.py:148 templates/js/translated/purchase_order.js:1817 +#: report/api.py:103 report/models.py:446 report/serializers.py:99 +#: report/serializers.py:149 templates/js/translated/purchase_order.js:1817 #: templates/js/translated/return_order.js:353 #: templates/js/translated/sales_order.js:887 #: templates/js/translated/sales_order.js:1047 @@ -9281,7 +9334,11 @@ msgstr "" msgid "Error printing label" msgstr "" -#: report/api.py:375 report/api.py:411 +#: report/api.py:358 +msgid "Report saved at time of printing" +msgstr "" + +#: report/api.py:384 report/api.py:420 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "Malfil '{template}' mangler eller eksisterer ikke" @@ -9318,135 +9375,143 @@ msgstr "" msgid "Revision number (auto-increments)" msgstr "" -#: report/models.py:202 +#: report/models.py:168 +msgid "Attach to Model on Print" +msgstr "" + +#: report/models.py:170 +msgid "Save report output as an attachment against linked model instance when printing" +msgstr "" + +#: report/models.py:210 msgid "Filename Pattern" msgstr "Filnavnmønster" -#: report/models.py:203 +#: report/models.py:211 msgid "Pattern for generating filenames" msgstr "" -#: report/models.py:208 +#: report/models.py:216 msgid "Template is enabled" msgstr "" -#: report/models.py:214 +#: report/models.py:222 msgid "Target model type for template" msgstr "" -#: report/models.py:234 +#: report/models.py:242 msgid "Filters" msgstr "Filtre" -#: report/models.py:235 +#: report/models.py:243 msgid "Template query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:294 report/models.py:361 +#: report/models.py:302 report/models.py:369 msgid "Template file" msgstr "" -#: report/models.py:302 +#: report/models.py:310 msgid "Page size for PDF reports" msgstr "Sidestørrelse for PDF-rapporter" -#: report/models.py:308 +#: report/models.py:316 msgid "Render report in landscape orientation" msgstr "Generer rapport i landskapsorientering" -#: report/models.py:367 +#: report/models.py:375 msgid "Width [mm]" msgstr "Bredde [mm]" -#: report/models.py:368 +#: report/models.py:376 msgid "Label width, specified in mm" msgstr "Etikettbredde, spesifisert i mm" -#: report/models.py:374 +#: report/models.py:382 msgid "Height [mm]" msgstr "Høyde [mm]" -#: report/models.py:375 +#: report/models.py:383 msgid "Label height, specified in mm" msgstr "Etiketthøyde, spesifisert i mm" -#: report/models.py:438 +#: report/models.py:446 msgid "Number of items to process" msgstr "" -#: report/models.py:444 +#: report/models.py:452 msgid "Report generation is complete" msgstr "" -#: report/models.py:448 templates/js/translated/build.js:2352 +#: report/models.py:456 templates/js/translated/build.js:2352 msgid "Progress" msgstr "" -#: report/models.py:448 +#: report/models.py:456 msgid "Report generation progress" msgstr "" -#: report/models.py:456 +#: report/models.py:464 msgid "Report Template" msgstr "" -#: report/models.py:463 report/models.py:486 +#: report/models.py:471 report/models.py:494 msgid "Output File" msgstr "" -#: report/models.py:464 report/models.py:487 +#: report/models.py:472 report/models.py:495 msgid "Generated output file" msgstr "" -#: report/models.py:475 +#: report/models.py:483 msgid "Label output plugin" msgstr "" -#: report/models.py:479 +#: report/models.py:487 msgid "Label Template" msgstr "" -#: report/models.py:502 +#: report/models.py:510 msgid "Snippet" msgstr "Snutt" -#: report/models.py:503 +#: report/models.py:511 msgid "Report snippet file" msgstr "Rapportsnuttfil" -#: report/models.py:510 +#: report/models.py:518 msgid "Snippet file description" msgstr "Filbeskrivelse for snutt" -#: report/models.py:528 +#: report/models.py:536 msgid "Asset" msgstr "Ressurs" -#: report/models.py:529 +#: report/models.py:537 msgid "Report asset file" msgstr "Rapportressursfil" -#: report/models.py:536 +#: report/models.py:544 msgid "Asset file description" msgstr "Ressursfilbeskrivelse" -#: report/serializers.py:91 +#: report/serializers.py:92 msgid "Select report template" msgstr "" -#: report/serializers.py:99 report/serializers.py:149 +#: report/serializers.py:100 report/serializers.py:150 msgid "List of item primary keys to include in the report" msgstr "" -#: report/serializers.py:132 +#: report/serializers.py:133 msgid "Select label template" msgstr "" -#: report/serializers.py:140 +#: report/serializers.py:141 msgid "Printing Plugin" msgstr "" -#: report/serializers.py:141 +#: report/serializers.py:142 msgid "Select plugin to use for label printing" msgstr "" @@ -9517,7 +9582,7 @@ msgstr "Testresultater" msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report.html:103 stock/models.py:2538 +#: report/templates/report/inventree_test_report.html:103 stock/models.py:2533 msgid "Result" msgstr "Resultat" @@ -9598,7 +9663,7 @@ msgid "Customer ID" msgstr "Kunde-ID" #: stock/admin.py:206 stock/models.py:829 -#: stock/templates/stock/item_base.html:354 +#: stock/templates/stock/item_base.html:350 msgid "Installed In" msgstr "Installert i" @@ -9623,7 +9688,7 @@ msgid "Delete on Deplete" msgstr "Slett når oppbrukt" #: stock/admin.py:261 stock/models.py:923 -#: stock/templates/stock/item_base.html:433 +#: stock/templates/stock/item_base.html:429 #: templates/js/translated/stock.js:2316 users/models.py:124 msgid "Expiry Date" msgstr "Utløpsdato" @@ -9665,7 +9730,7 @@ msgid "Expiry date after" msgstr "Utløpsdato etter" #: stock/api.py:839 stock/serializers.py:611 -#: stock/templates/stock/item_base.html:439 +#: stock/templates/stock/item_base.html:435 #: templates/js/translated/table_filters.js:448 msgid "Stale" msgstr "Foreldet" @@ -9715,7 +9780,7 @@ msgid "Stock Locations" msgstr "Lagerplasseringer" #: stock/models.py:185 stock/models.py:972 -#: stock/templates/stock/item_base.html:247 +#: stock/templates/stock/item_base.html:243 msgid "Owner" msgstr "Eier" @@ -9826,7 +9891,7 @@ msgstr "Kildeproduksjon" msgid "Build for this stock item" msgstr "Produksjon for denne lagervaren" -#: stock/models.py:892 stock/templates/stock/item_base.html:363 +#: stock/models.py:892 stock/templates/stock/item_base.html:359 msgid "Consumed By" msgstr "Brukt av" @@ -9891,7 +9956,7 @@ msgstr "Antallet stemmer ikke overens med serienumrene" msgid "Serial numbers already exist" msgstr "Seriernummer eksisterer allerede" -#: stock/models.py:1636 +#: stock/models.py:1636 stock/models.py:2436 msgid "Test template does not exist" msgstr "" @@ -9939,67 +10004,67 @@ msgstr "Lagerstatuskoder må være like" 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:2337 +#: stock/models.py:2335 msgid "Stock Item Tracking" msgstr "" -#: stock/models.py:2370 +#: stock/models.py:2368 msgid "Entry notes" msgstr "Oppføringsnotater" -#: stock/models.py:2410 +#: stock/models.py:2408 msgid "Stock Item Test Result" msgstr "" -#: stock/models.py:2443 +#: stock/models.py:2439 msgid "Value must be provided for this test" msgstr "Verdi må angis for denne testen" -#: stock/models.py:2448 +#: stock/models.py:2443 msgid "Attachment must be uploaded for this test" msgstr "Vedlegg må lastes opp for denne testen" -#: stock/models.py:2453 +#: stock/models.py:2448 msgid "Invalid value for this test" msgstr "" -#: stock/models.py:2538 +#: stock/models.py:2533 msgid "Test result" msgstr "Testresultat" -#: stock/models.py:2545 +#: stock/models.py:2540 msgid "Test output value" msgstr "Testens verdi" -#: stock/models.py:2553 stock/serializers.py:245 +#: stock/models.py:2548 stock/serializers.py:245 msgid "Test result attachment" msgstr "Vedlegg til testresultat" -#: stock/models.py:2557 +#: stock/models.py:2552 msgid "Test notes" msgstr "Testnotater" -#: stock/models.py:2565 templates/js/translated/stock.js:1633 +#: stock/models.py:2560 templates/js/translated/stock.js:1633 msgid "Test station" msgstr "" -#: stock/models.py:2566 +#: stock/models.py:2561 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2572 +#: stock/models.py:2567 msgid "Started" msgstr "" -#: stock/models.py:2573 +#: stock/models.py:2568 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2579 +#: stock/models.py:2574 msgid "Finished" msgstr "" -#: stock/models.py:2580 +#: stock/models.py:2575 msgid "The timestamp of the test finish" msgstr "" @@ -10059,7 +10124,7 @@ msgstr "" msgid "Serial number is too large" msgstr "Serienummeret er for høyt" -#: stock/serializers.py:459 stock/templates/stock/item_base.html:193 +#: stock/serializers.py:459 stock/templates/stock/item_base.html:189 msgid "Parent Item" msgstr "Overodnet element" @@ -10071,7 +10136,7 @@ msgstr "" msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "Bruk pakningsstørrelse når du legger til: antall definert er antall pakker" -#: stock/serializers.py:603 stock/templates/stock/item_base.html:437 +#: stock/serializers.py:603 stock/templates/stock/item_base.html:433 #: templates/js/translated/table_filters.js:442 users/models.py:174 msgid "Expired" msgstr "Utløpt" @@ -10410,7 +10475,7 @@ msgstr "Denne lagervaren har ikke noen underordnede lagervarer" msgid "Test Data" msgstr "Testdata" -#: stock/templates/stock/item.html:85 stock/templates/stock/item_base.html:65 +#: stock/templates/stock/item.html:85 msgid "Test Report" msgstr "Testrapport" @@ -10450,200 +10515,204 @@ msgstr "Finn lagervare" msgid "Scan to Location" msgstr "Skann til plassering" -#: stock/templates/stock/item_base.html:59 +#: stock/templates/stock/item_base.html:58 #: stock/templates/stock/location.html:67 #: templates/js/translated/filters.js:434 msgid "Printing actions" msgstr "Utskriftshandlinger" -#: stock/templates/stock/item_base.html:75 +#: stock/templates/stock/item_base.html:63 templates/js/translated/report.js:49 +msgid "Print Report" +msgstr "" + +#: stock/templates/stock/item_base.html:71 msgid "Stock adjustment actions" msgstr "Lagerjusteringshandlinger" -#: stock/templates/stock/item_base.html:79 +#: stock/templates/stock/item_base.html:75 #: stock/templates/stock/location.html:87 templates/js/translated/stock.js:1909 msgid "Count stock" msgstr "Tell beholdning" -#: stock/templates/stock/item_base.html:81 +#: stock/templates/stock/item_base.html:77 #: templates/js/translated/stock.js:1891 msgid "Add stock" msgstr "Legg til lagerbeholdning" -#: stock/templates/stock/item_base.html:82 +#: stock/templates/stock/item_base.html:78 #: templates/js/translated/stock.js:1900 msgid "Remove stock" msgstr "Fjern lagerbeholdning" -#: stock/templates/stock/item_base.html:85 +#: stock/templates/stock/item_base.html:81 msgid "Serialize stock" msgstr "Serialiser lager" -#: stock/templates/stock/item_base.html:88 +#: stock/templates/stock/item_base.html:84 #: stock/templates/stock/location.html:93 templates/js/translated/stock.js:1918 msgid "Transfer stock" msgstr "Overfør lagerbeholdning" -#: stock/templates/stock/item_base.html:91 +#: stock/templates/stock/item_base.html:87 #: templates/js/translated/stock.js:1973 msgid "Assign to customer" msgstr "Tilordne til kunde" -#: stock/templates/stock/item_base.html:94 +#: stock/templates/stock/item_base.html:90 msgid "Return to stock" msgstr "Returner til Lager" -#: stock/templates/stock/item_base.html:97 +#: stock/templates/stock/item_base.html:93 msgid "Uninstall stock item" msgstr "Avinstaller lagervare" -#: stock/templates/stock/item_base.html:97 +#: stock/templates/stock/item_base.html:93 msgid "Uninstall" msgstr "Avinstaller" -#: stock/templates/stock/item_base.html:101 +#: stock/templates/stock/item_base.html:97 msgid "Install stock item" msgstr "Installer lagervare" -#: stock/templates/stock/item_base.html:101 +#: stock/templates/stock/item_base.html:97 msgid "Install" msgstr "Installer" -#: stock/templates/stock/item_base.html:115 +#: stock/templates/stock/item_base.html:111 msgid "Convert to variant" msgstr "Konvertert til variant" -#: stock/templates/stock/item_base.html:118 +#: stock/templates/stock/item_base.html:114 msgid "Duplicate stock item" msgstr "Duplisert lagervare" -#: stock/templates/stock/item_base.html:120 +#: stock/templates/stock/item_base.html:116 msgid "Edit stock item" msgstr "Rediger lagervare" -#: stock/templates/stock/item_base.html:123 +#: stock/templates/stock/item_base.html:119 msgid "Delete stock item" msgstr "Slett lagervare" -#: stock/templates/stock/item_base.html:169 templates/InvenTree/search.html:139 +#: stock/templates/stock/item_base.html:165 templates/InvenTree/search.html:139 #: templates/js/translated/build.js:2298 templates/navbar.html:38 msgid "Build" msgstr "Produksjon" -#: stock/templates/stock/item_base.html:211 +#: stock/templates/stock/item_base.html:207 msgid "No manufacturer set" msgstr "Ingen produsent valgt" -#: stock/templates/stock/item_base.html:251 +#: stock/templates/stock/item_base.html:247 msgid "You are not in the list of owners of this item. This stock item cannot be edited." msgstr "Du er ikke i eierlisten til dette elementet. Denne lagervaren kan ikke redigeres." -#: stock/templates/stock/item_base.html:252 +#: stock/templates/stock/item_base.html:248 #: stock/templates/stock/location.html:146 msgid "Read only" msgstr "Kun lesetilgang" -#: stock/templates/stock/item_base.html:265 +#: stock/templates/stock/item_base.html:261 msgid "This stock item is unavailable" msgstr "Lagervaren er utilgjengelig" -#: stock/templates/stock/item_base.html:271 +#: stock/templates/stock/item_base.html:267 msgid "This stock item is in production and cannot be edited." msgstr "Denne lagervaren er under produksjon og kan ikke endres." -#: stock/templates/stock/item_base.html:272 +#: stock/templates/stock/item_base.html:268 msgid "Edit the stock item from the build view." msgstr "Rediger lagervaren fra produksjonsvinduet." -#: stock/templates/stock/item_base.html:287 +#: stock/templates/stock/item_base.html:283 msgid "This stock item is allocated to Sales Order" msgstr "Denne lagervaren er tildelt til Salgsordre" -#: stock/templates/stock/item_base.html:295 +#: stock/templates/stock/item_base.html:291 msgid "This stock item is allocated to Build Order" msgstr "Denne lagervaren er tildelt til Produksjonsordre" -#: stock/templates/stock/item_base.html:311 +#: stock/templates/stock/item_base.html:307 msgid "This stock item is serialized. It has a unique serial number and the quantity cannot be adjusted" msgstr "Denne lagervaren er serialisert. Den har et unikt serienummer, og antallet kan ikke justeres" -#: stock/templates/stock/item_base.html:317 +#: stock/templates/stock/item_base.html:313 msgid "previous page" msgstr "forrige side" -#: stock/templates/stock/item_base.html:317 +#: stock/templates/stock/item_base.html:313 msgid "Navigate to previous serial number" msgstr "Gå til forrige serienummer" -#: stock/templates/stock/item_base.html:326 +#: stock/templates/stock/item_base.html:322 msgid "next page" msgstr "neste side" -#: stock/templates/stock/item_base.html:326 +#: stock/templates/stock/item_base.html:322 msgid "Navigate to next serial number" msgstr "Gå til neste serienummer" -#: stock/templates/stock/item_base.html:398 +#: stock/templates/stock/item_base.html:394 #: templates/js/translated/build.js:2555 msgid "No location set" msgstr "Ingen plassering satt" -#: stock/templates/stock/item_base.html:413 +#: stock/templates/stock/item_base.html:409 msgid "Tests" msgstr "Tester" -#: stock/templates/stock/item_base.html:419 +#: stock/templates/stock/item_base.html:415 msgid "This stock item has not passed all required tests" msgstr "Denne lagervaren har ikke bestått alle påkrevde tester" -#: stock/templates/stock/item_base.html:437 +#: stock/templates/stock/item_base.html:433 #, python-format msgid "This StockItem expired on %(item.expiry_date)s" msgstr "Denne lagervaren utløp %(item.expiry_date)s" -#: stock/templates/stock/item_base.html:439 +#: stock/templates/stock/item_base.html:435 #, python-format msgid "This StockItem expires on %(item.expiry_date)s" msgstr "Denne lagervaren utløper %(item.expiry_date)s" -#: stock/templates/stock/item_base.html:455 +#: stock/templates/stock/item_base.html:451 msgid "No stocktake performed" msgstr "Ingen lagertelling utført" -#: stock/templates/stock/item_base.html:504 +#: stock/templates/stock/item_base.html:500 #: templates/js/translated/stock.js:2038 msgid "stock item" msgstr "" -#: stock/templates/stock/item_base.html:527 +#: stock/templates/stock/item_base.html:523 msgid "Edit Stock Status" msgstr "" -#: stock/templates/stock/item_base.html:536 +#: stock/templates/stock/item_base.html:532 msgid "Stock Item QR Code" msgstr "" -#: stock/templates/stock/item_base.html:547 +#: stock/templates/stock/item_base.html:543 msgid "Link Barcode to Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:611 +#: stock/templates/stock/item_base.html:607 msgid "Select one of the part variants listed below." msgstr "Velg en av variantdelene oppført under." -#: stock/templates/stock/item_base.html:614 +#: stock/templates/stock/item_base.html:610 msgid "Warning" msgstr "Advarsel" -#: stock/templates/stock/item_base.html:615 +#: stock/templates/stock/item_base.html:611 msgid "This action cannot be easily undone" msgstr "Denne handlingen er vanskelig å omgjøre" -#: stock/templates/stock/item_base.html:623 +#: stock/templates/stock/item_base.html:619 msgid "Convert Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:656 +#: stock/templates/stock/item_base.html:652 msgid "Return to Stock" msgstr "" @@ -11310,7 +11379,7 @@ msgid "Delete Location Type" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:503 -#: templates/InvenTree/settings/stock.html:38 +#: templates/InvenTree/settings/stock.html:39 msgid "New Location Type" msgstr "Ny plasseringstype" @@ -11367,7 +11436,7 @@ msgstr "Innstillinger for salgsordre" msgid "Stock Settings" msgstr "Instillinger for lager" -#: templates/InvenTree/settings/stock.html:34 +#: templates/InvenTree/settings/stock.html:35 msgid "Stock Location Types" msgstr "Lagerplasseringstyper" @@ -11852,23 +11921,23 @@ msgstr "Legg til vedlegg" msgid "Barcode Identifier" msgstr "Strekkode-identifikator" -#: templates/base.html:103 +#: templates/base.html:102 msgid "Server Restart Required" msgstr "Omstart av server kreves" -#: templates/base.html:106 +#: templates/base.html:105 msgid "A configuration option has been changed which requires a server restart" msgstr "En konfigurasjonsinnstilling har blitt endret som krever en omstart av serveren" -#: templates/base.html:106 templates/base.html:116 +#: templates/base.html:105 templates/base.html:115 msgid "Contact your system administrator for further information" msgstr "Kontakt systemadministratoren for mer informasjon" -#: templates/base.html:113 +#: templates/base.html:112 msgid "Pending Database Migrations" msgstr "Ventende database-migrasjoner" -#: templates/base.html:116 +#: templates/base.html:115 msgid "There are pending database migrations which require attention" msgstr "Det er ventende database-migrasjoner som krever oppmerksomhet" @@ -13946,10 +14015,6 @@ msgstr "" msgid "Delete line item" msgstr "" -#: templates/js/translated/report.js:49 -msgid "Print Report" -msgstr "" - #: templates/js/translated/report.js:68 msgid "Report print successful" msgstr "" diff --git a/src/backend/InvenTree/locale/pl/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/pl/LC_MESSAGES/django.po index 6afa37ec0459..72615dc66a48 100644 --- a/src/backend/InvenTree/locale/pl/LC_MESSAGES/django.po +++ b/src/backend/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: 2024-08-29 07:07+0000\n" -"PO-Revision-Date: 2024-08-29 07:10\n" +"POT-Creation-Date: 2024-09-16 00:37+0000\n" +"PO-Revision-Date: 2024-09-16 00:40\n" "Last-Translator: \n" "Language-Team: Polish\n" "Language: pl_PL\n" @@ -65,9 +65,9 @@ msgstr "Wprowadź dane" #: 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:59 -#: part/models.py:3309 part/templates/part/part_sidebar.html:65 +#: part/models.py:3296 part/templates/part/part_sidebar.html:65 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/admin.py:231 stock/models.py:2369 stock/models.py:2557 +#: stock/admin.py:231 stock/models.py:2367 stock/models.py:2552 #: stock/serializers.py:705 stock/serializers.py:863 stock/serializers.py:989 #: stock/serializers.py:1039 stock/serializers.py:1350 #: stock/serializers.py:1439 stock/serializers.py:1604 @@ -364,7 +364,7 @@ msgstr "chiński (tradycyjny)" msgid "[{site_name}] Log in to the app" msgstr "[{site_name}] Logowanie do aplikacji" -#: InvenTree/magic_login.py:38 InvenTree/serializers.py:413 +#: InvenTree/magic_login.py:38 InvenTree/serializers.py:416 #: company/models.py:133 company/templates/company/company_base.html:138 #: templates/InvenTree/settings/user.html:49 #: templates/js/translated/company.js:677 @@ -419,9 +419,9 @@ msgstr "Duplikaty nazw nie mogą istnieć pod tym samym rodzicem" msgid "Invalid choice" msgstr "Błędny wybór" -#: InvenTree/models.py:767 common/models.py:2704 common/models.py:3131 -#: common/models.py:3351 common/serializers.py:439 company/models.py:590 -#: machine/models.py:24 part/models.py:995 part/models.py:3776 +#: InvenTree/models.py:767 common/models.py:2705 common/models.py:3132 +#: common/models.py:3352 common/serializers.py:455 company/models.py:590 +#: machine/models.py:24 part/models.py:995 part/models.py:3763 #: plugin/models.py:51 report/models.py:149 stock/models.py:82 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -446,10 +446,10 @@ msgstr "Nazwa" #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 order/models.py:289 #: order/models.py:1406 part/admin.py:305 part/admin.py:411 part/models.py:1018 -#: part/models.py:3791 part/templates/part/category.html:79 +#: part/models.py:3778 part/templates/part/category.html:79 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:155 -#: report/models.py:509 report/models.py:535 +#: report/models.py:517 report/models.py:543 #: report/templates/report/inventree_build_order_report.html:117 #: stock/admin.py:54 stock/models.py:88 stock/templates/stock/location.html:122 #: templates/InvenTree/settings/notifications.html:19 @@ -517,12 +517,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:63 part/models.py:4400 +#: InvenTree/serializers.py:63 part/models.py:4387 msgid "Must be a valid number" msgstr "Numer musi być prawidłowy" #: InvenTree/serializers.py:100 company/models.py:183 -#: company/templates/company/company_base.html:112 part/models.py:3127 +#: company/templates/company/company_base.html:112 part/models.py:3114 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -536,43 +536,43 @@ msgstr "Wybierz walutę z dostępnych opcji" msgid "Username" msgstr "" -#: InvenTree/serializers.py:407 templates/InvenTree/settings/user.html:37 +#: InvenTree/serializers.py:408 templates/InvenTree/settings/user.html:37 msgid "First Name" msgstr "" -#: InvenTree/serializers.py:407 +#: InvenTree/serializers.py:408 msgid "First name of the user" msgstr "" -#: InvenTree/serializers.py:410 templates/InvenTree/settings/user.html:41 +#: InvenTree/serializers.py:412 templates/InvenTree/settings/user.html:41 msgid "Last Name" msgstr "" -#: InvenTree/serializers.py:410 +#: InvenTree/serializers.py:412 msgid "Last name of the user" msgstr "" -#: InvenTree/serializers.py:413 +#: InvenTree/serializers.py:416 msgid "Email address of the user" msgstr "" -#: InvenTree/serializers.py:438 +#: InvenTree/serializers.py:441 msgid "Staff" msgstr "" -#: InvenTree/serializers.py:438 +#: InvenTree/serializers.py:441 msgid "Does this user have staff permissions" msgstr "" -#: InvenTree/serializers.py:441 +#: InvenTree/serializers.py:445 msgid "Superuser" msgstr "" -#: InvenTree/serializers.py:441 +#: InvenTree/serializers.py:445 msgid "Is this user a superuser" msgstr "" -#: InvenTree/serializers.py:444 common/models.py:2709 company/models.py:160 +#: InvenTree/serializers.py:449 common/models.py:2710 company/models.py:160 #: company/models.py:798 machine/models.py:39 part/admin.py:88 #: part/models.py:1201 plugin/models.py:66 #: templates/js/translated/company.js:523 @@ -585,89 +585,89 @@ msgstr "" msgid "Active" msgstr "Aktywny" -#: InvenTree/serializers.py:444 +#: InvenTree/serializers.py:449 msgid "Is this user account active" msgstr "" -#: InvenTree/serializers.py:462 +#: InvenTree/serializers.py:467 msgid "You do not have permission to change this user role." msgstr "Nie masz uprawnień do zmiany tej roli użytkownika." -#: InvenTree/serializers.py:474 +#: InvenTree/serializers.py:503 msgid "Only superusers can create new users" msgstr "Tylko superużytkownicy mogą tworzyć nowych użytkowników" -#: InvenTree/serializers.py:493 +#: InvenTree/serializers.py:522 msgid "Your account has been created." msgstr "Twoje konto zostało utworzone." -#: InvenTree/serializers.py:495 +#: InvenTree/serializers.py:524 msgid "Please use the password reset function to login" msgstr "Zresetuj hasło" -#: InvenTree/serializers.py:502 +#: InvenTree/serializers.py:531 msgid "Welcome to InvenTree" msgstr "Witamy w InvenTree" -#: InvenTree/serializers.py:560 +#: InvenTree/serializers.py:589 msgid "Invalid value" msgstr "Nieprawidłowa wartość" -#: InvenTree/serializers.py:580 importer/models.py:64 +#: InvenTree/serializers.py:609 importer/models.py:64 msgid "Data File" msgstr "Plik danych" -#: InvenTree/serializers.py:581 +#: InvenTree/serializers.py:610 msgid "Select data file for upload" msgstr "Wybierz plik danych do przesłania" -#: InvenTree/serializers.py:598 +#: InvenTree/serializers.py:627 msgid "Unsupported file type" msgstr "Nieobsługiwany typ pliku" -#: InvenTree/serializers.py:604 +#: InvenTree/serializers.py:633 msgid "File is too large" msgstr "Plik jest zbyt duży" -#: InvenTree/serializers.py:625 +#: InvenTree/serializers.py:654 msgid "No columns found in file" msgstr "Nie znaleziono kolumn w pliku" -#: InvenTree/serializers.py:628 +#: InvenTree/serializers.py:657 msgid "No data rows found in file" msgstr "Nie znaleziono wierszy danych w pliku" -#: InvenTree/serializers.py:740 +#: InvenTree/serializers.py:769 msgid "No data rows provided" msgstr "Nie podano wierszy danych" -#: InvenTree/serializers.py:743 +#: InvenTree/serializers.py:772 msgid "No data columns supplied" msgstr "Nie podano kolumn danych" -#: InvenTree/serializers.py:809 +#: InvenTree/serializers.py:838 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "Brakuje wymaganej kolumny: '{name}'" -#: InvenTree/serializers.py:818 +#: InvenTree/serializers.py:847 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "Zduplikowana kolumna: '{col}'" -#: InvenTree/serializers.py:857 +#: InvenTree/serializers.py:886 msgid "Remote Image" msgstr "Obrazek zewnętrzny" -#: InvenTree/serializers.py:858 +#: InvenTree/serializers.py:887 msgid "URL of remote image file" msgstr "Adres URL zdalnego pliku obrazu" -#: InvenTree/serializers.py:876 +#: InvenTree/serializers.py:905 msgid "Downloading images from remote URL is not enabled" msgstr "Pobieranie obrazów ze zdalnego URL nie jest włączone" -#: InvenTree/status.py:65 part/serializers.py:1267 +#: InvenTree/status.py:65 part/serializers.py:1265 msgid "Background worker check failed" msgstr "Sprawdzenie robotnika w tle nie powiodło się" @@ -759,7 +759,7 @@ msgstr "" 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:319 build/serializers.py:1332 part/models.py:4278 +#: build/api.py:319 build/serializers.py:1332 part/models.py:4265 #: templates/js/translated/bom.js:997 templates/js/translated/bom.js:1037 #: templates/js/translated/build.js:2705 #: templates/js/translated/table_filters.js:197 @@ -767,7 +767,7 @@ msgstr "Kompilacja musi zostać anulowana, zanim będzie mogła zostać usunięt msgid "Consumable" msgstr "Materiał eksploatacyjny" -#: build/api.py:320 build/serializers.py:1333 part/models.py:4272 +#: build/api.py:320 build/serializers.py:1333 part/models.py:4259 #: part/templates/part/upload_bom.html:58 templates/js/translated/bom.js:1001 #: templates/js/translated/bom.js:1028 templates/js/translated/build.js:2696 #: templates/js/translated/table_filters.js:193 @@ -777,7 +777,7 @@ msgid "Optional" msgstr "Opcjonalne" #: build/api.py:321 common/models.py:1491 part/admin.py:91 part/admin.py:428 -#: part/models.py:1166 part/serializers.py:1596 +#: part/models.py:1166 part/serializers.py:1594 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:337 #: templates/js/translated/table_filters.js:729 @@ -816,7 +816,7 @@ msgstr "Przydzielono" msgid "Available" msgstr "Dostępne" -#: build/models.py:87 build/templates/build/build_base.html:9 +#: build/models.py:88 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_report.html:105 #: stock/serializers.py:85 templates/email/build_order_completed.html:16 @@ -825,7 +825,7 @@ msgstr "Dostępne" msgid "Build Order" msgstr "Zlecenie Budowy" -#: build/models.py:88 build/templates/build/build_base.html:13 +#: build/models.py:89 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:111 #: order/templates/order/so_sidebar.html:13 @@ -866,7 +866,7 @@ msgstr "Odwołanie do zamówienia wykonania" #: build/models.py:243 build/serializers.py:1331 order/models.py:468 #: order/models.py:979 order/models.py:1366 order/models.py:2128 -#: part/admin.py:414 part/models.py:4293 part/templates/part/upload_bom.html:54 +#: part/admin.py:414 part/models.py:4280 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 @@ -892,11 +892,11 @@ msgstr "Zamówienie budowy, do którego budowa jest przypisana" #: build/templates/build/build_base.html:105 #: build/templates/build/detail.html:29 company/models.py:1043 order/api.py:761 #: order/models.py:1496 order/models.py:1651 order/models.py:1652 -#: part/api.py:1506 part/api.py:1806 part/models.py:419 part/models.py:3138 -#: part/models.py:3282 part/models.py:3430 part/models.py:3451 -#: part/models.py:3473 part/models.py:3609 part/models.py:3951 -#: part/models.py:4114 part/models.py:4244 part/models.py:4602 -#: part/serializers.py:1213 part/serializers.py:1857 +#: part/api.py:1506 part/api.py:1806 part/models.py:419 part/models.py:3125 +#: part/models.py:3269 part/models.py:3417 part/models.py:3438 +#: part/models.py:3460 part/models.py:3596 part/models.py:3938 +#: part/models.py:4101 part/models.py:4231 part/models.py:4595 +#: part/serializers.py:1211 part/serializers.py:1855 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -1063,12 +1063,12 @@ msgstr "Użytkownik lub grupa odpowiedzialna za te zlecenie produkcji" #: order/templates/order/return_order_base.html:148 #: order/templates/order/sales_order_base.html:187 #: part/templates/part/part_base.html:399 stock/models.py:859 -#: stock/templates/stock/item_base.html:200 +#: stock/templates/stock/item_base.html:196 #: templates/js/translated/company.js:1019 msgid "External Link" msgstr "Link Zewnętrzny" -#: build/models.py:378 common/models.py:3272 part/models.py:1070 +#: build/models.py:378 common/models.py:3273 part/models.py:1070 #: stock/models.py:859 msgid "Link to external URL" msgstr "Link do zewnętrznego adresu URL" @@ -1110,7 +1110,7 @@ msgstr "Kolejność kompilacji {build} została zakończona" msgid "A build order has been completed" msgstr "Kolejność kompilacji została zakończona" -#: build/models.py:968 build/models.py:1056 +#: build/models.py:968 build/models.py:1057 msgid "No build output specified" msgstr "Nie określono danych wyjściowych budowy" @@ -1122,37 +1122,37 @@ msgstr "Budowanie wyjścia jest już ukończone" msgid "Build output does not match Build Order" msgstr "Skompilowane dane wyjściowe nie pasują do kolejności kompilacji" -#: build/models.py:1060 build/serializers.py:279 build/serializers.py:328 +#: build/models.py:1061 build/serializers.py:279 build/serializers.py:328 #: build/serializers.py:959 order/models.py:565 order/serializers.py:500 -#: order/serializers.py:666 part/serializers.py:1590 part/serializers.py:2019 +#: order/serializers.py:666 part/serializers.py:1588 part/serializers.py:2017 #: stock/models.py:704 stock/models.py:1515 stock/serializers.py:676 msgid "Quantity must be greater than zero" msgstr "Ilość musi być większa niż zero" -#: build/models.py:1065 build/serializers.py:284 +#: build/models.py:1066 build/serializers.py:284 msgid "Quantity cannot be greater than the output quantity" msgstr "Ilość nie może być większa niż ilość wyjściowa" -#: build/models.py:1125 build/serializers.py:607 +#: build/models.py:1126 build/serializers.py:607 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "Wyjście budowy {serial} nie przeszło wszystkich testów" -#: build/models.py:1466 +#: build/models.py:1477 msgid "Build Order Line Item" msgstr "" -#: build/models.py:1491 +#: build/models.py:1502 msgid "Build object" msgstr "Zbuduj obiekt" -#: build/models.py:1505 build/models.py:1761 build/serializers.py:266 +#: build/models.py:1516 build/models.py:1775 build/serializers.py:266 #: build/serializers.py:313 build/serializers.py:1339 #: build/templates/build/build_base.html:110 -#: build/templates/build/detail.html:34 common/models.py:2581 +#: build/templates/build/detail.html:34 common/models.py:2582 #: order/models.py:1349 order/models.py:2034 order/serializers.py:1464 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:413 -#: part/forms.py:48 part/models.py:3296 part/models.py:4266 +#: part/forms.py:48 part/models.py:3283 part/models.py:4253 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1163,9 +1163,9 @@ msgstr "Zbuduj obiekt" #: report/templates/report/inventree_test_report.html:90 #: report/templates/report/inventree_test_report.html:169 stock/admin.py:160 #: stock/serializers.py:128 stock/serializers.py:168 stock/serializers.py:667 -#: stock/templates/stock/item_base.html:287 -#: stock/templates/stock/item_base.html:295 -#: stock/templates/stock/item_base.html:342 +#: stock/templates/stock/item_base.html:283 +#: stock/templates/stock/item_base.html:291 +#: stock/templates/stock/item_base.html:338 #: templates/email/build_order_completed.html:18 #: templates/js/translated/barcode.js:579 templates/js/translated/bom.js:771 #: templates/js/translated/bom.js:981 templates/js/translated/build.js:525 @@ -1194,41 +1194,41 @@ msgstr "Zbuduj obiekt" msgid "Quantity" msgstr "Ilość" -#: build/models.py:1506 +#: build/models.py:1517 msgid "Required quantity for build order" msgstr "Wymagana ilość dla zlecenia produkcji" -#: build/models.py:1586 +#: build/models.py:1597 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1595 +#: build/models.py:1606 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "Przydzielona ilość ({q}) nie może przekraczać dostępnej ilości zapasów magazynowych ({a})" -#: build/models.py:1605 order/models.py:1985 +#: build/models.py:1616 order/models.py:1985 msgid "Stock item is over-allocated" msgstr "Pozycja magazynowa jest nadmiernie przydzielona" -#: build/models.py:1611 order/models.py:1988 +#: build/models.py:1622 order/models.py:1988 msgid "Allocation quantity must be greater than zero" msgstr "Alokowana ilość musi być większa niż zero" -#: build/models.py:1617 +#: build/models.py:1628 msgid "Quantity must be 1 for serialized stock" msgstr "Ilość musi wynosić 1 dla serializowanych zasobów" -#: build/models.py:1676 +#: build/models.py:1687 msgid "Selected stock item does not match BOM line" msgstr "Wybrana pozycja magazynowa nie pasuje do pozycji w zestawieniu BOM" -#: build/models.py:1748 build/serializers.py:939 order/serializers.py:1301 +#: build/models.py:1762 build/serializers.py:939 order/serializers.py:1301 #: order/serializers.py:1322 stock/models.py:381 stock/serializers.py:94 #: stock/serializers.py:770 stock/serializers.py:1288 stock/serializers.py:1400 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 -#: stock/templates/stock/item_base.html:194 +#: stock/templates/stock/item_base.html:190 #: templates/js/translated/build.js:1921 #: templates/js/translated/sales_order.js:301 #: templates/js/translated/sales_order.js:1234 @@ -1241,19 +1241,19 @@ msgstr "Wybrana pozycja magazynowa nie pasuje do pozycji w zestawieniu BOM" msgid "Stock Item" msgstr "Element magazynowy" -#: build/models.py:1749 +#: build/models.py:1763 msgid "Source stock item" msgstr "Lokalizacja magazynowania przedmiotu" -#: build/models.py:1762 +#: build/models.py:1776 msgid "Stock quantity to allocate to build" msgstr "Ilość zapasów do przydzielenia do produkcji" -#: build/models.py:1770 +#: build/models.py:1784 msgid "Install into" msgstr "Zainstaluj do" -#: build/models.py:1771 +#: build/models.py:1785 msgid "Destination stock item" msgstr "Docelowa lokalizacja magazynowa przedmiotu" @@ -1262,7 +1262,7 @@ msgid "Build Level" msgstr "" #: build/serializers.py:115 build/serializers.py:1234 build/serializers.py:1323 -#: part/admin.py:41 part/admin.py:408 part/models.py:4116 part/stocktake.py:219 +#: part/admin.py:41 part/admin.py:408 part/models.py:4103 part/stocktake.py:219 #: stock/admin.py:157 msgid "Part Name" msgstr "Nazwa komponentu" @@ -1323,10 +1323,10 @@ msgid "Enter serial numbers for build outputs" msgstr "" #: build/serializers.py:359 build/serializers.py:500 build/serializers.py:572 -#: order/serializers.py:655 order/serializers.py:778 order/serializers.py:1789 -#: part/serializers.py:1233 stock/serializers.py:103 stock/serializers.py:698 +#: order/serializers.py:655 order/serializers.py:778 order/serializers.py:1797 +#: part/serializers.py:1231 stock/serializers.py:103 stock/serializers.py:698 #: stock/serializers.py:858 stock/serializers.py:984 stock/serializers.py:1432 -#: stock/serializers.py:1688 stock/templates/stock/item_base.html:394 +#: stock/serializers.py:1688 stock/templates/stock/item_base.html:390 #: templates/js/translated/barcode.js:578 #: templates/js/translated/barcode.js:826 templates/js/translated/build.js:1035 #: templates/js/translated/build.js:1177 templates/js/translated/build.js:2547 @@ -1390,7 +1390,7 @@ msgstr "" #: build/templates/build/detail.html:62 order/models.py:477 #: order/models.py:1003 order/models.py:2152 order/serializers.py:687 #: stock/admin.py:165 stock/serializers.py:1035 stock/serializers.py:1576 -#: stock/templates/stock/item_base.html:427 +#: stock/templates/stock/item_base.html:423 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2366 #: templates/js/translated/purchase_order.js:1371 #: templates/js/translated/purchase_order.js:1792 @@ -1522,7 +1522,7 @@ msgstr "" msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:1030 order/serializers.py:1614 +#: build/serializers.py:1030 order/serializers.py:1622 msgid "Allocation items must be provided" msgstr "" @@ -1590,7 +1590,7 @@ msgstr "" #: build/serializers.py:1230 company/models.py:849 #: company/templates/company/supplier_part.html:160 order/serializers.py:691 #: stock/admin.py:229 stock/models.py:822 stock/serializers.py:1586 -#: stock/templates/stock/item_base.html:240 +#: stock/templates/stock/item_base.html:236 #: templates/js/translated/company.js:1646 #: templates/js/translated/purchase_order.js:1169 #: templates/js/translated/purchase_order.js:1332 @@ -1600,12 +1600,12 @@ msgid "Packaging" msgstr "Opakowanie" #: build/serializers.py:1233 part/admin.py:39 part/admin.py:398 -#: part/models.py:4115 part/stocktake.py:218 stock/admin.py:153 +#: part/models.py:4102 part/stocktake.py:218 stock/admin.py:153 msgid "Part ID" msgstr "ID komponentu" #: build/serializers.py:1235 build/serializers.py:1324 part/admin.py:402 -#: part/models.py:4117 +#: part/models.py:4104 msgid "Part IPN" msgstr "IPN komponentu" @@ -1625,7 +1625,7 @@ msgstr "" #: build/serializers.py:1243 #: report/templates/report/inventree_return_order_report.html:25 #: report/templates/report/inventree_test_report.html:88 stock/models.py:849 -#: stock/serializers.py:152 stock/templates/stock/item_base.html:311 +#: stock/serializers.py:152 stock/templates/stock/item_base.html:307 #: templates/js/translated/build.js:523 templates/js/translated/build.js:1543 #: templates/js/translated/build.js:2530 #: templates/js/translated/model_renderers.js:231 @@ -1644,7 +1644,7 @@ msgstr "Numer Seryjny" msgid "Allocated Quantity" msgstr "" -#: build/serializers.py:1257 stock/templates/stock/item_base.html:340 +#: build/serializers.py:1257 stock/templates/stock/item_base.html:336 msgid "Available Quantity" msgstr "" @@ -1667,13 +1667,13 @@ msgstr "Możliwość śledzenia" msgid "Inherited" msgstr "" -#: build/serializers.py:1337 part/models.py:4326 +#: build/serializers.py:1337 part/models.py:4313 #: part/templates/part/upload_bom.html:56 templates/js/translated/bom.js:1046 #: templates/js/translated/build.js:2714 msgid "Allow Variants" msgstr "Zezwalaj na warianty" -#: build/serializers.py:1341 part/models.py:4124 part/models.py:4594 +#: build/serializers.py:1341 part/models.py:4111 part/models.py:4587 #: stock/api.py:793 msgid "BOM Item" msgstr "Element BOM" @@ -1684,7 +1684,7 @@ msgid "Allocated Stock" msgstr "" #: build/serializers.py:1355 order/serializers.py:1179 part/admin.py:132 -#: part/bom.py:186 part/serializers.py:920 part/serializers.py:1623 +#: part/bom.py:186 part/serializers.py:918 part/serializers.py:1621 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 #: templates/js/translated/build.js:2807 templates/js/translated/part.js:712 #: templates/js/translated/part.js:2155 @@ -1692,13 +1692,13 @@ msgstr "" msgid "On Order" msgstr "W Zamówieniu" -#: build/serializers.py:1360 order/serializers.py:1180 part/serializers.py:1625 +#: build/serializers.py:1360 order/serializers.py:1180 part/serializers.py:1623 #: templates/js/translated/build.js:2811 #: templates/js/translated/table_filters.js:367 msgid "In Production" msgstr "W produkcji" -#: build/serializers.py:1365 part/bom.py:185 part/serializers.py:1650 +#: build/serializers.py:1365 part/bom.py:185 part/serializers.py:1648 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" @@ -1716,7 +1716,7 @@ msgstr "" msgid "Total Available Stock" msgstr "" -#: build/serializers.py:1372 part/serializers.py:927 +#: build/serializers.py:1372 part/serializers.py:925 msgid "External Stock" msgstr "" @@ -1745,7 +1745,7 @@ msgstr "Anulowano" #: importer/status_codes.py:27 order/status_codes.py:15 #: order/status_codes.py:50 order/status_codes.py:81 #: order/templates/order/order_base.html:163 -#: order/templates/order/sales_order_base.html:168 report/models.py:443 +#: order/templates/order/sales_order_base.html:168 report/models.py:451 msgid "Complete" msgstr "Zakończono" @@ -1849,9 +1849,6 @@ msgid "Delete Build" msgstr "" #: build/templates/build/build_base.html:87 -msgid "Isueue Build" -msgstr "" - #: build/templates/build/build_base.html:88 msgid "Issue Build" msgstr "" @@ -1931,7 +1928,7 @@ msgstr "" #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_report.html:135 #: report/templates/report/inventree_sales_order_report.html:14 -#: stock/templates/stock/item_base.html:369 +#: stock/templates/stock/item_base.html:365 #: templates/email/overdue_sales_order.html:15 #: templates/js/translated/pricing.js:929 #: templates/js/translated/sales_order.js:805 @@ -1991,7 +1988,7 @@ msgid "Allocated Parts" msgstr "" #: build/templates/build/detail.html:80 stock/admin.py:163 -#: stock/templates/stock/item_base.html:162 +#: stock/templates/stock/item_base.html:158 #: templates/js/translated/build.js:1556 #: templates/js/translated/model_renderers.js:242 #: templates/js/translated/purchase_order.js:1326 @@ -2148,19 +2145,19 @@ msgstr "" msgid "Test Statistics" msgstr "" -#: common/api.py:692 +#: common/api.py:725 msgid "Is Link" msgstr "" -#: common/api.py:700 +#: common/api.py:733 msgid "Is File" msgstr "" -#: common/api.py:743 +#: common/api.py:776 msgid "User does not have permission to delete these attachments" msgstr "" -#: common/api.py:760 +#: common/api.py:793 msgid "User does not have permission to delete this attachment" msgstr "" @@ -2352,8 +2349,8 @@ msgstr "Jak często aktualizować kursy wymiany walut (ustaw zero aby wyłączy #: common/models.py:1297 common/models.py:1353 common/models.py:1366 #: common/models.py:1374 common/models.py:1383 common/models.py:1392 -#: common/models.py:1629 common/models.py:1651 common/models.py:1766 -#: common/models.py:2148 +#: common/models.py:1629 common/models.py:1651 common/models.py:1752 +#: common/models.py:2141 msgid "days" msgstr "dni" @@ -2581,9 +2578,9 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1485 part/admin.py:108 part/models.py:3959 -#: report/models.py:293 report/models.py:360 report/serializers.py:90 -#: report/serializers.py:131 stock/serializers.py:233 +#: common/models.py:1485 part/admin.py:108 part/models.py:3946 +#: report/models.py:301 report/models.py:368 report/serializers.py:91 +#: report/serializers.py:132 stock/serializers.py:233 #: templates/js/translated/table_filters.js:138 #: templates/js/translated/table_filters.js:775 msgid "Template" @@ -2598,7 +2595,7 @@ msgid "Parts can be assembled from other components by default" msgstr "" #: common/models.py:1497 part/admin.py:95 part/models.py:1172 -#: part/serializers.py:1617 templates/js/translated/table_filters.js:737 +#: part/serializers.py:1615 templates/js/translated/table_filters.js:737 msgid "Component" msgstr "Komponent" @@ -2823,7 +2820,7 @@ msgid "Log errors which occur when generating reports" msgstr "" #: common/models.py:1702 plugin/builtin/labels/label_sheet.py:28 -#: report/models.py:301 +#: report/models.py:309 msgid "Page Size" msgstr "Rozmiar strony" @@ -2832,914 +2829,914 @@ msgid "Default page size for PDF reports" msgstr "Domyślna wielkość strony dla raportów PDF" #: common/models.py:1708 -msgid "Enable Test Reports" -msgstr "" - -#: common/models.py:1709 -msgid "Enable generation of test reports" -msgstr "Włącz generowanie raportów testów" - -#: common/models.py:1714 -msgid "Attach Test Reports" -msgstr "" - -#: common/models.py:1716 -msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" -msgstr "" - -#: common/models.py:1722 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1723 +#: common/models.py:1709 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1728 +#: common/models.py:1714 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1729 +#: common/models.py:1715 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1734 +#: common/models.py:1720 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1736 +#: common/models.py:1722 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/models.py:1742 +#: common/models.py:1728 msgid "Batch Code Template" msgstr "" -#: common/models.py:1744 +#: common/models.py:1730 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1749 +#: common/models.py:1735 msgid "Stock Expiry" msgstr "" -#: common/models.py:1750 +#: common/models.py:1736 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1755 +#: common/models.py:1741 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1756 +#: common/models.py:1742 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1761 +#: common/models.py:1747 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1763 +#: common/models.py:1749 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1770 +#: common/models.py:1756 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1771 +#: common/models.py:1757 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1776 +#: common/models.py:1762 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1777 +#: common/models.py:1763 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1782 +#: common/models.py:1768 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1783 +#: common/models.py:1769 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1788 +#: common/models.py:1774 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1789 +#: common/models.py:1775 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1794 +#: common/models.py:1780 msgid "Check BOM when installing items" msgstr "" -#: common/models.py:1796 +#: common/models.py:1782 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/models.py:1802 +#: common/models.py:1788 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/models.py:1804 +#: common/models.py:1790 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/models.py:1810 +#: common/models.py:1796 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1812 +#: common/models.py:1798 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1818 common/models.py:1874 common/models.py:1896 -#: common/models.py:1932 +#: common/models.py:1804 common/models.py:1860 common/models.py:1882 +#: common/models.py:1918 msgid "Require Responsible Owner" msgstr "" -#: common/models.py:1819 common/models.py:1875 common/models.py:1897 -#: common/models.py:1933 +#: common/models.py:1805 common/models.py:1861 common/models.py:1883 +#: common/models.py:1919 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/models.py:1824 +#: common/models.py:1810 msgid "Require Active Part" msgstr "" -#: common/models.py:1825 +#: common/models.py:1811 msgid "Prevent build order creation for inactive parts" msgstr "" -#: common/models.py:1830 +#: common/models.py:1816 msgid "Require Locked Part" msgstr "" -#: common/models.py:1831 +#: common/models.py:1817 msgid "Prevent build order creation for unlocked parts" msgstr "" -#: common/models.py:1836 +#: common/models.py:1822 msgid "Require Valid BOM" msgstr "" -#: common/models.py:1838 +#: common/models.py:1824 msgid "Prevent build order creation unless BOM has been validated" msgstr "" -#: common/models.py:1844 +#: common/models.py:1830 msgid "Require Closed Child Orders" msgstr "" -#: common/models.py:1846 +#: common/models.py:1832 msgid "Prevent build order completion until all child orders are closed" msgstr "" -#: common/models.py:1852 +#: common/models.py:1838 msgid "Block Until Tests Pass" msgstr "" -#: common/models.py:1854 +#: common/models.py:1840 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "" -#: common/models.py:1860 +#: common/models.py:1846 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1861 +#: common/models.py:1847 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1866 +#: common/models.py:1852 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1868 +#: common/models.py:1854 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1880 +#: common/models.py:1866 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1882 +#: common/models.py:1868 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1888 +#: common/models.py:1874 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1890 +#: common/models.py:1876 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1902 +#: common/models.py:1888 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1903 +#: common/models.py:1889 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1908 +#: common/models.py:1894 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1910 +#: common/models.py:1896 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1916 +#: common/models.py:1902 msgid "Mark Shipped Orders as Complete" msgstr "" -#: common/models.py:1918 +#: common/models.py:1904 msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status" msgstr "" -#: common/models.py:1924 +#: common/models.py:1910 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1926 +#: common/models.py:1912 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1938 +#: common/models.py:1924 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1940 +#: common/models.py:1926 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1946 +#: common/models.py:1932 msgid "Auto Complete Purchase Orders" msgstr "Automatycznie wypełniaj zlecenia zakupu" -#: common/models.py:1948 +#: common/models.py:1934 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "Automatycznie oznacz zlecenia jako zakończone po odebraniu wszystkich pozycji" -#: common/models.py:1955 +#: common/models.py:1941 msgid "Enable password forgot" msgstr "Włącz opcję zapomnianego hasła" -#: common/models.py:1956 +#: common/models.py:1942 msgid "Enable password forgot function on the login pages" msgstr "Włącz funkcję zapomnianego hasła na stronach logowania" -#: common/models.py:1961 +#: common/models.py:1947 msgid "Enable registration" msgstr "Włącz rejestrację" -#: common/models.py:1962 +#: common/models.py:1948 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:1967 +#: common/models.py:1953 msgid "Enable SSO" msgstr "Włącz SSO" -#: common/models.py:1968 +#: common/models.py:1954 msgid "Enable SSO on the login pages" msgstr "Włącz SSO na stronach logowania" -#: common/models.py:1973 +#: common/models.py:1959 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1975 +#: common/models.py:1961 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1981 +#: common/models.py:1967 msgid "Enable SSO group sync" msgstr "" -#: common/models.py:1983 +#: common/models.py:1969 msgid "Enable synchronizing InvenTree groups with groups provided by the IdP" msgstr "" -#: common/models.py:1989 +#: common/models.py:1975 msgid "SSO group key" msgstr "" -#: common/models.py:1991 +#: common/models.py:1977 msgid "The name of the groups claim attribute provided by the IdP" msgstr "" -#: common/models.py:1997 +#: common/models.py:1983 msgid "SSO group map" msgstr "" -#: common/models.py:1999 +#: common/models.py:1985 msgid "A mapping from SSO groups to local InvenTree groups. If the local group does not exist, it will be created." msgstr "" -#: common/models.py:2005 +#: common/models.py:1991 msgid "Remove groups outside of SSO" msgstr "" -#: common/models.py:2007 +#: common/models.py:1993 msgid "Whether groups assigned to the user should be removed if they are not backend by the IdP. Disabling this setting might cause security issues" msgstr "" -#: common/models.py:2013 +#: common/models.py:1999 msgid "Email required" msgstr "Adres e-mail jest wymagany" -#: common/models.py:2014 +#: common/models.py:2000 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:2019 +#: common/models.py:2005 msgid "Auto-fill SSO users" msgstr "Autouzupełnianie użytkowników SSO" -#: common/models.py:2021 +#: common/models.py:2007 msgid "Automatically fill out user-details from SSO account-data" msgstr "Automatycznie wypełnij dane użytkownika z danych konta SSO" -#: common/models.py:2027 +#: common/models.py:2013 msgid "Mail twice" msgstr "E-mail dwa razy" -#: common/models.py:2028 +#: common/models.py:2014 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:2033 +#: common/models.py:2019 msgid "Password twice" msgstr "Hasło dwukrotnie" -#: common/models.py:2034 +#: common/models.py:2020 msgid "On signup ask users twice for their password" msgstr "Przy rejestracji dwukrotnie zapytaj użytkowników o ich hasło" -#: common/models.py:2039 +#: common/models.py:2025 msgid "Allowed domains" msgstr "" -#: common/models.py:2041 +#: common/models.py:2027 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:2047 +#: common/models.py:2033 msgid "Group on signup" msgstr "Grupuj przy rejestracji" -#: common/models.py:2049 +#: common/models.py:2035 msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP." msgstr "" -#: common/models.py:2055 +#: common/models.py:2041 msgid "Enforce MFA" msgstr "Wymuś MFA" -#: common/models.py:2056 +#: common/models.py:2042 msgid "Users must use multifactor security." msgstr "Użytkownicy muszą używać zabezpieczeń wieloskładnikowych." -#: common/models.py:2061 +#: common/models.py:2047 msgid "Check plugins on startup" msgstr "Sprawdź wtyczki przy starcie" -#: common/models.py:2063 +#: common/models.py:2049 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:2071 +#: common/models.py:2057 msgid "Check for plugin updates" msgstr "" -#: common/models.py:2072 +#: common/models.py:2058 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:2078 +#: common/models.py:2064 msgid "Enable URL integration" msgstr "Włącz integrację URL" -#: common/models.py:2079 +#: common/models.py:2065 msgid "Enable plugins to add URL routes" msgstr "Włącz wtyczki, aby dodać ścieżki URL" -#: common/models.py:2085 +#: common/models.py:2071 msgid "Enable navigation integration" msgstr "" -#: common/models.py:2086 +#: common/models.py:2072 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:2092 +#: common/models.py:2078 msgid "Enable app integration" msgstr "Włącz integrację z aplikacją" -#: common/models.py:2093 +#: common/models.py:2079 msgid "Enable plugins to add apps" msgstr "Włącz wtyczki, aby dodać aplikacje" -#: common/models.py:2099 +#: common/models.py:2085 msgid "Enable schedule integration" msgstr "" -#: common/models.py:2100 +#: common/models.py:2086 msgid "Enable plugins to run scheduled tasks" msgstr "Włącz wtyczki, aby uruchamiać zaplanowane zadania" -#: common/models.py:2106 +#: common/models.py:2092 msgid "Enable event integration" msgstr "" -#: common/models.py:2107 +#: common/models.py:2093 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:2113 +#: common/models.py:2099 +msgid "Enable interface integration" +msgstr "" + +#: common/models.py:2100 +msgid "Enable plugins to integrate into the user interface" +msgstr "" + +#: common/models.py:2106 msgid "Enable project codes" msgstr "" -#: common/models.py:2114 +#: common/models.py:2107 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:2119 +#: common/models.py:2112 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:2121 +#: common/models.py:2114 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:2127 +#: common/models.py:2120 msgid "Exclude External Locations" msgstr "" -#: common/models.py:2129 +#: common/models.py:2122 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/models.py:2135 +#: common/models.py:2128 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:2137 +#: common/models.py:2130 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:2143 +#: common/models.py:2136 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:2145 +#: common/models.py:2138 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:2152 +#: common/models.py:2145 msgid "Display Users full names" msgstr "" -#: common/models.py:2153 +#: common/models.py:2146 msgid "Display Users full names instead of usernames" msgstr "" -#: common/models.py:2158 +#: common/models.py:2151 msgid "Enable Test Station Data" msgstr "" -#: common/models.py:2159 +#: common/models.py:2152 msgid "Enable test station data collection for test results" msgstr "" -#: common/models.py:2171 common/models.py:2551 +#: common/models.py:2157 +msgid "Create Template on Upload" +msgstr "" + +#: common/models.py:2159 +msgid "Create a new test template when uploading test data which does not match an existing template" +msgstr "" + +#: common/models.py:2172 common/models.py:2552 msgid "Settings key (must be unique - case insensitive" msgstr "Klucz ustawień (musi być unikalny - niewrażliwy na wielkość liter" -#: common/models.py:2214 +#: common/models.py:2215 msgid "Hide inactive parts" msgstr "" -#: common/models.py:2216 +#: common/models.py:2217 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:2222 +#: common/models.py:2223 msgid "Show subscribed parts" msgstr "Pokaż obserwowane części" -#: common/models.py:2223 +#: common/models.py:2224 msgid "Show subscribed parts on the homepage" msgstr "Pokaż obserwowane części na stronie głównej" -#: common/models.py:2228 +#: common/models.py:2229 msgid "Show subscribed categories" msgstr "Pokaż obserwowane kategorie" -#: common/models.py:2229 +#: common/models.py:2230 msgid "Show subscribed part categories on the homepage" msgstr "Pokaż obserwowane kategorie części na stronie głównej" -#: common/models.py:2234 +#: common/models.py:2235 msgid "Show latest parts" msgstr "Pokaż najnowsze części" -#: common/models.py:2235 +#: common/models.py:2236 msgid "Show latest parts on the homepage" msgstr "Pokaż najnowsze części na stronie głównej" -#: common/models.py:2240 +#: common/models.py:2241 msgid "Show invalid BOMs" msgstr "" -#: common/models.py:2241 +#: common/models.py:2242 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:2246 +#: common/models.py:2247 msgid "Show recent stock changes" msgstr "" -#: common/models.py:2247 +#: common/models.py:2248 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:2252 +#: common/models.py:2253 msgid "Show low stock" msgstr "Pokaż niski stan magazynowy" -#: common/models.py:2253 +#: common/models.py:2254 msgid "Show low stock items on the homepage" msgstr "Pokaż elementy o niskim stanie na stronie głównej" -#: common/models.py:2258 +#: common/models.py:2259 msgid "Show depleted stock" msgstr "" -#: common/models.py:2259 +#: common/models.py:2260 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:2264 +#: common/models.py:2265 msgid "Show needed stock" msgstr "Pokaż wymagany stan zapasów" -#: common/models.py:2265 +#: common/models.py:2266 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:2270 +#: common/models.py:2271 msgid "Show expired stock" msgstr "" -#: common/models.py:2271 +#: common/models.py:2272 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:2276 +#: common/models.py:2277 msgid "Show stale stock" msgstr "" -#: common/models.py:2277 +#: common/models.py:2278 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:2282 +#: common/models.py:2283 msgid "Show pending builds" msgstr "" -#: common/models.py:2283 +#: common/models.py:2284 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:2288 +#: common/models.py:2289 msgid "Show overdue builds" msgstr "" -#: common/models.py:2289 +#: common/models.py:2290 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:2294 +#: common/models.py:2295 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2295 +#: common/models.py:2296 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2300 +#: common/models.py:2301 msgid "Show overdue POs" msgstr "" -#: common/models.py:2301 +#: common/models.py:2302 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2306 +#: common/models.py:2307 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2307 +#: common/models.py:2308 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2312 +#: common/models.py:2313 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2313 +#: common/models.py:2314 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2318 +#: common/models.py:2319 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2319 +#: common/models.py:2320 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2324 +#: common/models.py:2325 msgid "Show News" msgstr "" -#: common/models.py:2325 +#: common/models.py:2326 msgid "Show news on the homepage" msgstr "" -#: common/models.py:2330 +#: common/models.py:2331 msgid "Inline label display" msgstr "" -#: common/models.py:2332 +#: common/models.py:2333 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2338 +#: common/models.py:2339 msgid "Default label printer" msgstr "" -#: common/models.py:2340 +#: common/models.py:2341 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2346 +#: common/models.py:2347 msgid "Inline report display" msgstr "" -#: common/models.py:2348 +#: common/models.py:2349 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2354 +#: common/models.py:2355 msgid "Search Parts" msgstr "Szukaj części" -#: common/models.py:2355 +#: common/models.py:2356 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2360 +#: common/models.py:2361 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2361 +#: common/models.py:2362 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2366 +#: common/models.py:2367 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2367 +#: common/models.py:2368 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2372 +#: common/models.py:2373 msgid "Hide Inactive Parts" msgstr "Ukryj nieaktywne części" -#: common/models.py:2373 +#: common/models.py:2374 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2378 +#: common/models.py:2379 msgid "Search Categories" msgstr "" -#: common/models.py:2379 +#: common/models.py:2380 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2384 +#: common/models.py:2385 msgid "Search Stock" msgstr "" -#: common/models.py:2385 +#: common/models.py:2386 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2390 +#: common/models.py:2391 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2392 +#: common/models.py:2393 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2398 +#: common/models.py:2399 msgid "Search Locations" msgstr "" -#: common/models.py:2399 +#: common/models.py:2400 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2404 +#: common/models.py:2405 msgid "Search Companies" msgstr "" -#: common/models.py:2405 +#: common/models.py:2406 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2410 +#: common/models.py:2411 msgid "Search Build Orders" msgstr "" -#: common/models.py:2411 +#: common/models.py:2412 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2416 +#: common/models.py:2417 msgid "Search Purchase Orders" msgstr "Wyszukaj zlecenia zakupu" -#: common/models.py:2417 +#: common/models.py:2418 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2422 +#: common/models.py:2423 msgid "Exclude Inactive Purchase Orders" msgstr "Wyklucz nieaktywne zlecenia zakupu" -#: common/models.py:2424 +#: common/models.py:2425 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2430 +#: common/models.py:2431 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2431 +#: common/models.py:2432 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2436 +#: common/models.py:2437 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2438 +#: common/models.py:2439 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2444 +#: common/models.py:2445 msgid "Search Return Orders" msgstr "" -#: common/models.py:2445 +#: common/models.py:2446 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2450 +#: common/models.py:2451 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2452 +#: common/models.py:2453 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2458 +#: common/models.py:2459 msgid "Search Preview Results" msgstr "" -#: common/models.py:2460 +#: common/models.py:2461 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2466 +#: common/models.py:2467 msgid "Regex Search" msgstr "" -#: common/models.py:2467 +#: common/models.py:2468 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2472 +#: common/models.py:2473 msgid "Whole Word Search" msgstr "" -#: common/models.py:2473 +#: common/models.py:2474 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2478 +#: common/models.py:2479 msgid "Show Quantity in Forms" msgstr "Pokaż ilość w formularzach" -#: common/models.py:2479 +#: common/models.py:2480 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2484 +#: common/models.py:2485 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2485 +#: common/models.py:2486 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2490 +#: common/models.py:2491 msgid "Fixed Navbar" msgstr "Stały pasek nawigacyjny" -#: common/models.py:2491 +#: common/models.py:2492 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2496 +#: common/models.py:2497 msgid "Date Format" msgstr "Format daty" -#: common/models.py:2497 +#: common/models.py:2498 msgid "Preferred format for displaying dates" msgstr "Preferowany format wyświetlania dat" -#: common/models.py:2510 part/templates/part/detail.html:41 +#: common/models.py:2511 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "Planowanie komponentów" -#: common/models.py:2511 +#: common/models.py:2512 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2516 part/templates/part/detail.html:62 +#: common/models.py:2517 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2518 +#: common/models.py:2519 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2524 +#: common/models.py:2525 msgid "Table String Length" msgstr "" -#: common/models.py:2526 +#: common/models.py:2527 msgid "Maximum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2532 +#: common/models.py:2533 msgid "Receive error reports" msgstr "" -#: common/models.py:2533 +#: common/models.py:2534 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2538 +#: common/models.py:2539 msgid "Last used printing machines" msgstr "" -#: common/models.py:2539 +#: common/models.py:2540 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2559 common/models.py:2560 common/models.py:2717 -#: common/models.py:2718 common/models.py:2963 common/models.py:2964 -#: common/models.py:3287 common/models.py:3288 importer/models.py:89 -#: part/models.py:3319 part/models.py:3406 part/models.py:3480 -#: part/models.py:3508 plugin/models.py:274 plugin/models.py:275 +#: common/models.py:2560 common/models.py:2561 common/models.py:2718 +#: common/models.py:2719 common/models.py:2964 common/models.py:2965 +#: common/models.py:3288 common/models.py:3289 importer/models.py:89 +#: part/models.py:3306 part/models.py:3393 part/models.py:3467 +#: part/models.py:3495 plugin/models.py:274 plugin/models.py:275 #: report/templates/report/inventree_test_report.html:105 #: templates/js/translated/stock.js:3121 users/models.py:111 msgid "User" msgstr "Użytkownik" -#: common/models.py:2582 +#: common/models.py:2583 msgid "Price break quantity" msgstr "" -#: common/models.py:2589 company/serializers.py:517 order/admin.py:42 +#: common/models.py:2590 company/serializers.py:517 order/admin.py:42 #: order/models.py:1423 order/models.py:2410 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1892 #: templates/js/translated/pricing.js:621 @@ -3747,96 +3744,96 @@ msgstr "" msgid "Price" msgstr "Cena" -#: common/models.py:2590 +#: common/models.py:2591 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2694 common/models.py:2879 +#: common/models.py:2695 common/models.py:2880 msgid "Endpoint" msgstr "Punkt końcowy" -#: common/models.py:2695 +#: common/models.py:2696 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2705 +#: common/models.py:2706 msgid "Name for this webhook" msgstr "" -#: common/models.py:2709 +#: common/models.py:2710 msgid "Is this webhook active" msgstr "" -#: common/models.py:2725 users/models.py:159 +#: common/models.py:2726 users/models.py:159 msgid "Token" msgstr "" -#: common/models.py:2726 +#: common/models.py:2727 msgid "Token for access" msgstr "" -#: common/models.py:2734 +#: common/models.py:2735 msgid "Secret" msgstr "Sekret" -#: common/models.py:2735 +#: common/models.py:2736 msgid "Shared secret for HMAC" msgstr "Współdzielony sekret dla HMAC" -#: common/models.py:2843 +#: common/models.py:2844 msgid "Message ID" msgstr "Id wiadomości" -#: common/models.py:2844 +#: common/models.py:2845 msgid "Unique identifier for this message" msgstr "Unikalny identyfikator dla tej wiadomości" -#: common/models.py:2852 +#: common/models.py:2853 msgid "Host" msgstr "" -#: common/models.py:2853 +#: common/models.py:2854 msgid "Host from which this message was received" msgstr "Host, od którego otrzymano tę wiadomość" -#: common/models.py:2861 +#: common/models.py:2862 msgid "Header" msgstr "Nagłówek" -#: common/models.py:2862 +#: common/models.py:2863 msgid "Header of this message" msgstr "Nagłówek tej wiadomości" -#: common/models.py:2869 +#: common/models.py:2870 msgid "Body" msgstr "Zawartość" -#: common/models.py:2870 +#: common/models.py:2871 msgid "Body of this message" msgstr "" -#: common/models.py:2880 +#: common/models.py:2881 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2885 +#: common/models.py:2886 msgid "Worked on" msgstr "" -#: common/models.py:2886 +#: common/models.py:2887 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:3012 +#: common/models.py:3013 msgid "Id" msgstr "" -#: common/models.py:3014 templates/js/translated/company.js:965 +#: common/models.py:3015 templates/js/translated/company.js:965 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:3016 common/models.py:3271 company/models.py:146 +#: common/models.py:3017 common/models.py:3272 company/models.py:146 #: company/models.py:443 company/models.py:509 company/models.py:815 #: order/models.py:303 order/models.py:1378 order/models.py:1810 #: part/admin.py:55 part/models.py:1069 @@ -3853,217 +3850,217 @@ msgstr "" msgid "Link" msgstr "Łącze" -#: common/models.py:3018 templates/js/translated/news.js:60 +#: common/models.py:3019 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:3020 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:3021 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:103 msgid "Author" msgstr "Autor" -#: common/models.py:3022 templates/js/translated/news.js:52 +#: common/models.py:3023 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:3025 +#: common/models.py:3026 msgid "Read" msgstr "" -#: common/models.py:3025 +#: common/models.py:3026 msgid "Was this news item read?" msgstr "" -#: common/models.py:3042 company/models.py:156 part/models.py:1079 +#: common/models.py:3043 company/models.py:156 part/models.py:1079 #: 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.html:35 -#: stock/templates/stock/item_base.html:133 templates/503.html:31 +#: stock/templates/stock/item_base.html:129 templates/503.html:31 #: templates/hover_image.html:7 templates/hover_image.html:9 #: templates/modals.html:6 msgid "Image" msgstr "Obraz" -#: common/models.py:3042 +#: common/models.py:3043 msgid "Image file" msgstr "" -#: common/models.py:3054 common/models.py:3255 +#: common/models.py:3055 common/models.py:3256 msgid "Target model type for this image" msgstr "" -#: common/models.py:3058 +#: common/models.py:3059 msgid "Target model ID for this image" msgstr "" -#: common/models.py:3080 +#: common/models.py:3081 msgid "Custom Unit" msgstr "" -#: common/models.py:3098 +#: common/models.py:3099 msgid "Unit symbol must be unique" msgstr "" -#: common/models.py:3113 +#: common/models.py:3114 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:3132 +#: common/models.py:3133 msgid "Unit name" msgstr "" -#: common/models.py:3139 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3140 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:3140 +#: common/models.py:3141 msgid "Optional unit symbol" msgstr "" -#: common/models.py:3146 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3147 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:3147 +#: common/models.py:3148 msgid "Unit definition" msgstr "" -#: common/models.py:3205 common/models.py:3262 stock/models.py:2552 +#: common/models.py:3206 common/models.py:3263 stock/models.py:2547 #: stock/serializers.py:244 templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:345 msgid "Attachment" msgstr "Załącznik" -#: common/models.py:3217 +#: common/models.py:3218 msgid "Missing file" msgstr "Brak pliku" -#: common/models.py:3218 +#: common/models.py:3219 msgid "Missing external link" msgstr "Brak zewnętrznego odnośnika" -#: common/models.py:3263 +#: common/models.py:3264 msgid "Select file to attach" msgstr "Wybierz plik do załączenia" -#: common/models.py:3278 templates/js/translated/attachment.js:120 +#: common/models.py:3279 templates/js/translated/attachment.js:120 #: templates/js/translated/attachment.js:360 msgid "Comment" msgstr "Komentarz" -#: common/models.py:3279 +#: common/models.py:3280 msgid "Attachment comment" msgstr "" -#: common/models.py:3295 +#: common/models.py:3296 msgid "Upload date" msgstr "" -#: common/models.py:3296 +#: common/models.py:3297 msgid "Date the file was uploaded" msgstr "" -#: common/models.py:3300 +#: common/models.py:3301 msgid "File size" msgstr "" -#: common/models.py:3300 +#: common/models.py:3301 msgid "File size in bytes" msgstr "" -#: common/models.py:3338 common/serializers.py:588 +#: common/models.py:3339 common/serializers.py:604 msgid "Invalid model type specified for attachment" msgstr "" -#: common/models.py:3347 plugin/models.py:43 users/models.py:100 +#: common/models.py:3348 plugin/models.py:43 users/models.py:100 msgid "Key" msgstr "Klucz" -#: common/models.py:3348 +#: common/models.py:3349 msgid "Value that will be saved in the models database" msgstr "" -#: common/models.py:3351 +#: common/models.py:3352 msgid "Name of the state" msgstr "" -#: common/models.py:3355 +#: common/models.py:3356 msgid "Label" msgstr "" -#: common/models.py:3356 +#: common/models.py:3357 msgid "Label that will be displayed in the frontend" msgstr "" -#: common/models.py:3362 +#: common/models.py:3363 msgid "Color" msgstr "" -#: common/models.py:3363 +#: common/models.py:3364 msgid "Color that will be displayed in the frontend" msgstr "" -#: common/models.py:3366 +#: common/models.py:3367 msgid "Logical Key" msgstr "" -#: common/models.py:3368 +#: common/models.py:3369 msgid "State logical key that is equal to this custom state in business logic" msgstr "" -#: common/models.py:3376 +#: common/models.py:3377 msgid "Model" msgstr "" -#: common/models.py:3377 +#: common/models.py:3378 msgid "Model this state is associated with" msgstr "" -#: common/models.py:3381 +#: common/models.py:3382 msgid "Reference Status Set" msgstr "" -#: common/models.py:3382 +#: common/models.py:3383 msgid "Status set that is extended with this custom state" msgstr "" -#: common/models.py:3388 +#: common/models.py:3389 msgid "Custom State" msgstr "" -#: common/models.py:3389 +#: common/models.py:3390 msgid "Custom States" msgstr "" -#: common/models.py:3404 +#: common/models.py:3405 msgid "Model must be selected" msgstr "" -#: common/models.py:3407 +#: common/models.py:3408 msgid "Key must be selected" msgstr "" -#: common/models.py:3410 +#: common/models.py:3411 msgid "Logical key must be selected" msgstr "" -#: common/models.py:3414 +#: common/models.py:3415 msgid "Key must be different from logical key" msgstr "" -#: common/models.py:3418 +#: common/models.py:3419 msgid "Reference status must be selected" msgstr "" -#: common/models.py:3430 +#: common/models.py:3431 msgid "Reference status set not found" msgstr "" -#: common/models.py:3436 +#: common/models.py:3437 msgid "Key must be different from the logical keys of the reference status" msgstr "" -#: common/models.py:3442 +#: common/models.py:3443 msgid "Logical key must be in the logical keys of the reference status" msgstr "" @@ -4101,75 +4098,75 @@ msgstr "" msgid "Error raised by plugin" msgstr "" -#: common/serializers.py:402 +#: common/serializers.py:418 msgid "Is Running" msgstr "Jest uruchomiony" -#: common/serializers.py:408 +#: common/serializers.py:424 msgid "Pending Tasks" msgstr "Oczekujce zadania" -#: common/serializers.py:414 +#: common/serializers.py:430 msgid "Scheduled Tasks" msgstr "Zaplanowane zadania" -#: common/serializers.py:420 +#: common/serializers.py:436 msgid "Failed Tasks" msgstr "Zadania zakończone błędem" -#: common/serializers.py:435 +#: common/serializers.py:451 msgid "Task ID" msgstr "ID zadania" -#: common/serializers.py:435 +#: common/serializers.py:451 msgid "Unique task ID" msgstr "Unikalny identyfikator zadania" -#: common/serializers.py:437 +#: common/serializers.py:453 msgid "Lock" msgstr "Blokada" -#: common/serializers.py:437 +#: common/serializers.py:453 msgid "Lock time" msgstr "Czas blokady" -#: common/serializers.py:439 +#: common/serializers.py:455 msgid "Task name" msgstr "Nazwa zadania" -#: common/serializers.py:441 +#: common/serializers.py:457 msgid "Function" msgstr "Funkcja" -#: common/serializers.py:441 +#: common/serializers.py:457 msgid "Function name" msgstr "Nazwa funkcji" -#: common/serializers.py:443 +#: common/serializers.py:459 msgid "Arguments" msgstr "Argumenty" -#: common/serializers.py:443 +#: common/serializers.py:459 msgid "Task arguments" msgstr "Argumenty zadania" -#: common/serializers.py:446 +#: common/serializers.py:462 msgid "Keyword Arguments" msgstr "" -#: common/serializers.py:446 +#: common/serializers.py:462 msgid "Task keyword arguments" msgstr "" -#: common/serializers.py:556 +#: common/serializers.py:572 msgid "Filename" msgstr "Nazwa pliku" -#: common/serializers.py:563 report/api.py:100 report/serializers.py:53 +#: common/serializers.py:579 report/api.py:100 report/serializers.py:54 msgid "Model Type" msgstr "" -#: common/serializers.py:591 +#: common/serializers.py:607 msgid "User does not have permission to create or edit attachments for this model" msgstr "" @@ -4447,12 +4444,12 @@ msgstr "" #: company/models.py:467 company/models.py:584 company/models.py:808 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 -#: stock/templates/stock/item_base.html:217 +#: stock/templates/stock/item_base.html:213 msgid "Manufacturer Part" msgstr "Komponent producenta" #: company/models.py:484 company/models.py:776 stock/models.py:791 -#: stock/serializers.py:452 stock/templates/stock/item_base.html:142 +#: stock/serializers.py:452 stock/templates/stock/item_base.html:138 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "Część bazowa" @@ -4463,8 +4460,8 @@ msgstr "Wybierz część" #: company/models.py:495 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:567 -#: stock/templates/stock/item_base.html:207 +#: company/templates/company/supplier_part.html:145 part/serializers.py:565 +#: stock/templates/stock/item_base.html:203 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 #: templates/js/translated/company.js:1296 @@ -4479,7 +4476,7 @@ msgstr "Wybierz producenta" #: company/models.py:502 company/templates/company/manufacturer_part.html:101 #: company/templates/company/supplier_part.html:153 order/serializers.py:557 -#: part/serializers.py:577 templates/js/translated/company.js:351 +#: part/serializers.py:575 templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 #: templates/js/translated/company.js:1630 templates/js/translated/part.js:1807 @@ -4505,7 +4502,7 @@ msgid "Parameter name" msgstr "Nazwa parametru" #: company/models.py:597 report/templates/report/inventree_test_report.html:104 -#: stock/models.py:2544 templates/js/translated/company.js:1166 +#: stock/models.py:2539 templates/js/translated/company.js:1166 #: templates/js/translated/company.js:1419 templates/js/translated/part.js:1499 #: templates/js/translated/stock.js:1607 msgid "Value" @@ -4516,7 +4513,7 @@ msgid "Parameter value" msgstr "Wartość parametru" #: company/models.py:605 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1159 part/models.py:3783 +#: part/admin.py:57 part/models.py:1159 part/models.py:3770 #: part/templates/part/part_base.html:300 #: templates/js/translated/company.js:1425 templates/js/translated/part.js:1518 #: templates/js/translated/part.js:1622 templates/js/translated/part.js:2376 @@ -4530,7 +4527,7 @@ msgstr "Jednostki parametru" #: company/models.py:659 company/templates/company/supplier_part.html:7 #: company/templates/company/supplier_part.html:24 order/api.py:440 #: order/serializers.py:492 stock/models.py:802 -#: stock/templates/stock/item_base.html:233 +#: stock/templates/stock/item_base.html:229 #: templates/js/translated/build.js:1055 #: templates/js/translated/company.js:1600 #: templates/js/translated/purchase_order.js:752 @@ -4553,9 +4550,9 @@ msgstr "" #: company/models.py:786 company/templates/company/company_base.html:87 #: company/templates/company/supplier_part.html:129 order/models.py:492 #: order/templates/order/order_base.html:141 part/bom.py:279 part/bom.py:314 -#: part/serializers.py:551 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:549 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 -#: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 +#: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:220 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:511 @@ -4570,7 +4567,7 @@ msgstr "Dostawca" msgid "Select supplier" msgstr "Wybierz dostawcę" -#: company/models.py:793 part/serializers.py:562 +#: company/models.py:793 part/serializers.py:560 msgid "Supplier stock keeping unit" msgstr "" @@ -4591,7 +4588,7 @@ msgid "Supplier part description" msgstr "" #: company/models.py:832 company/templates/company/supplier_part.html:187 -#: order/serializers.py:699 part/admin.py:415 part/models.py:4301 +#: order/serializers.py:699 part/admin.py:415 part/models.py:4288 #: part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 @@ -4603,11 +4600,11 @@ msgstr "" msgid "Note" msgstr "Uwaga" -#: company/models.py:841 part/models.py:2129 +#: company/models.py:841 part/models.py:2128 msgid "base cost" msgstr "koszt podstawowy" -#: company/models.py:842 part/models.py:2130 +#: company/models.py:842 part/models.py:2129 msgid "Minimum charge (e.g. stocking fee)" msgstr "" @@ -4629,7 +4626,7 @@ msgstr "Ilość w opakowaniu" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:876 part/models.py:2136 +#: company/models.py:876 part/models.py:2135 msgid "multiple" msgstr "wielokrotność" @@ -4661,7 +4658,7 @@ msgstr "Domyślna waluta używana dla tego dostawcy" msgid "Company Name" msgstr "" -#: company/serializers.py:397 part/admin.py:126 part/serializers.py:919 +#: company/serializers.py:397 part/admin.py:126 part/serializers.py:917 #: part/templates/part/part_base.html:197 #: templates/js/translated/company.js:1689 #: templates/js/translated/table_filters.js:362 @@ -4735,7 +4732,7 @@ msgstr "Usuń obraz" #: order/models.py:2140 order/templates/order/return_order_base.html:134 #: order/templates/order/sales_order_base.html:151 stock/models.py:844 #: stock/models.py:845 stock/serializers.py:1336 -#: stock/templates/stock/item_base.html:405 +#: stock/templates/stock/item_base.html:401 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 #: templates/js/translated/return_order.js:295 @@ -4939,7 +4936,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:925 +#: part/admin.py:122 part/serializers.py:923 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -5030,7 +5027,7 @@ msgid "No supplier information available" msgstr "" #: company/templates/company/supplier_part.html:139 order/serializers.py:554 -#: part/bom.py:286 part/bom.py:315 part/serializers.py:561 +#: part/bom.py:286 part/bom.py:315 part/serializers.py:559 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1793 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1920 @@ -5084,7 +5081,7 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:923 part/stocktake.py:223 +#: part/serializers.py:921 part/stocktake.py:223 #: part/templates/part/category.html:180 #: part/templates/part/category_sidebar.html:17 stock/admin.py:68 #: stock/serializers.py:1021 stock/serializers.py:1199 @@ -5215,7 +5212,7 @@ msgstr "" msgid "Original row data" msgstr "" -#: importer/models.py:504 part/models.py:3965 +#: importer/models.py:504 part/models.py:3952 msgid "Data" msgstr "Dane" @@ -5473,7 +5470,7 @@ msgstr "Zamówienie oczekujące" #: order/models.py:1592 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_purchase_order_report.html:14 -#: stock/serializers.py:121 stock/templates/stock/item_base.html:176 +#: stock/serializers.py:121 stock/templates/stock/item_base.html:172 #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/part.js:1752 templates/js/translated/pricing.js:804 #: templates/js/translated/purchase_order.js:168 @@ -5694,7 +5691,7 @@ msgid "Number of items received" msgstr "" #: order/models.py:1513 stock/models.py:963 stock/serializers.py:617 -#: stock/templates/stock/item_base.html:183 +#: stock/templates/stock/item_base.html:179 #: templates/js/translated/stock.js:2397 msgid "Purchase Price" msgstr "Cena zakupu" @@ -5768,7 +5765,7 @@ msgid "User who checked this shipment" msgstr "Użytkownik, który sprawdził tę wysyłkę" #: order/models.py:1788 order/models.py:2011 order/serializers.py:1479 -#: order/serializers.py:1589 templates/js/translated/model_renderers.js:455 +#: order/serializers.py:1597 templates/js/translated/model_renderers.js:455 msgid "Shipment" msgstr "Przesyłka" @@ -5982,7 +5979,7 @@ msgstr "" msgid "Line item does not match purchase order" msgstr "Pozycja nie pasuje do zlecenia zakupu" -#: order/serializers.py:656 order/serializers.py:779 order/serializers.py:1790 +#: order/serializers.py:656 order/serializers.py:779 order/serializers.py:1798 msgid "Select destination location for received items" msgstr "" @@ -6019,7 +6016,7 @@ msgstr "" msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:795 order/serializers.py:1806 +#: order/serializers.py:795 order/serializers.py:1814 msgid "Line items must be provided" msgstr "" @@ -6051,39 +6048,39 @@ msgstr "" msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1491 order/serializers.py:1597 +#: order/serializers.py:1491 order/serializers.py:1605 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1494 order/serializers.py:1600 +#: order/serializers.py:1494 order/serializers.py:1608 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1541 +#: order/serializers.py:1549 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1548 -msgid "The following serial numbers are already allocated" +#: order/serializers.py:1556 +msgid "The following serial numbers are unavailable" msgstr "" -#: order/serializers.py:1760 +#: order/serializers.py:1768 msgid "Return order line item" msgstr "" -#: order/serializers.py:1766 +#: order/serializers.py:1774 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1769 +#: order/serializers.py:1777 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1798 +#: order/serializers.py:1806 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1881 +#: order/serializers.py:1889 msgid "Line price currency" msgstr "" @@ -6510,7 +6507,7 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:48 part/models.py:1044 part/serializers.py:908 +#: part/admin.py:48 part/models.py:1044 part/serializers.py:906 #: part/templates/part/part_base.html:276 #: report/templates/report/inventree_stock_location_report.html:103 #: templates/js/translated/part.js:1233 templates/js/translated/part.js:2347 @@ -6537,7 +6534,7 @@ msgstr "" msgid "Category ID" msgstr "ID kategorii" -#: part/admin.py:67 part/admin.py:304 part/serializers.py:893 +#: part/admin.py:67 part/admin.py:304 part/serializers.py:891 #: part/stocktake.py:222 msgid "Category Name" msgstr "" @@ -6562,18 +6559,18 @@ msgstr "Minimalny stan magazynowy" msgid "Used In" msgstr "Użyte w" -#: part/admin.py:150 part/serializers.py:918 +#: part/admin.py:150 part/serializers.py:916 #: part/templates/part/part_base.html:248 stock/admin.py:236 #: templates/js/translated/part.js:717 templates/js/translated/part.js:2159 msgid "Building" msgstr "" -#: part/admin.py:155 part/models.py:3214 part/models.py:3228 +#: part/admin.py:155 part/models.py:3201 part/models.py:3215 #: templates/js/translated/part.js:976 msgid "Minimum Cost" msgstr "" -#: part/admin.py:158 part/models.py:3221 part/models.py:3235 +#: part/admin.py:158 part/models.py:3208 part/models.py:3222 #: templates/js/translated/part.js:986 msgid "Maximum Cost" msgstr "" @@ -6592,7 +6589,7 @@ msgid "Category Path" msgstr "Ścieżka kategorii" #: part/admin.py:325 part/models.py:420 part/serializers.py:130 -#: part/serializers.py:290 part/serializers.py:428 +#: part/serializers.py:290 part/serializers.py:426 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:20 #: part/templates/part/category.html:138 part/templates/part/category.html:158 #: part/templates/part/category_sidebar.html:9 @@ -6619,13 +6616,13 @@ msgstr "" msgid "Part Revision" msgstr "" -#: part/admin.py:418 part/serializers.py:1367 +#: part/admin.py:418 part/serializers.py:1365 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:423 part/serializers.py:1382 +#: part/admin.py:423 part/serializers.py:1380 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -6719,8 +6716,8 @@ msgstr "" msgid "BOM Valid" msgstr "" -#: part/api.py:1520 part/models.py:1036 part/models.py:3501 part/models.py:4060 -#: part/serializers.py:443 part/serializers.py:1223 +#: part/api.py:1520 part/models.py:1036 part/models.py:3488 part/models.py:4047 +#: part/serializers.py:441 part/serializers.py:1221 #: part/templates/part/part_base.html:267 stock/api.py:780 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 @@ -6746,7 +6743,7 @@ msgstr "" msgid "Default Location" msgstr "Domyślna lokalizacja" -#: part/bom.py:184 part/serializers.py:926 +#: part/bom.py:184 part/serializers.py:924 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -6755,7 +6752,7 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:89 part/models.py:4061 part/templates/part/category.html:16 +#: part/models.py:89 part/models.py:4048 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "Kategoria komponentu" @@ -6878,7 +6875,7 @@ msgstr "" msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:995 part/models.py:4116 +#: part/models.py:995 part/models.py:4103 msgid "Part name" msgstr "Nazwa komponentu" @@ -6906,7 +6903,7 @@ msgstr "" msgid "Part category" msgstr "" -#: part/models.py:1052 part/serializers.py:360 +#: part/models.py:1052 msgid "Part revision or version number" msgstr "" @@ -7012,164 +7009,164 @@ msgid "Owner responsible for this part" msgstr "" #: part/models.py:1264 part/templates/part/part_base.html:355 -#: stock/templates/stock/item_base.html:451 +#: stock/templates/stock/item_base.html:447 #: templates/js/translated/part.js:2490 msgid "Last Stocktake" msgstr "Ostatnia inwentaryzacja" -#: part/models.py:2137 +#: part/models.py:2136 msgid "Sell multiple" msgstr "Sprzedaj wiele" -#: part/models.py:3128 +#: part/models.py:3115 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3144 +#: part/models.py:3131 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3145 +#: part/models.py:3132 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3151 +#: part/models.py:3138 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3152 +#: part/models.py:3139 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3158 +#: part/models.py:3145 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3159 +#: part/models.py:3146 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3165 +#: part/models.py:3152 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3166 +#: part/models.py:3153 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3172 +#: part/models.py:3159 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3173 +#: part/models.py:3160 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3179 +#: part/models.py:3166 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3180 +#: part/models.py:3167 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3186 +#: part/models.py:3173 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3187 +#: part/models.py:3174 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3193 +#: part/models.py:3180 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3194 +#: part/models.py:3181 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3200 +#: part/models.py:3187 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3201 +#: part/models.py:3188 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3207 +#: part/models.py:3194 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3208 +#: part/models.py:3195 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3215 +#: part/models.py:3202 msgid "Override minimum cost" msgstr "" -#: part/models.py:3222 +#: part/models.py:3209 msgid "Override maximum cost" msgstr "" -#: part/models.py:3229 +#: part/models.py:3216 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3236 +#: part/models.py:3223 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3242 +#: part/models.py:3229 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3243 +#: part/models.py:3230 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3249 +#: part/models.py:3236 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3250 +#: part/models.py:3237 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3256 +#: part/models.py:3243 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3257 +#: part/models.py:3244 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3263 +#: part/models.py:3250 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3264 +#: part/models.py:3251 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3283 +#: part/models.py:3270 msgid "Part for stocktake" msgstr "" -#: part/models.py:3288 +#: part/models.py:3275 msgid "Item Count" msgstr "" -#: part/models.py:3289 +#: part/models.py:3276 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3297 +#: part/models.py:3284 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3301 part/models.py:3384 +#: part/models.py:3288 part/models.py:3371 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -7181,363 +7178,363 @@ msgstr "" msgid "Date" msgstr "Data" -#: part/models.py:3302 +#: part/models.py:3289 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3310 +#: part/models.py:3297 msgid "Additional notes" msgstr "" -#: part/models.py:3320 +#: part/models.py:3307 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3326 +#: part/models.py:3313 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3327 +#: part/models.py:3314 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3333 +#: part/models.py:3320 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3334 +#: part/models.py:3321 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3390 templates/InvenTree/settings/settings_staff_js.html:532 +#: part/models.py:3377 templates/InvenTree/settings/settings_staff_js.html:532 msgid "Report" msgstr "" -#: part/models.py:3391 +#: part/models.py:3378 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3396 templates/InvenTree/settings/settings_staff_js.html:539 +#: part/models.py:3383 templates/InvenTree/settings/settings_staff_js.html:539 msgid "Part Count" msgstr "" -#: part/models.py:3397 +#: part/models.py:3384 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3407 +#: part/models.py:3394 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3417 +#: part/models.py:3404 msgid "Part Sale Price Break" msgstr "" -#: part/models.py:3529 +#: part/models.py:3516 msgid "Part Test Template" msgstr "" -#: part/models.py:3555 +#: part/models.py:3542 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3576 part/models.py:3745 +#: part/models.py:3563 part/models.py:3732 msgid "Choices must be unique" msgstr "" -#: part/models.py:3587 +#: part/models.py:3574 msgid "Test templates can only be created for testable parts" msgstr "" -#: part/models.py:3598 +#: part/models.py:3585 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3615 templates/js/translated/part.js:2898 +#: part/models.py:3602 templates/js/translated/part.js:2898 msgid "Test Name" msgstr "Nazwa testu" -#: part/models.py:3616 +#: part/models.py:3603 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3622 +#: part/models.py:3609 msgid "Test Key" msgstr "" -#: part/models.py:3623 +#: part/models.py:3610 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3630 +#: part/models.py:3617 msgid "Test Description" msgstr "Testowy opis" -#: part/models.py:3631 +#: part/models.py:3618 msgid "Enter description for this test" msgstr "Wprowadź opis do tego testu" -#: part/models.py:3635 report/models.py:208 +#: part/models.py:3622 report/models.py:216 #: templates/js/translated/part.js:2919 #: templates/js/translated/table_filters.js:502 msgid "Enabled" msgstr "Aktywne" -#: part/models.py:3635 +#: part/models.py:3622 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3640 templates/js/translated/part.js:2927 +#: part/models.py:3627 templates/js/translated/part.js:2927 #: templates/js/translated/table_filters.js:498 msgid "Required" msgstr "Wymagane" -#: part/models.py:3641 +#: part/models.py:3628 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3646 templates/js/translated/part.js:2935 +#: part/models.py:3633 templates/js/translated/part.js:2935 msgid "Requires Value" msgstr "Wymaga wartości" -#: part/models.py:3647 +#: part/models.py:3634 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3652 templates/js/translated/part.js:2942 +#: part/models.py:3639 templates/js/translated/part.js:2942 msgid "Requires Attachment" msgstr "Wymaga załącznika" -#: part/models.py:3654 +#: part/models.py:3641 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3660 part/models.py:3804 templates/js/translated/part.js:1643 +#: part/models.py:3647 part/models.py:3791 templates/js/translated/part.js:1643 msgid "Choices" msgstr "" -#: part/models.py:3661 +#: part/models.py:3648 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3693 +#: part/models.py:3680 msgid "Part Parameter Template" msgstr "" -#: part/models.py:3720 +#: part/models.py:3707 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3725 +#: part/models.py:3712 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3762 +#: part/models.py:3749 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3777 +#: part/models.py:3764 msgid "Parameter Name" msgstr "" -#: part/models.py:3784 +#: part/models.py:3771 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3792 +#: part/models.py:3779 msgid "Parameter description" msgstr "" -#: part/models.py:3798 templates/js/translated/part.js:1634 +#: part/models.py:3785 templates/js/translated/part.js:1634 #: templates/js/translated/table_filters.js:837 msgid "Checkbox" msgstr "" -#: part/models.py:3799 +#: part/models.py:3786 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3805 +#: part/models.py:3792 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3839 +#: part/models.py:3826 msgid "Part Parameter" msgstr "" -#: part/models.py:3865 +#: part/models.py:3852 msgid "Parameter cannot be modified - part is locked" msgstr "" -#: part/models.py:3903 +#: part/models.py:3890 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3952 +#: part/models.py:3939 msgid "Parent Part" msgstr "Część nadrzędna" -#: part/models.py:3960 part/models.py:4068 part/models.py:4069 +#: part/models.py:3947 part/models.py:4055 part/models.py:4056 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3966 +#: part/models.py:3953 msgid "Parameter Value" msgstr "Wartość parametru" -#: part/models.py:4016 +#: part/models.py:4003 msgid "Part Category Parameter Template" msgstr "" -#: part/models.py:4075 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:4062 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "Wartość domyślna" -#: part/models.py:4076 +#: part/models.py:4063 msgid "Default Parameter Value" msgstr "" -#: part/models.py:4114 +#: part/models.py:4101 msgid "Part ID or part name" msgstr "" -#: part/models.py:4115 +#: part/models.py:4102 msgid "Unique part ID value" msgstr "Unikalny wartość ID komponentu" -#: part/models.py:4117 +#: part/models.py:4104 msgid "Part IPN value" msgstr "Wartość IPN części" -#: part/models.py:4118 +#: part/models.py:4105 msgid "Level" msgstr "Poziom" -#: part/models.py:4118 +#: part/models.py:4105 msgid "BOM level" msgstr "" -#: part/models.py:4228 +#: part/models.py:4215 msgid "BOM item cannot be modified - assembly is locked" msgstr "" -#: part/models.py:4235 +#: part/models.py:4222 msgid "BOM item cannot be modified - variant assembly is locked" msgstr "" -#: part/models.py:4245 +#: part/models.py:4232 msgid "Select parent part" msgstr "Wybierz część nadrzędną" -#: part/models.py:4255 +#: part/models.py:4242 msgid "Sub part" msgstr "Podczęść" -#: part/models.py:4256 +#: part/models.py:4243 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4267 +#: part/models.py:4254 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4273 +#: part/models.py:4260 msgid "This BOM item is optional" msgstr "Ten element BOM jest opcjonalny" -#: part/models.py:4279 +#: part/models.py:4266 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4286 part/templates/part/upload_bom.html:55 +#: part/models.py:4273 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4287 +#: part/models.py:4274 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4294 +#: part/models.py:4281 msgid "BOM item reference" msgstr "" -#: part/models.py:4302 +#: part/models.py:4289 msgid "BOM item notes" msgstr "Notatki pozycji BOM" -#: part/models.py:4308 +#: part/models.py:4295 msgid "Checksum" msgstr "Suma kontrolna" -#: part/models.py:4309 +#: part/models.py:4296 msgid "BOM line checksum" msgstr "" -#: part/models.py:4314 templates/js/translated/table_filters.js:181 +#: part/models.py:4301 templates/js/translated/table_filters.js:181 msgid "Validated" msgstr "Zatwierdzone" -#: part/models.py:4315 +#: part/models.py:4302 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4320 part/templates/part/upload_bom.html:57 +#: part/models.py:4307 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:185 #: templates/js/translated/table_filters.js:218 msgid "Gets inherited" msgstr "" -#: part/models.py:4321 +#: part/models.py:4308 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4327 +#: part/models.py:4314 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4412 stock/models.py:689 +#: part/models.py:4399 stock/models.py:689 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4422 part/models.py:4424 +#: part/models.py:4409 part/models.py:4411 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4561 +#: part/models.py:4554 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4582 +#: part/models.py:4575 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4595 +#: part/models.py:4588 msgid "Parent BOM item" msgstr "" -#: part/models.py:4603 +#: part/models.py:4596 msgid "Substitute part" msgstr "Część zastępcza" -#: part/models.py:4619 +#: part/models.py:4612 msgid "Part 1" msgstr "Część 1" -#: part/models.py:4627 +#: part/models.py:4620 msgid "Part 2" msgstr "Część 2" -#: part/models.py:4628 +#: part/models.py:4621 msgid "Select Related Part" msgstr "Wybierz powiązaną część" -#: part/models.py:4647 +#: part/models.py:4640 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4652 +#: part/models.py:4645 msgid "Duplicate relationship already exists" msgstr "" @@ -7571,326 +7568,326 @@ msgstr "Waluta zakupu tego towaru" msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:434 +#: part/serializers.py:432 msgid "No parts selected" msgstr "" -#: part/serializers.py:444 +#: part/serializers.py:442 msgid "Select category" msgstr "" -#: part/serializers.py:479 +#: part/serializers.py:477 msgid "Original Part" msgstr "" -#: part/serializers.py:480 +#: part/serializers.py:478 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:485 +#: part/serializers.py:483 msgid "Copy Image" msgstr "Kopiuj obraz" -#: part/serializers.py:486 +#: part/serializers.py:484 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:492 part/templates/part/detail.html:293 +#: part/serializers.py:490 part/templates/part/detail.html:293 msgid "Copy BOM" msgstr "Kopiuj BOM" -#: part/serializers.py:493 +#: part/serializers.py:491 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:499 +#: part/serializers.py:497 msgid "Copy Parameters" msgstr "Kopiuj parametry" -#: part/serializers.py:500 +#: part/serializers.py:498 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:506 +#: part/serializers.py:504 msgid "Copy Notes" msgstr "" -#: part/serializers.py:507 +#: part/serializers.py:505 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:525 +#: part/serializers.py:523 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:527 +#: part/serializers.py:525 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:534 +#: part/serializers.py:532 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:535 +#: part/serializers.py:533 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:552 +#: part/serializers.py:550 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:568 +#: part/serializers.py:566 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:578 +#: part/serializers.py:576 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:585 +#: part/serializers.py:583 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:594 +#: part/serializers.py:592 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:605 +#: part/serializers.py:603 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:612 +#: part/serializers.py:610 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:924 +#: part/serializers.py:922 msgid "Revisions" msgstr "" -#: part/serializers.py:929 +#: part/serializers.py:927 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:932 +#: part/serializers.py:930 msgid "Variant Stock" msgstr "" -#: part/serializers.py:962 part/templates/part/copy_part.html:9 +#: part/serializers.py:960 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:474 msgid "Duplicate Part" msgstr "Duplikuj część" -#: part/serializers.py:963 +#: part/serializers.py:961 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:969 templates/js/translated/part.js:103 +#: part/serializers.py:967 templates/js/translated/part.js:103 msgid "Initial Stock" msgstr "" -#: part/serializers.py:970 +#: part/serializers.py:968 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:976 +#: part/serializers.py:974 msgid "Supplier Information" msgstr "" -#: part/serializers.py:977 +#: part/serializers.py:975 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:985 +#: part/serializers.py:983 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:986 +#: part/serializers.py:984 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:991 +#: part/serializers.py:989 msgid "Existing Image" msgstr "" -#: part/serializers.py:992 +#: part/serializers.py:990 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:1009 +#: part/serializers.py:1007 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1215 +#: part/serializers.py:1213 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1225 +#: part/serializers.py:1223 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1235 +#: part/serializers.py:1233 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1241 +#: part/serializers.py:1239 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1242 +#: part/serializers.py:1240 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1247 +#: part/serializers.py:1245 msgid "Generate Report" msgstr "" -#: part/serializers.py:1248 +#: part/serializers.py:1246 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1253 +#: part/serializers.py:1251 msgid "Update Parts" msgstr "" -#: part/serializers.py:1254 +#: part/serializers.py:1252 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1262 +#: part/serializers.py:1260 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1368 +#: part/serializers.py:1366 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1375 +#: part/serializers.py:1373 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1383 +#: part/serializers.py:1381 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1390 +#: part/serializers.py:1388 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1419 +#: part/serializers.py:1417 msgid "Update" msgstr "" -#: part/serializers.py:1420 +#: part/serializers.py:1418 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1443 +#: part/serializers.py:1441 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1450 +#: part/serializers.py:1448 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1453 +#: part/serializers.py:1451 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1597 +#: part/serializers.py:1595 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1606 +#: part/serializers.py:1604 msgid "Component Name" msgstr "" -#: part/serializers.py:1609 +#: part/serializers.py:1607 msgid "Component IPN" msgstr "" -#: part/serializers.py:1612 +#: part/serializers.py:1610 msgid "Component Description" msgstr "" -#: part/serializers.py:1618 +#: part/serializers.py:1616 msgid "Select the component part" msgstr "" -#: part/serializers.py:1627 part/templates/part/part_base.html:242 +#: part/serializers.py:1625 part/templates/part/part_base.html:242 #: templates/js/translated/bom.js:1219 msgid "Can Build" msgstr "" -#: part/serializers.py:1858 +#: part/serializers.py:1856 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1866 +#: part/serializers.py:1864 msgid "Remove Existing Data" msgstr "Usuń istniejące dane" -#: part/serializers.py:1867 +#: part/serializers.py:1865 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1872 +#: part/serializers.py:1870 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1873 +#: part/serializers.py:1871 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1878 +#: part/serializers.py:1876 msgid "Skip Invalid Rows" msgstr "Pomiń nieprawidłowe wiersze" -#: part/serializers.py:1879 +#: part/serializers.py:1877 msgid "Enable this option to skip invalid rows" msgstr "Włącz tę opcję, aby pominąć nieprawidłowe wiersze" -#: part/serializers.py:1884 +#: part/serializers.py:1882 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1885 +#: part/serializers.py:1883 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1922 +#: part/serializers.py:1920 msgid "Clear Existing BOM" msgstr "Wyczyść istniejący BOM" -#: part/serializers.py:1923 +#: part/serializers.py:1921 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1955 +#: part/serializers.py:1953 msgid "No part column specified" msgstr "" -#: part/serializers.py:1999 +#: part/serializers.py:1997 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:2002 +#: part/serializers.py:2000 msgid "No matching part found" msgstr "" -#: part/serializers.py:2004 +#: part/serializers.py:2002 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:2013 +#: part/serializers.py:2011 msgid "Quantity not provided" msgstr "Nie podano ilości" -#: part/serializers.py:2021 +#: part/serializers.py:2019 msgid "Invalid quantity" msgstr "Nieprawidłowa ilość" -#: part/serializers.py:2044 +#: part/serializers.py:2042 msgid "At least one BOM item is required" msgstr "" @@ -8216,7 +8213,7 @@ msgid "Subscribe to notifications for this part" msgstr "Włącz powiadomienia dla tej części" #: part/templates/part/part_base.html:52 -#: stock/templates/stock/item_base.html:62 +#: stock/templates/stock/item_base.html:61 #: stock/templates/stock/location.html:71 templates/js/translated/label.js:136 msgid "Print Label" msgstr "Drukuj etykietę" @@ -8226,7 +8223,7 @@ msgid "Show pricing information" msgstr "Pokaż informacje o cenach" #: part/templates/part/part_base.html:63 -#: stock/templates/stock/item_base.html:110 +#: stock/templates/stock/item_base.html:106 #: stock/templates/stock/location.html:80 msgid "Stock actions" msgstr "Akcje magazynowe" @@ -8297,12 +8294,12 @@ msgid "Required for Orders" msgstr "" #: part/templates/part/part_base.html:225 -#: stock/templates/stock/item_base.html:388 +#: stock/templates/stock/item_base.html:384 msgid "Allocated to Build Orders" msgstr "" #: part/templates/part/part_base.html:234 -#: stock/templates/stock/item_base.html:381 +#: stock/templates/stock/item_base.html:377 msgid "Allocated to Sales Orders" msgstr "Przypisane do zamówień sprzedaży" @@ -8322,7 +8319,7 @@ msgid "Latest Serial Number" msgstr "Ostatni numer seryjny" #: part/templates/part/part_base.html:372 -#: stock/templates/stock/item_base.html:322 +#: stock/templates/stock/item_base.html:318 msgid "Search for serial number" msgstr "Szukaj numeru seryjnego" @@ -8449,7 +8446,7 @@ msgid "Edit" msgstr "" #: part/templates/part/prices.html:28 stock/admin.py:252 -#: stock/templates/stock/item_base.html:446 +#: stock/templates/stock/item_base.html:442 #: templates/js/translated/company.js:1703 #: templates/js/translated/company.js:1713 #: templates/js/translated/stock.js:2332 @@ -8604,7 +8601,7 @@ msgstr "Nie znaleziono obrazka części" msgid "Part Pricing" msgstr "Cennik części" -#: plugin/api.py:172 +#: plugin/api.py:174 msgid "Plugin cannot be deleted as it is currently active" msgstr "" @@ -8940,7 +8937,7 @@ msgstr "" msgid "Print a border around each label" msgstr "" -#: plugin/builtin/labels/label_sheet.py:47 report/models.py:307 +#: plugin/builtin/labels/label_sheet.py:47 report/models.py:315 msgid "Landscape" msgstr "" @@ -9012,44 +9009,44 @@ msgstr "" msgid "The Supplier which acts as 'TME'" msgstr "" -#: plugin/installer.py:194 plugin/installer.py:274 +#: plugin/installer.py:199 plugin/installer.py:282 msgid "Only staff users can administer plugins" msgstr "" -#: plugin/installer.py:197 +#: plugin/installer.py:202 msgid "Plugin installation is disabled" msgstr "" -#: plugin/installer.py:241 +#: plugin/installer.py:246 msgid "Installed plugin successfully" msgstr "" -#: plugin/installer.py:246 +#: plugin/installer.py:251 #, python-brace-format msgid "Installed plugin into {path}" msgstr "" -#: plugin/installer.py:265 +#: plugin/installer.py:273 msgid "Plugin was not found in registry" msgstr "" -#: plugin/installer.py:268 +#: plugin/installer.py:276 msgid "Plugin is not a packaged plugin" msgstr "" -#: plugin/installer.py:271 +#: plugin/installer.py:279 msgid "Plugin package name not found" msgstr "" -#: plugin/installer.py:291 +#: plugin/installer.py:299 msgid "Plugin uninstalling is disabled" msgstr "" -#: plugin/installer.py:295 +#: plugin/installer.py:303 msgid "Plugin cannot be uninstalled as it is currently active" msgstr "" -#: plugin/installer.py:308 +#: plugin/installer.py:316 msgid "Uninstalled plugin successfully" msgstr "" @@ -9098,7 +9095,7 @@ msgstr "Wtyczka wbudowana" msgid "Package Plugin" msgstr "" -#: plugin/models.py:220 report/models.py:474 +#: plugin/models.py:220 report/models.py:482 #: templates/InvenTree/settings/plugin_settings.html:9 #: templates/js/translated/plugin.js:51 msgid "Plugin" @@ -9167,6 +9164,38 @@ msgstr "" msgid "InvenTree Contributors" msgstr "" +#: plugin/samples/integration/user_interface_sample.py:22 +msgid "Enable Part Panels" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:23 +msgid "Enable custom panels for Part views" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:28 +msgid "Enable Purchase Order Panels" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:29 +msgid "Enable custom panels for Purchase Order views" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:34 +msgid "Enable Broken Panels" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:35 +msgid "Enable broken panels for testing" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:40 +msgid "Enable Dynamic Panel" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:41 +msgid "Enable dynamic panels for testing" +msgstr "" + #: plugin/serializers.py:81 msgid "Source URL" msgstr "Źródłowy adres URL" @@ -9245,12 +9274,36 @@ msgstr "" msgid "Delete the plugin configuration from the database" msgstr "" +#: plugin/serializers.py:324 +msgid "Plugin Key" +msgstr "" + +#: plugin/serializers.py:328 +msgid "Panel Name" +msgstr "" + +#: plugin/serializers.py:332 +msgid "Panel Title" +msgstr "" + +#: plugin/serializers.py:337 +msgid "Panel Icon" +msgstr "" + +#: plugin/serializers.py:341 +msgid "Panel Content (HTML)" +msgstr "" + +#: plugin/serializers.py:345 +msgid "Panel Source (javascript)" +msgstr "" + #: report/api.py:88 msgid "No valid objects provided to template" msgstr "Brak prawidłowych obiektów do szablonu" -#: report/api.py:103 report/models.py:438 report/serializers.py:98 -#: report/serializers.py:148 templates/js/translated/purchase_order.js:1817 +#: report/api.py:103 report/models.py:446 report/serializers.py:99 +#: report/serializers.py:149 templates/js/translated/purchase_order.js:1817 #: templates/js/translated/return_order.js:353 #: templates/js/translated/sales_order.js:887 #: templates/js/translated/sales_order.js:1047 @@ -9281,7 +9334,11 @@ msgstr "" msgid "Error printing label" msgstr "" -#: report/api.py:375 report/api.py:411 +#: report/api.py:358 +msgid "Report saved at time of printing" +msgstr "" + +#: report/api.py:384 report/api.py:420 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "Plik szablonu '{template}' jest brakujący lub nie istnieje" @@ -9318,135 +9375,143 @@ msgstr "" msgid "Revision number (auto-increments)" msgstr "" -#: report/models.py:202 +#: report/models.py:168 +msgid "Attach to Model on Print" +msgstr "" + +#: report/models.py:170 +msgid "Save report output as an attachment against linked model instance when printing" +msgstr "" + +#: report/models.py:210 msgid "Filename Pattern" msgstr "Wzór nazwy pliku" -#: report/models.py:203 +#: report/models.py:211 msgid "Pattern for generating filenames" msgstr "" -#: report/models.py:208 +#: report/models.py:216 msgid "Template is enabled" msgstr "" -#: report/models.py:214 +#: report/models.py:222 msgid "Target model type for template" msgstr "" -#: report/models.py:234 +#: report/models.py:242 msgid "Filters" msgstr "Filtry" -#: report/models.py:235 +#: report/models.py:243 msgid "Template query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:294 report/models.py:361 +#: report/models.py:302 report/models.py:369 msgid "Template file" msgstr "" -#: report/models.py:302 +#: report/models.py:310 msgid "Page size for PDF reports" msgstr "Domyślna wielkość strony dla raportów PDF" -#: report/models.py:308 +#: report/models.py:316 msgid "Render report in landscape orientation" msgstr "Renderuj raport w orientacji poziomej" -#: report/models.py:367 +#: report/models.py:375 msgid "Width [mm]" msgstr "Szerokość [mm]" -#: report/models.py:368 +#: report/models.py:376 msgid "Label width, specified in mm" msgstr "" -#: report/models.py:374 +#: report/models.py:382 msgid "Height [mm]" msgstr "Wysokość [mm]" -#: report/models.py:375 +#: report/models.py:383 msgid "Label height, specified in mm" msgstr "" -#: report/models.py:438 +#: report/models.py:446 msgid "Number of items to process" msgstr "" -#: report/models.py:444 +#: report/models.py:452 msgid "Report generation is complete" msgstr "" -#: report/models.py:448 templates/js/translated/build.js:2352 +#: report/models.py:456 templates/js/translated/build.js:2352 msgid "Progress" msgstr "" -#: report/models.py:448 +#: report/models.py:456 msgid "Report generation progress" msgstr "" -#: report/models.py:456 +#: report/models.py:464 msgid "Report Template" msgstr "" -#: report/models.py:463 report/models.py:486 +#: report/models.py:471 report/models.py:494 msgid "Output File" msgstr "" -#: report/models.py:464 report/models.py:487 +#: report/models.py:472 report/models.py:495 msgid "Generated output file" msgstr "" -#: report/models.py:475 +#: report/models.py:483 msgid "Label output plugin" msgstr "" -#: report/models.py:479 +#: report/models.py:487 msgid "Label Template" msgstr "" -#: report/models.py:502 +#: report/models.py:510 msgid "Snippet" msgstr "Wycinek" -#: report/models.py:503 +#: report/models.py:511 msgid "Report snippet file" msgstr "" -#: report/models.py:510 +#: report/models.py:518 msgid "Snippet file description" msgstr "" -#: report/models.py:528 +#: report/models.py:536 msgid "Asset" msgstr "" -#: report/models.py:529 +#: report/models.py:537 msgid "Report asset file" msgstr "" -#: report/models.py:536 +#: report/models.py:544 msgid "Asset file description" msgstr "" -#: report/serializers.py:91 +#: report/serializers.py:92 msgid "Select report template" msgstr "" -#: report/serializers.py:99 report/serializers.py:149 +#: report/serializers.py:100 report/serializers.py:150 msgid "List of item primary keys to include in the report" msgstr "" -#: report/serializers.py:132 +#: report/serializers.py:133 msgid "Select label template" msgstr "" -#: report/serializers.py:140 +#: report/serializers.py:141 msgid "Printing Plugin" msgstr "" -#: report/serializers.py:141 +#: report/serializers.py:142 msgid "Select plugin to use for label printing" msgstr "" @@ -9517,7 +9582,7 @@ msgstr "" msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report.html:103 stock/models.py:2538 +#: report/templates/report/inventree_test_report.html:103 stock/models.py:2533 msgid "Result" msgstr "Wynik" @@ -9598,7 +9663,7 @@ msgid "Customer ID" msgstr "" #: stock/admin.py:206 stock/models.py:829 -#: stock/templates/stock/item_base.html:354 +#: stock/templates/stock/item_base.html:350 msgid "Installed In" msgstr "Zainstalowane w" @@ -9623,7 +9688,7 @@ msgid "Delete on Deplete" msgstr "" #: stock/admin.py:261 stock/models.py:923 -#: stock/templates/stock/item_base.html:433 +#: stock/templates/stock/item_base.html:429 #: templates/js/translated/stock.js:2316 users/models.py:124 msgid "Expiry Date" msgstr "Data ważności" @@ -9665,7 +9730,7 @@ msgid "Expiry date after" msgstr "" #: stock/api.py:839 stock/serializers.py:611 -#: stock/templates/stock/item_base.html:439 +#: stock/templates/stock/item_base.html:435 #: templates/js/translated/table_filters.js:448 msgid "Stale" msgstr "" @@ -9715,7 +9780,7 @@ msgid "Stock Locations" msgstr "Lokacje stanu magazynowego" #: stock/models.py:185 stock/models.py:972 -#: stock/templates/stock/item_base.html:247 +#: stock/templates/stock/item_base.html:243 msgid "Owner" msgstr "Właściciel" @@ -9826,7 +9891,7 @@ msgstr "" msgid "Build for this stock item" msgstr "" -#: stock/models.py:892 stock/templates/stock/item_base.html:363 +#: stock/models.py:892 stock/templates/stock/item_base.html:359 msgid "Consumed By" msgstr "" @@ -9891,7 +9956,7 @@ msgstr "" msgid "Serial numbers already exist" msgstr "Numer seryjny już istnieje" -#: stock/models.py:1636 +#: stock/models.py:1636 stock/models.py:2436 msgid "Test template does not exist" msgstr "" @@ -9939,67 +10004,67 @@ msgstr "" msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2337 +#: stock/models.py:2335 msgid "Stock Item Tracking" msgstr "" -#: stock/models.py:2370 +#: stock/models.py:2368 msgid "Entry notes" msgstr "Notatki do wpisu" -#: stock/models.py:2410 +#: stock/models.py:2408 msgid "Stock Item Test Result" msgstr "" -#: stock/models.py:2443 +#: stock/models.py:2439 msgid "Value must be provided for this test" msgstr "Należy podać wartość dla tego testu" -#: stock/models.py:2448 +#: stock/models.py:2443 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2453 +#: stock/models.py:2448 msgid "Invalid value for this test" msgstr "" -#: stock/models.py:2538 +#: stock/models.py:2533 msgid "Test result" msgstr "Wynik testu" -#: stock/models.py:2545 +#: stock/models.py:2540 msgid "Test output value" msgstr "" -#: stock/models.py:2553 stock/serializers.py:245 +#: stock/models.py:2548 stock/serializers.py:245 msgid "Test result attachment" msgstr "" -#: stock/models.py:2557 +#: stock/models.py:2552 msgid "Test notes" msgstr "" -#: stock/models.py:2565 templates/js/translated/stock.js:1633 +#: stock/models.py:2560 templates/js/translated/stock.js:1633 msgid "Test station" msgstr "" -#: stock/models.py:2566 +#: stock/models.py:2561 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2572 +#: stock/models.py:2567 msgid "Started" msgstr "" -#: stock/models.py:2573 +#: stock/models.py:2568 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2579 +#: stock/models.py:2574 msgid "Finished" msgstr "" -#: stock/models.py:2580 +#: stock/models.py:2575 msgid "The timestamp of the test finish" msgstr "" @@ -10059,7 +10124,7 @@ msgstr "" msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:459 stock/templates/stock/item_base.html:193 +#: stock/serializers.py:459 stock/templates/stock/item_base.html:189 msgid "Parent Item" msgstr "Element nadrzędny" @@ -10071,7 +10136,7 @@ msgstr "" msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:603 stock/templates/stock/item_base.html:437 +#: stock/serializers.py:603 stock/templates/stock/item_base.html:433 #: templates/js/translated/table_filters.js:442 users/models.py:174 msgid "Expired" msgstr "Termin minął" @@ -10410,7 +10475,7 @@ msgstr "" msgid "Test Data" msgstr "" -#: stock/templates/stock/item.html:85 stock/templates/stock/item_base.html:65 +#: stock/templates/stock/item.html:85 msgid "Test Report" msgstr "" @@ -10450,200 +10515,204 @@ msgstr "" msgid "Scan to Location" msgstr "Skanuj do lokacji" -#: stock/templates/stock/item_base.html:59 +#: stock/templates/stock/item_base.html:58 #: stock/templates/stock/location.html:67 #: templates/js/translated/filters.js:434 msgid "Printing actions" msgstr "Akcje druku" -#: stock/templates/stock/item_base.html:75 +#: stock/templates/stock/item_base.html:63 templates/js/translated/report.js:49 +msgid "Print Report" +msgstr "" + +#: stock/templates/stock/item_base.html:71 msgid "Stock adjustment actions" msgstr "" -#: stock/templates/stock/item_base.html:79 +#: stock/templates/stock/item_base.html:75 #: stock/templates/stock/location.html:87 templates/js/translated/stock.js:1909 msgid "Count stock" msgstr "Przelicz stan magazynowy" -#: stock/templates/stock/item_base.html:81 +#: stock/templates/stock/item_base.html:77 #: templates/js/translated/stock.js:1891 msgid "Add stock" msgstr "" -#: stock/templates/stock/item_base.html:82 +#: stock/templates/stock/item_base.html:78 #: templates/js/translated/stock.js:1900 msgid "Remove stock" msgstr "Usuń stan magazynowy" -#: stock/templates/stock/item_base.html:85 +#: stock/templates/stock/item_base.html:81 msgid "Serialize stock" msgstr "" -#: stock/templates/stock/item_base.html:88 +#: stock/templates/stock/item_base.html:84 #: stock/templates/stock/location.html:93 templates/js/translated/stock.js:1918 msgid "Transfer stock" msgstr "Przenieś stan magazynowy" -#: stock/templates/stock/item_base.html:91 +#: stock/templates/stock/item_base.html:87 #: templates/js/translated/stock.js:1973 msgid "Assign to customer" msgstr "" -#: stock/templates/stock/item_base.html:94 +#: stock/templates/stock/item_base.html:90 msgid "Return to stock" msgstr "" -#: stock/templates/stock/item_base.html:97 +#: stock/templates/stock/item_base.html:93 msgid "Uninstall stock item" msgstr "" -#: stock/templates/stock/item_base.html:97 +#: stock/templates/stock/item_base.html:93 msgid "Uninstall" msgstr "Odinstaluj" -#: stock/templates/stock/item_base.html:101 +#: stock/templates/stock/item_base.html:97 msgid "Install stock item" msgstr "" -#: stock/templates/stock/item_base.html:101 +#: stock/templates/stock/item_base.html:97 msgid "Install" msgstr "Zainstaluj" -#: stock/templates/stock/item_base.html:115 +#: stock/templates/stock/item_base.html:111 msgid "Convert to variant" msgstr "" -#: stock/templates/stock/item_base.html:118 +#: stock/templates/stock/item_base.html:114 msgid "Duplicate stock item" msgstr "" -#: stock/templates/stock/item_base.html:120 +#: stock/templates/stock/item_base.html:116 msgid "Edit stock item" msgstr "" -#: stock/templates/stock/item_base.html:123 +#: stock/templates/stock/item_base.html:119 msgid "Delete stock item" msgstr "" -#: stock/templates/stock/item_base.html:169 templates/InvenTree/search.html:139 +#: stock/templates/stock/item_base.html:165 templates/InvenTree/search.html:139 #: templates/js/translated/build.js:2298 templates/navbar.html:38 msgid "Build" msgstr "Budowa" -#: stock/templates/stock/item_base.html:211 +#: stock/templates/stock/item_base.html:207 msgid "No manufacturer set" msgstr "Nie ustawiono producenta" -#: stock/templates/stock/item_base.html:251 +#: stock/templates/stock/item_base.html:247 msgid "You are not in the list of owners of this item. This stock item cannot be edited." msgstr "" -#: stock/templates/stock/item_base.html:252 +#: stock/templates/stock/item_base.html:248 #: stock/templates/stock/location.html:146 msgid "Read only" msgstr "Tylko do odczytu" -#: stock/templates/stock/item_base.html:265 +#: stock/templates/stock/item_base.html:261 msgid "This stock item is unavailable" msgstr "" -#: stock/templates/stock/item_base.html:271 +#: stock/templates/stock/item_base.html:267 msgid "This stock item is in production and cannot be edited." msgstr "" -#: stock/templates/stock/item_base.html:272 +#: stock/templates/stock/item_base.html:268 msgid "Edit the stock item from the build view." msgstr "" -#: stock/templates/stock/item_base.html:287 +#: stock/templates/stock/item_base.html:283 msgid "This stock item is allocated to Sales Order" msgstr "" -#: stock/templates/stock/item_base.html:295 +#: stock/templates/stock/item_base.html:291 msgid "This stock item is allocated to Build Order" msgstr "" -#: stock/templates/stock/item_base.html:311 +#: stock/templates/stock/item_base.html:307 msgid "This stock item is serialized. It has a unique serial number and the quantity cannot be adjusted" msgstr "" -#: stock/templates/stock/item_base.html:317 +#: stock/templates/stock/item_base.html:313 msgid "previous page" msgstr "poprzednia strona" -#: stock/templates/stock/item_base.html:317 +#: stock/templates/stock/item_base.html:313 msgid "Navigate to previous serial number" msgstr "" -#: stock/templates/stock/item_base.html:326 +#: stock/templates/stock/item_base.html:322 msgid "next page" msgstr "następna strona" -#: stock/templates/stock/item_base.html:326 +#: stock/templates/stock/item_base.html:322 msgid "Navigate to next serial number" msgstr "" -#: stock/templates/stock/item_base.html:398 +#: stock/templates/stock/item_base.html:394 #: templates/js/translated/build.js:2555 msgid "No location set" msgstr "Lokacje nie są ustawione" -#: stock/templates/stock/item_base.html:413 +#: stock/templates/stock/item_base.html:409 msgid "Tests" msgstr "Testy" -#: stock/templates/stock/item_base.html:419 +#: stock/templates/stock/item_base.html:415 msgid "This stock item has not passed all required tests" msgstr "" -#: stock/templates/stock/item_base.html:437 +#: stock/templates/stock/item_base.html:433 #, python-format msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:439 +#: stock/templates/stock/item_base.html:435 #, python-format msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:455 +#: stock/templates/stock/item_base.html:451 msgid "No stocktake performed" msgstr "" -#: stock/templates/stock/item_base.html:504 +#: stock/templates/stock/item_base.html:500 #: templates/js/translated/stock.js:2038 msgid "stock item" msgstr "" -#: stock/templates/stock/item_base.html:527 +#: stock/templates/stock/item_base.html:523 msgid "Edit Stock Status" msgstr "" -#: stock/templates/stock/item_base.html:536 +#: stock/templates/stock/item_base.html:532 msgid "Stock Item QR Code" msgstr "" -#: stock/templates/stock/item_base.html:547 +#: stock/templates/stock/item_base.html:543 msgid "Link Barcode to Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:611 +#: stock/templates/stock/item_base.html:607 msgid "Select one of the part variants listed below." msgstr "" -#: stock/templates/stock/item_base.html:614 +#: stock/templates/stock/item_base.html:610 msgid "Warning" msgstr "Ostrzeżenie" -#: stock/templates/stock/item_base.html:615 +#: stock/templates/stock/item_base.html:611 msgid "This action cannot be easily undone" msgstr "" -#: stock/templates/stock/item_base.html:623 +#: stock/templates/stock/item_base.html:619 msgid "Convert Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:656 +#: stock/templates/stock/item_base.html:652 msgid "Return to Stock" msgstr "" @@ -11310,7 +11379,7 @@ msgid "Delete Location Type" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:503 -#: templates/InvenTree/settings/stock.html:38 +#: templates/InvenTree/settings/stock.html:39 msgid "New Location Type" msgstr "" @@ -11367,7 +11436,7 @@ msgstr "" msgid "Stock Settings" msgstr "" -#: templates/InvenTree/settings/stock.html:34 +#: templates/InvenTree/settings/stock.html:35 msgid "Stock Location Types" msgstr "" @@ -11852,23 +11921,23 @@ msgstr "Dodaj załącznik" msgid "Barcode Identifier" msgstr "Skaner kodów" -#: templates/base.html:103 +#: templates/base.html:102 msgid "Server Restart Required" msgstr "Wymagane ponowne uruchomienie serwera" -#: templates/base.html:106 +#: templates/base.html:105 msgid "A configuration option has been changed which requires a server restart" msgstr "Zmieniono opcję konfiguracji, która wymaga ponownego uruchomienia serwera" -#: templates/base.html:106 templates/base.html:116 +#: templates/base.html:105 templates/base.html:115 msgid "Contact your system administrator for further information" msgstr "Skontaktuj się z administratorem systemu w celu uzyskania dalszych informacji" -#: templates/base.html:113 +#: templates/base.html:112 msgid "Pending Database Migrations" msgstr "" -#: templates/base.html:116 +#: templates/base.html:115 msgid "There are pending database migrations which require attention" msgstr "" @@ -13946,10 +14015,6 @@ msgstr "" msgid "Delete line item" msgstr "" -#: templates/js/translated/report.js:49 -msgid "Print Report" -msgstr "" - #: templates/js/translated/report.js:68 msgid "Report print successful" msgstr "" diff --git a/src/backend/InvenTree/locale/pt/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/pt/LC_MESSAGES/django.po index e3c5494a8539..ff593db9e8bc 100644 --- a/src/backend/InvenTree/locale/pt/LC_MESSAGES/django.po +++ b/src/backend/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: 2024-08-29 07:07+0000\n" -"PO-Revision-Date: 2024-08-29 07:10\n" +"POT-Creation-Date: 2024-09-16 00:37+0000\n" +"PO-Revision-Date: 2024-09-16 00:40\n" "Last-Translator: \n" "Language-Team: Portuguese\n" "Language: pt_PT\n" @@ -65,9 +65,9 @@ msgstr "Insira uma Data" #: 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:59 -#: part/models.py:3309 part/templates/part/part_sidebar.html:65 +#: part/models.py:3296 part/templates/part/part_sidebar.html:65 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/admin.py:231 stock/models.py:2369 stock/models.py:2557 +#: stock/admin.py:231 stock/models.py:2367 stock/models.py:2552 #: stock/serializers.py:705 stock/serializers.py:863 stock/serializers.py:989 #: stock/serializers.py:1039 stock/serializers.py:1350 #: stock/serializers.py:1439 stock/serializers.py:1604 @@ -364,7 +364,7 @@ msgstr "Chinês (Tradicional)" msgid "[{site_name}] Log in to the app" msgstr "[{site_name}] Entre no aplicativo" -#: InvenTree/magic_login.py:38 InvenTree/serializers.py:413 +#: InvenTree/magic_login.py:38 InvenTree/serializers.py:416 #: company/models.py:133 company/templates/company/company_base.html:138 #: templates/InvenTree/settings/user.html:49 #: templates/js/translated/company.js:677 @@ -419,9 +419,9 @@ msgstr "Nomes duplicados não podem existir sob o mesmo parental" msgid "Invalid choice" msgstr "Escolha inválida" -#: InvenTree/models.py:767 common/models.py:2704 common/models.py:3131 -#: common/models.py:3351 common/serializers.py:439 company/models.py:590 -#: machine/models.py:24 part/models.py:995 part/models.py:3776 +#: InvenTree/models.py:767 common/models.py:2705 common/models.py:3132 +#: common/models.py:3352 common/serializers.py:455 company/models.py:590 +#: machine/models.py:24 part/models.py:995 part/models.py:3763 #: plugin/models.py:51 report/models.py:149 stock/models.py:82 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -446,10 +446,10 @@ msgstr "Nome" #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 order/models.py:289 #: order/models.py:1406 part/admin.py:305 part/admin.py:411 part/models.py:1018 -#: part/models.py:3791 part/templates/part/category.html:79 +#: part/models.py:3778 part/templates/part/category.html:79 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:155 -#: report/models.py:509 report/models.py:535 +#: report/models.py:517 report/models.py:543 #: report/templates/report/inventree_build_order_report.html:117 #: stock/admin.py:54 stock/models.py:88 stock/templates/stock/location.html:122 #: templates/InvenTree/settings/notifications.html:19 @@ -517,12 +517,12 @@ msgstr "Erro de servidor" msgid "An error has been logged by the server." msgstr "Log de erro salvo pelo servidor." -#: InvenTree/serializers.py:63 part/models.py:4400 +#: InvenTree/serializers.py:63 part/models.py:4387 msgid "Must be a valid number" msgstr "Preicsa ser um numero valido" #: InvenTree/serializers.py:100 company/models.py:183 -#: company/templates/company/company_base.html:112 part/models.py:3127 +#: company/templates/company/company_base.html:112 part/models.py:3114 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -536,43 +536,43 @@ msgstr "Selecione a Moeda nas opções disponíveis" msgid "Username" msgstr "Nome de usuário" -#: InvenTree/serializers.py:407 templates/InvenTree/settings/user.html:37 +#: InvenTree/serializers.py:408 templates/InvenTree/settings/user.html:37 msgid "First Name" msgstr "Primeiro Nome" -#: InvenTree/serializers.py:407 +#: InvenTree/serializers.py:408 msgid "First name of the user" msgstr "" -#: InvenTree/serializers.py:410 templates/InvenTree/settings/user.html:41 +#: InvenTree/serializers.py:412 templates/InvenTree/settings/user.html:41 msgid "Last Name" msgstr "Sobrenome" -#: InvenTree/serializers.py:410 +#: InvenTree/serializers.py:412 msgid "Last name of the user" msgstr "" -#: InvenTree/serializers.py:413 +#: InvenTree/serializers.py:416 msgid "Email address of the user" msgstr "" -#: InvenTree/serializers.py:438 +#: InvenTree/serializers.py:441 msgid "Staff" msgstr "" -#: InvenTree/serializers.py:438 +#: InvenTree/serializers.py:441 msgid "Does this user have staff permissions" msgstr "" -#: InvenTree/serializers.py:441 +#: InvenTree/serializers.py:445 msgid "Superuser" msgstr "" -#: InvenTree/serializers.py:441 +#: InvenTree/serializers.py:445 msgid "Is this user a superuser" msgstr "" -#: InvenTree/serializers.py:444 common/models.py:2709 company/models.py:160 +#: InvenTree/serializers.py:449 common/models.py:2710 company/models.py:160 #: company/models.py:798 machine/models.py:39 part/admin.py:88 #: part/models.py:1201 plugin/models.py:66 #: templates/js/translated/company.js:523 @@ -585,89 +585,89 @@ msgstr "" msgid "Active" msgstr "Ativo" -#: InvenTree/serializers.py:444 +#: InvenTree/serializers.py:449 msgid "Is this user account active" msgstr "" -#: InvenTree/serializers.py:462 +#: InvenTree/serializers.py:467 msgid "You do not have permission to change this user role." msgstr "Não tem permissões para alterar este papel do usuário." -#: InvenTree/serializers.py:474 +#: InvenTree/serializers.py:503 msgid "Only superusers can create new users" msgstr "Apenas superusuários podem criar novos usuários" -#: InvenTree/serializers.py:493 +#: InvenTree/serializers.py:522 msgid "Your account has been created." msgstr "Sua conta foi criada." -#: InvenTree/serializers.py:495 +#: InvenTree/serializers.py:524 msgid "Please use the password reset function to login" msgstr "Por favor, use a função de redefinir senha para acessar" -#: InvenTree/serializers.py:502 +#: InvenTree/serializers.py:531 msgid "Welcome to InvenTree" msgstr "Bem-vindo(a) ao InvenTree" -#: InvenTree/serializers.py:560 +#: InvenTree/serializers.py:589 msgid "Invalid value" msgstr "Valor inválido" -#: InvenTree/serializers.py:580 importer/models.py:64 +#: InvenTree/serializers.py:609 importer/models.py:64 msgid "Data File" msgstr "Arquivo de dados" -#: InvenTree/serializers.py:581 +#: InvenTree/serializers.py:610 msgid "Select data file for upload" msgstr "Selecione um arquivo de dados para enviar" -#: InvenTree/serializers.py:598 +#: InvenTree/serializers.py:627 msgid "Unsupported file type" msgstr "Tipo de arquivo não suportado" -#: InvenTree/serializers.py:604 +#: InvenTree/serializers.py:633 msgid "File is too large" msgstr "O arquivo é muito grande" -#: InvenTree/serializers.py:625 +#: InvenTree/serializers.py:654 msgid "No columns found in file" msgstr "Nenhuma coluna encontrada no arquivo" -#: InvenTree/serializers.py:628 +#: InvenTree/serializers.py:657 msgid "No data rows found in file" msgstr "Nenhuma linha de dados encontrada no arquivo" -#: InvenTree/serializers.py:740 +#: InvenTree/serializers.py:769 msgid "No data rows provided" msgstr "Nenhuma linha de dados fornecida" -#: InvenTree/serializers.py:743 +#: InvenTree/serializers.py:772 msgid "No data columns supplied" msgstr "Nenhuma coluna de dados fornecida" -#: InvenTree/serializers.py:809 +#: InvenTree/serializers.py:838 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "Falta a coluna obrigatória: '{name}'" -#: InvenTree/serializers.py:818 +#: InvenTree/serializers.py:847 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "Coluna duplicada: \"{col}\"" -#: InvenTree/serializers.py:857 +#: InvenTree/serializers.py:886 msgid "Remote Image" msgstr "Imagens Remota" -#: InvenTree/serializers.py:858 +#: InvenTree/serializers.py:887 msgid "URL of remote image file" msgstr "URL do arquivo de imagem remoto" -#: InvenTree/serializers.py:876 +#: InvenTree/serializers.py:905 msgid "Downloading images from remote URL is not enabled" msgstr "Baixar imagens de URL remota não está habilitado" -#: InvenTree/status.py:65 part/serializers.py:1267 +#: InvenTree/status.py:65 part/serializers.py:1265 msgid "Background worker check failed" msgstr "Falha em verificar o histórico do trabalhador" @@ -759,7 +759,7 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "Produção deve ser cancelada antes de ser deletada" -#: build/api.py:319 build/serializers.py:1332 part/models.py:4278 +#: build/api.py:319 build/serializers.py:1332 part/models.py:4265 #: templates/js/translated/bom.js:997 templates/js/translated/bom.js:1037 #: templates/js/translated/build.js:2705 #: templates/js/translated/table_filters.js:197 @@ -767,7 +767,7 @@ msgstr "Produção deve ser cancelada antes de ser deletada" msgid "Consumable" msgstr "Consumível" -#: build/api.py:320 build/serializers.py:1333 part/models.py:4272 +#: build/api.py:320 build/serializers.py:1333 part/models.py:4259 #: part/templates/part/upload_bom.html:58 templates/js/translated/bom.js:1001 #: templates/js/translated/bom.js:1028 templates/js/translated/build.js:2696 #: templates/js/translated/table_filters.js:193 @@ -777,7 +777,7 @@ msgid "Optional" msgstr "Opcional" #: build/api.py:321 common/models.py:1491 part/admin.py:91 part/admin.py:428 -#: part/models.py:1166 part/serializers.py:1596 +#: part/models.py:1166 part/serializers.py:1594 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:337 #: templates/js/translated/table_filters.js:729 @@ -816,7 +816,7 @@ msgstr "Alocado" msgid "Available" msgstr "Disponível" -#: build/models.py:87 build/templates/build/build_base.html:9 +#: build/models.py:88 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_report.html:105 #: stock/serializers.py:85 templates/email/build_order_completed.html:16 @@ -825,7 +825,7 @@ msgstr "Disponível" msgid "Build Order" msgstr "Ordem de Produção" -#: build/models.py:88 build/templates/build/build_base.html:13 +#: build/models.py:89 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:111 #: order/templates/order/so_sidebar.html:13 @@ -866,7 +866,7 @@ msgstr "Referência do pedido de produção" #: build/models.py:243 build/serializers.py:1331 order/models.py:468 #: order/models.py:979 order/models.py:1366 order/models.py:2128 -#: part/admin.py:414 part/models.py:4293 part/templates/part/upload_bom.html:54 +#: part/admin.py:414 part/models.py:4280 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 @@ -892,11 +892,11 @@ msgstr "Pedido de produção para qual este serviço está alocado" #: build/templates/build/build_base.html:105 #: build/templates/build/detail.html:29 company/models.py:1043 order/api.py:761 #: order/models.py:1496 order/models.py:1651 order/models.py:1652 -#: part/api.py:1506 part/api.py:1806 part/models.py:419 part/models.py:3138 -#: part/models.py:3282 part/models.py:3430 part/models.py:3451 -#: part/models.py:3473 part/models.py:3609 part/models.py:3951 -#: part/models.py:4114 part/models.py:4244 part/models.py:4602 -#: part/serializers.py:1213 part/serializers.py:1857 +#: part/api.py:1506 part/api.py:1806 part/models.py:419 part/models.py:3125 +#: part/models.py:3269 part/models.py:3417 part/models.py:3438 +#: part/models.py:3460 part/models.py:3596 part/models.py:3938 +#: part/models.py:4101 part/models.py:4231 part/models.py:4595 +#: part/serializers.py:1211 part/serializers.py:1855 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -1063,12 +1063,12 @@ msgstr "Usuário ou grupo responsável para este pedido de produção" #: order/templates/order/return_order_base.html:148 #: order/templates/order/sales_order_base.html:187 #: part/templates/part/part_base.html:399 stock/models.py:859 -#: stock/templates/stock/item_base.html:200 +#: stock/templates/stock/item_base.html:196 #: templates/js/translated/company.js:1019 msgid "External Link" msgstr "Link Externo" -#: build/models.py:378 common/models.py:3272 part/models.py:1070 +#: build/models.py:378 common/models.py:3273 part/models.py:1070 #: stock/models.py:859 msgid "Link to external URL" msgstr "Link para URL externa" @@ -1110,7 +1110,7 @@ msgstr "O Pedido de produção {build} foi concluído!" msgid "A build order has been completed" msgstr "Um pedido de produção foi concluído" -#: build/models.py:968 build/models.py:1056 +#: build/models.py:968 build/models.py:1057 msgid "No build output specified" msgstr "Nenhuma saída de produção especificada" @@ -1122,37 +1122,37 @@ msgstr "Saída de produção já completada" msgid "Build output does not match Build Order" msgstr "Saída da produção não corresponde ao Pedido de Produção" -#: build/models.py:1060 build/serializers.py:279 build/serializers.py:328 +#: build/models.py:1061 build/serializers.py:279 build/serializers.py:328 #: build/serializers.py:959 order/models.py:565 order/serializers.py:500 -#: order/serializers.py:666 part/serializers.py:1590 part/serializers.py:2019 +#: order/serializers.py:666 part/serializers.py:1588 part/serializers.py:2017 #: stock/models.py:704 stock/models.py:1515 stock/serializers.py:676 msgid "Quantity must be greater than zero" msgstr "Quantidade deve ser maior que zero" -#: build/models.py:1065 build/serializers.py:284 +#: build/models.py:1066 build/serializers.py:284 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:1125 build/serializers.py:607 +#: build/models.py:1126 build/serializers.py:607 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "O item de produção {serial} não passou todos os testes necessários" -#: build/models.py:1466 +#: build/models.py:1477 msgid "Build Order Line Item" msgstr "Item da linha de Produção" -#: build/models.py:1491 +#: build/models.py:1502 msgid "Build object" msgstr "Objeto de produção" -#: build/models.py:1505 build/models.py:1761 build/serializers.py:266 +#: build/models.py:1516 build/models.py:1775 build/serializers.py:266 #: build/serializers.py:313 build/serializers.py:1339 #: build/templates/build/build_base.html:110 -#: build/templates/build/detail.html:34 common/models.py:2581 +#: build/templates/build/detail.html:34 common/models.py:2582 #: order/models.py:1349 order/models.py:2034 order/serializers.py:1464 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:413 -#: part/forms.py:48 part/models.py:3296 part/models.py:4266 +#: part/forms.py:48 part/models.py:3283 part/models.py:4253 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1163,9 +1163,9 @@ msgstr "Objeto de produção" #: report/templates/report/inventree_test_report.html:90 #: report/templates/report/inventree_test_report.html:169 stock/admin.py:160 #: stock/serializers.py:128 stock/serializers.py:168 stock/serializers.py:667 -#: stock/templates/stock/item_base.html:287 -#: stock/templates/stock/item_base.html:295 -#: stock/templates/stock/item_base.html:342 +#: stock/templates/stock/item_base.html:283 +#: stock/templates/stock/item_base.html:291 +#: stock/templates/stock/item_base.html:338 #: templates/email/build_order_completed.html:18 #: templates/js/translated/barcode.js:579 templates/js/translated/bom.js:771 #: templates/js/translated/bom.js:981 templates/js/translated/build.js:525 @@ -1194,41 +1194,41 @@ msgstr "Objeto de produção" msgid "Quantity" msgstr "Quantidade" -#: build/models.py:1506 +#: build/models.py:1517 msgid "Required quantity for build order" msgstr "Quantidade necessária para o pedido de produção" -#: build/models.py:1586 +#: build/models.py:1597 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:1595 +#: build/models.py:1606 #, 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:1605 order/models.py:1985 +#: build/models.py:1616 order/models.py:1985 msgid "Stock item is over-allocated" msgstr "O item do estoque está sobre-alocado" -#: build/models.py:1611 order/models.py:1988 +#: build/models.py:1622 order/models.py:1988 msgid "Allocation quantity must be greater than zero" msgstr "Quantidade alocada deve ser maior que zero" -#: build/models.py:1617 +#: build/models.py:1628 msgid "Quantity must be 1 for serialized stock" msgstr "Quantidade deve ser 1 para estoque serializado" -#: build/models.py:1676 +#: build/models.py:1687 msgid "Selected stock item does not match BOM line" msgstr "Item estoque selecionado não coincide com linha da LDM" -#: build/models.py:1748 build/serializers.py:939 order/serializers.py:1301 +#: build/models.py:1762 build/serializers.py:939 order/serializers.py:1301 #: order/serializers.py:1322 stock/models.py:381 stock/serializers.py:94 #: stock/serializers.py:770 stock/serializers.py:1288 stock/serializers.py:1400 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 -#: stock/templates/stock/item_base.html:194 +#: stock/templates/stock/item_base.html:190 #: templates/js/translated/build.js:1921 #: templates/js/translated/sales_order.js:301 #: templates/js/translated/sales_order.js:1234 @@ -1241,19 +1241,19 @@ msgstr "Item estoque selecionado não coincide com linha da LDM" msgid "Stock Item" msgstr "Item de estoque" -#: build/models.py:1749 +#: build/models.py:1763 msgid "Source stock item" msgstr "Origem do item em estoque" -#: build/models.py:1762 +#: build/models.py:1776 msgid "Stock quantity to allocate to build" msgstr "Quantidade do estoque para alocar à produção" -#: build/models.py:1770 +#: build/models.py:1784 msgid "Install into" msgstr "Instalar em" -#: build/models.py:1771 +#: build/models.py:1785 msgid "Destination stock item" msgstr "Destino do Item do Estoque" @@ -1262,7 +1262,7 @@ msgid "Build Level" msgstr "" #: build/serializers.py:115 build/serializers.py:1234 build/serializers.py:1323 -#: part/admin.py:41 part/admin.py:408 part/models.py:4116 part/stocktake.py:219 +#: part/admin.py:41 part/admin.py:408 part/models.py:4103 part/stocktake.py:219 #: stock/admin.py:157 msgid "Part Name" msgstr "Nome da Peça" @@ -1323,10 +1323,10 @@ msgid "Enter serial numbers for build outputs" msgstr "Digite os números de série para saídas de produção" #: build/serializers.py:359 build/serializers.py:500 build/serializers.py:572 -#: order/serializers.py:655 order/serializers.py:778 order/serializers.py:1789 -#: part/serializers.py:1233 stock/serializers.py:103 stock/serializers.py:698 +#: order/serializers.py:655 order/serializers.py:778 order/serializers.py:1797 +#: part/serializers.py:1231 stock/serializers.py:103 stock/serializers.py:698 #: stock/serializers.py:858 stock/serializers.py:984 stock/serializers.py:1432 -#: stock/serializers.py:1688 stock/templates/stock/item_base.html:394 +#: stock/serializers.py:1688 stock/templates/stock/item_base.html:390 #: templates/js/translated/barcode.js:578 #: templates/js/translated/barcode.js:826 templates/js/translated/build.js:1035 #: templates/js/translated/build.js:1177 templates/js/translated/build.js:2547 @@ -1390,7 +1390,7 @@ msgstr "Local para saídas de produção concluídas" #: build/templates/build/detail.html:62 order/models.py:477 #: order/models.py:1003 order/models.py:2152 order/serializers.py:687 #: stock/admin.py:165 stock/serializers.py:1035 stock/serializers.py:1576 -#: stock/templates/stock/item_base.html:427 +#: stock/templates/stock/item_base.html:423 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2366 #: templates/js/translated/purchase_order.js:1371 #: templates/js/translated/purchase_order.js:1792 @@ -1522,7 +1522,7 @@ msgstr "Saída de produção deve ser definida para alocação de peças rastrea 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:1030 order/serializers.py:1614 +#: build/serializers.py:1030 order/serializers.py:1622 msgid "Allocation items must be provided" msgstr "Alocação do Item precisa ser fornecida" @@ -1590,7 +1590,7 @@ msgstr "" #: build/serializers.py:1230 company/models.py:849 #: company/templates/company/supplier_part.html:160 order/serializers.py:691 #: stock/admin.py:229 stock/models.py:822 stock/serializers.py:1586 -#: stock/templates/stock/item_base.html:240 +#: stock/templates/stock/item_base.html:236 #: templates/js/translated/company.js:1646 #: templates/js/translated/purchase_order.js:1169 #: templates/js/translated/purchase_order.js:1332 @@ -1600,12 +1600,12 @@ msgid "Packaging" msgstr "Embalagem" #: build/serializers.py:1233 part/admin.py:39 part/admin.py:398 -#: part/models.py:4115 part/stocktake.py:218 stock/admin.py:153 +#: part/models.py:4102 part/stocktake.py:218 stock/admin.py:153 msgid "Part ID" msgstr "ID da Peça" #: build/serializers.py:1235 build/serializers.py:1324 part/admin.py:402 -#: part/models.py:4117 +#: part/models.py:4104 msgid "Part IPN" msgstr "IPN da Peça" @@ -1625,7 +1625,7 @@ msgstr "" #: build/serializers.py:1243 #: report/templates/report/inventree_return_order_report.html:25 #: report/templates/report/inventree_test_report.html:88 stock/models.py:849 -#: stock/serializers.py:152 stock/templates/stock/item_base.html:311 +#: stock/serializers.py:152 stock/templates/stock/item_base.html:307 #: templates/js/translated/build.js:523 templates/js/translated/build.js:1543 #: templates/js/translated/build.js:2530 #: templates/js/translated/model_renderers.js:231 @@ -1644,7 +1644,7 @@ msgstr "Número de Sério" msgid "Allocated Quantity" msgstr "Quantidade Alocada" -#: build/serializers.py:1257 stock/templates/stock/item_base.html:340 +#: build/serializers.py:1257 stock/templates/stock/item_base.html:336 msgid "Available Quantity" msgstr "Quantidade Disponível" @@ -1667,13 +1667,13 @@ msgstr "Rastreável" msgid "Inherited" msgstr "" -#: build/serializers.py:1337 part/models.py:4326 +#: build/serializers.py:1337 part/models.py:4313 #: part/templates/part/upload_bom.html:56 templates/js/translated/bom.js:1046 #: templates/js/translated/build.js:2714 msgid "Allow Variants" msgstr "Permitir variações" -#: build/serializers.py:1341 part/models.py:4124 part/models.py:4594 +#: build/serializers.py:1341 part/models.py:4111 part/models.py:4587 #: stock/api.py:793 msgid "BOM Item" msgstr "Item LDM" @@ -1684,7 +1684,7 @@ msgid "Allocated Stock" msgstr "Estoque Alocado" #: build/serializers.py:1355 order/serializers.py:1179 part/admin.py:132 -#: part/bom.py:186 part/serializers.py:920 part/serializers.py:1623 +#: part/bom.py:186 part/serializers.py:918 part/serializers.py:1621 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 #: templates/js/translated/build.js:2807 templates/js/translated/part.js:712 #: templates/js/translated/part.js:2155 @@ -1692,13 +1692,13 @@ msgstr "Estoque Alocado" msgid "On Order" msgstr "No pedido" -#: build/serializers.py:1360 order/serializers.py:1180 part/serializers.py:1625 +#: build/serializers.py:1360 order/serializers.py:1180 part/serializers.py:1623 #: templates/js/translated/build.js:2811 #: templates/js/translated/table_filters.js:367 msgid "In Production" msgstr "Em Produção" -#: build/serializers.py:1365 part/bom.py:185 part/serializers.py:1650 +#: build/serializers.py:1365 part/bom.py:185 part/serializers.py:1648 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" @@ -1716,7 +1716,7 @@ msgstr "" msgid "Total Available Stock" msgstr "" -#: build/serializers.py:1372 part/serializers.py:927 +#: build/serializers.py:1372 part/serializers.py:925 msgid "External Stock" msgstr "" @@ -1745,7 +1745,7 @@ msgstr "Cancelado" #: importer/status_codes.py:27 order/status_codes.py:15 #: order/status_codes.py:50 order/status_codes.py:81 #: order/templates/order/order_base.html:163 -#: order/templates/order/sales_order_base.html:168 report/models.py:443 +#: order/templates/order/sales_order_base.html:168 report/models.py:451 msgid "Complete" msgstr "Completado" @@ -1849,9 +1849,6 @@ msgid "Delete Build" msgstr "Excluir produção" #: build/templates/build/build_base.html:87 -msgid "Isueue Build" -msgstr "" - #: build/templates/build/build_base.html:88 msgid "Issue Build" msgstr "" @@ -1931,7 +1928,7 @@ msgstr "Saídas Concluídas" #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_report.html:135 #: report/templates/report/inventree_sales_order_report.html:14 -#: stock/templates/stock/item_base.html:369 +#: stock/templates/stock/item_base.html:365 #: templates/email/overdue_sales_order.html:15 #: templates/js/translated/pricing.js:929 #: templates/js/translated/sales_order.js:805 @@ -1991,7 +1988,7 @@ msgid "Allocated Parts" msgstr "Peças alocadas" #: build/templates/build/detail.html:80 stock/admin.py:163 -#: stock/templates/stock/item_base.html:162 +#: stock/templates/stock/item_base.html:158 #: templates/js/translated/build.js:1556 #: templates/js/translated/model_renderers.js:242 #: templates/js/translated/purchase_order.js:1326 @@ -2148,19 +2145,19 @@ msgstr "Saídas Incompletas" msgid "Test Statistics" msgstr "" -#: common/api.py:692 +#: common/api.py:725 msgid "Is Link" msgstr "É uma Ligação" -#: common/api.py:700 +#: common/api.py:733 msgid "Is File" msgstr "É um arquivo" -#: common/api.py:743 +#: common/api.py:776 msgid "User does not have permission to delete these attachments" msgstr "" -#: common/api.py:760 +#: common/api.py:793 msgid "User does not have permission to delete this attachment" msgstr "O Utilizador não tem permissão para remover este anexo" @@ -2352,8 +2349,8 @@ msgstr "Com que frequência atualizar as taxas de câmbio (defina como zero para #: common/models.py:1297 common/models.py:1353 common/models.py:1366 #: common/models.py:1374 common/models.py:1383 common/models.py:1392 -#: common/models.py:1629 common/models.py:1651 common/models.py:1766 -#: common/models.py:2148 +#: common/models.py:1629 common/models.py:1651 common/models.py:1752 +#: common/models.py:2141 msgid "days" msgstr "dias" @@ -2581,9 +2578,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:1485 part/admin.py:108 part/models.py:3959 -#: report/models.py:293 report/models.py:360 report/serializers.py:90 -#: report/serializers.py:131 stock/serializers.py:233 +#: common/models.py:1485 part/admin.py:108 part/models.py:3946 +#: report/models.py:301 report/models.py:368 report/serializers.py:91 +#: report/serializers.py:132 stock/serializers.py:233 #: templates/js/translated/table_filters.js:138 #: templates/js/translated/table_filters.js:775 msgid "Template" @@ -2598,7 +2595,7 @@ 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:1497 part/admin.py:95 part/models.py:1172 -#: part/serializers.py:1617 templates/js/translated/table_filters.js:737 +#: part/serializers.py:1615 templates/js/translated/table_filters.js:737 msgid "Component" msgstr "Componente" @@ -2823,7 +2820,7 @@ msgid "Log errors which occur when generating reports" msgstr "Registro de erros que ocorrem ao gerar relatórios" #: common/models.py:1702 plugin/builtin/labels/label_sheet.py:28 -#: report/models.py:301 +#: report/models.py:309 msgid "Page Size" msgstr "Tamanho da página" @@ -2832,914 +2829,914 @@ msgid "Default page size for PDF reports" msgstr "Tamanho padrão da página PDF para relatórios" #: common/models.py:1708 -msgid "Enable Test Reports" -msgstr "Ativar Relatórios Teste" - -#: common/models.py:1709 -msgid "Enable generation of test reports" -msgstr "Ativar geração de relatórios de teste" - -#: common/models.py:1714 -msgid "Attach Test Reports" -msgstr "Anexar Relatórios de Teste" - -#: common/models.py:1716 -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:1722 msgid "Globally Unique Serials" msgstr "Seriais Únicos Globais" -#: common/models.py:1723 +#: common/models.py:1709 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:1728 +#: common/models.py:1714 msgid "Autofill Serial Numbers" msgstr "Preenchimento automático de Números Seriais" -#: common/models.py:1729 +#: common/models.py:1715 msgid "Autofill serial numbers in forms" msgstr "Preencher números de série automaticamente no formulário" -#: common/models.py:1734 +#: common/models.py:1720 msgid "Delete Depleted Stock" msgstr "Excluir Estoque Esgotado" -#: common/models.py:1736 +#: common/models.py:1722 msgid "Determines default behavior when a stock item is depleted" msgstr "Determina o comportamento padrão quando um item de estoque é esgotado" -#: common/models.py:1742 +#: common/models.py:1728 msgid "Batch Code Template" msgstr "Modelo de Código de Lote" -#: common/models.py:1744 +#: common/models.py:1730 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:1749 +#: common/models.py:1735 msgid "Stock Expiry" msgstr "Validade do Estoque" -#: common/models.py:1750 +#: common/models.py:1736 msgid "Enable stock expiry functionality" msgstr "Ativar função de validade de estoque" -#: common/models.py:1755 +#: common/models.py:1741 msgid "Sell Expired Stock" msgstr "Vender estoque expirado" -#: common/models.py:1756 +#: common/models.py:1742 msgid "Allow sale of expired stock" msgstr "Permitir venda de estoque expirado" -#: common/models.py:1761 +#: common/models.py:1747 msgid "Stock Stale Time" msgstr "Tempo de Estoque Inativo" -#: common/models.py:1763 +#: common/models.py:1749 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:1770 +#: common/models.py:1756 msgid "Build Expired Stock" msgstr "Produzir Estoque Vencido" -#: common/models.py:1771 +#: common/models.py:1757 msgid "Allow building with expired stock" msgstr "Permitir produção com estoque vencido" -#: common/models.py:1776 +#: common/models.py:1762 msgid "Stock Ownership Control" msgstr "Controle de propriedade do estoque" -#: common/models.py:1777 +#: common/models.py:1763 msgid "Enable ownership control over stock locations and items" msgstr "Ativar controle de propriedade sobre locais e itens de estoque" -#: common/models.py:1782 +#: common/models.py:1768 msgid "Stock Location Default Icon" msgstr "Ícone padrão do local de estoque" -#: common/models.py:1783 +#: common/models.py:1769 msgid "Stock location default icon (empty means no icon)" msgstr "Ícone padrão de local de estoque (vazio significa sem ícone)" -#: common/models.py:1788 +#: common/models.py:1774 msgid "Show Installed Stock Items" msgstr "Mostrar Itens de Estoque Instalados" -#: common/models.py:1789 +#: common/models.py:1775 msgid "Display installed stock items in stock tables" msgstr "Exibir itens de estoque instalados nas tabelas de estoque" -#: common/models.py:1794 +#: common/models.py:1780 msgid "Check BOM when installing items" msgstr "Verificar BOM ao instalar itens" -#: common/models.py:1796 +#: common/models.py:1782 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "Itens de estoque instalados devem existir na BOM para a peça parente" -#: common/models.py:1802 +#: common/models.py:1788 msgid "Allow Out of Stock Transfer" msgstr "Permitir Transferência Fora do Estoque" -#: common/models.py:1804 +#: common/models.py:1790 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "Permitir que os itens que não estão em estoque sejam transferidos entre locais de estoque" -#: common/models.py:1810 +#: common/models.py:1796 msgid "Build Order Reference Pattern" msgstr "Modelo de Referência de Pedidos de Produção" -#: common/models.py:1812 +#: common/models.py:1798 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:1818 common/models.py:1874 common/models.py:1896 -#: common/models.py:1932 +#: common/models.py:1804 common/models.py:1860 common/models.py:1882 +#: common/models.py:1918 msgid "Require Responsible Owner" msgstr "Requer Proprietário Responsável" -#: common/models.py:1819 common/models.py:1875 common/models.py:1897 -#: common/models.py:1933 +#: common/models.py:1805 common/models.py:1861 common/models.py:1883 +#: common/models.py:1919 msgid "A responsible owner must be assigned to each order" msgstr "Um proprietário responsável deve ser atribuído a cada ordem" -#: common/models.py:1824 +#: common/models.py:1810 msgid "Require Active Part" msgstr "" -#: common/models.py:1825 +#: common/models.py:1811 msgid "Prevent build order creation for inactive parts" msgstr "" -#: common/models.py:1830 +#: common/models.py:1816 msgid "Require Locked Part" msgstr "" -#: common/models.py:1831 +#: common/models.py:1817 msgid "Prevent build order creation for unlocked parts" msgstr "" -#: common/models.py:1836 +#: common/models.py:1822 msgid "Require Valid BOM" msgstr "" -#: common/models.py:1838 +#: common/models.py:1824 msgid "Prevent build order creation unless BOM has been validated" msgstr "" -#: common/models.py:1844 +#: common/models.py:1830 msgid "Require Closed Child Orders" msgstr "" -#: common/models.py:1846 +#: common/models.py:1832 msgid "Prevent build order completion until all child orders are closed" msgstr "" -#: common/models.py:1852 +#: common/models.py:1838 msgid "Block Until Tests Pass" msgstr "Bloquear até os Testes serem Aprovados" -#: common/models.py:1854 +#: common/models.py:1840 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "Impedir que as saídas da produção sejam concluídas até que todos os testes sejam aprovados" -#: common/models.py:1860 +#: common/models.py:1846 msgid "Enable Return Orders" msgstr "Ativar Pedidos de Devolução" -#: common/models.py:1861 +#: common/models.py:1847 msgid "Enable return order functionality in the user interface" msgstr "Ativar funcionalidade de pedido de retorno na interface do usuário" -#: common/models.py:1866 +#: common/models.py:1852 msgid "Return Order Reference Pattern" msgstr "Modelo de Referência de Pedidos de Devolução" -#: common/models.py:1868 +#: common/models.py:1854 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1880 +#: common/models.py:1866 msgid "Edit Completed Return Orders" msgstr "Editar os Pedidos de Devolução Concluídos" -#: common/models.py:1882 +#: common/models.py:1868 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:1888 +#: common/models.py:1874 msgid "Sales Order Reference Pattern" msgstr "Modelo de Referência de Pedidos de Venda" -#: common/models.py:1890 +#: common/models.py:1876 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:1902 +#: common/models.py:1888 msgid "Sales Order Default Shipment" msgstr "Envio Padrão de Pedidos de Venda" -#: common/models.py:1903 +#: common/models.py:1889 msgid "Enable creation of default shipment with sales orders" msgstr "Habilitar criação de envio padrão com Pedidos de Vendas" -#: common/models.py:1908 +#: common/models.py:1894 msgid "Edit Completed Sales Orders" msgstr "Editar os Pedidos de Vendas concluídos" -#: common/models.py:1910 +#: common/models.py:1896 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:1916 +#: common/models.py:1902 msgid "Mark Shipped Orders as Complete" msgstr "" -#: common/models.py:1918 +#: common/models.py:1904 msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status" msgstr "" -#: common/models.py:1924 +#: common/models.py:1910 msgid "Purchase Order Reference Pattern" msgstr "Modelo de Referência de Pedidos de Compras" -#: common/models.py:1926 +#: common/models.py:1912 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:1938 +#: common/models.py:1924 msgid "Edit Completed Purchase Orders" msgstr "Editar Pedidos de Compra Concluídos" -#: common/models.py:1940 +#: common/models.py:1926 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:1946 +#: common/models.py:1932 msgid "Auto Complete Purchase Orders" msgstr "Autocompletar Pedidos de Compra" -#: common/models.py:1948 +#: common/models.py:1934 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "Marcar automaticamente os pedidos de compra como concluídos quando todos os itens de linha forem recebidos" -#: common/models.py:1955 +#: common/models.py:1941 msgid "Enable password forgot" msgstr "Habitar esquecer senha" -#: common/models.py:1956 +#: common/models.py:1942 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:1961 +#: common/models.py:1947 msgid "Enable registration" msgstr "Habilitar cadastro" -#: common/models.py:1962 +#: common/models.py:1948 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:1967 +#: common/models.py:1953 msgid "Enable SSO" msgstr "Ativar SSO" -#: common/models.py:1968 +#: common/models.py:1954 msgid "Enable SSO on the login pages" msgstr "Ativar SSO na página de acesso" -#: common/models.py:1973 +#: common/models.py:1959 msgid "Enable SSO registration" msgstr "Ativar registro SSO" -#: common/models.py:1975 +#: common/models.py:1961 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:1981 +#: common/models.py:1967 msgid "Enable SSO group sync" msgstr "" -#: common/models.py:1983 +#: common/models.py:1969 msgid "Enable synchronizing InvenTree groups with groups provided by the IdP" msgstr "" -#: common/models.py:1989 +#: common/models.py:1975 msgid "SSO group key" msgstr "" -#: common/models.py:1991 +#: common/models.py:1977 msgid "The name of the groups claim attribute provided by the IdP" msgstr "" -#: common/models.py:1997 +#: common/models.py:1983 msgid "SSO group map" msgstr "" -#: common/models.py:1999 +#: common/models.py:1985 msgid "A mapping from SSO groups to local InvenTree groups. If the local group does not exist, it will be created." msgstr "" -#: common/models.py:2005 +#: common/models.py:1991 msgid "Remove groups outside of SSO" msgstr "" -#: common/models.py:2007 +#: common/models.py:1993 msgid "Whether groups assigned to the user should be removed if they are not backend by the IdP. Disabling this setting might cause security issues" msgstr "" -#: common/models.py:2013 +#: common/models.py:1999 msgid "Email required" msgstr "Email obrigatório" -#: common/models.py:2014 +#: common/models.py:2000 msgid "Require user to supply mail on signup" msgstr "Exigir do usuário o e-mail no cadastro" -#: common/models.py:2019 +#: common/models.py:2005 msgid "Auto-fill SSO users" msgstr "Auto-preencher usuários SSO" -#: common/models.py:2021 +#: common/models.py:2007 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:2027 +#: common/models.py:2013 msgid "Mail twice" msgstr "Enviar email duplo" -#: common/models.py:2028 +#: common/models.py:2014 msgid "On signup ask users twice for their mail" msgstr "No registro pedir aos usuários duas vezes pelo email" -#: common/models.py:2033 +#: common/models.py:2019 msgid "Password twice" msgstr "Senha duas vezes" -#: common/models.py:2034 +#: common/models.py:2020 msgid "On signup ask users twice for their password" msgstr "No registro pedir aos usuários duas vezes pela senha" -#: common/models.py:2039 +#: common/models.py:2025 msgid "Allowed domains" msgstr "Domínios permitidos" -#: common/models.py:2041 +#: common/models.py:2027 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:2047 +#: common/models.py:2033 msgid "Group on signup" msgstr "Grupo no cadastro" -#: common/models.py:2049 +#: common/models.py:2035 msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP." msgstr "" -#: common/models.py:2055 +#: common/models.py:2041 msgid "Enforce MFA" msgstr "Forçar AMF" -#: common/models.py:2056 +#: common/models.py:2042 msgid "Users must use multifactor security." msgstr "Os usuários devem usar uma segurança multifator." -#: common/models.py:2061 +#: common/models.py:2047 msgid "Check plugins on startup" msgstr "Checar extensões no início" -#: common/models.py:2063 +#: common/models.py:2049 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:2071 +#: common/models.py:2057 msgid "Check for plugin updates" msgstr "Verificar por atualizações de plugin" -#: common/models.py:2072 +#: common/models.py:2058 msgid "Enable periodic checks for updates to installed plugins" msgstr "Habilitar verificações periódicas de atualizações para plugins instalados" -#: common/models.py:2078 +#: common/models.py:2064 msgid "Enable URL integration" msgstr "Ativar integração URL" -#: common/models.py:2079 +#: common/models.py:2065 msgid "Enable plugins to add URL routes" msgstr "Ativar extensão para adicionar rotas URL" -#: common/models.py:2085 +#: common/models.py:2071 msgid "Enable navigation integration" msgstr "Ativar integração de navegação" -#: common/models.py:2086 +#: common/models.py:2072 msgid "Enable plugins to integrate into navigation" msgstr "Ativar extensões para integrar à navegação" -#: common/models.py:2092 +#: common/models.py:2078 msgid "Enable app integration" msgstr "Ativa integração com aplicativo" -#: common/models.py:2093 +#: common/models.py:2079 msgid "Enable plugins to add apps" msgstr "Ativar extensões para adicionar aplicativos" -#: common/models.py:2099 +#: common/models.py:2085 msgid "Enable schedule integration" msgstr "Ativar integração do calendário" -#: common/models.py:2100 +#: common/models.py:2086 msgid "Enable plugins to run scheduled tasks" msgstr "Ativar extensões para executar tarefas agendadas" -#: common/models.py:2106 +#: common/models.py:2092 msgid "Enable event integration" msgstr "Ativar integração de eventos" -#: common/models.py:2107 +#: common/models.py:2093 msgid "Enable plugins to respond to internal events" msgstr "Ativar extensões para responder a eventos internos" -#: common/models.py:2113 +#: common/models.py:2099 +msgid "Enable interface integration" +msgstr "" + +#: common/models.py:2100 +msgid "Enable plugins to integrate into the user interface" +msgstr "" + +#: common/models.py:2106 msgid "Enable project codes" msgstr "Habilitar códigos de projeto" -#: common/models.py:2114 +#: common/models.py:2107 msgid "Enable project codes for tracking projects" msgstr "Ativar códigos de projeto para rastrear projetos" -#: common/models.py:2119 +#: common/models.py:2112 msgid "Stocktake Functionality" msgstr "Funcionalidade de Balanço do Inventário" -#: common/models.py:2121 +#: common/models.py:2114 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:2127 +#: common/models.py:2120 msgid "Exclude External Locations" msgstr "Excluir Locais Externos" -#: common/models.py:2129 +#: common/models.py:2122 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "Excluir itens de estoque em locais externos dos cálculos do estoque" -#: common/models.py:2135 +#: common/models.py:2128 msgid "Automatic Stocktake Period" msgstr "Período de Balanço Automático" -#: common/models.py:2137 +#: common/models.py:2130 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:2143 +#: common/models.py:2136 msgid "Report Deletion Interval" msgstr "Intervalo para Excluir o Relatório" -#: common/models.py:2145 +#: common/models.py:2138 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:2152 +#: common/models.py:2145 msgid "Display Users full names" msgstr "Mostrar nomes completos dos usuários" -#: common/models.py:2153 +#: common/models.py:2146 msgid "Display Users full names instead of usernames" msgstr "Mostrar Nomes Completos em vez de Nomes de Usuário" -#: common/models.py:2158 +#: common/models.py:2151 msgid "Enable Test Station Data" msgstr "" -#: common/models.py:2159 +#: common/models.py:2152 msgid "Enable test station data collection for test results" msgstr "" -#: common/models.py:2171 common/models.py:2551 +#: common/models.py:2157 +msgid "Create Template on Upload" +msgstr "" + +#: common/models.py:2159 +msgid "Create a new test template when uploading test data which does not match an existing template" +msgstr "" + +#: common/models.py:2172 common/models.py:2552 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:2214 +#: common/models.py:2215 msgid "Hide inactive parts" msgstr "Ocultar peças inativas" -#: common/models.py:2216 +#: common/models.py:2217 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:2222 +#: common/models.py:2223 msgid "Show subscribed parts" msgstr "Mostrar peças subscritas" -#: common/models.py:2223 +#: common/models.py:2224 msgid "Show subscribed parts on the homepage" msgstr "Mostrar peças subscritas na tela inicial" -#: common/models.py:2228 +#: common/models.py:2229 msgid "Show subscribed categories" msgstr "Mostrar categorias subscritas" -#: common/models.py:2229 +#: common/models.py:2230 msgid "Show subscribed part categories on the homepage" msgstr "Mostrar categorias de peças subscritas na tela inicial" -#: common/models.py:2234 +#: common/models.py:2235 msgid "Show latest parts" msgstr "Mostrar peças mais recentes" -#: common/models.py:2235 +#: common/models.py:2236 msgid "Show latest parts on the homepage" msgstr "Mostrar as peças mais recentes na página inicial" -#: common/models.py:2240 +#: common/models.py:2241 msgid "Show invalid BOMs" msgstr "" -#: common/models.py:2241 +#: common/models.py:2242 msgid "Show BOMs that await validation on the homepage" msgstr "Mostrar LDMs que aguardam validação na página inicial" -#: common/models.py:2246 +#: common/models.py:2247 msgid "Show recent stock changes" msgstr "Mostrar alterações recentes de estoque" -#: common/models.py:2247 +#: common/models.py:2248 msgid "Show recently changed stock items on the homepage" msgstr "Mostrar itens de estoque alterados recentemente na página inicial" -#: common/models.py:2252 +#: common/models.py:2253 msgid "Show low stock" msgstr "Mostrar estoque baixo" -#: common/models.py:2253 +#: common/models.py:2254 msgid "Show low stock items on the homepage" msgstr "Mostrar itens de baixo estoque na página inicial" -#: common/models.py:2258 +#: common/models.py:2259 msgid "Show depleted stock" msgstr "Mostrar estoque esgotado" -#: common/models.py:2259 +#: common/models.py:2260 msgid "Show depleted stock items on the homepage" msgstr "Mostrar itens sem estoque na página inicial" -#: common/models.py:2264 +#: common/models.py:2265 msgid "Show needed stock" msgstr "Mostrar estoque necessário" -#: common/models.py:2265 +#: common/models.py:2266 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:2270 +#: common/models.py:2271 msgid "Show expired stock" msgstr "Mostrar estoque expirado" -#: common/models.py:2271 +#: common/models.py:2272 msgid "Show expired stock items on the homepage" msgstr "Mostrar expirados itens em estoque na tela inicial" -#: common/models.py:2276 +#: common/models.py:2277 msgid "Show stale stock" msgstr "Mostrar estoque inativo" -#: common/models.py:2277 +#: common/models.py:2278 msgid "Show stale stock items on the homepage" msgstr "Mostrar estoque inativo na tela inicial" -#: common/models.py:2282 +#: common/models.py:2283 msgid "Show pending builds" msgstr "Mostrar produções pendentes" -#: common/models.py:2283 +#: common/models.py:2284 msgid "Show pending builds on the homepage" msgstr "Mostrar produções pendentes na tela inicial" -#: common/models.py:2288 +#: common/models.py:2289 msgid "Show overdue builds" msgstr "Mostrar produções atrasadas" -#: common/models.py:2289 +#: common/models.py:2290 msgid "Show overdue builds on the homepage" msgstr "Mostrar produções atrasadas na tela inicial" -#: common/models.py:2294 +#: common/models.py:2295 msgid "Show outstanding POs" msgstr "Mostrar pedidos de compra pendentes" -#: common/models.py:2295 +#: common/models.py:2296 msgid "Show outstanding POs on the homepage" msgstr "Mostrar os Pedidos de Compras pendentes na página inicial" -#: common/models.py:2300 +#: common/models.py:2301 msgid "Show overdue POs" msgstr "Mostrar Pedidos de Compra atrasados" -#: common/models.py:2301 +#: common/models.py:2302 msgid "Show overdue POs on the homepage" msgstr "Mostrar os Pedidos de Compras atrasadas na tela inicial" -#: common/models.py:2306 +#: common/models.py:2307 msgid "Show outstanding SOs" msgstr "Mostrar pedidos de vendas pendentes" -#: common/models.py:2307 +#: common/models.py:2308 msgid "Show outstanding SOs on the homepage" msgstr "Mostrar os Pedidos de Vendas pendentes na página inicial" -#: common/models.py:2312 +#: common/models.py:2313 msgid "Show overdue SOs" msgstr "Mostrar Pedidos de Venda atrasados" -#: common/models.py:2313 +#: common/models.py:2314 msgid "Show overdue SOs on the homepage" msgstr "Mostrar os Pedidos de Vendas atrasadas na tela inicial" -#: common/models.py:2318 +#: common/models.py:2319 msgid "Show pending SO shipments" msgstr "Mostrar remessas de OV pendentes" -#: common/models.py:2319 +#: common/models.py:2320 msgid "Show pending SO shipments on the homepage" msgstr "Mostrar envios OV pendentes na tela inicial" -#: common/models.py:2324 +#: common/models.py:2325 msgid "Show News" msgstr "Mostrar notícias" -#: common/models.py:2325 +#: common/models.py:2326 msgid "Show news on the homepage" msgstr "Mostrar notícias na tela inicial" -#: common/models.py:2330 +#: common/models.py:2331 msgid "Inline label display" msgstr "Mostrar etiqueta em linha" -#: common/models.py:2332 +#: common/models.py:2333 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:2338 +#: common/models.py:2339 msgid "Default label printer" msgstr "Impressora de etiquetas padrão" -#: common/models.py:2340 +#: common/models.py:2341 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:2346 +#: common/models.py:2347 msgid "Inline report display" msgstr "Mostrar relatório em linha" -#: common/models.py:2348 +#: common/models.py:2349 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:2354 +#: common/models.py:2355 msgid "Search Parts" msgstr "Procurar Peças" -#: common/models.py:2355 +#: common/models.py:2356 msgid "Display parts in search preview window" msgstr "Mostrar peças na janela de visualização de pesquisa" -#: common/models.py:2360 +#: common/models.py:2361 msgid "Search Supplier Parts" msgstr "Buscar Peças do Fornecedor" -#: common/models.py:2361 +#: common/models.py:2362 msgid "Display supplier parts in search preview window" msgstr "Mostrar fornecedor de peças na janela de visualização de pesquisa" -#: common/models.py:2366 +#: common/models.py:2367 msgid "Search Manufacturer Parts" msgstr "Buscar peças do fabricante" -#: common/models.py:2367 +#: common/models.py:2368 msgid "Display manufacturer parts in search preview window" msgstr "Mostrar fabricante de peças na janela de visualização de pesquisa" -#: common/models.py:2372 +#: common/models.py:2373 msgid "Hide Inactive Parts" msgstr "Ocultar peças inativas" -#: common/models.py:2373 +#: common/models.py:2374 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:2378 +#: common/models.py:2379 msgid "Search Categories" msgstr "Pesquisar Categorias" -#: common/models.py:2379 +#: common/models.py:2380 msgid "Display part categories in search preview window" msgstr "Mostrar categoria das peças na janela de visualização de pesquisa" -#: common/models.py:2384 +#: common/models.py:2385 msgid "Search Stock" msgstr "Pesquisar Estoque" -#: common/models.py:2385 +#: common/models.py:2386 msgid "Display stock items in search preview window" msgstr "Mostrar itens do estoque na janela de visualização de pesquisa" -#: common/models.py:2390 +#: common/models.py:2391 msgid "Hide Unavailable Stock Items" msgstr "Ocultar itens do estoque indisponíveis" -#: common/models.py:2392 +#: common/models.py:2393 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:2398 +#: common/models.py:2399 msgid "Search Locations" msgstr "Procurar Locais" -#: common/models.py:2399 +#: common/models.py:2400 msgid "Display stock locations in search preview window" msgstr "Mostrar locais de estoque na janela de visualização de pesquisa" -#: common/models.py:2404 +#: common/models.py:2405 msgid "Search Companies" msgstr "Pesquisar empresas" -#: common/models.py:2405 +#: common/models.py:2406 msgid "Display companies in search preview window" msgstr "Mostrar empresas na janela de visualização de pesquisa" -#: common/models.py:2410 +#: common/models.py:2411 msgid "Search Build Orders" msgstr "Procurar Pedidos de Produção" -#: common/models.py:2411 +#: common/models.py:2412 msgid "Display build orders in search preview window" msgstr "Mostrar pedidos de produção na janela de visualização de pesquisa" -#: common/models.py:2416 +#: common/models.py:2417 msgid "Search Purchase Orders" msgstr "Mostrar Pedido de Compras" -#: common/models.py:2417 +#: common/models.py:2418 msgid "Display purchase orders in search preview window" msgstr "Mostrar pedidos de compra na janela de visualização de pesquisa" -#: common/models.py:2422 +#: common/models.py:2423 msgid "Exclude Inactive Purchase Orders" msgstr "Não incluir Pedidos de Compras Inativos" -#: common/models.py:2424 +#: common/models.py:2425 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:2430 +#: common/models.py:2431 msgid "Search Sales Orders" msgstr "Procurar Pedidos de Vendas" -#: common/models.py:2431 +#: common/models.py:2432 msgid "Display sales orders in search preview window" msgstr "Mostrar pedidos de vendas na janela de visualização de pesquisa" -#: common/models.py:2436 +#: common/models.py:2437 msgid "Exclude Inactive Sales Orders" msgstr "Não Incluir Pedidos de Compras Inativas" -#: common/models.py:2438 +#: common/models.py:2439 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:2444 +#: common/models.py:2445 msgid "Search Return Orders" msgstr "Procurar Pedidos de Devolução" -#: common/models.py:2445 +#: common/models.py:2446 msgid "Display return orders in search preview window" msgstr "Mostrar pedidos de devolução na janela de visualização de pesquisa" -#: common/models.py:2450 +#: common/models.py:2451 msgid "Exclude Inactive Return Orders" msgstr "Não Incluir Pedidos de Devolução Inativas" -#: common/models.py:2452 +#: common/models.py:2453 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:2458 +#: common/models.py:2459 msgid "Search Preview Results" msgstr "Mostrar Resultados Anteriores" -#: common/models.py:2460 +#: common/models.py:2461 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:2466 +#: common/models.py:2467 msgid "Regex Search" msgstr "Pesquisa de Regex" -#: common/models.py:2467 +#: common/models.py:2468 msgid "Enable regular expressions in search queries" msgstr "Permitir expressôes comuns nas conultas de pesquisas" -#: common/models.py:2472 +#: common/models.py:2473 msgid "Whole Word Search" msgstr "Busca de Palavras Inteira" -#: common/models.py:2473 +#: common/models.py:2474 msgid "Search queries return results for whole word matches" msgstr "Pesquisa retorna que palavra inteira coincide" -#: common/models.py:2478 +#: common/models.py:2479 msgid "Show Quantity in Forms" msgstr "Mostrar Quantidade nos Formulários" -#: common/models.py:2479 +#: common/models.py:2480 msgid "Display available part quantity in some forms" msgstr "Mostrar a quantidade de peças disponíveis em alguns formulários" -#: common/models.py:2484 +#: common/models.py:2485 msgid "Escape Key Closes Forms" msgstr "Tecla Esc Fecha Formulários" -#: common/models.py:2485 +#: common/models.py:2486 msgid "Use the escape key to close modal forms" msgstr "Usar a tecla Esc para fechar fomulários modais" -#: common/models.py:2490 +#: common/models.py:2491 msgid "Fixed Navbar" msgstr "Fixar Navbar" -#: common/models.py:2491 +#: common/models.py:2492 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:2496 +#: common/models.py:2497 msgid "Date Format" msgstr "Formato da data" -#: common/models.py:2497 +#: common/models.py:2498 msgid "Preferred format for displaying dates" msgstr "Formato preferido para mostrar datas" -#: common/models.py:2510 part/templates/part/detail.html:41 +#: common/models.py:2511 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "Agendamento de peças" -#: common/models.py:2511 +#: common/models.py:2512 msgid "Display part scheduling information" msgstr "Mostrar informações de agendamento de peças" -#: common/models.py:2516 part/templates/part/detail.html:62 +#: common/models.py:2517 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "Balanço de Peça" -#: common/models.py:2518 +#: common/models.py:2519 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:2524 +#: common/models.py:2525 msgid "Table String Length" msgstr "Comprimento da Tabela de Frases" -#: common/models.py:2526 +#: common/models.py:2527 msgid "Maximum 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:2532 +#: common/models.py:2533 msgid "Receive error reports" msgstr "Receber relatório de erros" -#: common/models.py:2533 +#: common/models.py:2534 msgid "Receive notifications for system errors" msgstr "Receber notificações para erros do sistema" -#: common/models.py:2538 +#: common/models.py:2539 msgid "Last used printing machines" msgstr "Últimas máquinas de impressão utilizadas" -#: common/models.py:2539 +#: common/models.py:2540 msgid "Save the last used printing machines for a user" msgstr "Salvar as últimas máquinas de impressão usadas para um usuário" -#: common/models.py:2559 common/models.py:2560 common/models.py:2717 -#: common/models.py:2718 common/models.py:2963 common/models.py:2964 -#: common/models.py:3287 common/models.py:3288 importer/models.py:89 -#: part/models.py:3319 part/models.py:3406 part/models.py:3480 -#: part/models.py:3508 plugin/models.py:274 plugin/models.py:275 +#: common/models.py:2560 common/models.py:2561 common/models.py:2718 +#: common/models.py:2719 common/models.py:2964 common/models.py:2965 +#: common/models.py:3288 common/models.py:3289 importer/models.py:89 +#: part/models.py:3306 part/models.py:3393 part/models.py:3467 +#: part/models.py:3495 plugin/models.py:274 plugin/models.py:275 #: report/templates/report/inventree_test_report.html:105 #: templates/js/translated/stock.js:3121 users/models.py:111 msgid "User" msgstr "Usuario" -#: common/models.py:2582 +#: common/models.py:2583 msgid "Price break quantity" msgstr "Quantidade de Parcelamentos" -#: common/models.py:2589 company/serializers.py:517 order/admin.py:42 +#: common/models.py:2590 company/serializers.py:517 order/admin.py:42 #: order/models.py:1423 order/models.py:2410 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1892 #: templates/js/translated/pricing.js:621 @@ -3747,96 +3744,96 @@ msgstr "Quantidade de Parcelamentos" msgid "Price" msgstr "Preço" -#: common/models.py:2590 +#: common/models.py:2591 msgid "Unit price at specified quantity" msgstr "Preço unitário na quantidade especificada" -#: common/models.py:2694 common/models.py:2879 +#: common/models.py:2695 common/models.py:2880 msgid "Endpoint" msgstr "Ponto final" -#: common/models.py:2695 +#: common/models.py:2696 msgid "Endpoint at which this webhook is received" msgstr "Ponto final em qual o gancho web foi recebido" -#: common/models.py:2705 +#: common/models.py:2706 msgid "Name for this webhook" msgstr "Nome para este webhook" -#: common/models.py:2709 +#: common/models.py:2710 msgid "Is this webhook active" msgstr "Este gancho web está ativo" -#: common/models.py:2725 users/models.py:159 +#: common/models.py:2726 users/models.py:159 msgid "Token" msgstr "" -#: common/models.py:2726 +#: common/models.py:2727 msgid "Token for access" msgstr "Token de acesso" -#: common/models.py:2734 +#: common/models.py:2735 msgid "Secret" msgstr "Segredo" -#: common/models.py:2735 +#: common/models.py:2736 msgid "Shared secret for HMAC" msgstr "Segredo compartilhado para HMAC" -#: common/models.py:2843 +#: common/models.py:2844 msgid "Message ID" msgstr "ID da Mensagem" -#: common/models.py:2844 +#: common/models.py:2845 msgid "Unique identifier for this message" msgstr "Identificador exclusivo desta mensagem" -#: common/models.py:2852 +#: common/models.py:2853 msgid "Host" msgstr "Servidor" -#: common/models.py:2853 +#: common/models.py:2854 msgid "Host from which this message was received" msgstr "Servidor do qual esta mensagem foi recebida" -#: common/models.py:2861 +#: common/models.py:2862 msgid "Header" msgstr "Cabeçalho" -#: common/models.py:2862 +#: common/models.py:2863 msgid "Header of this message" msgstr "Cabeçalho da mensagem" -#: common/models.py:2869 +#: common/models.py:2870 msgid "Body" msgstr "Corpo" -#: common/models.py:2870 +#: common/models.py:2871 msgid "Body of this message" msgstr "Corpo da mensagem" -#: common/models.py:2880 +#: common/models.py:2881 msgid "Endpoint on which this message was received" msgstr "Ponto do qual esta mensagem foi recebida" -#: common/models.py:2885 +#: common/models.py:2886 msgid "Worked on" msgstr "Trabalhado em" -#: common/models.py:2886 +#: common/models.py:2887 msgid "Was the work on this message finished?" msgstr "O trabalho desta mensagem foi concluído?" -#: common/models.py:3012 +#: common/models.py:3013 msgid "Id" msgstr "" -#: common/models.py:3014 templates/js/translated/company.js:965 +#: common/models.py:3015 templates/js/translated/company.js:965 #: templates/js/translated/news.js:44 msgid "Title" msgstr "Título" -#: common/models.py:3016 common/models.py:3271 company/models.py:146 +#: common/models.py:3017 common/models.py:3272 company/models.py:146 #: company/models.py:443 company/models.py:509 company/models.py:815 #: order/models.py:303 order/models.py:1378 order/models.py:1810 #: part/admin.py:55 part/models.py:1069 @@ -3853,217 +3850,217 @@ msgstr "Título" msgid "Link" msgstr "Ligação" -#: common/models.py:3018 templates/js/translated/news.js:60 +#: common/models.py:3019 templates/js/translated/news.js:60 msgid "Published" msgstr "Publicado" -#: common/models.py:3020 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:3021 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:103 msgid "Author" msgstr "Autor" -#: common/models.py:3022 templates/js/translated/news.js:52 +#: common/models.py:3023 templates/js/translated/news.js:52 msgid "Summary" msgstr "Resumo" -#: common/models.py:3025 +#: common/models.py:3026 msgid "Read" msgstr "Lida" -#: common/models.py:3025 +#: common/models.py:3026 msgid "Was this news item read?" msgstr "Esta notícia do item foi lida?" -#: common/models.py:3042 company/models.py:156 part/models.py:1079 +#: common/models.py:3043 company/models.py:156 part/models.py:1079 #: 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.html:35 -#: stock/templates/stock/item_base.html:133 templates/503.html:31 +#: stock/templates/stock/item_base.html:129 templates/503.html:31 #: templates/hover_image.html:7 templates/hover_image.html:9 #: templates/modals.html:6 msgid "Image" msgstr "Imagem" -#: common/models.py:3042 +#: common/models.py:3043 msgid "Image file" msgstr "Arquivo de imagem" -#: common/models.py:3054 common/models.py:3255 +#: common/models.py:3055 common/models.py:3256 msgid "Target model type for this image" msgstr "" -#: common/models.py:3058 +#: common/models.py:3059 msgid "Target model ID for this image" msgstr "" -#: common/models.py:3080 +#: common/models.py:3081 msgid "Custom Unit" msgstr "" -#: common/models.py:3098 +#: common/models.py:3099 msgid "Unit symbol must be unique" msgstr "" -#: common/models.py:3113 +#: common/models.py:3114 msgid "Unit name must be a valid identifier" msgstr "Nome da unidade deve ser um identificador válido" -#: common/models.py:3132 +#: common/models.py:3133 msgid "Unit name" msgstr "Nome da unidade" -#: common/models.py:3139 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3140 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "Símbolo" -#: common/models.py:3140 +#: common/models.py:3141 msgid "Optional unit symbol" msgstr "Símbolo de unidade opcional" -#: common/models.py:3146 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3147 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "Definição" -#: common/models.py:3147 +#: common/models.py:3148 msgid "Unit definition" msgstr "Definição de unidade" -#: common/models.py:3205 common/models.py:3262 stock/models.py:2552 +#: common/models.py:3206 common/models.py:3263 stock/models.py:2547 #: stock/serializers.py:244 templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:345 msgid "Attachment" msgstr "Anexo" -#: common/models.py:3217 +#: common/models.py:3218 msgid "Missing file" msgstr "Arquivo ausente" -#: common/models.py:3218 +#: common/models.py:3219 msgid "Missing external link" msgstr "Link externo não encontrado" -#: common/models.py:3263 +#: common/models.py:3264 msgid "Select file to attach" msgstr "Selecione arquivo para anexar" -#: common/models.py:3278 templates/js/translated/attachment.js:120 +#: common/models.py:3279 templates/js/translated/attachment.js:120 #: templates/js/translated/attachment.js:360 msgid "Comment" msgstr "Comentario" -#: common/models.py:3279 +#: common/models.py:3280 msgid "Attachment comment" msgstr "" -#: common/models.py:3295 +#: common/models.py:3296 msgid "Upload date" msgstr "" -#: common/models.py:3296 +#: common/models.py:3297 msgid "Date the file was uploaded" msgstr "" -#: common/models.py:3300 +#: common/models.py:3301 msgid "File size" msgstr "" -#: common/models.py:3300 +#: common/models.py:3301 msgid "File size in bytes" msgstr "" -#: common/models.py:3338 common/serializers.py:588 +#: common/models.py:3339 common/serializers.py:604 msgid "Invalid model type specified for attachment" msgstr "" -#: common/models.py:3347 plugin/models.py:43 users/models.py:100 +#: common/models.py:3348 plugin/models.py:43 users/models.py:100 msgid "Key" msgstr "Chave" -#: common/models.py:3348 +#: common/models.py:3349 msgid "Value that will be saved in the models database" msgstr "" -#: common/models.py:3351 +#: common/models.py:3352 msgid "Name of the state" msgstr "" -#: common/models.py:3355 +#: common/models.py:3356 msgid "Label" msgstr "" -#: common/models.py:3356 +#: common/models.py:3357 msgid "Label that will be displayed in the frontend" msgstr "" -#: common/models.py:3362 +#: common/models.py:3363 msgid "Color" msgstr "" -#: common/models.py:3363 +#: common/models.py:3364 msgid "Color that will be displayed in the frontend" msgstr "" -#: common/models.py:3366 +#: common/models.py:3367 msgid "Logical Key" msgstr "" -#: common/models.py:3368 +#: common/models.py:3369 msgid "State logical key that is equal to this custom state in business logic" msgstr "" -#: common/models.py:3376 +#: common/models.py:3377 msgid "Model" msgstr "" -#: common/models.py:3377 +#: common/models.py:3378 msgid "Model this state is associated with" msgstr "" -#: common/models.py:3381 +#: common/models.py:3382 msgid "Reference Status Set" msgstr "" -#: common/models.py:3382 +#: common/models.py:3383 msgid "Status set that is extended with this custom state" msgstr "" -#: common/models.py:3388 +#: common/models.py:3389 msgid "Custom State" msgstr "" -#: common/models.py:3389 +#: common/models.py:3390 msgid "Custom States" msgstr "" -#: common/models.py:3404 +#: common/models.py:3405 msgid "Model must be selected" msgstr "" -#: common/models.py:3407 +#: common/models.py:3408 msgid "Key must be selected" msgstr "" -#: common/models.py:3410 +#: common/models.py:3411 msgid "Logical key must be selected" msgstr "" -#: common/models.py:3414 +#: common/models.py:3415 msgid "Key must be different from logical key" msgstr "" -#: common/models.py:3418 +#: common/models.py:3419 msgid "Reference status must be selected" msgstr "" -#: common/models.py:3430 +#: common/models.py:3431 msgid "Reference status set not found" msgstr "" -#: common/models.py:3436 +#: common/models.py:3437 msgid "Key must be different from the logical keys of the reference status" msgstr "" -#: common/models.py:3442 +#: common/models.py:3443 msgid "Logical key must be in the logical keys of the reference status" msgstr "" @@ -4101,75 +4098,75 @@ msgstr "Os itens de um pedido de devolução foram recebidos" msgid "Error raised by plugin" msgstr "Erro criado pela extensão" -#: common/serializers.py:402 +#: common/serializers.py:418 msgid "Is Running" msgstr "Executando" -#: common/serializers.py:408 +#: common/serializers.py:424 msgid "Pending Tasks" msgstr "Tarefas Pendentes" -#: common/serializers.py:414 +#: common/serializers.py:430 msgid "Scheduled Tasks" msgstr "Tarefas Agendadas" -#: common/serializers.py:420 +#: common/serializers.py:436 msgid "Failed Tasks" msgstr "Tarefas com Falhas" -#: common/serializers.py:435 +#: common/serializers.py:451 msgid "Task ID" msgstr "ID da Tarefa" -#: common/serializers.py:435 +#: common/serializers.py:451 msgid "Unique task ID" msgstr "ID Único da Tarefa" -#: common/serializers.py:437 +#: common/serializers.py:453 msgid "Lock" msgstr "Bloquear" -#: common/serializers.py:437 +#: common/serializers.py:453 msgid "Lock time" msgstr "Tempo de bloqueio" -#: common/serializers.py:439 +#: common/serializers.py:455 msgid "Task name" msgstr "Nome da tarefa" -#: common/serializers.py:441 +#: common/serializers.py:457 msgid "Function" msgstr "Função" -#: common/serializers.py:441 +#: common/serializers.py:457 msgid "Function name" msgstr "Nome da função" -#: common/serializers.py:443 +#: common/serializers.py:459 msgid "Arguments" msgstr "Argumentos" -#: common/serializers.py:443 +#: common/serializers.py:459 msgid "Task arguments" msgstr "Argumentos da tarefa" -#: common/serializers.py:446 +#: common/serializers.py:462 msgid "Keyword Arguments" msgstr "Argumentos de Palavra-chave" -#: common/serializers.py:446 +#: common/serializers.py:462 msgid "Task keyword arguments" msgstr "Argumentos Palavra-chave da Tarefa" -#: common/serializers.py:556 +#: common/serializers.py:572 msgid "Filename" msgstr "Nome do arquivo" -#: common/serializers.py:563 report/api.py:100 report/serializers.py:53 +#: common/serializers.py:579 report/api.py:100 report/serializers.py:54 msgid "Model Type" msgstr "" -#: common/serializers.py:591 +#: common/serializers.py:607 msgid "User does not have permission to create or edit attachments for this model" msgstr "" @@ -4447,12 +4444,12 @@ msgstr "Link para as informações do endereço (externo)" #: company/models.py:467 company/models.py:584 company/models.py:808 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 -#: stock/templates/stock/item_base.html:217 +#: stock/templates/stock/item_base.html:213 msgid "Manufacturer Part" msgstr "Peça do Fabricante" #: company/models.py:484 company/models.py:776 stock/models.py:791 -#: stock/serializers.py:452 stock/templates/stock/item_base.html:142 +#: stock/serializers.py:452 stock/templates/stock/item_base.html:138 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "Peça base" @@ -4463,8 +4460,8 @@ msgstr "Selecionar peça" #: company/models.py:495 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:567 -#: stock/templates/stock/item_base.html:207 +#: company/templates/company/supplier_part.html:145 part/serializers.py:565 +#: stock/templates/stock/item_base.html:203 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 #: templates/js/translated/company.js:1296 @@ -4479,7 +4476,7 @@ msgstr "Selecionar fabricante" #: company/models.py:502 company/templates/company/manufacturer_part.html:101 #: company/templates/company/supplier_part.html:153 order/serializers.py:557 -#: part/serializers.py:577 templates/js/translated/company.js:351 +#: part/serializers.py:575 templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 #: templates/js/translated/company.js:1630 templates/js/translated/part.js:1807 @@ -4505,7 +4502,7 @@ msgid "Parameter name" msgstr "Nome do parâmetro" #: company/models.py:597 report/templates/report/inventree_test_report.html:104 -#: stock/models.py:2544 templates/js/translated/company.js:1166 +#: stock/models.py:2539 templates/js/translated/company.js:1166 #: templates/js/translated/company.js:1419 templates/js/translated/part.js:1499 #: templates/js/translated/stock.js:1607 msgid "Value" @@ -4516,7 +4513,7 @@ msgid "Parameter value" msgstr "Valor do Parâmetro" #: company/models.py:605 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1159 part/models.py:3783 +#: part/admin.py:57 part/models.py:1159 part/models.py:3770 #: part/templates/part/part_base.html:300 #: templates/js/translated/company.js:1425 templates/js/translated/part.js:1518 #: templates/js/translated/part.js:1622 templates/js/translated/part.js:2376 @@ -4530,7 +4527,7 @@ msgstr "Unidades do parâmetro" #: company/models.py:659 company/templates/company/supplier_part.html:7 #: company/templates/company/supplier_part.html:24 order/api.py:440 #: order/serializers.py:492 stock/models.py:802 -#: stock/templates/stock/item_base.html:233 +#: stock/templates/stock/item_base.html:229 #: templates/js/translated/build.js:1055 #: templates/js/translated/company.js:1600 #: templates/js/translated/purchase_order.js:752 @@ -4553,9 +4550,9 @@ msgstr "Parte do fabricante vinculado deve fazer referência à mesma peça base #: company/models.py:786 company/templates/company/company_base.html:87 #: company/templates/company/supplier_part.html:129 order/models.py:492 #: order/templates/order/order_base.html:141 part/bom.py:279 part/bom.py:314 -#: part/serializers.py:551 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:549 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 -#: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 +#: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:220 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:511 @@ -4570,7 +4567,7 @@ msgstr "Fornecedor" msgid "Select supplier" msgstr "Selecione o fornecedor" -#: company/models.py:793 part/serializers.py:562 +#: company/models.py:793 part/serializers.py:560 msgid "Supplier stock keeping unit" msgstr "Unidade de reserva de estoque fornecedor" @@ -4591,7 +4588,7 @@ msgid "Supplier part description" msgstr "Descrição da peça fornecedor" #: company/models.py:832 company/templates/company/supplier_part.html:187 -#: order/serializers.py:699 part/admin.py:415 part/models.py:4301 +#: order/serializers.py:699 part/admin.py:415 part/models.py:4288 #: part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 @@ -4603,11 +4600,11 @@ msgstr "Descrição da peça fornecedor" msgid "Note" msgstr "Anotação" -#: company/models.py:841 part/models.py:2129 +#: company/models.py:841 part/models.py:2128 msgid "base cost" msgstr "preço base" -#: company/models.py:842 part/models.py:2130 +#: company/models.py:842 part/models.py:2129 msgid "Minimum charge (e.g. stocking fee)" msgstr "Taxa mínima (ex.: taxa de estoque)" @@ -4629,7 +4626,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:876 part/models.py:2136 +#: company/models.py:876 part/models.py:2135 msgid "multiple" msgstr "múltiplo" @@ -4661,7 +4658,7 @@ msgstr "Moeda padrão utilizada para este fornecedor" msgid "Company Name" msgstr "" -#: company/serializers.py:397 part/admin.py:126 part/serializers.py:919 +#: company/serializers.py:397 part/admin.py:126 part/serializers.py:917 #: part/templates/part/part_base.html:197 #: templates/js/translated/company.js:1689 #: templates/js/translated/table_filters.js:362 @@ -4735,7 +4732,7 @@ msgstr "Excluir imagem" #: order/models.py:2140 order/templates/order/return_order_base.html:134 #: order/templates/order/sales_order_base.html:151 stock/models.py:844 #: stock/models.py:845 stock/serializers.py:1336 -#: stock/templates/stock/item_base.html:405 +#: stock/templates/stock/item_base.html:401 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 #: templates/js/translated/return_order.js:295 @@ -4939,7 +4936,7 @@ msgstr "Nenhuma informação do fabricante disponível" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:925 +#: part/admin.py:122 part/serializers.py:923 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -5030,7 +5027,7 @@ msgid "No supplier information available" msgstr "Nenhuma informação do fornecedor está disponível" #: company/templates/company/supplier_part.html:139 order/serializers.py:554 -#: part/bom.py:286 part/bom.py:315 part/serializers.py:561 +#: part/bom.py:286 part/bom.py:315 part/serializers.py:559 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1793 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1920 @@ -5084,7 +5081,7 @@ msgid "Update Part Availability" msgstr "Atualizar Disponibilidade de Peças" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:923 part/stocktake.py:223 +#: part/serializers.py:921 part/stocktake.py:223 #: part/templates/part/category.html:180 #: part/templates/part/category_sidebar.html:17 stock/admin.py:68 #: stock/serializers.py:1021 stock/serializers.py:1199 @@ -5215,7 +5212,7 @@ msgstr "" msgid "Original row data" msgstr "" -#: importer/models.py:504 part/models.py:3965 +#: importer/models.py:504 part/models.py:3952 msgid "Data" msgstr "Dados" @@ -5473,7 +5470,7 @@ msgstr "" #: order/models.py:1592 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_purchase_order_report.html:14 -#: stock/serializers.py:121 stock/templates/stock/item_base.html:176 +#: stock/serializers.py:121 stock/templates/stock/item_base.html:172 #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/part.js:1752 templates/js/translated/pricing.js:804 #: templates/js/translated/purchase_order.js:168 @@ -5694,7 +5691,7 @@ msgid "Number of items received" msgstr "Número de itens recebidos" #: order/models.py:1513 stock/models.py:963 stock/serializers.py:617 -#: stock/templates/stock/item_base.html:183 +#: stock/templates/stock/item_base.html:179 #: templates/js/translated/stock.js:2397 msgid "Purchase Price" msgstr "Preço de Compra" @@ -5768,7 +5765,7 @@ msgid "User who checked this shipment" msgstr "Usuário que verificou esta remessa" #: order/models.py:1788 order/models.py:2011 order/serializers.py:1479 -#: order/serializers.py:1589 templates/js/translated/model_renderers.js:455 +#: order/serializers.py:1597 templates/js/translated/model_renderers.js:455 msgid "Shipment" msgstr "Remessa" @@ -5982,7 +5979,7 @@ msgstr "Itens de linha" msgid "Line item does not match purchase order" msgstr "O item de linha não corresponde ao pedido de compra" -#: order/serializers.py:656 order/serializers.py:779 order/serializers.py:1790 +#: order/serializers.py:656 order/serializers.py:779 order/serializers.py:1798 msgid "Select destination location for received items" msgstr "Selecione o local de destino para os itens recebidos" @@ -6019,7 +6016,7 @@ msgstr "Código de barras já em uso" msgid "An integer quantity must be provided for trackable parts" msgstr "Quantidade inteira deve ser fornecida para peças rastreáveis" -#: order/serializers.py:795 order/serializers.py:1806 +#: order/serializers.py:795 order/serializers.py:1814 msgid "Line items must be provided" msgstr "Itens de linha deve ser providenciados" @@ -6051,39 +6048,39 @@ msgstr "Quantidade deve ser positiva" msgid "Enter serial numbers to allocate" msgstr "Digite números de série para alocar" -#: order/serializers.py:1491 order/serializers.py:1597 +#: order/serializers.py:1491 order/serializers.py:1605 msgid "Shipment has already been shipped" msgstr "O pedido já foi enviado" -#: order/serializers.py:1494 order/serializers.py:1600 +#: order/serializers.py:1494 order/serializers.py:1608 msgid "Shipment is not associated with this order" msgstr "O envio não está associado a este pedido" -#: order/serializers.py:1541 +#: order/serializers.py:1549 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:1548 -msgid "The following serial numbers are already allocated" -msgstr "Os seguintes números de série já estão alocados" +#: order/serializers.py:1556 +msgid "The following serial numbers are unavailable" +msgstr "" -#: order/serializers.py:1760 +#: order/serializers.py:1768 msgid "Return order line item" msgstr "Devolver item do pedido" -#: order/serializers.py:1766 +#: order/serializers.py:1774 msgid "Line item does not match return order" msgstr "Item do pedido não bate com o pedido de devolução" -#: order/serializers.py:1769 +#: order/serializers.py:1777 msgid "Line item has already been received" msgstr "Item do pedido já foi recebido" -#: order/serializers.py:1798 +#: order/serializers.py:1806 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:1881 +#: order/serializers.py:1889 msgid "Line price currency" msgstr "Tipo de moeda para o item do pedido" @@ -6510,7 +6507,7 @@ 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:48 part/models.py:1044 part/serializers.py:908 +#: part/admin.py:48 part/models.py:1044 part/serializers.py:906 #: part/templates/part/part_base.html:276 #: report/templates/report/inventree_stock_location_report.html:103 #: templates/js/translated/part.js:1233 templates/js/translated/part.js:2347 @@ -6537,7 +6534,7 @@ msgstr "Imagem da Peça" msgid "Category ID" msgstr "ID da Categoria" -#: part/admin.py:67 part/admin.py:304 part/serializers.py:893 +#: part/admin.py:67 part/admin.py:304 part/serializers.py:891 #: part/stocktake.py:222 msgid "Category Name" msgstr "Nome da Categoria" @@ -6562,18 +6559,18 @@ msgstr "Estoque Mínimo" msgid "Used In" msgstr "Usado em" -#: part/admin.py:150 part/serializers.py:918 +#: part/admin.py:150 part/serializers.py:916 #: part/templates/part/part_base.html:248 stock/admin.py:236 #: templates/js/translated/part.js:717 templates/js/translated/part.js:2159 msgid "Building" msgstr "Produzindo" -#: part/admin.py:155 part/models.py:3214 part/models.py:3228 +#: part/admin.py:155 part/models.py:3201 part/models.py:3215 #: templates/js/translated/part.js:976 msgid "Minimum Cost" msgstr "Custo Mínimo" -#: part/admin.py:158 part/models.py:3221 part/models.py:3235 +#: part/admin.py:158 part/models.py:3208 part/models.py:3222 #: templates/js/translated/part.js:986 msgid "Maximum Cost" msgstr "Custo Máximo" @@ -6592,7 +6589,7 @@ msgid "Category Path" msgstr "Caminho da Categoria" #: part/admin.py:325 part/models.py:420 part/serializers.py:130 -#: part/serializers.py:290 part/serializers.py:428 +#: part/serializers.py:290 part/serializers.py:426 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:20 #: part/templates/part/category.html:138 part/templates/part/category.html:158 #: part/templates/part/category_sidebar.html:9 @@ -6619,13 +6616,13 @@ msgstr "IPN Paternal" msgid "Part Revision" msgstr "" -#: part/admin.py:418 part/serializers.py:1367 +#: part/admin.py:418 part/serializers.py:1365 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "Preço Mínimo" -#: part/admin.py:423 part/serializers.py:1382 +#: part/admin.py:423 part/serializers.py:1380 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -6719,8 +6716,8 @@ msgstr "" msgid "BOM Valid" msgstr "" -#: part/api.py:1520 part/models.py:1036 part/models.py:3501 part/models.py:4060 -#: part/serializers.py:443 part/serializers.py:1223 +#: part/api.py:1520 part/models.py:1036 part/models.py:3488 part/models.py:4047 +#: part/serializers.py:441 part/serializers.py:1221 #: part/templates/part/part_base.html:267 stock/api.py:780 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 @@ -6746,7 +6743,7 @@ msgstr "" msgid "Default Location" msgstr "Local Padrão" -#: part/bom.py:184 part/serializers.py:926 +#: part/bom.py:184 part/serializers.py:924 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "Estoque Total" @@ -6755,7 +6752,7 @@ msgstr "Estoque Total" msgid "Input quantity for price calculation" msgstr "Quantidade para o cálculo de preço" -#: part/models.py:89 part/models.py:4061 part/templates/part/category.html:16 +#: part/models.py:89 part/models.py:4048 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "Categoria da Peça" @@ -6878,7 +6875,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:995 part/models.py:4116 +#: part/models.py:995 part/models.py:4103 msgid "Part name" msgstr "Nome da peça" @@ -6906,7 +6903,7 @@ msgstr "Palavras-chave para melhorar a visibilidade nos resultados da pesquisa" msgid "Part category" msgstr "Categoria da Peça" -#: part/models.py:1052 part/serializers.py:360 +#: part/models.py:1052 msgid "Part revision or version number" msgstr "Revisão de peça ou número de versão" @@ -7012,164 +7009,164 @@ msgid "Owner responsible for this part" msgstr "Proprietário responsável por esta peça" #: part/models.py:1264 part/templates/part/part_base.html:355 -#: stock/templates/stock/item_base.html:451 +#: stock/templates/stock/item_base.html:447 #: templates/js/translated/part.js:2490 msgid "Last Stocktake" msgstr "Último Balanço" -#: part/models.py:2137 +#: part/models.py:2136 msgid "Sell multiple" msgstr "Venda múltipla" -#: part/models.py:3128 +#: part/models.py:3115 msgid "Currency used to cache pricing calculations" msgstr "Moeda usada para armazenar os cálculos de preços" -#: part/models.py:3144 +#: part/models.py:3131 msgid "Minimum BOM Cost" msgstr "Custo Mínimo da LDM" -#: part/models.py:3145 +#: part/models.py:3132 msgid "Minimum cost of component parts" msgstr "Custo mínimo das peças componentes" -#: part/models.py:3151 +#: part/models.py:3138 msgid "Maximum BOM Cost" msgstr "Custo Máximo da LDM" -#: part/models.py:3152 +#: part/models.py:3139 msgid "Maximum cost of component parts" msgstr "Custo máximo das peças componentes" -#: part/models.py:3158 +#: part/models.py:3145 msgid "Minimum Purchase Cost" msgstr "Custo Mínimo de Compra" -#: part/models.py:3159 +#: part/models.py:3146 msgid "Minimum historical purchase cost" msgstr "Custo mínimo histórico de compra" -#: part/models.py:3165 +#: part/models.py:3152 msgid "Maximum Purchase Cost" msgstr "Custo Máximo de Compra" -#: part/models.py:3166 +#: part/models.py:3153 msgid "Maximum historical purchase cost" msgstr "Custo máximo histórico de compra" -#: part/models.py:3172 +#: part/models.py:3159 msgid "Minimum Internal Price" msgstr "Preço Interno Mínimo" -#: part/models.py:3173 +#: part/models.py:3160 msgid "Minimum cost based on internal price breaks" msgstr "Custo mínimo baseado nos intervalos de preço internos" -#: part/models.py:3179 +#: part/models.py:3166 msgid "Maximum Internal Price" msgstr "Preço Interno Máximo" -#: part/models.py:3180 +#: part/models.py:3167 msgid "Maximum cost based on internal price breaks" msgstr "Custo máximo baseado nos intervalos de preço internos" -#: part/models.py:3186 +#: part/models.py:3173 msgid "Minimum Supplier Price" msgstr "Preço Mínimo do Fornecedor" -#: part/models.py:3187 +#: part/models.py:3174 msgid "Minimum price of part from external suppliers" msgstr "Preço mínimo da peça de fornecedores externos" -#: part/models.py:3193 +#: part/models.py:3180 msgid "Maximum Supplier Price" msgstr "Preço Máximo do Fornecedor" -#: part/models.py:3194 +#: part/models.py:3181 msgid "Maximum price of part from external suppliers" msgstr "Preço máximo da peça de fornecedores externos" -#: part/models.py:3200 +#: part/models.py:3187 msgid "Minimum Variant Cost" msgstr "Custo Mínimo variável" -#: part/models.py:3201 +#: part/models.py:3188 msgid "Calculated minimum cost of variant parts" msgstr "Custo mínimo calculado das peças variáveis" -#: part/models.py:3207 +#: part/models.py:3194 msgid "Maximum Variant Cost" msgstr "Custo Máximo Variável" -#: part/models.py:3208 +#: part/models.py:3195 msgid "Calculated maximum cost of variant parts" msgstr "Custo máximo calculado das peças variáveis" -#: part/models.py:3215 +#: part/models.py:3202 msgid "Override minimum cost" msgstr "Sobrepor o custo mínimo" -#: part/models.py:3222 +#: part/models.py:3209 msgid "Override maximum cost" msgstr "Sobrepor o custo máximo" -#: part/models.py:3229 +#: part/models.py:3216 msgid "Calculated overall minimum cost" msgstr "Custo total mínimo calculado" -#: part/models.py:3236 +#: part/models.py:3223 msgid "Calculated overall maximum cost" msgstr "Custo total máximo calculado" -#: part/models.py:3242 +#: part/models.py:3229 msgid "Minimum Sale Price" msgstr "Preço Mínimo de Venda" -#: part/models.py:3243 +#: part/models.py:3230 msgid "Minimum sale price based on price breaks" msgstr "Preço mínimo de venda baseado nos intervalos de preço" -#: part/models.py:3249 +#: part/models.py:3236 msgid "Maximum Sale Price" msgstr "Preço Máximo de Venda" -#: part/models.py:3250 +#: part/models.py:3237 msgid "Maximum sale price based on price breaks" msgstr "Preço máximo de venda baseado nos intervalos de preço" -#: part/models.py:3256 +#: part/models.py:3243 msgid "Minimum Sale Cost" msgstr "Custo Mínimo de Venda" -#: part/models.py:3257 +#: part/models.py:3244 msgid "Minimum historical sale price" msgstr "Preço histórico mínimo de venda" -#: part/models.py:3263 +#: part/models.py:3250 msgid "Maximum Sale Cost" msgstr "Custo Máximo de Venda" -#: part/models.py:3264 +#: part/models.py:3251 msgid "Maximum historical sale price" msgstr "Preço histórico máximo de venda" -#: part/models.py:3283 +#: part/models.py:3270 msgid "Part for stocktake" msgstr "Peça para Balanço" -#: part/models.py:3288 +#: part/models.py:3275 msgid "Item Count" msgstr "Total de Itens" -#: part/models.py:3289 +#: part/models.py:3276 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:3297 +#: part/models.py:3284 msgid "Total available stock at time of stocktake" msgstr "Estoque total disponível no momento do balanço" -#: part/models.py:3301 part/models.py:3384 +#: part/models.py:3288 part/models.py:3371 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -7181,363 +7178,363 @@ msgstr "Estoque total disponível no momento do balanço" msgid "Date" msgstr "Data" -#: part/models.py:3302 +#: part/models.py:3289 msgid "Date stocktake was performed" msgstr "Data de realização do balanço" -#: part/models.py:3310 +#: part/models.py:3297 msgid "Additional notes" msgstr "Notas adicionais" -#: part/models.py:3320 +#: part/models.py:3307 msgid "User who performed this stocktake" msgstr "Usuário que fez o balanço" -#: part/models.py:3326 +#: part/models.py:3313 msgid "Minimum Stock Cost" msgstr "Custo Mínimo de Estoque" -#: part/models.py:3327 +#: part/models.py:3314 msgid "Estimated minimum cost of stock on hand" msgstr "Custo mínimo estimado de estoque disponível" -#: part/models.py:3333 +#: part/models.py:3320 msgid "Maximum Stock Cost" msgstr "Custo Máximo de Estoque" -#: part/models.py:3334 +#: part/models.py:3321 msgid "Estimated maximum cost of stock on hand" msgstr "Custo máximo estimado de estoque disponível" -#: part/models.py:3390 templates/InvenTree/settings/settings_staff_js.html:532 +#: part/models.py:3377 templates/InvenTree/settings/settings_staff_js.html:532 msgid "Report" msgstr "Reportar" -#: part/models.py:3391 +#: part/models.py:3378 msgid "Stocktake report file (generated internally)" msgstr "Arquivo de Relatório de Balanço (gerado internamente)" -#: part/models.py:3396 templates/InvenTree/settings/settings_staff_js.html:539 +#: part/models.py:3383 templates/InvenTree/settings/settings_staff_js.html:539 msgid "Part Count" msgstr "Contagem de Peças" -#: part/models.py:3397 +#: part/models.py:3384 msgid "Number of parts covered by stocktake" msgstr "Número de peças cobertas pelo Balanço" -#: part/models.py:3407 +#: part/models.py:3394 msgid "User who requested this stocktake report" msgstr "Usuário que solicitou este relatório de balanço" -#: part/models.py:3417 +#: part/models.py:3404 msgid "Part Sale Price Break" msgstr "" -#: part/models.py:3529 +#: part/models.py:3516 msgid "Part Test Template" msgstr "" -#: part/models.py:3555 +#: part/models.py:3542 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3576 part/models.py:3745 +#: part/models.py:3563 part/models.py:3732 msgid "Choices must be unique" msgstr "Escolhas devem ser únicas" -#: part/models.py:3587 +#: part/models.py:3574 msgid "Test templates can only be created for testable parts" msgstr "" -#: part/models.py:3598 +#: part/models.py:3585 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3615 templates/js/translated/part.js:2898 +#: part/models.py:3602 templates/js/translated/part.js:2898 msgid "Test Name" msgstr "Nome de Teste" -#: part/models.py:3616 +#: part/models.py:3603 msgid "Enter a name for the test" msgstr "Insira um nome para o teste" -#: part/models.py:3622 +#: part/models.py:3609 msgid "Test Key" msgstr "" -#: part/models.py:3623 +#: part/models.py:3610 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3630 +#: part/models.py:3617 msgid "Test Description" msgstr "Descrição do Teste" -#: part/models.py:3631 +#: part/models.py:3618 msgid "Enter description for this test" msgstr "Digite a descrição para este teste" -#: part/models.py:3635 report/models.py:208 +#: part/models.py:3622 report/models.py:216 #: templates/js/translated/part.js:2919 #: templates/js/translated/table_filters.js:502 msgid "Enabled" msgstr "Habilitado" -#: part/models.py:3635 +#: part/models.py:3622 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3640 templates/js/translated/part.js:2927 +#: part/models.py:3627 templates/js/translated/part.js:2927 #: templates/js/translated/table_filters.js:498 msgid "Required" msgstr "Requerido" -#: part/models.py:3641 +#: part/models.py:3628 msgid "Is this test required to pass?" msgstr "Este teste é obrigatório passar?" -#: part/models.py:3646 templates/js/translated/part.js:2935 +#: part/models.py:3633 templates/js/translated/part.js:2935 msgid "Requires Value" msgstr "Requer Valor" -#: part/models.py:3647 +#: part/models.py:3634 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:3652 templates/js/translated/part.js:2942 +#: part/models.py:3639 templates/js/translated/part.js:2942 msgid "Requires Attachment" msgstr "Anexo obrigatório" -#: part/models.py:3654 +#: part/models.py:3641 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:3660 part/models.py:3804 templates/js/translated/part.js:1643 +#: part/models.py:3647 part/models.py:3791 templates/js/translated/part.js:1643 msgid "Choices" msgstr "Escolhas" -#: part/models.py:3661 +#: part/models.py:3648 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3693 +#: part/models.py:3680 msgid "Part Parameter Template" msgstr "" -#: part/models.py:3720 +#: part/models.py:3707 msgid "Checkbox parameters cannot have units" msgstr "Parâmetros da caixa de seleção não podem ter unidades" -#: part/models.py:3725 +#: part/models.py:3712 msgid "Checkbox parameters cannot have choices" msgstr "Os parâmetros da caixa de seleção não podem ter escolhas" -#: part/models.py:3762 +#: part/models.py:3749 msgid "Parameter template name must be unique" msgstr "Nome do modelo de parâmetro deve ser único" -#: part/models.py:3777 +#: part/models.py:3764 msgid "Parameter Name" msgstr "Nome do Parâmetro" -#: part/models.py:3784 +#: part/models.py:3771 msgid "Physical units for this parameter" msgstr "Unidades físicas para este parâmetro" -#: part/models.py:3792 +#: part/models.py:3779 msgid "Parameter description" msgstr "Descrição do Parâmetro" -#: part/models.py:3798 templates/js/translated/part.js:1634 +#: part/models.py:3785 templates/js/translated/part.js:1634 #: templates/js/translated/table_filters.js:837 msgid "Checkbox" msgstr "Caixa de seleção" -#: part/models.py:3799 +#: part/models.py:3786 msgid "Is this parameter a checkbox?" msgstr "Este parâmetro é uma caixa de seleção?" -#: part/models.py:3805 +#: part/models.py:3792 msgid "Valid choices for this parameter (comma-separated)" msgstr "Opções válidas para este parâmetro (separadas por vírgulas)" -#: part/models.py:3839 +#: part/models.py:3826 msgid "Part Parameter" msgstr "" -#: part/models.py:3865 +#: part/models.py:3852 msgid "Parameter cannot be modified - part is locked" msgstr "" -#: part/models.py:3903 +#: part/models.py:3890 msgid "Invalid choice for parameter value" msgstr "Escolha inválida para valor do parâmetro" -#: part/models.py:3952 +#: part/models.py:3939 msgid "Parent Part" msgstr "Peça Paternal" -#: part/models.py:3960 part/models.py:4068 part/models.py:4069 +#: part/models.py:3947 part/models.py:4055 part/models.py:4056 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "Modelo de parâmetro" -#: part/models.py:3966 +#: part/models.py:3953 msgid "Parameter Value" msgstr "Valor do Parâmetro" -#: part/models.py:4016 +#: part/models.py:4003 msgid "Part Category Parameter Template" msgstr "" -#: part/models.py:4075 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:4062 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "Valor Padrão" -#: part/models.py:4076 +#: part/models.py:4063 msgid "Default Parameter Value" msgstr "Valor Padrão do Parâmetro" -#: part/models.py:4114 +#: part/models.py:4101 msgid "Part ID or part name" msgstr "ID da peça ou nome da peça" -#: part/models.py:4115 +#: part/models.py:4102 msgid "Unique part ID value" msgstr "Valor exclusivo do ID de peça" -#: part/models.py:4117 +#: part/models.py:4104 msgid "Part IPN value" msgstr "Valor da parte IPN" -#: part/models.py:4118 +#: part/models.py:4105 msgid "Level" msgstr "Nível" -#: part/models.py:4118 +#: part/models.py:4105 msgid "BOM level" msgstr "Nível da LDM" -#: part/models.py:4228 +#: part/models.py:4215 msgid "BOM item cannot be modified - assembly is locked" msgstr "" -#: part/models.py:4235 +#: part/models.py:4222 msgid "BOM item cannot be modified - variant assembly is locked" msgstr "" -#: part/models.py:4245 +#: part/models.py:4232 msgid "Select parent part" msgstr "Selecione a Peça Parental" -#: part/models.py:4255 +#: part/models.py:4242 msgid "Sub part" msgstr "Sub peça" -#: part/models.py:4256 +#: part/models.py:4243 msgid "Select part to be used in BOM" msgstr "Selecionar peça a ser usada na LDM" -#: part/models.py:4267 +#: part/models.py:4254 msgid "BOM quantity for this BOM item" msgstr "Quantidade de LDM para este item LDM" -#: part/models.py:4273 +#: part/models.py:4260 msgid "This BOM item is optional" msgstr "Este item LDM é opcional" -#: part/models.py:4279 +#: part/models.py:4266 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:4286 part/templates/part/upload_bom.html:55 +#: part/models.py:4273 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "Excedente" -#: part/models.py:4287 +#: part/models.py:4274 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "Quantidade estimada de desperdício (absoluto ou porcentagem)" -#: part/models.py:4294 +#: part/models.py:4281 msgid "BOM item reference" msgstr "Referência do Item LDM" -#: part/models.py:4302 +#: part/models.py:4289 msgid "BOM item notes" msgstr "Notas do Item LDM" -#: part/models.py:4308 +#: part/models.py:4295 msgid "Checksum" msgstr "Soma de verificação" -#: part/models.py:4309 +#: part/models.py:4296 msgid "BOM line checksum" msgstr "Soma de Verificação da LDM da linha" -#: part/models.py:4314 templates/js/translated/table_filters.js:181 +#: part/models.py:4301 templates/js/translated/table_filters.js:181 msgid "Validated" msgstr "Validado" -#: part/models.py:4315 +#: part/models.py:4302 msgid "This BOM item has been validated" msgstr "O item da LDM foi validado" -#: part/models.py:4320 part/templates/part/upload_bom.html:57 +#: part/models.py:4307 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:185 #: templates/js/translated/table_filters.js:218 msgid "Gets inherited" msgstr "Obtém herdados" -#: part/models.py:4321 +#: part/models.py:4308 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:4327 +#: part/models.py:4314 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:4412 stock/models.py:689 +#: part/models.py:4399 stock/models.py:689 msgid "Quantity must be integer value for trackable parts" msgstr "Quantidade deve ser valor inteiro para peças rastreáveis" -#: part/models.py:4422 part/models.py:4424 +#: part/models.py:4409 part/models.py:4411 msgid "Sub part must be specified" msgstr "Sub peça deve ser especificada" -#: part/models.py:4561 +#: part/models.py:4554 msgid "BOM Item Substitute" msgstr "Substituir Item da LDM" -#: part/models.py:4582 +#: part/models.py:4575 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:4595 +#: part/models.py:4588 msgid "Parent BOM item" msgstr "Item LDM Parental" -#: part/models.py:4603 +#: part/models.py:4596 msgid "Substitute part" msgstr "Substituir peça" -#: part/models.py:4619 +#: part/models.py:4612 msgid "Part 1" msgstr "Parte 1" -#: part/models.py:4627 +#: part/models.py:4620 msgid "Part 2" msgstr "Parte 2" -#: part/models.py:4628 +#: part/models.py:4621 msgid "Select Related Part" msgstr "Selecionar Peça Relacionada" -#: part/models.py:4647 +#: part/models.py:4640 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:4652 +#: part/models.py:4645 msgid "Duplicate relationship already exists" msgstr "Relação duplicada já existe" @@ -7571,326 +7568,326 @@ msgstr "Moeda de compra deste item de estoque" msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:434 +#: part/serializers.py:432 msgid "No parts selected" msgstr "Nenhuma parte selecionada" -#: part/serializers.py:444 +#: part/serializers.py:442 msgid "Select category" msgstr "Selecionar categoria" -#: part/serializers.py:479 +#: part/serializers.py:477 msgid "Original Part" msgstr "Peça Original" -#: part/serializers.py:480 +#: part/serializers.py:478 msgid "Select original part to duplicate" msgstr "Selecione a peça original para duplicar" -#: part/serializers.py:485 +#: part/serializers.py:483 msgid "Copy Image" msgstr "Copiar imagem" -#: part/serializers.py:486 +#: part/serializers.py:484 msgid "Copy image from original part" msgstr "Copiar imagem da peça original" -#: part/serializers.py:492 part/templates/part/detail.html:293 +#: part/serializers.py:490 part/templates/part/detail.html:293 msgid "Copy BOM" msgstr "Copiar LDM" -#: part/serializers.py:493 +#: part/serializers.py:491 msgid "Copy bill of materials from original part" msgstr "Copiar lista de materiais da peça original" -#: part/serializers.py:499 +#: part/serializers.py:497 msgid "Copy Parameters" msgstr "Copiar Parâmetros" -#: part/serializers.py:500 +#: part/serializers.py:498 msgid "Copy parameter data from original part" msgstr "Copiar dados do parâmetro da peça original" -#: part/serializers.py:506 +#: part/serializers.py:504 msgid "Copy Notes" msgstr "Copiar Notas" -#: part/serializers.py:507 +#: part/serializers.py:505 msgid "Copy notes from original part" msgstr "Copiar imagem da peça original" -#: part/serializers.py:525 +#: part/serializers.py:523 msgid "Initial Stock Quantity" msgstr "Quantidade Inicial de Estoque" -#: part/serializers.py:527 +#: part/serializers.py:525 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:534 +#: part/serializers.py:532 msgid "Initial Stock Location" msgstr "Local Inicial do Estoque" -#: part/serializers.py:535 +#: part/serializers.py:533 msgid "Specify initial stock location for this Part" msgstr "Especifique o local do estoque inicial para esta Peça" -#: part/serializers.py:552 +#: part/serializers.py:550 msgid "Select supplier (or leave blank to skip)" msgstr "Selecione o fornecedor (ou deixe em branco para pular)" -#: part/serializers.py:568 +#: part/serializers.py:566 msgid "Select manufacturer (or leave blank to skip)" msgstr "Selecione fabricante (ou deixe em branco para pular)" -#: part/serializers.py:578 +#: part/serializers.py:576 msgid "Manufacturer part number" msgstr "Número de Peça do Fabricante" -#: part/serializers.py:585 +#: part/serializers.py:583 msgid "Selected company is not a valid supplier" msgstr "A empresa selecionada não é um fornecedor válido" -#: part/serializers.py:594 +#: part/serializers.py:592 msgid "Selected company is not a valid manufacturer" msgstr "A empresa selecionada não é um fabricante válido" -#: part/serializers.py:605 +#: part/serializers.py:603 msgid "Manufacturer part matching this MPN already exists" msgstr "A peça do fabricante que corresponde a essa MPN já existe" -#: part/serializers.py:612 +#: part/serializers.py:610 msgid "Supplier part matching this SKU already exists" msgstr "A peça do fornecedor que corresponde a essa SKU já existe" -#: part/serializers.py:924 +#: part/serializers.py:922 msgid "Revisions" msgstr "" -#: part/serializers.py:929 +#: part/serializers.py:927 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:932 +#: part/serializers.py:930 msgid "Variant Stock" msgstr "" -#: part/serializers.py:962 part/templates/part/copy_part.html:9 +#: part/serializers.py:960 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:474 msgid "Duplicate Part" msgstr "Peça duplicada" -#: part/serializers.py:963 +#: part/serializers.py:961 msgid "Copy initial data from another Part" msgstr "Copiar dados iniciais de outra peça" -#: part/serializers.py:969 templates/js/translated/part.js:103 +#: part/serializers.py:967 templates/js/translated/part.js:103 msgid "Initial Stock" msgstr "Estoque inicial" -#: part/serializers.py:970 +#: part/serializers.py:968 msgid "Create Part with initial stock quantity" msgstr "Criar peça com a quantidade inicial de estoque" -#: part/serializers.py:976 +#: part/serializers.py:974 msgid "Supplier Information" msgstr "Informações do Fornecedor" -#: part/serializers.py:977 +#: part/serializers.py:975 msgid "Add initial supplier information for this part" msgstr "Adicionar informação inicial de fornecedor para esta peça" -#: part/serializers.py:985 +#: part/serializers.py:983 msgid "Copy Category Parameters" msgstr "Copiar Parâmetros da Categoria" -#: part/serializers.py:986 +#: part/serializers.py:984 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:991 +#: part/serializers.py:989 msgid "Existing Image" msgstr "Imagem Existente" -#: part/serializers.py:992 +#: part/serializers.py:990 msgid "Filename of an existing part image" msgstr "Nome de arquivo de uma imagem de peça existente" -#: part/serializers.py:1009 +#: part/serializers.py:1007 msgid "Image file does not exist" msgstr "A imagem não existe" -#: part/serializers.py:1215 +#: part/serializers.py:1213 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:1225 +#: part/serializers.py:1223 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:1235 +#: part/serializers.py:1233 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:1241 +#: part/serializers.py:1239 msgid "Exclude External Stock" msgstr "Excluir Estoque externo" -#: part/serializers.py:1242 +#: part/serializers.py:1240 msgid "Exclude stock items in external locations" msgstr "Excluir itens de estoque em locais externos" -#: part/serializers.py:1247 +#: part/serializers.py:1245 msgid "Generate Report" msgstr "Gerar relatório" -#: part/serializers.py:1248 +#: part/serializers.py:1246 msgid "Generate report file containing calculated stocktake data" msgstr "Gerar arquivo de relatório contendo dados de estoque calculados" -#: part/serializers.py:1253 +#: part/serializers.py:1251 msgid "Update Parts" msgstr "Atualizar Peças" -#: part/serializers.py:1254 +#: part/serializers.py:1252 msgid "Update specified parts with calculated stocktake data" msgstr "Atualizar peças especificadas com dados de estoque calculados" -#: part/serializers.py:1262 +#: part/serializers.py:1260 msgid "Stocktake functionality is not enabled" msgstr "Função de Balanço de Estoque não está ativada" -#: part/serializers.py:1368 +#: part/serializers.py:1366 msgid "Override calculated value for minimum price" msgstr "Sobrepor valor calculado para preço mínimo" -#: part/serializers.py:1375 +#: part/serializers.py:1373 msgid "Minimum price currency" msgstr "Moeda do preço mínimo" -#: part/serializers.py:1383 +#: part/serializers.py:1381 msgid "Override calculated value for maximum price" msgstr "Sobrepor valor calculado para preço máximo" -#: part/serializers.py:1390 +#: part/serializers.py:1388 msgid "Maximum price currency" msgstr "Moeda do preço máximo" -#: part/serializers.py:1419 +#: part/serializers.py:1417 msgid "Update" msgstr "Atualizar" -#: part/serializers.py:1420 +#: part/serializers.py:1418 msgid "Update pricing for this part" msgstr "Atualizar preços desta peça" -#: part/serializers.py:1443 +#: part/serializers.py:1441 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "Não foi possível converter das moedas fornecidas para {default_currency}" -#: part/serializers.py:1450 +#: part/serializers.py:1448 msgid "Minimum price must not be greater than maximum price" msgstr "Preço mínimo não pode ser maior que o preço máximo" -#: part/serializers.py:1453 +#: part/serializers.py:1451 msgid "Maximum price must not be less than minimum price" msgstr "Preço máximo não pode ser menor que o preço mínimo" -#: part/serializers.py:1597 +#: part/serializers.py:1595 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1606 +#: part/serializers.py:1604 msgid "Component Name" msgstr "" -#: part/serializers.py:1609 +#: part/serializers.py:1607 msgid "Component IPN" msgstr "" -#: part/serializers.py:1612 +#: part/serializers.py:1610 msgid "Component Description" msgstr "" -#: part/serializers.py:1618 +#: part/serializers.py:1616 msgid "Select the component part" msgstr "" -#: part/serializers.py:1627 part/templates/part/part_base.html:242 +#: part/serializers.py:1625 part/templates/part/part_base.html:242 #: templates/js/translated/bom.js:1219 msgid "Can Build" msgstr "Pode Produzir" -#: part/serializers.py:1858 +#: part/serializers.py:1856 msgid "Select part to copy BOM from" msgstr "Selecionar peça para copiar a LDM" -#: part/serializers.py:1866 +#: part/serializers.py:1864 msgid "Remove Existing Data" msgstr "Remover Dado Existente" -#: part/serializers.py:1867 +#: part/serializers.py:1865 msgid "Remove existing BOM items before copying" msgstr "Remova itens LDM existentes antes de copiar" -#: part/serializers.py:1872 +#: part/serializers.py:1870 msgid "Include Inherited" msgstr "Incluir Herdados" -#: part/serializers.py:1873 +#: part/serializers.py:1871 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:1878 +#: part/serializers.py:1876 msgid "Skip Invalid Rows" msgstr "Pular Linhas inválidas" -#: part/serializers.py:1879 +#: part/serializers.py:1877 msgid "Enable this option to skip invalid rows" msgstr "Habilitar esta opção para pular linhas inválidas" -#: part/serializers.py:1884 +#: part/serializers.py:1882 msgid "Copy Substitute Parts" msgstr "Copiar Peças Substitutas" -#: part/serializers.py:1885 +#: part/serializers.py:1883 msgid "Copy substitute parts when duplicate BOM items" msgstr "Copiar peças de substitutas quando duplicar itens de LDM" -#: part/serializers.py:1922 +#: part/serializers.py:1920 msgid "Clear Existing BOM" msgstr "Limpar LDM Existente" -#: part/serializers.py:1923 +#: part/serializers.py:1921 msgid "Delete existing BOM items before uploading" msgstr "Apagar itens LDM existentes antes de carregar" -#: part/serializers.py:1955 +#: part/serializers.py:1953 msgid "No part column specified" msgstr "Nenhuma coluna de peça especificada" -#: part/serializers.py:1999 +#: part/serializers.py:1997 msgid "Multiple matching parts found" msgstr "Múltiplas peças correspondentes encontradas" -#: part/serializers.py:2002 +#: part/serializers.py:2000 msgid "No matching part found" msgstr "Nenhuma peça correspondente encontrada" -#: part/serializers.py:2004 +#: part/serializers.py:2002 msgid "Part is not designated as a component" msgstr "Peça não está designada como componente" -#: part/serializers.py:2013 +#: part/serializers.py:2011 msgid "Quantity not provided" msgstr "Quantidade não foi fornecida" -#: part/serializers.py:2021 +#: part/serializers.py:2019 msgid "Invalid quantity" msgstr "Quantidade Inválida" -#: part/serializers.py:2044 +#: part/serializers.py:2042 msgid "At least one BOM item is required" msgstr "Pelo menos um item LDM é necessário" @@ -8216,7 +8213,7 @@ msgid "Subscribe to notifications for this part" msgstr "Inscrever-se para notificações desta peça" #: part/templates/part/part_base.html:52 -#: stock/templates/stock/item_base.html:62 +#: stock/templates/stock/item_base.html:61 #: stock/templates/stock/location.html:71 templates/js/translated/label.js:136 msgid "Print Label" msgstr "Imprimir Etiqueta" @@ -8226,7 +8223,7 @@ msgid "Show pricing information" msgstr "Mostrar informações de preços" #: part/templates/part/part_base.html:63 -#: stock/templates/stock/item_base.html:110 +#: stock/templates/stock/item_base.html:106 #: stock/templates/stock/location.html:80 msgid "Stock actions" msgstr "Ações de Estoque" @@ -8297,12 +8294,12 @@ msgid "Required for Orders" msgstr "" #: part/templates/part/part_base.html:225 -#: stock/templates/stock/item_base.html:388 +#: stock/templates/stock/item_base.html:384 msgid "Allocated to Build Orders" msgstr "Alocado para Pedidos de Construção" #: part/templates/part/part_base.html:234 -#: stock/templates/stock/item_base.html:381 +#: stock/templates/stock/item_base.html:377 msgid "Allocated to Sales Orders" msgstr "Alocado para Pedidos de Venda" @@ -8322,7 +8319,7 @@ msgid "Latest Serial Number" msgstr "Último Número de Série" #: part/templates/part/part_base.html:372 -#: stock/templates/stock/item_base.html:322 +#: stock/templates/stock/item_base.html:318 msgid "Search for serial number" msgstr "Procurar por número serial" @@ -8449,7 +8446,7 @@ msgid "Edit" msgstr "Editar" #: part/templates/part/prices.html:28 stock/admin.py:252 -#: stock/templates/stock/item_base.html:446 +#: stock/templates/stock/item_base.html:442 #: templates/js/translated/company.js:1703 #: templates/js/translated/company.js:1713 #: templates/js/translated/stock.js:2332 @@ -8604,7 +8601,7 @@ msgstr "Imagem da peça não encontrada" msgid "Part Pricing" msgstr "Preço Peça" -#: plugin/api.py:172 +#: plugin/api.py:174 msgid "Plugin cannot be deleted as it is currently active" msgstr "" @@ -8940,7 +8937,7 @@ msgstr "Borda" msgid "Print a border around each label" msgstr "Imprima uma borda em torno de cada etiqueta" -#: plugin/builtin/labels/label_sheet.py:47 report/models.py:307 +#: plugin/builtin/labels/label_sheet.py:47 report/models.py:315 msgid "Landscape" msgstr "Paisagem" @@ -9012,44 +9009,44 @@ msgstr "Fornece suporte para escanear códigos de barras TME" msgid "The Supplier which acts as 'TME'" msgstr "O fornecedor que atua como 'TME'" -#: plugin/installer.py:194 plugin/installer.py:274 +#: plugin/installer.py:199 plugin/installer.py:282 msgid "Only staff users can administer plugins" msgstr "" -#: plugin/installer.py:197 +#: plugin/installer.py:202 msgid "Plugin installation is disabled" msgstr "" -#: plugin/installer.py:241 +#: plugin/installer.py:246 msgid "Installed plugin successfully" msgstr "Plugin instalado com sucesso" -#: plugin/installer.py:246 +#: plugin/installer.py:251 #, python-brace-format msgid "Installed plugin into {path}" msgstr "Plugin instalado na {path}" -#: plugin/installer.py:265 +#: plugin/installer.py:273 msgid "Plugin was not found in registry" msgstr "" -#: plugin/installer.py:268 +#: plugin/installer.py:276 msgid "Plugin is not a packaged plugin" msgstr "" -#: plugin/installer.py:271 +#: plugin/installer.py:279 msgid "Plugin package name not found" msgstr "" -#: plugin/installer.py:291 +#: plugin/installer.py:299 msgid "Plugin uninstalling is disabled" msgstr "" -#: plugin/installer.py:295 +#: plugin/installer.py:303 msgid "Plugin cannot be uninstalled as it is currently active" msgstr "" -#: plugin/installer.py:308 +#: plugin/installer.py:316 msgid "Uninstalled plugin successfully" msgstr "" @@ -9098,7 +9095,7 @@ msgstr "Plugin embutido" msgid "Package Plugin" msgstr "" -#: plugin/models.py:220 report/models.py:474 +#: plugin/models.py:220 report/models.py:482 #: templates/InvenTree/settings/plugin_settings.html:9 #: templates/js/translated/plugin.js:51 msgid "Plugin" @@ -9167,6 +9164,38 @@ msgstr "Plugin de Câmbio de exemplo" msgid "InvenTree Contributors" msgstr "Contribuidores do InvenTree" +#: plugin/samples/integration/user_interface_sample.py:22 +msgid "Enable Part Panels" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:23 +msgid "Enable custom panels for Part views" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:28 +msgid "Enable Purchase Order Panels" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:29 +msgid "Enable custom panels for Purchase Order views" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:34 +msgid "Enable Broken Panels" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:35 +msgid "Enable broken panels for testing" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:40 +msgid "Enable Dynamic Panel" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:41 +msgid "Enable dynamic panels for testing" +msgstr "" + #: plugin/serializers.py:81 msgid "Source URL" msgstr "URL de origem" @@ -9245,12 +9274,36 @@ msgstr "" msgid "Delete the plugin configuration from the database" msgstr "" +#: plugin/serializers.py:324 +msgid "Plugin Key" +msgstr "" + +#: plugin/serializers.py:328 +msgid "Panel Name" +msgstr "" + +#: plugin/serializers.py:332 +msgid "Panel Title" +msgstr "" + +#: plugin/serializers.py:337 +msgid "Panel Icon" +msgstr "" + +#: plugin/serializers.py:341 +msgid "Panel Content (HTML)" +msgstr "" + +#: plugin/serializers.py:345 +msgid "Panel Source (javascript)" +msgstr "" + #: report/api.py:88 msgid "No valid objects provided to template" msgstr "Nenhum objeto válido fornecido para o modelo" -#: report/api.py:103 report/models.py:438 report/serializers.py:98 -#: report/serializers.py:148 templates/js/translated/purchase_order.js:1817 +#: report/api.py:103 report/models.py:446 report/serializers.py:99 +#: report/serializers.py:149 templates/js/translated/purchase_order.js:1817 #: templates/js/translated/return_order.js:353 #: templates/js/translated/sales_order.js:887 #: templates/js/translated/sales_order.js:1047 @@ -9281,7 +9334,11 @@ msgstr "" msgid "Error printing label" msgstr "Erro ao imprimir etiqueta" -#: report/api.py:375 report/api.py:411 +#: report/api.py:358 +msgid "Report saved at time of printing" +msgstr "" + +#: report/api.py:384 report/api.py:420 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "Arquivo modelo '{template}' perdido ou não existe" @@ -9318,135 +9375,143 @@ msgstr "" msgid "Revision number (auto-increments)" msgstr "" -#: report/models.py:202 +#: report/models.py:168 +msgid "Attach to Model on Print" +msgstr "" + +#: report/models.py:170 +msgid "Save report output as an attachment against linked model instance when printing" +msgstr "" + +#: report/models.py:210 msgid "Filename Pattern" msgstr "Padrão de Nome de Arquivo" -#: report/models.py:203 +#: report/models.py:211 msgid "Pattern for generating filenames" msgstr "" -#: report/models.py:208 +#: report/models.py:216 msgid "Template is enabled" msgstr "" -#: report/models.py:214 +#: report/models.py:222 msgid "Target model type for template" msgstr "" -#: report/models.py:234 +#: report/models.py:242 msgid "Filters" msgstr "Filtros" -#: report/models.py:235 +#: report/models.py:243 msgid "Template query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:294 report/models.py:361 +#: report/models.py:302 report/models.py:369 msgid "Template file" msgstr "" -#: report/models.py:302 +#: report/models.py:310 msgid "Page size for PDF reports" msgstr "Tamanho da página para relatórios PDF" -#: report/models.py:308 +#: report/models.py:316 msgid "Render report in landscape orientation" msgstr "Renderizar relatório em orientação paisagem" -#: report/models.py:367 +#: report/models.py:375 msgid "Width [mm]" msgstr "Largura [mm]" -#: report/models.py:368 +#: report/models.py:376 msgid "Label width, specified in mm" msgstr "Largura da etiqueta, em mm" -#: report/models.py:374 +#: report/models.py:382 msgid "Height [mm]" msgstr "Altura [mm]" -#: report/models.py:375 +#: report/models.py:383 msgid "Label height, specified in mm" msgstr "Altura da Etiqueta, em mm" -#: report/models.py:438 +#: report/models.py:446 msgid "Number of items to process" msgstr "" -#: report/models.py:444 +#: report/models.py:452 msgid "Report generation is complete" msgstr "" -#: report/models.py:448 templates/js/translated/build.js:2352 +#: report/models.py:456 templates/js/translated/build.js:2352 msgid "Progress" msgstr "Progresso" -#: report/models.py:448 +#: report/models.py:456 msgid "Report generation progress" msgstr "" -#: report/models.py:456 +#: report/models.py:464 msgid "Report Template" msgstr "" -#: report/models.py:463 report/models.py:486 +#: report/models.py:471 report/models.py:494 msgid "Output File" msgstr "" -#: report/models.py:464 report/models.py:487 +#: report/models.py:472 report/models.py:495 msgid "Generated output file" msgstr "" -#: report/models.py:475 +#: report/models.py:483 msgid "Label output plugin" msgstr "" -#: report/models.py:479 +#: report/models.py:487 msgid "Label Template" msgstr "" -#: report/models.py:502 +#: report/models.py:510 msgid "Snippet" msgstr "Recorte" -#: report/models.py:503 +#: report/models.py:511 msgid "Report snippet file" msgstr "Relatar arquivo de recorte" -#: report/models.py:510 +#: report/models.py:518 msgid "Snippet file description" msgstr "Descrição do arquivo de recorte" -#: report/models.py:528 +#: report/models.py:536 msgid "Asset" msgstr "Patrimônio" -#: report/models.py:529 +#: report/models.py:537 msgid "Report asset file" msgstr "Reportar arquivo de ativos" -#: report/models.py:536 +#: report/models.py:544 msgid "Asset file description" msgstr "Descrição do arquivo de ativos" -#: report/serializers.py:91 +#: report/serializers.py:92 msgid "Select report template" msgstr "" -#: report/serializers.py:99 report/serializers.py:149 +#: report/serializers.py:100 report/serializers.py:150 msgid "List of item primary keys to include in the report" msgstr "" -#: report/serializers.py:132 +#: report/serializers.py:133 msgid "Select label template" msgstr "Selecione o modelo de etiqueta" -#: report/serializers.py:140 +#: report/serializers.py:141 msgid "Printing Plugin" msgstr "" -#: report/serializers.py:141 +#: report/serializers.py:142 msgid "Select plugin to use for label printing" msgstr "" @@ -9517,7 +9582,7 @@ msgstr "Resultados do teste" msgid "Test" msgstr "Teste" -#: report/templates/report/inventree_test_report.html:103 stock/models.py:2538 +#: report/templates/report/inventree_test_report.html:103 stock/models.py:2533 msgid "Result" msgstr "Resultado" @@ -9598,7 +9663,7 @@ msgid "Customer ID" msgstr "ID Cliente" #: stock/admin.py:206 stock/models.py:829 -#: stock/templates/stock/item_base.html:354 +#: stock/templates/stock/item_base.html:350 msgid "Installed In" msgstr "Instalado em" @@ -9623,7 +9688,7 @@ msgid "Delete on Deplete" msgstr "Excluir quando esgotado" #: stock/admin.py:261 stock/models.py:923 -#: stock/templates/stock/item_base.html:433 +#: stock/templates/stock/item_base.html:429 #: templates/js/translated/stock.js:2316 users/models.py:124 msgid "Expiry Date" msgstr "Data de validade" @@ -9665,7 +9730,7 @@ msgid "Expiry date after" msgstr "Data de validade depois" #: stock/api.py:839 stock/serializers.py:611 -#: stock/templates/stock/item_base.html:439 +#: stock/templates/stock/item_base.html:435 #: templates/js/translated/table_filters.js:448 msgid "Stale" msgstr "Inativo" @@ -9715,7 +9780,7 @@ msgid "Stock Locations" msgstr "Locais de estoque" #: stock/models.py:185 stock/models.py:972 -#: stock/templates/stock/item_base.html:247 +#: stock/templates/stock/item_base.html:243 msgid "Owner" msgstr "Responsavel" @@ -9826,7 +9891,7 @@ msgstr "Produção de Origem" msgid "Build for this stock item" msgstr "Produção para este item de estoque" -#: stock/models.py:892 stock/templates/stock/item_base.html:363 +#: stock/models.py:892 stock/templates/stock/item_base.html:359 msgid "Consumed By" msgstr "Consumido por" @@ -9891,7 +9956,7 @@ msgstr "A quantidade não corresponde aos números de série" msgid "Serial numbers already exist" msgstr "Números de série já existem" -#: stock/models.py:1636 +#: stock/models.py:1636 stock/models.py:2436 msgid "Test template does not exist" msgstr "" @@ -9939,67 +10004,67 @@ msgstr "Códigos de estado do estoque devem corresponder" 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:2337 +#: stock/models.py:2335 msgid "Stock Item Tracking" msgstr "" -#: stock/models.py:2370 +#: stock/models.py:2368 msgid "Entry notes" msgstr "Observações de entrada" -#: stock/models.py:2410 +#: stock/models.py:2408 msgid "Stock Item Test Result" msgstr "" -#: stock/models.py:2443 +#: stock/models.py:2439 msgid "Value must be provided for this test" msgstr "Deve-se fornecer o valor desse teste" -#: stock/models.py:2448 +#: stock/models.py:2443 msgid "Attachment must be uploaded for this test" msgstr "O anexo deve ser enviado para este teste" -#: stock/models.py:2453 +#: stock/models.py:2448 msgid "Invalid value for this test" msgstr "" -#: stock/models.py:2538 +#: stock/models.py:2533 msgid "Test result" msgstr "Resultado do teste" -#: stock/models.py:2545 +#: stock/models.py:2540 msgid "Test output value" msgstr "Valor da saída do teste" -#: stock/models.py:2553 stock/serializers.py:245 +#: stock/models.py:2548 stock/serializers.py:245 msgid "Test result attachment" msgstr "Anexo do resultado do teste" -#: stock/models.py:2557 +#: stock/models.py:2552 msgid "Test notes" msgstr "Notas do teste" -#: stock/models.py:2565 templates/js/translated/stock.js:1633 +#: stock/models.py:2560 templates/js/translated/stock.js:1633 msgid "Test station" msgstr "" -#: stock/models.py:2566 +#: stock/models.py:2561 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2572 +#: stock/models.py:2567 msgid "Started" msgstr "" -#: stock/models.py:2573 +#: stock/models.py:2568 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2579 +#: stock/models.py:2574 msgid "Finished" msgstr "" -#: stock/models.py:2580 +#: stock/models.py:2575 msgid "The timestamp of the test finish" msgstr "" @@ -10059,7 +10124,7 @@ msgstr "" msgid "Serial number is too large" msgstr "Número de série é muito grande" -#: stock/serializers.py:459 stock/templates/stock/item_base.html:193 +#: stock/serializers.py:459 stock/templates/stock/item_base.html:189 msgid "Parent Item" msgstr "Item Primário" @@ -10071,7 +10136,7 @@ msgstr "" msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "Usar tamanho do pacote ao adicionar: a quantidade definida é o número de pacotes" -#: stock/serializers.py:603 stock/templates/stock/item_base.html:437 +#: stock/serializers.py:603 stock/templates/stock/item_base.html:433 #: templates/js/translated/table_filters.js:442 users/models.py:174 msgid "Expired" msgstr "Expirado" @@ -10410,7 +10475,7 @@ msgstr "Este item de estoque não possuí nenhum filho" msgid "Test Data" msgstr "Dados de teste" -#: stock/templates/stock/item.html:85 stock/templates/stock/item_base.html:65 +#: stock/templates/stock/item.html:85 msgid "Test Report" msgstr "Relatório do teste" @@ -10450,200 +10515,204 @@ msgstr "Localizar item de estoque" msgid "Scan to Location" msgstr "Escanear a Localização" -#: stock/templates/stock/item_base.html:59 +#: stock/templates/stock/item_base.html:58 #: stock/templates/stock/location.html:67 #: templates/js/translated/filters.js:434 msgid "Printing actions" msgstr "Ações de Impressão" -#: stock/templates/stock/item_base.html:75 +#: stock/templates/stock/item_base.html:63 templates/js/translated/report.js:49 +msgid "Print Report" +msgstr "" + +#: stock/templates/stock/item_base.html:71 msgid "Stock adjustment actions" msgstr "Ações de ajuste de estoque" -#: stock/templates/stock/item_base.html:79 +#: stock/templates/stock/item_base.html:75 #: stock/templates/stock/location.html:87 templates/js/translated/stock.js:1909 msgid "Count stock" msgstr "Contagem de estoque" -#: stock/templates/stock/item_base.html:81 +#: stock/templates/stock/item_base.html:77 #: templates/js/translated/stock.js:1891 msgid "Add stock" msgstr "Adicionar estoque" -#: stock/templates/stock/item_base.html:82 +#: stock/templates/stock/item_base.html:78 #: templates/js/translated/stock.js:1900 msgid "Remove stock" msgstr "Remover estoque" -#: stock/templates/stock/item_base.html:85 +#: stock/templates/stock/item_base.html:81 msgid "Serialize stock" msgstr "Serializar estoque" -#: stock/templates/stock/item_base.html:88 +#: stock/templates/stock/item_base.html:84 #: stock/templates/stock/location.html:93 templates/js/translated/stock.js:1918 msgid "Transfer stock" msgstr "Transferir estoque" -#: stock/templates/stock/item_base.html:91 +#: stock/templates/stock/item_base.html:87 #: templates/js/translated/stock.js:1973 msgid "Assign to customer" msgstr "Disponibilizar para o cliente" -#: stock/templates/stock/item_base.html:94 +#: stock/templates/stock/item_base.html:90 msgid "Return to stock" msgstr "Devolver ao estoque" -#: stock/templates/stock/item_base.html:97 +#: stock/templates/stock/item_base.html:93 msgid "Uninstall stock item" msgstr "Desinstalar o item do estoque" -#: stock/templates/stock/item_base.html:97 +#: stock/templates/stock/item_base.html:93 msgid "Uninstall" msgstr "Desinstalar" -#: stock/templates/stock/item_base.html:101 +#: stock/templates/stock/item_base.html:97 msgid "Install stock item" msgstr "Instalar item do estoque" -#: stock/templates/stock/item_base.html:101 +#: stock/templates/stock/item_base.html:97 msgid "Install" msgstr "Instalar" -#: stock/templates/stock/item_base.html:115 +#: stock/templates/stock/item_base.html:111 msgid "Convert to variant" msgstr "Converter em variante" -#: stock/templates/stock/item_base.html:118 +#: stock/templates/stock/item_base.html:114 msgid "Duplicate stock item" msgstr "Duplicar item" -#: stock/templates/stock/item_base.html:120 +#: stock/templates/stock/item_base.html:116 msgid "Edit stock item" msgstr "Editar item de estoque" -#: stock/templates/stock/item_base.html:123 +#: stock/templates/stock/item_base.html:119 msgid "Delete stock item" msgstr "Excluir item de estoque" -#: stock/templates/stock/item_base.html:169 templates/InvenTree/search.html:139 +#: stock/templates/stock/item_base.html:165 templates/InvenTree/search.html:139 #: templates/js/translated/build.js:2298 templates/navbar.html:38 msgid "Build" msgstr "Produção" -#: stock/templates/stock/item_base.html:211 +#: stock/templates/stock/item_base.html:207 msgid "No manufacturer set" msgstr "Nenhum fabricante definido" -#: stock/templates/stock/item_base.html:251 +#: stock/templates/stock/item_base.html:247 msgid "You are not in the list of owners of this item. This stock item cannot be edited." msgstr "Você não está autorizado a editar esse item." -#: stock/templates/stock/item_base.html:252 +#: stock/templates/stock/item_base.html:248 #: stock/templates/stock/location.html:146 msgid "Read only" msgstr "Somente leitura" -#: stock/templates/stock/item_base.html:265 +#: stock/templates/stock/item_base.html:261 msgid "This stock item is unavailable" msgstr "Este item não está disponível no estoque" -#: stock/templates/stock/item_base.html:271 +#: stock/templates/stock/item_base.html:267 msgid "This stock item is in production and cannot be edited." msgstr "Este item de estoque está em produção e não pode ser editado." -#: stock/templates/stock/item_base.html:272 +#: stock/templates/stock/item_base.html:268 msgid "Edit the stock item from the build view." msgstr "Edite este item usando o formulário de construçao." -#: stock/templates/stock/item_base.html:287 +#: stock/templates/stock/item_base.html:283 msgid "This stock item is allocated to Sales Order" msgstr "Este item de estoque está alocado a um pedido de venda" -#: stock/templates/stock/item_base.html:295 +#: stock/templates/stock/item_base.html:291 msgid "This stock item is allocated to Build Order" msgstr "Este item de estoque está alocado a um pedido de produção" -#: stock/templates/stock/item_base.html:311 +#: stock/templates/stock/item_base.html:307 msgid "This stock item is serialized. It has a unique serial number and the quantity cannot be adjusted" 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:317 +#: stock/templates/stock/item_base.html:313 msgid "previous page" msgstr "página anterior" -#: stock/templates/stock/item_base.html:317 +#: stock/templates/stock/item_base.html:313 msgid "Navigate to previous serial number" msgstr "Navegar para o número de série anterior" -#: stock/templates/stock/item_base.html:326 +#: stock/templates/stock/item_base.html:322 msgid "next page" msgstr "próxima página" -#: stock/templates/stock/item_base.html:326 +#: stock/templates/stock/item_base.html:322 msgid "Navigate to next serial number" msgstr "Navegar para o próximo número de série" -#: stock/templates/stock/item_base.html:398 +#: stock/templates/stock/item_base.html:394 #: templates/js/translated/build.js:2555 msgid "No location set" msgstr "Nenhum local definido" -#: stock/templates/stock/item_base.html:413 +#: stock/templates/stock/item_base.html:409 msgid "Tests" msgstr "Testes" -#: stock/templates/stock/item_base.html:419 +#: stock/templates/stock/item_base.html:415 msgid "This stock item has not passed all required tests" msgstr "Este item de estoque não passou todos os testes necessários" -#: stock/templates/stock/item_base.html:437 +#: stock/templates/stock/item_base.html:433 #, python-format msgid "This StockItem expired on %(item.expiry_date)s" msgstr "Este Item do Estoque expirou em %(item.expiry_date)s" -#: stock/templates/stock/item_base.html:439 +#: stock/templates/stock/item_base.html:435 #, python-format msgid "This StockItem expires on %(item.expiry_date)s" msgstr "Este Item do Estoque expira em %(item.expiry_date)s" -#: stock/templates/stock/item_base.html:455 +#: stock/templates/stock/item_base.html:451 msgid "No stocktake performed" msgstr "Nenhum balanço feito" -#: stock/templates/stock/item_base.html:504 +#: stock/templates/stock/item_base.html:500 #: templates/js/translated/stock.js:2038 msgid "stock item" msgstr "item de estoque" -#: stock/templates/stock/item_base.html:527 +#: stock/templates/stock/item_base.html:523 msgid "Edit Stock Status" msgstr "Editar Situação do Estoque" -#: stock/templates/stock/item_base.html:536 +#: stock/templates/stock/item_base.html:532 msgid "Stock Item QR Code" msgstr "QR Code do Item de Estoque" -#: stock/templates/stock/item_base.html:547 +#: stock/templates/stock/item_base.html:543 msgid "Link Barcode to Stock Item" msgstr "Vincular Código de barras ao item de estoque" -#: stock/templates/stock/item_base.html:611 +#: stock/templates/stock/item_base.html:607 msgid "Select one of the part variants listed below." msgstr "Selecione uma das peças variantes listada abaixo." -#: stock/templates/stock/item_base.html:614 +#: stock/templates/stock/item_base.html:610 msgid "Warning" msgstr "Atenção" -#: stock/templates/stock/item_base.html:615 +#: stock/templates/stock/item_base.html:611 msgid "This action cannot be easily undone" msgstr "Esta ação não pode ser facilmente desfeita" -#: stock/templates/stock/item_base.html:623 +#: stock/templates/stock/item_base.html:619 msgid "Convert Stock Item" msgstr "Converter Item de Estoque" -#: stock/templates/stock/item_base.html:656 +#: stock/templates/stock/item_base.html:652 msgid "Return to Stock" msgstr "Retornar ao Estoque" @@ -11310,7 +11379,7 @@ msgid "Delete Location Type" msgstr "Apagar Tipo de Localização" #: templates/InvenTree/settings/settings_staff_js.html:503 -#: templates/InvenTree/settings/stock.html:38 +#: templates/InvenTree/settings/stock.html:39 msgid "New Location Type" msgstr "Novo Tipo de localização" @@ -11367,7 +11436,7 @@ msgstr "Configurações do Pedido de Venda" msgid "Stock Settings" msgstr "Configurações de Estoque" -#: templates/InvenTree/settings/stock.html:34 +#: templates/InvenTree/settings/stock.html:35 msgid "Stock Location Types" msgstr "Tipos de Locais de estoque" @@ -11852,23 +11921,23 @@ msgstr "Adicionar anexo" msgid "Barcode Identifier" msgstr "Identificador de Código de Barras" -#: templates/base.html:103 +#: templates/base.html:102 msgid "Server Restart Required" msgstr "Reinicialização do Servidor é Necessária" -#: templates/base.html:106 +#: templates/base.html:105 msgid "A configuration option has been changed which requires a server restart" msgstr "Uma opção de configuração foi alterada, o que requer uma reinicialização do servidor" -#: templates/base.html:106 templates/base.html:116 +#: templates/base.html:105 templates/base.html:115 msgid "Contact your system administrator for further information" msgstr "Contate seu administrador de sistema para mais informações" -#: templates/base.html:113 +#: templates/base.html:112 msgid "Pending Database Migrations" msgstr "Migrações de Banco de Dados Pendentes" -#: templates/base.html:116 +#: templates/base.html:115 msgid "There are pending database migrations which require attention" msgstr "Existem migrações pendentes do banco de dados que requerem atenção" @@ -13946,10 +14015,6 @@ msgstr "" msgid "Delete line item" msgstr "" -#: templates/js/translated/report.js:49 -msgid "Print Report" -msgstr "" - #: templates/js/translated/report.js:68 msgid "Report print successful" msgstr "" diff --git a/src/backend/InvenTree/locale/pt_BR/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/pt_BR/LC_MESSAGES/django.po index 66c518fbd130..864928ec81d8 100644 --- a/src/backend/InvenTree/locale/pt_BR/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/pt_BR/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-08-29 07:07+0000\n" -"PO-Revision-Date: 2024-08-29 07:10\n" +"POT-Creation-Date: 2024-09-16 00:37+0000\n" +"PO-Revision-Date: 2024-09-16 00:40\n" "Last-Translator: \n" "Language-Team: Portuguese, Brazilian\n" "Language: pt_BR\n" @@ -19,7 +19,7 @@ msgstr "" #: InvenTree/api.py:269 msgid "API endpoint not found" -msgstr "" +msgstr "API endpoint não encontrado" #: InvenTree/api.py:499 msgid "User does not have permission to view this model" @@ -65,9 +65,9 @@ msgstr "" #: 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:59 -#: part/models.py:3309 part/templates/part/part_sidebar.html:65 +#: part/models.py:3296 part/templates/part/part_sidebar.html:65 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/admin.py:231 stock/models.py:2369 stock/models.py:2557 +#: stock/admin.py:231 stock/models.py:2367 stock/models.py:2552 #: stock/serializers.py:705 stock/serializers.py:863 stock/serializers.py:989 #: stock/serializers.py:1039 stock/serializers.py:1350 #: stock/serializers.py:1439 stock/serializers.py:1604 @@ -102,19 +102,19 @@ msgstr "" #: InvenTree/forms.py:139 msgid "Confirm password" -msgstr "" +msgstr "Confirme a senha" #: InvenTree/forms.py:140 msgid "Confirm new password" -msgstr "" +msgstr "Confirme a nova senha" #: InvenTree/forms.py:144 msgid "Old password" -msgstr "" +msgstr "Senha antiga" #: InvenTree/forms.py:183 msgid "Email (again)" -msgstr "" +msgstr "Email (novamente)" #: InvenTree/forms.py:187 msgid "Email address confirmation" @@ -229,23 +229,23 @@ msgstr "" #: InvenTree/locales.py:22 msgid "German" -msgstr "" +msgstr "Alemão" #: InvenTree/locales.py:23 msgid "Greek" -msgstr "" +msgstr "Grego" #: InvenTree/locales.py:24 msgid "English" -msgstr "" +msgstr "Inglês" #: InvenTree/locales.py:25 msgid "Spanish" -msgstr "" +msgstr "Espanhol" #: InvenTree/locales.py:26 msgid "Spanish (Mexican)" -msgstr "" +msgstr "Espanhol (mexicano)" #: InvenTree/locales.py:27 msgid "Estonian" @@ -253,7 +253,7 @@ msgstr "" #: InvenTree/locales.py:28 msgid "Farsi / Persian" -msgstr "" +msgstr "Farsi / Persa" #: InvenTree/locales.py:29 msgid "Finnish" @@ -261,7 +261,7 @@ msgstr "" #: InvenTree/locales.py:30 msgid "French" -msgstr "" +msgstr "Francês" #: InvenTree/locales.py:31 msgid "Hebrew" @@ -285,7 +285,7 @@ msgstr "" #: InvenTree/locales.py:36 msgid "Korean" -msgstr "" +msgstr "Coreano" #: InvenTree/locales.py:37 msgid "Latvian" @@ -301,11 +301,11 @@ msgstr "" #: InvenTree/locales.py:40 msgid "Polish" -msgstr "" +msgstr "Polonês" #: InvenTree/locales.py:41 msgid "Portuguese" -msgstr "" +msgstr "Português" #: InvenTree/locales.py:42 msgid "Portuguese (Brazilian)" @@ -313,11 +313,11 @@ msgstr "" #: InvenTree/locales.py:43 msgid "Romanian" -msgstr "" +msgstr "Romeno" #: InvenTree/locales.py:44 msgid "Russian" -msgstr "" +msgstr "Russo" #: InvenTree/locales.py:45 msgid "Slovak" @@ -325,7 +325,7 @@ msgstr "" #: InvenTree/locales.py:46 msgid "Slovenian" -msgstr "" +msgstr "Esloveno" #: InvenTree/locales.py:47 msgid "Serbian" @@ -341,30 +341,30 @@ msgstr "" #: InvenTree/locales.py:50 msgid "Turkish" -msgstr "" +msgstr "Turco" #: InvenTree/locales.py:51 msgid "Ukrainian" -msgstr "" +msgstr "Ucraniano" #: InvenTree/locales.py:52 msgid "Vietnamese" -msgstr "" +msgstr "Vietnamita" #: InvenTree/locales.py:53 msgid "Chinese (Simplified)" -msgstr "" +msgstr "Chinês (simplificado)" #: InvenTree/locales.py:54 msgid "Chinese (Traditional)" -msgstr "" +msgstr "Chinês (tradicional)" #: InvenTree/magic_login.py:28 #, python-brace-format msgid "[{site_name}] Log in to the app" msgstr "" -#: InvenTree/magic_login.py:38 InvenTree/serializers.py:413 +#: InvenTree/magic_login.py:38 InvenTree/serializers.py:416 #: company/models.py:133 company/templates/company/company_base.html:138 #: templates/InvenTree/settings/user.html:49 #: templates/js/translated/company.js:677 @@ -401,7 +401,7 @@ msgstr "" #: InvenTree/models.py:430 msgid "Reference field cannot be empty" -msgstr "" +msgstr "O campo de referência não deve ficar vazio" #: InvenTree/models.py:438 msgid "Reference must match required pattern" @@ -409,7 +409,7 @@ msgstr "" #: InvenTree/models.py:469 msgid "Reference number is too large" -msgstr "" +msgstr "O número de referência é muito longo" #: InvenTree/models.py:720 msgid "Duplicate names cannot exist under the same parent" @@ -419,9 +419,9 @@ msgstr "" msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:767 common/models.py:2704 common/models.py:3131 -#: common/models.py:3351 common/serializers.py:439 company/models.py:590 -#: machine/models.py:24 part/models.py:995 part/models.py:3776 +#: InvenTree/models.py:767 common/models.py:2705 common/models.py:3132 +#: common/models.py:3352 common/serializers.py:455 company/models.py:590 +#: machine/models.py:24 part/models.py:995 part/models.py:3763 #: plugin/models.py:51 report/models.py:149 stock/models.py:82 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -446,10 +446,10 @@ msgstr "" #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 order/models.py:289 #: order/models.py:1406 part/admin.py:305 part/admin.py:411 part/models.py:1018 -#: part/models.py:3791 part/templates/part/category.html:79 +#: part/models.py:3778 part/templates/part/category.html:79 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:155 -#: report/models.py:509 report/models.py:535 +#: report/models.py:517 report/models.py:543 #: report/templates/report/inventree_build_order_report.html:117 #: stock/admin.py:54 stock/models.py:88 stock/templates/stock/location.html:122 #: templates/InvenTree/settings/notifications.html:19 @@ -511,18 +511,18 @@ msgstr "" #: InvenTree/models.py:1075 msgid "Server Error" -msgstr "" +msgstr "Erro de servidor" #: InvenTree/models.py:1076 msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:63 part/models.py:4400 +#: InvenTree/serializers.py:63 part/models.py:4387 msgid "Must be a valid number" msgstr "" #: InvenTree/serializers.py:100 company/models.py:183 -#: company/templates/company/company_base.html:112 part/models.py:3127 +#: company/templates/company/company_base.html:112 part/models.py:3114 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -536,43 +536,43 @@ msgstr "" msgid "Username" msgstr "" -#: InvenTree/serializers.py:407 templates/InvenTree/settings/user.html:37 +#: InvenTree/serializers.py:408 templates/InvenTree/settings/user.html:37 msgid "First Name" msgstr "" -#: InvenTree/serializers.py:407 +#: InvenTree/serializers.py:408 msgid "First name of the user" msgstr "" -#: InvenTree/serializers.py:410 templates/InvenTree/settings/user.html:41 +#: InvenTree/serializers.py:412 templates/InvenTree/settings/user.html:41 msgid "Last Name" msgstr "" -#: InvenTree/serializers.py:410 +#: InvenTree/serializers.py:412 msgid "Last name of the user" msgstr "" -#: InvenTree/serializers.py:413 +#: InvenTree/serializers.py:416 msgid "Email address of the user" msgstr "" -#: InvenTree/serializers.py:438 +#: InvenTree/serializers.py:441 msgid "Staff" msgstr "" -#: InvenTree/serializers.py:438 +#: InvenTree/serializers.py:441 msgid "Does this user have staff permissions" msgstr "" -#: InvenTree/serializers.py:441 +#: InvenTree/serializers.py:445 msgid "Superuser" msgstr "" -#: InvenTree/serializers.py:441 +#: InvenTree/serializers.py:445 msgid "Is this user a superuser" msgstr "" -#: InvenTree/serializers.py:444 common/models.py:2709 company/models.py:160 +#: InvenTree/serializers.py:449 common/models.py:2710 company/models.py:160 #: company/models.py:798 machine/models.py:39 part/admin.py:88 #: part/models.py:1201 plugin/models.py:66 #: templates/js/translated/company.js:523 @@ -585,89 +585,89 @@ msgstr "" msgid "Active" msgstr "" -#: InvenTree/serializers.py:444 +#: InvenTree/serializers.py:449 msgid "Is this user account active" msgstr "" -#: InvenTree/serializers.py:462 +#: InvenTree/serializers.py:467 msgid "You do not have permission to change this user role." msgstr "" -#: InvenTree/serializers.py:474 +#: InvenTree/serializers.py:503 msgid "Only superusers can create new users" msgstr "" -#: InvenTree/serializers.py:493 +#: InvenTree/serializers.py:522 msgid "Your account has been created." msgstr "" -#: InvenTree/serializers.py:495 +#: InvenTree/serializers.py:524 msgid "Please use the password reset function to login" msgstr "" -#: InvenTree/serializers.py:502 +#: InvenTree/serializers.py:531 msgid "Welcome to InvenTree" msgstr "" -#: InvenTree/serializers.py:560 +#: InvenTree/serializers.py:589 msgid "Invalid value" msgstr "" -#: InvenTree/serializers.py:580 importer/models.py:64 +#: InvenTree/serializers.py:609 importer/models.py:64 msgid "Data File" -msgstr "" +msgstr "Arquivo de dados" -#: InvenTree/serializers.py:581 +#: InvenTree/serializers.py:610 msgid "Select data file for upload" msgstr "" -#: InvenTree/serializers.py:598 +#: InvenTree/serializers.py:627 msgid "Unsupported file type" msgstr "" -#: InvenTree/serializers.py:604 +#: InvenTree/serializers.py:633 msgid "File is too large" msgstr "" -#: InvenTree/serializers.py:625 +#: InvenTree/serializers.py:654 msgid "No columns found in file" msgstr "" -#: InvenTree/serializers.py:628 +#: InvenTree/serializers.py:657 msgid "No data rows found in file" msgstr "" -#: InvenTree/serializers.py:740 +#: InvenTree/serializers.py:769 msgid "No data rows provided" msgstr "" -#: InvenTree/serializers.py:743 +#: InvenTree/serializers.py:772 msgid "No data columns supplied" msgstr "" -#: InvenTree/serializers.py:809 +#: InvenTree/serializers.py:838 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "" -#: InvenTree/serializers.py:818 +#: InvenTree/serializers.py:847 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "" -#: InvenTree/serializers.py:857 +#: InvenTree/serializers.py:886 msgid "Remote Image" msgstr "" -#: InvenTree/serializers.py:858 +#: InvenTree/serializers.py:887 msgid "URL of remote image file" msgstr "" -#: InvenTree/serializers.py:876 +#: InvenTree/serializers.py:905 msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/status.py:65 part/serializers.py:1267 +#: InvenTree/status.py:65 part/serializers.py:1265 msgid "Background worker check failed" msgstr "" @@ -759,7 +759,7 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:319 build/serializers.py:1332 part/models.py:4278 +#: build/api.py:319 build/serializers.py:1332 part/models.py:4265 #: templates/js/translated/bom.js:997 templates/js/translated/bom.js:1037 #: templates/js/translated/build.js:2705 #: templates/js/translated/table_filters.js:197 @@ -767,7 +767,7 @@ msgstr "" msgid "Consumable" msgstr "" -#: build/api.py:320 build/serializers.py:1333 part/models.py:4272 +#: build/api.py:320 build/serializers.py:1333 part/models.py:4259 #: part/templates/part/upload_bom.html:58 templates/js/translated/bom.js:1001 #: templates/js/translated/bom.js:1028 templates/js/translated/build.js:2696 #: templates/js/translated/table_filters.js:193 @@ -777,7 +777,7 @@ msgid "Optional" msgstr "" #: build/api.py:321 common/models.py:1491 part/admin.py:91 part/admin.py:428 -#: part/models.py:1166 part/serializers.py:1596 +#: part/models.py:1166 part/serializers.py:1594 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:337 #: templates/js/translated/table_filters.js:729 @@ -816,7 +816,7 @@ msgstr "" msgid "Available" msgstr "" -#: build/models.py:87 build/templates/build/build_base.html:9 +#: build/models.py:88 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_report.html:105 #: stock/serializers.py:85 templates/email/build_order_completed.html:16 @@ -825,7 +825,7 @@ msgstr "" msgid "Build Order" msgstr "" -#: build/models.py:88 build/templates/build/build_base.html:13 +#: build/models.py:89 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:111 #: order/templates/order/so_sidebar.html:13 @@ -866,7 +866,7 @@ msgstr "" #: build/models.py:243 build/serializers.py:1331 order/models.py:468 #: order/models.py:979 order/models.py:1366 order/models.py:2128 -#: part/admin.py:414 part/models.py:4293 part/templates/part/upload_bom.html:54 +#: part/admin.py:414 part/models.py:4280 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 @@ -892,11 +892,11 @@ msgstr "" #: build/templates/build/build_base.html:105 #: build/templates/build/detail.html:29 company/models.py:1043 order/api.py:761 #: order/models.py:1496 order/models.py:1651 order/models.py:1652 -#: part/api.py:1506 part/api.py:1806 part/models.py:419 part/models.py:3138 -#: part/models.py:3282 part/models.py:3430 part/models.py:3451 -#: part/models.py:3473 part/models.py:3609 part/models.py:3951 -#: part/models.py:4114 part/models.py:4244 part/models.py:4602 -#: part/serializers.py:1213 part/serializers.py:1857 +#: part/api.py:1506 part/api.py:1806 part/models.py:419 part/models.py:3125 +#: part/models.py:3269 part/models.py:3417 part/models.py:3438 +#: part/models.py:3460 part/models.py:3596 part/models.py:3938 +#: part/models.py:4101 part/models.py:4231 part/models.py:4595 +#: part/serializers.py:1211 part/serializers.py:1855 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -946,7 +946,7 @@ msgstr "" #: build/models.py:281 msgid "Sales Order Reference" -msgstr "" +msgstr "Referência do pedido de venda" #: build/models.py:285 msgid "SalesOrder to which this build is allocated" @@ -1063,12 +1063,12 @@ msgstr "" #: order/templates/order/return_order_base.html:148 #: order/templates/order/sales_order_base.html:187 #: part/templates/part/part_base.html:399 stock/models.py:859 -#: stock/templates/stock/item_base.html:200 +#: stock/templates/stock/item_base.html:196 #: templates/js/translated/company.js:1019 msgid "External Link" msgstr "" -#: build/models.py:378 common/models.py:3272 part/models.py:1070 +#: build/models.py:378 common/models.py:3273 part/models.py:1070 #: stock/models.py:859 msgid "Link to external URL" msgstr "" @@ -1110,7 +1110,7 @@ msgstr "" msgid "A build order has been completed" msgstr "" -#: build/models.py:968 build/models.py:1056 +#: build/models.py:968 build/models.py:1057 msgid "No build output specified" msgstr "" @@ -1122,37 +1122,37 @@ msgstr "" msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:1060 build/serializers.py:279 build/serializers.py:328 +#: build/models.py:1061 build/serializers.py:279 build/serializers.py:328 #: build/serializers.py:959 order/models.py:565 order/serializers.py:500 -#: order/serializers.py:666 part/serializers.py:1590 part/serializers.py:2019 +#: order/serializers.py:666 part/serializers.py:1588 part/serializers.py:2017 #: stock/models.py:704 stock/models.py:1515 stock/serializers.py:676 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:1065 build/serializers.py:284 +#: build/models.py:1066 build/serializers.py:284 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1125 build/serializers.py:607 +#: build/models.py:1126 build/serializers.py:607 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "" -#: build/models.py:1466 +#: build/models.py:1477 msgid "Build Order Line Item" msgstr "" -#: build/models.py:1491 +#: build/models.py:1502 msgid "Build object" msgstr "" -#: build/models.py:1505 build/models.py:1761 build/serializers.py:266 +#: build/models.py:1516 build/models.py:1775 build/serializers.py:266 #: build/serializers.py:313 build/serializers.py:1339 #: build/templates/build/build_base.html:110 -#: build/templates/build/detail.html:34 common/models.py:2581 +#: build/templates/build/detail.html:34 common/models.py:2582 #: order/models.py:1349 order/models.py:2034 order/serializers.py:1464 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:413 -#: part/forms.py:48 part/models.py:3296 part/models.py:4266 +#: part/forms.py:48 part/models.py:3283 part/models.py:4253 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1163,9 +1163,9 @@ msgstr "" #: report/templates/report/inventree_test_report.html:90 #: report/templates/report/inventree_test_report.html:169 stock/admin.py:160 #: stock/serializers.py:128 stock/serializers.py:168 stock/serializers.py:667 -#: stock/templates/stock/item_base.html:287 -#: stock/templates/stock/item_base.html:295 -#: stock/templates/stock/item_base.html:342 +#: stock/templates/stock/item_base.html:283 +#: stock/templates/stock/item_base.html:291 +#: stock/templates/stock/item_base.html:338 #: templates/email/build_order_completed.html:18 #: templates/js/translated/barcode.js:579 templates/js/translated/bom.js:771 #: templates/js/translated/bom.js:981 templates/js/translated/build.js:525 @@ -1194,41 +1194,41 @@ msgstr "" msgid "Quantity" msgstr "" -#: build/models.py:1506 +#: build/models.py:1517 msgid "Required quantity for build order" -msgstr "" +msgstr "Quantidade necessária para o pedido de produção" -#: build/models.py:1586 +#: build/models.py:1597 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1595 +#: build/models.py:1606 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1605 order/models.py:1985 +#: build/models.py:1616 order/models.py:1985 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1611 order/models.py:1988 +#: build/models.py:1622 order/models.py:1988 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1617 +#: build/models.py:1628 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1676 +#: build/models.py:1687 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1748 build/serializers.py:939 order/serializers.py:1301 +#: build/models.py:1762 build/serializers.py:939 order/serializers.py:1301 #: order/serializers.py:1322 stock/models.py:381 stock/serializers.py:94 #: stock/serializers.py:770 stock/serializers.py:1288 stock/serializers.py:1400 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 -#: stock/templates/stock/item_base.html:194 +#: stock/templates/stock/item_base.html:190 #: templates/js/translated/build.js:1921 #: templates/js/translated/sales_order.js:301 #: templates/js/translated/sales_order.js:1234 @@ -1241,19 +1241,19 @@ msgstr "" msgid "Stock Item" msgstr "" -#: build/models.py:1749 +#: build/models.py:1763 msgid "Source stock item" msgstr "" -#: build/models.py:1762 +#: build/models.py:1776 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1770 +#: build/models.py:1784 msgid "Install into" msgstr "" -#: build/models.py:1771 +#: build/models.py:1785 msgid "Destination stock item" msgstr "" @@ -1262,7 +1262,7 @@ msgid "Build Level" msgstr "" #: build/serializers.py:115 build/serializers.py:1234 build/serializers.py:1323 -#: part/admin.py:41 part/admin.py:408 part/models.py:4116 part/stocktake.py:219 +#: part/admin.py:41 part/admin.py:408 part/models.py:4103 part/stocktake.py:219 #: stock/admin.py:157 msgid "Part Name" msgstr "" @@ -1323,10 +1323,10 @@ msgid "Enter serial numbers for build outputs" msgstr "" #: build/serializers.py:359 build/serializers.py:500 build/serializers.py:572 -#: order/serializers.py:655 order/serializers.py:778 order/serializers.py:1789 -#: part/serializers.py:1233 stock/serializers.py:103 stock/serializers.py:698 +#: order/serializers.py:655 order/serializers.py:778 order/serializers.py:1797 +#: part/serializers.py:1231 stock/serializers.py:103 stock/serializers.py:698 #: stock/serializers.py:858 stock/serializers.py:984 stock/serializers.py:1432 -#: stock/serializers.py:1688 stock/templates/stock/item_base.html:394 +#: stock/serializers.py:1688 stock/templates/stock/item_base.html:390 #: templates/js/translated/barcode.js:578 #: templates/js/translated/barcode.js:826 templates/js/translated/build.js:1035 #: templates/js/translated/build.js:1177 templates/js/translated/build.js:2547 @@ -1352,7 +1352,7 @@ msgstr "" #: build/serializers.py:375 msgid "Automatically allocate required items with matching serial numbers" -msgstr "" +msgstr "Alocar automaticamente os itens necessários com os números de série correspondentes" #: build/serializers.py:390 msgid "Serial numbers must be provided for trackable parts" @@ -1390,7 +1390,7 @@ msgstr "" #: build/templates/build/detail.html:62 order/models.py:477 #: order/models.py:1003 order/models.py:2152 order/serializers.py:687 #: stock/admin.py:165 stock/serializers.py:1035 stock/serializers.py:1576 -#: stock/templates/stock/item_base.html:427 +#: stock/templates/stock/item_base.html:423 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2366 #: templates/js/translated/purchase_order.js:1371 #: templates/js/translated/purchase_order.js:1792 @@ -1455,7 +1455,7 @@ msgstr "" #: build/serializers.py:783 msgid "Accept that stock items have not been fully allocated to this build order" -msgstr "" +msgstr "Aceitar que os itens de estoque não foram totalmente alocados para esta encomenda" #: build/serializers.py:793 templates/js/translated/build.js:319 msgid "Required stock has not been fully allocated" @@ -1522,7 +1522,7 @@ msgstr "" msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:1030 order/serializers.py:1614 +#: build/serializers.py:1030 order/serializers.py:1622 msgid "Allocation items must be provided" msgstr "" @@ -1590,7 +1590,7 @@ msgstr "" #: build/serializers.py:1230 company/models.py:849 #: company/templates/company/supplier_part.html:160 order/serializers.py:691 #: stock/admin.py:229 stock/models.py:822 stock/serializers.py:1586 -#: stock/templates/stock/item_base.html:240 +#: stock/templates/stock/item_base.html:236 #: templates/js/translated/company.js:1646 #: templates/js/translated/purchase_order.js:1169 #: templates/js/translated/purchase_order.js:1332 @@ -1600,12 +1600,12 @@ msgid "Packaging" msgstr "" #: build/serializers.py:1233 part/admin.py:39 part/admin.py:398 -#: part/models.py:4115 part/stocktake.py:218 stock/admin.py:153 +#: part/models.py:4102 part/stocktake.py:218 stock/admin.py:153 msgid "Part ID" msgstr "" #: build/serializers.py:1235 build/serializers.py:1324 part/admin.py:402 -#: part/models.py:4117 +#: part/models.py:4104 msgid "Part IPN" msgstr "" @@ -1625,7 +1625,7 @@ msgstr "" #: build/serializers.py:1243 #: report/templates/report/inventree_return_order_report.html:25 #: report/templates/report/inventree_test_report.html:88 stock/models.py:849 -#: stock/serializers.py:152 stock/templates/stock/item_base.html:311 +#: stock/serializers.py:152 stock/templates/stock/item_base.html:307 #: templates/js/translated/build.js:523 templates/js/translated/build.js:1543 #: templates/js/translated/build.js:2530 #: templates/js/translated/model_renderers.js:231 @@ -1644,7 +1644,7 @@ msgstr "" msgid "Allocated Quantity" msgstr "" -#: build/serializers.py:1257 stock/templates/stock/item_base.html:340 +#: build/serializers.py:1257 stock/templates/stock/item_base.html:336 msgid "Available Quantity" msgstr "" @@ -1667,13 +1667,13 @@ msgstr "" msgid "Inherited" msgstr "" -#: build/serializers.py:1337 part/models.py:4326 +#: build/serializers.py:1337 part/models.py:4313 #: part/templates/part/upload_bom.html:56 templates/js/translated/bom.js:1046 #: templates/js/translated/build.js:2714 msgid "Allow Variants" msgstr "" -#: build/serializers.py:1341 part/models.py:4124 part/models.py:4594 +#: build/serializers.py:1341 part/models.py:4111 part/models.py:4587 #: stock/api.py:793 msgid "BOM Item" msgstr "" @@ -1684,7 +1684,7 @@ msgid "Allocated Stock" msgstr "" #: build/serializers.py:1355 order/serializers.py:1179 part/admin.py:132 -#: part/bom.py:186 part/serializers.py:920 part/serializers.py:1623 +#: part/bom.py:186 part/serializers.py:918 part/serializers.py:1621 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 #: templates/js/translated/build.js:2807 templates/js/translated/part.js:712 #: templates/js/translated/part.js:2155 @@ -1692,13 +1692,13 @@ msgstr "" msgid "On Order" msgstr "" -#: build/serializers.py:1360 order/serializers.py:1180 part/serializers.py:1625 +#: build/serializers.py:1360 order/serializers.py:1180 part/serializers.py:1623 #: templates/js/translated/build.js:2811 #: templates/js/translated/table_filters.js:367 msgid "In Production" msgstr "" -#: build/serializers.py:1365 part/bom.py:185 part/serializers.py:1650 +#: build/serializers.py:1365 part/bom.py:185 part/serializers.py:1648 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" @@ -1716,7 +1716,7 @@ msgstr "" msgid "Total Available Stock" msgstr "" -#: build/serializers.py:1372 part/serializers.py:927 +#: build/serializers.py:1372 part/serializers.py:925 msgid "External Stock" msgstr "" @@ -1739,13 +1739,13 @@ msgstr "" #: build/status_codes.py:14 order/status_codes.py:16 order/status_codes.py:51 #: order/status_codes.py:82 msgid "Cancelled" -msgstr "" +msgstr "Cancelado" #: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:510 #: importer/status_codes.py:27 order/status_codes.py:15 #: order/status_codes.py:50 order/status_codes.py:81 #: order/templates/order/order_base.html:163 -#: order/templates/order/sales_order_base.html:168 report/models.py:443 +#: order/templates/order/sales_order_base.html:168 report/models.py:451 msgid "Complete" msgstr "" @@ -1849,9 +1849,6 @@ msgid "Delete Build" msgstr "" #: build/templates/build/build_base.html:87 -msgid "Isueue Build" -msgstr "" - #: build/templates/build/build_base.html:88 msgid "Issue Build" msgstr "" @@ -1931,7 +1928,7 @@ msgstr "" #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_report.html:135 #: report/templates/report/inventree_sales_order_report.html:14 -#: stock/templates/stock/item_base.html:369 +#: stock/templates/stock/item_base.html:365 #: templates/email/overdue_sales_order.html:15 #: templates/js/translated/pricing.js:929 #: templates/js/translated/sales_order.js:805 @@ -1991,7 +1988,7 @@ msgid "Allocated Parts" msgstr "" #: build/templates/build/detail.html:80 stock/admin.py:163 -#: stock/templates/stock/item_base.html:162 +#: stock/templates/stock/item_base.html:158 #: templates/js/translated/build.js:1556 #: templates/js/translated/model_renderers.js:242 #: templates/js/translated/purchase_order.js:1326 @@ -2148,19 +2145,19 @@ msgstr "" msgid "Test Statistics" msgstr "" -#: common/api.py:692 +#: common/api.py:725 msgid "Is Link" msgstr "" -#: common/api.py:700 +#: common/api.py:733 msgid "Is File" msgstr "" -#: common/api.py:743 +#: common/api.py:776 msgid "User does not have permission to delete these attachments" msgstr "" -#: common/api.py:760 +#: common/api.py:793 msgid "User does not have permission to delete this attachment" msgstr "" @@ -2352,8 +2349,8 @@ msgstr "" #: common/models.py:1297 common/models.py:1353 common/models.py:1366 #: common/models.py:1374 common/models.py:1383 common/models.py:1392 -#: common/models.py:1629 common/models.py:1651 common/models.py:1766 -#: common/models.py:2148 +#: common/models.py:1629 common/models.py:1651 common/models.py:1752 +#: common/models.py:2141 msgid "days" msgstr "" @@ -2459,7 +2456,7 @@ msgstr "" #: common/models.py:1389 msgid "User notifications will be deleted after specified number of days" -msgstr "" +msgstr "Notificações de usuários será excluído após um número especificado de dias" #: common/models.py:1396 templates/InvenTree/settings/sidebar.html:31 msgid "Barcode Support" @@ -2581,13 +2578,13 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1485 part/admin.py:108 part/models.py:3959 -#: report/models.py:293 report/models.py:360 report/serializers.py:90 -#: report/serializers.py:131 stock/serializers.py:233 +#: common/models.py:1485 part/admin.py:108 part/models.py:3946 +#: report/models.py:301 report/models.py:368 report/serializers.py:91 +#: report/serializers.py:132 stock/serializers.py:233 #: templates/js/translated/table_filters.js:138 #: templates/js/translated/table_filters.js:775 msgid "Template" -msgstr "" +msgstr "Modelo" #: common/models.py:1486 msgid "Parts are templates by default" @@ -2598,7 +2595,7 @@ msgid "Parts can be assembled from other components by default" msgstr "" #: common/models.py:1497 part/admin.py:95 part/models.py:1172 -#: part/serializers.py:1617 templates/js/translated/table_filters.js:737 +#: part/serializers.py:1615 templates/js/translated/table_filters.js:737 msgid "Component" msgstr "" @@ -2823,7 +2820,7 @@ msgid "Log errors which occur when generating reports" msgstr "" #: common/models.py:1702 plugin/builtin/labels/label_sheet.py:28 -#: report/models.py:301 +#: report/models.py:309 msgid "Page Size" msgstr "" @@ -2832,914 +2829,914 @@ msgid "Default page size for PDF reports" msgstr "" #: common/models.py:1708 -msgid "Enable Test Reports" -msgstr "" - -#: common/models.py:1709 -msgid "Enable generation of test reports" -msgstr "" - -#: common/models.py:1714 -msgid "Attach Test Reports" -msgstr "" - -#: common/models.py:1716 -msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" -msgstr "" - -#: common/models.py:1722 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1723 +#: common/models.py:1709 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1728 +#: common/models.py:1714 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1729 +#: common/models.py:1715 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1734 +#: common/models.py:1720 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1736 +#: common/models.py:1722 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/models.py:1742 +#: common/models.py:1728 msgid "Batch Code Template" msgstr "" -#: common/models.py:1744 +#: common/models.py:1730 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1749 +#: common/models.py:1735 msgid "Stock Expiry" msgstr "" -#: common/models.py:1750 +#: common/models.py:1736 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1755 +#: common/models.py:1741 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1756 +#: common/models.py:1742 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1761 +#: common/models.py:1747 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1763 +#: common/models.py:1749 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1770 +#: common/models.py:1756 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1771 +#: common/models.py:1757 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1776 +#: common/models.py:1762 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1777 +#: common/models.py:1763 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1782 +#: common/models.py:1768 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1783 +#: common/models.py:1769 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1788 +#: common/models.py:1774 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1789 +#: common/models.py:1775 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1794 +#: common/models.py:1780 msgid "Check BOM when installing items" msgstr "" -#: common/models.py:1796 +#: common/models.py:1782 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/models.py:1802 +#: common/models.py:1788 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/models.py:1804 +#: common/models.py:1790 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/models.py:1810 +#: common/models.py:1796 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1812 +#: common/models.py:1798 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1818 common/models.py:1874 common/models.py:1896 -#: common/models.py:1932 +#: common/models.py:1804 common/models.py:1860 common/models.py:1882 +#: common/models.py:1918 msgid "Require Responsible Owner" msgstr "" -#: common/models.py:1819 common/models.py:1875 common/models.py:1897 -#: common/models.py:1933 +#: common/models.py:1805 common/models.py:1861 common/models.py:1883 +#: common/models.py:1919 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/models.py:1824 +#: common/models.py:1810 msgid "Require Active Part" msgstr "" -#: common/models.py:1825 +#: common/models.py:1811 msgid "Prevent build order creation for inactive parts" msgstr "" -#: common/models.py:1830 +#: common/models.py:1816 msgid "Require Locked Part" msgstr "" -#: common/models.py:1831 +#: common/models.py:1817 msgid "Prevent build order creation for unlocked parts" msgstr "" -#: common/models.py:1836 +#: common/models.py:1822 msgid "Require Valid BOM" msgstr "" -#: common/models.py:1838 +#: common/models.py:1824 msgid "Prevent build order creation unless BOM has been validated" msgstr "" -#: common/models.py:1844 +#: common/models.py:1830 msgid "Require Closed Child Orders" msgstr "" -#: common/models.py:1846 +#: common/models.py:1832 msgid "Prevent build order completion until all child orders are closed" msgstr "" -#: common/models.py:1852 +#: common/models.py:1838 msgid "Block Until Tests Pass" msgstr "" -#: common/models.py:1854 +#: common/models.py:1840 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "" -#: common/models.py:1860 +#: common/models.py:1846 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1861 +#: common/models.py:1847 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1866 +#: common/models.py:1852 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1868 +#: common/models.py:1854 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1880 +#: common/models.py:1866 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1882 +#: common/models.py:1868 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1888 +#: common/models.py:1874 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1890 +#: common/models.py:1876 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1902 +#: common/models.py:1888 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1903 +#: common/models.py:1889 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1908 +#: common/models.py:1894 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1910 +#: common/models.py:1896 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1916 +#: common/models.py:1902 msgid "Mark Shipped Orders as Complete" msgstr "" -#: common/models.py:1918 +#: common/models.py:1904 msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status" msgstr "" -#: common/models.py:1924 +#: common/models.py:1910 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1926 +#: common/models.py:1912 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1938 +#: common/models.py:1924 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1940 +#: common/models.py:1926 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1946 +#: common/models.py:1932 msgid "Auto Complete Purchase Orders" msgstr "" -#: common/models.py:1948 +#: common/models.py:1934 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/models.py:1955 +#: common/models.py:1941 msgid "Enable password forgot" msgstr "" -#: common/models.py:1956 +#: common/models.py:1942 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1961 +#: common/models.py:1947 msgid "Enable registration" msgstr "" -#: common/models.py:1962 +#: common/models.py:1948 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1967 +#: common/models.py:1953 msgid "Enable SSO" msgstr "" -#: common/models.py:1968 +#: common/models.py:1954 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1973 +#: common/models.py:1959 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1975 +#: common/models.py:1961 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1981 +#: common/models.py:1967 msgid "Enable SSO group sync" msgstr "" -#: common/models.py:1983 +#: common/models.py:1969 msgid "Enable synchronizing InvenTree groups with groups provided by the IdP" msgstr "" -#: common/models.py:1989 +#: common/models.py:1975 msgid "SSO group key" msgstr "" -#: common/models.py:1991 +#: common/models.py:1977 msgid "The name of the groups claim attribute provided by the IdP" msgstr "" -#: common/models.py:1997 +#: common/models.py:1983 msgid "SSO group map" msgstr "" -#: common/models.py:1999 +#: common/models.py:1985 msgid "A mapping from SSO groups to local InvenTree groups. If the local group does not exist, it will be created." msgstr "" -#: common/models.py:2005 +#: common/models.py:1991 msgid "Remove groups outside of SSO" msgstr "" -#: common/models.py:2007 +#: common/models.py:1993 msgid "Whether groups assigned to the user should be removed if they are not backend by the IdP. Disabling this setting might cause security issues" msgstr "" -#: common/models.py:2013 +#: common/models.py:1999 msgid "Email required" msgstr "" -#: common/models.py:2014 +#: common/models.py:2000 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:2019 +#: common/models.py:2005 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:2021 +#: common/models.py:2007 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:2027 +#: common/models.py:2013 msgid "Mail twice" msgstr "" -#: common/models.py:2028 +#: common/models.py:2014 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:2033 +#: common/models.py:2019 msgid "Password twice" msgstr "" -#: common/models.py:2034 +#: common/models.py:2020 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:2039 +#: common/models.py:2025 msgid "Allowed domains" msgstr "" -#: common/models.py:2041 +#: common/models.py:2027 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:2047 +#: common/models.py:2033 msgid "Group on signup" msgstr "" -#: common/models.py:2049 +#: common/models.py:2035 msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP." msgstr "" -#: common/models.py:2055 +#: common/models.py:2041 msgid "Enforce MFA" msgstr "" -#: common/models.py:2056 +#: common/models.py:2042 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:2061 +#: common/models.py:2047 msgid "Check plugins on startup" msgstr "" -#: common/models.py:2063 +#: common/models.py:2049 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:2071 +#: common/models.py:2057 msgid "Check for plugin updates" msgstr "" -#: common/models.py:2072 +#: common/models.py:2058 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:2078 +#: common/models.py:2064 msgid "Enable URL integration" msgstr "" -#: common/models.py:2079 +#: common/models.py:2065 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:2085 +#: common/models.py:2071 msgid "Enable navigation integration" msgstr "" -#: common/models.py:2086 +#: common/models.py:2072 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:2092 +#: common/models.py:2078 msgid "Enable app integration" msgstr "" -#: common/models.py:2093 +#: common/models.py:2079 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:2099 +#: common/models.py:2085 msgid "Enable schedule integration" msgstr "" -#: common/models.py:2100 +#: common/models.py:2086 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:2106 +#: common/models.py:2092 msgid "Enable event integration" msgstr "" -#: common/models.py:2107 +#: common/models.py:2093 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:2113 +#: common/models.py:2099 +msgid "Enable interface integration" +msgstr "" + +#: common/models.py:2100 +msgid "Enable plugins to integrate into the user interface" +msgstr "" + +#: common/models.py:2106 msgid "Enable project codes" msgstr "" -#: common/models.py:2114 +#: common/models.py:2107 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:2119 +#: common/models.py:2112 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:2121 +#: common/models.py:2114 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:2127 +#: common/models.py:2120 msgid "Exclude External Locations" msgstr "" -#: common/models.py:2129 +#: common/models.py:2122 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/models.py:2135 +#: common/models.py:2128 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:2137 +#: common/models.py:2130 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:2143 +#: common/models.py:2136 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:2145 +#: common/models.py:2138 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:2152 +#: common/models.py:2145 msgid "Display Users full names" msgstr "" -#: common/models.py:2153 +#: common/models.py:2146 msgid "Display Users full names instead of usernames" msgstr "" -#: common/models.py:2158 +#: common/models.py:2151 msgid "Enable Test Station Data" msgstr "" -#: common/models.py:2159 +#: common/models.py:2152 msgid "Enable test station data collection for test results" msgstr "" -#: common/models.py:2171 common/models.py:2551 +#: common/models.py:2157 +msgid "Create Template on Upload" +msgstr "" + +#: common/models.py:2159 +msgid "Create a new test template when uploading test data which does not match an existing template" +msgstr "" + +#: common/models.py:2172 common/models.py:2552 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:2214 +#: common/models.py:2215 msgid "Hide inactive parts" msgstr "" -#: common/models.py:2216 +#: common/models.py:2217 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:2222 +#: common/models.py:2223 msgid "Show subscribed parts" msgstr "" -#: common/models.py:2223 +#: common/models.py:2224 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:2228 +#: common/models.py:2229 msgid "Show subscribed categories" msgstr "" -#: common/models.py:2229 +#: common/models.py:2230 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:2234 +#: common/models.py:2235 msgid "Show latest parts" msgstr "" -#: common/models.py:2235 +#: common/models.py:2236 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:2240 +#: common/models.py:2241 msgid "Show invalid BOMs" msgstr "" -#: common/models.py:2241 +#: common/models.py:2242 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:2246 +#: common/models.py:2247 msgid "Show recent stock changes" msgstr "" -#: common/models.py:2247 +#: common/models.py:2248 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:2252 +#: common/models.py:2253 msgid "Show low stock" msgstr "" -#: common/models.py:2253 +#: common/models.py:2254 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:2258 +#: common/models.py:2259 msgid "Show depleted stock" msgstr "" -#: common/models.py:2259 +#: common/models.py:2260 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:2264 +#: common/models.py:2265 msgid "Show needed stock" msgstr "" -#: common/models.py:2265 +#: common/models.py:2266 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:2270 +#: common/models.py:2271 msgid "Show expired stock" msgstr "" -#: common/models.py:2271 +#: common/models.py:2272 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:2276 +#: common/models.py:2277 msgid "Show stale stock" msgstr "" -#: common/models.py:2277 +#: common/models.py:2278 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:2282 +#: common/models.py:2283 msgid "Show pending builds" msgstr "" -#: common/models.py:2283 +#: common/models.py:2284 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:2288 +#: common/models.py:2289 msgid "Show overdue builds" msgstr "" -#: common/models.py:2289 +#: common/models.py:2290 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:2294 +#: common/models.py:2295 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2295 +#: common/models.py:2296 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2300 +#: common/models.py:2301 msgid "Show overdue POs" msgstr "" -#: common/models.py:2301 +#: common/models.py:2302 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2306 +#: common/models.py:2307 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2307 +#: common/models.py:2308 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2312 +#: common/models.py:2313 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2313 +#: common/models.py:2314 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2318 +#: common/models.py:2319 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2319 +#: common/models.py:2320 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2324 +#: common/models.py:2325 msgid "Show News" msgstr "" -#: common/models.py:2325 +#: common/models.py:2326 msgid "Show news on the homepage" msgstr "" -#: common/models.py:2330 +#: common/models.py:2331 msgid "Inline label display" msgstr "" -#: common/models.py:2332 +#: common/models.py:2333 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2338 +#: common/models.py:2339 msgid "Default label printer" msgstr "" -#: common/models.py:2340 +#: common/models.py:2341 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2346 +#: common/models.py:2347 msgid "Inline report display" msgstr "" -#: common/models.py:2348 +#: common/models.py:2349 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2354 +#: common/models.py:2355 msgid "Search Parts" msgstr "" -#: common/models.py:2355 +#: common/models.py:2356 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2360 +#: common/models.py:2361 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2361 +#: common/models.py:2362 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2366 +#: common/models.py:2367 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2367 +#: common/models.py:2368 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2372 +#: common/models.py:2373 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2373 +#: common/models.py:2374 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2378 +#: common/models.py:2379 msgid "Search Categories" msgstr "" -#: common/models.py:2379 +#: common/models.py:2380 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2384 +#: common/models.py:2385 msgid "Search Stock" msgstr "" -#: common/models.py:2385 +#: common/models.py:2386 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2390 +#: common/models.py:2391 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2392 +#: common/models.py:2393 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2398 +#: common/models.py:2399 msgid "Search Locations" msgstr "" -#: common/models.py:2399 +#: common/models.py:2400 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2404 +#: common/models.py:2405 msgid "Search Companies" msgstr "" -#: common/models.py:2405 +#: common/models.py:2406 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2410 +#: common/models.py:2411 msgid "Search Build Orders" msgstr "" -#: common/models.py:2411 +#: common/models.py:2412 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2416 +#: common/models.py:2417 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2417 +#: common/models.py:2418 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2422 +#: common/models.py:2423 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2424 +#: common/models.py:2425 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2430 +#: common/models.py:2431 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2431 +#: common/models.py:2432 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2436 +#: common/models.py:2437 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2438 +#: common/models.py:2439 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2444 +#: common/models.py:2445 msgid "Search Return Orders" msgstr "" -#: common/models.py:2445 +#: common/models.py:2446 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2450 +#: common/models.py:2451 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2452 +#: common/models.py:2453 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2458 +#: common/models.py:2459 msgid "Search Preview Results" msgstr "" -#: common/models.py:2460 +#: common/models.py:2461 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2466 +#: common/models.py:2467 msgid "Regex Search" msgstr "" -#: common/models.py:2467 +#: common/models.py:2468 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2472 +#: common/models.py:2473 msgid "Whole Word Search" msgstr "" -#: common/models.py:2473 +#: common/models.py:2474 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2478 +#: common/models.py:2479 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2479 +#: common/models.py:2480 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2484 +#: common/models.py:2485 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2485 +#: common/models.py:2486 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2490 +#: common/models.py:2491 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2491 +#: common/models.py:2492 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2496 +#: common/models.py:2497 msgid "Date Format" msgstr "" -#: common/models.py:2497 +#: common/models.py:2498 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2510 part/templates/part/detail.html:41 +#: common/models.py:2511 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2511 +#: common/models.py:2512 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2516 part/templates/part/detail.html:62 +#: common/models.py:2517 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2518 +#: common/models.py:2519 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2524 +#: common/models.py:2525 msgid "Table String Length" msgstr "" -#: common/models.py:2526 +#: common/models.py:2527 msgid "Maximum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2532 +#: common/models.py:2533 msgid "Receive error reports" msgstr "" -#: common/models.py:2533 +#: common/models.py:2534 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2538 +#: common/models.py:2539 msgid "Last used printing machines" msgstr "" -#: common/models.py:2539 +#: common/models.py:2540 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2559 common/models.py:2560 common/models.py:2717 -#: common/models.py:2718 common/models.py:2963 common/models.py:2964 -#: common/models.py:3287 common/models.py:3288 importer/models.py:89 -#: part/models.py:3319 part/models.py:3406 part/models.py:3480 -#: part/models.py:3508 plugin/models.py:274 plugin/models.py:275 +#: common/models.py:2560 common/models.py:2561 common/models.py:2718 +#: common/models.py:2719 common/models.py:2964 common/models.py:2965 +#: common/models.py:3288 common/models.py:3289 importer/models.py:89 +#: part/models.py:3306 part/models.py:3393 part/models.py:3467 +#: part/models.py:3495 plugin/models.py:274 plugin/models.py:275 #: report/templates/report/inventree_test_report.html:105 #: templates/js/translated/stock.js:3121 users/models.py:111 msgid "User" msgstr "" -#: common/models.py:2582 +#: common/models.py:2583 msgid "Price break quantity" msgstr "" -#: common/models.py:2589 company/serializers.py:517 order/admin.py:42 +#: common/models.py:2590 company/serializers.py:517 order/admin.py:42 #: order/models.py:1423 order/models.py:2410 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1892 #: templates/js/translated/pricing.js:621 @@ -3747,96 +3744,96 @@ msgstr "" msgid "Price" msgstr "" -#: common/models.py:2590 +#: common/models.py:2591 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2694 common/models.py:2879 +#: common/models.py:2695 common/models.py:2880 msgid "Endpoint" msgstr "" -#: common/models.py:2695 +#: common/models.py:2696 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2705 +#: common/models.py:2706 msgid "Name for this webhook" msgstr "" -#: common/models.py:2709 +#: common/models.py:2710 msgid "Is this webhook active" msgstr "" -#: common/models.py:2725 users/models.py:159 +#: common/models.py:2726 users/models.py:159 msgid "Token" msgstr "" -#: common/models.py:2726 +#: common/models.py:2727 msgid "Token for access" msgstr "" -#: common/models.py:2734 +#: common/models.py:2735 msgid "Secret" msgstr "" -#: common/models.py:2735 +#: common/models.py:2736 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2843 +#: common/models.py:2844 msgid "Message ID" msgstr "" -#: common/models.py:2844 +#: common/models.py:2845 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2852 +#: common/models.py:2853 msgid "Host" msgstr "" -#: common/models.py:2853 +#: common/models.py:2854 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2861 +#: common/models.py:2862 msgid "Header" msgstr "" -#: common/models.py:2862 +#: common/models.py:2863 msgid "Header of this message" msgstr "" -#: common/models.py:2869 +#: common/models.py:2870 msgid "Body" msgstr "" -#: common/models.py:2870 +#: common/models.py:2871 msgid "Body of this message" msgstr "" -#: common/models.py:2880 +#: common/models.py:2881 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2885 +#: common/models.py:2886 msgid "Worked on" msgstr "" -#: common/models.py:2886 +#: common/models.py:2887 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:3012 +#: common/models.py:3013 msgid "Id" msgstr "" -#: common/models.py:3014 templates/js/translated/company.js:965 +#: common/models.py:3015 templates/js/translated/company.js:965 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:3016 common/models.py:3271 company/models.py:146 +#: common/models.py:3017 common/models.py:3272 company/models.py:146 #: company/models.py:443 company/models.py:509 company/models.py:815 #: order/models.py:303 order/models.py:1378 order/models.py:1810 #: part/admin.py:55 part/models.py:1069 @@ -3853,217 +3850,217 @@ msgstr "" msgid "Link" msgstr "" -#: common/models.py:3018 templates/js/translated/news.js:60 +#: common/models.py:3019 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:3020 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:3021 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:103 msgid "Author" msgstr "" -#: common/models.py:3022 templates/js/translated/news.js:52 +#: common/models.py:3023 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:3025 +#: common/models.py:3026 msgid "Read" msgstr "" -#: common/models.py:3025 +#: common/models.py:3026 msgid "Was this news item read?" msgstr "" -#: common/models.py:3042 company/models.py:156 part/models.py:1079 +#: common/models.py:3043 company/models.py:156 part/models.py:1079 #: 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.html:35 -#: stock/templates/stock/item_base.html:133 templates/503.html:31 +#: stock/templates/stock/item_base.html:129 templates/503.html:31 #: templates/hover_image.html:7 templates/hover_image.html:9 #: templates/modals.html:6 msgid "Image" msgstr "" -#: common/models.py:3042 +#: common/models.py:3043 msgid "Image file" msgstr "" -#: common/models.py:3054 common/models.py:3255 +#: common/models.py:3055 common/models.py:3256 msgid "Target model type for this image" msgstr "" -#: common/models.py:3058 +#: common/models.py:3059 msgid "Target model ID for this image" msgstr "" -#: common/models.py:3080 +#: common/models.py:3081 msgid "Custom Unit" msgstr "" -#: common/models.py:3098 +#: common/models.py:3099 msgid "Unit symbol must be unique" msgstr "" -#: common/models.py:3113 +#: common/models.py:3114 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:3132 +#: common/models.py:3133 msgid "Unit name" msgstr "" -#: common/models.py:3139 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3140 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:3140 +#: common/models.py:3141 msgid "Optional unit symbol" msgstr "" -#: common/models.py:3146 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3147 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:3147 +#: common/models.py:3148 msgid "Unit definition" msgstr "" -#: common/models.py:3205 common/models.py:3262 stock/models.py:2552 +#: common/models.py:3206 common/models.py:3263 stock/models.py:2547 #: stock/serializers.py:244 templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:345 msgid "Attachment" msgstr "" -#: common/models.py:3217 +#: common/models.py:3218 msgid "Missing file" msgstr "" -#: common/models.py:3218 +#: common/models.py:3219 msgid "Missing external link" msgstr "" -#: common/models.py:3263 +#: common/models.py:3264 msgid "Select file to attach" msgstr "" -#: common/models.py:3278 templates/js/translated/attachment.js:120 +#: common/models.py:3279 templates/js/translated/attachment.js:120 #: templates/js/translated/attachment.js:360 msgid "Comment" msgstr "" -#: common/models.py:3279 +#: common/models.py:3280 msgid "Attachment comment" msgstr "" -#: common/models.py:3295 +#: common/models.py:3296 msgid "Upload date" msgstr "" -#: common/models.py:3296 +#: common/models.py:3297 msgid "Date the file was uploaded" msgstr "" -#: common/models.py:3300 +#: common/models.py:3301 msgid "File size" msgstr "" -#: common/models.py:3300 +#: common/models.py:3301 msgid "File size in bytes" msgstr "" -#: common/models.py:3338 common/serializers.py:588 +#: common/models.py:3339 common/serializers.py:604 msgid "Invalid model type specified for attachment" msgstr "" -#: common/models.py:3347 plugin/models.py:43 users/models.py:100 +#: common/models.py:3348 plugin/models.py:43 users/models.py:100 msgid "Key" msgstr "" -#: common/models.py:3348 +#: common/models.py:3349 msgid "Value that will be saved in the models database" msgstr "" -#: common/models.py:3351 +#: common/models.py:3352 msgid "Name of the state" msgstr "" -#: common/models.py:3355 +#: common/models.py:3356 msgid "Label" msgstr "" -#: common/models.py:3356 +#: common/models.py:3357 msgid "Label that will be displayed in the frontend" msgstr "" -#: common/models.py:3362 +#: common/models.py:3363 msgid "Color" msgstr "" -#: common/models.py:3363 +#: common/models.py:3364 msgid "Color that will be displayed in the frontend" msgstr "" -#: common/models.py:3366 +#: common/models.py:3367 msgid "Logical Key" msgstr "" -#: common/models.py:3368 +#: common/models.py:3369 msgid "State logical key that is equal to this custom state in business logic" msgstr "" -#: common/models.py:3376 +#: common/models.py:3377 msgid "Model" msgstr "" -#: common/models.py:3377 +#: common/models.py:3378 msgid "Model this state is associated with" msgstr "" -#: common/models.py:3381 +#: common/models.py:3382 msgid "Reference Status Set" msgstr "" -#: common/models.py:3382 +#: common/models.py:3383 msgid "Status set that is extended with this custom state" msgstr "" -#: common/models.py:3388 +#: common/models.py:3389 msgid "Custom State" msgstr "" -#: common/models.py:3389 +#: common/models.py:3390 msgid "Custom States" msgstr "" -#: common/models.py:3404 +#: common/models.py:3405 msgid "Model must be selected" msgstr "" -#: common/models.py:3407 +#: common/models.py:3408 msgid "Key must be selected" msgstr "" -#: common/models.py:3410 +#: common/models.py:3411 msgid "Logical key must be selected" msgstr "" -#: common/models.py:3414 +#: common/models.py:3415 msgid "Key must be different from logical key" msgstr "" -#: common/models.py:3418 +#: common/models.py:3419 msgid "Reference status must be selected" msgstr "" -#: common/models.py:3430 +#: common/models.py:3431 msgid "Reference status set not found" msgstr "" -#: common/models.py:3436 +#: common/models.py:3437 msgid "Key must be different from the logical keys of the reference status" msgstr "" -#: common/models.py:3442 +#: common/models.py:3443 msgid "Logical key must be in the logical keys of the reference status" msgstr "" @@ -4101,75 +4098,75 @@ msgstr "" msgid "Error raised by plugin" msgstr "" -#: common/serializers.py:402 +#: common/serializers.py:418 msgid "Is Running" msgstr "" -#: common/serializers.py:408 +#: common/serializers.py:424 msgid "Pending Tasks" msgstr "" -#: common/serializers.py:414 +#: common/serializers.py:430 msgid "Scheduled Tasks" msgstr "" -#: common/serializers.py:420 +#: common/serializers.py:436 msgid "Failed Tasks" msgstr "" -#: common/serializers.py:435 +#: common/serializers.py:451 msgid "Task ID" msgstr "" -#: common/serializers.py:435 +#: common/serializers.py:451 msgid "Unique task ID" msgstr "" -#: common/serializers.py:437 +#: common/serializers.py:453 msgid "Lock" msgstr "" -#: common/serializers.py:437 +#: common/serializers.py:453 msgid "Lock time" msgstr "" -#: common/serializers.py:439 +#: common/serializers.py:455 msgid "Task name" msgstr "" -#: common/serializers.py:441 +#: common/serializers.py:457 msgid "Function" msgstr "" -#: common/serializers.py:441 +#: common/serializers.py:457 msgid "Function name" msgstr "" -#: common/serializers.py:443 +#: common/serializers.py:459 msgid "Arguments" msgstr "" -#: common/serializers.py:443 +#: common/serializers.py:459 msgid "Task arguments" msgstr "" -#: common/serializers.py:446 +#: common/serializers.py:462 msgid "Keyword Arguments" msgstr "" -#: common/serializers.py:446 +#: common/serializers.py:462 msgid "Task keyword arguments" msgstr "" -#: common/serializers.py:556 +#: common/serializers.py:572 msgid "Filename" msgstr "" -#: common/serializers.py:563 report/api.py:100 report/serializers.py:53 +#: common/serializers.py:579 report/api.py:100 report/serializers.py:54 msgid "Model Type" msgstr "" -#: common/serializers.py:591 +#: common/serializers.py:607 msgid "User does not have permission to create or edit attachments for this model" msgstr "" @@ -4447,12 +4444,12 @@ msgstr "" #: company/models.py:467 company/models.py:584 company/models.py:808 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 -#: stock/templates/stock/item_base.html:217 +#: stock/templates/stock/item_base.html:213 msgid "Manufacturer Part" msgstr "" #: company/models.py:484 company/models.py:776 stock/models.py:791 -#: stock/serializers.py:452 stock/templates/stock/item_base.html:142 +#: stock/serializers.py:452 stock/templates/stock/item_base.html:138 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" @@ -4463,8 +4460,8 @@ msgstr "" #: company/models.py:495 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:567 -#: stock/templates/stock/item_base.html:207 +#: company/templates/company/supplier_part.html:145 part/serializers.py:565 +#: stock/templates/stock/item_base.html:203 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 #: templates/js/translated/company.js:1296 @@ -4479,7 +4476,7 @@ msgstr "" #: company/models.py:502 company/templates/company/manufacturer_part.html:101 #: company/templates/company/supplier_part.html:153 order/serializers.py:557 -#: part/serializers.py:577 templates/js/translated/company.js:351 +#: part/serializers.py:575 templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 #: templates/js/translated/company.js:1630 templates/js/translated/part.js:1807 @@ -4505,7 +4502,7 @@ msgid "Parameter name" msgstr "" #: company/models.py:597 report/templates/report/inventree_test_report.html:104 -#: stock/models.py:2544 templates/js/translated/company.js:1166 +#: stock/models.py:2539 templates/js/translated/company.js:1166 #: templates/js/translated/company.js:1419 templates/js/translated/part.js:1499 #: templates/js/translated/stock.js:1607 msgid "Value" @@ -4516,7 +4513,7 @@ msgid "Parameter value" msgstr "" #: company/models.py:605 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1159 part/models.py:3783 +#: part/admin.py:57 part/models.py:1159 part/models.py:3770 #: part/templates/part/part_base.html:300 #: templates/js/translated/company.js:1425 templates/js/translated/part.js:1518 #: templates/js/translated/part.js:1622 templates/js/translated/part.js:2376 @@ -4530,7 +4527,7 @@ msgstr "" #: company/models.py:659 company/templates/company/supplier_part.html:7 #: company/templates/company/supplier_part.html:24 order/api.py:440 #: order/serializers.py:492 stock/models.py:802 -#: stock/templates/stock/item_base.html:233 +#: stock/templates/stock/item_base.html:229 #: templates/js/translated/build.js:1055 #: templates/js/translated/company.js:1600 #: templates/js/translated/purchase_order.js:752 @@ -4553,9 +4550,9 @@ msgstr "" #: company/models.py:786 company/templates/company/company_base.html:87 #: company/templates/company/supplier_part.html:129 order/models.py:492 #: order/templates/order/order_base.html:141 part/bom.py:279 part/bom.py:314 -#: part/serializers.py:551 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:549 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 -#: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 +#: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:220 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:511 @@ -4570,7 +4567,7 @@ msgstr "" msgid "Select supplier" msgstr "" -#: company/models.py:793 part/serializers.py:562 +#: company/models.py:793 part/serializers.py:560 msgid "Supplier stock keeping unit" msgstr "" @@ -4591,7 +4588,7 @@ msgid "Supplier part description" msgstr "" #: company/models.py:832 company/templates/company/supplier_part.html:187 -#: order/serializers.py:699 part/admin.py:415 part/models.py:4301 +#: order/serializers.py:699 part/admin.py:415 part/models.py:4288 #: part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 @@ -4603,11 +4600,11 @@ msgstr "" msgid "Note" msgstr "" -#: company/models.py:841 part/models.py:2129 +#: company/models.py:841 part/models.py:2128 msgid "base cost" msgstr "" -#: company/models.py:842 part/models.py:2130 +#: company/models.py:842 part/models.py:2129 msgid "Minimum charge (e.g. stocking fee)" msgstr "" @@ -4629,7 +4626,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:876 part/models.py:2136 +#: company/models.py:876 part/models.py:2135 msgid "multiple" msgstr "" @@ -4661,7 +4658,7 @@ msgstr "" msgid "Company Name" msgstr "" -#: company/serializers.py:397 part/admin.py:126 part/serializers.py:919 +#: company/serializers.py:397 part/admin.py:126 part/serializers.py:917 #: part/templates/part/part_base.html:197 #: templates/js/translated/company.js:1689 #: templates/js/translated/table_filters.js:362 @@ -4735,7 +4732,7 @@ msgstr "" #: order/models.py:2140 order/templates/order/return_order_base.html:134 #: order/templates/order/sales_order_base.html:151 stock/models.py:844 #: stock/models.py:845 stock/serializers.py:1336 -#: stock/templates/stock/item_base.html:405 +#: stock/templates/stock/item_base.html:401 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 #: templates/js/translated/return_order.js:295 @@ -4939,7 +4936,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:925 +#: part/admin.py:122 part/serializers.py:923 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -5030,7 +5027,7 @@ msgid "No supplier information available" msgstr "" #: company/templates/company/supplier_part.html:139 order/serializers.py:554 -#: part/bom.py:286 part/bom.py:315 part/serializers.py:561 +#: part/bom.py:286 part/bom.py:315 part/serializers.py:559 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1793 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1920 @@ -5084,7 +5081,7 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:923 part/stocktake.py:223 +#: part/serializers.py:921 part/stocktake.py:223 #: part/templates/part/category.html:180 #: part/templates/part/category_sidebar.html:17 stock/admin.py:68 #: stock/serializers.py:1021 stock/serializers.py:1199 @@ -5215,7 +5212,7 @@ msgstr "" msgid "Original row data" msgstr "" -#: importer/models.py:504 part/models.py:3965 +#: importer/models.py:504 part/models.py:3952 msgid "Data" msgstr "" @@ -5473,7 +5470,7 @@ msgstr "" #: order/models.py:1592 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_purchase_order_report.html:14 -#: stock/serializers.py:121 stock/templates/stock/item_base.html:176 +#: stock/serializers.py:121 stock/templates/stock/item_base.html:172 #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/part.js:1752 templates/js/translated/pricing.js:804 #: templates/js/translated/purchase_order.js:168 @@ -5694,7 +5691,7 @@ msgid "Number of items received" msgstr "" #: order/models.py:1513 stock/models.py:963 stock/serializers.py:617 -#: stock/templates/stock/item_base.html:183 +#: stock/templates/stock/item_base.html:179 #: templates/js/translated/stock.js:2397 msgid "Purchase Price" msgstr "" @@ -5768,7 +5765,7 @@ msgid "User who checked this shipment" msgstr "" #: order/models.py:1788 order/models.py:2011 order/serializers.py:1479 -#: order/serializers.py:1589 templates/js/translated/model_renderers.js:455 +#: order/serializers.py:1597 templates/js/translated/model_renderers.js:455 msgid "Shipment" msgstr "" @@ -5982,7 +5979,7 @@ msgstr "" msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:656 order/serializers.py:779 order/serializers.py:1790 +#: order/serializers.py:656 order/serializers.py:779 order/serializers.py:1798 msgid "Select destination location for received items" msgstr "" @@ -6019,7 +6016,7 @@ msgstr "" msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:795 order/serializers.py:1806 +#: order/serializers.py:795 order/serializers.py:1814 msgid "Line items must be provided" msgstr "" @@ -6051,39 +6048,39 @@ msgstr "" msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1491 order/serializers.py:1597 +#: order/serializers.py:1491 order/serializers.py:1605 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1494 order/serializers.py:1600 +#: order/serializers.py:1494 order/serializers.py:1608 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1541 +#: order/serializers.py:1549 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1548 -msgid "The following serial numbers are already allocated" +#: order/serializers.py:1556 +msgid "The following serial numbers are unavailable" msgstr "" -#: order/serializers.py:1760 +#: order/serializers.py:1768 msgid "Return order line item" msgstr "" -#: order/serializers.py:1766 +#: order/serializers.py:1774 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1769 +#: order/serializers.py:1777 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1798 +#: order/serializers.py:1806 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1881 +#: order/serializers.py:1889 msgid "Line price currency" msgstr "" @@ -6510,7 +6507,7 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:48 part/models.py:1044 part/serializers.py:908 +#: part/admin.py:48 part/models.py:1044 part/serializers.py:906 #: part/templates/part/part_base.html:276 #: report/templates/report/inventree_stock_location_report.html:103 #: templates/js/translated/part.js:1233 templates/js/translated/part.js:2347 @@ -6537,7 +6534,7 @@ msgstr "" msgid "Category ID" msgstr "" -#: part/admin.py:67 part/admin.py:304 part/serializers.py:893 +#: part/admin.py:67 part/admin.py:304 part/serializers.py:891 #: part/stocktake.py:222 msgid "Category Name" msgstr "" @@ -6562,18 +6559,18 @@ msgstr "" msgid "Used In" msgstr "" -#: part/admin.py:150 part/serializers.py:918 +#: part/admin.py:150 part/serializers.py:916 #: part/templates/part/part_base.html:248 stock/admin.py:236 #: templates/js/translated/part.js:717 templates/js/translated/part.js:2159 msgid "Building" msgstr "" -#: part/admin.py:155 part/models.py:3214 part/models.py:3228 +#: part/admin.py:155 part/models.py:3201 part/models.py:3215 #: templates/js/translated/part.js:976 msgid "Minimum Cost" msgstr "" -#: part/admin.py:158 part/models.py:3221 part/models.py:3235 +#: part/admin.py:158 part/models.py:3208 part/models.py:3222 #: templates/js/translated/part.js:986 msgid "Maximum Cost" msgstr "" @@ -6592,7 +6589,7 @@ msgid "Category Path" msgstr "" #: part/admin.py:325 part/models.py:420 part/serializers.py:130 -#: part/serializers.py:290 part/serializers.py:428 +#: part/serializers.py:290 part/serializers.py:426 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:20 #: part/templates/part/category.html:138 part/templates/part/category.html:158 #: part/templates/part/category_sidebar.html:9 @@ -6619,13 +6616,13 @@ msgstr "" msgid "Part Revision" msgstr "" -#: part/admin.py:418 part/serializers.py:1367 +#: part/admin.py:418 part/serializers.py:1365 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:423 part/serializers.py:1382 +#: part/admin.py:423 part/serializers.py:1380 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -6719,8 +6716,8 @@ msgstr "" msgid "BOM Valid" msgstr "" -#: part/api.py:1520 part/models.py:1036 part/models.py:3501 part/models.py:4060 -#: part/serializers.py:443 part/serializers.py:1223 +#: part/api.py:1520 part/models.py:1036 part/models.py:3488 part/models.py:4047 +#: part/serializers.py:441 part/serializers.py:1221 #: part/templates/part/part_base.html:267 stock/api.py:780 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 @@ -6746,7 +6743,7 @@ msgstr "" msgid "Default Location" msgstr "" -#: part/bom.py:184 part/serializers.py:926 +#: part/bom.py:184 part/serializers.py:924 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -6755,7 +6752,7 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:89 part/models.py:4061 part/templates/part/category.html:16 +#: part/models.py:89 part/models.py:4048 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -6878,7 +6875,7 @@ msgstr "" msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:995 part/models.py:4116 +#: part/models.py:995 part/models.py:4103 msgid "Part name" msgstr "" @@ -6906,7 +6903,7 @@ msgstr "" msgid "Part category" msgstr "" -#: part/models.py:1052 part/serializers.py:360 +#: part/models.py:1052 msgid "Part revision or version number" msgstr "" @@ -7012,164 +7009,164 @@ msgid "Owner responsible for this part" msgstr "" #: part/models.py:1264 part/templates/part/part_base.html:355 -#: stock/templates/stock/item_base.html:451 +#: stock/templates/stock/item_base.html:447 #: templates/js/translated/part.js:2490 msgid "Last Stocktake" msgstr "" -#: part/models.py:2137 +#: part/models.py:2136 msgid "Sell multiple" msgstr "" -#: part/models.py:3128 +#: part/models.py:3115 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3144 +#: part/models.py:3131 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3145 +#: part/models.py:3132 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3151 +#: part/models.py:3138 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3152 +#: part/models.py:3139 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3158 +#: part/models.py:3145 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3159 +#: part/models.py:3146 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3165 +#: part/models.py:3152 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3166 +#: part/models.py:3153 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3172 +#: part/models.py:3159 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3173 +#: part/models.py:3160 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3179 +#: part/models.py:3166 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3180 +#: part/models.py:3167 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3186 +#: part/models.py:3173 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3187 +#: part/models.py:3174 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3193 +#: part/models.py:3180 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3194 +#: part/models.py:3181 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3200 +#: part/models.py:3187 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3201 +#: part/models.py:3188 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3207 +#: part/models.py:3194 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3208 +#: part/models.py:3195 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3215 +#: part/models.py:3202 msgid "Override minimum cost" msgstr "" -#: part/models.py:3222 +#: part/models.py:3209 msgid "Override maximum cost" msgstr "" -#: part/models.py:3229 +#: part/models.py:3216 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3236 +#: part/models.py:3223 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3242 +#: part/models.py:3229 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3243 +#: part/models.py:3230 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3249 +#: part/models.py:3236 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3250 +#: part/models.py:3237 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3256 +#: part/models.py:3243 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3257 +#: part/models.py:3244 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3263 +#: part/models.py:3250 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3264 +#: part/models.py:3251 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3283 +#: part/models.py:3270 msgid "Part for stocktake" msgstr "" -#: part/models.py:3288 +#: part/models.py:3275 msgid "Item Count" msgstr "" -#: part/models.py:3289 +#: part/models.py:3276 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3297 +#: part/models.py:3284 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3301 part/models.py:3384 +#: part/models.py:3288 part/models.py:3371 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -7181,363 +7178,363 @@ msgstr "" msgid "Date" msgstr "" -#: part/models.py:3302 +#: part/models.py:3289 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3310 +#: part/models.py:3297 msgid "Additional notes" msgstr "" -#: part/models.py:3320 +#: part/models.py:3307 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3326 +#: part/models.py:3313 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3327 +#: part/models.py:3314 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3333 +#: part/models.py:3320 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3334 +#: part/models.py:3321 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3390 templates/InvenTree/settings/settings_staff_js.html:532 +#: part/models.py:3377 templates/InvenTree/settings/settings_staff_js.html:532 msgid "Report" msgstr "" -#: part/models.py:3391 +#: part/models.py:3378 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3396 templates/InvenTree/settings/settings_staff_js.html:539 +#: part/models.py:3383 templates/InvenTree/settings/settings_staff_js.html:539 msgid "Part Count" msgstr "" -#: part/models.py:3397 +#: part/models.py:3384 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3407 +#: part/models.py:3394 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3417 +#: part/models.py:3404 msgid "Part Sale Price Break" msgstr "" -#: part/models.py:3529 +#: part/models.py:3516 msgid "Part Test Template" msgstr "" -#: part/models.py:3555 +#: part/models.py:3542 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3576 part/models.py:3745 +#: part/models.py:3563 part/models.py:3732 msgid "Choices must be unique" msgstr "" -#: part/models.py:3587 +#: part/models.py:3574 msgid "Test templates can only be created for testable parts" msgstr "" -#: part/models.py:3598 +#: part/models.py:3585 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3615 templates/js/translated/part.js:2898 +#: part/models.py:3602 templates/js/translated/part.js:2898 msgid "Test Name" msgstr "" -#: part/models.py:3616 +#: part/models.py:3603 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3622 +#: part/models.py:3609 msgid "Test Key" msgstr "" -#: part/models.py:3623 +#: part/models.py:3610 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3630 +#: part/models.py:3617 msgid "Test Description" msgstr "" -#: part/models.py:3631 +#: part/models.py:3618 msgid "Enter description for this test" msgstr "" -#: part/models.py:3635 report/models.py:208 +#: part/models.py:3622 report/models.py:216 #: templates/js/translated/part.js:2919 #: templates/js/translated/table_filters.js:502 msgid "Enabled" msgstr "" -#: part/models.py:3635 +#: part/models.py:3622 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3640 templates/js/translated/part.js:2927 +#: part/models.py:3627 templates/js/translated/part.js:2927 #: templates/js/translated/table_filters.js:498 msgid "Required" msgstr "" -#: part/models.py:3641 +#: part/models.py:3628 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3646 templates/js/translated/part.js:2935 +#: part/models.py:3633 templates/js/translated/part.js:2935 msgid "Requires Value" msgstr "" -#: part/models.py:3647 +#: part/models.py:3634 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3652 templates/js/translated/part.js:2942 +#: part/models.py:3639 templates/js/translated/part.js:2942 msgid "Requires Attachment" msgstr "" -#: part/models.py:3654 +#: part/models.py:3641 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3660 part/models.py:3804 templates/js/translated/part.js:1643 +#: part/models.py:3647 part/models.py:3791 templates/js/translated/part.js:1643 msgid "Choices" msgstr "" -#: part/models.py:3661 +#: part/models.py:3648 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3693 +#: part/models.py:3680 msgid "Part Parameter Template" msgstr "" -#: part/models.py:3720 +#: part/models.py:3707 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3725 +#: part/models.py:3712 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3762 +#: part/models.py:3749 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3777 +#: part/models.py:3764 msgid "Parameter Name" msgstr "" -#: part/models.py:3784 +#: part/models.py:3771 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3792 +#: part/models.py:3779 msgid "Parameter description" msgstr "" -#: part/models.py:3798 templates/js/translated/part.js:1634 +#: part/models.py:3785 templates/js/translated/part.js:1634 #: templates/js/translated/table_filters.js:837 msgid "Checkbox" msgstr "" -#: part/models.py:3799 +#: part/models.py:3786 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3805 +#: part/models.py:3792 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3839 +#: part/models.py:3826 msgid "Part Parameter" msgstr "" -#: part/models.py:3865 +#: part/models.py:3852 msgid "Parameter cannot be modified - part is locked" msgstr "" -#: part/models.py:3903 +#: part/models.py:3890 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3952 +#: part/models.py:3939 msgid "Parent Part" msgstr "" -#: part/models.py:3960 part/models.py:4068 part/models.py:4069 +#: part/models.py:3947 part/models.py:4055 part/models.py:4056 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3966 +#: part/models.py:3953 msgid "Parameter Value" msgstr "" -#: part/models.py:4016 +#: part/models.py:4003 msgid "Part Category Parameter Template" msgstr "" -#: part/models.py:4075 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:4062 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:4076 +#: part/models.py:4063 msgid "Default Parameter Value" msgstr "" -#: part/models.py:4114 +#: part/models.py:4101 msgid "Part ID or part name" msgstr "" -#: part/models.py:4115 +#: part/models.py:4102 msgid "Unique part ID value" msgstr "" -#: part/models.py:4117 +#: part/models.py:4104 msgid "Part IPN value" msgstr "" -#: part/models.py:4118 +#: part/models.py:4105 msgid "Level" msgstr "" -#: part/models.py:4118 +#: part/models.py:4105 msgid "BOM level" msgstr "" -#: part/models.py:4228 +#: part/models.py:4215 msgid "BOM item cannot be modified - assembly is locked" msgstr "" -#: part/models.py:4235 +#: part/models.py:4222 msgid "BOM item cannot be modified - variant assembly is locked" msgstr "" -#: part/models.py:4245 +#: part/models.py:4232 msgid "Select parent part" msgstr "" -#: part/models.py:4255 +#: part/models.py:4242 msgid "Sub part" msgstr "" -#: part/models.py:4256 +#: part/models.py:4243 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4267 +#: part/models.py:4254 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4273 +#: part/models.py:4260 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4279 +#: part/models.py:4266 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4286 part/templates/part/upload_bom.html:55 +#: part/models.py:4273 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4287 +#: part/models.py:4274 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4294 +#: part/models.py:4281 msgid "BOM item reference" msgstr "" -#: part/models.py:4302 +#: part/models.py:4289 msgid "BOM item notes" msgstr "" -#: part/models.py:4308 +#: part/models.py:4295 msgid "Checksum" msgstr "" -#: part/models.py:4309 +#: part/models.py:4296 msgid "BOM line checksum" msgstr "" -#: part/models.py:4314 templates/js/translated/table_filters.js:181 +#: part/models.py:4301 templates/js/translated/table_filters.js:181 msgid "Validated" msgstr "" -#: part/models.py:4315 +#: part/models.py:4302 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4320 part/templates/part/upload_bom.html:57 +#: part/models.py:4307 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:185 #: templates/js/translated/table_filters.js:218 msgid "Gets inherited" msgstr "" -#: part/models.py:4321 +#: part/models.py:4308 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4327 +#: part/models.py:4314 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4412 stock/models.py:689 +#: part/models.py:4399 stock/models.py:689 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4422 part/models.py:4424 +#: part/models.py:4409 part/models.py:4411 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4561 +#: part/models.py:4554 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4582 +#: part/models.py:4575 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4595 +#: part/models.py:4588 msgid "Parent BOM item" msgstr "" -#: part/models.py:4603 +#: part/models.py:4596 msgid "Substitute part" msgstr "" -#: part/models.py:4619 +#: part/models.py:4612 msgid "Part 1" msgstr "" -#: part/models.py:4627 +#: part/models.py:4620 msgid "Part 2" msgstr "" -#: part/models.py:4628 +#: part/models.py:4621 msgid "Select Related Part" msgstr "" -#: part/models.py:4647 +#: part/models.py:4640 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4652 +#: part/models.py:4645 msgid "Duplicate relationship already exists" msgstr "" @@ -7571,326 +7568,326 @@ msgstr "" msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:434 +#: part/serializers.py:432 msgid "No parts selected" msgstr "" -#: part/serializers.py:444 +#: part/serializers.py:442 msgid "Select category" msgstr "" -#: part/serializers.py:479 +#: part/serializers.py:477 msgid "Original Part" msgstr "" -#: part/serializers.py:480 +#: part/serializers.py:478 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:485 +#: part/serializers.py:483 msgid "Copy Image" msgstr "" -#: part/serializers.py:486 +#: part/serializers.py:484 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:492 part/templates/part/detail.html:293 +#: part/serializers.py:490 part/templates/part/detail.html:293 msgid "Copy BOM" msgstr "" -#: part/serializers.py:493 +#: part/serializers.py:491 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:499 +#: part/serializers.py:497 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:500 +#: part/serializers.py:498 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:506 +#: part/serializers.py:504 msgid "Copy Notes" msgstr "" -#: part/serializers.py:507 +#: part/serializers.py:505 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:525 +#: part/serializers.py:523 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:527 +#: part/serializers.py:525 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:534 +#: part/serializers.py:532 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:535 +#: part/serializers.py:533 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:552 +#: part/serializers.py:550 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:568 +#: part/serializers.py:566 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:578 +#: part/serializers.py:576 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:585 +#: part/serializers.py:583 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:594 +#: part/serializers.py:592 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:605 +#: part/serializers.py:603 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:612 +#: part/serializers.py:610 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:924 +#: part/serializers.py:922 msgid "Revisions" msgstr "" -#: part/serializers.py:929 +#: part/serializers.py:927 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:932 +#: part/serializers.py:930 msgid "Variant Stock" msgstr "" -#: part/serializers.py:962 part/templates/part/copy_part.html:9 +#: part/serializers.py:960 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:474 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:963 +#: part/serializers.py:961 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:969 templates/js/translated/part.js:103 +#: part/serializers.py:967 templates/js/translated/part.js:103 msgid "Initial Stock" msgstr "" -#: part/serializers.py:970 +#: part/serializers.py:968 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:976 +#: part/serializers.py:974 msgid "Supplier Information" msgstr "" -#: part/serializers.py:977 +#: part/serializers.py:975 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:985 +#: part/serializers.py:983 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:986 +#: part/serializers.py:984 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:991 +#: part/serializers.py:989 msgid "Existing Image" msgstr "" -#: part/serializers.py:992 +#: part/serializers.py:990 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:1009 +#: part/serializers.py:1007 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1215 +#: part/serializers.py:1213 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1225 +#: part/serializers.py:1223 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1235 +#: part/serializers.py:1233 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1241 +#: part/serializers.py:1239 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1242 +#: part/serializers.py:1240 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1247 +#: part/serializers.py:1245 msgid "Generate Report" msgstr "" -#: part/serializers.py:1248 +#: part/serializers.py:1246 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1253 +#: part/serializers.py:1251 msgid "Update Parts" msgstr "" -#: part/serializers.py:1254 +#: part/serializers.py:1252 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1262 +#: part/serializers.py:1260 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1368 +#: part/serializers.py:1366 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1375 +#: part/serializers.py:1373 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1383 +#: part/serializers.py:1381 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1390 +#: part/serializers.py:1388 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1419 +#: part/serializers.py:1417 msgid "Update" msgstr "" -#: part/serializers.py:1420 +#: part/serializers.py:1418 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1443 +#: part/serializers.py:1441 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1450 +#: part/serializers.py:1448 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1453 +#: part/serializers.py:1451 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1597 +#: part/serializers.py:1595 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1606 +#: part/serializers.py:1604 msgid "Component Name" msgstr "" -#: part/serializers.py:1609 +#: part/serializers.py:1607 msgid "Component IPN" msgstr "" -#: part/serializers.py:1612 +#: part/serializers.py:1610 msgid "Component Description" msgstr "" -#: part/serializers.py:1618 +#: part/serializers.py:1616 msgid "Select the component part" msgstr "" -#: part/serializers.py:1627 part/templates/part/part_base.html:242 +#: part/serializers.py:1625 part/templates/part/part_base.html:242 #: templates/js/translated/bom.js:1219 msgid "Can Build" msgstr "" -#: part/serializers.py:1858 +#: part/serializers.py:1856 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1866 +#: part/serializers.py:1864 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1867 +#: part/serializers.py:1865 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1872 +#: part/serializers.py:1870 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1873 +#: part/serializers.py:1871 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1878 +#: part/serializers.py:1876 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1879 +#: part/serializers.py:1877 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1884 +#: part/serializers.py:1882 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1885 +#: part/serializers.py:1883 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1922 +#: part/serializers.py:1920 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1923 +#: part/serializers.py:1921 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1955 +#: part/serializers.py:1953 msgid "No part column specified" msgstr "" -#: part/serializers.py:1999 +#: part/serializers.py:1997 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:2002 +#: part/serializers.py:2000 msgid "No matching part found" msgstr "" -#: part/serializers.py:2004 +#: part/serializers.py:2002 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:2013 +#: part/serializers.py:2011 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:2021 +#: part/serializers.py:2019 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:2044 +#: part/serializers.py:2042 msgid "At least one BOM item is required" msgstr "" @@ -8216,7 +8213,7 @@ msgid "Subscribe to notifications for this part" msgstr "" #: part/templates/part/part_base.html:52 -#: stock/templates/stock/item_base.html:62 +#: stock/templates/stock/item_base.html:61 #: stock/templates/stock/location.html:71 templates/js/translated/label.js:136 msgid "Print Label" msgstr "" @@ -8226,7 +8223,7 @@ msgid "Show pricing information" msgstr "" #: part/templates/part/part_base.html:63 -#: stock/templates/stock/item_base.html:110 +#: stock/templates/stock/item_base.html:106 #: stock/templates/stock/location.html:80 msgid "Stock actions" msgstr "" @@ -8297,12 +8294,12 @@ msgid "Required for Orders" msgstr "" #: part/templates/part/part_base.html:225 -#: stock/templates/stock/item_base.html:388 +#: stock/templates/stock/item_base.html:384 msgid "Allocated to Build Orders" msgstr "" #: part/templates/part/part_base.html:234 -#: stock/templates/stock/item_base.html:381 +#: stock/templates/stock/item_base.html:377 msgid "Allocated to Sales Orders" msgstr "" @@ -8322,7 +8319,7 @@ msgid "Latest Serial Number" msgstr "" #: part/templates/part/part_base.html:372 -#: stock/templates/stock/item_base.html:322 +#: stock/templates/stock/item_base.html:318 msgid "Search for serial number" msgstr "" @@ -8449,7 +8446,7 @@ msgid "Edit" msgstr "" #: part/templates/part/prices.html:28 stock/admin.py:252 -#: stock/templates/stock/item_base.html:446 +#: stock/templates/stock/item_base.html:442 #: templates/js/translated/company.js:1703 #: templates/js/translated/company.js:1713 #: templates/js/translated/stock.js:2332 @@ -8604,7 +8601,7 @@ msgstr "" msgid "Part Pricing" msgstr "" -#: plugin/api.py:172 +#: plugin/api.py:174 msgid "Plugin cannot be deleted as it is currently active" msgstr "" @@ -8940,7 +8937,7 @@ msgstr "" msgid "Print a border around each label" msgstr "" -#: plugin/builtin/labels/label_sheet.py:47 report/models.py:307 +#: plugin/builtin/labels/label_sheet.py:47 report/models.py:315 msgid "Landscape" msgstr "" @@ -9012,44 +9009,44 @@ msgstr "" msgid "The Supplier which acts as 'TME'" msgstr "" -#: plugin/installer.py:194 plugin/installer.py:274 +#: plugin/installer.py:199 plugin/installer.py:282 msgid "Only staff users can administer plugins" msgstr "" -#: plugin/installer.py:197 +#: plugin/installer.py:202 msgid "Plugin installation is disabled" msgstr "" -#: plugin/installer.py:241 +#: plugin/installer.py:246 msgid "Installed plugin successfully" msgstr "" -#: plugin/installer.py:246 +#: plugin/installer.py:251 #, python-brace-format msgid "Installed plugin into {path}" msgstr "" -#: plugin/installer.py:265 +#: plugin/installer.py:273 msgid "Plugin was not found in registry" msgstr "" -#: plugin/installer.py:268 +#: plugin/installer.py:276 msgid "Plugin is not a packaged plugin" msgstr "" -#: plugin/installer.py:271 +#: plugin/installer.py:279 msgid "Plugin package name not found" msgstr "" -#: plugin/installer.py:291 +#: plugin/installer.py:299 msgid "Plugin uninstalling is disabled" msgstr "" -#: plugin/installer.py:295 +#: plugin/installer.py:303 msgid "Plugin cannot be uninstalled as it is currently active" msgstr "" -#: plugin/installer.py:308 +#: plugin/installer.py:316 msgid "Uninstalled plugin successfully" msgstr "" @@ -9098,7 +9095,7 @@ msgstr "" msgid "Package Plugin" msgstr "" -#: plugin/models.py:220 report/models.py:474 +#: plugin/models.py:220 report/models.py:482 #: templates/InvenTree/settings/plugin_settings.html:9 #: templates/js/translated/plugin.js:51 msgid "Plugin" @@ -9167,6 +9164,38 @@ msgstr "" msgid "InvenTree Contributors" msgstr "" +#: plugin/samples/integration/user_interface_sample.py:22 +msgid "Enable Part Panels" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:23 +msgid "Enable custom panels for Part views" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:28 +msgid "Enable Purchase Order Panels" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:29 +msgid "Enable custom panels for Purchase Order views" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:34 +msgid "Enable Broken Panels" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:35 +msgid "Enable broken panels for testing" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:40 +msgid "Enable Dynamic Panel" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:41 +msgid "Enable dynamic panels for testing" +msgstr "" + #: plugin/serializers.py:81 msgid "Source URL" msgstr "" @@ -9245,12 +9274,36 @@ msgstr "" msgid "Delete the plugin configuration from the database" msgstr "" +#: plugin/serializers.py:324 +msgid "Plugin Key" +msgstr "" + +#: plugin/serializers.py:328 +msgid "Panel Name" +msgstr "" + +#: plugin/serializers.py:332 +msgid "Panel Title" +msgstr "" + +#: plugin/serializers.py:337 +msgid "Panel Icon" +msgstr "" + +#: plugin/serializers.py:341 +msgid "Panel Content (HTML)" +msgstr "" + +#: plugin/serializers.py:345 +msgid "Panel Source (javascript)" +msgstr "" + #: report/api.py:88 msgid "No valid objects provided to template" msgstr "" -#: report/api.py:103 report/models.py:438 report/serializers.py:98 -#: report/serializers.py:148 templates/js/translated/purchase_order.js:1817 +#: report/api.py:103 report/models.py:446 report/serializers.py:99 +#: report/serializers.py:149 templates/js/translated/purchase_order.js:1817 #: templates/js/translated/return_order.js:353 #: templates/js/translated/sales_order.js:887 #: templates/js/translated/sales_order.js:1047 @@ -9281,7 +9334,11 @@ msgstr "" msgid "Error printing label" msgstr "" -#: report/api.py:375 report/api.py:411 +#: report/api.py:358 +msgid "Report saved at time of printing" +msgstr "" + +#: report/api.py:384 report/api.py:420 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" @@ -9318,135 +9375,143 @@ msgstr "" msgid "Revision number (auto-increments)" msgstr "" -#: report/models.py:202 +#: report/models.py:168 +msgid "Attach to Model on Print" +msgstr "" + +#: report/models.py:170 +msgid "Save report output as an attachment against linked model instance when printing" +msgstr "" + +#: report/models.py:210 msgid "Filename Pattern" msgstr "" -#: report/models.py:203 +#: report/models.py:211 msgid "Pattern for generating filenames" msgstr "" -#: report/models.py:208 +#: report/models.py:216 msgid "Template is enabled" msgstr "" -#: report/models.py:214 +#: report/models.py:222 msgid "Target model type for template" msgstr "" -#: report/models.py:234 +#: report/models.py:242 msgid "Filters" msgstr "" -#: report/models.py:235 +#: report/models.py:243 msgid "Template query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:294 report/models.py:361 +#: report/models.py:302 report/models.py:369 msgid "Template file" msgstr "" -#: report/models.py:302 +#: report/models.py:310 msgid "Page size for PDF reports" msgstr "" -#: report/models.py:308 +#: report/models.py:316 msgid "Render report in landscape orientation" msgstr "" -#: report/models.py:367 +#: report/models.py:375 msgid "Width [mm]" msgstr "" -#: report/models.py:368 +#: report/models.py:376 msgid "Label width, specified in mm" msgstr "" -#: report/models.py:374 +#: report/models.py:382 msgid "Height [mm]" msgstr "" -#: report/models.py:375 +#: report/models.py:383 msgid "Label height, specified in mm" msgstr "" -#: report/models.py:438 +#: report/models.py:446 msgid "Number of items to process" msgstr "" -#: report/models.py:444 +#: report/models.py:452 msgid "Report generation is complete" msgstr "" -#: report/models.py:448 templates/js/translated/build.js:2352 +#: report/models.py:456 templates/js/translated/build.js:2352 msgid "Progress" msgstr "" -#: report/models.py:448 +#: report/models.py:456 msgid "Report generation progress" msgstr "" -#: report/models.py:456 +#: report/models.py:464 msgid "Report Template" msgstr "" -#: report/models.py:463 report/models.py:486 +#: report/models.py:471 report/models.py:494 msgid "Output File" msgstr "" -#: report/models.py:464 report/models.py:487 +#: report/models.py:472 report/models.py:495 msgid "Generated output file" msgstr "" -#: report/models.py:475 +#: report/models.py:483 msgid "Label output plugin" msgstr "" -#: report/models.py:479 +#: report/models.py:487 msgid "Label Template" msgstr "" -#: report/models.py:502 +#: report/models.py:510 msgid "Snippet" msgstr "" -#: report/models.py:503 +#: report/models.py:511 msgid "Report snippet file" msgstr "" -#: report/models.py:510 +#: report/models.py:518 msgid "Snippet file description" msgstr "" -#: report/models.py:528 +#: report/models.py:536 msgid "Asset" msgstr "" -#: report/models.py:529 +#: report/models.py:537 msgid "Report asset file" msgstr "" -#: report/models.py:536 +#: report/models.py:544 msgid "Asset file description" msgstr "" -#: report/serializers.py:91 +#: report/serializers.py:92 msgid "Select report template" msgstr "" -#: report/serializers.py:99 report/serializers.py:149 +#: report/serializers.py:100 report/serializers.py:150 msgid "List of item primary keys to include in the report" msgstr "" -#: report/serializers.py:132 +#: report/serializers.py:133 msgid "Select label template" msgstr "" -#: report/serializers.py:140 +#: report/serializers.py:141 msgid "Printing Plugin" msgstr "" -#: report/serializers.py:141 +#: report/serializers.py:142 msgid "Select plugin to use for label printing" msgstr "" @@ -9517,7 +9582,7 @@ msgstr "" msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report.html:103 stock/models.py:2538 +#: report/templates/report/inventree_test_report.html:103 stock/models.py:2533 msgid "Result" msgstr "" @@ -9598,7 +9663,7 @@ msgid "Customer ID" msgstr "" #: stock/admin.py:206 stock/models.py:829 -#: stock/templates/stock/item_base.html:354 +#: stock/templates/stock/item_base.html:350 msgid "Installed In" msgstr "" @@ -9623,7 +9688,7 @@ msgid "Delete on Deplete" msgstr "" #: stock/admin.py:261 stock/models.py:923 -#: stock/templates/stock/item_base.html:433 +#: stock/templates/stock/item_base.html:429 #: templates/js/translated/stock.js:2316 users/models.py:124 msgid "Expiry Date" msgstr "" @@ -9665,7 +9730,7 @@ msgid "Expiry date after" msgstr "" #: stock/api.py:839 stock/serializers.py:611 -#: stock/templates/stock/item_base.html:439 +#: stock/templates/stock/item_base.html:435 #: templates/js/translated/table_filters.js:448 msgid "Stale" msgstr "" @@ -9715,7 +9780,7 @@ msgid "Stock Locations" msgstr "" #: stock/models.py:185 stock/models.py:972 -#: stock/templates/stock/item_base.html:247 +#: stock/templates/stock/item_base.html:243 msgid "Owner" msgstr "" @@ -9826,7 +9891,7 @@ msgstr "" msgid "Build for this stock item" msgstr "" -#: stock/models.py:892 stock/templates/stock/item_base.html:363 +#: stock/models.py:892 stock/templates/stock/item_base.html:359 msgid "Consumed By" msgstr "" @@ -9891,7 +9956,7 @@ msgstr "" msgid "Serial numbers already exist" msgstr "" -#: stock/models.py:1636 +#: stock/models.py:1636 stock/models.py:2436 msgid "Test template does not exist" msgstr "" @@ -9939,67 +10004,67 @@ msgstr "" msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2337 +#: stock/models.py:2335 msgid "Stock Item Tracking" msgstr "" -#: stock/models.py:2370 +#: stock/models.py:2368 msgid "Entry notes" msgstr "" -#: stock/models.py:2410 +#: stock/models.py:2408 msgid "Stock Item Test Result" msgstr "" -#: stock/models.py:2443 +#: stock/models.py:2439 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2448 +#: stock/models.py:2443 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2453 +#: stock/models.py:2448 msgid "Invalid value for this test" msgstr "" -#: stock/models.py:2538 +#: stock/models.py:2533 msgid "Test result" msgstr "" -#: stock/models.py:2545 +#: stock/models.py:2540 msgid "Test output value" msgstr "" -#: stock/models.py:2553 stock/serializers.py:245 +#: stock/models.py:2548 stock/serializers.py:245 msgid "Test result attachment" msgstr "" -#: stock/models.py:2557 +#: stock/models.py:2552 msgid "Test notes" msgstr "" -#: stock/models.py:2565 templates/js/translated/stock.js:1633 +#: stock/models.py:2560 templates/js/translated/stock.js:1633 msgid "Test station" msgstr "" -#: stock/models.py:2566 +#: stock/models.py:2561 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2572 +#: stock/models.py:2567 msgid "Started" msgstr "" -#: stock/models.py:2573 +#: stock/models.py:2568 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2579 +#: stock/models.py:2574 msgid "Finished" msgstr "" -#: stock/models.py:2580 +#: stock/models.py:2575 msgid "The timestamp of the test finish" msgstr "" @@ -10059,7 +10124,7 @@ msgstr "" msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:459 stock/templates/stock/item_base.html:193 +#: stock/serializers.py:459 stock/templates/stock/item_base.html:189 msgid "Parent Item" msgstr "" @@ -10071,7 +10136,7 @@ msgstr "" msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:603 stock/templates/stock/item_base.html:437 +#: stock/serializers.py:603 stock/templates/stock/item_base.html:433 #: templates/js/translated/table_filters.js:442 users/models.py:174 msgid "Expired" msgstr "" @@ -10410,7 +10475,7 @@ msgstr "" msgid "Test Data" msgstr "" -#: stock/templates/stock/item.html:85 stock/templates/stock/item_base.html:65 +#: stock/templates/stock/item.html:85 msgid "Test Report" msgstr "" @@ -10450,200 +10515,204 @@ msgstr "" msgid "Scan to Location" msgstr "" -#: stock/templates/stock/item_base.html:59 +#: stock/templates/stock/item_base.html:58 #: stock/templates/stock/location.html:67 #: templates/js/translated/filters.js:434 msgid "Printing actions" msgstr "" -#: stock/templates/stock/item_base.html:75 +#: stock/templates/stock/item_base.html:63 templates/js/translated/report.js:49 +msgid "Print Report" +msgstr "" + +#: stock/templates/stock/item_base.html:71 msgid "Stock adjustment actions" msgstr "" -#: stock/templates/stock/item_base.html:79 +#: stock/templates/stock/item_base.html:75 #: stock/templates/stock/location.html:87 templates/js/translated/stock.js:1909 msgid "Count stock" msgstr "" -#: stock/templates/stock/item_base.html:81 +#: stock/templates/stock/item_base.html:77 #: templates/js/translated/stock.js:1891 msgid "Add stock" msgstr "" -#: stock/templates/stock/item_base.html:82 +#: stock/templates/stock/item_base.html:78 #: templates/js/translated/stock.js:1900 msgid "Remove stock" msgstr "" -#: stock/templates/stock/item_base.html:85 +#: stock/templates/stock/item_base.html:81 msgid "Serialize stock" msgstr "" -#: stock/templates/stock/item_base.html:88 +#: stock/templates/stock/item_base.html:84 #: stock/templates/stock/location.html:93 templates/js/translated/stock.js:1918 msgid "Transfer stock" msgstr "" -#: stock/templates/stock/item_base.html:91 +#: stock/templates/stock/item_base.html:87 #: templates/js/translated/stock.js:1973 msgid "Assign to customer" msgstr "" -#: stock/templates/stock/item_base.html:94 +#: stock/templates/stock/item_base.html:90 msgid "Return to stock" msgstr "" -#: stock/templates/stock/item_base.html:97 +#: stock/templates/stock/item_base.html:93 msgid "Uninstall stock item" msgstr "" -#: stock/templates/stock/item_base.html:97 +#: stock/templates/stock/item_base.html:93 msgid "Uninstall" msgstr "" -#: stock/templates/stock/item_base.html:101 +#: stock/templates/stock/item_base.html:97 msgid "Install stock item" msgstr "" -#: stock/templates/stock/item_base.html:101 +#: stock/templates/stock/item_base.html:97 msgid "Install" msgstr "" -#: stock/templates/stock/item_base.html:115 +#: stock/templates/stock/item_base.html:111 msgid "Convert to variant" msgstr "" -#: stock/templates/stock/item_base.html:118 +#: stock/templates/stock/item_base.html:114 msgid "Duplicate stock item" msgstr "" -#: stock/templates/stock/item_base.html:120 +#: stock/templates/stock/item_base.html:116 msgid "Edit stock item" msgstr "" -#: stock/templates/stock/item_base.html:123 +#: stock/templates/stock/item_base.html:119 msgid "Delete stock item" msgstr "" -#: stock/templates/stock/item_base.html:169 templates/InvenTree/search.html:139 +#: stock/templates/stock/item_base.html:165 templates/InvenTree/search.html:139 #: templates/js/translated/build.js:2298 templates/navbar.html:38 msgid "Build" msgstr "" -#: stock/templates/stock/item_base.html:211 +#: stock/templates/stock/item_base.html:207 msgid "No manufacturer set" msgstr "" -#: stock/templates/stock/item_base.html:251 +#: stock/templates/stock/item_base.html:247 msgid "You are not in the list of owners of this item. This stock item cannot be edited." msgstr "" -#: stock/templates/stock/item_base.html:252 +#: stock/templates/stock/item_base.html:248 #: stock/templates/stock/location.html:146 msgid "Read only" msgstr "" -#: stock/templates/stock/item_base.html:265 +#: stock/templates/stock/item_base.html:261 msgid "This stock item is unavailable" msgstr "" -#: stock/templates/stock/item_base.html:271 +#: stock/templates/stock/item_base.html:267 msgid "This stock item is in production and cannot be edited." msgstr "" -#: stock/templates/stock/item_base.html:272 +#: stock/templates/stock/item_base.html:268 msgid "Edit the stock item from the build view." msgstr "" -#: stock/templates/stock/item_base.html:287 +#: stock/templates/stock/item_base.html:283 msgid "This stock item is allocated to Sales Order" msgstr "" -#: stock/templates/stock/item_base.html:295 +#: stock/templates/stock/item_base.html:291 msgid "This stock item is allocated to Build Order" msgstr "" -#: stock/templates/stock/item_base.html:311 +#: stock/templates/stock/item_base.html:307 msgid "This stock item is serialized. It has a unique serial number and the quantity cannot be adjusted" msgstr "" -#: stock/templates/stock/item_base.html:317 +#: stock/templates/stock/item_base.html:313 msgid "previous page" msgstr "" -#: stock/templates/stock/item_base.html:317 +#: stock/templates/stock/item_base.html:313 msgid "Navigate to previous serial number" msgstr "" -#: stock/templates/stock/item_base.html:326 +#: stock/templates/stock/item_base.html:322 msgid "next page" msgstr "" -#: stock/templates/stock/item_base.html:326 +#: stock/templates/stock/item_base.html:322 msgid "Navigate to next serial number" msgstr "" -#: stock/templates/stock/item_base.html:398 +#: stock/templates/stock/item_base.html:394 #: templates/js/translated/build.js:2555 msgid "No location set" msgstr "" -#: stock/templates/stock/item_base.html:413 +#: stock/templates/stock/item_base.html:409 msgid "Tests" msgstr "" -#: stock/templates/stock/item_base.html:419 +#: stock/templates/stock/item_base.html:415 msgid "This stock item has not passed all required tests" msgstr "" -#: stock/templates/stock/item_base.html:437 +#: stock/templates/stock/item_base.html:433 #, python-format msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:439 +#: stock/templates/stock/item_base.html:435 #, python-format msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:455 +#: stock/templates/stock/item_base.html:451 msgid "No stocktake performed" msgstr "" -#: stock/templates/stock/item_base.html:504 +#: stock/templates/stock/item_base.html:500 #: templates/js/translated/stock.js:2038 msgid "stock item" msgstr "" -#: stock/templates/stock/item_base.html:527 +#: stock/templates/stock/item_base.html:523 msgid "Edit Stock Status" msgstr "" -#: stock/templates/stock/item_base.html:536 +#: stock/templates/stock/item_base.html:532 msgid "Stock Item QR Code" msgstr "" -#: stock/templates/stock/item_base.html:547 +#: stock/templates/stock/item_base.html:543 msgid "Link Barcode to Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:611 +#: stock/templates/stock/item_base.html:607 msgid "Select one of the part variants listed below." msgstr "" -#: stock/templates/stock/item_base.html:614 +#: stock/templates/stock/item_base.html:610 msgid "Warning" msgstr "" -#: stock/templates/stock/item_base.html:615 +#: stock/templates/stock/item_base.html:611 msgid "This action cannot be easily undone" msgstr "" -#: stock/templates/stock/item_base.html:623 +#: stock/templates/stock/item_base.html:619 msgid "Convert Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:656 +#: stock/templates/stock/item_base.html:652 msgid "Return to Stock" msgstr "" @@ -11310,7 +11379,7 @@ msgid "Delete Location Type" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:503 -#: templates/InvenTree/settings/stock.html:38 +#: templates/InvenTree/settings/stock.html:39 msgid "New Location Type" msgstr "" @@ -11367,7 +11436,7 @@ msgstr "" msgid "Stock Settings" msgstr "" -#: templates/InvenTree/settings/stock.html:34 +#: templates/InvenTree/settings/stock.html:35 msgid "Stock Location Types" msgstr "" @@ -11852,23 +11921,23 @@ msgstr "" msgid "Barcode Identifier" msgstr "" -#: templates/base.html:103 +#: templates/base.html:102 msgid "Server Restart Required" msgstr "" -#: templates/base.html:106 +#: templates/base.html:105 msgid "A configuration option has been changed which requires a server restart" msgstr "" -#: templates/base.html:106 templates/base.html:116 +#: templates/base.html:105 templates/base.html:115 msgid "Contact your system administrator for further information" msgstr "" -#: templates/base.html:113 +#: templates/base.html:112 msgid "Pending Database Migrations" msgstr "" -#: templates/base.html:116 +#: templates/base.html:115 msgid "There are pending database migrations which require attention" msgstr "" @@ -13946,10 +14015,6 @@ msgstr "" msgid "Delete line item" msgstr "" -#: templates/js/translated/report.js:49 -msgid "Print Report" -msgstr "" - #: templates/js/translated/report.js:68 msgid "Report print successful" msgstr "" diff --git a/src/backend/InvenTree/locale/ro/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/ro/LC_MESSAGES/django.po index a7efed80aa00..c38b3c64c588 100644 --- a/src/backend/InvenTree/locale/ro/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/ro/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-08-29 07:07+0000\n" -"PO-Revision-Date: 2024-08-29 07:10\n" +"POT-Creation-Date: 2024-09-16 00:37+0000\n" +"PO-Revision-Date: 2024-09-16 00:40\n" "Last-Translator: \n" "Language-Team: Romanian\n" "Language: ro_RO\n" @@ -65,9 +65,9 @@ msgstr "" #: 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:59 -#: part/models.py:3309 part/templates/part/part_sidebar.html:65 +#: part/models.py:3296 part/templates/part/part_sidebar.html:65 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/admin.py:231 stock/models.py:2369 stock/models.py:2557 +#: stock/admin.py:231 stock/models.py:2367 stock/models.py:2552 #: stock/serializers.py:705 stock/serializers.py:863 stock/serializers.py:989 #: stock/serializers.py:1039 stock/serializers.py:1350 #: stock/serializers.py:1439 stock/serializers.py:1604 @@ -364,7 +364,7 @@ msgstr "" msgid "[{site_name}] Log in to the app" msgstr "" -#: InvenTree/magic_login.py:38 InvenTree/serializers.py:413 +#: InvenTree/magic_login.py:38 InvenTree/serializers.py:416 #: company/models.py:133 company/templates/company/company_base.html:138 #: templates/InvenTree/settings/user.html:49 #: templates/js/translated/company.js:677 @@ -419,9 +419,9 @@ msgstr "" msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:767 common/models.py:2704 common/models.py:3131 -#: common/models.py:3351 common/serializers.py:439 company/models.py:590 -#: machine/models.py:24 part/models.py:995 part/models.py:3776 +#: InvenTree/models.py:767 common/models.py:2705 common/models.py:3132 +#: common/models.py:3352 common/serializers.py:455 company/models.py:590 +#: machine/models.py:24 part/models.py:995 part/models.py:3763 #: plugin/models.py:51 report/models.py:149 stock/models.py:82 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -446,10 +446,10 @@ msgstr "" #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 order/models.py:289 #: order/models.py:1406 part/admin.py:305 part/admin.py:411 part/models.py:1018 -#: part/models.py:3791 part/templates/part/category.html:79 +#: part/models.py:3778 part/templates/part/category.html:79 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:155 -#: report/models.py:509 report/models.py:535 +#: report/models.py:517 report/models.py:543 #: report/templates/report/inventree_build_order_report.html:117 #: stock/admin.py:54 stock/models.py:88 stock/templates/stock/location.html:122 #: templates/InvenTree/settings/notifications.html:19 @@ -517,12 +517,12 @@ msgstr "" msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:63 part/models.py:4400 +#: InvenTree/serializers.py:63 part/models.py:4387 msgid "Must be a valid number" msgstr "" #: InvenTree/serializers.py:100 company/models.py:183 -#: company/templates/company/company_base.html:112 part/models.py:3127 +#: company/templates/company/company_base.html:112 part/models.py:3114 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -536,43 +536,43 @@ msgstr "" msgid "Username" msgstr "" -#: InvenTree/serializers.py:407 templates/InvenTree/settings/user.html:37 +#: InvenTree/serializers.py:408 templates/InvenTree/settings/user.html:37 msgid "First Name" msgstr "" -#: InvenTree/serializers.py:407 +#: InvenTree/serializers.py:408 msgid "First name of the user" msgstr "" -#: InvenTree/serializers.py:410 templates/InvenTree/settings/user.html:41 +#: InvenTree/serializers.py:412 templates/InvenTree/settings/user.html:41 msgid "Last Name" msgstr "" -#: InvenTree/serializers.py:410 +#: InvenTree/serializers.py:412 msgid "Last name of the user" msgstr "" -#: InvenTree/serializers.py:413 +#: InvenTree/serializers.py:416 msgid "Email address of the user" msgstr "" -#: InvenTree/serializers.py:438 +#: InvenTree/serializers.py:441 msgid "Staff" msgstr "" -#: InvenTree/serializers.py:438 +#: InvenTree/serializers.py:441 msgid "Does this user have staff permissions" msgstr "" -#: InvenTree/serializers.py:441 +#: InvenTree/serializers.py:445 msgid "Superuser" msgstr "" -#: InvenTree/serializers.py:441 +#: InvenTree/serializers.py:445 msgid "Is this user a superuser" msgstr "" -#: InvenTree/serializers.py:444 common/models.py:2709 company/models.py:160 +#: InvenTree/serializers.py:449 common/models.py:2710 company/models.py:160 #: company/models.py:798 machine/models.py:39 part/admin.py:88 #: part/models.py:1201 plugin/models.py:66 #: templates/js/translated/company.js:523 @@ -585,89 +585,89 @@ msgstr "" msgid "Active" msgstr "" -#: InvenTree/serializers.py:444 +#: InvenTree/serializers.py:449 msgid "Is this user account active" msgstr "" -#: InvenTree/serializers.py:462 +#: InvenTree/serializers.py:467 msgid "You do not have permission to change this user role." msgstr "" -#: InvenTree/serializers.py:474 +#: InvenTree/serializers.py:503 msgid "Only superusers can create new users" msgstr "" -#: InvenTree/serializers.py:493 +#: InvenTree/serializers.py:522 msgid "Your account has been created." msgstr "" -#: InvenTree/serializers.py:495 +#: InvenTree/serializers.py:524 msgid "Please use the password reset function to login" msgstr "" -#: InvenTree/serializers.py:502 +#: InvenTree/serializers.py:531 msgid "Welcome to InvenTree" msgstr "" -#: InvenTree/serializers.py:560 +#: InvenTree/serializers.py:589 msgid "Invalid value" msgstr "" -#: InvenTree/serializers.py:580 importer/models.py:64 +#: InvenTree/serializers.py:609 importer/models.py:64 msgid "Data File" msgstr "" -#: InvenTree/serializers.py:581 +#: InvenTree/serializers.py:610 msgid "Select data file for upload" msgstr "" -#: InvenTree/serializers.py:598 +#: InvenTree/serializers.py:627 msgid "Unsupported file type" msgstr "" -#: InvenTree/serializers.py:604 +#: InvenTree/serializers.py:633 msgid "File is too large" msgstr "" -#: InvenTree/serializers.py:625 +#: InvenTree/serializers.py:654 msgid "No columns found in file" msgstr "" -#: InvenTree/serializers.py:628 +#: InvenTree/serializers.py:657 msgid "No data rows found in file" msgstr "" -#: InvenTree/serializers.py:740 +#: InvenTree/serializers.py:769 msgid "No data rows provided" msgstr "" -#: InvenTree/serializers.py:743 +#: InvenTree/serializers.py:772 msgid "No data columns supplied" msgstr "" -#: InvenTree/serializers.py:809 +#: InvenTree/serializers.py:838 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "" -#: InvenTree/serializers.py:818 +#: InvenTree/serializers.py:847 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "" -#: InvenTree/serializers.py:857 +#: InvenTree/serializers.py:886 msgid "Remote Image" msgstr "" -#: InvenTree/serializers.py:858 +#: InvenTree/serializers.py:887 msgid "URL of remote image file" msgstr "" -#: InvenTree/serializers.py:876 +#: InvenTree/serializers.py:905 msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/status.py:65 part/serializers.py:1267 +#: InvenTree/status.py:65 part/serializers.py:1265 msgid "Background worker check failed" msgstr "" @@ -759,7 +759,7 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:319 build/serializers.py:1332 part/models.py:4278 +#: build/api.py:319 build/serializers.py:1332 part/models.py:4265 #: templates/js/translated/bom.js:997 templates/js/translated/bom.js:1037 #: templates/js/translated/build.js:2705 #: templates/js/translated/table_filters.js:197 @@ -767,7 +767,7 @@ msgstr "" msgid "Consumable" msgstr "" -#: build/api.py:320 build/serializers.py:1333 part/models.py:4272 +#: build/api.py:320 build/serializers.py:1333 part/models.py:4259 #: part/templates/part/upload_bom.html:58 templates/js/translated/bom.js:1001 #: templates/js/translated/bom.js:1028 templates/js/translated/build.js:2696 #: templates/js/translated/table_filters.js:193 @@ -777,7 +777,7 @@ msgid "Optional" msgstr "" #: build/api.py:321 common/models.py:1491 part/admin.py:91 part/admin.py:428 -#: part/models.py:1166 part/serializers.py:1596 +#: part/models.py:1166 part/serializers.py:1594 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:337 #: templates/js/translated/table_filters.js:729 @@ -816,7 +816,7 @@ msgstr "" msgid "Available" msgstr "" -#: build/models.py:87 build/templates/build/build_base.html:9 +#: build/models.py:88 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_report.html:105 #: stock/serializers.py:85 templates/email/build_order_completed.html:16 @@ -825,7 +825,7 @@ msgstr "" msgid "Build Order" msgstr "" -#: build/models.py:88 build/templates/build/build_base.html:13 +#: build/models.py:89 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:111 #: order/templates/order/so_sidebar.html:13 @@ -866,7 +866,7 @@ msgstr "" #: build/models.py:243 build/serializers.py:1331 order/models.py:468 #: order/models.py:979 order/models.py:1366 order/models.py:2128 -#: part/admin.py:414 part/models.py:4293 part/templates/part/upload_bom.html:54 +#: part/admin.py:414 part/models.py:4280 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 @@ -892,11 +892,11 @@ msgstr "" #: build/templates/build/build_base.html:105 #: build/templates/build/detail.html:29 company/models.py:1043 order/api.py:761 #: order/models.py:1496 order/models.py:1651 order/models.py:1652 -#: part/api.py:1506 part/api.py:1806 part/models.py:419 part/models.py:3138 -#: part/models.py:3282 part/models.py:3430 part/models.py:3451 -#: part/models.py:3473 part/models.py:3609 part/models.py:3951 -#: part/models.py:4114 part/models.py:4244 part/models.py:4602 -#: part/serializers.py:1213 part/serializers.py:1857 +#: part/api.py:1506 part/api.py:1806 part/models.py:419 part/models.py:3125 +#: part/models.py:3269 part/models.py:3417 part/models.py:3438 +#: part/models.py:3460 part/models.py:3596 part/models.py:3938 +#: part/models.py:4101 part/models.py:4231 part/models.py:4595 +#: part/serializers.py:1211 part/serializers.py:1855 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -1063,12 +1063,12 @@ msgstr "" #: order/templates/order/return_order_base.html:148 #: order/templates/order/sales_order_base.html:187 #: part/templates/part/part_base.html:399 stock/models.py:859 -#: stock/templates/stock/item_base.html:200 +#: stock/templates/stock/item_base.html:196 #: templates/js/translated/company.js:1019 msgid "External Link" msgstr "" -#: build/models.py:378 common/models.py:3272 part/models.py:1070 +#: build/models.py:378 common/models.py:3273 part/models.py:1070 #: stock/models.py:859 msgid "Link to external URL" msgstr "" @@ -1110,7 +1110,7 @@ msgstr "" msgid "A build order has been completed" msgstr "" -#: build/models.py:968 build/models.py:1056 +#: build/models.py:968 build/models.py:1057 msgid "No build output specified" msgstr "" @@ -1122,37 +1122,37 @@ msgstr "" msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:1060 build/serializers.py:279 build/serializers.py:328 +#: build/models.py:1061 build/serializers.py:279 build/serializers.py:328 #: build/serializers.py:959 order/models.py:565 order/serializers.py:500 -#: order/serializers.py:666 part/serializers.py:1590 part/serializers.py:2019 +#: order/serializers.py:666 part/serializers.py:1588 part/serializers.py:2017 #: stock/models.py:704 stock/models.py:1515 stock/serializers.py:676 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:1065 build/serializers.py:284 +#: build/models.py:1066 build/serializers.py:284 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1125 build/serializers.py:607 +#: build/models.py:1126 build/serializers.py:607 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "" -#: build/models.py:1466 +#: build/models.py:1477 msgid "Build Order Line Item" msgstr "" -#: build/models.py:1491 +#: build/models.py:1502 msgid "Build object" msgstr "" -#: build/models.py:1505 build/models.py:1761 build/serializers.py:266 +#: build/models.py:1516 build/models.py:1775 build/serializers.py:266 #: build/serializers.py:313 build/serializers.py:1339 #: build/templates/build/build_base.html:110 -#: build/templates/build/detail.html:34 common/models.py:2581 +#: build/templates/build/detail.html:34 common/models.py:2582 #: order/models.py:1349 order/models.py:2034 order/serializers.py:1464 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:413 -#: part/forms.py:48 part/models.py:3296 part/models.py:4266 +#: part/forms.py:48 part/models.py:3283 part/models.py:4253 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1163,9 +1163,9 @@ msgstr "" #: report/templates/report/inventree_test_report.html:90 #: report/templates/report/inventree_test_report.html:169 stock/admin.py:160 #: stock/serializers.py:128 stock/serializers.py:168 stock/serializers.py:667 -#: stock/templates/stock/item_base.html:287 -#: stock/templates/stock/item_base.html:295 -#: stock/templates/stock/item_base.html:342 +#: stock/templates/stock/item_base.html:283 +#: stock/templates/stock/item_base.html:291 +#: stock/templates/stock/item_base.html:338 #: templates/email/build_order_completed.html:18 #: templates/js/translated/barcode.js:579 templates/js/translated/bom.js:771 #: templates/js/translated/bom.js:981 templates/js/translated/build.js:525 @@ -1194,41 +1194,41 @@ msgstr "" msgid "Quantity" msgstr "" -#: build/models.py:1506 +#: build/models.py:1517 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1586 +#: build/models.py:1597 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1595 +#: build/models.py:1606 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1605 order/models.py:1985 +#: build/models.py:1616 order/models.py:1985 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1611 order/models.py:1988 +#: build/models.py:1622 order/models.py:1988 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1617 +#: build/models.py:1628 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1676 +#: build/models.py:1687 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1748 build/serializers.py:939 order/serializers.py:1301 +#: build/models.py:1762 build/serializers.py:939 order/serializers.py:1301 #: order/serializers.py:1322 stock/models.py:381 stock/serializers.py:94 #: stock/serializers.py:770 stock/serializers.py:1288 stock/serializers.py:1400 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 -#: stock/templates/stock/item_base.html:194 +#: stock/templates/stock/item_base.html:190 #: templates/js/translated/build.js:1921 #: templates/js/translated/sales_order.js:301 #: templates/js/translated/sales_order.js:1234 @@ -1241,19 +1241,19 @@ msgstr "" msgid "Stock Item" msgstr "" -#: build/models.py:1749 +#: build/models.py:1763 msgid "Source stock item" msgstr "" -#: build/models.py:1762 +#: build/models.py:1776 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1770 +#: build/models.py:1784 msgid "Install into" msgstr "" -#: build/models.py:1771 +#: build/models.py:1785 msgid "Destination stock item" msgstr "" @@ -1262,7 +1262,7 @@ msgid "Build Level" msgstr "" #: build/serializers.py:115 build/serializers.py:1234 build/serializers.py:1323 -#: part/admin.py:41 part/admin.py:408 part/models.py:4116 part/stocktake.py:219 +#: part/admin.py:41 part/admin.py:408 part/models.py:4103 part/stocktake.py:219 #: stock/admin.py:157 msgid "Part Name" msgstr "" @@ -1323,10 +1323,10 @@ msgid "Enter serial numbers for build outputs" msgstr "" #: build/serializers.py:359 build/serializers.py:500 build/serializers.py:572 -#: order/serializers.py:655 order/serializers.py:778 order/serializers.py:1789 -#: part/serializers.py:1233 stock/serializers.py:103 stock/serializers.py:698 +#: order/serializers.py:655 order/serializers.py:778 order/serializers.py:1797 +#: part/serializers.py:1231 stock/serializers.py:103 stock/serializers.py:698 #: stock/serializers.py:858 stock/serializers.py:984 stock/serializers.py:1432 -#: stock/serializers.py:1688 stock/templates/stock/item_base.html:394 +#: stock/serializers.py:1688 stock/templates/stock/item_base.html:390 #: templates/js/translated/barcode.js:578 #: templates/js/translated/barcode.js:826 templates/js/translated/build.js:1035 #: templates/js/translated/build.js:1177 templates/js/translated/build.js:2547 @@ -1390,7 +1390,7 @@ msgstr "" #: build/templates/build/detail.html:62 order/models.py:477 #: order/models.py:1003 order/models.py:2152 order/serializers.py:687 #: stock/admin.py:165 stock/serializers.py:1035 stock/serializers.py:1576 -#: stock/templates/stock/item_base.html:427 +#: stock/templates/stock/item_base.html:423 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2366 #: templates/js/translated/purchase_order.js:1371 #: templates/js/translated/purchase_order.js:1792 @@ -1522,7 +1522,7 @@ msgstr "" msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:1030 order/serializers.py:1614 +#: build/serializers.py:1030 order/serializers.py:1622 msgid "Allocation items must be provided" msgstr "" @@ -1590,7 +1590,7 @@ msgstr "" #: build/serializers.py:1230 company/models.py:849 #: company/templates/company/supplier_part.html:160 order/serializers.py:691 #: stock/admin.py:229 stock/models.py:822 stock/serializers.py:1586 -#: stock/templates/stock/item_base.html:240 +#: stock/templates/stock/item_base.html:236 #: templates/js/translated/company.js:1646 #: templates/js/translated/purchase_order.js:1169 #: templates/js/translated/purchase_order.js:1332 @@ -1600,12 +1600,12 @@ msgid "Packaging" msgstr "" #: build/serializers.py:1233 part/admin.py:39 part/admin.py:398 -#: part/models.py:4115 part/stocktake.py:218 stock/admin.py:153 +#: part/models.py:4102 part/stocktake.py:218 stock/admin.py:153 msgid "Part ID" msgstr "" #: build/serializers.py:1235 build/serializers.py:1324 part/admin.py:402 -#: part/models.py:4117 +#: part/models.py:4104 msgid "Part IPN" msgstr "" @@ -1625,7 +1625,7 @@ msgstr "" #: build/serializers.py:1243 #: report/templates/report/inventree_return_order_report.html:25 #: report/templates/report/inventree_test_report.html:88 stock/models.py:849 -#: stock/serializers.py:152 stock/templates/stock/item_base.html:311 +#: stock/serializers.py:152 stock/templates/stock/item_base.html:307 #: templates/js/translated/build.js:523 templates/js/translated/build.js:1543 #: templates/js/translated/build.js:2530 #: templates/js/translated/model_renderers.js:231 @@ -1644,7 +1644,7 @@ msgstr "" msgid "Allocated Quantity" msgstr "" -#: build/serializers.py:1257 stock/templates/stock/item_base.html:340 +#: build/serializers.py:1257 stock/templates/stock/item_base.html:336 msgid "Available Quantity" msgstr "" @@ -1667,13 +1667,13 @@ msgstr "" msgid "Inherited" msgstr "" -#: build/serializers.py:1337 part/models.py:4326 +#: build/serializers.py:1337 part/models.py:4313 #: part/templates/part/upload_bom.html:56 templates/js/translated/bom.js:1046 #: templates/js/translated/build.js:2714 msgid "Allow Variants" msgstr "" -#: build/serializers.py:1341 part/models.py:4124 part/models.py:4594 +#: build/serializers.py:1341 part/models.py:4111 part/models.py:4587 #: stock/api.py:793 msgid "BOM Item" msgstr "" @@ -1684,7 +1684,7 @@ msgid "Allocated Stock" msgstr "" #: build/serializers.py:1355 order/serializers.py:1179 part/admin.py:132 -#: part/bom.py:186 part/serializers.py:920 part/serializers.py:1623 +#: part/bom.py:186 part/serializers.py:918 part/serializers.py:1621 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 #: templates/js/translated/build.js:2807 templates/js/translated/part.js:712 #: templates/js/translated/part.js:2155 @@ -1692,13 +1692,13 @@ msgstr "" msgid "On Order" msgstr "" -#: build/serializers.py:1360 order/serializers.py:1180 part/serializers.py:1625 +#: build/serializers.py:1360 order/serializers.py:1180 part/serializers.py:1623 #: templates/js/translated/build.js:2811 #: templates/js/translated/table_filters.js:367 msgid "In Production" msgstr "" -#: build/serializers.py:1365 part/bom.py:185 part/serializers.py:1650 +#: build/serializers.py:1365 part/bom.py:185 part/serializers.py:1648 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" @@ -1716,7 +1716,7 @@ msgstr "" msgid "Total Available Stock" msgstr "" -#: build/serializers.py:1372 part/serializers.py:927 +#: build/serializers.py:1372 part/serializers.py:925 msgid "External Stock" msgstr "" @@ -1745,7 +1745,7 @@ msgstr "" #: importer/status_codes.py:27 order/status_codes.py:15 #: order/status_codes.py:50 order/status_codes.py:81 #: order/templates/order/order_base.html:163 -#: order/templates/order/sales_order_base.html:168 report/models.py:443 +#: order/templates/order/sales_order_base.html:168 report/models.py:451 msgid "Complete" msgstr "" @@ -1849,9 +1849,6 @@ msgid "Delete Build" msgstr "" #: build/templates/build/build_base.html:87 -msgid "Isueue Build" -msgstr "" - #: build/templates/build/build_base.html:88 msgid "Issue Build" msgstr "" @@ -1931,7 +1928,7 @@ msgstr "" #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_report.html:135 #: report/templates/report/inventree_sales_order_report.html:14 -#: stock/templates/stock/item_base.html:369 +#: stock/templates/stock/item_base.html:365 #: templates/email/overdue_sales_order.html:15 #: templates/js/translated/pricing.js:929 #: templates/js/translated/sales_order.js:805 @@ -1991,7 +1988,7 @@ msgid "Allocated Parts" msgstr "" #: build/templates/build/detail.html:80 stock/admin.py:163 -#: stock/templates/stock/item_base.html:162 +#: stock/templates/stock/item_base.html:158 #: templates/js/translated/build.js:1556 #: templates/js/translated/model_renderers.js:242 #: templates/js/translated/purchase_order.js:1326 @@ -2148,19 +2145,19 @@ msgstr "" msgid "Test Statistics" msgstr "" -#: common/api.py:692 +#: common/api.py:725 msgid "Is Link" msgstr "" -#: common/api.py:700 +#: common/api.py:733 msgid "Is File" msgstr "" -#: common/api.py:743 +#: common/api.py:776 msgid "User does not have permission to delete these attachments" msgstr "" -#: common/api.py:760 +#: common/api.py:793 msgid "User does not have permission to delete this attachment" msgstr "" @@ -2352,8 +2349,8 @@ msgstr "" #: common/models.py:1297 common/models.py:1353 common/models.py:1366 #: common/models.py:1374 common/models.py:1383 common/models.py:1392 -#: common/models.py:1629 common/models.py:1651 common/models.py:1766 -#: common/models.py:2148 +#: common/models.py:1629 common/models.py:1651 common/models.py:1752 +#: common/models.py:2141 msgid "days" msgstr "" @@ -2581,9 +2578,9 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1485 part/admin.py:108 part/models.py:3959 -#: report/models.py:293 report/models.py:360 report/serializers.py:90 -#: report/serializers.py:131 stock/serializers.py:233 +#: common/models.py:1485 part/admin.py:108 part/models.py:3946 +#: report/models.py:301 report/models.py:368 report/serializers.py:91 +#: report/serializers.py:132 stock/serializers.py:233 #: templates/js/translated/table_filters.js:138 #: templates/js/translated/table_filters.js:775 msgid "Template" @@ -2598,7 +2595,7 @@ msgid "Parts can be assembled from other components by default" msgstr "" #: common/models.py:1497 part/admin.py:95 part/models.py:1172 -#: part/serializers.py:1617 templates/js/translated/table_filters.js:737 +#: part/serializers.py:1615 templates/js/translated/table_filters.js:737 msgid "Component" msgstr "" @@ -2823,7 +2820,7 @@ msgid "Log errors which occur when generating reports" msgstr "" #: common/models.py:1702 plugin/builtin/labels/label_sheet.py:28 -#: report/models.py:301 +#: report/models.py:309 msgid "Page Size" msgstr "" @@ -2832,914 +2829,914 @@ msgid "Default page size for PDF reports" msgstr "" #: common/models.py:1708 -msgid "Enable Test Reports" -msgstr "" - -#: common/models.py:1709 -msgid "Enable generation of test reports" -msgstr "" - -#: common/models.py:1714 -msgid "Attach Test Reports" -msgstr "" - -#: common/models.py:1716 -msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" -msgstr "" - -#: common/models.py:1722 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1723 +#: common/models.py:1709 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1728 +#: common/models.py:1714 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1729 +#: common/models.py:1715 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1734 +#: common/models.py:1720 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1736 +#: common/models.py:1722 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/models.py:1742 +#: common/models.py:1728 msgid "Batch Code Template" msgstr "" -#: common/models.py:1744 +#: common/models.py:1730 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1749 +#: common/models.py:1735 msgid "Stock Expiry" msgstr "" -#: common/models.py:1750 +#: common/models.py:1736 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1755 +#: common/models.py:1741 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1756 +#: common/models.py:1742 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1761 +#: common/models.py:1747 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1763 +#: common/models.py:1749 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1770 +#: common/models.py:1756 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1771 +#: common/models.py:1757 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1776 +#: common/models.py:1762 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1777 +#: common/models.py:1763 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1782 +#: common/models.py:1768 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1783 +#: common/models.py:1769 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1788 +#: common/models.py:1774 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1789 +#: common/models.py:1775 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1794 +#: common/models.py:1780 msgid "Check BOM when installing items" msgstr "" -#: common/models.py:1796 +#: common/models.py:1782 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/models.py:1802 +#: common/models.py:1788 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/models.py:1804 +#: common/models.py:1790 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/models.py:1810 +#: common/models.py:1796 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1812 +#: common/models.py:1798 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1818 common/models.py:1874 common/models.py:1896 -#: common/models.py:1932 +#: common/models.py:1804 common/models.py:1860 common/models.py:1882 +#: common/models.py:1918 msgid "Require Responsible Owner" msgstr "" -#: common/models.py:1819 common/models.py:1875 common/models.py:1897 -#: common/models.py:1933 +#: common/models.py:1805 common/models.py:1861 common/models.py:1883 +#: common/models.py:1919 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/models.py:1824 +#: common/models.py:1810 msgid "Require Active Part" msgstr "" -#: common/models.py:1825 +#: common/models.py:1811 msgid "Prevent build order creation for inactive parts" msgstr "" -#: common/models.py:1830 +#: common/models.py:1816 msgid "Require Locked Part" msgstr "" -#: common/models.py:1831 +#: common/models.py:1817 msgid "Prevent build order creation for unlocked parts" msgstr "" -#: common/models.py:1836 +#: common/models.py:1822 msgid "Require Valid BOM" msgstr "" -#: common/models.py:1838 +#: common/models.py:1824 msgid "Prevent build order creation unless BOM has been validated" msgstr "" -#: common/models.py:1844 +#: common/models.py:1830 msgid "Require Closed Child Orders" msgstr "" -#: common/models.py:1846 +#: common/models.py:1832 msgid "Prevent build order completion until all child orders are closed" msgstr "" -#: common/models.py:1852 +#: common/models.py:1838 msgid "Block Until Tests Pass" msgstr "" -#: common/models.py:1854 +#: common/models.py:1840 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "" -#: common/models.py:1860 +#: common/models.py:1846 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1861 +#: common/models.py:1847 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1866 +#: common/models.py:1852 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1868 +#: common/models.py:1854 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1880 +#: common/models.py:1866 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1882 +#: common/models.py:1868 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1888 +#: common/models.py:1874 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1890 +#: common/models.py:1876 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1902 +#: common/models.py:1888 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1903 +#: common/models.py:1889 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1908 +#: common/models.py:1894 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1910 +#: common/models.py:1896 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1916 +#: common/models.py:1902 msgid "Mark Shipped Orders as Complete" msgstr "" -#: common/models.py:1918 +#: common/models.py:1904 msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status" msgstr "" -#: common/models.py:1924 +#: common/models.py:1910 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1926 +#: common/models.py:1912 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1938 +#: common/models.py:1924 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1940 +#: common/models.py:1926 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1946 +#: common/models.py:1932 msgid "Auto Complete Purchase Orders" msgstr "" -#: common/models.py:1948 +#: common/models.py:1934 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/models.py:1955 +#: common/models.py:1941 msgid "Enable password forgot" msgstr "" -#: common/models.py:1956 +#: common/models.py:1942 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1961 +#: common/models.py:1947 msgid "Enable registration" msgstr "" -#: common/models.py:1962 +#: common/models.py:1948 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1967 +#: common/models.py:1953 msgid "Enable SSO" msgstr "" -#: common/models.py:1968 +#: common/models.py:1954 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1973 +#: common/models.py:1959 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1975 +#: common/models.py:1961 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1981 +#: common/models.py:1967 msgid "Enable SSO group sync" msgstr "" -#: common/models.py:1983 +#: common/models.py:1969 msgid "Enable synchronizing InvenTree groups with groups provided by the IdP" msgstr "" -#: common/models.py:1989 +#: common/models.py:1975 msgid "SSO group key" msgstr "" -#: common/models.py:1991 +#: common/models.py:1977 msgid "The name of the groups claim attribute provided by the IdP" msgstr "" -#: common/models.py:1997 +#: common/models.py:1983 msgid "SSO group map" msgstr "" -#: common/models.py:1999 +#: common/models.py:1985 msgid "A mapping from SSO groups to local InvenTree groups. If the local group does not exist, it will be created." msgstr "" -#: common/models.py:2005 +#: common/models.py:1991 msgid "Remove groups outside of SSO" msgstr "" -#: common/models.py:2007 +#: common/models.py:1993 msgid "Whether groups assigned to the user should be removed if they are not backend by the IdP. Disabling this setting might cause security issues" msgstr "" -#: common/models.py:2013 +#: common/models.py:1999 msgid "Email required" msgstr "" -#: common/models.py:2014 +#: common/models.py:2000 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:2019 +#: common/models.py:2005 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:2021 +#: common/models.py:2007 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:2027 +#: common/models.py:2013 msgid "Mail twice" msgstr "" -#: common/models.py:2028 +#: common/models.py:2014 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:2033 +#: common/models.py:2019 msgid "Password twice" msgstr "" -#: common/models.py:2034 +#: common/models.py:2020 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:2039 +#: common/models.py:2025 msgid "Allowed domains" msgstr "" -#: common/models.py:2041 +#: common/models.py:2027 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:2047 +#: common/models.py:2033 msgid "Group on signup" msgstr "" -#: common/models.py:2049 +#: common/models.py:2035 msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP." msgstr "" -#: common/models.py:2055 +#: common/models.py:2041 msgid "Enforce MFA" msgstr "" -#: common/models.py:2056 +#: common/models.py:2042 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:2061 +#: common/models.py:2047 msgid "Check plugins on startup" msgstr "" -#: common/models.py:2063 +#: common/models.py:2049 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:2071 +#: common/models.py:2057 msgid "Check for plugin updates" msgstr "" -#: common/models.py:2072 +#: common/models.py:2058 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:2078 +#: common/models.py:2064 msgid "Enable URL integration" msgstr "" -#: common/models.py:2079 +#: common/models.py:2065 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:2085 +#: common/models.py:2071 msgid "Enable navigation integration" msgstr "" -#: common/models.py:2086 +#: common/models.py:2072 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:2092 +#: common/models.py:2078 msgid "Enable app integration" msgstr "" -#: common/models.py:2093 +#: common/models.py:2079 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:2099 +#: common/models.py:2085 msgid "Enable schedule integration" msgstr "" -#: common/models.py:2100 +#: common/models.py:2086 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:2106 +#: common/models.py:2092 msgid "Enable event integration" msgstr "" -#: common/models.py:2107 +#: common/models.py:2093 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:2113 +#: common/models.py:2099 +msgid "Enable interface integration" +msgstr "" + +#: common/models.py:2100 +msgid "Enable plugins to integrate into the user interface" +msgstr "" + +#: common/models.py:2106 msgid "Enable project codes" msgstr "" -#: common/models.py:2114 +#: common/models.py:2107 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:2119 +#: common/models.py:2112 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:2121 +#: common/models.py:2114 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:2127 +#: common/models.py:2120 msgid "Exclude External Locations" msgstr "" -#: common/models.py:2129 +#: common/models.py:2122 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/models.py:2135 +#: common/models.py:2128 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:2137 +#: common/models.py:2130 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:2143 +#: common/models.py:2136 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:2145 +#: common/models.py:2138 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:2152 +#: common/models.py:2145 msgid "Display Users full names" msgstr "" -#: common/models.py:2153 +#: common/models.py:2146 msgid "Display Users full names instead of usernames" msgstr "" -#: common/models.py:2158 +#: common/models.py:2151 msgid "Enable Test Station Data" msgstr "" -#: common/models.py:2159 +#: common/models.py:2152 msgid "Enable test station data collection for test results" msgstr "" -#: common/models.py:2171 common/models.py:2551 +#: common/models.py:2157 +msgid "Create Template on Upload" +msgstr "" + +#: common/models.py:2159 +msgid "Create a new test template when uploading test data which does not match an existing template" +msgstr "" + +#: common/models.py:2172 common/models.py:2552 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:2214 +#: common/models.py:2215 msgid "Hide inactive parts" msgstr "" -#: common/models.py:2216 +#: common/models.py:2217 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:2222 +#: common/models.py:2223 msgid "Show subscribed parts" msgstr "" -#: common/models.py:2223 +#: common/models.py:2224 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:2228 +#: common/models.py:2229 msgid "Show subscribed categories" msgstr "" -#: common/models.py:2229 +#: common/models.py:2230 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:2234 +#: common/models.py:2235 msgid "Show latest parts" msgstr "" -#: common/models.py:2235 +#: common/models.py:2236 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:2240 +#: common/models.py:2241 msgid "Show invalid BOMs" msgstr "" -#: common/models.py:2241 +#: common/models.py:2242 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:2246 +#: common/models.py:2247 msgid "Show recent stock changes" msgstr "" -#: common/models.py:2247 +#: common/models.py:2248 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:2252 +#: common/models.py:2253 msgid "Show low stock" msgstr "" -#: common/models.py:2253 +#: common/models.py:2254 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:2258 +#: common/models.py:2259 msgid "Show depleted stock" msgstr "" -#: common/models.py:2259 +#: common/models.py:2260 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:2264 +#: common/models.py:2265 msgid "Show needed stock" msgstr "" -#: common/models.py:2265 +#: common/models.py:2266 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:2270 +#: common/models.py:2271 msgid "Show expired stock" msgstr "" -#: common/models.py:2271 +#: common/models.py:2272 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:2276 +#: common/models.py:2277 msgid "Show stale stock" msgstr "" -#: common/models.py:2277 +#: common/models.py:2278 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:2282 +#: common/models.py:2283 msgid "Show pending builds" msgstr "" -#: common/models.py:2283 +#: common/models.py:2284 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:2288 +#: common/models.py:2289 msgid "Show overdue builds" msgstr "" -#: common/models.py:2289 +#: common/models.py:2290 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:2294 +#: common/models.py:2295 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2295 +#: common/models.py:2296 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2300 +#: common/models.py:2301 msgid "Show overdue POs" msgstr "" -#: common/models.py:2301 +#: common/models.py:2302 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2306 +#: common/models.py:2307 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2307 +#: common/models.py:2308 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2312 +#: common/models.py:2313 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2313 +#: common/models.py:2314 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2318 +#: common/models.py:2319 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2319 +#: common/models.py:2320 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2324 +#: common/models.py:2325 msgid "Show News" msgstr "" -#: common/models.py:2325 +#: common/models.py:2326 msgid "Show news on the homepage" msgstr "" -#: common/models.py:2330 +#: common/models.py:2331 msgid "Inline label display" msgstr "" -#: common/models.py:2332 +#: common/models.py:2333 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2338 +#: common/models.py:2339 msgid "Default label printer" msgstr "" -#: common/models.py:2340 +#: common/models.py:2341 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2346 +#: common/models.py:2347 msgid "Inline report display" msgstr "" -#: common/models.py:2348 +#: common/models.py:2349 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2354 +#: common/models.py:2355 msgid "Search Parts" msgstr "" -#: common/models.py:2355 +#: common/models.py:2356 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2360 +#: common/models.py:2361 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2361 +#: common/models.py:2362 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2366 +#: common/models.py:2367 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2367 +#: common/models.py:2368 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2372 +#: common/models.py:2373 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2373 +#: common/models.py:2374 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2378 +#: common/models.py:2379 msgid "Search Categories" msgstr "" -#: common/models.py:2379 +#: common/models.py:2380 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2384 +#: common/models.py:2385 msgid "Search Stock" msgstr "" -#: common/models.py:2385 +#: common/models.py:2386 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2390 +#: common/models.py:2391 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2392 +#: common/models.py:2393 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2398 +#: common/models.py:2399 msgid "Search Locations" msgstr "" -#: common/models.py:2399 +#: common/models.py:2400 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2404 +#: common/models.py:2405 msgid "Search Companies" msgstr "" -#: common/models.py:2405 +#: common/models.py:2406 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2410 +#: common/models.py:2411 msgid "Search Build Orders" msgstr "" -#: common/models.py:2411 +#: common/models.py:2412 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2416 +#: common/models.py:2417 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2417 +#: common/models.py:2418 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2422 +#: common/models.py:2423 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2424 +#: common/models.py:2425 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2430 +#: common/models.py:2431 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2431 +#: common/models.py:2432 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2436 +#: common/models.py:2437 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2438 +#: common/models.py:2439 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2444 +#: common/models.py:2445 msgid "Search Return Orders" msgstr "" -#: common/models.py:2445 +#: common/models.py:2446 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2450 +#: common/models.py:2451 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2452 +#: common/models.py:2453 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2458 +#: common/models.py:2459 msgid "Search Preview Results" msgstr "" -#: common/models.py:2460 +#: common/models.py:2461 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2466 +#: common/models.py:2467 msgid "Regex Search" msgstr "" -#: common/models.py:2467 +#: common/models.py:2468 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2472 +#: common/models.py:2473 msgid "Whole Word Search" msgstr "" -#: common/models.py:2473 +#: common/models.py:2474 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2478 +#: common/models.py:2479 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2479 +#: common/models.py:2480 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2484 +#: common/models.py:2485 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2485 +#: common/models.py:2486 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2490 +#: common/models.py:2491 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2491 +#: common/models.py:2492 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2496 +#: common/models.py:2497 msgid "Date Format" msgstr "" -#: common/models.py:2497 +#: common/models.py:2498 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2510 part/templates/part/detail.html:41 +#: common/models.py:2511 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2511 +#: common/models.py:2512 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2516 part/templates/part/detail.html:62 +#: common/models.py:2517 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2518 +#: common/models.py:2519 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2524 +#: common/models.py:2525 msgid "Table String Length" msgstr "" -#: common/models.py:2526 +#: common/models.py:2527 msgid "Maximum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2532 +#: common/models.py:2533 msgid "Receive error reports" msgstr "" -#: common/models.py:2533 +#: common/models.py:2534 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2538 +#: common/models.py:2539 msgid "Last used printing machines" msgstr "" -#: common/models.py:2539 +#: common/models.py:2540 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2559 common/models.py:2560 common/models.py:2717 -#: common/models.py:2718 common/models.py:2963 common/models.py:2964 -#: common/models.py:3287 common/models.py:3288 importer/models.py:89 -#: part/models.py:3319 part/models.py:3406 part/models.py:3480 -#: part/models.py:3508 plugin/models.py:274 plugin/models.py:275 +#: common/models.py:2560 common/models.py:2561 common/models.py:2718 +#: common/models.py:2719 common/models.py:2964 common/models.py:2965 +#: common/models.py:3288 common/models.py:3289 importer/models.py:89 +#: part/models.py:3306 part/models.py:3393 part/models.py:3467 +#: part/models.py:3495 plugin/models.py:274 plugin/models.py:275 #: report/templates/report/inventree_test_report.html:105 #: templates/js/translated/stock.js:3121 users/models.py:111 msgid "User" msgstr "" -#: common/models.py:2582 +#: common/models.py:2583 msgid "Price break quantity" msgstr "" -#: common/models.py:2589 company/serializers.py:517 order/admin.py:42 +#: common/models.py:2590 company/serializers.py:517 order/admin.py:42 #: order/models.py:1423 order/models.py:2410 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1892 #: templates/js/translated/pricing.js:621 @@ -3747,96 +3744,96 @@ msgstr "" msgid "Price" msgstr "" -#: common/models.py:2590 +#: common/models.py:2591 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2694 common/models.py:2879 +#: common/models.py:2695 common/models.py:2880 msgid "Endpoint" msgstr "" -#: common/models.py:2695 +#: common/models.py:2696 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2705 +#: common/models.py:2706 msgid "Name for this webhook" msgstr "" -#: common/models.py:2709 +#: common/models.py:2710 msgid "Is this webhook active" msgstr "" -#: common/models.py:2725 users/models.py:159 +#: common/models.py:2726 users/models.py:159 msgid "Token" msgstr "" -#: common/models.py:2726 +#: common/models.py:2727 msgid "Token for access" msgstr "" -#: common/models.py:2734 +#: common/models.py:2735 msgid "Secret" msgstr "" -#: common/models.py:2735 +#: common/models.py:2736 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2843 +#: common/models.py:2844 msgid "Message ID" msgstr "" -#: common/models.py:2844 +#: common/models.py:2845 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2852 +#: common/models.py:2853 msgid "Host" msgstr "" -#: common/models.py:2853 +#: common/models.py:2854 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2861 +#: common/models.py:2862 msgid "Header" msgstr "" -#: common/models.py:2862 +#: common/models.py:2863 msgid "Header of this message" msgstr "" -#: common/models.py:2869 +#: common/models.py:2870 msgid "Body" msgstr "" -#: common/models.py:2870 +#: common/models.py:2871 msgid "Body of this message" msgstr "" -#: common/models.py:2880 +#: common/models.py:2881 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2885 +#: common/models.py:2886 msgid "Worked on" msgstr "" -#: common/models.py:2886 +#: common/models.py:2887 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:3012 +#: common/models.py:3013 msgid "Id" msgstr "" -#: common/models.py:3014 templates/js/translated/company.js:965 +#: common/models.py:3015 templates/js/translated/company.js:965 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:3016 common/models.py:3271 company/models.py:146 +#: common/models.py:3017 common/models.py:3272 company/models.py:146 #: company/models.py:443 company/models.py:509 company/models.py:815 #: order/models.py:303 order/models.py:1378 order/models.py:1810 #: part/admin.py:55 part/models.py:1069 @@ -3853,217 +3850,217 @@ msgstr "" msgid "Link" msgstr "" -#: common/models.py:3018 templates/js/translated/news.js:60 +#: common/models.py:3019 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:3020 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:3021 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:103 msgid "Author" msgstr "" -#: common/models.py:3022 templates/js/translated/news.js:52 +#: common/models.py:3023 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:3025 +#: common/models.py:3026 msgid "Read" msgstr "" -#: common/models.py:3025 +#: common/models.py:3026 msgid "Was this news item read?" msgstr "" -#: common/models.py:3042 company/models.py:156 part/models.py:1079 +#: common/models.py:3043 company/models.py:156 part/models.py:1079 #: 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.html:35 -#: stock/templates/stock/item_base.html:133 templates/503.html:31 +#: stock/templates/stock/item_base.html:129 templates/503.html:31 #: templates/hover_image.html:7 templates/hover_image.html:9 #: templates/modals.html:6 msgid "Image" msgstr "" -#: common/models.py:3042 +#: common/models.py:3043 msgid "Image file" msgstr "" -#: common/models.py:3054 common/models.py:3255 +#: common/models.py:3055 common/models.py:3256 msgid "Target model type for this image" msgstr "" -#: common/models.py:3058 +#: common/models.py:3059 msgid "Target model ID for this image" msgstr "" -#: common/models.py:3080 +#: common/models.py:3081 msgid "Custom Unit" msgstr "" -#: common/models.py:3098 +#: common/models.py:3099 msgid "Unit symbol must be unique" msgstr "" -#: common/models.py:3113 +#: common/models.py:3114 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:3132 +#: common/models.py:3133 msgid "Unit name" msgstr "" -#: common/models.py:3139 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3140 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:3140 +#: common/models.py:3141 msgid "Optional unit symbol" msgstr "" -#: common/models.py:3146 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3147 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:3147 +#: common/models.py:3148 msgid "Unit definition" msgstr "" -#: common/models.py:3205 common/models.py:3262 stock/models.py:2552 +#: common/models.py:3206 common/models.py:3263 stock/models.py:2547 #: stock/serializers.py:244 templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:345 msgid "Attachment" msgstr "" -#: common/models.py:3217 +#: common/models.py:3218 msgid "Missing file" msgstr "" -#: common/models.py:3218 +#: common/models.py:3219 msgid "Missing external link" msgstr "" -#: common/models.py:3263 +#: common/models.py:3264 msgid "Select file to attach" msgstr "" -#: common/models.py:3278 templates/js/translated/attachment.js:120 +#: common/models.py:3279 templates/js/translated/attachment.js:120 #: templates/js/translated/attachment.js:360 msgid "Comment" msgstr "" -#: common/models.py:3279 +#: common/models.py:3280 msgid "Attachment comment" msgstr "" -#: common/models.py:3295 +#: common/models.py:3296 msgid "Upload date" msgstr "" -#: common/models.py:3296 +#: common/models.py:3297 msgid "Date the file was uploaded" msgstr "" -#: common/models.py:3300 +#: common/models.py:3301 msgid "File size" msgstr "" -#: common/models.py:3300 +#: common/models.py:3301 msgid "File size in bytes" msgstr "" -#: common/models.py:3338 common/serializers.py:588 +#: common/models.py:3339 common/serializers.py:604 msgid "Invalid model type specified for attachment" msgstr "" -#: common/models.py:3347 plugin/models.py:43 users/models.py:100 +#: common/models.py:3348 plugin/models.py:43 users/models.py:100 msgid "Key" msgstr "" -#: common/models.py:3348 +#: common/models.py:3349 msgid "Value that will be saved in the models database" msgstr "" -#: common/models.py:3351 +#: common/models.py:3352 msgid "Name of the state" msgstr "" -#: common/models.py:3355 +#: common/models.py:3356 msgid "Label" msgstr "" -#: common/models.py:3356 +#: common/models.py:3357 msgid "Label that will be displayed in the frontend" msgstr "" -#: common/models.py:3362 +#: common/models.py:3363 msgid "Color" msgstr "" -#: common/models.py:3363 +#: common/models.py:3364 msgid "Color that will be displayed in the frontend" msgstr "" -#: common/models.py:3366 +#: common/models.py:3367 msgid "Logical Key" msgstr "" -#: common/models.py:3368 +#: common/models.py:3369 msgid "State logical key that is equal to this custom state in business logic" msgstr "" -#: common/models.py:3376 +#: common/models.py:3377 msgid "Model" msgstr "" -#: common/models.py:3377 +#: common/models.py:3378 msgid "Model this state is associated with" msgstr "" -#: common/models.py:3381 +#: common/models.py:3382 msgid "Reference Status Set" msgstr "" -#: common/models.py:3382 +#: common/models.py:3383 msgid "Status set that is extended with this custom state" msgstr "" -#: common/models.py:3388 +#: common/models.py:3389 msgid "Custom State" msgstr "" -#: common/models.py:3389 +#: common/models.py:3390 msgid "Custom States" msgstr "" -#: common/models.py:3404 +#: common/models.py:3405 msgid "Model must be selected" msgstr "" -#: common/models.py:3407 +#: common/models.py:3408 msgid "Key must be selected" msgstr "" -#: common/models.py:3410 +#: common/models.py:3411 msgid "Logical key must be selected" msgstr "" -#: common/models.py:3414 +#: common/models.py:3415 msgid "Key must be different from logical key" msgstr "" -#: common/models.py:3418 +#: common/models.py:3419 msgid "Reference status must be selected" msgstr "" -#: common/models.py:3430 +#: common/models.py:3431 msgid "Reference status set not found" msgstr "" -#: common/models.py:3436 +#: common/models.py:3437 msgid "Key must be different from the logical keys of the reference status" msgstr "" -#: common/models.py:3442 +#: common/models.py:3443 msgid "Logical key must be in the logical keys of the reference status" msgstr "" @@ -4101,75 +4098,75 @@ msgstr "" msgid "Error raised by plugin" msgstr "" -#: common/serializers.py:402 +#: common/serializers.py:418 msgid "Is Running" msgstr "" -#: common/serializers.py:408 +#: common/serializers.py:424 msgid "Pending Tasks" msgstr "" -#: common/serializers.py:414 +#: common/serializers.py:430 msgid "Scheduled Tasks" msgstr "" -#: common/serializers.py:420 +#: common/serializers.py:436 msgid "Failed Tasks" msgstr "" -#: common/serializers.py:435 +#: common/serializers.py:451 msgid "Task ID" msgstr "" -#: common/serializers.py:435 +#: common/serializers.py:451 msgid "Unique task ID" msgstr "" -#: common/serializers.py:437 +#: common/serializers.py:453 msgid "Lock" msgstr "" -#: common/serializers.py:437 +#: common/serializers.py:453 msgid "Lock time" msgstr "" -#: common/serializers.py:439 +#: common/serializers.py:455 msgid "Task name" msgstr "" -#: common/serializers.py:441 +#: common/serializers.py:457 msgid "Function" msgstr "" -#: common/serializers.py:441 +#: common/serializers.py:457 msgid "Function name" msgstr "" -#: common/serializers.py:443 +#: common/serializers.py:459 msgid "Arguments" msgstr "" -#: common/serializers.py:443 +#: common/serializers.py:459 msgid "Task arguments" msgstr "" -#: common/serializers.py:446 +#: common/serializers.py:462 msgid "Keyword Arguments" msgstr "" -#: common/serializers.py:446 +#: common/serializers.py:462 msgid "Task keyword arguments" msgstr "" -#: common/serializers.py:556 +#: common/serializers.py:572 msgid "Filename" msgstr "" -#: common/serializers.py:563 report/api.py:100 report/serializers.py:53 +#: common/serializers.py:579 report/api.py:100 report/serializers.py:54 msgid "Model Type" msgstr "" -#: common/serializers.py:591 +#: common/serializers.py:607 msgid "User does not have permission to create or edit attachments for this model" msgstr "" @@ -4447,12 +4444,12 @@ msgstr "" #: company/models.py:467 company/models.py:584 company/models.py:808 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 -#: stock/templates/stock/item_base.html:217 +#: stock/templates/stock/item_base.html:213 msgid "Manufacturer Part" msgstr "" #: company/models.py:484 company/models.py:776 stock/models.py:791 -#: stock/serializers.py:452 stock/templates/stock/item_base.html:142 +#: stock/serializers.py:452 stock/templates/stock/item_base.html:138 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" @@ -4463,8 +4460,8 @@ msgstr "" #: company/models.py:495 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:567 -#: stock/templates/stock/item_base.html:207 +#: company/templates/company/supplier_part.html:145 part/serializers.py:565 +#: stock/templates/stock/item_base.html:203 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 #: templates/js/translated/company.js:1296 @@ -4479,7 +4476,7 @@ msgstr "" #: company/models.py:502 company/templates/company/manufacturer_part.html:101 #: company/templates/company/supplier_part.html:153 order/serializers.py:557 -#: part/serializers.py:577 templates/js/translated/company.js:351 +#: part/serializers.py:575 templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 #: templates/js/translated/company.js:1630 templates/js/translated/part.js:1807 @@ -4505,7 +4502,7 @@ msgid "Parameter name" msgstr "" #: company/models.py:597 report/templates/report/inventree_test_report.html:104 -#: stock/models.py:2544 templates/js/translated/company.js:1166 +#: stock/models.py:2539 templates/js/translated/company.js:1166 #: templates/js/translated/company.js:1419 templates/js/translated/part.js:1499 #: templates/js/translated/stock.js:1607 msgid "Value" @@ -4516,7 +4513,7 @@ msgid "Parameter value" msgstr "" #: company/models.py:605 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1159 part/models.py:3783 +#: part/admin.py:57 part/models.py:1159 part/models.py:3770 #: part/templates/part/part_base.html:300 #: templates/js/translated/company.js:1425 templates/js/translated/part.js:1518 #: templates/js/translated/part.js:1622 templates/js/translated/part.js:2376 @@ -4530,7 +4527,7 @@ msgstr "" #: company/models.py:659 company/templates/company/supplier_part.html:7 #: company/templates/company/supplier_part.html:24 order/api.py:440 #: order/serializers.py:492 stock/models.py:802 -#: stock/templates/stock/item_base.html:233 +#: stock/templates/stock/item_base.html:229 #: templates/js/translated/build.js:1055 #: templates/js/translated/company.js:1600 #: templates/js/translated/purchase_order.js:752 @@ -4553,9 +4550,9 @@ msgstr "" #: company/models.py:786 company/templates/company/company_base.html:87 #: company/templates/company/supplier_part.html:129 order/models.py:492 #: order/templates/order/order_base.html:141 part/bom.py:279 part/bom.py:314 -#: part/serializers.py:551 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:549 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 -#: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 +#: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:220 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:511 @@ -4570,7 +4567,7 @@ msgstr "" msgid "Select supplier" msgstr "" -#: company/models.py:793 part/serializers.py:562 +#: company/models.py:793 part/serializers.py:560 msgid "Supplier stock keeping unit" msgstr "" @@ -4591,7 +4588,7 @@ msgid "Supplier part description" msgstr "" #: company/models.py:832 company/templates/company/supplier_part.html:187 -#: order/serializers.py:699 part/admin.py:415 part/models.py:4301 +#: order/serializers.py:699 part/admin.py:415 part/models.py:4288 #: part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 @@ -4603,11 +4600,11 @@ msgstr "" msgid "Note" msgstr "" -#: company/models.py:841 part/models.py:2129 +#: company/models.py:841 part/models.py:2128 msgid "base cost" msgstr "" -#: company/models.py:842 part/models.py:2130 +#: company/models.py:842 part/models.py:2129 msgid "Minimum charge (e.g. stocking fee)" msgstr "" @@ -4629,7 +4626,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:876 part/models.py:2136 +#: company/models.py:876 part/models.py:2135 msgid "multiple" msgstr "" @@ -4661,7 +4658,7 @@ msgstr "" msgid "Company Name" msgstr "" -#: company/serializers.py:397 part/admin.py:126 part/serializers.py:919 +#: company/serializers.py:397 part/admin.py:126 part/serializers.py:917 #: part/templates/part/part_base.html:197 #: templates/js/translated/company.js:1689 #: templates/js/translated/table_filters.js:362 @@ -4735,7 +4732,7 @@ msgstr "" #: order/models.py:2140 order/templates/order/return_order_base.html:134 #: order/templates/order/sales_order_base.html:151 stock/models.py:844 #: stock/models.py:845 stock/serializers.py:1336 -#: stock/templates/stock/item_base.html:405 +#: stock/templates/stock/item_base.html:401 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 #: templates/js/translated/return_order.js:295 @@ -4939,7 +4936,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:925 +#: part/admin.py:122 part/serializers.py:923 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -5030,7 +5027,7 @@ msgid "No supplier information available" msgstr "" #: company/templates/company/supplier_part.html:139 order/serializers.py:554 -#: part/bom.py:286 part/bom.py:315 part/serializers.py:561 +#: part/bom.py:286 part/bom.py:315 part/serializers.py:559 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1793 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1920 @@ -5084,7 +5081,7 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:923 part/stocktake.py:223 +#: part/serializers.py:921 part/stocktake.py:223 #: part/templates/part/category.html:180 #: part/templates/part/category_sidebar.html:17 stock/admin.py:68 #: stock/serializers.py:1021 stock/serializers.py:1199 @@ -5215,7 +5212,7 @@ msgstr "" msgid "Original row data" msgstr "" -#: importer/models.py:504 part/models.py:3965 +#: importer/models.py:504 part/models.py:3952 msgid "Data" msgstr "" @@ -5473,7 +5470,7 @@ msgstr "" #: order/models.py:1592 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_purchase_order_report.html:14 -#: stock/serializers.py:121 stock/templates/stock/item_base.html:176 +#: stock/serializers.py:121 stock/templates/stock/item_base.html:172 #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/part.js:1752 templates/js/translated/pricing.js:804 #: templates/js/translated/purchase_order.js:168 @@ -5694,7 +5691,7 @@ msgid "Number of items received" msgstr "" #: order/models.py:1513 stock/models.py:963 stock/serializers.py:617 -#: stock/templates/stock/item_base.html:183 +#: stock/templates/stock/item_base.html:179 #: templates/js/translated/stock.js:2397 msgid "Purchase Price" msgstr "" @@ -5768,7 +5765,7 @@ msgid "User who checked this shipment" msgstr "" #: order/models.py:1788 order/models.py:2011 order/serializers.py:1479 -#: order/serializers.py:1589 templates/js/translated/model_renderers.js:455 +#: order/serializers.py:1597 templates/js/translated/model_renderers.js:455 msgid "Shipment" msgstr "" @@ -5982,7 +5979,7 @@ msgstr "" msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:656 order/serializers.py:779 order/serializers.py:1790 +#: order/serializers.py:656 order/serializers.py:779 order/serializers.py:1798 msgid "Select destination location for received items" msgstr "" @@ -6019,7 +6016,7 @@ msgstr "" msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:795 order/serializers.py:1806 +#: order/serializers.py:795 order/serializers.py:1814 msgid "Line items must be provided" msgstr "" @@ -6051,39 +6048,39 @@ msgstr "" msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1491 order/serializers.py:1597 +#: order/serializers.py:1491 order/serializers.py:1605 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1494 order/serializers.py:1600 +#: order/serializers.py:1494 order/serializers.py:1608 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1541 +#: order/serializers.py:1549 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1548 -msgid "The following serial numbers are already allocated" +#: order/serializers.py:1556 +msgid "The following serial numbers are unavailable" msgstr "" -#: order/serializers.py:1760 +#: order/serializers.py:1768 msgid "Return order line item" msgstr "" -#: order/serializers.py:1766 +#: order/serializers.py:1774 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1769 +#: order/serializers.py:1777 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1798 +#: order/serializers.py:1806 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1881 +#: order/serializers.py:1889 msgid "Line price currency" msgstr "" @@ -6510,7 +6507,7 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:48 part/models.py:1044 part/serializers.py:908 +#: part/admin.py:48 part/models.py:1044 part/serializers.py:906 #: part/templates/part/part_base.html:276 #: report/templates/report/inventree_stock_location_report.html:103 #: templates/js/translated/part.js:1233 templates/js/translated/part.js:2347 @@ -6537,7 +6534,7 @@ msgstr "" msgid "Category ID" msgstr "" -#: part/admin.py:67 part/admin.py:304 part/serializers.py:893 +#: part/admin.py:67 part/admin.py:304 part/serializers.py:891 #: part/stocktake.py:222 msgid "Category Name" msgstr "" @@ -6562,18 +6559,18 @@ msgstr "" msgid "Used In" msgstr "" -#: part/admin.py:150 part/serializers.py:918 +#: part/admin.py:150 part/serializers.py:916 #: part/templates/part/part_base.html:248 stock/admin.py:236 #: templates/js/translated/part.js:717 templates/js/translated/part.js:2159 msgid "Building" msgstr "" -#: part/admin.py:155 part/models.py:3214 part/models.py:3228 +#: part/admin.py:155 part/models.py:3201 part/models.py:3215 #: templates/js/translated/part.js:976 msgid "Minimum Cost" msgstr "" -#: part/admin.py:158 part/models.py:3221 part/models.py:3235 +#: part/admin.py:158 part/models.py:3208 part/models.py:3222 #: templates/js/translated/part.js:986 msgid "Maximum Cost" msgstr "" @@ -6592,7 +6589,7 @@ msgid "Category Path" msgstr "" #: part/admin.py:325 part/models.py:420 part/serializers.py:130 -#: part/serializers.py:290 part/serializers.py:428 +#: part/serializers.py:290 part/serializers.py:426 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:20 #: part/templates/part/category.html:138 part/templates/part/category.html:158 #: part/templates/part/category_sidebar.html:9 @@ -6619,13 +6616,13 @@ msgstr "" msgid "Part Revision" msgstr "" -#: part/admin.py:418 part/serializers.py:1367 +#: part/admin.py:418 part/serializers.py:1365 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:423 part/serializers.py:1382 +#: part/admin.py:423 part/serializers.py:1380 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -6719,8 +6716,8 @@ msgstr "" msgid "BOM Valid" msgstr "" -#: part/api.py:1520 part/models.py:1036 part/models.py:3501 part/models.py:4060 -#: part/serializers.py:443 part/serializers.py:1223 +#: part/api.py:1520 part/models.py:1036 part/models.py:3488 part/models.py:4047 +#: part/serializers.py:441 part/serializers.py:1221 #: part/templates/part/part_base.html:267 stock/api.py:780 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 @@ -6746,7 +6743,7 @@ msgstr "" msgid "Default Location" msgstr "" -#: part/bom.py:184 part/serializers.py:926 +#: part/bom.py:184 part/serializers.py:924 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -6755,7 +6752,7 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:89 part/models.py:4061 part/templates/part/category.html:16 +#: part/models.py:89 part/models.py:4048 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -6878,7 +6875,7 @@ msgstr "" msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:995 part/models.py:4116 +#: part/models.py:995 part/models.py:4103 msgid "Part name" msgstr "" @@ -6906,7 +6903,7 @@ msgstr "" msgid "Part category" msgstr "" -#: part/models.py:1052 part/serializers.py:360 +#: part/models.py:1052 msgid "Part revision or version number" msgstr "" @@ -7012,164 +7009,164 @@ msgid "Owner responsible for this part" msgstr "" #: part/models.py:1264 part/templates/part/part_base.html:355 -#: stock/templates/stock/item_base.html:451 +#: stock/templates/stock/item_base.html:447 #: templates/js/translated/part.js:2490 msgid "Last Stocktake" msgstr "" -#: part/models.py:2137 +#: part/models.py:2136 msgid "Sell multiple" msgstr "" -#: part/models.py:3128 +#: part/models.py:3115 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3144 +#: part/models.py:3131 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3145 +#: part/models.py:3132 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3151 +#: part/models.py:3138 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3152 +#: part/models.py:3139 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3158 +#: part/models.py:3145 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3159 +#: part/models.py:3146 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3165 +#: part/models.py:3152 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3166 +#: part/models.py:3153 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3172 +#: part/models.py:3159 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3173 +#: part/models.py:3160 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3179 +#: part/models.py:3166 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3180 +#: part/models.py:3167 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3186 +#: part/models.py:3173 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3187 +#: part/models.py:3174 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3193 +#: part/models.py:3180 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3194 +#: part/models.py:3181 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3200 +#: part/models.py:3187 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3201 +#: part/models.py:3188 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3207 +#: part/models.py:3194 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3208 +#: part/models.py:3195 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3215 +#: part/models.py:3202 msgid "Override minimum cost" msgstr "" -#: part/models.py:3222 +#: part/models.py:3209 msgid "Override maximum cost" msgstr "" -#: part/models.py:3229 +#: part/models.py:3216 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3236 +#: part/models.py:3223 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3242 +#: part/models.py:3229 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3243 +#: part/models.py:3230 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3249 +#: part/models.py:3236 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3250 +#: part/models.py:3237 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3256 +#: part/models.py:3243 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3257 +#: part/models.py:3244 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3263 +#: part/models.py:3250 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3264 +#: part/models.py:3251 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3283 +#: part/models.py:3270 msgid "Part for stocktake" msgstr "" -#: part/models.py:3288 +#: part/models.py:3275 msgid "Item Count" msgstr "" -#: part/models.py:3289 +#: part/models.py:3276 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3297 +#: part/models.py:3284 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3301 part/models.py:3384 +#: part/models.py:3288 part/models.py:3371 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -7181,363 +7178,363 @@ msgstr "" msgid "Date" msgstr "" -#: part/models.py:3302 +#: part/models.py:3289 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3310 +#: part/models.py:3297 msgid "Additional notes" msgstr "" -#: part/models.py:3320 +#: part/models.py:3307 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3326 +#: part/models.py:3313 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3327 +#: part/models.py:3314 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3333 +#: part/models.py:3320 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3334 +#: part/models.py:3321 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3390 templates/InvenTree/settings/settings_staff_js.html:532 +#: part/models.py:3377 templates/InvenTree/settings/settings_staff_js.html:532 msgid "Report" msgstr "" -#: part/models.py:3391 +#: part/models.py:3378 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3396 templates/InvenTree/settings/settings_staff_js.html:539 +#: part/models.py:3383 templates/InvenTree/settings/settings_staff_js.html:539 msgid "Part Count" msgstr "" -#: part/models.py:3397 +#: part/models.py:3384 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3407 +#: part/models.py:3394 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3417 +#: part/models.py:3404 msgid "Part Sale Price Break" msgstr "" -#: part/models.py:3529 +#: part/models.py:3516 msgid "Part Test Template" msgstr "" -#: part/models.py:3555 +#: part/models.py:3542 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3576 part/models.py:3745 +#: part/models.py:3563 part/models.py:3732 msgid "Choices must be unique" msgstr "" -#: part/models.py:3587 +#: part/models.py:3574 msgid "Test templates can only be created for testable parts" msgstr "" -#: part/models.py:3598 +#: part/models.py:3585 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3615 templates/js/translated/part.js:2898 +#: part/models.py:3602 templates/js/translated/part.js:2898 msgid "Test Name" msgstr "" -#: part/models.py:3616 +#: part/models.py:3603 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3622 +#: part/models.py:3609 msgid "Test Key" msgstr "" -#: part/models.py:3623 +#: part/models.py:3610 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3630 +#: part/models.py:3617 msgid "Test Description" msgstr "" -#: part/models.py:3631 +#: part/models.py:3618 msgid "Enter description for this test" msgstr "" -#: part/models.py:3635 report/models.py:208 +#: part/models.py:3622 report/models.py:216 #: templates/js/translated/part.js:2919 #: templates/js/translated/table_filters.js:502 msgid "Enabled" msgstr "" -#: part/models.py:3635 +#: part/models.py:3622 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3640 templates/js/translated/part.js:2927 +#: part/models.py:3627 templates/js/translated/part.js:2927 #: templates/js/translated/table_filters.js:498 msgid "Required" msgstr "" -#: part/models.py:3641 +#: part/models.py:3628 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3646 templates/js/translated/part.js:2935 +#: part/models.py:3633 templates/js/translated/part.js:2935 msgid "Requires Value" msgstr "" -#: part/models.py:3647 +#: part/models.py:3634 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3652 templates/js/translated/part.js:2942 +#: part/models.py:3639 templates/js/translated/part.js:2942 msgid "Requires Attachment" msgstr "" -#: part/models.py:3654 +#: part/models.py:3641 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3660 part/models.py:3804 templates/js/translated/part.js:1643 +#: part/models.py:3647 part/models.py:3791 templates/js/translated/part.js:1643 msgid "Choices" msgstr "" -#: part/models.py:3661 +#: part/models.py:3648 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3693 +#: part/models.py:3680 msgid "Part Parameter Template" msgstr "" -#: part/models.py:3720 +#: part/models.py:3707 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3725 +#: part/models.py:3712 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3762 +#: part/models.py:3749 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3777 +#: part/models.py:3764 msgid "Parameter Name" msgstr "" -#: part/models.py:3784 +#: part/models.py:3771 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3792 +#: part/models.py:3779 msgid "Parameter description" msgstr "" -#: part/models.py:3798 templates/js/translated/part.js:1634 +#: part/models.py:3785 templates/js/translated/part.js:1634 #: templates/js/translated/table_filters.js:837 msgid "Checkbox" msgstr "" -#: part/models.py:3799 +#: part/models.py:3786 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3805 +#: part/models.py:3792 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3839 +#: part/models.py:3826 msgid "Part Parameter" msgstr "" -#: part/models.py:3865 +#: part/models.py:3852 msgid "Parameter cannot be modified - part is locked" msgstr "" -#: part/models.py:3903 +#: part/models.py:3890 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3952 +#: part/models.py:3939 msgid "Parent Part" msgstr "" -#: part/models.py:3960 part/models.py:4068 part/models.py:4069 +#: part/models.py:3947 part/models.py:4055 part/models.py:4056 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3966 +#: part/models.py:3953 msgid "Parameter Value" msgstr "" -#: part/models.py:4016 +#: part/models.py:4003 msgid "Part Category Parameter Template" msgstr "" -#: part/models.py:4075 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:4062 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:4076 +#: part/models.py:4063 msgid "Default Parameter Value" msgstr "" -#: part/models.py:4114 +#: part/models.py:4101 msgid "Part ID or part name" msgstr "" -#: part/models.py:4115 +#: part/models.py:4102 msgid "Unique part ID value" msgstr "" -#: part/models.py:4117 +#: part/models.py:4104 msgid "Part IPN value" msgstr "" -#: part/models.py:4118 +#: part/models.py:4105 msgid "Level" msgstr "" -#: part/models.py:4118 +#: part/models.py:4105 msgid "BOM level" msgstr "" -#: part/models.py:4228 +#: part/models.py:4215 msgid "BOM item cannot be modified - assembly is locked" msgstr "" -#: part/models.py:4235 +#: part/models.py:4222 msgid "BOM item cannot be modified - variant assembly is locked" msgstr "" -#: part/models.py:4245 +#: part/models.py:4232 msgid "Select parent part" msgstr "" -#: part/models.py:4255 +#: part/models.py:4242 msgid "Sub part" msgstr "" -#: part/models.py:4256 +#: part/models.py:4243 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4267 +#: part/models.py:4254 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4273 +#: part/models.py:4260 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4279 +#: part/models.py:4266 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4286 part/templates/part/upload_bom.html:55 +#: part/models.py:4273 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4287 +#: part/models.py:4274 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4294 +#: part/models.py:4281 msgid "BOM item reference" msgstr "" -#: part/models.py:4302 +#: part/models.py:4289 msgid "BOM item notes" msgstr "" -#: part/models.py:4308 +#: part/models.py:4295 msgid "Checksum" msgstr "" -#: part/models.py:4309 +#: part/models.py:4296 msgid "BOM line checksum" msgstr "" -#: part/models.py:4314 templates/js/translated/table_filters.js:181 +#: part/models.py:4301 templates/js/translated/table_filters.js:181 msgid "Validated" msgstr "" -#: part/models.py:4315 +#: part/models.py:4302 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4320 part/templates/part/upload_bom.html:57 +#: part/models.py:4307 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:185 #: templates/js/translated/table_filters.js:218 msgid "Gets inherited" msgstr "" -#: part/models.py:4321 +#: part/models.py:4308 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4327 +#: part/models.py:4314 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4412 stock/models.py:689 +#: part/models.py:4399 stock/models.py:689 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4422 part/models.py:4424 +#: part/models.py:4409 part/models.py:4411 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4561 +#: part/models.py:4554 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4582 +#: part/models.py:4575 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4595 +#: part/models.py:4588 msgid "Parent BOM item" msgstr "" -#: part/models.py:4603 +#: part/models.py:4596 msgid "Substitute part" msgstr "" -#: part/models.py:4619 +#: part/models.py:4612 msgid "Part 1" msgstr "" -#: part/models.py:4627 +#: part/models.py:4620 msgid "Part 2" msgstr "" -#: part/models.py:4628 +#: part/models.py:4621 msgid "Select Related Part" msgstr "" -#: part/models.py:4647 +#: part/models.py:4640 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4652 +#: part/models.py:4645 msgid "Duplicate relationship already exists" msgstr "" @@ -7571,326 +7568,326 @@ msgstr "" msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:434 +#: part/serializers.py:432 msgid "No parts selected" msgstr "" -#: part/serializers.py:444 +#: part/serializers.py:442 msgid "Select category" msgstr "" -#: part/serializers.py:479 +#: part/serializers.py:477 msgid "Original Part" msgstr "" -#: part/serializers.py:480 +#: part/serializers.py:478 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:485 +#: part/serializers.py:483 msgid "Copy Image" msgstr "" -#: part/serializers.py:486 +#: part/serializers.py:484 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:492 part/templates/part/detail.html:293 +#: part/serializers.py:490 part/templates/part/detail.html:293 msgid "Copy BOM" msgstr "" -#: part/serializers.py:493 +#: part/serializers.py:491 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:499 +#: part/serializers.py:497 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:500 +#: part/serializers.py:498 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:506 +#: part/serializers.py:504 msgid "Copy Notes" msgstr "" -#: part/serializers.py:507 +#: part/serializers.py:505 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:525 +#: part/serializers.py:523 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:527 +#: part/serializers.py:525 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:534 +#: part/serializers.py:532 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:535 +#: part/serializers.py:533 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:552 +#: part/serializers.py:550 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:568 +#: part/serializers.py:566 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:578 +#: part/serializers.py:576 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:585 +#: part/serializers.py:583 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:594 +#: part/serializers.py:592 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:605 +#: part/serializers.py:603 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:612 +#: part/serializers.py:610 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:924 +#: part/serializers.py:922 msgid "Revisions" msgstr "" -#: part/serializers.py:929 +#: part/serializers.py:927 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:932 +#: part/serializers.py:930 msgid "Variant Stock" msgstr "" -#: part/serializers.py:962 part/templates/part/copy_part.html:9 +#: part/serializers.py:960 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:474 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:963 +#: part/serializers.py:961 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:969 templates/js/translated/part.js:103 +#: part/serializers.py:967 templates/js/translated/part.js:103 msgid "Initial Stock" msgstr "" -#: part/serializers.py:970 +#: part/serializers.py:968 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:976 +#: part/serializers.py:974 msgid "Supplier Information" msgstr "" -#: part/serializers.py:977 +#: part/serializers.py:975 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:985 +#: part/serializers.py:983 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:986 +#: part/serializers.py:984 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:991 +#: part/serializers.py:989 msgid "Existing Image" msgstr "" -#: part/serializers.py:992 +#: part/serializers.py:990 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:1009 +#: part/serializers.py:1007 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1215 +#: part/serializers.py:1213 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1225 +#: part/serializers.py:1223 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1235 +#: part/serializers.py:1233 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1241 +#: part/serializers.py:1239 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1242 +#: part/serializers.py:1240 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1247 +#: part/serializers.py:1245 msgid "Generate Report" msgstr "" -#: part/serializers.py:1248 +#: part/serializers.py:1246 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1253 +#: part/serializers.py:1251 msgid "Update Parts" msgstr "" -#: part/serializers.py:1254 +#: part/serializers.py:1252 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1262 +#: part/serializers.py:1260 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1368 +#: part/serializers.py:1366 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1375 +#: part/serializers.py:1373 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1383 +#: part/serializers.py:1381 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1390 +#: part/serializers.py:1388 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1419 +#: part/serializers.py:1417 msgid "Update" msgstr "" -#: part/serializers.py:1420 +#: part/serializers.py:1418 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1443 +#: part/serializers.py:1441 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1450 +#: part/serializers.py:1448 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1453 +#: part/serializers.py:1451 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1597 +#: part/serializers.py:1595 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1606 +#: part/serializers.py:1604 msgid "Component Name" msgstr "" -#: part/serializers.py:1609 +#: part/serializers.py:1607 msgid "Component IPN" msgstr "" -#: part/serializers.py:1612 +#: part/serializers.py:1610 msgid "Component Description" msgstr "" -#: part/serializers.py:1618 +#: part/serializers.py:1616 msgid "Select the component part" msgstr "" -#: part/serializers.py:1627 part/templates/part/part_base.html:242 +#: part/serializers.py:1625 part/templates/part/part_base.html:242 #: templates/js/translated/bom.js:1219 msgid "Can Build" msgstr "" -#: part/serializers.py:1858 +#: part/serializers.py:1856 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1866 +#: part/serializers.py:1864 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1867 +#: part/serializers.py:1865 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1872 +#: part/serializers.py:1870 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1873 +#: part/serializers.py:1871 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1878 +#: part/serializers.py:1876 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1879 +#: part/serializers.py:1877 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1884 +#: part/serializers.py:1882 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1885 +#: part/serializers.py:1883 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1922 +#: part/serializers.py:1920 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1923 +#: part/serializers.py:1921 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1955 +#: part/serializers.py:1953 msgid "No part column specified" msgstr "" -#: part/serializers.py:1999 +#: part/serializers.py:1997 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:2002 +#: part/serializers.py:2000 msgid "No matching part found" msgstr "" -#: part/serializers.py:2004 +#: part/serializers.py:2002 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:2013 +#: part/serializers.py:2011 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:2021 +#: part/serializers.py:2019 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:2044 +#: part/serializers.py:2042 msgid "At least one BOM item is required" msgstr "" @@ -8216,7 +8213,7 @@ msgid "Subscribe to notifications for this part" msgstr "" #: part/templates/part/part_base.html:52 -#: stock/templates/stock/item_base.html:62 +#: stock/templates/stock/item_base.html:61 #: stock/templates/stock/location.html:71 templates/js/translated/label.js:136 msgid "Print Label" msgstr "" @@ -8226,7 +8223,7 @@ msgid "Show pricing information" msgstr "" #: part/templates/part/part_base.html:63 -#: stock/templates/stock/item_base.html:110 +#: stock/templates/stock/item_base.html:106 #: stock/templates/stock/location.html:80 msgid "Stock actions" msgstr "" @@ -8297,12 +8294,12 @@ msgid "Required for Orders" msgstr "" #: part/templates/part/part_base.html:225 -#: stock/templates/stock/item_base.html:388 +#: stock/templates/stock/item_base.html:384 msgid "Allocated to Build Orders" msgstr "" #: part/templates/part/part_base.html:234 -#: stock/templates/stock/item_base.html:381 +#: stock/templates/stock/item_base.html:377 msgid "Allocated to Sales Orders" msgstr "" @@ -8322,7 +8319,7 @@ msgid "Latest Serial Number" msgstr "" #: part/templates/part/part_base.html:372 -#: stock/templates/stock/item_base.html:322 +#: stock/templates/stock/item_base.html:318 msgid "Search for serial number" msgstr "" @@ -8449,7 +8446,7 @@ msgid "Edit" msgstr "" #: part/templates/part/prices.html:28 stock/admin.py:252 -#: stock/templates/stock/item_base.html:446 +#: stock/templates/stock/item_base.html:442 #: templates/js/translated/company.js:1703 #: templates/js/translated/company.js:1713 #: templates/js/translated/stock.js:2332 @@ -8604,7 +8601,7 @@ msgstr "" msgid "Part Pricing" msgstr "" -#: plugin/api.py:172 +#: plugin/api.py:174 msgid "Plugin cannot be deleted as it is currently active" msgstr "" @@ -8940,7 +8937,7 @@ msgstr "" msgid "Print a border around each label" msgstr "" -#: plugin/builtin/labels/label_sheet.py:47 report/models.py:307 +#: plugin/builtin/labels/label_sheet.py:47 report/models.py:315 msgid "Landscape" msgstr "" @@ -9012,44 +9009,44 @@ msgstr "" msgid "The Supplier which acts as 'TME'" msgstr "" -#: plugin/installer.py:194 plugin/installer.py:274 +#: plugin/installer.py:199 plugin/installer.py:282 msgid "Only staff users can administer plugins" msgstr "" -#: plugin/installer.py:197 +#: plugin/installer.py:202 msgid "Plugin installation is disabled" msgstr "" -#: plugin/installer.py:241 +#: plugin/installer.py:246 msgid "Installed plugin successfully" msgstr "" -#: plugin/installer.py:246 +#: plugin/installer.py:251 #, python-brace-format msgid "Installed plugin into {path}" msgstr "" -#: plugin/installer.py:265 +#: plugin/installer.py:273 msgid "Plugin was not found in registry" msgstr "" -#: plugin/installer.py:268 +#: plugin/installer.py:276 msgid "Plugin is not a packaged plugin" msgstr "" -#: plugin/installer.py:271 +#: plugin/installer.py:279 msgid "Plugin package name not found" msgstr "" -#: plugin/installer.py:291 +#: plugin/installer.py:299 msgid "Plugin uninstalling is disabled" msgstr "" -#: plugin/installer.py:295 +#: plugin/installer.py:303 msgid "Plugin cannot be uninstalled as it is currently active" msgstr "" -#: plugin/installer.py:308 +#: plugin/installer.py:316 msgid "Uninstalled plugin successfully" msgstr "" @@ -9098,7 +9095,7 @@ msgstr "" msgid "Package Plugin" msgstr "" -#: plugin/models.py:220 report/models.py:474 +#: plugin/models.py:220 report/models.py:482 #: templates/InvenTree/settings/plugin_settings.html:9 #: templates/js/translated/plugin.js:51 msgid "Plugin" @@ -9167,6 +9164,38 @@ msgstr "" msgid "InvenTree Contributors" msgstr "" +#: plugin/samples/integration/user_interface_sample.py:22 +msgid "Enable Part Panels" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:23 +msgid "Enable custom panels for Part views" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:28 +msgid "Enable Purchase Order Panels" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:29 +msgid "Enable custom panels for Purchase Order views" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:34 +msgid "Enable Broken Panels" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:35 +msgid "Enable broken panels for testing" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:40 +msgid "Enable Dynamic Panel" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:41 +msgid "Enable dynamic panels for testing" +msgstr "" + #: plugin/serializers.py:81 msgid "Source URL" msgstr "" @@ -9245,12 +9274,36 @@ msgstr "" msgid "Delete the plugin configuration from the database" msgstr "" +#: plugin/serializers.py:324 +msgid "Plugin Key" +msgstr "" + +#: plugin/serializers.py:328 +msgid "Panel Name" +msgstr "" + +#: plugin/serializers.py:332 +msgid "Panel Title" +msgstr "" + +#: plugin/serializers.py:337 +msgid "Panel Icon" +msgstr "" + +#: plugin/serializers.py:341 +msgid "Panel Content (HTML)" +msgstr "" + +#: plugin/serializers.py:345 +msgid "Panel Source (javascript)" +msgstr "" + #: report/api.py:88 msgid "No valid objects provided to template" msgstr "" -#: report/api.py:103 report/models.py:438 report/serializers.py:98 -#: report/serializers.py:148 templates/js/translated/purchase_order.js:1817 +#: report/api.py:103 report/models.py:446 report/serializers.py:99 +#: report/serializers.py:149 templates/js/translated/purchase_order.js:1817 #: templates/js/translated/return_order.js:353 #: templates/js/translated/sales_order.js:887 #: templates/js/translated/sales_order.js:1047 @@ -9281,7 +9334,11 @@ msgstr "" msgid "Error printing label" msgstr "" -#: report/api.py:375 report/api.py:411 +#: report/api.py:358 +msgid "Report saved at time of printing" +msgstr "" + +#: report/api.py:384 report/api.py:420 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" @@ -9318,135 +9375,143 @@ msgstr "" msgid "Revision number (auto-increments)" msgstr "" -#: report/models.py:202 +#: report/models.py:168 +msgid "Attach to Model on Print" +msgstr "" + +#: report/models.py:170 +msgid "Save report output as an attachment against linked model instance when printing" +msgstr "" + +#: report/models.py:210 msgid "Filename Pattern" msgstr "" -#: report/models.py:203 +#: report/models.py:211 msgid "Pattern for generating filenames" msgstr "" -#: report/models.py:208 +#: report/models.py:216 msgid "Template is enabled" msgstr "" -#: report/models.py:214 +#: report/models.py:222 msgid "Target model type for template" msgstr "" -#: report/models.py:234 +#: report/models.py:242 msgid "Filters" msgstr "" -#: report/models.py:235 +#: report/models.py:243 msgid "Template query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:294 report/models.py:361 +#: report/models.py:302 report/models.py:369 msgid "Template file" msgstr "" -#: report/models.py:302 +#: report/models.py:310 msgid "Page size for PDF reports" msgstr "" -#: report/models.py:308 +#: report/models.py:316 msgid "Render report in landscape orientation" msgstr "" -#: report/models.py:367 +#: report/models.py:375 msgid "Width [mm]" msgstr "" -#: report/models.py:368 +#: report/models.py:376 msgid "Label width, specified in mm" msgstr "" -#: report/models.py:374 +#: report/models.py:382 msgid "Height [mm]" msgstr "" -#: report/models.py:375 +#: report/models.py:383 msgid "Label height, specified in mm" msgstr "" -#: report/models.py:438 +#: report/models.py:446 msgid "Number of items to process" msgstr "" -#: report/models.py:444 +#: report/models.py:452 msgid "Report generation is complete" msgstr "" -#: report/models.py:448 templates/js/translated/build.js:2352 +#: report/models.py:456 templates/js/translated/build.js:2352 msgid "Progress" msgstr "" -#: report/models.py:448 +#: report/models.py:456 msgid "Report generation progress" msgstr "" -#: report/models.py:456 +#: report/models.py:464 msgid "Report Template" msgstr "" -#: report/models.py:463 report/models.py:486 +#: report/models.py:471 report/models.py:494 msgid "Output File" msgstr "" -#: report/models.py:464 report/models.py:487 +#: report/models.py:472 report/models.py:495 msgid "Generated output file" msgstr "" -#: report/models.py:475 +#: report/models.py:483 msgid "Label output plugin" msgstr "" -#: report/models.py:479 +#: report/models.py:487 msgid "Label Template" msgstr "" -#: report/models.py:502 +#: report/models.py:510 msgid "Snippet" msgstr "" -#: report/models.py:503 +#: report/models.py:511 msgid "Report snippet file" msgstr "" -#: report/models.py:510 +#: report/models.py:518 msgid "Snippet file description" msgstr "" -#: report/models.py:528 +#: report/models.py:536 msgid "Asset" msgstr "" -#: report/models.py:529 +#: report/models.py:537 msgid "Report asset file" msgstr "" -#: report/models.py:536 +#: report/models.py:544 msgid "Asset file description" msgstr "" -#: report/serializers.py:91 +#: report/serializers.py:92 msgid "Select report template" msgstr "" -#: report/serializers.py:99 report/serializers.py:149 +#: report/serializers.py:100 report/serializers.py:150 msgid "List of item primary keys to include in the report" msgstr "" -#: report/serializers.py:132 +#: report/serializers.py:133 msgid "Select label template" msgstr "" -#: report/serializers.py:140 +#: report/serializers.py:141 msgid "Printing Plugin" msgstr "" -#: report/serializers.py:141 +#: report/serializers.py:142 msgid "Select plugin to use for label printing" msgstr "" @@ -9517,7 +9582,7 @@ msgstr "" msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report.html:103 stock/models.py:2538 +#: report/templates/report/inventree_test_report.html:103 stock/models.py:2533 msgid "Result" msgstr "" @@ -9598,7 +9663,7 @@ msgid "Customer ID" msgstr "" #: stock/admin.py:206 stock/models.py:829 -#: stock/templates/stock/item_base.html:354 +#: stock/templates/stock/item_base.html:350 msgid "Installed In" msgstr "" @@ -9623,7 +9688,7 @@ msgid "Delete on Deplete" msgstr "" #: stock/admin.py:261 stock/models.py:923 -#: stock/templates/stock/item_base.html:433 +#: stock/templates/stock/item_base.html:429 #: templates/js/translated/stock.js:2316 users/models.py:124 msgid "Expiry Date" msgstr "" @@ -9665,7 +9730,7 @@ msgid "Expiry date after" msgstr "" #: stock/api.py:839 stock/serializers.py:611 -#: stock/templates/stock/item_base.html:439 +#: stock/templates/stock/item_base.html:435 #: templates/js/translated/table_filters.js:448 msgid "Stale" msgstr "" @@ -9715,7 +9780,7 @@ msgid "Stock Locations" msgstr "" #: stock/models.py:185 stock/models.py:972 -#: stock/templates/stock/item_base.html:247 +#: stock/templates/stock/item_base.html:243 msgid "Owner" msgstr "" @@ -9826,7 +9891,7 @@ msgstr "" msgid "Build for this stock item" msgstr "" -#: stock/models.py:892 stock/templates/stock/item_base.html:363 +#: stock/models.py:892 stock/templates/stock/item_base.html:359 msgid "Consumed By" msgstr "" @@ -9891,7 +9956,7 @@ msgstr "" msgid "Serial numbers already exist" msgstr "" -#: stock/models.py:1636 +#: stock/models.py:1636 stock/models.py:2436 msgid "Test template does not exist" msgstr "" @@ -9939,67 +10004,67 @@ msgstr "" msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2337 +#: stock/models.py:2335 msgid "Stock Item Tracking" msgstr "" -#: stock/models.py:2370 +#: stock/models.py:2368 msgid "Entry notes" msgstr "" -#: stock/models.py:2410 +#: stock/models.py:2408 msgid "Stock Item Test Result" msgstr "" -#: stock/models.py:2443 +#: stock/models.py:2439 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2448 +#: stock/models.py:2443 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2453 +#: stock/models.py:2448 msgid "Invalid value for this test" msgstr "" -#: stock/models.py:2538 +#: stock/models.py:2533 msgid "Test result" msgstr "" -#: stock/models.py:2545 +#: stock/models.py:2540 msgid "Test output value" msgstr "" -#: stock/models.py:2553 stock/serializers.py:245 +#: stock/models.py:2548 stock/serializers.py:245 msgid "Test result attachment" msgstr "" -#: stock/models.py:2557 +#: stock/models.py:2552 msgid "Test notes" msgstr "" -#: stock/models.py:2565 templates/js/translated/stock.js:1633 +#: stock/models.py:2560 templates/js/translated/stock.js:1633 msgid "Test station" msgstr "" -#: stock/models.py:2566 +#: stock/models.py:2561 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2572 +#: stock/models.py:2567 msgid "Started" msgstr "" -#: stock/models.py:2573 +#: stock/models.py:2568 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2579 +#: stock/models.py:2574 msgid "Finished" msgstr "" -#: stock/models.py:2580 +#: stock/models.py:2575 msgid "The timestamp of the test finish" msgstr "" @@ -10059,7 +10124,7 @@ msgstr "" msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:459 stock/templates/stock/item_base.html:193 +#: stock/serializers.py:459 stock/templates/stock/item_base.html:189 msgid "Parent Item" msgstr "" @@ -10071,7 +10136,7 @@ msgstr "" msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:603 stock/templates/stock/item_base.html:437 +#: stock/serializers.py:603 stock/templates/stock/item_base.html:433 #: templates/js/translated/table_filters.js:442 users/models.py:174 msgid "Expired" msgstr "" @@ -10410,7 +10475,7 @@ msgstr "" msgid "Test Data" msgstr "" -#: stock/templates/stock/item.html:85 stock/templates/stock/item_base.html:65 +#: stock/templates/stock/item.html:85 msgid "Test Report" msgstr "" @@ -10450,200 +10515,204 @@ msgstr "" msgid "Scan to Location" msgstr "" -#: stock/templates/stock/item_base.html:59 +#: stock/templates/stock/item_base.html:58 #: stock/templates/stock/location.html:67 #: templates/js/translated/filters.js:434 msgid "Printing actions" msgstr "" -#: stock/templates/stock/item_base.html:75 +#: stock/templates/stock/item_base.html:63 templates/js/translated/report.js:49 +msgid "Print Report" +msgstr "" + +#: stock/templates/stock/item_base.html:71 msgid "Stock adjustment actions" msgstr "" -#: stock/templates/stock/item_base.html:79 +#: stock/templates/stock/item_base.html:75 #: stock/templates/stock/location.html:87 templates/js/translated/stock.js:1909 msgid "Count stock" msgstr "" -#: stock/templates/stock/item_base.html:81 +#: stock/templates/stock/item_base.html:77 #: templates/js/translated/stock.js:1891 msgid "Add stock" msgstr "" -#: stock/templates/stock/item_base.html:82 +#: stock/templates/stock/item_base.html:78 #: templates/js/translated/stock.js:1900 msgid "Remove stock" msgstr "" -#: stock/templates/stock/item_base.html:85 +#: stock/templates/stock/item_base.html:81 msgid "Serialize stock" msgstr "" -#: stock/templates/stock/item_base.html:88 +#: stock/templates/stock/item_base.html:84 #: stock/templates/stock/location.html:93 templates/js/translated/stock.js:1918 msgid "Transfer stock" msgstr "" -#: stock/templates/stock/item_base.html:91 +#: stock/templates/stock/item_base.html:87 #: templates/js/translated/stock.js:1973 msgid "Assign to customer" msgstr "" -#: stock/templates/stock/item_base.html:94 +#: stock/templates/stock/item_base.html:90 msgid "Return to stock" msgstr "" -#: stock/templates/stock/item_base.html:97 +#: stock/templates/stock/item_base.html:93 msgid "Uninstall stock item" msgstr "" -#: stock/templates/stock/item_base.html:97 +#: stock/templates/stock/item_base.html:93 msgid "Uninstall" msgstr "" -#: stock/templates/stock/item_base.html:101 +#: stock/templates/stock/item_base.html:97 msgid "Install stock item" msgstr "" -#: stock/templates/stock/item_base.html:101 +#: stock/templates/stock/item_base.html:97 msgid "Install" msgstr "" -#: stock/templates/stock/item_base.html:115 +#: stock/templates/stock/item_base.html:111 msgid "Convert to variant" msgstr "" -#: stock/templates/stock/item_base.html:118 +#: stock/templates/stock/item_base.html:114 msgid "Duplicate stock item" msgstr "" -#: stock/templates/stock/item_base.html:120 +#: stock/templates/stock/item_base.html:116 msgid "Edit stock item" msgstr "" -#: stock/templates/stock/item_base.html:123 +#: stock/templates/stock/item_base.html:119 msgid "Delete stock item" msgstr "" -#: stock/templates/stock/item_base.html:169 templates/InvenTree/search.html:139 +#: stock/templates/stock/item_base.html:165 templates/InvenTree/search.html:139 #: templates/js/translated/build.js:2298 templates/navbar.html:38 msgid "Build" msgstr "" -#: stock/templates/stock/item_base.html:211 +#: stock/templates/stock/item_base.html:207 msgid "No manufacturer set" msgstr "" -#: stock/templates/stock/item_base.html:251 +#: stock/templates/stock/item_base.html:247 msgid "You are not in the list of owners of this item. This stock item cannot be edited." msgstr "" -#: stock/templates/stock/item_base.html:252 +#: stock/templates/stock/item_base.html:248 #: stock/templates/stock/location.html:146 msgid "Read only" msgstr "" -#: stock/templates/stock/item_base.html:265 +#: stock/templates/stock/item_base.html:261 msgid "This stock item is unavailable" msgstr "" -#: stock/templates/stock/item_base.html:271 +#: stock/templates/stock/item_base.html:267 msgid "This stock item is in production and cannot be edited." msgstr "" -#: stock/templates/stock/item_base.html:272 +#: stock/templates/stock/item_base.html:268 msgid "Edit the stock item from the build view." msgstr "" -#: stock/templates/stock/item_base.html:287 +#: stock/templates/stock/item_base.html:283 msgid "This stock item is allocated to Sales Order" msgstr "" -#: stock/templates/stock/item_base.html:295 +#: stock/templates/stock/item_base.html:291 msgid "This stock item is allocated to Build Order" msgstr "" -#: stock/templates/stock/item_base.html:311 +#: stock/templates/stock/item_base.html:307 msgid "This stock item is serialized. It has a unique serial number and the quantity cannot be adjusted" msgstr "" -#: stock/templates/stock/item_base.html:317 +#: stock/templates/stock/item_base.html:313 msgid "previous page" msgstr "" -#: stock/templates/stock/item_base.html:317 +#: stock/templates/stock/item_base.html:313 msgid "Navigate to previous serial number" msgstr "" -#: stock/templates/stock/item_base.html:326 +#: stock/templates/stock/item_base.html:322 msgid "next page" msgstr "" -#: stock/templates/stock/item_base.html:326 +#: stock/templates/stock/item_base.html:322 msgid "Navigate to next serial number" msgstr "" -#: stock/templates/stock/item_base.html:398 +#: stock/templates/stock/item_base.html:394 #: templates/js/translated/build.js:2555 msgid "No location set" msgstr "" -#: stock/templates/stock/item_base.html:413 +#: stock/templates/stock/item_base.html:409 msgid "Tests" msgstr "" -#: stock/templates/stock/item_base.html:419 +#: stock/templates/stock/item_base.html:415 msgid "This stock item has not passed all required tests" msgstr "" -#: stock/templates/stock/item_base.html:437 +#: stock/templates/stock/item_base.html:433 #, python-format msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:439 +#: stock/templates/stock/item_base.html:435 #, python-format msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:455 +#: stock/templates/stock/item_base.html:451 msgid "No stocktake performed" msgstr "" -#: stock/templates/stock/item_base.html:504 +#: stock/templates/stock/item_base.html:500 #: templates/js/translated/stock.js:2038 msgid "stock item" msgstr "" -#: stock/templates/stock/item_base.html:527 +#: stock/templates/stock/item_base.html:523 msgid "Edit Stock Status" msgstr "" -#: stock/templates/stock/item_base.html:536 +#: stock/templates/stock/item_base.html:532 msgid "Stock Item QR Code" msgstr "" -#: stock/templates/stock/item_base.html:547 +#: stock/templates/stock/item_base.html:543 msgid "Link Barcode to Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:611 +#: stock/templates/stock/item_base.html:607 msgid "Select one of the part variants listed below." msgstr "" -#: stock/templates/stock/item_base.html:614 +#: stock/templates/stock/item_base.html:610 msgid "Warning" msgstr "" -#: stock/templates/stock/item_base.html:615 +#: stock/templates/stock/item_base.html:611 msgid "This action cannot be easily undone" msgstr "" -#: stock/templates/stock/item_base.html:623 +#: stock/templates/stock/item_base.html:619 msgid "Convert Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:656 +#: stock/templates/stock/item_base.html:652 msgid "Return to Stock" msgstr "" @@ -11310,7 +11379,7 @@ msgid "Delete Location Type" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:503 -#: templates/InvenTree/settings/stock.html:38 +#: templates/InvenTree/settings/stock.html:39 msgid "New Location Type" msgstr "" @@ -11367,7 +11436,7 @@ msgstr "" msgid "Stock Settings" msgstr "" -#: templates/InvenTree/settings/stock.html:34 +#: templates/InvenTree/settings/stock.html:35 msgid "Stock Location Types" msgstr "" @@ -11852,23 +11921,23 @@ msgstr "" msgid "Barcode Identifier" msgstr "" -#: templates/base.html:103 +#: templates/base.html:102 msgid "Server Restart Required" msgstr "" -#: templates/base.html:106 +#: templates/base.html:105 msgid "A configuration option has been changed which requires a server restart" msgstr "" -#: templates/base.html:106 templates/base.html:116 +#: templates/base.html:105 templates/base.html:115 msgid "Contact your system administrator for further information" msgstr "" -#: templates/base.html:113 +#: templates/base.html:112 msgid "Pending Database Migrations" msgstr "" -#: templates/base.html:116 +#: templates/base.html:115 msgid "There are pending database migrations which require attention" msgstr "" @@ -13946,10 +14015,6 @@ msgstr "" msgid "Delete line item" msgstr "" -#: templates/js/translated/report.js:49 -msgid "Print Report" -msgstr "" - #: templates/js/translated/report.js:68 msgid "Report print successful" msgstr "" diff --git a/src/backend/InvenTree/locale/ru/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/ru/LC_MESSAGES/django.po index fdaa89efbf98..1d2bdc0163e2 100644 --- a/src/backend/InvenTree/locale/ru/LC_MESSAGES/django.po +++ b/src/backend/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: 2024-08-29 07:07+0000\n" -"PO-Revision-Date: 2024-08-29 07:10\n" +"POT-Creation-Date: 2024-09-16 00:37+0000\n" +"PO-Revision-Date: 2024-09-16 00:40\n" "Last-Translator: \n" "Language-Team: Russian\n" "Language: ru_RU\n" @@ -65,9 +65,9 @@ msgstr "Введите дату" #: 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:59 -#: part/models.py:3309 part/templates/part/part_sidebar.html:65 +#: part/models.py:3296 part/templates/part/part_sidebar.html:65 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/admin.py:231 stock/models.py:2369 stock/models.py:2557 +#: stock/admin.py:231 stock/models.py:2367 stock/models.py:2552 #: stock/serializers.py:705 stock/serializers.py:863 stock/serializers.py:989 #: stock/serializers.py:1039 stock/serializers.py:1350 #: stock/serializers.py:1439 stock/serializers.py:1604 @@ -364,7 +364,7 @@ msgstr "Китайский (Традиционный)" msgid "[{site_name}] Log in to the app" msgstr "[{site_name}] Войти в приложение" -#: InvenTree/magic_login.py:38 InvenTree/serializers.py:413 +#: InvenTree/magic_login.py:38 InvenTree/serializers.py:416 #: company/models.py:133 company/templates/company/company_base.html:138 #: templates/InvenTree/settings/user.html:49 #: templates/js/translated/company.js:677 @@ -419,9 +419,9 @@ msgstr "Повторяющиеся имена не могут существов msgid "Invalid choice" msgstr "Неверный выбор" -#: InvenTree/models.py:767 common/models.py:2704 common/models.py:3131 -#: common/models.py:3351 common/serializers.py:439 company/models.py:590 -#: machine/models.py:24 part/models.py:995 part/models.py:3776 +#: InvenTree/models.py:767 common/models.py:2705 common/models.py:3132 +#: common/models.py:3352 common/serializers.py:455 company/models.py:590 +#: machine/models.py:24 part/models.py:995 part/models.py:3763 #: plugin/models.py:51 report/models.py:149 stock/models.py:82 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -446,10 +446,10 @@ msgstr "Название" #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 order/models.py:289 #: order/models.py:1406 part/admin.py:305 part/admin.py:411 part/models.py:1018 -#: part/models.py:3791 part/templates/part/category.html:79 +#: part/models.py:3778 part/templates/part/category.html:79 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:155 -#: report/models.py:509 report/models.py:535 +#: report/models.py:517 report/models.py:543 #: report/templates/report/inventree_build_order_report.html:117 #: stock/admin.py:54 stock/models.py:88 stock/templates/stock/location.html:122 #: templates/InvenTree/settings/notifications.html:19 @@ -517,12 +517,12 @@ msgstr "Ошибка сервера" msgid "An error has been logged by the server." msgstr "Сервер зарегистрировал ошибку." -#: InvenTree/serializers.py:63 part/models.py:4400 +#: InvenTree/serializers.py:63 part/models.py:4387 msgid "Must be a valid number" msgstr "Должно быть действительным номером" #: InvenTree/serializers.py:100 company/models.py:183 -#: company/templates/company/company_base.html:112 part/models.py:3127 +#: company/templates/company/company_base.html:112 part/models.py:3114 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -536,43 +536,43 @@ msgstr "Выберите валюту из доступных вариантов msgid "Username" msgstr "Имя пользователя" -#: InvenTree/serializers.py:407 templates/InvenTree/settings/user.html:37 +#: InvenTree/serializers.py:408 templates/InvenTree/settings/user.html:37 msgid "First Name" msgstr "Имя" -#: InvenTree/serializers.py:407 +#: InvenTree/serializers.py:408 msgid "First name of the user" msgstr "Имя пользователя" -#: InvenTree/serializers.py:410 templates/InvenTree/settings/user.html:41 +#: InvenTree/serializers.py:412 templates/InvenTree/settings/user.html:41 msgid "Last Name" msgstr "Фамилия" -#: InvenTree/serializers.py:410 +#: InvenTree/serializers.py:412 msgid "Last name of the user" msgstr "Фамилия пользователя" -#: InvenTree/serializers.py:413 +#: InvenTree/serializers.py:416 msgid "Email address of the user" msgstr "Электронный адрес пользователя" -#: InvenTree/serializers.py:438 +#: InvenTree/serializers.py:441 msgid "Staff" msgstr "Персонал" -#: InvenTree/serializers.py:438 +#: InvenTree/serializers.py:441 msgid "Does this user have staff permissions" msgstr "Имеет ли этот пользователь права персонала" -#: InvenTree/serializers.py:441 +#: InvenTree/serializers.py:445 msgid "Superuser" msgstr "Суперпользователь" -#: InvenTree/serializers.py:441 +#: InvenTree/serializers.py:445 msgid "Is this user a superuser" msgstr "Это пользователь является суперпользователем" -#: InvenTree/serializers.py:444 common/models.py:2709 company/models.py:160 +#: InvenTree/serializers.py:449 common/models.py:2710 company/models.py:160 #: company/models.py:798 machine/models.py:39 part/admin.py:88 #: part/models.py:1201 plugin/models.py:66 #: templates/js/translated/company.js:523 @@ -585,89 +585,89 @@ msgstr "Это пользователь является суперпользо msgid "Active" msgstr "Активный" -#: InvenTree/serializers.py:444 +#: InvenTree/serializers.py:449 msgid "Is this user account active" msgstr "Активна эта учетная запись" -#: InvenTree/serializers.py:462 +#: InvenTree/serializers.py:467 msgid "You do not have permission to change this user role." msgstr "У вас недостаточно прав для изменения роли этого пользователя." -#: InvenTree/serializers.py:474 +#: InvenTree/serializers.py:503 msgid "Only superusers can create new users" msgstr "Только суперпользователи могут создавать новых пользователей" -#: InvenTree/serializers.py:493 +#: InvenTree/serializers.py:522 msgid "Your account has been created." msgstr "Ваша учётная запись была успешно создана." -#: InvenTree/serializers.py:495 +#: InvenTree/serializers.py:524 msgid "Please use the password reset function to login" msgstr "Пожалуйста, используйте функцию сброса пароля для входа" -#: InvenTree/serializers.py:502 +#: InvenTree/serializers.py:531 msgid "Welcome to InvenTree" msgstr "Добро пожаловать в InvenTree" -#: InvenTree/serializers.py:560 +#: InvenTree/serializers.py:589 msgid "Invalid value" msgstr "Неверное значение" -#: InvenTree/serializers.py:580 importer/models.py:64 +#: InvenTree/serializers.py:609 importer/models.py:64 msgid "Data File" msgstr "Файл данных" -#: InvenTree/serializers.py:581 +#: InvenTree/serializers.py:610 msgid "Select data file for upload" msgstr "Выберите файл данных для загрузки" -#: InvenTree/serializers.py:598 +#: InvenTree/serializers.py:627 msgid "Unsupported file type" msgstr "Неподдерживаемый тип файла" -#: InvenTree/serializers.py:604 +#: InvenTree/serializers.py:633 msgid "File is too large" msgstr "Файл слишком большой" -#: InvenTree/serializers.py:625 +#: InvenTree/serializers.py:654 msgid "No columns found in file" msgstr "Столбцы в файле не найдены" -#: InvenTree/serializers.py:628 +#: InvenTree/serializers.py:657 msgid "No data rows found in file" msgstr "Строки данных в файле не найдены" -#: InvenTree/serializers.py:740 +#: InvenTree/serializers.py:769 msgid "No data rows provided" msgstr "Строки данных в файле не найдены" -#: InvenTree/serializers.py:743 +#: InvenTree/serializers.py:772 msgid "No data columns supplied" msgstr "Столбцы данных не предоставлены" -#: InvenTree/serializers.py:809 +#: InvenTree/serializers.py:838 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "Отсутствует обязательный столбец: '{name}'" -#: InvenTree/serializers.py:818 +#: InvenTree/serializers.py:847 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "Повторяющийся столбец: '{col}'" -#: InvenTree/serializers.py:857 +#: InvenTree/serializers.py:886 msgid "Remote Image" msgstr "Удаленное изображение" -#: InvenTree/serializers.py:858 +#: InvenTree/serializers.py:887 msgid "URL of remote image file" msgstr "ССЫЛКА файла изображения на удаленном сервере" -#: InvenTree/serializers.py:876 +#: InvenTree/serializers.py:905 msgid "Downloading images from remote URL is not enabled" msgstr "Загрузка изображений с удаленного URL-адреса не включена" -#: InvenTree/status.py:65 part/serializers.py:1267 +#: InvenTree/status.py:65 part/serializers.py:1265 msgid "Background worker check failed" msgstr "Проверка фонового работника не удалась" @@ -759,7 +759,7 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "Заказ на производство должен быть отменен перед удалением" -#: build/api.py:319 build/serializers.py:1332 part/models.py:4278 +#: build/api.py:319 build/serializers.py:1332 part/models.py:4265 #: templates/js/translated/bom.js:997 templates/js/translated/bom.js:1037 #: templates/js/translated/build.js:2705 #: templates/js/translated/table_filters.js:197 @@ -767,7 +767,7 @@ msgstr "Заказ на производство должен быть отме msgid "Consumable" msgstr "Расходники" -#: build/api.py:320 build/serializers.py:1333 part/models.py:4272 +#: build/api.py:320 build/serializers.py:1333 part/models.py:4259 #: part/templates/part/upload_bom.html:58 templates/js/translated/bom.js:1001 #: templates/js/translated/bom.js:1028 templates/js/translated/build.js:2696 #: templates/js/translated/table_filters.js:193 @@ -777,7 +777,7 @@ msgid "Optional" msgstr "Необязательно" #: build/api.py:321 common/models.py:1491 part/admin.py:91 part/admin.py:428 -#: part/models.py:1166 part/serializers.py:1596 +#: part/models.py:1166 part/serializers.py:1594 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:337 #: templates/js/translated/table_filters.js:729 @@ -816,7 +816,7 @@ msgstr "Зарезервировано" msgid "Available" msgstr "Доступно" -#: build/models.py:87 build/templates/build/build_base.html:9 +#: build/models.py:88 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_report.html:105 #: stock/serializers.py:85 templates/email/build_order_completed.html:16 @@ -825,7 +825,7 @@ msgstr "Доступно" msgid "Build Order" msgstr "Заказ на производство" -#: build/models.py:88 build/templates/build/build_base.html:13 +#: build/models.py:89 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:111 #: order/templates/order/so_sidebar.html:13 @@ -866,7 +866,7 @@ msgstr "Ссылка на заказ на производство" #: build/models.py:243 build/serializers.py:1331 order/models.py:468 #: order/models.py:979 order/models.py:1366 order/models.py:2128 -#: part/admin.py:414 part/models.py:4293 part/templates/part/upload_bom.html:54 +#: part/admin.py:414 part/models.py:4280 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 @@ -892,11 +892,11 @@ msgstr "Заказ на производство, которому принад #: build/templates/build/build_base.html:105 #: build/templates/build/detail.html:29 company/models.py:1043 order/api.py:761 #: order/models.py:1496 order/models.py:1651 order/models.py:1652 -#: part/api.py:1506 part/api.py:1806 part/models.py:419 part/models.py:3138 -#: part/models.py:3282 part/models.py:3430 part/models.py:3451 -#: part/models.py:3473 part/models.py:3609 part/models.py:3951 -#: part/models.py:4114 part/models.py:4244 part/models.py:4602 -#: part/serializers.py:1213 part/serializers.py:1857 +#: part/api.py:1506 part/api.py:1806 part/models.py:419 part/models.py:3125 +#: part/models.py:3269 part/models.py:3417 part/models.py:3438 +#: part/models.py:3460 part/models.py:3596 part/models.py:3938 +#: part/models.py:4101 part/models.py:4231 part/models.py:4595 +#: part/serializers.py:1211 part/serializers.py:1855 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -1063,12 +1063,12 @@ msgstr "Пользователь, ответственный за этот за #: order/templates/order/return_order_base.html:148 #: order/templates/order/sales_order_base.html:187 #: part/templates/part/part_base.html:399 stock/models.py:859 -#: stock/templates/stock/item_base.html:200 +#: stock/templates/stock/item_base.html:196 #: templates/js/translated/company.js:1019 msgid "External Link" msgstr "Внешняя ссылка" -#: build/models.py:378 common/models.py:3272 part/models.py:1070 +#: build/models.py:378 common/models.py:3273 part/models.py:1070 #: stock/models.py:859 msgid "Link to external URL" msgstr "Ссылка на внешний URL" @@ -1110,7 +1110,7 @@ msgstr "Заказ на производство {build} был завершен msgid "A build order has been completed" msgstr "Заказ на производство был завершен" -#: build/models.py:968 build/models.py:1056 +#: build/models.py:968 build/models.py:1057 msgid "No build output specified" msgstr "Продукция не указана" @@ -1122,37 +1122,37 @@ msgstr "Продукция уже произведена" msgid "Build output does not match Build Order" msgstr "Продукция не совпадает с заказом на производство" -#: build/models.py:1060 build/serializers.py:279 build/serializers.py:328 +#: build/models.py:1061 build/serializers.py:279 build/serializers.py:328 #: build/serializers.py:959 order/models.py:565 order/serializers.py:500 -#: order/serializers.py:666 part/serializers.py:1590 part/serializers.py:2019 +#: order/serializers.py:666 part/serializers.py:1588 part/serializers.py:2017 #: stock/models.py:704 stock/models.py:1515 stock/serializers.py:676 msgid "Quantity must be greater than zero" msgstr "Количество должно быть больше нуля" -#: build/models.py:1065 build/serializers.py:284 +#: build/models.py:1066 build/serializers.py:284 msgid "Quantity cannot be greater than the output quantity" msgstr "Количество не может быть больше количества продукции" -#: build/models.py:1125 build/serializers.py:607 +#: build/models.py:1126 build/serializers.py:607 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "Сборка {serial} не прошла все необходимые тесты" -#: build/models.py:1466 +#: build/models.py:1477 msgid "Build Order Line Item" msgstr "Номер позиции для производства" -#: build/models.py:1491 +#: build/models.py:1502 msgid "Build object" msgstr "Объект производства" -#: build/models.py:1505 build/models.py:1761 build/serializers.py:266 +#: build/models.py:1516 build/models.py:1775 build/serializers.py:266 #: build/serializers.py:313 build/serializers.py:1339 #: build/templates/build/build_base.html:110 -#: build/templates/build/detail.html:34 common/models.py:2581 +#: build/templates/build/detail.html:34 common/models.py:2582 #: order/models.py:1349 order/models.py:2034 order/serializers.py:1464 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:413 -#: part/forms.py:48 part/models.py:3296 part/models.py:4266 +#: part/forms.py:48 part/models.py:3283 part/models.py:4253 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1163,9 +1163,9 @@ msgstr "Объект производства" #: report/templates/report/inventree_test_report.html:90 #: report/templates/report/inventree_test_report.html:169 stock/admin.py:160 #: stock/serializers.py:128 stock/serializers.py:168 stock/serializers.py:667 -#: stock/templates/stock/item_base.html:287 -#: stock/templates/stock/item_base.html:295 -#: stock/templates/stock/item_base.html:342 +#: stock/templates/stock/item_base.html:283 +#: stock/templates/stock/item_base.html:291 +#: stock/templates/stock/item_base.html:338 #: templates/email/build_order_completed.html:18 #: templates/js/translated/barcode.js:579 templates/js/translated/bom.js:771 #: templates/js/translated/bom.js:981 templates/js/translated/build.js:525 @@ -1194,41 +1194,41 @@ msgstr "Объект производства" msgid "Quantity" msgstr "Количество" -#: build/models.py:1506 +#: build/models.py:1517 msgid "Required quantity for build order" msgstr "Требуемое количество для заказа на производство" -#: build/models.py:1586 +#: build/models.py:1597 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "Элемент производства должен указать продукцию, как главную деталь помеченную как отслеживаемая" -#: build/models.py:1595 +#: build/models.py:1606 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "Резервируемое количество ({q}) не должно превышать доступное количество на складе ({a})" -#: build/models.py:1605 order/models.py:1985 +#: build/models.py:1616 order/models.py:1985 msgid "Stock item is over-allocated" msgstr "Складская позиция перераспределена" -#: build/models.py:1611 order/models.py:1988 +#: build/models.py:1622 order/models.py:1988 msgid "Allocation quantity must be greater than zero" msgstr "Резервируемое количество должно быть больше нуля" -#: build/models.py:1617 +#: build/models.py:1628 msgid "Quantity must be 1 for serialized stock" msgstr "Количество должно быть 1 для сериализованных запасов" -#: build/models.py:1676 +#: build/models.py:1687 msgid "Selected stock item does not match BOM line" msgstr "Выбранная складская позиция не соответствует позиции в BOM" -#: build/models.py:1748 build/serializers.py:939 order/serializers.py:1301 +#: build/models.py:1762 build/serializers.py:939 order/serializers.py:1301 #: order/serializers.py:1322 stock/models.py:381 stock/serializers.py:94 #: stock/serializers.py:770 stock/serializers.py:1288 stock/serializers.py:1400 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 -#: stock/templates/stock/item_base.html:194 +#: stock/templates/stock/item_base.html:190 #: templates/js/translated/build.js:1921 #: templates/js/translated/sales_order.js:301 #: templates/js/translated/sales_order.js:1234 @@ -1241,19 +1241,19 @@ msgstr "Выбранная складская позиция не соответ msgid "Stock Item" msgstr "Складская позиция" -#: build/models.py:1749 +#: build/models.py:1763 msgid "Source stock item" msgstr "Исходная складская позиция" -#: build/models.py:1762 +#: build/models.py:1776 msgid "Stock quantity to allocate to build" msgstr "Количество на складе для производства" -#: build/models.py:1770 +#: build/models.py:1784 msgid "Install into" msgstr "Установить в" -#: build/models.py:1771 +#: build/models.py:1785 msgid "Destination stock item" msgstr "Целевая складская позиция" @@ -1262,7 +1262,7 @@ msgid "Build Level" msgstr "" #: build/serializers.py:115 build/serializers.py:1234 build/serializers.py:1323 -#: part/admin.py:41 part/admin.py:408 part/models.py:4116 part/stocktake.py:219 +#: part/admin.py:41 part/admin.py:408 part/models.py:4103 part/stocktake.py:219 #: stock/admin.py:157 msgid "Part Name" msgstr "Наименование детали" @@ -1323,10 +1323,10 @@ msgid "Enter serial numbers for build outputs" msgstr "Введите серийные номера для продукции" #: build/serializers.py:359 build/serializers.py:500 build/serializers.py:572 -#: order/serializers.py:655 order/serializers.py:778 order/serializers.py:1789 -#: part/serializers.py:1233 stock/serializers.py:103 stock/serializers.py:698 +#: order/serializers.py:655 order/serializers.py:778 order/serializers.py:1797 +#: part/serializers.py:1231 stock/serializers.py:103 stock/serializers.py:698 #: stock/serializers.py:858 stock/serializers.py:984 stock/serializers.py:1432 -#: stock/serializers.py:1688 stock/templates/stock/item_base.html:394 +#: stock/serializers.py:1688 stock/templates/stock/item_base.html:390 #: templates/js/translated/barcode.js:578 #: templates/js/translated/barcode.js:826 templates/js/translated/build.js:1035 #: templates/js/translated/build.js:1177 templates/js/translated/build.js:2547 @@ -1390,7 +1390,7 @@ msgstr "Место хранения для завершенной продукц #: build/templates/build/detail.html:62 order/models.py:477 #: order/models.py:1003 order/models.py:2152 order/serializers.py:687 #: stock/admin.py:165 stock/serializers.py:1035 stock/serializers.py:1576 -#: stock/templates/stock/item_base.html:427 +#: stock/templates/stock/item_base.html:423 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2366 #: templates/js/translated/purchase_order.js:1371 #: templates/js/translated/purchase_order.js:1792 @@ -1522,7 +1522,7 @@ msgstr "Продукция должна быть указан для резер msgid "Build output cannot be specified for allocation of untracked parts" msgstr "Продукция не может быть указана для резервирования не отслеживаемых частей" -#: build/serializers.py:1030 order/serializers.py:1614 +#: build/serializers.py:1030 order/serializers.py:1622 msgid "Allocation items must be provided" msgstr "Необходимо указать резервируемые элементы" @@ -1590,7 +1590,7 @@ msgstr "" #: build/serializers.py:1230 company/models.py:849 #: company/templates/company/supplier_part.html:160 order/serializers.py:691 #: stock/admin.py:229 stock/models.py:822 stock/serializers.py:1586 -#: stock/templates/stock/item_base.html:240 +#: stock/templates/stock/item_base.html:236 #: templates/js/translated/company.js:1646 #: templates/js/translated/purchase_order.js:1169 #: templates/js/translated/purchase_order.js:1332 @@ -1600,12 +1600,12 @@ msgid "Packaging" msgstr "Упаковка" #: build/serializers.py:1233 part/admin.py:39 part/admin.py:398 -#: part/models.py:4115 part/stocktake.py:218 stock/admin.py:153 +#: part/models.py:4102 part/stocktake.py:218 stock/admin.py:153 msgid "Part ID" msgstr "Код детали" #: build/serializers.py:1235 build/serializers.py:1324 part/admin.py:402 -#: part/models.py:4117 +#: part/models.py:4104 msgid "Part IPN" msgstr "IPN детали" @@ -1625,7 +1625,7 @@ msgstr "" #: build/serializers.py:1243 #: report/templates/report/inventree_return_order_report.html:25 #: report/templates/report/inventree_test_report.html:88 stock/models.py:849 -#: stock/serializers.py:152 stock/templates/stock/item_base.html:311 +#: stock/serializers.py:152 stock/templates/stock/item_base.html:307 #: templates/js/translated/build.js:523 templates/js/translated/build.js:1543 #: templates/js/translated/build.js:2530 #: templates/js/translated/model_renderers.js:231 @@ -1644,7 +1644,7 @@ msgstr "Серийный номер" msgid "Allocated Quantity" msgstr "Зарезервированное количество" -#: build/serializers.py:1257 stock/templates/stock/item_base.html:340 +#: build/serializers.py:1257 stock/templates/stock/item_base.html:336 msgid "Available Quantity" msgstr "Доступный запас" @@ -1667,13 +1667,13 @@ msgstr "Отслеживание" msgid "Inherited" msgstr "Унаследованные" -#: build/serializers.py:1337 part/models.py:4326 +#: build/serializers.py:1337 part/models.py:4313 #: part/templates/part/upload_bom.html:56 templates/js/translated/bom.js:1046 #: templates/js/translated/build.js:2714 msgid "Allow Variants" msgstr "Разрешить разновидности" -#: build/serializers.py:1341 part/models.py:4124 part/models.py:4594 +#: build/serializers.py:1341 part/models.py:4111 part/models.py:4587 #: stock/api.py:793 msgid "BOM Item" msgstr "Позиция BOM" @@ -1684,7 +1684,7 @@ msgid "Allocated Stock" msgstr "Зарезервированные Запасы" #: build/serializers.py:1355 order/serializers.py:1179 part/admin.py:132 -#: part/bom.py:186 part/serializers.py:920 part/serializers.py:1623 +#: part/bom.py:186 part/serializers.py:918 part/serializers.py:1621 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 #: templates/js/translated/build.js:2807 templates/js/translated/part.js:712 #: templates/js/translated/part.js:2155 @@ -1692,13 +1692,13 @@ msgstr "Зарезервированные Запасы" msgid "On Order" msgstr "В заказе" -#: build/serializers.py:1360 order/serializers.py:1180 part/serializers.py:1625 +#: build/serializers.py:1360 order/serializers.py:1180 part/serializers.py:1623 #: templates/js/translated/build.js:2811 #: templates/js/translated/table_filters.js:367 msgid "In Production" msgstr "В производстве" -#: build/serializers.py:1365 part/bom.py:185 part/serializers.py:1650 +#: build/serializers.py:1365 part/bom.py:185 part/serializers.py:1648 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" @@ -1716,7 +1716,7 @@ msgstr "" msgid "Total Available Stock" msgstr "" -#: build/serializers.py:1372 part/serializers.py:927 +#: build/serializers.py:1372 part/serializers.py:925 msgid "External Stock" msgstr "Внешний склад" @@ -1745,7 +1745,7 @@ msgstr "Отменено" #: importer/status_codes.py:27 order/status_codes.py:15 #: order/status_codes.py:50 order/status_codes.py:81 #: order/templates/order/order_base.html:163 -#: order/templates/order/sales_order_base.html:168 report/models.py:443 +#: order/templates/order/sales_order_base.html:168 report/models.py:451 msgid "Complete" msgstr "Готово" @@ -1849,9 +1849,6 @@ msgid "Delete Build" msgstr "Удалить производство" #: build/templates/build/build_base.html:87 -msgid "Isueue Build" -msgstr "" - #: build/templates/build/build_base.html:88 msgid "Issue Build" msgstr "" @@ -1931,7 +1928,7 @@ msgstr "Завершенная продукция" #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_report.html:135 #: report/templates/report/inventree_sales_order_report.html:14 -#: stock/templates/stock/item_base.html:369 +#: stock/templates/stock/item_base.html:365 #: templates/email/overdue_sales_order.html:15 #: templates/js/translated/pricing.js:929 #: templates/js/translated/sales_order.js:805 @@ -1991,7 +1988,7 @@ msgid "Allocated Parts" msgstr "Зарезервированные детали" #: build/templates/build/detail.html:80 stock/admin.py:163 -#: stock/templates/stock/item_base.html:162 +#: stock/templates/stock/item_base.html:158 #: templates/js/translated/build.js:1556 #: templates/js/translated/model_renderers.js:242 #: templates/js/translated/purchase_order.js:1326 @@ -2148,19 +2145,19 @@ msgstr "Незавершенная продукция" msgid "Test Statistics" msgstr "" -#: common/api.py:692 +#: common/api.py:725 msgid "Is Link" msgstr "Ссылка" -#: common/api.py:700 +#: common/api.py:733 msgid "Is File" msgstr "Файл" -#: common/api.py:743 +#: common/api.py:776 msgid "User does not have permission to delete these attachments" msgstr "" -#: common/api.py:760 +#: common/api.py:793 msgid "User does not have permission to delete this attachment" msgstr "У пользователя нет прав на удаление этого вложения" @@ -2352,8 +2349,8 @@ msgstr "Как часто обновлять курс валют (установ #: common/models.py:1297 common/models.py:1353 common/models.py:1366 #: common/models.py:1374 common/models.py:1383 common/models.py:1392 -#: common/models.py:1629 common/models.py:1651 common/models.py:1766 -#: common/models.py:2148 +#: common/models.py:1629 common/models.py:1651 common/models.py:1752 +#: common/models.py:2141 msgid "days" msgstr "дней" @@ -2581,9 +2578,9 @@ msgstr "Скопировать параметры по шаблону катег msgid "Copy category parameter templates when creating a part" msgstr "Копировать параметры по шаблону категории при создании детали" -#: common/models.py:1485 part/admin.py:108 part/models.py:3959 -#: report/models.py:293 report/models.py:360 report/serializers.py:90 -#: report/serializers.py:131 stock/serializers.py:233 +#: common/models.py:1485 part/admin.py:108 part/models.py:3946 +#: report/models.py:301 report/models.py:368 report/serializers.py:91 +#: report/serializers.py:132 stock/serializers.py:233 #: templates/js/translated/table_filters.js:138 #: templates/js/translated/table_filters.js:775 msgid "Template" @@ -2598,7 +2595,7 @@ msgid "Parts can be assembled from other components by default" msgstr "По умолчанию детали могут быть собраны из других компонентов" #: common/models.py:1497 part/admin.py:95 part/models.py:1172 -#: part/serializers.py:1617 templates/js/translated/table_filters.js:737 +#: part/serializers.py:1615 templates/js/translated/table_filters.js:737 msgid "Component" msgstr "Компонент" @@ -2823,7 +2820,7 @@ msgid "Log errors which occur when generating reports" msgstr "Журнал ошибок, которые возникают при создании отчетов" #: common/models.py:1702 plugin/builtin/labels/label_sheet.py:28 -#: report/models.py:301 +#: report/models.py:309 msgid "Page Size" msgstr "Размер страницы" @@ -2832,914 +2829,914 @@ msgid "Default page size for PDF reports" msgstr "Размер страницы по умолчанию для PDF отчетов" #: common/models.py:1708 -msgid "Enable Test Reports" -msgstr "Включить отчеты" - -#: common/models.py:1709 -msgid "Enable generation of test reports" -msgstr "Включить генерацию отчетов" - -#: common/models.py:1714 -msgid "Attach Test Reports" -msgstr "Прикрепить отчеты о тестах" - -#: common/models.py:1716 -msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" -msgstr "При печати отчета о тестировании приложить копию тестового отчета к соответствующему складской позиции" - -#: common/models.py:1722 msgid "Globally Unique Serials" msgstr "Глобально уникальные серийные номера" -#: common/models.py:1723 +#: common/models.py:1709 msgid "Serial numbers for stock items must be globally unique" msgstr "Серийные номера для складских позиций должны быть уникальными глобально" -#: common/models.py:1728 +#: common/models.py:1714 msgid "Autofill Serial Numbers" msgstr "Автоматическое заполнение серийных номеров" -#: common/models.py:1729 +#: common/models.py:1715 msgid "Autofill serial numbers in forms" msgstr "Автоматическое заполнение серийных номеров в формах" -#: common/models.py:1734 +#: common/models.py:1720 msgid "Delete Depleted Stock" msgstr "Удалить исчерпанный запас" -#: common/models.py:1736 +#: common/models.py:1722 msgid "Determines default behavior when a stock item is depleted" msgstr "Определяет поведение по умолчанию, когда складская позиция заканчивается" -#: common/models.py:1742 +#: common/models.py:1728 msgid "Batch Code Template" msgstr "Код партии Шаблона" -#: common/models.py:1744 +#: common/models.py:1730 msgid "Template for generating default batch codes for stock items" msgstr "Шаблон для создания кодов партии по умолчанию для складских позиций" -#: common/models.py:1749 +#: common/models.py:1735 msgid "Stock Expiry" msgstr "Срок годности Запасов" -#: common/models.py:1750 +#: common/models.py:1736 msgid "Enable stock expiry functionality" msgstr "Включить функцию истечения срока годности" -#: common/models.py:1755 +#: common/models.py:1741 msgid "Sell Expired Stock" msgstr "Использовать просроченные остатки в производстве" -#: common/models.py:1756 +#: common/models.py:1742 msgid "Allow sale of expired stock" msgstr "Разрешить продажу просроченных запасов" -#: common/models.py:1761 +#: common/models.py:1747 msgid "Stock Stale Time" msgstr "Время Залежалости Запасов" -#: common/models.py:1763 +#: common/models.py:1749 msgid "Number of days stock items are considered stale before expiring" msgstr "Количество дней перед тем как складская единица будет считаться просроченной" -#: common/models.py:1770 +#: common/models.py:1756 msgid "Build Expired Stock" msgstr "Использовать просроченные остатки в производстве" -#: common/models.py:1771 +#: common/models.py:1757 msgid "Allow building with expired stock" msgstr "Разрешить использовать просроченные остатки в производстве" -#: common/models.py:1776 +#: common/models.py:1762 msgid "Stock Ownership Control" msgstr "Контроль за собственными запасами" -#: common/models.py:1777 +#: common/models.py:1763 msgid "Enable ownership control over stock locations and items" msgstr "Разрешить владельцу контролировать расположение складов и номенклатуры" -#: common/models.py:1782 +#: common/models.py:1768 msgid "Stock Location Default Icon" msgstr "Значок местоположения по умолчанию" -#: common/models.py:1783 +#: common/models.py:1769 msgid "Stock location default icon (empty means no icon)" msgstr "Значок местоположения склада по умолчанию (пустой означает отсутствие значка)" -#: common/models.py:1788 +#: common/models.py:1774 msgid "Show Installed Stock Items" msgstr "Показать установленные складские позиции" -#: common/models.py:1789 +#: common/models.py:1775 msgid "Display installed stock items in stock tables" msgstr "Отображать установленные складские позиции в складских таблицах" -#: common/models.py:1794 +#: common/models.py:1780 msgid "Check BOM when installing items" msgstr "Проверять спецификацию при установке изделий" -#: common/models.py:1796 +#: common/models.py:1782 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "Установленные единица хранения должны присутствовать в спецификации для родительской детали" -#: common/models.py:1802 +#: common/models.py:1788 msgid "Allow Out of Stock Transfer" msgstr "Разрешить передачу товара, отсутствующего на складе" -#: common/models.py:1804 +#: common/models.py:1790 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "Разрешить перемещение товаров, которых нет на складе, между складами" -#: common/models.py:1810 +#: common/models.py:1796 msgid "Build Order Reference Pattern" msgstr "Паттерн ссылки заказа на производство" -#: common/models.py:1812 +#: common/models.py:1798 msgid "Required pattern for generating Build Order reference field" msgstr "Поле требуемого паттерна для создания ссылки заказа на производство" -#: common/models.py:1818 common/models.py:1874 common/models.py:1896 -#: common/models.py:1932 +#: common/models.py:1804 common/models.py:1860 common/models.py:1882 +#: common/models.py:1918 msgid "Require Responsible Owner" msgstr "Требуется ответственный владелец" -#: common/models.py:1819 common/models.py:1875 common/models.py:1897 -#: common/models.py:1933 +#: common/models.py:1805 common/models.py:1861 common/models.py:1883 +#: common/models.py:1919 msgid "A responsible owner must be assigned to each order" msgstr "Ответственный владелец должен быть назначен для каждого заказа" -#: common/models.py:1824 +#: common/models.py:1810 msgid "Require Active Part" msgstr "" -#: common/models.py:1825 +#: common/models.py:1811 msgid "Prevent build order creation for inactive parts" msgstr "" -#: common/models.py:1830 +#: common/models.py:1816 msgid "Require Locked Part" msgstr "" -#: common/models.py:1831 +#: common/models.py:1817 msgid "Prevent build order creation for unlocked parts" msgstr "" -#: common/models.py:1836 +#: common/models.py:1822 msgid "Require Valid BOM" msgstr "" -#: common/models.py:1838 +#: common/models.py:1824 msgid "Prevent build order creation unless BOM has been validated" msgstr "" -#: common/models.py:1844 +#: common/models.py:1830 msgid "Require Closed Child Orders" msgstr "" -#: common/models.py:1846 +#: common/models.py:1832 msgid "Prevent build order completion until all child orders are closed" msgstr "" -#: common/models.py:1852 +#: common/models.py:1838 msgid "Block Until Tests Pass" msgstr "" -#: common/models.py:1854 +#: common/models.py:1840 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "Запретить вывод сборки до тех пор, пока не пройдут все необходимые тесты" -#: common/models.py:1860 +#: common/models.py:1846 msgid "Enable Return Orders" msgstr "Включить заказы на возврат" -#: common/models.py:1861 +#: common/models.py:1847 msgid "Enable return order functionality in the user interface" msgstr "Включите функцию заказа на возврат в пользовательском интерфейсе" -#: common/models.py:1866 +#: common/models.py:1852 msgid "Return Order Reference Pattern" msgstr "Шаблон заказа на возврат товара" -#: common/models.py:1868 +#: common/models.py:1854 msgid "Required pattern for generating Return Order reference field" msgstr "Необходимый шаблон для создания поля «Возврат заказа»" -#: common/models.py:1880 +#: common/models.py:1866 msgid "Edit Completed Return Orders" msgstr "Редактировать завершенные возвратные заказы" -#: common/models.py:1882 +#: common/models.py:1868 msgid "Allow editing of return orders after they have been completed" msgstr "Разрешить редактирование возвращенных заказов после их завершения" -#: common/models.py:1888 +#: common/models.py:1874 msgid "Sales Order Reference Pattern" msgstr "Шаблон заказа на возврат товара" -#: common/models.py:1890 +#: common/models.py:1876 msgid "Required pattern for generating Sales Order reference field" msgstr "Необходимый шаблон для создания поля «Возврат заказа»" -#: common/models.py:1902 +#: common/models.py:1888 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1903 +#: common/models.py:1889 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1908 +#: common/models.py:1894 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1910 +#: common/models.py:1896 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1916 +#: common/models.py:1902 msgid "Mark Shipped Orders as Complete" msgstr "" -#: common/models.py:1918 +#: common/models.py:1904 msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status" msgstr "" -#: common/models.py:1924 +#: common/models.py:1910 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1926 +#: common/models.py:1912 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1938 +#: common/models.py:1924 msgid "Edit Completed Purchase Orders" msgstr "Редактировать завершенные заказы на покупку" -#: common/models.py:1940 +#: common/models.py:1926 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1946 +#: common/models.py:1932 msgid "Auto Complete Purchase Orders" msgstr "" -#: common/models.py:1948 +#: common/models.py:1934 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/models.py:1955 +#: common/models.py:1941 msgid "Enable password forgot" msgstr "" -#: common/models.py:1956 +#: common/models.py:1942 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1961 +#: common/models.py:1947 msgid "Enable registration" msgstr "Разрешить регистрацию" -#: common/models.py:1962 +#: common/models.py:1948 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1967 +#: common/models.py:1953 msgid "Enable SSO" msgstr "Включить SSO" -#: common/models.py:1968 +#: common/models.py:1954 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1973 +#: common/models.py:1959 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1975 +#: common/models.py:1961 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1981 +#: common/models.py:1967 msgid "Enable SSO group sync" msgstr "" -#: common/models.py:1983 +#: common/models.py:1969 msgid "Enable synchronizing InvenTree groups with groups provided by the IdP" msgstr "" -#: common/models.py:1989 +#: common/models.py:1975 msgid "SSO group key" msgstr "" -#: common/models.py:1991 +#: common/models.py:1977 msgid "The name of the groups claim attribute provided by the IdP" msgstr "" -#: common/models.py:1997 +#: common/models.py:1983 msgid "SSO group map" msgstr "" -#: common/models.py:1999 +#: common/models.py:1985 msgid "A mapping from SSO groups to local InvenTree groups. If the local group does not exist, it will be created." msgstr "" -#: common/models.py:2005 +#: common/models.py:1991 msgid "Remove groups outside of SSO" msgstr "" -#: common/models.py:2007 +#: common/models.py:1993 msgid "Whether groups assigned to the user should be removed if they are not backend by the IdP. Disabling this setting might cause security issues" msgstr "" -#: common/models.py:2013 +#: common/models.py:1999 msgid "Email required" msgstr "Необходимо указать EMail" -#: common/models.py:2014 +#: common/models.py:2000 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:2019 +#: common/models.py:2005 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:2021 +#: common/models.py:2007 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:2027 +#: common/models.py:2013 msgid "Mail twice" msgstr "Написать дважды" -#: common/models.py:2028 +#: common/models.py:2014 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:2033 +#: common/models.py:2019 msgid "Password twice" msgstr "Пароль дважды" -#: common/models.py:2034 +#: common/models.py:2020 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:2039 +#: common/models.py:2025 msgid "Allowed domains" msgstr "Разрешенные домены" -#: common/models.py:2041 +#: common/models.py:2027 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:2047 +#: common/models.py:2033 msgid "Group on signup" msgstr "" -#: common/models.py:2049 +#: common/models.py:2035 msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP." msgstr "" -#: common/models.py:2055 +#: common/models.py:2041 msgid "Enforce MFA" msgstr "Принудительное MFA" -#: common/models.py:2056 +#: common/models.py:2042 msgid "Users must use multifactor security." msgstr "Пользователи должны использовать многофакторную безопасность." -#: common/models.py:2061 +#: common/models.py:2047 msgid "Check plugins on startup" msgstr "Проверять плагины при запуске" -#: common/models.py:2063 +#: common/models.py:2049 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:2071 +#: common/models.py:2057 msgid "Check for plugin updates" msgstr "" -#: common/models.py:2072 +#: common/models.py:2058 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:2078 +#: common/models.py:2064 msgid "Enable URL integration" msgstr "" -#: common/models.py:2079 +#: common/models.py:2065 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:2085 +#: common/models.py:2071 msgid "Enable navigation integration" msgstr "" -#: common/models.py:2086 +#: common/models.py:2072 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:2092 +#: common/models.py:2078 msgid "Enable app integration" msgstr "" -#: common/models.py:2093 +#: common/models.py:2079 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:2099 +#: common/models.py:2085 msgid "Enable schedule integration" msgstr "" -#: common/models.py:2100 +#: common/models.py:2086 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:2106 +#: common/models.py:2092 msgid "Enable event integration" msgstr "" -#: common/models.py:2107 +#: common/models.py:2093 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:2113 +#: common/models.py:2099 +msgid "Enable interface integration" +msgstr "" + +#: common/models.py:2100 +msgid "Enable plugins to integrate into the user interface" +msgstr "" + +#: common/models.py:2106 msgid "Enable project codes" msgstr "" -#: common/models.py:2114 +#: common/models.py:2107 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:2119 +#: common/models.py:2112 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:2121 +#: common/models.py:2114 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:2127 +#: common/models.py:2120 msgid "Exclude External Locations" msgstr "" -#: common/models.py:2129 +#: common/models.py:2122 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "Исключить складские позиции во внешних местах хранения из инвентаризации" -#: common/models.py:2135 +#: common/models.py:2128 msgid "Automatic Stocktake Period" msgstr "Автоматический период инвентаризации" -#: common/models.py:2137 +#: common/models.py:2130 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "Количество дней между автоматической записью запасов (установите нулевое значение для отключения)" -#: common/models.py:2143 +#: common/models.py:2136 msgid "Report Deletion Interval" msgstr "Интервал удаления журнала ошибок" -#: common/models.py:2145 +#: common/models.py:2138 msgid "Stocktake reports will be deleted after specified number of days" msgstr "Журналы ошибок будут удалены после указанного количества дней" -#: common/models.py:2152 +#: common/models.py:2145 msgid "Display Users full names" msgstr "Показывать полные имена пользователей" -#: common/models.py:2153 +#: common/models.py:2146 msgid "Display Users full names instead of usernames" msgstr "Отображать полные имена пользователей вместо логинов" -#: common/models.py:2158 +#: common/models.py:2151 msgid "Enable Test Station Data" msgstr "Включить данные тестовой станции" -#: common/models.py:2159 +#: common/models.py:2152 msgid "Enable test station data collection for test results" msgstr "Включить сбор данных с тестовой станции для получения результатов тестирования" -#: common/models.py:2171 common/models.py:2551 +#: common/models.py:2157 +msgid "Create Template on Upload" +msgstr "" + +#: common/models.py:2159 +msgid "Create a new test template when uploading test data which does not match an existing template" +msgstr "" + +#: common/models.py:2172 common/models.py:2552 msgid "Settings key (must be unique - case insensitive" msgstr "Ключ настроек (должен быть уникальным - не чувствителен к регистру)" -#: common/models.py:2214 +#: common/models.py:2215 msgid "Hide inactive parts" msgstr "Скрыть неактивные детали" -#: common/models.py:2216 +#: common/models.py:2217 msgid "Hide inactive parts in results displayed on the homepage" msgstr "Скрывать неактивные части в результатах, отображаемых на главной странице," -#: common/models.py:2222 +#: common/models.py:2223 msgid "Show subscribed parts" msgstr "Показывать детали, на которые включены уведомления" -#: common/models.py:2223 +#: common/models.py:2224 msgid "Show subscribed parts on the homepage" msgstr "Показывать детали, на которые включены уведомления, на главной странице" -#: common/models.py:2228 +#: common/models.py:2229 msgid "Show subscribed categories" msgstr "Показывать категории, на которые включены уведомления" -#: common/models.py:2229 +#: common/models.py:2230 msgid "Show subscribed part categories on the homepage" msgstr "Показывать категории, на которые включены уведомления, на главной странице" -#: common/models.py:2234 +#: common/models.py:2235 msgid "Show latest parts" msgstr "Показывать последние детали" -#: common/models.py:2235 +#: common/models.py:2236 msgid "Show latest parts on the homepage" msgstr "Показывать последние детали на главной странице" -#: common/models.py:2240 +#: common/models.py:2241 msgid "Show invalid BOMs" msgstr "Показывать недопустимые спецификации" -#: common/models.py:2241 +#: common/models.py:2242 msgid "Show BOMs that await validation on the homepage" msgstr "Показывать BOMы, ожидающие проверки, на главной странице" -#: common/models.py:2246 +#: common/models.py:2247 msgid "Show recent stock changes" msgstr "Показывать изменившиеся складские запасы" -#: common/models.py:2247 +#: common/models.py:2248 msgid "Show recently changed stock items on the homepage" msgstr "Показывать складские позиции с недавно изменившимися запасами на главной странице" -#: common/models.py:2252 +#: common/models.py:2253 msgid "Show low stock" msgstr "Показывать низкие складские запасы" -#: common/models.py:2253 +#: common/models.py:2254 msgid "Show low stock items on the homepage" msgstr "Показывать складские позиции с низкими запасами на главной странице" -#: common/models.py:2258 +#: common/models.py:2259 msgid "Show depleted stock" msgstr "Показывать закончившиеся складские позиции" -#: common/models.py:2259 +#: common/models.py:2260 msgid "Show depleted stock items on the homepage" msgstr "Показывать закончившиеся складские позиции на главной странице" -#: common/models.py:2264 +#: common/models.py:2265 msgid "Show needed stock" msgstr "Показывать требуемые складские позиции" -#: common/models.py:2265 +#: common/models.py:2266 msgid "Show stock items needed for builds on the homepage" msgstr "Показывать требуемые для производства складские позиции на главной странице" -#: common/models.py:2270 +#: common/models.py:2271 msgid "Show expired stock" msgstr "Показывать складские позиции с истекшим сроком годности" -#: common/models.py:2271 +#: common/models.py:2272 msgid "Show expired stock items on the homepage" msgstr "Показывать складские позиции с истёкшим сроком годности на главной странице" -#: common/models.py:2276 +#: common/models.py:2277 msgid "Show stale stock" msgstr "Показывать залежалые складские позиции" -#: common/models.py:2277 +#: common/models.py:2278 msgid "Show stale stock items on the homepage" msgstr "Показывать складские позиции с истекающим сроком годности на главной странице" -#: common/models.py:2282 +#: common/models.py:2283 msgid "Show pending builds" msgstr "Показывать незавершённые производства" -#: common/models.py:2283 +#: common/models.py:2284 msgid "Show pending builds on the homepage" msgstr "Показывать незавершённые производства на главной странице" -#: common/models.py:2288 +#: common/models.py:2289 msgid "Show overdue builds" msgstr "Показывать просроченные производства" -#: common/models.py:2289 +#: common/models.py:2290 msgid "Show overdue builds on the homepage" msgstr "Показывать просроченные производства на главной странице" -#: common/models.py:2294 +#: common/models.py:2295 msgid "Show outstanding POs" msgstr "Показать невыполненные заказы" -#: common/models.py:2295 +#: common/models.py:2296 msgid "Show outstanding POs on the homepage" msgstr "Покажите невыполненные заказы на покупку на главной странице" -#: common/models.py:2300 +#: common/models.py:2301 msgid "Show overdue POs" msgstr "Показать просроченные заказы на производство" -#: common/models.py:2301 +#: common/models.py:2302 msgid "Show overdue POs on the homepage" msgstr "Показывать просроченные сборки на главной странице" -#: common/models.py:2306 +#: common/models.py:2307 msgid "Show outstanding SOs" msgstr "Показать невыполненные заказы" -#: common/models.py:2307 +#: common/models.py:2308 msgid "Show outstanding SOs on the homepage" msgstr "Покажите невыполненные заказы на покупку на главной странице" -#: common/models.py:2312 +#: common/models.py:2313 msgid "Show overdue SOs" msgstr "Показать просроченные заказы на продажу" -#: common/models.py:2313 +#: common/models.py:2314 msgid "Show overdue SOs on the homepage" msgstr "Показывать просроченные заказы на покупку на главной странице" -#: common/models.py:2318 +#: common/models.py:2319 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2319 +#: common/models.py:2320 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2324 +#: common/models.py:2325 msgid "Show News" msgstr "Показывать новости" -#: common/models.py:2325 +#: common/models.py:2326 msgid "Show news on the homepage" msgstr "" -#: common/models.py:2330 +#: common/models.py:2331 msgid "Inline label display" msgstr "" -#: common/models.py:2332 +#: common/models.py:2333 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "Отображение PDF-этикетки в браузере вместо загрузки в виде файла" -#: common/models.py:2338 +#: common/models.py:2339 msgid "Default label printer" msgstr "Принтер этикетки по умолчанию" -#: common/models.py:2340 +#: common/models.py:2341 msgid "Configure which label printer should be selected by default" msgstr "Настроить принтер этикеток по умолчанию" -#: common/models.py:2346 +#: common/models.py:2347 msgid "Inline report display" msgstr "Отображение встроенного отчета" -#: common/models.py:2348 +#: common/models.py:2349 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "Отображение PDF-этикетки в браузере вместо загрузки в виде файла" -#: common/models.py:2354 +#: common/models.py:2355 msgid "Search Parts" msgstr "Поиск Деталей" -#: common/models.py:2355 +#: common/models.py:2356 msgid "Display parts in search preview window" msgstr "Отображение деталей в окне предварительного просмотра поиска" -#: common/models.py:2360 +#: common/models.py:2361 msgid "Search Supplier Parts" msgstr "Поиск деталей поставщика" -#: common/models.py:2361 +#: common/models.py:2362 msgid "Display supplier parts in search preview window" msgstr "Отображение деталей поставщика в окне предварительного просмотра поиска" -#: common/models.py:2366 +#: common/models.py:2367 msgid "Search Manufacturer Parts" msgstr "Новая деталь производителя" -#: common/models.py:2367 +#: common/models.py:2368 msgid "Display manufacturer parts in search preview window" msgstr "Отображение деталей поставщика в окне предварительного просмотра поиска" -#: common/models.py:2372 +#: common/models.py:2373 msgid "Hide Inactive Parts" msgstr "Скрыть неактивные детали" -#: common/models.py:2373 +#: common/models.py:2374 msgid "Excluded inactive parts from search preview window" msgstr "Исключить неактивные детали из окна предварительного просмотра поиска" -#: common/models.py:2378 +#: common/models.py:2379 msgid "Search Categories" msgstr "Категории поиска" -#: common/models.py:2379 +#: common/models.py:2380 msgid "Display part categories in search preview window" msgstr "Отображение деталей в окне предварительного просмотра поиска" -#: common/models.py:2384 +#: common/models.py:2385 msgid "Search Stock" msgstr "Поиск Запасов" -#: common/models.py:2385 +#: common/models.py:2386 msgid "Display stock items in search preview window" msgstr "Отображать складские позиции в окне предварительного просмотра поиска" -#: common/models.py:2390 +#: common/models.py:2391 msgid "Hide Unavailable Stock Items" msgstr "Скрыть недоступные складские позиции" -#: common/models.py:2392 +#: common/models.py:2393 msgid "Exclude stock items which are not available from the search preview window" msgstr "Исключить недоступные складские позиции из окна предварительного просмотра поиска" -#: common/models.py:2398 +#: common/models.py:2399 msgid "Search Locations" msgstr "Поиск мест хранения" -#: common/models.py:2399 +#: common/models.py:2400 msgid "Display stock locations in search preview window" msgstr "Отображать места хранения в окне предварительного просмотра поиска" -#: common/models.py:2404 +#: common/models.py:2405 msgid "Search Companies" msgstr "Поиск компаний" -#: common/models.py:2405 +#: common/models.py:2406 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2410 +#: common/models.py:2411 msgid "Search Build Orders" msgstr "Поиск заказов на производство" -#: common/models.py:2411 +#: common/models.py:2412 msgid "Display build orders in search preview window" msgstr "Отображать заказы на производство в окне предварительного просмотра поиска" -#: common/models.py:2416 +#: common/models.py:2417 msgid "Search Purchase Orders" msgstr "Поиск заказов на покупку" -#: common/models.py:2417 +#: common/models.py:2418 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2422 +#: common/models.py:2423 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2424 +#: common/models.py:2425 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2430 +#: common/models.py:2431 msgid "Search Sales Orders" msgstr "Поиск заказов на продажу" -#: common/models.py:2431 +#: common/models.py:2432 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2436 +#: common/models.py:2437 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2438 +#: common/models.py:2439 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2444 +#: common/models.py:2445 msgid "Search Return Orders" msgstr "Поиск заказов на возврат" -#: common/models.py:2445 +#: common/models.py:2446 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2450 +#: common/models.py:2451 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2452 +#: common/models.py:2453 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2458 +#: common/models.py:2459 msgid "Search Preview Results" msgstr "" -#: common/models.py:2460 +#: common/models.py:2461 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2466 +#: common/models.py:2467 msgid "Regex Search" msgstr "Поиск по Regex" -#: common/models.py:2467 +#: common/models.py:2468 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2472 +#: common/models.py:2473 msgid "Whole Word Search" msgstr "" -#: common/models.py:2473 +#: common/models.py:2474 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2478 +#: common/models.py:2479 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2479 +#: common/models.py:2480 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2484 +#: common/models.py:2485 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2485 +#: common/models.py:2486 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2490 +#: common/models.py:2491 msgid "Fixed Navbar" msgstr "Фиксированная панель навигации" -#: common/models.py:2491 +#: common/models.py:2492 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2496 +#: common/models.py:2497 msgid "Date Format" msgstr "Формат даты" -#: common/models.py:2497 +#: common/models.py:2498 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2510 part/templates/part/detail.html:41 +#: common/models.py:2511 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "Планирование деталей" -#: common/models.py:2511 +#: common/models.py:2512 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2516 part/templates/part/detail.html:62 +#: common/models.py:2517 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "Инвентаризация детали" -#: common/models.py:2518 +#: common/models.py:2519 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2524 +#: common/models.py:2525 msgid "Table String Length" msgstr "" -#: common/models.py:2526 +#: common/models.py:2527 msgid "Maximum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2532 +#: common/models.py:2533 msgid "Receive error reports" msgstr "" -#: common/models.py:2533 +#: common/models.py:2534 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2538 +#: common/models.py:2539 msgid "Last used printing machines" msgstr "" -#: common/models.py:2539 +#: common/models.py:2540 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2559 common/models.py:2560 common/models.py:2717 -#: common/models.py:2718 common/models.py:2963 common/models.py:2964 -#: common/models.py:3287 common/models.py:3288 importer/models.py:89 -#: part/models.py:3319 part/models.py:3406 part/models.py:3480 -#: part/models.py:3508 plugin/models.py:274 plugin/models.py:275 +#: common/models.py:2560 common/models.py:2561 common/models.py:2718 +#: common/models.py:2719 common/models.py:2964 common/models.py:2965 +#: common/models.py:3288 common/models.py:3289 importer/models.py:89 +#: part/models.py:3306 part/models.py:3393 part/models.py:3467 +#: part/models.py:3495 plugin/models.py:274 plugin/models.py:275 #: report/templates/report/inventree_test_report.html:105 #: templates/js/translated/stock.js:3121 users/models.py:111 msgid "User" msgstr "Пользователь" -#: common/models.py:2582 +#: common/models.py:2583 msgid "Price break quantity" msgstr "" -#: common/models.py:2589 company/serializers.py:517 order/admin.py:42 +#: common/models.py:2590 company/serializers.py:517 order/admin.py:42 #: order/models.py:1423 order/models.py:2410 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1892 #: templates/js/translated/pricing.js:621 @@ -3747,96 +3744,96 @@ msgstr "" msgid "Price" msgstr "Цена" -#: common/models.py:2590 +#: common/models.py:2591 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2694 common/models.py:2879 +#: common/models.py:2695 common/models.py:2880 msgid "Endpoint" msgstr "Конечная точка" -#: common/models.py:2695 +#: common/models.py:2696 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2705 +#: common/models.py:2706 msgid "Name for this webhook" msgstr "" -#: common/models.py:2709 +#: common/models.py:2710 msgid "Is this webhook active" msgstr "" -#: common/models.py:2725 users/models.py:159 +#: common/models.py:2726 users/models.py:159 msgid "Token" msgstr "Токен" -#: common/models.py:2726 +#: common/models.py:2727 msgid "Token for access" msgstr "Токен для доступа" -#: common/models.py:2734 +#: common/models.py:2735 msgid "Secret" msgstr "Секрет" -#: common/models.py:2735 +#: common/models.py:2736 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2843 +#: common/models.py:2844 msgid "Message ID" msgstr "ID Сообщения" -#: common/models.py:2844 +#: common/models.py:2845 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2852 +#: common/models.py:2853 msgid "Host" msgstr "Хост" -#: common/models.py:2853 +#: common/models.py:2854 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2861 +#: common/models.py:2862 msgid "Header" msgstr "Заголовок" -#: common/models.py:2862 +#: common/models.py:2863 msgid "Header of this message" msgstr "" -#: common/models.py:2869 +#: common/models.py:2870 msgid "Body" msgstr "Тело" -#: common/models.py:2870 +#: common/models.py:2871 msgid "Body of this message" msgstr "" -#: common/models.py:2880 +#: common/models.py:2881 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2885 +#: common/models.py:2886 msgid "Worked on" msgstr "Работал над" -#: common/models.py:2886 +#: common/models.py:2887 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:3012 +#: common/models.py:3013 msgid "Id" msgstr "Код" -#: common/models.py:3014 templates/js/translated/company.js:965 +#: common/models.py:3015 templates/js/translated/company.js:965 #: templates/js/translated/news.js:44 msgid "Title" msgstr "Заголовок" -#: common/models.py:3016 common/models.py:3271 company/models.py:146 +#: common/models.py:3017 common/models.py:3272 company/models.py:146 #: company/models.py:443 company/models.py:509 company/models.py:815 #: order/models.py:303 order/models.py:1378 order/models.py:1810 #: part/admin.py:55 part/models.py:1069 @@ -3853,217 +3850,217 @@ msgstr "Заголовок" msgid "Link" msgstr "Ссылка" -#: common/models.py:3018 templates/js/translated/news.js:60 +#: common/models.py:3019 templates/js/translated/news.js:60 msgid "Published" msgstr "Опубликовано" -#: common/models.py:3020 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:3021 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:103 msgid "Author" msgstr "Автор" -#: common/models.py:3022 templates/js/translated/news.js:52 +#: common/models.py:3023 templates/js/translated/news.js:52 msgid "Summary" msgstr "Итого" -#: common/models.py:3025 +#: common/models.py:3026 msgid "Read" msgstr "Читать" -#: common/models.py:3025 +#: common/models.py:3026 msgid "Was this news item read?" msgstr "" -#: common/models.py:3042 company/models.py:156 part/models.py:1079 +#: common/models.py:3043 company/models.py:156 part/models.py:1079 #: 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.html:35 -#: stock/templates/stock/item_base.html:133 templates/503.html:31 +#: stock/templates/stock/item_base.html:129 templates/503.html:31 #: templates/hover_image.html:7 templates/hover_image.html:9 #: templates/modals.html:6 msgid "Image" msgstr "Изображение" -#: common/models.py:3042 +#: common/models.py:3043 msgid "Image file" msgstr "Файл изображения" -#: common/models.py:3054 common/models.py:3255 +#: common/models.py:3055 common/models.py:3256 msgid "Target model type for this image" msgstr "" -#: common/models.py:3058 +#: common/models.py:3059 msgid "Target model ID for this image" msgstr "" -#: common/models.py:3080 +#: common/models.py:3081 msgid "Custom Unit" msgstr "" -#: common/models.py:3098 +#: common/models.py:3099 msgid "Unit symbol must be unique" msgstr "" -#: common/models.py:3113 +#: common/models.py:3114 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:3132 +#: common/models.py:3133 msgid "Unit name" msgstr "Название единицы" -#: common/models.py:3139 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3140 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "Символ" -#: common/models.py:3140 +#: common/models.py:3141 msgid "Optional unit symbol" msgstr "" -#: common/models.py:3146 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3147 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "Определение" -#: common/models.py:3147 +#: common/models.py:3148 msgid "Unit definition" msgstr "" -#: common/models.py:3205 common/models.py:3262 stock/models.py:2552 +#: common/models.py:3206 common/models.py:3263 stock/models.py:2547 #: stock/serializers.py:244 templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:345 msgid "Attachment" msgstr "Вложения" -#: common/models.py:3217 +#: common/models.py:3218 msgid "Missing file" msgstr "Файл не найден" -#: common/models.py:3218 +#: common/models.py:3219 msgid "Missing external link" msgstr "Отсутствует внешняя ссылка" -#: common/models.py:3263 +#: common/models.py:3264 msgid "Select file to attach" msgstr "Выберите файл для вложения" -#: common/models.py:3278 templates/js/translated/attachment.js:120 +#: common/models.py:3279 templates/js/translated/attachment.js:120 #: templates/js/translated/attachment.js:360 msgid "Comment" msgstr "Комментарий" -#: common/models.py:3279 +#: common/models.py:3280 msgid "Attachment comment" msgstr "" -#: common/models.py:3295 +#: common/models.py:3296 msgid "Upload date" msgstr "" -#: common/models.py:3296 +#: common/models.py:3297 msgid "Date the file was uploaded" msgstr "" -#: common/models.py:3300 +#: common/models.py:3301 msgid "File size" msgstr "" -#: common/models.py:3300 +#: common/models.py:3301 msgid "File size in bytes" msgstr "" -#: common/models.py:3338 common/serializers.py:588 +#: common/models.py:3339 common/serializers.py:604 msgid "Invalid model type specified for attachment" msgstr "" -#: common/models.py:3347 plugin/models.py:43 users/models.py:100 +#: common/models.py:3348 plugin/models.py:43 users/models.py:100 msgid "Key" msgstr "Ключ" -#: common/models.py:3348 +#: common/models.py:3349 msgid "Value that will be saved in the models database" msgstr "" -#: common/models.py:3351 +#: common/models.py:3352 msgid "Name of the state" msgstr "" -#: common/models.py:3355 +#: common/models.py:3356 msgid "Label" msgstr "" -#: common/models.py:3356 +#: common/models.py:3357 msgid "Label that will be displayed in the frontend" msgstr "" -#: common/models.py:3362 +#: common/models.py:3363 msgid "Color" msgstr "" -#: common/models.py:3363 +#: common/models.py:3364 msgid "Color that will be displayed in the frontend" msgstr "" -#: common/models.py:3366 +#: common/models.py:3367 msgid "Logical Key" msgstr "" -#: common/models.py:3368 +#: common/models.py:3369 msgid "State logical key that is equal to this custom state in business logic" msgstr "" -#: common/models.py:3376 +#: common/models.py:3377 msgid "Model" msgstr "" -#: common/models.py:3377 +#: common/models.py:3378 msgid "Model this state is associated with" msgstr "" -#: common/models.py:3381 +#: common/models.py:3382 msgid "Reference Status Set" msgstr "" -#: common/models.py:3382 +#: common/models.py:3383 msgid "Status set that is extended with this custom state" msgstr "" -#: common/models.py:3388 +#: common/models.py:3389 msgid "Custom State" msgstr "" -#: common/models.py:3389 +#: common/models.py:3390 msgid "Custom States" msgstr "" -#: common/models.py:3404 +#: common/models.py:3405 msgid "Model must be selected" msgstr "" -#: common/models.py:3407 +#: common/models.py:3408 msgid "Key must be selected" msgstr "" -#: common/models.py:3410 +#: common/models.py:3411 msgid "Logical key must be selected" msgstr "" -#: common/models.py:3414 +#: common/models.py:3415 msgid "Key must be different from logical key" msgstr "" -#: common/models.py:3418 +#: common/models.py:3419 msgid "Reference status must be selected" msgstr "" -#: common/models.py:3430 +#: common/models.py:3431 msgid "Reference status set not found" msgstr "" -#: common/models.py:3436 +#: common/models.py:3437 msgid "Key must be different from the logical keys of the reference status" msgstr "" -#: common/models.py:3442 +#: common/models.py:3443 msgid "Logical key must be in the logical keys of the reference status" msgstr "" @@ -4101,75 +4098,75 @@ msgstr "" msgid "Error raised by plugin" msgstr "" -#: common/serializers.py:402 +#: common/serializers.py:418 msgid "Is Running" msgstr "Запущен" -#: common/serializers.py:408 +#: common/serializers.py:424 msgid "Pending Tasks" msgstr "Ожидающие задачи" -#: common/serializers.py:414 +#: common/serializers.py:430 msgid "Scheduled Tasks" msgstr "Запланированные задания" -#: common/serializers.py:420 +#: common/serializers.py:436 msgid "Failed Tasks" msgstr "Невыполненные Задачи" -#: common/serializers.py:435 +#: common/serializers.py:451 msgid "Task ID" msgstr "Код задачи" -#: common/serializers.py:435 +#: common/serializers.py:451 msgid "Unique task ID" msgstr "Уникальный ID задачи" -#: common/serializers.py:437 +#: common/serializers.py:453 msgid "Lock" msgstr "Заблокировать" -#: common/serializers.py:437 +#: common/serializers.py:453 msgid "Lock time" msgstr "Время блокировки" -#: common/serializers.py:439 +#: common/serializers.py:455 msgid "Task name" msgstr "Название задачи" -#: common/serializers.py:441 +#: common/serializers.py:457 msgid "Function" msgstr "Функция" -#: common/serializers.py:441 +#: common/serializers.py:457 msgid "Function name" msgstr "Имя функции" -#: common/serializers.py:443 +#: common/serializers.py:459 msgid "Arguments" msgstr "Аргументы" -#: common/serializers.py:443 +#: common/serializers.py:459 msgid "Task arguments" msgstr "Аргументы задачи" -#: common/serializers.py:446 +#: common/serializers.py:462 msgid "Keyword Arguments" msgstr "" -#: common/serializers.py:446 +#: common/serializers.py:462 msgid "Task keyword arguments" msgstr "" -#: common/serializers.py:556 +#: common/serializers.py:572 msgid "Filename" msgstr "Имя файла" -#: common/serializers.py:563 report/api.py:100 report/serializers.py:53 +#: common/serializers.py:579 report/api.py:100 report/serializers.py:54 msgid "Model Type" msgstr "" -#: common/serializers.py:591 +#: common/serializers.py:607 msgid "User does not have permission to create or edit attachments for this model" msgstr "" @@ -4447,12 +4444,12 @@ msgstr "Ссылка на адресную информацию (внешняя) #: company/models.py:467 company/models.py:584 company/models.py:808 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 -#: stock/templates/stock/item_base.html:217 +#: stock/templates/stock/item_base.html:213 msgid "Manufacturer Part" msgstr "Деталь производителя" #: company/models.py:484 company/models.py:776 stock/models.py:791 -#: stock/serializers.py:452 stock/templates/stock/item_base.html:142 +#: stock/serializers.py:452 stock/templates/stock/item_base.html:138 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "Базовая деталь" @@ -4463,8 +4460,8 @@ msgstr "Выберите деталь" #: company/models.py:495 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:567 -#: stock/templates/stock/item_base.html:207 +#: company/templates/company/supplier_part.html:145 part/serializers.py:565 +#: stock/templates/stock/item_base.html:203 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 #: templates/js/translated/company.js:1296 @@ -4479,7 +4476,7 @@ msgstr "Выберите производителя" #: company/models.py:502 company/templates/company/manufacturer_part.html:101 #: company/templates/company/supplier_part.html:153 order/serializers.py:557 -#: part/serializers.py:577 templates/js/translated/company.js:351 +#: part/serializers.py:575 templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 #: templates/js/translated/company.js:1630 templates/js/translated/part.js:1807 @@ -4505,7 +4502,7 @@ msgid "Parameter name" msgstr "Наименование параметра" #: company/models.py:597 report/templates/report/inventree_test_report.html:104 -#: stock/models.py:2544 templates/js/translated/company.js:1166 +#: stock/models.py:2539 templates/js/translated/company.js:1166 #: templates/js/translated/company.js:1419 templates/js/translated/part.js:1499 #: templates/js/translated/stock.js:1607 msgid "Value" @@ -4516,7 +4513,7 @@ msgid "Parameter value" msgstr "Значение параметра" #: company/models.py:605 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1159 part/models.py:3783 +#: part/admin.py:57 part/models.py:1159 part/models.py:3770 #: part/templates/part/part_base.html:300 #: templates/js/translated/company.js:1425 templates/js/translated/part.js:1518 #: templates/js/translated/part.js:1622 templates/js/translated/part.js:2376 @@ -4530,7 +4527,7 @@ msgstr "Единицы измерения параметра" #: company/models.py:659 company/templates/company/supplier_part.html:7 #: company/templates/company/supplier_part.html:24 order/api.py:440 #: order/serializers.py:492 stock/models.py:802 -#: stock/templates/stock/item_base.html:233 +#: stock/templates/stock/item_base.html:229 #: templates/js/translated/build.js:1055 #: templates/js/translated/company.js:1600 #: templates/js/translated/purchase_order.js:752 @@ -4553,9 +4550,9 @@ msgstr "Связанная деталь производителя должна #: company/models.py:786 company/templates/company/company_base.html:87 #: company/templates/company/supplier_part.html:129 order/models.py:492 #: order/templates/order/order_base.html:141 part/bom.py:279 part/bom.py:314 -#: part/serializers.py:551 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:549 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 -#: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 +#: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:220 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:511 @@ -4570,7 +4567,7 @@ msgstr "Поставщик" msgid "Select supplier" msgstr "Выберите поставщика" -#: company/models.py:793 part/serializers.py:562 +#: company/models.py:793 part/serializers.py:560 msgid "Supplier stock keeping unit" msgstr "Код поставщика" @@ -4591,7 +4588,7 @@ msgid "Supplier part description" msgstr "Описание детали поставщика" #: company/models.py:832 company/templates/company/supplier_part.html:187 -#: order/serializers.py:699 part/admin.py:415 part/models.py:4301 +#: order/serializers.py:699 part/admin.py:415 part/models.py:4288 #: part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 @@ -4603,11 +4600,11 @@ msgstr "Описание детали поставщика" msgid "Note" msgstr "Запись" -#: company/models.py:841 part/models.py:2129 +#: company/models.py:841 part/models.py:2128 msgid "base cost" msgstr "базовая стоимость" -#: company/models.py:842 part/models.py:2130 +#: company/models.py:842 part/models.py:2129 msgid "Minimum charge (e.g. stocking fee)" msgstr "" @@ -4629,7 +4626,7 @@ msgstr "Кол-во в упаковке" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:876 part/models.py:2136 +#: company/models.py:876 part/models.py:2135 msgid "multiple" msgstr "множественные" @@ -4661,7 +4658,7 @@ msgstr "Валюта по умолчанию для этого поставщи msgid "Company Name" msgstr "" -#: company/serializers.py:397 part/admin.py:126 part/serializers.py:919 +#: company/serializers.py:397 part/admin.py:126 part/serializers.py:917 #: part/templates/part/part_base.html:197 #: templates/js/translated/company.js:1689 #: templates/js/translated/table_filters.js:362 @@ -4735,7 +4732,7 @@ msgstr "Удалить изображение" #: order/models.py:2140 order/templates/order/return_order_base.html:134 #: order/templates/order/sales_order_base.html:151 stock/models.py:844 #: stock/models.py:845 stock/serializers.py:1336 -#: stock/templates/stock/item_base.html:405 +#: stock/templates/stock/item_base.html:401 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 #: templates/js/translated/return_order.js:295 @@ -4939,7 +4936,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:925 +#: part/admin.py:122 part/serializers.py:923 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -5030,7 +5027,7 @@ msgid "No supplier information available" msgstr "" #: company/templates/company/supplier_part.html:139 order/serializers.py:554 -#: part/bom.py:286 part/bom.py:315 part/serializers.py:561 +#: part/bom.py:286 part/bom.py:315 part/serializers.py:559 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1793 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1920 @@ -5084,7 +5081,7 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:923 part/stocktake.py:223 +#: part/serializers.py:921 part/stocktake.py:223 #: part/templates/part/category.html:180 #: part/templates/part/category_sidebar.html:17 stock/admin.py:68 #: stock/serializers.py:1021 stock/serializers.py:1199 @@ -5215,7 +5212,7 @@ msgstr "Номер строки" msgid "Original row data" msgstr "" -#: importer/models.py:504 part/models.py:3965 +#: importer/models.py:504 part/models.py:3952 msgid "Data" msgstr "Данные" @@ -5473,7 +5470,7 @@ msgstr "" #: order/models.py:1592 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_purchase_order_report.html:14 -#: stock/serializers.py:121 stock/templates/stock/item_base.html:176 +#: stock/serializers.py:121 stock/templates/stock/item_base.html:172 #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/part.js:1752 templates/js/translated/pricing.js:804 #: templates/js/translated/purchase_order.js:168 @@ -5694,7 +5691,7 @@ msgid "Number of items received" msgstr "" #: order/models.py:1513 stock/models.py:963 stock/serializers.py:617 -#: stock/templates/stock/item_base.html:183 +#: stock/templates/stock/item_base.html:179 #: templates/js/translated/stock.js:2397 msgid "Purchase Price" msgstr "Закупочная цена" @@ -5768,7 +5765,7 @@ msgid "User who checked this shipment" msgstr "" #: order/models.py:1788 order/models.py:2011 order/serializers.py:1479 -#: order/serializers.py:1589 templates/js/translated/model_renderers.js:455 +#: order/serializers.py:1597 templates/js/translated/model_renderers.js:455 msgid "Shipment" msgstr "Отправление" @@ -5982,7 +5979,7 @@ msgstr "Позиция" msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:656 order/serializers.py:779 order/serializers.py:1790 +#: order/serializers.py:656 order/serializers.py:779 order/serializers.py:1798 msgid "Select destination location for received items" msgstr "Выберите место назначения для полученных элементов" @@ -6019,7 +6016,7 @@ msgstr "" msgid "An integer quantity must be provided for trackable parts" msgstr "Для отслеживаемых деталей должно быть указано целочисленное количество" -#: order/serializers.py:795 order/serializers.py:1806 +#: order/serializers.py:795 order/serializers.py:1814 msgid "Line items must be provided" msgstr "" @@ -6051,39 +6048,39 @@ msgstr "" msgid "Enter serial numbers to allocate" msgstr "Введите серийные номера для резервирования" -#: order/serializers.py:1491 order/serializers.py:1597 +#: order/serializers.py:1491 order/serializers.py:1605 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1494 order/serializers.py:1600 +#: order/serializers.py:1494 order/serializers.py:1608 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1541 +#: order/serializers.py:1549 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1548 -msgid "The following serial numbers are already allocated" +#: order/serializers.py:1556 +msgid "The following serial numbers are unavailable" msgstr "" -#: order/serializers.py:1760 +#: order/serializers.py:1768 msgid "Return order line item" msgstr "" -#: order/serializers.py:1766 +#: order/serializers.py:1774 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1769 +#: order/serializers.py:1777 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1798 +#: order/serializers.py:1806 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1881 +#: order/serializers.py:1889 msgid "Line price currency" msgstr "" @@ -6510,7 +6507,7 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:48 part/models.py:1044 part/serializers.py:908 +#: part/admin.py:48 part/models.py:1044 part/serializers.py:906 #: part/templates/part/part_base.html:276 #: report/templates/report/inventree_stock_location_report.html:103 #: templates/js/translated/part.js:1233 templates/js/translated/part.js:2347 @@ -6537,7 +6534,7 @@ msgstr "Изображение Детали" msgid "Category ID" msgstr "Код категории" -#: part/admin.py:67 part/admin.py:304 part/serializers.py:893 +#: part/admin.py:67 part/admin.py:304 part/serializers.py:891 #: part/stocktake.py:222 msgid "Category Name" msgstr "Название категории" @@ -6562,18 +6559,18 @@ msgstr "Минимальный запас" msgid "Used In" msgstr "Используется в" -#: part/admin.py:150 part/serializers.py:918 +#: part/admin.py:150 part/serializers.py:916 #: part/templates/part/part_base.html:248 stock/admin.py:236 #: templates/js/translated/part.js:717 templates/js/translated/part.js:2159 msgid "Building" msgstr "Производится" -#: part/admin.py:155 part/models.py:3214 part/models.py:3228 +#: part/admin.py:155 part/models.py:3201 part/models.py:3215 #: templates/js/translated/part.js:976 msgid "Minimum Cost" msgstr "Минимальная Стоимость" -#: part/admin.py:158 part/models.py:3221 part/models.py:3235 +#: part/admin.py:158 part/models.py:3208 part/models.py:3222 #: templates/js/translated/part.js:986 msgid "Maximum Cost" msgstr "Максимальная Стоимость" @@ -6592,7 +6589,7 @@ msgid "Category Path" msgstr "Путь к категории" #: part/admin.py:325 part/models.py:420 part/serializers.py:130 -#: part/serializers.py:290 part/serializers.py:428 +#: part/serializers.py:290 part/serializers.py:426 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:20 #: part/templates/part/category.html:138 part/templates/part/category.html:158 #: part/templates/part/category_sidebar.html:9 @@ -6619,13 +6616,13 @@ msgstr "Родительский IPN" msgid "Part Revision" msgstr "" -#: part/admin.py:418 part/serializers.py:1367 +#: part/admin.py:418 part/serializers.py:1365 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "Минимальная цена" -#: part/admin.py:423 part/serializers.py:1382 +#: part/admin.py:423 part/serializers.py:1380 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -6719,8 +6716,8 @@ msgstr "" msgid "BOM Valid" msgstr "" -#: part/api.py:1520 part/models.py:1036 part/models.py:3501 part/models.py:4060 -#: part/serializers.py:443 part/serializers.py:1223 +#: part/api.py:1520 part/models.py:1036 part/models.py:3488 part/models.py:4047 +#: part/serializers.py:441 part/serializers.py:1221 #: part/templates/part/part_base.html:267 stock/api.py:780 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 @@ -6746,7 +6743,7 @@ msgstr "" msgid "Default Location" msgstr "Место хранения по умолчанию" -#: part/bom.py:184 part/serializers.py:926 +#: part/bom.py:184 part/serializers.py:924 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "Общий запас" @@ -6755,7 +6752,7 @@ msgstr "Общий запас" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:89 part/models.py:4061 part/templates/part/category.html:16 +#: part/models.py:89 part/models.py:4048 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "Категория детали" @@ -6878,7 +6875,7 @@ msgstr "Часть с таким именем, IPN и ревизией уже с msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:995 part/models.py:4116 +#: part/models.py:995 part/models.py:4103 msgid "Part name" msgstr "Наименование детали" @@ -6906,7 +6903,7 @@ msgstr "Ключевые слова для улучшения видимости msgid "Part category" msgstr "Категория" -#: part/models.py:1052 part/serializers.py:360 +#: part/models.py:1052 msgid "Part revision or version number" msgstr "Ревизия или серийный номер детали" @@ -7012,164 +7009,164 @@ msgid "Owner responsible for this part" msgstr "" #: part/models.py:1264 part/templates/part/part_base.html:355 -#: stock/templates/stock/item_base.html:451 +#: stock/templates/stock/item_base.html:447 #: templates/js/translated/part.js:2490 msgid "Last Stocktake" msgstr "Последняя инвентаризация" -#: part/models.py:2137 +#: part/models.py:2136 msgid "Sell multiple" msgstr "Продать несколько" -#: part/models.py:3128 +#: part/models.py:3115 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3144 +#: part/models.py:3131 msgid "Minimum BOM Cost" msgstr "Минимальная Стоимость BOM" -#: part/models.py:3145 +#: part/models.py:3132 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3151 +#: part/models.py:3138 msgid "Maximum BOM Cost" msgstr "Максимальная Стоимость BOM" -#: part/models.py:3152 +#: part/models.py:3139 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3158 +#: part/models.py:3145 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3159 +#: part/models.py:3146 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3165 +#: part/models.py:3152 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3166 +#: part/models.py:3153 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3172 +#: part/models.py:3159 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3173 +#: part/models.py:3160 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3179 +#: part/models.py:3166 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3180 +#: part/models.py:3167 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3186 +#: part/models.py:3173 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3187 +#: part/models.py:3174 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3193 +#: part/models.py:3180 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3194 +#: part/models.py:3181 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3200 +#: part/models.py:3187 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3201 +#: part/models.py:3188 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3207 +#: part/models.py:3194 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3208 +#: part/models.py:3195 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3215 +#: part/models.py:3202 msgid "Override minimum cost" msgstr "" -#: part/models.py:3222 +#: part/models.py:3209 msgid "Override maximum cost" msgstr "" -#: part/models.py:3229 +#: part/models.py:3216 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3236 +#: part/models.py:3223 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3242 +#: part/models.py:3229 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3243 +#: part/models.py:3230 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3249 +#: part/models.py:3236 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3250 +#: part/models.py:3237 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3256 +#: part/models.py:3243 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3257 +#: part/models.py:3244 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3263 +#: part/models.py:3250 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3264 +#: part/models.py:3251 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3283 +#: part/models.py:3270 msgid "Part for stocktake" msgstr "" -#: part/models.py:3288 +#: part/models.py:3275 msgid "Item Count" msgstr "Количество Элементов" -#: part/models.py:3289 +#: part/models.py:3276 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3297 +#: part/models.py:3284 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3301 part/models.py:3384 +#: part/models.py:3288 part/models.py:3371 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -7181,363 +7178,363 @@ msgstr "" msgid "Date" msgstr "Дата" -#: part/models.py:3302 +#: part/models.py:3289 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3310 +#: part/models.py:3297 msgid "Additional notes" msgstr "Дополнительные Записи" -#: part/models.py:3320 +#: part/models.py:3307 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3326 +#: part/models.py:3313 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3327 +#: part/models.py:3314 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3333 +#: part/models.py:3320 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3334 +#: part/models.py:3321 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3390 templates/InvenTree/settings/settings_staff_js.html:532 +#: part/models.py:3377 templates/InvenTree/settings/settings_staff_js.html:532 msgid "Report" msgstr "Отчет" -#: part/models.py:3391 +#: part/models.py:3378 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3396 templates/InvenTree/settings/settings_staff_js.html:539 +#: part/models.py:3383 templates/InvenTree/settings/settings_staff_js.html:539 msgid "Part Count" msgstr "Количество Деталей" -#: part/models.py:3397 +#: part/models.py:3384 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3407 +#: part/models.py:3394 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3417 +#: part/models.py:3404 msgid "Part Sale Price Break" msgstr "" -#: part/models.py:3529 +#: part/models.py:3516 msgid "Part Test Template" msgstr "" -#: part/models.py:3555 +#: part/models.py:3542 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3576 part/models.py:3745 +#: part/models.py:3563 part/models.py:3732 msgid "Choices must be unique" msgstr "" -#: part/models.py:3587 +#: part/models.py:3574 msgid "Test templates can only be created for testable parts" msgstr "" -#: part/models.py:3598 +#: part/models.py:3585 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3615 templates/js/translated/part.js:2898 +#: part/models.py:3602 templates/js/translated/part.js:2898 msgid "Test Name" msgstr "Название теста" -#: part/models.py:3616 +#: part/models.py:3603 msgid "Enter a name for the test" msgstr "Введите имя для теста" -#: part/models.py:3622 +#: part/models.py:3609 msgid "Test Key" msgstr "" -#: part/models.py:3623 +#: part/models.py:3610 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3630 +#: part/models.py:3617 msgid "Test Description" msgstr "Описание теста" -#: part/models.py:3631 +#: part/models.py:3618 msgid "Enter description for this test" msgstr "Введите описание для этого теста" -#: part/models.py:3635 report/models.py:208 +#: part/models.py:3622 report/models.py:216 #: templates/js/translated/part.js:2919 #: templates/js/translated/table_filters.js:502 msgid "Enabled" msgstr "Включено" -#: part/models.py:3635 +#: part/models.py:3622 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3640 templates/js/translated/part.js:2927 +#: part/models.py:3627 templates/js/translated/part.js:2927 #: templates/js/translated/table_filters.js:498 msgid "Required" msgstr "Требуется" -#: part/models.py:3641 +#: part/models.py:3628 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3646 templates/js/translated/part.js:2935 +#: part/models.py:3633 templates/js/translated/part.js:2935 msgid "Requires Value" msgstr "Требуется значение" -#: part/models.py:3647 +#: part/models.py:3634 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3652 templates/js/translated/part.js:2942 +#: part/models.py:3639 templates/js/translated/part.js:2942 msgid "Requires Attachment" msgstr "" -#: part/models.py:3654 +#: part/models.py:3641 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3660 part/models.py:3804 templates/js/translated/part.js:1643 +#: part/models.py:3647 part/models.py:3791 templates/js/translated/part.js:1643 msgid "Choices" msgstr "Варианты" -#: part/models.py:3661 +#: part/models.py:3648 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3693 +#: part/models.py:3680 msgid "Part Parameter Template" msgstr "" -#: part/models.py:3720 +#: part/models.py:3707 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3725 +#: part/models.py:3712 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3762 +#: part/models.py:3749 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3777 +#: part/models.py:3764 msgid "Parameter Name" msgstr "Название параметра" -#: part/models.py:3784 +#: part/models.py:3771 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3792 +#: part/models.py:3779 msgid "Parameter description" msgstr "Описание параметра" -#: part/models.py:3798 templates/js/translated/part.js:1634 +#: part/models.py:3785 templates/js/translated/part.js:1634 #: templates/js/translated/table_filters.js:837 msgid "Checkbox" msgstr "Чекбокс" -#: part/models.py:3799 +#: part/models.py:3786 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3805 +#: part/models.py:3792 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3839 +#: part/models.py:3826 msgid "Part Parameter" msgstr "" -#: part/models.py:3865 +#: part/models.py:3852 msgid "Parameter cannot be modified - part is locked" msgstr "" -#: part/models.py:3903 +#: part/models.py:3890 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3952 +#: part/models.py:3939 msgid "Parent Part" msgstr "Родительская деталь" -#: part/models.py:3960 part/models.py:4068 part/models.py:4069 +#: part/models.py:3947 part/models.py:4055 part/models.py:4056 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "Шаблон параметра" -#: part/models.py:3966 +#: part/models.py:3953 msgid "Parameter Value" msgstr "Значение Параметра" -#: part/models.py:4016 +#: part/models.py:4003 msgid "Part Category Parameter Template" msgstr "" -#: part/models.py:4075 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:4062 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "Значение по умолчанию" -#: part/models.py:4076 +#: part/models.py:4063 msgid "Default Parameter Value" msgstr "" -#: part/models.py:4114 +#: part/models.py:4101 msgid "Part ID or part name" msgstr "Код или наименование детали" -#: part/models.py:4115 +#: part/models.py:4102 msgid "Unique part ID value" msgstr "" -#: part/models.py:4117 +#: part/models.py:4104 msgid "Part IPN value" msgstr "Значение IPN" -#: part/models.py:4118 +#: part/models.py:4105 msgid "Level" msgstr "Уровень" -#: part/models.py:4118 +#: part/models.py:4105 msgid "BOM level" msgstr "Уровень BOM" -#: part/models.py:4228 +#: part/models.py:4215 msgid "BOM item cannot be modified - assembly is locked" msgstr "" -#: part/models.py:4235 +#: part/models.py:4222 msgid "BOM item cannot be modified - variant assembly is locked" msgstr "" -#: part/models.py:4245 +#: part/models.py:4232 msgid "Select parent part" msgstr "Выберите родительскую деталь" -#: part/models.py:4255 +#: part/models.py:4242 msgid "Sub part" msgstr "Суб-деталь" -#: part/models.py:4256 +#: part/models.py:4243 msgid "Select part to be used in BOM" msgstr "Выбрать деталь для использования в BOM" -#: part/models.py:4267 +#: part/models.py:4254 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4273 +#: part/models.py:4260 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4279 +#: part/models.py:4266 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "Эта позиция - расходник. (она не отслеживается в заказах на производство)" -#: part/models.py:4286 part/templates/part/upload_bom.html:55 +#: part/models.py:4273 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "Перерасход" -#: part/models.py:4287 +#: part/models.py:4274 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "Расчетное количество перерасходов производства (абсолютное или процентное)" -#: part/models.py:4294 +#: part/models.py:4281 msgid "BOM item reference" msgstr "" -#: part/models.py:4302 +#: part/models.py:4289 msgid "BOM item notes" msgstr "Записи о позиции BOM" -#: part/models.py:4308 +#: part/models.py:4295 msgid "Checksum" msgstr "Контрольная сумма" -#: part/models.py:4309 +#: part/models.py:4296 msgid "BOM line checksum" msgstr "" -#: part/models.py:4314 templates/js/translated/table_filters.js:181 +#: part/models.py:4301 templates/js/translated/table_filters.js:181 msgid "Validated" msgstr "Проверен" -#: part/models.py:4315 +#: part/models.py:4302 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4320 part/templates/part/upload_bom.html:57 +#: part/models.py:4307 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:185 #: templates/js/translated/table_filters.js:218 msgid "Gets inherited" msgstr "" -#: part/models.py:4321 +#: part/models.py:4308 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4327 +#: part/models.py:4314 msgid "Stock items for variant parts can be used for this BOM item" msgstr "Складские позиции для разновидностей деталей могут быть использованы для этой позиции BOM" -#: part/models.py:4412 stock/models.py:689 +#: part/models.py:4399 stock/models.py:689 msgid "Quantity must be integer value for trackable parts" msgstr "Для отслеживаемых деталей количество должно быть целым числом" -#: part/models.py:4422 part/models.py:4424 +#: part/models.py:4409 part/models.py:4411 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4561 +#: part/models.py:4554 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4582 +#: part/models.py:4575 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4595 +#: part/models.py:4588 msgid "Parent BOM item" msgstr "Позиция BOM-родителя" -#: part/models.py:4603 +#: part/models.py:4596 msgid "Substitute part" msgstr "Замена детали" -#: part/models.py:4619 +#: part/models.py:4612 msgid "Part 1" msgstr "Часть 1" -#: part/models.py:4627 +#: part/models.py:4620 msgid "Part 2" msgstr "Часть 2" -#: part/models.py:4628 +#: part/models.py:4621 msgid "Select Related Part" msgstr "Выберите связанную часть" -#: part/models.py:4647 +#: part/models.py:4640 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4652 +#: part/models.py:4645 msgid "Duplicate relationship already exists" msgstr "" @@ -7571,326 +7568,326 @@ msgstr "Валюта закупки складской позиции" msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:434 +#: part/serializers.py:432 msgid "No parts selected" msgstr "Не выбрана ни одна деталь" -#: part/serializers.py:444 +#: part/serializers.py:442 msgid "Select category" msgstr "Выберите категорию" -#: part/serializers.py:479 +#: part/serializers.py:477 msgid "Original Part" msgstr "Оригинальная деталь" -#: part/serializers.py:480 +#: part/serializers.py:478 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:485 +#: part/serializers.py:483 msgid "Copy Image" msgstr "Копировать Изображение" -#: part/serializers.py:486 +#: part/serializers.py:484 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:492 part/templates/part/detail.html:293 +#: part/serializers.py:490 part/templates/part/detail.html:293 msgid "Copy BOM" msgstr "Скопировать BOM" -#: part/serializers.py:493 +#: part/serializers.py:491 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:499 +#: part/serializers.py:497 msgid "Copy Parameters" msgstr "Скопировать параметры" -#: part/serializers.py:500 +#: part/serializers.py:498 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:506 +#: part/serializers.py:504 msgid "Copy Notes" msgstr "Копировать Записи" -#: part/serializers.py:507 +#: part/serializers.py:505 msgid "Copy notes from original part" msgstr "Скопировать записи из оригинальной детали" -#: part/serializers.py:525 +#: part/serializers.py:523 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:527 +#: part/serializers.py:525 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:534 +#: part/serializers.py:532 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:535 +#: part/serializers.py:533 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:552 +#: part/serializers.py:550 msgid "Select supplier (or leave blank to skip)" msgstr "Выберите поставщика (или оставьте поле пустым, чтобы пропустить)" -#: part/serializers.py:568 +#: part/serializers.py:566 msgid "Select manufacturer (or leave blank to skip)" msgstr "Выберите поставщика (или оставьте поле пустым, чтобы пропустить)" -#: part/serializers.py:578 +#: part/serializers.py:576 msgid "Manufacturer part number" msgstr "Код производителя" -#: part/serializers.py:585 +#: part/serializers.py:583 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:594 +#: part/serializers.py:592 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:605 +#: part/serializers.py:603 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:612 +#: part/serializers.py:610 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:924 +#: part/serializers.py:922 msgid "Revisions" msgstr "" -#: part/serializers.py:929 +#: part/serializers.py:927 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:932 +#: part/serializers.py:930 msgid "Variant Stock" msgstr "" -#: part/serializers.py:962 part/templates/part/copy_part.html:9 +#: part/serializers.py:960 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:474 msgid "Duplicate Part" msgstr "Дублировать деталь" -#: part/serializers.py:963 +#: part/serializers.py:961 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:969 templates/js/translated/part.js:103 +#: part/serializers.py:967 templates/js/translated/part.js:103 msgid "Initial Stock" msgstr "Начальный запас" -#: part/serializers.py:970 +#: part/serializers.py:968 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:976 +#: part/serializers.py:974 msgid "Supplier Information" msgstr "" -#: part/serializers.py:977 +#: part/serializers.py:975 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:985 +#: part/serializers.py:983 msgid "Copy Category Parameters" msgstr "Копировать параметры категории" -#: part/serializers.py:986 +#: part/serializers.py:984 msgid "Copy parameter templates from selected part category" msgstr "Копировать шаблоны параметров из выбранной категории деталей" -#: part/serializers.py:991 +#: part/serializers.py:989 msgid "Existing Image" msgstr "Существующее изображение" -#: part/serializers.py:992 +#: part/serializers.py:990 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:1009 +#: part/serializers.py:1007 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1215 +#: part/serializers.py:1213 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1225 +#: part/serializers.py:1223 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1235 +#: part/serializers.py:1233 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1241 +#: part/serializers.py:1239 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1242 +#: part/serializers.py:1240 msgid "Exclude stock items in external locations" msgstr "Исключить складские позиции в внешних местах хранения" -#: part/serializers.py:1247 +#: part/serializers.py:1245 msgid "Generate Report" msgstr "Создать отчет" -#: part/serializers.py:1248 +#: part/serializers.py:1246 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1253 +#: part/serializers.py:1251 msgid "Update Parts" msgstr "Обновить детали" -#: part/serializers.py:1254 +#: part/serializers.py:1252 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1262 +#: part/serializers.py:1260 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1368 +#: part/serializers.py:1366 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1375 +#: part/serializers.py:1373 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1383 +#: part/serializers.py:1381 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1390 +#: part/serializers.py:1388 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1419 +#: part/serializers.py:1417 msgid "Update" msgstr "Обновить" -#: part/serializers.py:1420 +#: part/serializers.py:1418 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1443 +#: part/serializers.py:1441 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1450 +#: part/serializers.py:1448 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1453 +#: part/serializers.py:1451 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1597 +#: part/serializers.py:1595 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1606 +#: part/serializers.py:1604 msgid "Component Name" msgstr "" -#: part/serializers.py:1609 +#: part/serializers.py:1607 msgid "Component IPN" msgstr "" -#: part/serializers.py:1612 +#: part/serializers.py:1610 msgid "Component Description" msgstr "" -#: part/serializers.py:1618 +#: part/serializers.py:1616 msgid "Select the component part" msgstr "" -#: part/serializers.py:1627 part/templates/part/part_base.html:242 +#: part/serializers.py:1625 part/templates/part/part_base.html:242 #: templates/js/translated/bom.js:1219 msgid "Can Build" msgstr "Можно произвести" -#: part/serializers.py:1858 +#: part/serializers.py:1856 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1866 +#: part/serializers.py:1864 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1867 +#: part/serializers.py:1865 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1872 +#: part/serializers.py:1870 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1873 +#: part/serializers.py:1871 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1878 +#: part/serializers.py:1876 msgid "Skip Invalid Rows" msgstr "Пропустить некорректные строки" -#: part/serializers.py:1879 +#: part/serializers.py:1877 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1884 +#: part/serializers.py:1882 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1885 +#: part/serializers.py:1883 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1922 +#: part/serializers.py:1920 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1923 +#: part/serializers.py:1921 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1955 +#: part/serializers.py:1953 msgid "No part column specified" msgstr "" -#: part/serializers.py:1999 +#: part/serializers.py:1997 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:2002 +#: part/serializers.py:2000 msgid "No matching part found" msgstr "Подходящая деталь не найдена" -#: part/serializers.py:2004 +#: part/serializers.py:2002 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:2013 +#: part/serializers.py:2011 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:2021 +#: part/serializers.py:2019 msgid "Invalid quantity" msgstr "Некорректное количество" -#: part/serializers.py:2044 +#: part/serializers.py:2042 msgid "At least one BOM item is required" msgstr "" @@ -8216,7 +8213,7 @@ msgid "Subscribe to notifications for this part" msgstr "Включить уведомления для данной детали" #: part/templates/part/part_base.html:52 -#: stock/templates/stock/item_base.html:62 +#: stock/templates/stock/item_base.html:61 #: stock/templates/stock/location.html:71 templates/js/translated/label.js:136 msgid "Print Label" msgstr "Печать этикетки" @@ -8226,7 +8223,7 @@ msgid "Show pricing information" msgstr "" #: part/templates/part/part_base.html:63 -#: stock/templates/stock/item_base.html:110 +#: stock/templates/stock/item_base.html:106 #: stock/templates/stock/location.html:80 msgid "Stock actions" msgstr "Действия со складом" @@ -8297,12 +8294,12 @@ msgid "Required for Orders" msgstr "" #: part/templates/part/part_base.html:225 -#: stock/templates/stock/item_base.html:388 +#: stock/templates/stock/item_base.html:384 msgid "Allocated to Build Orders" msgstr "Зарезервировано заказами на производство" #: part/templates/part/part_base.html:234 -#: stock/templates/stock/item_base.html:381 +#: stock/templates/stock/item_base.html:377 msgid "Allocated to Sales Orders" msgstr "" @@ -8322,7 +8319,7 @@ msgid "Latest Serial Number" msgstr "Последний Серийный Номер" #: part/templates/part/part_base.html:372 -#: stock/templates/stock/item_base.html:322 +#: stock/templates/stock/item_base.html:318 msgid "Search for serial number" msgstr "" @@ -8449,7 +8446,7 @@ msgid "Edit" msgstr "Редактировать" #: part/templates/part/prices.html:28 stock/admin.py:252 -#: stock/templates/stock/item_base.html:446 +#: stock/templates/stock/item_base.html:442 #: templates/js/translated/company.js:1703 #: templates/js/translated/company.js:1713 #: templates/js/translated/stock.js:2332 @@ -8604,7 +8601,7 @@ msgstr "Изображение детали не найдено" msgid "Part Pricing" msgstr "Цена Детали" -#: plugin/api.py:172 +#: plugin/api.py:174 msgid "Plugin cannot be deleted as it is currently active" msgstr "" @@ -8940,7 +8937,7 @@ msgstr "Граница" msgid "Print a border around each label" msgstr "" -#: plugin/builtin/labels/label_sheet.py:47 report/models.py:307 +#: plugin/builtin/labels/label_sheet.py:47 report/models.py:315 msgid "Landscape" msgstr "Альбомная" @@ -9012,44 +9009,44 @@ msgstr "" msgid "The Supplier which acts as 'TME'" msgstr "" -#: plugin/installer.py:194 plugin/installer.py:274 +#: plugin/installer.py:199 plugin/installer.py:282 msgid "Only staff users can administer plugins" msgstr "" -#: plugin/installer.py:197 +#: plugin/installer.py:202 msgid "Plugin installation is disabled" msgstr "" -#: plugin/installer.py:241 +#: plugin/installer.py:246 msgid "Installed plugin successfully" msgstr "" -#: plugin/installer.py:246 +#: plugin/installer.py:251 #, python-brace-format msgid "Installed plugin into {path}" msgstr "" -#: plugin/installer.py:265 +#: plugin/installer.py:273 msgid "Plugin was not found in registry" msgstr "" -#: plugin/installer.py:268 +#: plugin/installer.py:276 msgid "Plugin is not a packaged plugin" msgstr "" -#: plugin/installer.py:271 +#: plugin/installer.py:279 msgid "Plugin package name not found" msgstr "" -#: plugin/installer.py:291 +#: plugin/installer.py:299 msgid "Plugin uninstalling is disabled" msgstr "" -#: plugin/installer.py:295 +#: plugin/installer.py:303 msgid "Plugin cannot be uninstalled as it is currently active" msgstr "" -#: plugin/installer.py:308 +#: plugin/installer.py:316 msgid "Uninstalled plugin successfully" msgstr "" @@ -9098,7 +9095,7 @@ msgstr "Встроенный плагин" msgid "Package Plugin" msgstr "" -#: plugin/models.py:220 report/models.py:474 +#: plugin/models.py:220 report/models.py:482 #: templates/InvenTree/settings/plugin_settings.html:9 #: templates/js/translated/plugin.js:51 msgid "Plugin" @@ -9167,6 +9164,38 @@ msgstr "" msgid "InvenTree Contributors" msgstr "" +#: plugin/samples/integration/user_interface_sample.py:22 +msgid "Enable Part Panels" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:23 +msgid "Enable custom panels for Part views" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:28 +msgid "Enable Purchase Order Panels" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:29 +msgid "Enable custom panels for Purchase Order views" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:34 +msgid "Enable Broken Panels" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:35 +msgid "Enable broken panels for testing" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:40 +msgid "Enable Dynamic Panel" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:41 +msgid "Enable dynamic panels for testing" +msgstr "" + #: plugin/serializers.py:81 msgid "Source URL" msgstr "Исходная ссылка" @@ -9245,12 +9274,36 @@ msgstr "" msgid "Delete the plugin configuration from the database" msgstr "" +#: plugin/serializers.py:324 +msgid "Plugin Key" +msgstr "" + +#: plugin/serializers.py:328 +msgid "Panel Name" +msgstr "" + +#: plugin/serializers.py:332 +msgid "Panel Title" +msgstr "" + +#: plugin/serializers.py:337 +msgid "Panel Icon" +msgstr "" + +#: plugin/serializers.py:341 +msgid "Panel Content (HTML)" +msgstr "" + +#: plugin/serializers.py:345 +msgid "Panel Source (javascript)" +msgstr "" + #: report/api.py:88 msgid "No valid objects provided to template" msgstr "" -#: report/api.py:103 report/models.py:438 report/serializers.py:98 -#: report/serializers.py:148 templates/js/translated/purchase_order.js:1817 +#: report/api.py:103 report/models.py:446 report/serializers.py:99 +#: report/serializers.py:149 templates/js/translated/purchase_order.js:1817 #: templates/js/translated/return_order.js:353 #: templates/js/translated/sales_order.js:887 #: templates/js/translated/sales_order.js:1047 @@ -9281,7 +9334,11 @@ msgstr "" msgid "Error printing label" msgstr "" -#: report/api.py:375 report/api.py:411 +#: report/api.py:358 +msgid "Report saved at time of printing" +msgstr "" + +#: report/api.py:384 report/api.py:420 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" @@ -9318,135 +9375,143 @@ msgstr "Описание шаблона" msgid "Revision number (auto-increments)" msgstr "Номер ревизии (автоматически)" -#: report/models.py:202 +#: report/models.py:168 +msgid "Attach to Model on Print" +msgstr "" + +#: report/models.py:170 +msgid "Save report output as an attachment against linked model instance when printing" +msgstr "" + +#: report/models.py:210 msgid "Filename Pattern" msgstr "Шаблон имени файла" -#: report/models.py:203 +#: report/models.py:211 msgid "Pattern for generating filenames" msgstr "" -#: report/models.py:208 +#: report/models.py:216 msgid "Template is enabled" msgstr "" -#: report/models.py:214 +#: report/models.py:222 msgid "Target model type for template" msgstr "" -#: report/models.py:234 +#: report/models.py:242 msgid "Filters" msgstr "Фильтры" -#: report/models.py:235 +#: report/models.py:243 msgid "Template query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:294 report/models.py:361 +#: report/models.py:302 report/models.py:369 msgid "Template file" msgstr "" -#: report/models.py:302 +#: report/models.py:310 msgid "Page size for PDF reports" msgstr "" -#: report/models.py:308 +#: report/models.py:316 msgid "Render report in landscape orientation" msgstr "" -#: report/models.py:367 +#: report/models.py:375 msgid "Width [mm]" msgstr "Ширина [мм]" -#: report/models.py:368 +#: report/models.py:376 msgid "Label width, specified in mm" msgstr "" -#: report/models.py:374 +#: report/models.py:382 msgid "Height [mm]" msgstr "Высота [мм]" -#: report/models.py:375 +#: report/models.py:383 msgid "Label height, specified in mm" msgstr "" -#: report/models.py:438 +#: report/models.py:446 msgid "Number of items to process" msgstr "" -#: report/models.py:444 +#: report/models.py:452 msgid "Report generation is complete" msgstr "" -#: report/models.py:448 templates/js/translated/build.js:2352 +#: report/models.py:456 templates/js/translated/build.js:2352 msgid "Progress" msgstr "Прогресс" -#: report/models.py:448 +#: report/models.py:456 msgid "Report generation progress" msgstr "" -#: report/models.py:456 +#: report/models.py:464 msgid "Report Template" msgstr "" -#: report/models.py:463 report/models.py:486 +#: report/models.py:471 report/models.py:494 msgid "Output File" msgstr "Выходной файл" -#: report/models.py:464 report/models.py:487 +#: report/models.py:472 report/models.py:495 msgid "Generated output file" msgstr "Сгенерированный выходной файл" -#: report/models.py:475 +#: report/models.py:483 msgid "Label output plugin" msgstr "" -#: report/models.py:479 +#: report/models.py:487 msgid "Label Template" msgstr "" -#: report/models.py:502 +#: report/models.py:510 msgid "Snippet" msgstr "Сниппет" -#: report/models.py:503 +#: report/models.py:511 msgid "Report snippet file" msgstr "" -#: report/models.py:510 +#: report/models.py:518 msgid "Snippet file description" msgstr "Описание файла сниппета" -#: report/models.py:528 +#: report/models.py:536 msgid "Asset" msgstr "Объект" -#: report/models.py:529 +#: report/models.py:537 msgid "Report asset file" msgstr "" -#: report/models.py:536 +#: report/models.py:544 msgid "Asset file description" msgstr "Описание медиафайла" -#: report/serializers.py:91 +#: report/serializers.py:92 msgid "Select report template" msgstr "" -#: report/serializers.py:99 report/serializers.py:149 +#: report/serializers.py:100 report/serializers.py:150 msgid "List of item primary keys to include in the report" msgstr "" -#: report/serializers.py:132 +#: report/serializers.py:133 msgid "Select label template" msgstr "" -#: report/serializers.py:140 +#: report/serializers.py:141 msgid "Printing Plugin" msgstr "" -#: report/serializers.py:141 +#: report/serializers.py:142 msgid "Select plugin to use for label printing" msgstr "" @@ -9517,7 +9582,7 @@ msgstr "Результаты тестирования" msgid "Test" msgstr "Тестирование" -#: report/templates/report/inventree_test_report.html:103 stock/models.py:2538 +#: report/templates/report/inventree_test_report.html:103 stock/models.py:2533 msgid "Result" msgstr "Результат" @@ -9598,7 +9663,7 @@ msgid "Customer ID" msgstr "ID Клиента" #: stock/admin.py:206 stock/models.py:829 -#: stock/templates/stock/item_base.html:354 +#: stock/templates/stock/item_base.html:350 msgid "Installed In" msgstr "Установлено в" @@ -9623,7 +9688,7 @@ msgid "Delete on Deplete" msgstr "" #: stock/admin.py:261 stock/models.py:923 -#: stock/templates/stock/item_base.html:433 +#: stock/templates/stock/item_base.html:429 #: templates/js/translated/stock.js:2316 users/models.py:124 msgid "Expiry Date" msgstr "Истекает" @@ -9665,7 +9730,7 @@ msgid "Expiry date after" msgstr "" #: stock/api.py:839 stock/serializers.py:611 -#: stock/templates/stock/item_base.html:439 +#: stock/templates/stock/item_base.html:435 #: templates/js/translated/table_filters.js:448 msgid "Stale" msgstr "Залежалый" @@ -9715,7 +9780,7 @@ msgid "Stock Locations" msgstr "Места хранения" #: stock/models.py:185 stock/models.py:972 -#: stock/templates/stock/item_base.html:247 +#: stock/templates/stock/item_base.html:243 msgid "Owner" msgstr "Владелец" @@ -9826,7 +9891,7 @@ msgstr "Исходное производство" msgid "Build for this stock item" msgstr "Производства для этой складской позиции" -#: stock/models.py:892 stock/templates/stock/item_base.html:363 +#: stock/models.py:892 stock/templates/stock/item_base.html:359 msgid "Consumed By" msgstr "Поглощен" @@ -9891,7 +9956,7 @@ msgstr "" msgid "Serial numbers already exist" msgstr "Серийные номера уже существуют" -#: stock/models.py:1636 +#: stock/models.py:1636 stock/models.py:2436 msgid "Test template does not exist" msgstr "" @@ -9939,67 +10004,67 @@ msgstr "" msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2337 +#: stock/models.py:2335 msgid "Stock Item Tracking" msgstr "" -#: stock/models.py:2370 +#: stock/models.py:2368 msgid "Entry notes" msgstr "" -#: stock/models.py:2410 +#: stock/models.py:2408 msgid "Stock Item Test Result" msgstr "" -#: stock/models.py:2443 +#: stock/models.py:2439 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2448 +#: stock/models.py:2443 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2453 +#: stock/models.py:2448 msgid "Invalid value for this test" msgstr "" -#: stock/models.py:2538 +#: stock/models.py:2533 msgid "Test result" msgstr "Результат тестирования" -#: stock/models.py:2545 +#: stock/models.py:2540 msgid "Test output value" msgstr "" -#: stock/models.py:2553 stock/serializers.py:245 +#: stock/models.py:2548 stock/serializers.py:245 msgid "Test result attachment" msgstr "" -#: stock/models.py:2557 +#: stock/models.py:2552 msgid "Test notes" msgstr "Записи Тестирования" -#: stock/models.py:2565 templates/js/translated/stock.js:1633 +#: stock/models.py:2560 templates/js/translated/stock.js:1633 msgid "Test station" msgstr "" -#: stock/models.py:2566 +#: stock/models.py:2561 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2572 +#: stock/models.py:2567 msgid "Started" msgstr "" -#: stock/models.py:2573 +#: stock/models.py:2568 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2579 +#: stock/models.py:2574 msgid "Finished" msgstr "" -#: stock/models.py:2580 +#: stock/models.py:2575 msgid "The timestamp of the test finish" msgstr "" @@ -10059,7 +10124,7 @@ msgstr "" msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:459 stock/templates/stock/item_base.html:193 +#: stock/serializers.py:459 stock/templates/stock/item_base.html:189 msgid "Parent Item" msgstr "Родительский элемент" @@ -10071,7 +10136,7 @@ msgstr "" msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:603 stock/templates/stock/item_base.html:437 +#: stock/serializers.py:603 stock/templates/stock/item_base.html:433 #: templates/js/translated/table_filters.js:442 users/models.py:174 msgid "Expired" msgstr "Просрочен" @@ -10410,7 +10475,7 @@ msgstr "Эта складская позиция не имеет дочерни msgid "Test Data" msgstr "Данные тестов" -#: stock/templates/stock/item.html:85 stock/templates/stock/item_base.html:65 +#: stock/templates/stock/item.html:85 msgid "Test Report" msgstr "Отчет тестирования" @@ -10450,200 +10515,204 @@ msgstr "Найти складскую позицию" msgid "Scan to Location" msgstr "Сканировать в место хранения" -#: stock/templates/stock/item_base.html:59 +#: stock/templates/stock/item_base.html:58 #: stock/templates/stock/location.html:67 #: templates/js/translated/filters.js:434 msgid "Printing actions" msgstr "Действия печати" -#: stock/templates/stock/item_base.html:75 +#: stock/templates/stock/item_base.html:63 templates/js/translated/report.js:49 +msgid "Print Report" +msgstr "" + +#: stock/templates/stock/item_base.html:71 msgid "Stock adjustment actions" msgstr "" -#: stock/templates/stock/item_base.html:79 +#: stock/templates/stock/item_base.html:75 #: stock/templates/stock/location.html:87 templates/js/translated/stock.js:1909 msgid "Count stock" msgstr "Установить запасы" -#: stock/templates/stock/item_base.html:81 +#: stock/templates/stock/item_base.html:77 #: templates/js/translated/stock.js:1891 msgid "Add stock" msgstr "Добавить Остатки" -#: stock/templates/stock/item_base.html:82 +#: stock/templates/stock/item_base.html:78 #: templates/js/translated/stock.js:1900 msgid "Remove stock" msgstr "Удалить запасы" -#: stock/templates/stock/item_base.html:85 +#: stock/templates/stock/item_base.html:81 msgid "Serialize stock" msgstr "Сериализовать запасы" -#: stock/templates/stock/item_base.html:88 +#: stock/templates/stock/item_base.html:84 #: stock/templates/stock/location.html:93 templates/js/translated/stock.js:1918 msgid "Transfer stock" msgstr "Переместить запасы" -#: stock/templates/stock/item_base.html:91 +#: stock/templates/stock/item_base.html:87 #: templates/js/translated/stock.js:1973 msgid "Assign to customer" msgstr "" -#: stock/templates/stock/item_base.html:94 +#: stock/templates/stock/item_base.html:90 msgid "Return to stock" msgstr "Вернуть на склад" -#: stock/templates/stock/item_base.html:97 +#: stock/templates/stock/item_base.html:93 msgid "Uninstall stock item" msgstr "Удалить складскую позицию" -#: stock/templates/stock/item_base.html:97 +#: stock/templates/stock/item_base.html:93 msgid "Uninstall" msgstr "Удалить" -#: stock/templates/stock/item_base.html:101 +#: stock/templates/stock/item_base.html:97 msgid "Install stock item" msgstr "Установить складскую позицию" -#: stock/templates/stock/item_base.html:101 +#: stock/templates/stock/item_base.html:97 msgid "Install" msgstr "Установить" -#: stock/templates/stock/item_base.html:115 +#: stock/templates/stock/item_base.html:111 msgid "Convert to variant" msgstr "Преобразовать в разновидность" -#: stock/templates/stock/item_base.html:118 +#: stock/templates/stock/item_base.html:114 msgid "Duplicate stock item" msgstr "Дублировать складскую позицию" -#: stock/templates/stock/item_base.html:120 +#: stock/templates/stock/item_base.html:116 msgid "Edit stock item" msgstr "Редактировать складскую позицию" -#: stock/templates/stock/item_base.html:123 +#: stock/templates/stock/item_base.html:119 msgid "Delete stock item" msgstr "Удалить складскую позицию" -#: stock/templates/stock/item_base.html:169 templates/InvenTree/search.html:139 +#: stock/templates/stock/item_base.html:165 templates/InvenTree/search.html:139 #: templates/js/translated/build.js:2298 templates/navbar.html:38 msgid "Build" msgstr "Производство" -#: stock/templates/stock/item_base.html:211 +#: stock/templates/stock/item_base.html:207 msgid "No manufacturer set" msgstr "" -#: stock/templates/stock/item_base.html:251 +#: stock/templates/stock/item_base.html:247 msgid "You are not in the list of owners of this item. This stock item cannot be edited." msgstr "Вы не в списке владельцев этого элемента. Складская позиция не может быть отредактирована." -#: stock/templates/stock/item_base.html:252 +#: stock/templates/stock/item_base.html:248 #: stock/templates/stock/location.html:146 msgid "Read only" msgstr "Только для чтения" -#: stock/templates/stock/item_base.html:265 +#: stock/templates/stock/item_base.html:261 msgid "This stock item is unavailable" msgstr "Эта складская позиция не доступна" -#: stock/templates/stock/item_base.html:271 +#: stock/templates/stock/item_base.html:267 msgid "This stock item is in production and cannot be edited." msgstr "Эта складская позиция находиться в производстве и не может быть отредактирована." -#: stock/templates/stock/item_base.html:272 +#: stock/templates/stock/item_base.html:268 msgid "Edit the stock item from the build view." msgstr "Редактировать складскую позицию из производства." -#: stock/templates/stock/item_base.html:287 +#: stock/templates/stock/item_base.html:283 msgid "This stock item is allocated to Sales Order" msgstr "Эта складская позиция зарезервирована для заказа на продажу" -#: stock/templates/stock/item_base.html:295 +#: stock/templates/stock/item_base.html:291 msgid "This stock item is allocated to Build Order" msgstr "Этот складская позиция зарезервирована заказом на производство" -#: stock/templates/stock/item_base.html:311 +#: stock/templates/stock/item_base.html:307 msgid "This stock item is serialized. It has a unique serial number and the quantity cannot be adjusted" msgstr "Это отслеживаемая складская позиция. Она имеет уникальный серийный номер и количество не может быть изменено" -#: stock/templates/stock/item_base.html:317 +#: stock/templates/stock/item_base.html:313 msgid "previous page" msgstr "предыдущая страница" -#: stock/templates/stock/item_base.html:317 +#: stock/templates/stock/item_base.html:313 msgid "Navigate to previous serial number" msgstr "" -#: stock/templates/stock/item_base.html:326 +#: stock/templates/stock/item_base.html:322 msgid "next page" msgstr "следующая страница" -#: stock/templates/stock/item_base.html:326 +#: stock/templates/stock/item_base.html:322 msgid "Navigate to next serial number" msgstr "" -#: stock/templates/stock/item_base.html:398 +#: stock/templates/stock/item_base.html:394 #: templates/js/translated/build.js:2555 msgid "No location set" msgstr "Место хранения не установлено" -#: stock/templates/stock/item_base.html:413 +#: stock/templates/stock/item_base.html:409 msgid "Tests" msgstr "Тесты" -#: stock/templates/stock/item_base.html:419 +#: stock/templates/stock/item_base.html:415 msgid "This stock item has not passed all required tests" msgstr "Эта складская позиция не прошла требуемое тестирование" -#: stock/templates/stock/item_base.html:437 +#: stock/templates/stock/item_base.html:433 #, python-format msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:439 +#: stock/templates/stock/item_base.html:435 #, python-format msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:455 +#: stock/templates/stock/item_base.html:451 msgid "No stocktake performed" msgstr "" -#: stock/templates/stock/item_base.html:504 +#: stock/templates/stock/item_base.html:500 #: templates/js/translated/stock.js:2038 msgid "stock item" msgstr "" -#: stock/templates/stock/item_base.html:527 +#: stock/templates/stock/item_base.html:523 msgid "Edit Stock Status" msgstr "" -#: stock/templates/stock/item_base.html:536 +#: stock/templates/stock/item_base.html:532 msgid "Stock Item QR Code" msgstr "QR-код складской позиции" -#: stock/templates/stock/item_base.html:547 +#: stock/templates/stock/item_base.html:543 msgid "Link Barcode to Stock Item" msgstr "Привязать штрих-код к складской позиции" -#: stock/templates/stock/item_base.html:611 +#: stock/templates/stock/item_base.html:607 msgid "Select one of the part variants listed below." msgstr "" -#: stock/templates/stock/item_base.html:614 +#: stock/templates/stock/item_base.html:610 msgid "Warning" msgstr "Предупреждение" -#: stock/templates/stock/item_base.html:615 +#: stock/templates/stock/item_base.html:611 msgid "This action cannot be easily undone" msgstr "" -#: stock/templates/stock/item_base.html:623 +#: stock/templates/stock/item_base.html:619 msgid "Convert Stock Item" msgstr "Преобразовать складскую позицию" -#: stock/templates/stock/item_base.html:656 +#: stock/templates/stock/item_base.html:652 msgid "Return to Stock" msgstr "Вернуть на склад" @@ -11310,7 +11379,7 @@ msgid "Delete Location Type" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:503 -#: templates/InvenTree/settings/stock.html:38 +#: templates/InvenTree/settings/stock.html:39 msgid "New Location Type" msgstr "" @@ -11367,7 +11436,7 @@ msgstr "Настройки заказов на продажу" msgid "Stock Settings" msgstr "Настройки склада" -#: templates/InvenTree/settings/stock.html:34 +#: templates/InvenTree/settings/stock.html:35 msgid "Stock Location Types" msgstr "" @@ -11852,23 +11921,23 @@ msgstr "Прикрепить файл" msgid "Barcode Identifier" msgstr "" -#: templates/base.html:103 +#: templates/base.html:102 msgid "Server Restart Required" msgstr "" -#: templates/base.html:106 +#: templates/base.html:105 msgid "A configuration option has been changed which requires a server restart" msgstr "" -#: templates/base.html:106 templates/base.html:116 +#: templates/base.html:105 templates/base.html:115 msgid "Contact your system administrator for further information" msgstr "" -#: templates/base.html:113 +#: templates/base.html:112 msgid "Pending Database Migrations" msgstr "" -#: templates/base.html:116 +#: templates/base.html:115 msgid "There are pending database migrations which require attention" msgstr "" @@ -13946,10 +14015,6 @@ msgstr "Редактировать Позицию" msgid "Delete line item" msgstr "Удалить позицию" -#: templates/js/translated/report.js:49 -msgid "Print Report" -msgstr "" - #: templates/js/translated/report.js:68 msgid "Report print successful" msgstr "" diff --git a/src/backend/InvenTree/locale/sk/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/sk/LC_MESSAGES/django.po index 1ddbe1cdfa21..84a12d72720c 100644 --- a/src/backend/InvenTree/locale/sk/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/sk/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-08-29 07:07+0000\n" -"PO-Revision-Date: 2024-08-29 07:10\n" +"POT-Creation-Date: 2024-09-16 00:37+0000\n" +"PO-Revision-Date: 2024-09-16 00:40\n" "Last-Translator: \n" "Language-Team: Slovak\n" "Language: sk_SK\n" @@ -65,9 +65,9 @@ msgstr "" #: 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:59 -#: part/models.py:3309 part/templates/part/part_sidebar.html:65 +#: part/models.py:3296 part/templates/part/part_sidebar.html:65 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/admin.py:231 stock/models.py:2369 stock/models.py:2557 +#: stock/admin.py:231 stock/models.py:2367 stock/models.py:2552 #: stock/serializers.py:705 stock/serializers.py:863 stock/serializers.py:989 #: stock/serializers.py:1039 stock/serializers.py:1350 #: stock/serializers.py:1439 stock/serializers.py:1604 @@ -364,7 +364,7 @@ msgstr "" msgid "[{site_name}] Log in to the app" msgstr "" -#: InvenTree/magic_login.py:38 InvenTree/serializers.py:413 +#: InvenTree/magic_login.py:38 InvenTree/serializers.py:416 #: company/models.py:133 company/templates/company/company_base.html:138 #: templates/InvenTree/settings/user.html:49 #: templates/js/translated/company.js:677 @@ -419,9 +419,9 @@ msgstr "" msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:767 common/models.py:2704 common/models.py:3131 -#: common/models.py:3351 common/serializers.py:439 company/models.py:590 -#: machine/models.py:24 part/models.py:995 part/models.py:3776 +#: InvenTree/models.py:767 common/models.py:2705 common/models.py:3132 +#: common/models.py:3352 common/serializers.py:455 company/models.py:590 +#: machine/models.py:24 part/models.py:995 part/models.py:3763 #: plugin/models.py:51 report/models.py:149 stock/models.py:82 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -446,10 +446,10 @@ msgstr "" #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 order/models.py:289 #: order/models.py:1406 part/admin.py:305 part/admin.py:411 part/models.py:1018 -#: part/models.py:3791 part/templates/part/category.html:79 +#: part/models.py:3778 part/templates/part/category.html:79 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:155 -#: report/models.py:509 report/models.py:535 +#: report/models.py:517 report/models.py:543 #: report/templates/report/inventree_build_order_report.html:117 #: stock/admin.py:54 stock/models.py:88 stock/templates/stock/location.html:122 #: templates/InvenTree/settings/notifications.html:19 @@ -517,12 +517,12 @@ msgstr "" msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:63 part/models.py:4400 +#: InvenTree/serializers.py:63 part/models.py:4387 msgid "Must be a valid number" msgstr "" #: InvenTree/serializers.py:100 company/models.py:183 -#: company/templates/company/company_base.html:112 part/models.py:3127 +#: company/templates/company/company_base.html:112 part/models.py:3114 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -536,43 +536,43 @@ msgstr "" msgid "Username" msgstr "" -#: InvenTree/serializers.py:407 templates/InvenTree/settings/user.html:37 +#: InvenTree/serializers.py:408 templates/InvenTree/settings/user.html:37 msgid "First Name" msgstr "" -#: InvenTree/serializers.py:407 +#: InvenTree/serializers.py:408 msgid "First name of the user" msgstr "" -#: InvenTree/serializers.py:410 templates/InvenTree/settings/user.html:41 +#: InvenTree/serializers.py:412 templates/InvenTree/settings/user.html:41 msgid "Last Name" msgstr "" -#: InvenTree/serializers.py:410 +#: InvenTree/serializers.py:412 msgid "Last name of the user" msgstr "" -#: InvenTree/serializers.py:413 +#: InvenTree/serializers.py:416 msgid "Email address of the user" msgstr "" -#: InvenTree/serializers.py:438 +#: InvenTree/serializers.py:441 msgid "Staff" msgstr "" -#: InvenTree/serializers.py:438 +#: InvenTree/serializers.py:441 msgid "Does this user have staff permissions" msgstr "" -#: InvenTree/serializers.py:441 +#: InvenTree/serializers.py:445 msgid "Superuser" msgstr "" -#: InvenTree/serializers.py:441 +#: InvenTree/serializers.py:445 msgid "Is this user a superuser" msgstr "" -#: InvenTree/serializers.py:444 common/models.py:2709 company/models.py:160 +#: InvenTree/serializers.py:449 common/models.py:2710 company/models.py:160 #: company/models.py:798 machine/models.py:39 part/admin.py:88 #: part/models.py:1201 plugin/models.py:66 #: templates/js/translated/company.js:523 @@ -585,89 +585,89 @@ msgstr "" msgid "Active" msgstr "" -#: InvenTree/serializers.py:444 +#: InvenTree/serializers.py:449 msgid "Is this user account active" msgstr "" -#: InvenTree/serializers.py:462 +#: InvenTree/serializers.py:467 msgid "You do not have permission to change this user role." msgstr "" -#: InvenTree/serializers.py:474 +#: InvenTree/serializers.py:503 msgid "Only superusers can create new users" msgstr "" -#: InvenTree/serializers.py:493 +#: InvenTree/serializers.py:522 msgid "Your account has been created." msgstr "" -#: InvenTree/serializers.py:495 +#: InvenTree/serializers.py:524 msgid "Please use the password reset function to login" msgstr "" -#: InvenTree/serializers.py:502 +#: InvenTree/serializers.py:531 msgid "Welcome to InvenTree" msgstr "" -#: InvenTree/serializers.py:560 +#: InvenTree/serializers.py:589 msgid "Invalid value" msgstr "" -#: InvenTree/serializers.py:580 importer/models.py:64 +#: InvenTree/serializers.py:609 importer/models.py:64 msgid "Data File" msgstr "" -#: InvenTree/serializers.py:581 +#: InvenTree/serializers.py:610 msgid "Select data file for upload" msgstr "" -#: InvenTree/serializers.py:598 +#: InvenTree/serializers.py:627 msgid "Unsupported file type" msgstr "" -#: InvenTree/serializers.py:604 +#: InvenTree/serializers.py:633 msgid "File is too large" msgstr "" -#: InvenTree/serializers.py:625 +#: InvenTree/serializers.py:654 msgid "No columns found in file" msgstr "" -#: InvenTree/serializers.py:628 +#: InvenTree/serializers.py:657 msgid "No data rows found in file" msgstr "" -#: InvenTree/serializers.py:740 +#: InvenTree/serializers.py:769 msgid "No data rows provided" msgstr "" -#: InvenTree/serializers.py:743 +#: InvenTree/serializers.py:772 msgid "No data columns supplied" msgstr "" -#: InvenTree/serializers.py:809 +#: InvenTree/serializers.py:838 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "" -#: InvenTree/serializers.py:818 +#: InvenTree/serializers.py:847 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "" -#: InvenTree/serializers.py:857 +#: InvenTree/serializers.py:886 msgid "Remote Image" msgstr "" -#: InvenTree/serializers.py:858 +#: InvenTree/serializers.py:887 msgid "URL of remote image file" msgstr "" -#: InvenTree/serializers.py:876 +#: InvenTree/serializers.py:905 msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/status.py:65 part/serializers.py:1267 +#: InvenTree/status.py:65 part/serializers.py:1265 msgid "Background worker check failed" msgstr "" @@ -759,7 +759,7 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:319 build/serializers.py:1332 part/models.py:4278 +#: build/api.py:319 build/serializers.py:1332 part/models.py:4265 #: templates/js/translated/bom.js:997 templates/js/translated/bom.js:1037 #: templates/js/translated/build.js:2705 #: templates/js/translated/table_filters.js:197 @@ -767,7 +767,7 @@ msgstr "" msgid "Consumable" msgstr "" -#: build/api.py:320 build/serializers.py:1333 part/models.py:4272 +#: build/api.py:320 build/serializers.py:1333 part/models.py:4259 #: part/templates/part/upload_bom.html:58 templates/js/translated/bom.js:1001 #: templates/js/translated/bom.js:1028 templates/js/translated/build.js:2696 #: templates/js/translated/table_filters.js:193 @@ -777,7 +777,7 @@ msgid "Optional" msgstr "" #: build/api.py:321 common/models.py:1491 part/admin.py:91 part/admin.py:428 -#: part/models.py:1166 part/serializers.py:1596 +#: part/models.py:1166 part/serializers.py:1594 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:337 #: templates/js/translated/table_filters.js:729 @@ -816,7 +816,7 @@ msgstr "" msgid "Available" msgstr "" -#: build/models.py:87 build/templates/build/build_base.html:9 +#: build/models.py:88 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_report.html:105 #: stock/serializers.py:85 templates/email/build_order_completed.html:16 @@ -825,7 +825,7 @@ msgstr "" msgid "Build Order" msgstr "" -#: build/models.py:88 build/templates/build/build_base.html:13 +#: build/models.py:89 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:111 #: order/templates/order/so_sidebar.html:13 @@ -866,7 +866,7 @@ msgstr "" #: build/models.py:243 build/serializers.py:1331 order/models.py:468 #: order/models.py:979 order/models.py:1366 order/models.py:2128 -#: part/admin.py:414 part/models.py:4293 part/templates/part/upload_bom.html:54 +#: part/admin.py:414 part/models.py:4280 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 @@ -892,11 +892,11 @@ msgstr "" #: build/templates/build/build_base.html:105 #: build/templates/build/detail.html:29 company/models.py:1043 order/api.py:761 #: order/models.py:1496 order/models.py:1651 order/models.py:1652 -#: part/api.py:1506 part/api.py:1806 part/models.py:419 part/models.py:3138 -#: part/models.py:3282 part/models.py:3430 part/models.py:3451 -#: part/models.py:3473 part/models.py:3609 part/models.py:3951 -#: part/models.py:4114 part/models.py:4244 part/models.py:4602 -#: part/serializers.py:1213 part/serializers.py:1857 +#: part/api.py:1506 part/api.py:1806 part/models.py:419 part/models.py:3125 +#: part/models.py:3269 part/models.py:3417 part/models.py:3438 +#: part/models.py:3460 part/models.py:3596 part/models.py:3938 +#: part/models.py:4101 part/models.py:4231 part/models.py:4595 +#: part/serializers.py:1211 part/serializers.py:1855 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -1063,12 +1063,12 @@ msgstr "" #: order/templates/order/return_order_base.html:148 #: order/templates/order/sales_order_base.html:187 #: part/templates/part/part_base.html:399 stock/models.py:859 -#: stock/templates/stock/item_base.html:200 +#: stock/templates/stock/item_base.html:196 #: templates/js/translated/company.js:1019 msgid "External Link" msgstr "" -#: build/models.py:378 common/models.py:3272 part/models.py:1070 +#: build/models.py:378 common/models.py:3273 part/models.py:1070 #: stock/models.py:859 msgid "Link to external URL" msgstr "" @@ -1110,7 +1110,7 @@ msgstr "" msgid "A build order has been completed" msgstr "" -#: build/models.py:968 build/models.py:1056 +#: build/models.py:968 build/models.py:1057 msgid "No build output specified" msgstr "" @@ -1122,37 +1122,37 @@ msgstr "" msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:1060 build/serializers.py:279 build/serializers.py:328 +#: build/models.py:1061 build/serializers.py:279 build/serializers.py:328 #: build/serializers.py:959 order/models.py:565 order/serializers.py:500 -#: order/serializers.py:666 part/serializers.py:1590 part/serializers.py:2019 +#: order/serializers.py:666 part/serializers.py:1588 part/serializers.py:2017 #: stock/models.py:704 stock/models.py:1515 stock/serializers.py:676 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:1065 build/serializers.py:284 +#: build/models.py:1066 build/serializers.py:284 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1125 build/serializers.py:607 +#: build/models.py:1126 build/serializers.py:607 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "" -#: build/models.py:1466 +#: build/models.py:1477 msgid "Build Order Line Item" msgstr "" -#: build/models.py:1491 +#: build/models.py:1502 msgid "Build object" msgstr "" -#: build/models.py:1505 build/models.py:1761 build/serializers.py:266 +#: build/models.py:1516 build/models.py:1775 build/serializers.py:266 #: build/serializers.py:313 build/serializers.py:1339 #: build/templates/build/build_base.html:110 -#: build/templates/build/detail.html:34 common/models.py:2581 +#: build/templates/build/detail.html:34 common/models.py:2582 #: order/models.py:1349 order/models.py:2034 order/serializers.py:1464 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:413 -#: part/forms.py:48 part/models.py:3296 part/models.py:4266 +#: part/forms.py:48 part/models.py:3283 part/models.py:4253 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1163,9 +1163,9 @@ msgstr "" #: report/templates/report/inventree_test_report.html:90 #: report/templates/report/inventree_test_report.html:169 stock/admin.py:160 #: stock/serializers.py:128 stock/serializers.py:168 stock/serializers.py:667 -#: stock/templates/stock/item_base.html:287 -#: stock/templates/stock/item_base.html:295 -#: stock/templates/stock/item_base.html:342 +#: stock/templates/stock/item_base.html:283 +#: stock/templates/stock/item_base.html:291 +#: stock/templates/stock/item_base.html:338 #: templates/email/build_order_completed.html:18 #: templates/js/translated/barcode.js:579 templates/js/translated/bom.js:771 #: templates/js/translated/bom.js:981 templates/js/translated/build.js:525 @@ -1194,41 +1194,41 @@ msgstr "" msgid "Quantity" msgstr "" -#: build/models.py:1506 +#: build/models.py:1517 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1586 +#: build/models.py:1597 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1595 +#: build/models.py:1606 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1605 order/models.py:1985 +#: build/models.py:1616 order/models.py:1985 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1611 order/models.py:1988 +#: build/models.py:1622 order/models.py:1988 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1617 +#: build/models.py:1628 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1676 +#: build/models.py:1687 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1748 build/serializers.py:939 order/serializers.py:1301 +#: build/models.py:1762 build/serializers.py:939 order/serializers.py:1301 #: order/serializers.py:1322 stock/models.py:381 stock/serializers.py:94 #: stock/serializers.py:770 stock/serializers.py:1288 stock/serializers.py:1400 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 -#: stock/templates/stock/item_base.html:194 +#: stock/templates/stock/item_base.html:190 #: templates/js/translated/build.js:1921 #: templates/js/translated/sales_order.js:301 #: templates/js/translated/sales_order.js:1234 @@ -1241,19 +1241,19 @@ msgstr "" msgid "Stock Item" msgstr "" -#: build/models.py:1749 +#: build/models.py:1763 msgid "Source stock item" msgstr "" -#: build/models.py:1762 +#: build/models.py:1776 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1770 +#: build/models.py:1784 msgid "Install into" msgstr "" -#: build/models.py:1771 +#: build/models.py:1785 msgid "Destination stock item" msgstr "" @@ -1262,7 +1262,7 @@ msgid "Build Level" msgstr "" #: build/serializers.py:115 build/serializers.py:1234 build/serializers.py:1323 -#: part/admin.py:41 part/admin.py:408 part/models.py:4116 part/stocktake.py:219 +#: part/admin.py:41 part/admin.py:408 part/models.py:4103 part/stocktake.py:219 #: stock/admin.py:157 msgid "Part Name" msgstr "" @@ -1323,10 +1323,10 @@ msgid "Enter serial numbers for build outputs" msgstr "" #: build/serializers.py:359 build/serializers.py:500 build/serializers.py:572 -#: order/serializers.py:655 order/serializers.py:778 order/serializers.py:1789 -#: part/serializers.py:1233 stock/serializers.py:103 stock/serializers.py:698 +#: order/serializers.py:655 order/serializers.py:778 order/serializers.py:1797 +#: part/serializers.py:1231 stock/serializers.py:103 stock/serializers.py:698 #: stock/serializers.py:858 stock/serializers.py:984 stock/serializers.py:1432 -#: stock/serializers.py:1688 stock/templates/stock/item_base.html:394 +#: stock/serializers.py:1688 stock/templates/stock/item_base.html:390 #: templates/js/translated/barcode.js:578 #: templates/js/translated/barcode.js:826 templates/js/translated/build.js:1035 #: templates/js/translated/build.js:1177 templates/js/translated/build.js:2547 @@ -1390,7 +1390,7 @@ msgstr "" #: build/templates/build/detail.html:62 order/models.py:477 #: order/models.py:1003 order/models.py:2152 order/serializers.py:687 #: stock/admin.py:165 stock/serializers.py:1035 stock/serializers.py:1576 -#: stock/templates/stock/item_base.html:427 +#: stock/templates/stock/item_base.html:423 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2366 #: templates/js/translated/purchase_order.js:1371 #: templates/js/translated/purchase_order.js:1792 @@ -1522,7 +1522,7 @@ msgstr "" msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:1030 order/serializers.py:1614 +#: build/serializers.py:1030 order/serializers.py:1622 msgid "Allocation items must be provided" msgstr "" @@ -1590,7 +1590,7 @@ msgstr "" #: build/serializers.py:1230 company/models.py:849 #: company/templates/company/supplier_part.html:160 order/serializers.py:691 #: stock/admin.py:229 stock/models.py:822 stock/serializers.py:1586 -#: stock/templates/stock/item_base.html:240 +#: stock/templates/stock/item_base.html:236 #: templates/js/translated/company.js:1646 #: templates/js/translated/purchase_order.js:1169 #: templates/js/translated/purchase_order.js:1332 @@ -1600,12 +1600,12 @@ msgid "Packaging" msgstr "" #: build/serializers.py:1233 part/admin.py:39 part/admin.py:398 -#: part/models.py:4115 part/stocktake.py:218 stock/admin.py:153 +#: part/models.py:4102 part/stocktake.py:218 stock/admin.py:153 msgid "Part ID" msgstr "" #: build/serializers.py:1235 build/serializers.py:1324 part/admin.py:402 -#: part/models.py:4117 +#: part/models.py:4104 msgid "Part IPN" msgstr "" @@ -1625,7 +1625,7 @@ msgstr "" #: build/serializers.py:1243 #: report/templates/report/inventree_return_order_report.html:25 #: report/templates/report/inventree_test_report.html:88 stock/models.py:849 -#: stock/serializers.py:152 stock/templates/stock/item_base.html:311 +#: stock/serializers.py:152 stock/templates/stock/item_base.html:307 #: templates/js/translated/build.js:523 templates/js/translated/build.js:1543 #: templates/js/translated/build.js:2530 #: templates/js/translated/model_renderers.js:231 @@ -1644,7 +1644,7 @@ msgstr "" msgid "Allocated Quantity" msgstr "" -#: build/serializers.py:1257 stock/templates/stock/item_base.html:340 +#: build/serializers.py:1257 stock/templates/stock/item_base.html:336 msgid "Available Quantity" msgstr "" @@ -1667,13 +1667,13 @@ msgstr "" msgid "Inherited" msgstr "" -#: build/serializers.py:1337 part/models.py:4326 +#: build/serializers.py:1337 part/models.py:4313 #: part/templates/part/upload_bom.html:56 templates/js/translated/bom.js:1046 #: templates/js/translated/build.js:2714 msgid "Allow Variants" msgstr "" -#: build/serializers.py:1341 part/models.py:4124 part/models.py:4594 +#: build/serializers.py:1341 part/models.py:4111 part/models.py:4587 #: stock/api.py:793 msgid "BOM Item" msgstr "" @@ -1684,7 +1684,7 @@ msgid "Allocated Stock" msgstr "" #: build/serializers.py:1355 order/serializers.py:1179 part/admin.py:132 -#: part/bom.py:186 part/serializers.py:920 part/serializers.py:1623 +#: part/bom.py:186 part/serializers.py:918 part/serializers.py:1621 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 #: templates/js/translated/build.js:2807 templates/js/translated/part.js:712 #: templates/js/translated/part.js:2155 @@ -1692,13 +1692,13 @@ msgstr "" msgid "On Order" msgstr "" -#: build/serializers.py:1360 order/serializers.py:1180 part/serializers.py:1625 +#: build/serializers.py:1360 order/serializers.py:1180 part/serializers.py:1623 #: templates/js/translated/build.js:2811 #: templates/js/translated/table_filters.js:367 msgid "In Production" msgstr "" -#: build/serializers.py:1365 part/bom.py:185 part/serializers.py:1650 +#: build/serializers.py:1365 part/bom.py:185 part/serializers.py:1648 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" @@ -1716,7 +1716,7 @@ msgstr "" msgid "Total Available Stock" msgstr "" -#: build/serializers.py:1372 part/serializers.py:927 +#: build/serializers.py:1372 part/serializers.py:925 msgid "External Stock" msgstr "" @@ -1745,7 +1745,7 @@ msgstr "" #: importer/status_codes.py:27 order/status_codes.py:15 #: order/status_codes.py:50 order/status_codes.py:81 #: order/templates/order/order_base.html:163 -#: order/templates/order/sales_order_base.html:168 report/models.py:443 +#: order/templates/order/sales_order_base.html:168 report/models.py:451 msgid "Complete" msgstr "" @@ -1849,9 +1849,6 @@ msgid "Delete Build" msgstr "" #: build/templates/build/build_base.html:87 -msgid "Isueue Build" -msgstr "" - #: build/templates/build/build_base.html:88 msgid "Issue Build" msgstr "" @@ -1931,7 +1928,7 @@ msgstr "" #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_report.html:135 #: report/templates/report/inventree_sales_order_report.html:14 -#: stock/templates/stock/item_base.html:369 +#: stock/templates/stock/item_base.html:365 #: templates/email/overdue_sales_order.html:15 #: templates/js/translated/pricing.js:929 #: templates/js/translated/sales_order.js:805 @@ -1991,7 +1988,7 @@ msgid "Allocated Parts" msgstr "" #: build/templates/build/detail.html:80 stock/admin.py:163 -#: stock/templates/stock/item_base.html:162 +#: stock/templates/stock/item_base.html:158 #: templates/js/translated/build.js:1556 #: templates/js/translated/model_renderers.js:242 #: templates/js/translated/purchase_order.js:1326 @@ -2148,19 +2145,19 @@ msgstr "" msgid "Test Statistics" msgstr "" -#: common/api.py:692 +#: common/api.py:725 msgid "Is Link" msgstr "" -#: common/api.py:700 +#: common/api.py:733 msgid "Is File" msgstr "" -#: common/api.py:743 +#: common/api.py:776 msgid "User does not have permission to delete these attachments" msgstr "" -#: common/api.py:760 +#: common/api.py:793 msgid "User does not have permission to delete this attachment" msgstr "" @@ -2352,8 +2349,8 @@ msgstr "" #: common/models.py:1297 common/models.py:1353 common/models.py:1366 #: common/models.py:1374 common/models.py:1383 common/models.py:1392 -#: common/models.py:1629 common/models.py:1651 common/models.py:1766 -#: common/models.py:2148 +#: common/models.py:1629 common/models.py:1651 common/models.py:1752 +#: common/models.py:2141 msgid "days" msgstr "" @@ -2581,9 +2578,9 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1485 part/admin.py:108 part/models.py:3959 -#: report/models.py:293 report/models.py:360 report/serializers.py:90 -#: report/serializers.py:131 stock/serializers.py:233 +#: common/models.py:1485 part/admin.py:108 part/models.py:3946 +#: report/models.py:301 report/models.py:368 report/serializers.py:91 +#: report/serializers.py:132 stock/serializers.py:233 #: templates/js/translated/table_filters.js:138 #: templates/js/translated/table_filters.js:775 msgid "Template" @@ -2598,7 +2595,7 @@ msgid "Parts can be assembled from other components by default" msgstr "" #: common/models.py:1497 part/admin.py:95 part/models.py:1172 -#: part/serializers.py:1617 templates/js/translated/table_filters.js:737 +#: part/serializers.py:1615 templates/js/translated/table_filters.js:737 msgid "Component" msgstr "" @@ -2823,7 +2820,7 @@ msgid "Log errors which occur when generating reports" msgstr "" #: common/models.py:1702 plugin/builtin/labels/label_sheet.py:28 -#: report/models.py:301 +#: report/models.py:309 msgid "Page Size" msgstr "" @@ -2832,914 +2829,914 @@ msgid "Default page size for PDF reports" msgstr "" #: common/models.py:1708 -msgid "Enable Test Reports" -msgstr "" - -#: common/models.py:1709 -msgid "Enable generation of test reports" -msgstr "" - -#: common/models.py:1714 -msgid "Attach Test Reports" -msgstr "" - -#: common/models.py:1716 -msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" -msgstr "" - -#: common/models.py:1722 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1723 +#: common/models.py:1709 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1728 +#: common/models.py:1714 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1729 +#: common/models.py:1715 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1734 +#: common/models.py:1720 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1736 +#: common/models.py:1722 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/models.py:1742 +#: common/models.py:1728 msgid "Batch Code Template" msgstr "" -#: common/models.py:1744 +#: common/models.py:1730 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1749 +#: common/models.py:1735 msgid "Stock Expiry" msgstr "" -#: common/models.py:1750 +#: common/models.py:1736 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1755 +#: common/models.py:1741 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1756 +#: common/models.py:1742 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1761 +#: common/models.py:1747 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1763 +#: common/models.py:1749 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1770 +#: common/models.py:1756 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1771 +#: common/models.py:1757 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1776 +#: common/models.py:1762 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1777 +#: common/models.py:1763 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1782 +#: common/models.py:1768 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1783 +#: common/models.py:1769 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1788 +#: common/models.py:1774 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1789 +#: common/models.py:1775 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1794 +#: common/models.py:1780 msgid "Check BOM when installing items" msgstr "" -#: common/models.py:1796 +#: common/models.py:1782 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/models.py:1802 +#: common/models.py:1788 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/models.py:1804 +#: common/models.py:1790 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/models.py:1810 +#: common/models.py:1796 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1812 +#: common/models.py:1798 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1818 common/models.py:1874 common/models.py:1896 -#: common/models.py:1932 +#: common/models.py:1804 common/models.py:1860 common/models.py:1882 +#: common/models.py:1918 msgid "Require Responsible Owner" msgstr "" -#: common/models.py:1819 common/models.py:1875 common/models.py:1897 -#: common/models.py:1933 +#: common/models.py:1805 common/models.py:1861 common/models.py:1883 +#: common/models.py:1919 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/models.py:1824 +#: common/models.py:1810 msgid "Require Active Part" msgstr "" -#: common/models.py:1825 +#: common/models.py:1811 msgid "Prevent build order creation for inactive parts" msgstr "" -#: common/models.py:1830 +#: common/models.py:1816 msgid "Require Locked Part" msgstr "" -#: common/models.py:1831 +#: common/models.py:1817 msgid "Prevent build order creation for unlocked parts" msgstr "" -#: common/models.py:1836 +#: common/models.py:1822 msgid "Require Valid BOM" msgstr "" -#: common/models.py:1838 +#: common/models.py:1824 msgid "Prevent build order creation unless BOM has been validated" msgstr "" -#: common/models.py:1844 +#: common/models.py:1830 msgid "Require Closed Child Orders" msgstr "" -#: common/models.py:1846 +#: common/models.py:1832 msgid "Prevent build order completion until all child orders are closed" msgstr "" -#: common/models.py:1852 +#: common/models.py:1838 msgid "Block Until Tests Pass" msgstr "" -#: common/models.py:1854 +#: common/models.py:1840 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "" -#: common/models.py:1860 +#: common/models.py:1846 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1861 +#: common/models.py:1847 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1866 +#: common/models.py:1852 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1868 +#: common/models.py:1854 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1880 +#: common/models.py:1866 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1882 +#: common/models.py:1868 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1888 +#: common/models.py:1874 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1890 +#: common/models.py:1876 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1902 +#: common/models.py:1888 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1903 +#: common/models.py:1889 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1908 +#: common/models.py:1894 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1910 +#: common/models.py:1896 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1916 +#: common/models.py:1902 msgid "Mark Shipped Orders as Complete" msgstr "" -#: common/models.py:1918 +#: common/models.py:1904 msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status" msgstr "" -#: common/models.py:1924 +#: common/models.py:1910 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1926 +#: common/models.py:1912 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1938 +#: common/models.py:1924 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1940 +#: common/models.py:1926 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1946 +#: common/models.py:1932 msgid "Auto Complete Purchase Orders" msgstr "" -#: common/models.py:1948 +#: common/models.py:1934 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/models.py:1955 +#: common/models.py:1941 msgid "Enable password forgot" msgstr "" -#: common/models.py:1956 +#: common/models.py:1942 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1961 +#: common/models.py:1947 msgid "Enable registration" msgstr "" -#: common/models.py:1962 +#: common/models.py:1948 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1967 +#: common/models.py:1953 msgid "Enable SSO" msgstr "" -#: common/models.py:1968 +#: common/models.py:1954 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1973 +#: common/models.py:1959 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1975 +#: common/models.py:1961 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1981 +#: common/models.py:1967 msgid "Enable SSO group sync" msgstr "" -#: common/models.py:1983 +#: common/models.py:1969 msgid "Enable synchronizing InvenTree groups with groups provided by the IdP" msgstr "" -#: common/models.py:1989 +#: common/models.py:1975 msgid "SSO group key" msgstr "" -#: common/models.py:1991 +#: common/models.py:1977 msgid "The name of the groups claim attribute provided by the IdP" msgstr "" -#: common/models.py:1997 +#: common/models.py:1983 msgid "SSO group map" msgstr "" -#: common/models.py:1999 +#: common/models.py:1985 msgid "A mapping from SSO groups to local InvenTree groups. If the local group does not exist, it will be created." msgstr "" -#: common/models.py:2005 +#: common/models.py:1991 msgid "Remove groups outside of SSO" msgstr "" -#: common/models.py:2007 +#: common/models.py:1993 msgid "Whether groups assigned to the user should be removed if they are not backend by the IdP. Disabling this setting might cause security issues" msgstr "" -#: common/models.py:2013 +#: common/models.py:1999 msgid "Email required" msgstr "" -#: common/models.py:2014 +#: common/models.py:2000 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:2019 +#: common/models.py:2005 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:2021 +#: common/models.py:2007 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:2027 +#: common/models.py:2013 msgid "Mail twice" msgstr "" -#: common/models.py:2028 +#: common/models.py:2014 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:2033 +#: common/models.py:2019 msgid "Password twice" msgstr "" -#: common/models.py:2034 +#: common/models.py:2020 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:2039 +#: common/models.py:2025 msgid "Allowed domains" msgstr "" -#: common/models.py:2041 +#: common/models.py:2027 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:2047 +#: common/models.py:2033 msgid "Group on signup" msgstr "" -#: common/models.py:2049 +#: common/models.py:2035 msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP." msgstr "" -#: common/models.py:2055 +#: common/models.py:2041 msgid "Enforce MFA" msgstr "" -#: common/models.py:2056 +#: common/models.py:2042 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:2061 +#: common/models.py:2047 msgid "Check plugins on startup" msgstr "" -#: common/models.py:2063 +#: common/models.py:2049 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:2071 +#: common/models.py:2057 msgid "Check for plugin updates" msgstr "" -#: common/models.py:2072 +#: common/models.py:2058 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:2078 +#: common/models.py:2064 msgid "Enable URL integration" msgstr "" -#: common/models.py:2079 +#: common/models.py:2065 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:2085 +#: common/models.py:2071 msgid "Enable navigation integration" msgstr "" -#: common/models.py:2086 +#: common/models.py:2072 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:2092 +#: common/models.py:2078 msgid "Enable app integration" msgstr "" -#: common/models.py:2093 +#: common/models.py:2079 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:2099 +#: common/models.py:2085 msgid "Enable schedule integration" msgstr "" -#: common/models.py:2100 +#: common/models.py:2086 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:2106 +#: common/models.py:2092 msgid "Enable event integration" msgstr "" -#: common/models.py:2107 +#: common/models.py:2093 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:2113 +#: common/models.py:2099 +msgid "Enable interface integration" +msgstr "" + +#: common/models.py:2100 +msgid "Enable plugins to integrate into the user interface" +msgstr "" + +#: common/models.py:2106 msgid "Enable project codes" msgstr "" -#: common/models.py:2114 +#: common/models.py:2107 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:2119 +#: common/models.py:2112 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:2121 +#: common/models.py:2114 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:2127 +#: common/models.py:2120 msgid "Exclude External Locations" msgstr "" -#: common/models.py:2129 +#: common/models.py:2122 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/models.py:2135 +#: common/models.py:2128 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:2137 +#: common/models.py:2130 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:2143 +#: common/models.py:2136 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:2145 +#: common/models.py:2138 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:2152 +#: common/models.py:2145 msgid "Display Users full names" msgstr "" -#: common/models.py:2153 +#: common/models.py:2146 msgid "Display Users full names instead of usernames" msgstr "" -#: common/models.py:2158 +#: common/models.py:2151 msgid "Enable Test Station Data" msgstr "" -#: common/models.py:2159 +#: common/models.py:2152 msgid "Enable test station data collection for test results" msgstr "" -#: common/models.py:2171 common/models.py:2551 +#: common/models.py:2157 +msgid "Create Template on Upload" +msgstr "" + +#: common/models.py:2159 +msgid "Create a new test template when uploading test data which does not match an existing template" +msgstr "" + +#: common/models.py:2172 common/models.py:2552 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:2214 +#: common/models.py:2215 msgid "Hide inactive parts" msgstr "" -#: common/models.py:2216 +#: common/models.py:2217 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:2222 +#: common/models.py:2223 msgid "Show subscribed parts" msgstr "" -#: common/models.py:2223 +#: common/models.py:2224 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:2228 +#: common/models.py:2229 msgid "Show subscribed categories" msgstr "" -#: common/models.py:2229 +#: common/models.py:2230 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:2234 +#: common/models.py:2235 msgid "Show latest parts" msgstr "" -#: common/models.py:2235 +#: common/models.py:2236 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:2240 +#: common/models.py:2241 msgid "Show invalid BOMs" msgstr "" -#: common/models.py:2241 +#: common/models.py:2242 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:2246 +#: common/models.py:2247 msgid "Show recent stock changes" msgstr "" -#: common/models.py:2247 +#: common/models.py:2248 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:2252 +#: common/models.py:2253 msgid "Show low stock" msgstr "" -#: common/models.py:2253 +#: common/models.py:2254 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:2258 +#: common/models.py:2259 msgid "Show depleted stock" msgstr "" -#: common/models.py:2259 +#: common/models.py:2260 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:2264 +#: common/models.py:2265 msgid "Show needed stock" msgstr "" -#: common/models.py:2265 +#: common/models.py:2266 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:2270 +#: common/models.py:2271 msgid "Show expired stock" msgstr "" -#: common/models.py:2271 +#: common/models.py:2272 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:2276 +#: common/models.py:2277 msgid "Show stale stock" msgstr "" -#: common/models.py:2277 +#: common/models.py:2278 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:2282 +#: common/models.py:2283 msgid "Show pending builds" msgstr "" -#: common/models.py:2283 +#: common/models.py:2284 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:2288 +#: common/models.py:2289 msgid "Show overdue builds" msgstr "" -#: common/models.py:2289 +#: common/models.py:2290 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:2294 +#: common/models.py:2295 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2295 +#: common/models.py:2296 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2300 +#: common/models.py:2301 msgid "Show overdue POs" msgstr "" -#: common/models.py:2301 +#: common/models.py:2302 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2306 +#: common/models.py:2307 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2307 +#: common/models.py:2308 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2312 +#: common/models.py:2313 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2313 +#: common/models.py:2314 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2318 +#: common/models.py:2319 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2319 +#: common/models.py:2320 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2324 +#: common/models.py:2325 msgid "Show News" msgstr "" -#: common/models.py:2325 +#: common/models.py:2326 msgid "Show news on the homepage" msgstr "" -#: common/models.py:2330 +#: common/models.py:2331 msgid "Inline label display" msgstr "" -#: common/models.py:2332 +#: common/models.py:2333 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2338 +#: common/models.py:2339 msgid "Default label printer" msgstr "" -#: common/models.py:2340 +#: common/models.py:2341 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2346 +#: common/models.py:2347 msgid "Inline report display" msgstr "" -#: common/models.py:2348 +#: common/models.py:2349 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2354 +#: common/models.py:2355 msgid "Search Parts" msgstr "" -#: common/models.py:2355 +#: common/models.py:2356 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2360 +#: common/models.py:2361 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2361 +#: common/models.py:2362 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2366 +#: common/models.py:2367 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2367 +#: common/models.py:2368 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2372 +#: common/models.py:2373 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2373 +#: common/models.py:2374 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2378 +#: common/models.py:2379 msgid "Search Categories" msgstr "" -#: common/models.py:2379 +#: common/models.py:2380 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2384 +#: common/models.py:2385 msgid "Search Stock" msgstr "" -#: common/models.py:2385 +#: common/models.py:2386 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2390 +#: common/models.py:2391 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2392 +#: common/models.py:2393 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2398 +#: common/models.py:2399 msgid "Search Locations" msgstr "" -#: common/models.py:2399 +#: common/models.py:2400 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2404 +#: common/models.py:2405 msgid "Search Companies" msgstr "" -#: common/models.py:2405 +#: common/models.py:2406 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2410 +#: common/models.py:2411 msgid "Search Build Orders" msgstr "" -#: common/models.py:2411 +#: common/models.py:2412 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2416 +#: common/models.py:2417 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2417 +#: common/models.py:2418 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2422 +#: common/models.py:2423 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2424 +#: common/models.py:2425 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2430 +#: common/models.py:2431 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2431 +#: common/models.py:2432 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2436 +#: common/models.py:2437 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2438 +#: common/models.py:2439 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2444 +#: common/models.py:2445 msgid "Search Return Orders" msgstr "" -#: common/models.py:2445 +#: common/models.py:2446 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2450 +#: common/models.py:2451 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2452 +#: common/models.py:2453 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2458 +#: common/models.py:2459 msgid "Search Preview Results" msgstr "" -#: common/models.py:2460 +#: common/models.py:2461 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2466 +#: common/models.py:2467 msgid "Regex Search" msgstr "" -#: common/models.py:2467 +#: common/models.py:2468 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2472 +#: common/models.py:2473 msgid "Whole Word Search" msgstr "" -#: common/models.py:2473 +#: common/models.py:2474 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2478 +#: common/models.py:2479 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2479 +#: common/models.py:2480 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2484 +#: common/models.py:2485 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2485 +#: common/models.py:2486 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2490 +#: common/models.py:2491 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2491 +#: common/models.py:2492 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2496 +#: common/models.py:2497 msgid "Date Format" msgstr "" -#: common/models.py:2497 +#: common/models.py:2498 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2510 part/templates/part/detail.html:41 +#: common/models.py:2511 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2511 +#: common/models.py:2512 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2516 part/templates/part/detail.html:62 +#: common/models.py:2517 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2518 +#: common/models.py:2519 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2524 +#: common/models.py:2525 msgid "Table String Length" msgstr "" -#: common/models.py:2526 +#: common/models.py:2527 msgid "Maximum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2532 +#: common/models.py:2533 msgid "Receive error reports" msgstr "" -#: common/models.py:2533 +#: common/models.py:2534 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2538 +#: common/models.py:2539 msgid "Last used printing machines" msgstr "" -#: common/models.py:2539 +#: common/models.py:2540 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2559 common/models.py:2560 common/models.py:2717 -#: common/models.py:2718 common/models.py:2963 common/models.py:2964 -#: common/models.py:3287 common/models.py:3288 importer/models.py:89 -#: part/models.py:3319 part/models.py:3406 part/models.py:3480 -#: part/models.py:3508 plugin/models.py:274 plugin/models.py:275 +#: common/models.py:2560 common/models.py:2561 common/models.py:2718 +#: common/models.py:2719 common/models.py:2964 common/models.py:2965 +#: common/models.py:3288 common/models.py:3289 importer/models.py:89 +#: part/models.py:3306 part/models.py:3393 part/models.py:3467 +#: part/models.py:3495 plugin/models.py:274 plugin/models.py:275 #: report/templates/report/inventree_test_report.html:105 #: templates/js/translated/stock.js:3121 users/models.py:111 msgid "User" msgstr "" -#: common/models.py:2582 +#: common/models.py:2583 msgid "Price break quantity" msgstr "" -#: common/models.py:2589 company/serializers.py:517 order/admin.py:42 +#: common/models.py:2590 company/serializers.py:517 order/admin.py:42 #: order/models.py:1423 order/models.py:2410 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1892 #: templates/js/translated/pricing.js:621 @@ -3747,96 +3744,96 @@ msgstr "" msgid "Price" msgstr "" -#: common/models.py:2590 +#: common/models.py:2591 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2694 common/models.py:2879 +#: common/models.py:2695 common/models.py:2880 msgid "Endpoint" msgstr "" -#: common/models.py:2695 +#: common/models.py:2696 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2705 +#: common/models.py:2706 msgid "Name for this webhook" msgstr "" -#: common/models.py:2709 +#: common/models.py:2710 msgid "Is this webhook active" msgstr "" -#: common/models.py:2725 users/models.py:159 +#: common/models.py:2726 users/models.py:159 msgid "Token" msgstr "" -#: common/models.py:2726 +#: common/models.py:2727 msgid "Token for access" msgstr "" -#: common/models.py:2734 +#: common/models.py:2735 msgid "Secret" msgstr "" -#: common/models.py:2735 +#: common/models.py:2736 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2843 +#: common/models.py:2844 msgid "Message ID" msgstr "" -#: common/models.py:2844 +#: common/models.py:2845 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2852 +#: common/models.py:2853 msgid "Host" msgstr "" -#: common/models.py:2853 +#: common/models.py:2854 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2861 +#: common/models.py:2862 msgid "Header" msgstr "" -#: common/models.py:2862 +#: common/models.py:2863 msgid "Header of this message" msgstr "" -#: common/models.py:2869 +#: common/models.py:2870 msgid "Body" msgstr "" -#: common/models.py:2870 +#: common/models.py:2871 msgid "Body of this message" msgstr "" -#: common/models.py:2880 +#: common/models.py:2881 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2885 +#: common/models.py:2886 msgid "Worked on" msgstr "" -#: common/models.py:2886 +#: common/models.py:2887 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:3012 +#: common/models.py:3013 msgid "Id" msgstr "" -#: common/models.py:3014 templates/js/translated/company.js:965 +#: common/models.py:3015 templates/js/translated/company.js:965 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:3016 common/models.py:3271 company/models.py:146 +#: common/models.py:3017 common/models.py:3272 company/models.py:146 #: company/models.py:443 company/models.py:509 company/models.py:815 #: order/models.py:303 order/models.py:1378 order/models.py:1810 #: part/admin.py:55 part/models.py:1069 @@ -3853,217 +3850,217 @@ msgstr "" msgid "Link" msgstr "" -#: common/models.py:3018 templates/js/translated/news.js:60 +#: common/models.py:3019 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:3020 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:3021 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:103 msgid "Author" msgstr "" -#: common/models.py:3022 templates/js/translated/news.js:52 +#: common/models.py:3023 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:3025 +#: common/models.py:3026 msgid "Read" msgstr "" -#: common/models.py:3025 +#: common/models.py:3026 msgid "Was this news item read?" msgstr "" -#: common/models.py:3042 company/models.py:156 part/models.py:1079 +#: common/models.py:3043 company/models.py:156 part/models.py:1079 #: 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.html:35 -#: stock/templates/stock/item_base.html:133 templates/503.html:31 +#: stock/templates/stock/item_base.html:129 templates/503.html:31 #: templates/hover_image.html:7 templates/hover_image.html:9 #: templates/modals.html:6 msgid "Image" msgstr "" -#: common/models.py:3042 +#: common/models.py:3043 msgid "Image file" msgstr "" -#: common/models.py:3054 common/models.py:3255 +#: common/models.py:3055 common/models.py:3256 msgid "Target model type for this image" msgstr "" -#: common/models.py:3058 +#: common/models.py:3059 msgid "Target model ID for this image" msgstr "" -#: common/models.py:3080 +#: common/models.py:3081 msgid "Custom Unit" msgstr "" -#: common/models.py:3098 +#: common/models.py:3099 msgid "Unit symbol must be unique" msgstr "" -#: common/models.py:3113 +#: common/models.py:3114 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:3132 +#: common/models.py:3133 msgid "Unit name" msgstr "" -#: common/models.py:3139 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3140 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:3140 +#: common/models.py:3141 msgid "Optional unit symbol" msgstr "" -#: common/models.py:3146 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3147 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:3147 +#: common/models.py:3148 msgid "Unit definition" msgstr "" -#: common/models.py:3205 common/models.py:3262 stock/models.py:2552 +#: common/models.py:3206 common/models.py:3263 stock/models.py:2547 #: stock/serializers.py:244 templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:345 msgid "Attachment" msgstr "" -#: common/models.py:3217 +#: common/models.py:3218 msgid "Missing file" msgstr "" -#: common/models.py:3218 +#: common/models.py:3219 msgid "Missing external link" msgstr "" -#: common/models.py:3263 +#: common/models.py:3264 msgid "Select file to attach" msgstr "" -#: common/models.py:3278 templates/js/translated/attachment.js:120 +#: common/models.py:3279 templates/js/translated/attachment.js:120 #: templates/js/translated/attachment.js:360 msgid "Comment" msgstr "" -#: common/models.py:3279 +#: common/models.py:3280 msgid "Attachment comment" msgstr "" -#: common/models.py:3295 +#: common/models.py:3296 msgid "Upload date" msgstr "" -#: common/models.py:3296 +#: common/models.py:3297 msgid "Date the file was uploaded" msgstr "" -#: common/models.py:3300 +#: common/models.py:3301 msgid "File size" msgstr "" -#: common/models.py:3300 +#: common/models.py:3301 msgid "File size in bytes" msgstr "" -#: common/models.py:3338 common/serializers.py:588 +#: common/models.py:3339 common/serializers.py:604 msgid "Invalid model type specified for attachment" msgstr "" -#: common/models.py:3347 plugin/models.py:43 users/models.py:100 +#: common/models.py:3348 plugin/models.py:43 users/models.py:100 msgid "Key" msgstr "" -#: common/models.py:3348 +#: common/models.py:3349 msgid "Value that will be saved in the models database" msgstr "" -#: common/models.py:3351 +#: common/models.py:3352 msgid "Name of the state" msgstr "" -#: common/models.py:3355 +#: common/models.py:3356 msgid "Label" msgstr "" -#: common/models.py:3356 +#: common/models.py:3357 msgid "Label that will be displayed in the frontend" msgstr "" -#: common/models.py:3362 +#: common/models.py:3363 msgid "Color" msgstr "" -#: common/models.py:3363 +#: common/models.py:3364 msgid "Color that will be displayed in the frontend" msgstr "" -#: common/models.py:3366 +#: common/models.py:3367 msgid "Logical Key" msgstr "" -#: common/models.py:3368 +#: common/models.py:3369 msgid "State logical key that is equal to this custom state in business logic" msgstr "" -#: common/models.py:3376 +#: common/models.py:3377 msgid "Model" msgstr "" -#: common/models.py:3377 +#: common/models.py:3378 msgid "Model this state is associated with" msgstr "" -#: common/models.py:3381 +#: common/models.py:3382 msgid "Reference Status Set" msgstr "" -#: common/models.py:3382 +#: common/models.py:3383 msgid "Status set that is extended with this custom state" msgstr "" -#: common/models.py:3388 +#: common/models.py:3389 msgid "Custom State" msgstr "" -#: common/models.py:3389 +#: common/models.py:3390 msgid "Custom States" msgstr "" -#: common/models.py:3404 +#: common/models.py:3405 msgid "Model must be selected" msgstr "" -#: common/models.py:3407 +#: common/models.py:3408 msgid "Key must be selected" msgstr "" -#: common/models.py:3410 +#: common/models.py:3411 msgid "Logical key must be selected" msgstr "" -#: common/models.py:3414 +#: common/models.py:3415 msgid "Key must be different from logical key" msgstr "" -#: common/models.py:3418 +#: common/models.py:3419 msgid "Reference status must be selected" msgstr "" -#: common/models.py:3430 +#: common/models.py:3431 msgid "Reference status set not found" msgstr "" -#: common/models.py:3436 +#: common/models.py:3437 msgid "Key must be different from the logical keys of the reference status" msgstr "" -#: common/models.py:3442 +#: common/models.py:3443 msgid "Logical key must be in the logical keys of the reference status" msgstr "" @@ -4101,75 +4098,75 @@ msgstr "" msgid "Error raised by plugin" msgstr "" -#: common/serializers.py:402 +#: common/serializers.py:418 msgid "Is Running" msgstr "" -#: common/serializers.py:408 +#: common/serializers.py:424 msgid "Pending Tasks" msgstr "" -#: common/serializers.py:414 +#: common/serializers.py:430 msgid "Scheduled Tasks" msgstr "" -#: common/serializers.py:420 +#: common/serializers.py:436 msgid "Failed Tasks" msgstr "" -#: common/serializers.py:435 +#: common/serializers.py:451 msgid "Task ID" msgstr "" -#: common/serializers.py:435 +#: common/serializers.py:451 msgid "Unique task ID" msgstr "" -#: common/serializers.py:437 +#: common/serializers.py:453 msgid "Lock" msgstr "" -#: common/serializers.py:437 +#: common/serializers.py:453 msgid "Lock time" msgstr "" -#: common/serializers.py:439 +#: common/serializers.py:455 msgid "Task name" msgstr "" -#: common/serializers.py:441 +#: common/serializers.py:457 msgid "Function" msgstr "" -#: common/serializers.py:441 +#: common/serializers.py:457 msgid "Function name" msgstr "" -#: common/serializers.py:443 +#: common/serializers.py:459 msgid "Arguments" msgstr "" -#: common/serializers.py:443 +#: common/serializers.py:459 msgid "Task arguments" msgstr "" -#: common/serializers.py:446 +#: common/serializers.py:462 msgid "Keyword Arguments" msgstr "" -#: common/serializers.py:446 +#: common/serializers.py:462 msgid "Task keyword arguments" msgstr "" -#: common/serializers.py:556 +#: common/serializers.py:572 msgid "Filename" msgstr "" -#: common/serializers.py:563 report/api.py:100 report/serializers.py:53 +#: common/serializers.py:579 report/api.py:100 report/serializers.py:54 msgid "Model Type" msgstr "" -#: common/serializers.py:591 +#: common/serializers.py:607 msgid "User does not have permission to create or edit attachments for this model" msgstr "" @@ -4447,12 +4444,12 @@ msgstr "" #: company/models.py:467 company/models.py:584 company/models.py:808 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 -#: stock/templates/stock/item_base.html:217 +#: stock/templates/stock/item_base.html:213 msgid "Manufacturer Part" msgstr "" #: company/models.py:484 company/models.py:776 stock/models.py:791 -#: stock/serializers.py:452 stock/templates/stock/item_base.html:142 +#: stock/serializers.py:452 stock/templates/stock/item_base.html:138 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" @@ -4463,8 +4460,8 @@ msgstr "" #: company/models.py:495 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:567 -#: stock/templates/stock/item_base.html:207 +#: company/templates/company/supplier_part.html:145 part/serializers.py:565 +#: stock/templates/stock/item_base.html:203 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 #: templates/js/translated/company.js:1296 @@ -4479,7 +4476,7 @@ msgstr "" #: company/models.py:502 company/templates/company/manufacturer_part.html:101 #: company/templates/company/supplier_part.html:153 order/serializers.py:557 -#: part/serializers.py:577 templates/js/translated/company.js:351 +#: part/serializers.py:575 templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 #: templates/js/translated/company.js:1630 templates/js/translated/part.js:1807 @@ -4505,7 +4502,7 @@ msgid "Parameter name" msgstr "" #: company/models.py:597 report/templates/report/inventree_test_report.html:104 -#: stock/models.py:2544 templates/js/translated/company.js:1166 +#: stock/models.py:2539 templates/js/translated/company.js:1166 #: templates/js/translated/company.js:1419 templates/js/translated/part.js:1499 #: templates/js/translated/stock.js:1607 msgid "Value" @@ -4516,7 +4513,7 @@ msgid "Parameter value" msgstr "" #: company/models.py:605 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1159 part/models.py:3783 +#: part/admin.py:57 part/models.py:1159 part/models.py:3770 #: part/templates/part/part_base.html:300 #: templates/js/translated/company.js:1425 templates/js/translated/part.js:1518 #: templates/js/translated/part.js:1622 templates/js/translated/part.js:2376 @@ -4530,7 +4527,7 @@ msgstr "" #: company/models.py:659 company/templates/company/supplier_part.html:7 #: company/templates/company/supplier_part.html:24 order/api.py:440 #: order/serializers.py:492 stock/models.py:802 -#: stock/templates/stock/item_base.html:233 +#: stock/templates/stock/item_base.html:229 #: templates/js/translated/build.js:1055 #: templates/js/translated/company.js:1600 #: templates/js/translated/purchase_order.js:752 @@ -4553,9 +4550,9 @@ msgstr "" #: company/models.py:786 company/templates/company/company_base.html:87 #: company/templates/company/supplier_part.html:129 order/models.py:492 #: order/templates/order/order_base.html:141 part/bom.py:279 part/bom.py:314 -#: part/serializers.py:551 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:549 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 -#: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 +#: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:220 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:511 @@ -4570,7 +4567,7 @@ msgstr "" msgid "Select supplier" msgstr "" -#: company/models.py:793 part/serializers.py:562 +#: company/models.py:793 part/serializers.py:560 msgid "Supplier stock keeping unit" msgstr "" @@ -4591,7 +4588,7 @@ msgid "Supplier part description" msgstr "" #: company/models.py:832 company/templates/company/supplier_part.html:187 -#: order/serializers.py:699 part/admin.py:415 part/models.py:4301 +#: order/serializers.py:699 part/admin.py:415 part/models.py:4288 #: part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 @@ -4603,11 +4600,11 @@ msgstr "" msgid "Note" msgstr "" -#: company/models.py:841 part/models.py:2129 +#: company/models.py:841 part/models.py:2128 msgid "base cost" msgstr "" -#: company/models.py:842 part/models.py:2130 +#: company/models.py:842 part/models.py:2129 msgid "Minimum charge (e.g. stocking fee)" msgstr "" @@ -4629,7 +4626,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:876 part/models.py:2136 +#: company/models.py:876 part/models.py:2135 msgid "multiple" msgstr "" @@ -4661,7 +4658,7 @@ msgstr "" msgid "Company Name" msgstr "" -#: company/serializers.py:397 part/admin.py:126 part/serializers.py:919 +#: company/serializers.py:397 part/admin.py:126 part/serializers.py:917 #: part/templates/part/part_base.html:197 #: templates/js/translated/company.js:1689 #: templates/js/translated/table_filters.js:362 @@ -4735,7 +4732,7 @@ msgstr "" #: order/models.py:2140 order/templates/order/return_order_base.html:134 #: order/templates/order/sales_order_base.html:151 stock/models.py:844 #: stock/models.py:845 stock/serializers.py:1336 -#: stock/templates/stock/item_base.html:405 +#: stock/templates/stock/item_base.html:401 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 #: templates/js/translated/return_order.js:295 @@ -4939,7 +4936,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:925 +#: part/admin.py:122 part/serializers.py:923 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -5030,7 +5027,7 @@ msgid "No supplier information available" msgstr "" #: company/templates/company/supplier_part.html:139 order/serializers.py:554 -#: part/bom.py:286 part/bom.py:315 part/serializers.py:561 +#: part/bom.py:286 part/bom.py:315 part/serializers.py:559 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1793 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1920 @@ -5084,7 +5081,7 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:923 part/stocktake.py:223 +#: part/serializers.py:921 part/stocktake.py:223 #: part/templates/part/category.html:180 #: part/templates/part/category_sidebar.html:17 stock/admin.py:68 #: stock/serializers.py:1021 stock/serializers.py:1199 @@ -5215,7 +5212,7 @@ msgstr "" msgid "Original row data" msgstr "" -#: importer/models.py:504 part/models.py:3965 +#: importer/models.py:504 part/models.py:3952 msgid "Data" msgstr "" @@ -5473,7 +5470,7 @@ msgstr "" #: order/models.py:1592 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_purchase_order_report.html:14 -#: stock/serializers.py:121 stock/templates/stock/item_base.html:176 +#: stock/serializers.py:121 stock/templates/stock/item_base.html:172 #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/part.js:1752 templates/js/translated/pricing.js:804 #: templates/js/translated/purchase_order.js:168 @@ -5694,7 +5691,7 @@ msgid "Number of items received" msgstr "" #: order/models.py:1513 stock/models.py:963 stock/serializers.py:617 -#: stock/templates/stock/item_base.html:183 +#: stock/templates/stock/item_base.html:179 #: templates/js/translated/stock.js:2397 msgid "Purchase Price" msgstr "" @@ -5768,7 +5765,7 @@ msgid "User who checked this shipment" msgstr "" #: order/models.py:1788 order/models.py:2011 order/serializers.py:1479 -#: order/serializers.py:1589 templates/js/translated/model_renderers.js:455 +#: order/serializers.py:1597 templates/js/translated/model_renderers.js:455 msgid "Shipment" msgstr "" @@ -5982,7 +5979,7 @@ msgstr "" msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:656 order/serializers.py:779 order/serializers.py:1790 +#: order/serializers.py:656 order/serializers.py:779 order/serializers.py:1798 msgid "Select destination location for received items" msgstr "" @@ -6019,7 +6016,7 @@ msgstr "" msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:795 order/serializers.py:1806 +#: order/serializers.py:795 order/serializers.py:1814 msgid "Line items must be provided" msgstr "" @@ -6051,39 +6048,39 @@ msgstr "" msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1491 order/serializers.py:1597 +#: order/serializers.py:1491 order/serializers.py:1605 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1494 order/serializers.py:1600 +#: order/serializers.py:1494 order/serializers.py:1608 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1541 +#: order/serializers.py:1549 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1548 -msgid "The following serial numbers are already allocated" +#: order/serializers.py:1556 +msgid "The following serial numbers are unavailable" msgstr "" -#: order/serializers.py:1760 +#: order/serializers.py:1768 msgid "Return order line item" msgstr "" -#: order/serializers.py:1766 +#: order/serializers.py:1774 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1769 +#: order/serializers.py:1777 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1798 +#: order/serializers.py:1806 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1881 +#: order/serializers.py:1889 msgid "Line price currency" msgstr "" @@ -6510,7 +6507,7 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:48 part/models.py:1044 part/serializers.py:908 +#: part/admin.py:48 part/models.py:1044 part/serializers.py:906 #: part/templates/part/part_base.html:276 #: report/templates/report/inventree_stock_location_report.html:103 #: templates/js/translated/part.js:1233 templates/js/translated/part.js:2347 @@ -6537,7 +6534,7 @@ msgstr "" msgid "Category ID" msgstr "" -#: part/admin.py:67 part/admin.py:304 part/serializers.py:893 +#: part/admin.py:67 part/admin.py:304 part/serializers.py:891 #: part/stocktake.py:222 msgid "Category Name" msgstr "" @@ -6562,18 +6559,18 @@ msgstr "" msgid "Used In" msgstr "" -#: part/admin.py:150 part/serializers.py:918 +#: part/admin.py:150 part/serializers.py:916 #: part/templates/part/part_base.html:248 stock/admin.py:236 #: templates/js/translated/part.js:717 templates/js/translated/part.js:2159 msgid "Building" msgstr "" -#: part/admin.py:155 part/models.py:3214 part/models.py:3228 +#: part/admin.py:155 part/models.py:3201 part/models.py:3215 #: templates/js/translated/part.js:976 msgid "Minimum Cost" msgstr "" -#: part/admin.py:158 part/models.py:3221 part/models.py:3235 +#: part/admin.py:158 part/models.py:3208 part/models.py:3222 #: templates/js/translated/part.js:986 msgid "Maximum Cost" msgstr "" @@ -6592,7 +6589,7 @@ msgid "Category Path" msgstr "" #: part/admin.py:325 part/models.py:420 part/serializers.py:130 -#: part/serializers.py:290 part/serializers.py:428 +#: part/serializers.py:290 part/serializers.py:426 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:20 #: part/templates/part/category.html:138 part/templates/part/category.html:158 #: part/templates/part/category_sidebar.html:9 @@ -6619,13 +6616,13 @@ msgstr "" msgid "Part Revision" msgstr "" -#: part/admin.py:418 part/serializers.py:1367 +#: part/admin.py:418 part/serializers.py:1365 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:423 part/serializers.py:1382 +#: part/admin.py:423 part/serializers.py:1380 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -6719,8 +6716,8 @@ msgstr "" msgid "BOM Valid" msgstr "" -#: part/api.py:1520 part/models.py:1036 part/models.py:3501 part/models.py:4060 -#: part/serializers.py:443 part/serializers.py:1223 +#: part/api.py:1520 part/models.py:1036 part/models.py:3488 part/models.py:4047 +#: part/serializers.py:441 part/serializers.py:1221 #: part/templates/part/part_base.html:267 stock/api.py:780 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 @@ -6746,7 +6743,7 @@ msgstr "" msgid "Default Location" msgstr "" -#: part/bom.py:184 part/serializers.py:926 +#: part/bom.py:184 part/serializers.py:924 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -6755,7 +6752,7 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:89 part/models.py:4061 part/templates/part/category.html:16 +#: part/models.py:89 part/models.py:4048 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -6878,7 +6875,7 @@ msgstr "" msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:995 part/models.py:4116 +#: part/models.py:995 part/models.py:4103 msgid "Part name" msgstr "" @@ -6906,7 +6903,7 @@ msgstr "" msgid "Part category" msgstr "" -#: part/models.py:1052 part/serializers.py:360 +#: part/models.py:1052 msgid "Part revision or version number" msgstr "" @@ -7012,164 +7009,164 @@ msgid "Owner responsible for this part" msgstr "" #: part/models.py:1264 part/templates/part/part_base.html:355 -#: stock/templates/stock/item_base.html:451 +#: stock/templates/stock/item_base.html:447 #: templates/js/translated/part.js:2490 msgid "Last Stocktake" msgstr "" -#: part/models.py:2137 +#: part/models.py:2136 msgid "Sell multiple" msgstr "" -#: part/models.py:3128 +#: part/models.py:3115 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3144 +#: part/models.py:3131 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3145 +#: part/models.py:3132 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3151 +#: part/models.py:3138 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3152 +#: part/models.py:3139 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3158 +#: part/models.py:3145 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3159 +#: part/models.py:3146 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3165 +#: part/models.py:3152 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3166 +#: part/models.py:3153 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3172 +#: part/models.py:3159 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3173 +#: part/models.py:3160 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3179 +#: part/models.py:3166 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3180 +#: part/models.py:3167 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3186 +#: part/models.py:3173 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3187 +#: part/models.py:3174 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3193 +#: part/models.py:3180 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3194 +#: part/models.py:3181 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3200 +#: part/models.py:3187 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3201 +#: part/models.py:3188 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3207 +#: part/models.py:3194 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3208 +#: part/models.py:3195 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3215 +#: part/models.py:3202 msgid "Override minimum cost" msgstr "" -#: part/models.py:3222 +#: part/models.py:3209 msgid "Override maximum cost" msgstr "" -#: part/models.py:3229 +#: part/models.py:3216 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3236 +#: part/models.py:3223 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3242 +#: part/models.py:3229 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3243 +#: part/models.py:3230 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3249 +#: part/models.py:3236 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3250 +#: part/models.py:3237 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3256 +#: part/models.py:3243 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3257 +#: part/models.py:3244 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3263 +#: part/models.py:3250 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3264 +#: part/models.py:3251 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3283 +#: part/models.py:3270 msgid "Part for stocktake" msgstr "" -#: part/models.py:3288 +#: part/models.py:3275 msgid "Item Count" msgstr "" -#: part/models.py:3289 +#: part/models.py:3276 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3297 +#: part/models.py:3284 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3301 part/models.py:3384 +#: part/models.py:3288 part/models.py:3371 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -7181,363 +7178,363 @@ msgstr "" msgid "Date" msgstr "" -#: part/models.py:3302 +#: part/models.py:3289 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3310 +#: part/models.py:3297 msgid "Additional notes" msgstr "" -#: part/models.py:3320 +#: part/models.py:3307 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3326 +#: part/models.py:3313 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3327 +#: part/models.py:3314 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3333 +#: part/models.py:3320 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3334 +#: part/models.py:3321 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3390 templates/InvenTree/settings/settings_staff_js.html:532 +#: part/models.py:3377 templates/InvenTree/settings/settings_staff_js.html:532 msgid "Report" msgstr "" -#: part/models.py:3391 +#: part/models.py:3378 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3396 templates/InvenTree/settings/settings_staff_js.html:539 +#: part/models.py:3383 templates/InvenTree/settings/settings_staff_js.html:539 msgid "Part Count" msgstr "" -#: part/models.py:3397 +#: part/models.py:3384 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3407 +#: part/models.py:3394 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3417 +#: part/models.py:3404 msgid "Part Sale Price Break" msgstr "" -#: part/models.py:3529 +#: part/models.py:3516 msgid "Part Test Template" msgstr "" -#: part/models.py:3555 +#: part/models.py:3542 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3576 part/models.py:3745 +#: part/models.py:3563 part/models.py:3732 msgid "Choices must be unique" msgstr "" -#: part/models.py:3587 +#: part/models.py:3574 msgid "Test templates can only be created for testable parts" msgstr "" -#: part/models.py:3598 +#: part/models.py:3585 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3615 templates/js/translated/part.js:2898 +#: part/models.py:3602 templates/js/translated/part.js:2898 msgid "Test Name" msgstr "" -#: part/models.py:3616 +#: part/models.py:3603 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3622 +#: part/models.py:3609 msgid "Test Key" msgstr "" -#: part/models.py:3623 +#: part/models.py:3610 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3630 +#: part/models.py:3617 msgid "Test Description" msgstr "" -#: part/models.py:3631 +#: part/models.py:3618 msgid "Enter description for this test" msgstr "" -#: part/models.py:3635 report/models.py:208 +#: part/models.py:3622 report/models.py:216 #: templates/js/translated/part.js:2919 #: templates/js/translated/table_filters.js:502 msgid "Enabled" msgstr "" -#: part/models.py:3635 +#: part/models.py:3622 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3640 templates/js/translated/part.js:2927 +#: part/models.py:3627 templates/js/translated/part.js:2927 #: templates/js/translated/table_filters.js:498 msgid "Required" msgstr "" -#: part/models.py:3641 +#: part/models.py:3628 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3646 templates/js/translated/part.js:2935 +#: part/models.py:3633 templates/js/translated/part.js:2935 msgid "Requires Value" msgstr "" -#: part/models.py:3647 +#: part/models.py:3634 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3652 templates/js/translated/part.js:2942 +#: part/models.py:3639 templates/js/translated/part.js:2942 msgid "Requires Attachment" msgstr "" -#: part/models.py:3654 +#: part/models.py:3641 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3660 part/models.py:3804 templates/js/translated/part.js:1643 +#: part/models.py:3647 part/models.py:3791 templates/js/translated/part.js:1643 msgid "Choices" msgstr "" -#: part/models.py:3661 +#: part/models.py:3648 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3693 +#: part/models.py:3680 msgid "Part Parameter Template" msgstr "" -#: part/models.py:3720 +#: part/models.py:3707 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3725 +#: part/models.py:3712 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3762 +#: part/models.py:3749 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3777 +#: part/models.py:3764 msgid "Parameter Name" msgstr "" -#: part/models.py:3784 +#: part/models.py:3771 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3792 +#: part/models.py:3779 msgid "Parameter description" msgstr "" -#: part/models.py:3798 templates/js/translated/part.js:1634 +#: part/models.py:3785 templates/js/translated/part.js:1634 #: templates/js/translated/table_filters.js:837 msgid "Checkbox" msgstr "" -#: part/models.py:3799 +#: part/models.py:3786 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3805 +#: part/models.py:3792 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3839 +#: part/models.py:3826 msgid "Part Parameter" msgstr "" -#: part/models.py:3865 +#: part/models.py:3852 msgid "Parameter cannot be modified - part is locked" msgstr "" -#: part/models.py:3903 +#: part/models.py:3890 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3952 +#: part/models.py:3939 msgid "Parent Part" msgstr "" -#: part/models.py:3960 part/models.py:4068 part/models.py:4069 +#: part/models.py:3947 part/models.py:4055 part/models.py:4056 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3966 +#: part/models.py:3953 msgid "Parameter Value" msgstr "" -#: part/models.py:4016 +#: part/models.py:4003 msgid "Part Category Parameter Template" msgstr "" -#: part/models.py:4075 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:4062 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:4076 +#: part/models.py:4063 msgid "Default Parameter Value" msgstr "" -#: part/models.py:4114 +#: part/models.py:4101 msgid "Part ID or part name" msgstr "" -#: part/models.py:4115 +#: part/models.py:4102 msgid "Unique part ID value" msgstr "" -#: part/models.py:4117 +#: part/models.py:4104 msgid "Part IPN value" msgstr "" -#: part/models.py:4118 +#: part/models.py:4105 msgid "Level" msgstr "" -#: part/models.py:4118 +#: part/models.py:4105 msgid "BOM level" msgstr "" -#: part/models.py:4228 +#: part/models.py:4215 msgid "BOM item cannot be modified - assembly is locked" msgstr "" -#: part/models.py:4235 +#: part/models.py:4222 msgid "BOM item cannot be modified - variant assembly is locked" msgstr "" -#: part/models.py:4245 +#: part/models.py:4232 msgid "Select parent part" msgstr "" -#: part/models.py:4255 +#: part/models.py:4242 msgid "Sub part" msgstr "" -#: part/models.py:4256 +#: part/models.py:4243 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4267 +#: part/models.py:4254 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4273 +#: part/models.py:4260 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4279 +#: part/models.py:4266 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4286 part/templates/part/upload_bom.html:55 +#: part/models.py:4273 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4287 +#: part/models.py:4274 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4294 +#: part/models.py:4281 msgid "BOM item reference" msgstr "" -#: part/models.py:4302 +#: part/models.py:4289 msgid "BOM item notes" msgstr "" -#: part/models.py:4308 +#: part/models.py:4295 msgid "Checksum" msgstr "" -#: part/models.py:4309 +#: part/models.py:4296 msgid "BOM line checksum" msgstr "" -#: part/models.py:4314 templates/js/translated/table_filters.js:181 +#: part/models.py:4301 templates/js/translated/table_filters.js:181 msgid "Validated" msgstr "" -#: part/models.py:4315 +#: part/models.py:4302 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4320 part/templates/part/upload_bom.html:57 +#: part/models.py:4307 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:185 #: templates/js/translated/table_filters.js:218 msgid "Gets inherited" msgstr "" -#: part/models.py:4321 +#: part/models.py:4308 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4327 +#: part/models.py:4314 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4412 stock/models.py:689 +#: part/models.py:4399 stock/models.py:689 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4422 part/models.py:4424 +#: part/models.py:4409 part/models.py:4411 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4561 +#: part/models.py:4554 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4582 +#: part/models.py:4575 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4595 +#: part/models.py:4588 msgid "Parent BOM item" msgstr "" -#: part/models.py:4603 +#: part/models.py:4596 msgid "Substitute part" msgstr "" -#: part/models.py:4619 +#: part/models.py:4612 msgid "Part 1" msgstr "" -#: part/models.py:4627 +#: part/models.py:4620 msgid "Part 2" msgstr "" -#: part/models.py:4628 +#: part/models.py:4621 msgid "Select Related Part" msgstr "" -#: part/models.py:4647 +#: part/models.py:4640 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4652 +#: part/models.py:4645 msgid "Duplicate relationship already exists" msgstr "" @@ -7571,326 +7568,326 @@ msgstr "" msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:434 +#: part/serializers.py:432 msgid "No parts selected" msgstr "" -#: part/serializers.py:444 +#: part/serializers.py:442 msgid "Select category" msgstr "" -#: part/serializers.py:479 +#: part/serializers.py:477 msgid "Original Part" msgstr "" -#: part/serializers.py:480 +#: part/serializers.py:478 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:485 +#: part/serializers.py:483 msgid "Copy Image" msgstr "" -#: part/serializers.py:486 +#: part/serializers.py:484 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:492 part/templates/part/detail.html:293 +#: part/serializers.py:490 part/templates/part/detail.html:293 msgid "Copy BOM" msgstr "" -#: part/serializers.py:493 +#: part/serializers.py:491 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:499 +#: part/serializers.py:497 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:500 +#: part/serializers.py:498 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:506 +#: part/serializers.py:504 msgid "Copy Notes" msgstr "" -#: part/serializers.py:507 +#: part/serializers.py:505 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:525 +#: part/serializers.py:523 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:527 +#: part/serializers.py:525 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:534 +#: part/serializers.py:532 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:535 +#: part/serializers.py:533 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:552 +#: part/serializers.py:550 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:568 +#: part/serializers.py:566 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:578 +#: part/serializers.py:576 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:585 +#: part/serializers.py:583 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:594 +#: part/serializers.py:592 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:605 +#: part/serializers.py:603 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:612 +#: part/serializers.py:610 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:924 +#: part/serializers.py:922 msgid "Revisions" msgstr "" -#: part/serializers.py:929 +#: part/serializers.py:927 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:932 +#: part/serializers.py:930 msgid "Variant Stock" msgstr "" -#: part/serializers.py:962 part/templates/part/copy_part.html:9 +#: part/serializers.py:960 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:474 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:963 +#: part/serializers.py:961 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:969 templates/js/translated/part.js:103 +#: part/serializers.py:967 templates/js/translated/part.js:103 msgid "Initial Stock" msgstr "" -#: part/serializers.py:970 +#: part/serializers.py:968 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:976 +#: part/serializers.py:974 msgid "Supplier Information" msgstr "" -#: part/serializers.py:977 +#: part/serializers.py:975 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:985 +#: part/serializers.py:983 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:986 +#: part/serializers.py:984 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:991 +#: part/serializers.py:989 msgid "Existing Image" msgstr "" -#: part/serializers.py:992 +#: part/serializers.py:990 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:1009 +#: part/serializers.py:1007 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1215 +#: part/serializers.py:1213 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1225 +#: part/serializers.py:1223 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1235 +#: part/serializers.py:1233 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1241 +#: part/serializers.py:1239 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1242 +#: part/serializers.py:1240 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1247 +#: part/serializers.py:1245 msgid "Generate Report" msgstr "" -#: part/serializers.py:1248 +#: part/serializers.py:1246 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1253 +#: part/serializers.py:1251 msgid "Update Parts" msgstr "" -#: part/serializers.py:1254 +#: part/serializers.py:1252 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1262 +#: part/serializers.py:1260 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1368 +#: part/serializers.py:1366 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1375 +#: part/serializers.py:1373 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1383 +#: part/serializers.py:1381 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1390 +#: part/serializers.py:1388 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1419 +#: part/serializers.py:1417 msgid "Update" msgstr "" -#: part/serializers.py:1420 +#: part/serializers.py:1418 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1443 +#: part/serializers.py:1441 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1450 +#: part/serializers.py:1448 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1453 +#: part/serializers.py:1451 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1597 +#: part/serializers.py:1595 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1606 +#: part/serializers.py:1604 msgid "Component Name" msgstr "" -#: part/serializers.py:1609 +#: part/serializers.py:1607 msgid "Component IPN" msgstr "" -#: part/serializers.py:1612 +#: part/serializers.py:1610 msgid "Component Description" msgstr "" -#: part/serializers.py:1618 +#: part/serializers.py:1616 msgid "Select the component part" msgstr "" -#: part/serializers.py:1627 part/templates/part/part_base.html:242 +#: part/serializers.py:1625 part/templates/part/part_base.html:242 #: templates/js/translated/bom.js:1219 msgid "Can Build" msgstr "" -#: part/serializers.py:1858 +#: part/serializers.py:1856 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1866 +#: part/serializers.py:1864 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1867 +#: part/serializers.py:1865 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1872 +#: part/serializers.py:1870 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1873 +#: part/serializers.py:1871 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1878 +#: part/serializers.py:1876 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1879 +#: part/serializers.py:1877 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1884 +#: part/serializers.py:1882 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1885 +#: part/serializers.py:1883 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1922 +#: part/serializers.py:1920 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1923 +#: part/serializers.py:1921 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1955 +#: part/serializers.py:1953 msgid "No part column specified" msgstr "" -#: part/serializers.py:1999 +#: part/serializers.py:1997 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:2002 +#: part/serializers.py:2000 msgid "No matching part found" msgstr "" -#: part/serializers.py:2004 +#: part/serializers.py:2002 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:2013 +#: part/serializers.py:2011 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:2021 +#: part/serializers.py:2019 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:2044 +#: part/serializers.py:2042 msgid "At least one BOM item is required" msgstr "" @@ -8216,7 +8213,7 @@ msgid "Subscribe to notifications for this part" msgstr "" #: part/templates/part/part_base.html:52 -#: stock/templates/stock/item_base.html:62 +#: stock/templates/stock/item_base.html:61 #: stock/templates/stock/location.html:71 templates/js/translated/label.js:136 msgid "Print Label" msgstr "" @@ -8226,7 +8223,7 @@ msgid "Show pricing information" msgstr "" #: part/templates/part/part_base.html:63 -#: stock/templates/stock/item_base.html:110 +#: stock/templates/stock/item_base.html:106 #: stock/templates/stock/location.html:80 msgid "Stock actions" msgstr "" @@ -8297,12 +8294,12 @@ msgid "Required for Orders" msgstr "" #: part/templates/part/part_base.html:225 -#: stock/templates/stock/item_base.html:388 +#: stock/templates/stock/item_base.html:384 msgid "Allocated to Build Orders" msgstr "" #: part/templates/part/part_base.html:234 -#: stock/templates/stock/item_base.html:381 +#: stock/templates/stock/item_base.html:377 msgid "Allocated to Sales Orders" msgstr "" @@ -8322,7 +8319,7 @@ msgid "Latest Serial Number" msgstr "" #: part/templates/part/part_base.html:372 -#: stock/templates/stock/item_base.html:322 +#: stock/templates/stock/item_base.html:318 msgid "Search for serial number" msgstr "" @@ -8449,7 +8446,7 @@ msgid "Edit" msgstr "" #: part/templates/part/prices.html:28 stock/admin.py:252 -#: stock/templates/stock/item_base.html:446 +#: stock/templates/stock/item_base.html:442 #: templates/js/translated/company.js:1703 #: templates/js/translated/company.js:1713 #: templates/js/translated/stock.js:2332 @@ -8604,7 +8601,7 @@ msgstr "" msgid "Part Pricing" msgstr "" -#: plugin/api.py:172 +#: plugin/api.py:174 msgid "Plugin cannot be deleted as it is currently active" msgstr "" @@ -8940,7 +8937,7 @@ msgstr "" msgid "Print a border around each label" msgstr "" -#: plugin/builtin/labels/label_sheet.py:47 report/models.py:307 +#: plugin/builtin/labels/label_sheet.py:47 report/models.py:315 msgid "Landscape" msgstr "" @@ -9012,44 +9009,44 @@ msgstr "" msgid "The Supplier which acts as 'TME'" msgstr "" -#: plugin/installer.py:194 plugin/installer.py:274 +#: plugin/installer.py:199 plugin/installer.py:282 msgid "Only staff users can administer plugins" msgstr "" -#: plugin/installer.py:197 +#: plugin/installer.py:202 msgid "Plugin installation is disabled" msgstr "" -#: plugin/installer.py:241 +#: plugin/installer.py:246 msgid "Installed plugin successfully" msgstr "" -#: plugin/installer.py:246 +#: plugin/installer.py:251 #, python-brace-format msgid "Installed plugin into {path}" msgstr "" -#: plugin/installer.py:265 +#: plugin/installer.py:273 msgid "Plugin was not found in registry" msgstr "" -#: plugin/installer.py:268 +#: plugin/installer.py:276 msgid "Plugin is not a packaged plugin" msgstr "" -#: plugin/installer.py:271 +#: plugin/installer.py:279 msgid "Plugin package name not found" msgstr "" -#: plugin/installer.py:291 +#: plugin/installer.py:299 msgid "Plugin uninstalling is disabled" msgstr "" -#: plugin/installer.py:295 +#: plugin/installer.py:303 msgid "Plugin cannot be uninstalled as it is currently active" msgstr "" -#: plugin/installer.py:308 +#: plugin/installer.py:316 msgid "Uninstalled plugin successfully" msgstr "" @@ -9098,7 +9095,7 @@ msgstr "" msgid "Package Plugin" msgstr "" -#: plugin/models.py:220 report/models.py:474 +#: plugin/models.py:220 report/models.py:482 #: templates/InvenTree/settings/plugin_settings.html:9 #: templates/js/translated/plugin.js:51 msgid "Plugin" @@ -9167,6 +9164,38 @@ msgstr "" msgid "InvenTree Contributors" msgstr "" +#: plugin/samples/integration/user_interface_sample.py:22 +msgid "Enable Part Panels" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:23 +msgid "Enable custom panels for Part views" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:28 +msgid "Enable Purchase Order Panels" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:29 +msgid "Enable custom panels for Purchase Order views" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:34 +msgid "Enable Broken Panels" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:35 +msgid "Enable broken panels for testing" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:40 +msgid "Enable Dynamic Panel" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:41 +msgid "Enable dynamic panels for testing" +msgstr "" + #: plugin/serializers.py:81 msgid "Source URL" msgstr "" @@ -9245,12 +9274,36 @@ msgstr "" msgid "Delete the plugin configuration from the database" msgstr "" +#: plugin/serializers.py:324 +msgid "Plugin Key" +msgstr "" + +#: plugin/serializers.py:328 +msgid "Panel Name" +msgstr "" + +#: plugin/serializers.py:332 +msgid "Panel Title" +msgstr "" + +#: plugin/serializers.py:337 +msgid "Panel Icon" +msgstr "" + +#: plugin/serializers.py:341 +msgid "Panel Content (HTML)" +msgstr "" + +#: plugin/serializers.py:345 +msgid "Panel Source (javascript)" +msgstr "" + #: report/api.py:88 msgid "No valid objects provided to template" msgstr "" -#: report/api.py:103 report/models.py:438 report/serializers.py:98 -#: report/serializers.py:148 templates/js/translated/purchase_order.js:1817 +#: report/api.py:103 report/models.py:446 report/serializers.py:99 +#: report/serializers.py:149 templates/js/translated/purchase_order.js:1817 #: templates/js/translated/return_order.js:353 #: templates/js/translated/sales_order.js:887 #: templates/js/translated/sales_order.js:1047 @@ -9281,7 +9334,11 @@ msgstr "" msgid "Error printing label" msgstr "" -#: report/api.py:375 report/api.py:411 +#: report/api.py:358 +msgid "Report saved at time of printing" +msgstr "" + +#: report/api.py:384 report/api.py:420 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" @@ -9318,135 +9375,143 @@ msgstr "" msgid "Revision number (auto-increments)" msgstr "" -#: report/models.py:202 +#: report/models.py:168 +msgid "Attach to Model on Print" +msgstr "" + +#: report/models.py:170 +msgid "Save report output as an attachment against linked model instance when printing" +msgstr "" + +#: report/models.py:210 msgid "Filename Pattern" msgstr "" -#: report/models.py:203 +#: report/models.py:211 msgid "Pattern for generating filenames" msgstr "" -#: report/models.py:208 +#: report/models.py:216 msgid "Template is enabled" msgstr "" -#: report/models.py:214 +#: report/models.py:222 msgid "Target model type for template" msgstr "" -#: report/models.py:234 +#: report/models.py:242 msgid "Filters" msgstr "" -#: report/models.py:235 +#: report/models.py:243 msgid "Template query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:294 report/models.py:361 +#: report/models.py:302 report/models.py:369 msgid "Template file" msgstr "" -#: report/models.py:302 +#: report/models.py:310 msgid "Page size for PDF reports" msgstr "" -#: report/models.py:308 +#: report/models.py:316 msgid "Render report in landscape orientation" msgstr "" -#: report/models.py:367 +#: report/models.py:375 msgid "Width [mm]" msgstr "" -#: report/models.py:368 +#: report/models.py:376 msgid "Label width, specified in mm" msgstr "" -#: report/models.py:374 +#: report/models.py:382 msgid "Height [mm]" msgstr "" -#: report/models.py:375 +#: report/models.py:383 msgid "Label height, specified in mm" msgstr "" -#: report/models.py:438 +#: report/models.py:446 msgid "Number of items to process" msgstr "" -#: report/models.py:444 +#: report/models.py:452 msgid "Report generation is complete" msgstr "" -#: report/models.py:448 templates/js/translated/build.js:2352 +#: report/models.py:456 templates/js/translated/build.js:2352 msgid "Progress" msgstr "" -#: report/models.py:448 +#: report/models.py:456 msgid "Report generation progress" msgstr "" -#: report/models.py:456 +#: report/models.py:464 msgid "Report Template" msgstr "" -#: report/models.py:463 report/models.py:486 +#: report/models.py:471 report/models.py:494 msgid "Output File" msgstr "" -#: report/models.py:464 report/models.py:487 +#: report/models.py:472 report/models.py:495 msgid "Generated output file" msgstr "" -#: report/models.py:475 +#: report/models.py:483 msgid "Label output plugin" msgstr "" -#: report/models.py:479 +#: report/models.py:487 msgid "Label Template" msgstr "" -#: report/models.py:502 +#: report/models.py:510 msgid "Snippet" msgstr "" -#: report/models.py:503 +#: report/models.py:511 msgid "Report snippet file" msgstr "" -#: report/models.py:510 +#: report/models.py:518 msgid "Snippet file description" msgstr "" -#: report/models.py:528 +#: report/models.py:536 msgid "Asset" msgstr "" -#: report/models.py:529 +#: report/models.py:537 msgid "Report asset file" msgstr "" -#: report/models.py:536 +#: report/models.py:544 msgid "Asset file description" msgstr "" -#: report/serializers.py:91 +#: report/serializers.py:92 msgid "Select report template" msgstr "" -#: report/serializers.py:99 report/serializers.py:149 +#: report/serializers.py:100 report/serializers.py:150 msgid "List of item primary keys to include in the report" msgstr "" -#: report/serializers.py:132 +#: report/serializers.py:133 msgid "Select label template" msgstr "" -#: report/serializers.py:140 +#: report/serializers.py:141 msgid "Printing Plugin" msgstr "" -#: report/serializers.py:141 +#: report/serializers.py:142 msgid "Select plugin to use for label printing" msgstr "" @@ -9517,7 +9582,7 @@ msgstr "" msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report.html:103 stock/models.py:2538 +#: report/templates/report/inventree_test_report.html:103 stock/models.py:2533 msgid "Result" msgstr "" @@ -9598,7 +9663,7 @@ msgid "Customer ID" msgstr "" #: stock/admin.py:206 stock/models.py:829 -#: stock/templates/stock/item_base.html:354 +#: stock/templates/stock/item_base.html:350 msgid "Installed In" msgstr "" @@ -9623,7 +9688,7 @@ msgid "Delete on Deplete" msgstr "" #: stock/admin.py:261 stock/models.py:923 -#: stock/templates/stock/item_base.html:433 +#: stock/templates/stock/item_base.html:429 #: templates/js/translated/stock.js:2316 users/models.py:124 msgid "Expiry Date" msgstr "" @@ -9665,7 +9730,7 @@ msgid "Expiry date after" msgstr "" #: stock/api.py:839 stock/serializers.py:611 -#: stock/templates/stock/item_base.html:439 +#: stock/templates/stock/item_base.html:435 #: templates/js/translated/table_filters.js:448 msgid "Stale" msgstr "" @@ -9715,7 +9780,7 @@ msgid "Stock Locations" msgstr "" #: stock/models.py:185 stock/models.py:972 -#: stock/templates/stock/item_base.html:247 +#: stock/templates/stock/item_base.html:243 msgid "Owner" msgstr "" @@ -9826,7 +9891,7 @@ msgstr "" msgid "Build for this stock item" msgstr "" -#: stock/models.py:892 stock/templates/stock/item_base.html:363 +#: stock/models.py:892 stock/templates/stock/item_base.html:359 msgid "Consumed By" msgstr "" @@ -9891,7 +9956,7 @@ msgstr "" msgid "Serial numbers already exist" msgstr "" -#: stock/models.py:1636 +#: stock/models.py:1636 stock/models.py:2436 msgid "Test template does not exist" msgstr "" @@ -9939,67 +10004,67 @@ msgstr "" msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2337 +#: stock/models.py:2335 msgid "Stock Item Tracking" msgstr "" -#: stock/models.py:2370 +#: stock/models.py:2368 msgid "Entry notes" msgstr "" -#: stock/models.py:2410 +#: stock/models.py:2408 msgid "Stock Item Test Result" msgstr "" -#: stock/models.py:2443 +#: stock/models.py:2439 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2448 +#: stock/models.py:2443 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2453 +#: stock/models.py:2448 msgid "Invalid value for this test" msgstr "" -#: stock/models.py:2538 +#: stock/models.py:2533 msgid "Test result" msgstr "" -#: stock/models.py:2545 +#: stock/models.py:2540 msgid "Test output value" msgstr "" -#: stock/models.py:2553 stock/serializers.py:245 +#: stock/models.py:2548 stock/serializers.py:245 msgid "Test result attachment" msgstr "" -#: stock/models.py:2557 +#: stock/models.py:2552 msgid "Test notes" msgstr "" -#: stock/models.py:2565 templates/js/translated/stock.js:1633 +#: stock/models.py:2560 templates/js/translated/stock.js:1633 msgid "Test station" msgstr "" -#: stock/models.py:2566 +#: stock/models.py:2561 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2572 +#: stock/models.py:2567 msgid "Started" msgstr "" -#: stock/models.py:2573 +#: stock/models.py:2568 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2579 +#: stock/models.py:2574 msgid "Finished" msgstr "" -#: stock/models.py:2580 +#: stock/models.py:2575 msgid "The timestamp of the test finish" msgstr "" @@ -10059,7 +10124,7 @@ msgstr "" msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:459 stock/templates/stock/item_base.html:193 +#: stock/serializers.py:459 stock/templates/stock/item_base.html:189 msgid "Parent Item" msgstr "" @@ -10071,7 +10136,7 @@ msgstr "" msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:603 stock/templates/stock/item_base.html:437 +#: stock/serializers.py:603 stock/templates/stock/item_base.html:433 #: templates/js/translated/table_filters.js:442 users/models.py:174 msgid "Expired" msgstr "" @@ -10410,7 +10475,7 @@ msgstr "" msgid "Test Data" msgstr "" -#: stock/templates/stock/item.html:85 stock/templates/stock/item_base.html:65 +#: stock/templates/stock/item.html:85 msgid "Test Report" msgstr "" @@ -10450,200 +10515,204 @@ msgstr "" msgid "Scan to Location" msgstr "" -#: stock/templates/stock/item_base.html:59 +#: stock/templates/stock/item_base.html:58 #: stock/templates/stock/location.html:67 #: templates/js/translated/filters.js:434 msgid "Printing actions" msgstr "" -#: stock/templates/stock/item_base.html:75 +#: stock/templates/stock/item_base.html:63 templates/js/translated/report.js:49 +msgid "Print Report" +msgstr "" + +#: stock/templates/stock/item_base.html:71 msgid "Stock adjustment actions" msgstr "" -#: stock/templates/stock/item_base.html:79 +#: stock/templates/stock/item_base.html:75 #: stock/templates/stock/location.html:87 templates/js/translated/stock.js:1909 msgid "Count stock" msgstr "" -#: stock/templates/stock/item_base.html:81 +#: stock/templates/stock/item_base.html:77 #: templates/js/translated/stock.js:1891 msgid "Add stock" msgstr "" -#: stock/templates/stock/item_base.html:82 +#: stock/templates/stock/item_base.html:78 #: templates/js/translated/stock.js:1900 msgid "Remove stock" msgstr "" -#: stock/templates/stock/item_base.html:85 +#: stock/templates/stock/item_base.html:81 msgid "Serialize stock" msgstr "" -#: stock/templates/stock/item_base.html:88 +#: stock/templates/stock/item_base.html:84 #: stock/templates/stock/location.html:93 templates/js/translated/stock.js:1918 msgid "Transfer stock" msgstr "" -#: stock/templates/stock/item_base.html:91 +#: stock/templates/stock/item_base.html:87 #: templates/js/translated/stock.js:1973 msgid "Assign to customer" msgstr "" -#: stock/templates/stock/item_base.html:94 +#: stock/templates/stock/item_base.html:90 msgid "Return to stock" msgstr "" -#: stock/templates/stock/item_base.html:97 +#: stock/templates/stock/item_base.html:93 msgid "Uninstall stock item" msgstr "" -#: stock/templates/stock/item_base.html:97 +#: stock/templates/stock/item_base.html:93 msgid "Uninstall" msgstr "" -#: stock/templates/stock/item_base.html:101 +#: stock/templates/stock/item_base.html:97 msgid "Install stock item" msgstr "" -#: stock/templates/stock/item_base.html:101 +#: stock/templates/stock/item_base.html:97 msgid "Install" msgstr "" -#: stock/templates/stock/item_base.html:115 +#: stock/templates/stock/item_base.html:111 msgid "Convert to variant" msgstr "" -#: stock/templates/stock/item_base.html:118 +#: stock/templates/stock/item_base.html:114 msgid "Duplicate stock item" msgstr "" -#: stock/templates/stock/item_base.html:120 +#: stock/templates/stock/item_base.html:116 msgid "Edit stock item" msgstr "" -#: stock/templates/stock/item_base.html:123 +#: stock/templates/stock/item_base.html:119 msgid "Delete stock item" msgstr "" -#: stock/templates/stock/item_base.html:169 templates/InvenTree/search.html:139 +#: stock/templates/stock/item_base.html:165 templates/InvenTree/search.html:139 #: templates/js/translated/build.js:2298 templates/navbar.html:38 msgid "Build" msgstr "" -#: stock/templates/stock/item_base.html:211 +#: stock/templates/stock/item_base.html:207 msgid "No manufacturer set" msgstr "" -#: stock/templates/stock/item_base.html:251 +#: stock/templates/stock/item_base.html:247 msgid "You are not in the list of owners of this item. This stock item cannot be edited." msgstr "" -#: stock/templates/stock/item_base.html:252 +#: stock/templates/stock/item_base.html:248 #: stock/templates/stock/location.html:146 msgid "Read only" msgstr "" -#: stock/templates/stock/item_base.html:265 +#: stock/templates/stock/item_base.html:261 msgid "This stock item is unavailable" msgstr "" -#: stock/templates/stock/item_base.html:271 +#: stock/templates/stock/item_base.html:267 msgid "This stock item is in production and cannot be edited." msgstr "" -#: stock/templates/stock/item_base.html:272 +#: stock/templates/stock/item_base.html:268 msgid "Edit the stock item from the build view." msgstr "" -#: stock/templates/stock/item_base.html:287 +#: stock/templates/stock/item_base.html:283 msgid "This stock item is allocated to Sales Order" msgstr "" -#: stock/templates/stock/item_base.html:295 +#: stock/templates/stock/item_base.html:291 msgid "This stock item is allocated to Build Order" msgstr "" -#: stock/templates/stock/item_base.html:311 +#: stock/templates/stock/item_base.html:307 msgid "This stock item is serialized. It has a unique serial number and the quantity cannot be adjusted" msgstr "" -#: stock/templates/stock/item_base.html:317 +#: stock/templates/stock/item_base.html:313 msgid "previous page" msgstr "" -#: stock/templates/stock/item_base.html:317 +#: stock/templates/stock/item_base.html:313 msgid "Navigate to previous serial number" msgstr "" -#: stock/templates/stock/item_base.html:326 +#: stock/templates/stock/item_base.html:322 msgid "next page" msgstr "" -#: stock/templates/stock/item_base.html:326 +#: stock/templates/stock/item_base.html:322 msgid "Navigate to next serial number" msgstr "" -#: stock/templates/stock/item_base.html:398 +#: stock/templates/stock/item_base.html:394 #: templates/js/translated/build.js:2555 msgid "No location set" msgstr "" -#: stock/templates/stock/item_base.html:413 +#: stock/templates/stock/item_base.html:409 msgid "Tests" msgstr "" -#: stock/templates/stock/item_base.html:419 +#: stock/templates/stock/item_base.html:415 msgid "This stock item has not passed all required tests" msgstr "" -#: stock/templates/stock/item_base.html:437 +#: stock/templates/stock/item_base.html:433 #, python-format msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:439 +#: stock/templates/stock/item_base.html:435 #, python-format msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:455 +#: stock/templates/stock/item_base.html:451 msgid "No stocktake performed" msgstr "" -#: stock/templates/stock/item_base.html:504 +#: stock/templates/stock/item_base.html:500 #: templates/js/translated/stock.js:2038 msgid "stock item" msgstr "" -#: stock/templates/stock/item_base.html:527 +#: stock/templates/stock/item_base.html:523 msgid "Edit Stock Status" msgstr "" -#: stock/templates/stock/item_base.html:536 +#: stock/templates/stock/item_base.html:532 msgid "Stock Item QR Code" msgstr "" -#: stock/templates/stock/item_base.html:547 +#: stock/templates/stock/item_base.html:543 msgid "Link Barcode to Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:611 +#: stock/templates/stock/item_base.html:607 msgid "Select one of the part variants listed below." msgstr "" -#: stock/templates/stock/item_base.html:614 +#: stock/templates/stock/item_base.html:610 msgid "Warning" msgstr "" -#: stock/templates/stock/item_base.html:615 +#: stock/templates/stock/item_base.html:611 msgid "This action cannot be easily undone" msgstr "" -#: stock/templates/stock/item_base.html:623 +#: stock/templates/stock/item_base.html:619 msgid "Convert Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:656 +#: stock/templates/stock/item_base.html:652 msgid "Return to Stock" msgstr "" @@ -11310,7 +11379,7 @@ msgid "Delete Location Type" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:503 -#: templates/InvenTree/settings/stock.html:38 +#: templates/InvenTree/settings/stock.html:39 msgid "New Location Type" msgstr "" @@ -11367,7 +11436,7 @@ msgstr "" msgid "Stock Settings" msgstr "" -#: templates/InvenTree/settings/stock.html:34 +#: templates/InvenTree/settings/stock.html:35 msgid "Stock Location Types" msgstr "" @@ -11852,23 +11921,23 @@ msgstr "" msgid "Barcode Identifier" msgstr "" -#: templates/base.html:103 +#: templates/base.html:102 msgid "Server Restart Required" msgstr "" -#: templates/base.html:106 +#: templates/base.html:105 msgid "A configuration option has been changed which requires a server restart" msgstr "" -#: templates/base.html:106 templates/base.html:116 +#: templates/base.html:105 templates/base.html:115 msgid "Contact your system administrator for further information" msgstr "" -#: templates/base.html:113 +#: templates/base.html:112 msgid "Pending Database Migrations" msgstr "" -#: templates/base.html:116 +#: templates/base.html:115 msgid "There are pending database migrations which require attention" msgstr "" @@ -13946,10 +14015,6 @@ msgstr "" msgid "Delete line item" msgstr "" -#: templates/js/translated/report.js:49 -msgid "Print Report" -msgstr "" - #: templates/js/translated/report.js:68 msgid "Report print successful" msgstr "" diff --git a/src/backend/InvenTree/locale/sl/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/sl/LC_MESSAGES/django.po index 8eefbfb2e1ff..720fe6add81c 100644 --- a/src/backend/InvenTree/locale/sl/LC_MESSAGES/django.po +++ b/src/backend/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: 2024-08-29 07:07+0000\n" -"PO-Revision-Date: 2024-08-29 07:10\n" +"POT-Creation-Date: 2024-09-16 00:37+0000\n" +"PO-Revision-Date: 2024-09-16 00:40\n" "Last-Translator: \n" "Language-Team: Slovenian\n" "Language: sl_SI\n" @@ -65,9 +65,9 @@ msgstr "Vnesi datum" #: 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:59 -#: part/models.py:3309 part/templates/part/part_sidebar.html:65 +#: part/models.py:3296 part/templates/part/part_sidebar.html:65 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/admin.py:231 stock/models.py:2369 stock/models.py:2557 +#: stock/admin.py:231 stock/models.py:2367 stock/models.py:2552 #: stock/serializers.py:705 stock/serializers.py:863 stock/serializers.py:989 #: stock/serializers.py:1039 stock/serializers.py:1350 #: stock/serializers.py:1439 stock/serializers.py:1604 @@ -364,7 +364,7 @@ msgstr "Kitajščina (tradicionalno)" msgid "[{site_name}] Log in to the app" msgstr "[{site_name}] Prijavite se v aplikacijo" -#: InvenTree/magic_login.py:38 InvenTree/serializers.py:413 +#: InvenTree/magic_login.py:38 InvenTree/serializers.py:416 #: company/models.py:133 company/templates/company/company_base.html:138 #: templates/InvenTree/settings/user.html:49 #: templates/js/translated/company.js:677 @@ -419,9 +419,9 @@ msgstr "Podvojena imena ne morejo obstajati pod istim nadrejenim elementom" msgid "Invalid choice" msgstr "Nedovoljena izbira" -#: InvenTree/models.py:767 common/models.py:2704 common/models.py:3131 -#: common/models.py:3351 common/serializers.py:439 company/models.py:590 -#: machine/models.py:24 part/models.py:995 part/models.py:3776 +#: InvenTree/models.py:767 common/models.py:2705 common/models.py:3132 +#: common/models.py:3352 common/serializers.py:455 company/models.py:590 +#: machine/models.py:24 part/models.py:995 part/models.py:3763 #: plugin/models.py:51 report/models.py:149 stock/models.py:82 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -446,10 +446,10 @@ msgstr "Ime" #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 order/models.py:289 #: order/models.py:1406 part/admin.py:305 part/admin.py:411 part/models.py:1018 -#: part/models.py:3791 part/templates/part/category.html:79 +#: part/models.py:3778 part/templates/part/category.html:79 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:155 -#: report/models.py:509 report/models.py:535 +#: report/models.py:517 report/models.py:543 #: report/templates/report/inventree_build_order_report.html:117 #: stock/admin.py:54 stock/models.py:88 stock/templates/stock/location.html:122 #: templates/InvenTree/settings/notifications.html:19 @@ -517,12 +517,12 @@ msgstr "Napaka strežnika" msgid "An error has been logged by the server." msgstr "Zaznana napaka na strežniku." -#: InvenTree/serializers.py:63 part/models.py:4400 +#: InvenTree/serializers.py:63 part/models.py:4387 msgid "Must be a valid number" msgstr "Mora biti veljavna številka" #: InvenTree/serializers.py:100 company/models.py:183 -#: company/templates/company/company_base.html:112 part/models.py:3127 +#: company/templates/company/company_base.html:112 part/models.py:3114 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -536,43 +536,43 @@ msgstr "Izberite valuto med razpoložljivimi možnostmi" msgid "Username" msgstr "" -#: InvenTree/serializers.py:407 templates/InvenTree/settings/user.html:37 +#: InvenTree/serializers.py:408 templates/InvenTree/settings/user.html:37 msgid "First Name" msgstr "" -#: InvenTree/serializers.py:407 +#: InvenTree/serializers.py:408 msgid "First name of the user" msgstr "" -#: InvenTree/serializers.py:410 templates/InvenTree/settings/user.html:41 +#: InvenTree/serializers.py:412 templates/InvenTree/settings/user.html:41 msgid "Last Name" msgstr "" -#: InvenTree/serializers.py:410 +#: InvenTree/serializers.py:412 msgid "Last name of the user" msgstr "" -#: InvenTree/serializers.py:413 +#: InvenTree/serializers.py:416 msgid "Email address of the user" msgstr "" -#: InvenTree/serializers.py:438 +#: InvenTree/serializers.py:441 msgid "Staff" msgstr "" -#: InvenTree/serializers.py:438 +#: InvenTree/serializers.py:441 msgid "Does this user have staff permissions" msgstr "" -#: InvenTree/serializers.py:441 +#: InvenTree/serializers.py:445 msgid "Superuser" msgstr "" -#: InvenTree/serializers.py:441 +#: InvenTree/serializers.py:445 msgid "Is this user a superuser" msgstr "" -#: InvenTree/serializers.py:444 common/models.py:2709 company/models.py:160 +#: InvenTree/serializers.py:449 common/models.py:2710 company/models.py:160 #: company/models.py:798 machine/models.py:39 part/admin.py:88 #: part/models.py:1201 plugin/models.py:66 #: templates/js/translated/company.js:523 @@ -585,89 +585,89 @@ msgstr "" msgid "Active" msgstr "" -#: InvenTree/serializers.py:444 +#: InvenTree/serializers.py:449 msgid "Is this user account active" msgstr "" -#: InvenTree/serializers.py:462 +#: InvenTree/serializers.py:467 msgid "You do not have permission to change this user role." msgstr "Nimate dovoljenja za spreminjanje vloge tega uporabnika." -#: InvenTree/serializers.py:474 +#: InvenTree/serializers.py:503 msgid "Only superusers can create new users" msgstr "Samo superuporabniki lahko ustvarijo nove uporabnike" -#: InvenTree/serializers.py:493 +#: InvenTree/serializers.py:522 msgid "Your account has been created." msgstr "Vaš račun je bil ustvarjen." -#: InvenTree/serializers.py:495 +#: InvenTree/serializers.py:524 msgid "Please use the password reset function to login" msgstr "Za prijavo uporabite funkcijo ponastavitve gesla" -#: InvenTree/serializers.py:502 +#: InvenTree/serializers.py:531 msgid "Welcome to InvenTree" msgstr "Dobrodošli v InvenTree" -#: InvenTree/serializers.py:560 +#: InvenTree/serializers.py:589 msgid "Invalid value" msgstr "Neveljavna vrednost" -#: InvenTree/serializers.py:580 importer/models.py:64 +#: InvenTree/serializers.py:609 importer/models.py:64 msgid "Data File" msgstr "Podatki datoteke" -#: InvenTree/serializers.py:581 +#: InvenTree/serializers.py:610 msgid "Select data file for upload" msgstr "Izberite datoteke za naložiti" -#: InvenTree/serializers.py:598 +#: InvenTree/serializers.py:627 msgid "Unsupported file type" msgstr "Nepodprta vrsta datotek" -#: InvenTree/serializers.py:604 +#: InvenTree/serializers.py:633 msgid "File is too large" msgstr "Datoteka je prevelika" -#: InvenTree/serializers.py:625 +#: InvenTree/serializers.py:654 msgid "No columns found in file" msgstr "V datoteki ni bilo najdenih stolpcev" -#: InvenTree/serializers.py:628 +#: InvenTree/serializers.py:657 msgid "No data rows found in file" msgstr "V datoteki ni bilo njadenih vrstic" -#: InvenTree/serializers.py:740 +#: InvenTree/serializers.py:769 msgid "No data rows provided" msgstr "Niso bile podane vrste s podatki" -#: InvenTree/serializers.py:743 +#: InvenTree/serializers.py:772 msgid "No data columns supplied" msgstr "Niso bili podani stolpci s podatki" -#: InvenTree/serializers.py:809 +#: InvenTree/serializers.py:838 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "Manjka obvezni stolpec: '{name}'" -#: InvenTree/serializers.py:818 +#: InvenTree/serializers.py:847 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "Dvojni stolpec: '{col}'" -#: InvenTree/serializers.py:857 +#: InvenTree/serializers.py:886 msgid "Remote Image" msgstr "Oddaljena slika" -#: InvenTree/serializers.py:858 +#: InvenTree/serializers.py:887 msgid "URL of remote image file" msgstr "Povezava do oddaljene slike" -#: InvenTree/serializers.py:876 +#: InvenTree/serializers.py:905 msgid "Downloading images from remote URL is not enabled" msgstr "Prenos slik iz oddaljene povezave ni omogočen" -#: InvenTree/status.py:65 part/serializers.py:1267 +#: InvenTree/status.py:65 part/serializers.py:1265 msgid "Background worker check failed" msgstr "Nadzor dela v ozadju neuspel" @@ -759,7 +759,7 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "Izgradnja mora biti najprej preklicana, nato je lahko izbrisana" -#: build/api.py:319 build/serializers.py:1332 part/models.py:4278 +#: build/api.py:319 build/serializers.py:1332 part/models.py:4265 #: templates/js/translated/bom.js:997 templates/js/translated/bom.js:1037 #: templates/js/translated/build.js:2705 #: templates/js/translated/table_filters.js:197 @@ -767,7 +767,7 @@ msgstr "Izgradnja mora biti najprej preklicana, nato je lahko izbrisana" msgid "Consumable" msgstr "" -#: build/api.py:320 build/serializers.py:1333 part/models.py:4272 +#: build/api.py:320 build/serializers.py:1333 part/models.py:4259 #: part/templates/part/upload_bom.html:58 templates/js/translated/bom.js:1001 #: templates/js/translated/bom.js:1028 templates/js/translated/build.js:2696 #: templates/js/translated/table_filters.js:193 @@ -777,7 +777,7 @@ msgid "Optional" msgstr "" #: build/api.py:321 common/models.py:1491 part/admin.py:91 part/admin.py:428 -#: part/models.py:1166 part/serializers.py:1596 +#: part/models.py:1166 part/serializers.py:1594 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:337 #: templates/js/translated/table_filters.js:729 @@ -816,7 +816,7 @@ msgstr "" msgid "Available" msgstr "" -#: build/models.py:87 build/templates/build/build_base.html:9 +#: build/models.py:88 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_report.html:105 #: stock/serializers.py:85 templates/email/build_order_completed.html:16 @@ -825,7 +825,7 @@ msgstr "" msgid "Build Order" msgstr "Nalog izgradnje" -#: build/models.py:88 build/templates/build/build_base.html:13 +#: build/models.py:89 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:111 #: order/templates/order/so_sidebar.html:13 @@ -866,7 +866,7 @@ msgstr "Referenca naloga izgradnje" #: build/models.py:243 build/serializers.py:1331 order/models.py:468 #: order/models.py:979 order/models.py:1366 order/models.py:2128 -#: part/admin.py:414 part/models.py:4293 part/templates/part/upload_bom.html:54 +#: part/admin.py:414 part/models.py:4280 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 @@ -892,11 +892,11 @@ msgstr "Nalog izgradnje na katerega se ta izgradnaj nanaša" #: build/templates/build/build_base.html:105 #: build/templates/build/detail.html:29 company/models.py:1043 order/api.py:761 #: order/models.py:1496 order/models.py:1651 order/models.py:1652 -#: part/api.py:1506 part/api.py:1806 part/models.py:419 part/models.py:3138 -#: part/models.py:3282 part/models.py:3430 part/models.py:3451 -#: part/models.py:3473 part/models.py:3609 part/models.py:3951 -#: part/models.py:4114 part/models.py:4244 part/models.py:4602 -#: part/serializers.py:1213 part/serializers.py:1857 +#: part/api.py:1506 part/api.py:1806 part/models.py:419 part/models.py:3125 +#: part/models.py:3269 part/models.py:3417 part/models.py:3438 +#: part/models.py:3460 part/models.py:3596 part/models.py:3938 +#: part/models.py:4101 part/models.py:4231 part/models.py:4595 +#: part/serializers.py:1211 part/serializers.py:1855 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -1063,12 +1063,12 @@ msgstr "" #: order/templates/order/return_order_base.html:148 #: order/templates/order/sales_order_base.html:187 #: part/templates/part/part_base.html:399 stock/models.py:859 -#: stock/templates/stock/item_base.html:200 +#: stock/templates/stock/item_base.html:196 #: templates/js/translated/company.js:1019 msgid "External Link" msgstr "Zunanja povezava" -#: build/models.py:378 common/models.py:3272 part/models.py:1070 +#: build/models.py:378 common/models.py:3273 part/models.py:1070 #: stock/models.py:859 msgid "Link to external URL" msgstr "Zunanja povezava" @@ -1110,7 +1110,7 @@ msgstr "Nalog izgradnje {build} je dokončan" msgid "A build order has been completed" msgstr "Nalog izgradnej dokončan" -#: build/models.py:968 build/models.py:1056 +#: build/models.py:968 build/models.py:1057 msgid "No build output specified" msgstr "Ni določena izgradnja" @@ -1122,37 +1122,37 @@ msgstr "Igradnja je že dokončana" msgid "Build output does not match Build Order" msgstr "Izgradnja se ne ujema s nalogom izdelave" -#: build/models.py:1060 build/serializers.py:279 build/serializers.py:328 +#: build/models.py:1061 build/serializers.py:279 build/serializers.py:328 #: build/serializers.py:959 order/models.py:565 order/serializers.py:500 -#: order/serializers.py:666 part/serializers.py:1590 part/serializers.py:2019 +#: order/serializers.py:666 part/serializers.py:1588 part/serializers.py:2017 #: stock/models.py:704 stock/models.py:1515 stock/serializers.py:676 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:1065 build/serializers.py:284 +#: build/models.py:1066 build/serializers.py:284 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1125 build/serializers.py:607 +#: build/models.py:1126 build/serializers.py:607 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "" -#: build/models.py:1466 +#: build/models.py:1477 msgid "Build Order Line Item" msgstr "" -#: build/models.py:1491 +#: build/models.py:1502 msgid "Build object" msgstr "" -#: build/models.py:1505 build/models.py:1761 build/serializers.py:266 +#: build/models.py:1516 build/models.py:1775 build/serializers.py:266 #: build/serializers.py:313 build/serializers.py:1339 #: build/templates/build/build_base.html:110 -#: build/templates/build/detail.html:34 common/models.py:2581 +#: build/templates/build/detail.html:34 common/models.py:2582 #: order/models.py:1349 order/models.py:2034 order/serializers.py:1464 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:413 -#: part/forms.py:48 part/models.py:3296 part/models.py:4266 +#: part/forms.py:48 part/models.py:3283 part/models.py:4253 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1163,9 +1163,9 @@ msgstr "" #: report/templates/report/inventree_test_report.html:90 #: report/templates/report/inventree_test_report.html:169 stock/admin.py:160 #: stock/serializers.py:128 stock/serializers.py:168 stock/serializers.py:667 -#: stock/templates/stock/item_base.html:287 -#: stock/templates/stock/item_base.html:295 -#: stock/templates/stock/item_base.html:342 +#: stock/templates/stock/item_base.html:283 +#: stock/templates/stock/item_base.html:291 +#: stock/templates/stock/item_base.html:338 #: templates/email/build_order_completed.html:18 #: templates/js/translated/barcode.js:579 templates/js/translated/bom.js:771 #: templates/js/translated/bom.js:981 templates/js/translated/build.js:525 @@ -1194,41 +1194,41 @@ msgstr "" msgid "Quantity" msgstr "Količina" -#: build/models.py:1506 +#: build/models.py:1517 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1586 +#: build/models.py:1597 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:1595 +#: build/models.py:1606 #, 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:1605 order/models.py:1985 +#: build/models.py:1616 order/models.py:1985 msgid "Stock item is over-allocated" msgstr "Preveč zaloge je prestavljene" -#: build/models.py:1611 order/models.py:1988 +#: build/models.py:1622 order/models.py:1988 msgid "Allocation quantity must be greater than zero" msgstr "Prestavljena količina mora biti večja od 0" -#: build/models.py:1617 +#: build/models.py:1628 msgid "Quantity must be 1 for serialized stock" msgstr "Količina za zalogo s serijsko številko mora biti 1" -#: build/models.py:1676 +#: build/models.py:1687 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1748 build/serializers.py:939 order/serializers.py:1301 +#: build/models.py:1762 build/serializers.py:939 order/serializers.py:1301 #: order/serializers.py:1322 stock/models.py:381 stock/serializers.py:94 #: stock/serializers.py:770 stock/serializers.py:1288 stock/serializers.py:1400 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 -#: stock/templates/stock/item_base.html:194 +#: stock/templates/stock/item_base.html:190 #: templates/js/translated/build.js:1921 #: templates/js/translated/sales_order.js:301 #: templates/js/translated/sales_order.js:1234 @@ -1241,19 +1241,19 @@ msgstr "" msgid "Stock Item" msgstr "Postavka zaloge" -#: build/models.py:1749 +#: build/models.py:1763 msgid "Source stock item" msgstr "Izvorna postavka zaloge" -#: build/models.py:1762 +#: build/models.py:1776 msgid "Stock quantity to allocate to build" msgstr "Količina zaloge za prestavljanje za izgradnjo" -#: build/models.py:1770 +#: build/models.py:1784 msgid "Install into" msgstr "Inštaliraj v" -#: build/models.py:1771 +#: build/models.py:1785 msgid "Destination stock item" msgstr "Destinacija postavke zaloge" @@ -1262,7 +1262,7 @@ msgid "Build Level" msgstr "" #: build/serializers.py:115 build/serializers.py:1234 build/serializers.py:1323 -#: part/admin.py:41 part/admin.py:408 part/models.py:4116 part/stocktake.py:219 +#: part/admin.py:41 part/admin.py:408 part/models.py:4103 part/stocktake.py:219 #: stock/admin.py:157 msgid "Part Name" msgstr "" @@ -1323,10 +1323,10 @@ msgid "Enter serial numbers for build outputs" msgstr "" #: build/serializers.py:359 build/serializers.py:500 build/serializers.py:572 -#: order/serializers.py:655 order/serializers.py:778 order/serializers.py:1789 -#: part/serializers.py:1233 stock/serializers.py:103 stock/serializers.py:698 +#: order/serializers.py:655 order/serializers.py:778 order/serializers.py:1797 +#: part/serializers.py:1231 stock/serializers.py:103 stock/serializers.py:698 #: stock/serializers.py:858 stock/serializers.py:984 stock/serializers.py:1432 -#: stock/serializers.py:1688 stock/templates/stock/item_base.html:394 +#: stock/serializers.py:1688 stock/templates/stock/item_base.html:390 #: templates/js/translated/barcode.js:578 #: templates/js/translated/barcode.js:826 templates/js/translated/build.js:1035 #: templates/js/translated/build.js:1177 templates/js/translated/build.js:2547 @@ -1390,7 +1390,7 @@ msgstr "" #: build/templates/build/detail.html:62 order/models.py:477 #: order/models.py:1003 order/models.py:2152 order/serializers.py:687 #: stock/admin.py:165 stock/serializers.py:1035 stock/serializers.py:1576 -#: stock/templates/stock/item_base.html:427 +#: stock/templates/stock/item_base.html:423 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2366 #: templates/js/translated/purchase_order.js:1371 #: templates/js/translated/purchase_order.js:1792 @@ -1522,7 +1522,7 @@ msgstr "" msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:1030 order/serializers.py:1614 +#: build/serializers.py:1030 order/serializers.py:1622 msgid "Allocation items must be provided" msgstr "" @@ -1590,7 +1590,7 @@ msgstr "" #: build/serializers.py:1230 company/models.py:849 #: company/templates/company/supplier_part.html:160 order/serializers.py:691 #: stock/admin.py:229 stock/models.py:822 stock/serializers.py:1586 -#: stock/templates/stock/item_base.html:240 +#: stock/templates/stock/item_base.html:236 #: templates/js/translated/company.js:1646 #: templates/js/translated/purchase_order.js:1169 #: templates/js/translated/purchase_order.js:1332 @@ -1600,12 +1600,12 @@ msgid "Packaging" msgstr "" #: build/serializers.py:1233 part/admin.py:39 part/admin.py:398 -#: part/models.py:4115 part/stocktake.py:218 stock/admin.py:153 +#: part/models.py:4102 part/stocktake.py:218 stock/admin.py:153 msgid "Part ID" msgstr "" #: build/serializers.py:1235 build/serializers.py:1324 part/admin.py:402 -#: part/models.py:4117 +#: part/models.py:4104 msgid "Part IPN" msgstr "" @@ -1625,7 +1625,7 @@ msgstr "" #: build/serializers.py:1243 #: report/templates/report/inventree_return_order_report.html:25 #: report/templates/report/inventree_test_report.html:88 stock/models.py:849 -#: stock/serializers.py:152 stock/templates/stock/item_base.html:311 +#: stock/serializers.py:152 stock/templates/stock/item_base.html:307 #: templates/js/translated/build.js:523 templates/js/translated/build.js:1543 #: templates/js/translated/build.js:2530 #: templates/js/translated/model_renderers.js:231 @@ -1644,7 +1644,7 @@ msgstr "" msgid "Allocated Quantity" msgstr "" -#: build/serializers.py:1257 stock/templates/stock/item_base.html:340 +#: build/serializers.py:1257 stock/templates/stock/item_base.html:336 msgid "Available Quantity" msgstr "" @@ -1667,13 +1667,13 @@ msgstr "" msgid "Inherited" msgstr "" -#: build/serializers.py:1337 part/models.py:4326 +#: build/serializers.py:1337 part/models.py:4313 #: part/templates/part/upload_bom.html:56 templates/js/translated/bom.js:1046 #: templates/js/translated/build.js:2714 msgid "Allow Variants" msgstr "" -#: build/serializers.py:1341 part/models.py:4124 part/models.py:4594 +#: build/serializers.py:1341 part/models.py:4111 part/models.py:4587 #: stock/api.py:793 msgid "BOM Item" msgstr "" @@ -1684,7 +1684,7 @@ msgid "Allocated Stock" msgstr "" #: build/serializers.py:1355 order/serializers.py:1179 part/admin.py:132 -#: part/bom.py:186 part/serializers.py:920 part/serializers.py:1623 +#: part/bom.py:186 part/serializers.py:918 part/serializers.py:1621 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 #: templates/js/translated/build.js:2807 templates/js/translated/part.js:712 #: templates/js/translated/part.js:2155 @@ -1692,13 +1692,13 @@ msgstr "" msgid "On Order" msgstr "" -#: build/serializers.py:1360 order/serializers.py:1180 part/serializers.py:1625 +#: build/serializers.py:1360 order/serializers.py:1180 part/serializers.py:1623 #: templates/js/translated/build.js:2811 #: templates/js/translated/table_filters.js:367 msgid "In Production" msgstr "" -#: build/serializers.py:1365 part/bom.py:185 part/serializers.py:1650 +#: build/serializers.py:1365 part/bom.py:185 part/serializers.py:1648 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" @@ -1716,7 +1716,7 @@ msgstr "" msgid "Total Available Stock" msgstr "" -#: build/serializers.py:1372 part/serializers.py:927 +#: build/serializers.py:1372 part/serializers.py:925 msgid "External Stock" msgstr "" @@ -1745,7 +1745,7 @@ msgstr "Preklicano" #: importer/status_codes.py:27 order/status_codes.py:15 #: order/status_codes.py:50 order/status_codes.py:81 #: order/templates/order/order_base.html:163 -#: order/templates/order/sales_order_base.html:168 report/models.py:443 +#: order/templates/order/sales_order_base.html:168 report/models.py:451 msgid "Complete" msgstr "Končano" @@ -1849,9 +1849,6 @@ msgid "Delete Build" msgstr "" #: build/templates/build/build_base.html:87 -msgid "Isueue Build" -msgstr "" - #: build/templates/build/build_base.html:88 msgid "Issue Build" msgstr "" @@ -1931,7 +1928,7 @@ msgstr "" #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_report.html:135 #: report/templates/report/inventree_sales_order_report.html:14 -#: stock/templates/stock/item_base.html:369 +#: stock/templates/stock/item_base.html:365 #: templates/email/overdue_sales_order.html:15 #: templates/js/translated/pricing.js:929 #: templates/js/translated/sales_order.js:805 @@ -1991,7 +1988,7 @@ msgid "Allocated Parts" msgstr "" #: build/templates/build/detail.html:80 stock/admin.py:163 -#: stock/templates/stock/item_base.html:162 +#: stock/templates/stock/item_base.html:158 #: templates/js/translated/build.js:1556 #: templates/js/translated/model_renderers.js:242 #: templates/js/translated/purchase_order.js:1326 @@ -2148,19 +2145,19 @@ msgstr "" msgid "Test Statistics" msgstr "" -#: common/api.py:692 +#: common/api.py:725 msgid "Is Link" msgstr "" -#: common/api.py:700 +#: common/api.py:733 msgid "Is File" msgstr "" -#: common/api.py:743 +#: common/api.py:776 msgid "User does not have permission to delete these attachments" msgstr "" -#: common/api.py:760 +#: common/api.py:793 msgid "User does not have permission to delete this attachment" msgstr "" @@ -2352,8 +2349,8 @@ msgstr "" #: common/models.py:1297 common/models.py:1353 common/models.py:1366 #: common/models.py:1374 common/models.py:1383 common/models.py:1392 -#: common/models.py:1629 common/models.py:1651 common/models.py:1766 -#: common/models.py:2148 +#: common/models.py:1629 common/models.py:1651 common/models.py:1752 +#: common/models.py:2141 msgid "days" msgstr "" @@ -2581,9 +2578,9 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1485 part/admin.py:108 part/models.py:3959 -#: report/models.py:293 report/models.py:360 report/serializers.py:90 -#: report/serializers.py:131 stock/serializers.py:233 +#: common/models.py:1485 part/admin.py:108 part/models.py:3946 +#: report/models.py:301 report/models.py:368 report/serializers.py:91 +#: report/serializers.py:132 stock/serializers.py:233 #: templates/js/translated/table_filters.js:138 #: templates/js/translated/table_filters.js:775 msgid "Template" @@ -2598,7 +2595,7 @@ msgid "Parts can be assembled from other components by default" msgstr "" #: common/models.py:1497 part/admin.py:95 part/models.py:1172 -#: part/serializers.py:1617 templates/js/translated/table_filters.js:737 +#: part/serializers.py:1615 templates/js/translated/table_filters.js:737 msgid "Component" msgstr "" @@ -2823,7 +2820,7 @@ msgid "Log errors which occur when generating reports" msgstr "" #: common/models.py:1702 plugin/builtin/labels/label_sheet.py:28 -#: report/models.py:301 +#: report/models.py:309 msgid "Page Size" msgstr "" @@ -2832,914 +2829,914 @@ msgid "Default page size for PDF reports" msgstr "" #: common/models.py:1708 -msgid "Enable Test Reports" -msgstr "" - -#: common/models.py:1709 -msgid "Enable generation of test reports" -msgstr "" - -#: common/models.py:1714 -msgid "Attach Test Reports" -msgstr "" - -#: common/models.py:1716 -msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" -msgstr "" - -#: common/models.py:1722 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1723 +#: common/models.py:1709 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1728 +#: common/models.py:1714 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1729 +#: common/models.py:1715 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1734 +#: common/models.py:1720 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1736 +#: common/models.py:1722 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/models.py:1742 +#: common/models.py:1728 msgid "Batch Code Template" msgstr "" -#: common/models.py:1744 +#: common/models.py:1730 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1749 +#: common/models.py:1735 msgid "Stock Expiry" msgstr "" -#: common/models.py:1750 +#: common/models.py:1736 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1755 +#: common/models.py:1741 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1756 +#: common/models.py:1742 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1761 +#: common/models.py:1747 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1763 +#: common/models.py:1749 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1770 +#: common/models.py:1756 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1771 +#: common/models.py:1757 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1776 +#: common/models.py:1762 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1777 +#: common/models.py:1763 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1782 +#: common/models.py:1768 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1783 +#: common/models.py:1769 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1788 +#: common/models.py:1774 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1789 +#: common/models.py:1775 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1794 +#: common/models.py:1780 msgid "Check BOM when installing items" msgstr "" -#: common/models.py:1796 +#: common/models.py:1782 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/models.py:1802 +#: common/models.py:1788 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/models.py:1804 +#: common/models.py:1790 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/models.py:1810 +#: common/models.py:1796 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1812 +#: common/models.py:1798 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1818 common/models.py:1874 common/models.py:1896 -#: common/models.py:1932 +#: common/models.py:1804 common/models.py:1860 common/models.py:1882 +#: common/models.py:1918 msgid "Require Responsible Owner" msgstr "" -#: common/models.py:1819 common/models.py:1875 common/models.py:1897 -#: common/models.py:1933 +#: common/models.py:1805 common/models.py:1861 common/models.py:1883 +#: common/models.py:1919 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/models.py:1824 +#: common/models.py:1810 msgid "Require Active Part" msgstr "" -#: common/models.py:1825 +#: common/models.py:1811 msgid "Prevent build order creation for inactive parts" msgstr "" -#: common/models.py:1830 +#: common/models.py:1816 msgid "Require Locked Part" msgstr "" -#: common/models.py:1831 +#: common/models.py:1817 msgid "Prevent build order creation for unlocked parts" msgstr "" -#: common/models.py:1836 +#: common/models.py:1822 msgid "Require Valid BOM" msgstr "" -#: common/models.py:1838 +#: common/models.py:1824 msgid "Prevent build order creation unless BOM has been validated" msgstr "" -#: common/models.py:1844 +#: common/models.py:1830 msgid "Require Closed Child Orders" msgstr "" -#: common/models.py:1846 +#: common/models.py:1832 msgid "Prevent build order completion until all child orders are closed" msgstr "" -#: common/models.py:1852 +#: common/models.py:1838 msgid "Block Until Tests Pass" msgstr "" -#: common/models.py:1854 +#: common/models.py:1840 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "" -#: common/models.py:1860 +#: common/models.py:1846 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1861 +#: common/models.py:1847 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1866 +#: common/models.py:1852 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1868 +#: common/models.py:1854 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1880 +#: common/models.py:1866 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1882 +#: common/models.py:1868 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1888 +#: common/models.py:1874 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1890 +#: common/models.py:1876 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1902 +#: common/models.py:1888 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1903 +#: common/models.py:1889 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1908 +#: common/models.py:1894 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1910 +#: common/models.py:1896 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1916 +#: common/models.py:1902 msgid "Mark Shipped Orders as Complete" msgstr "" -#: common/models.py:1918 +#: common/models.py:1904 msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status" msgstr "" -#: common/models.py:1924 +#: common/models.py:1910 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1926 +#: common/models.py:1912 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1938 +#: common/models.py:1924 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1940 +#: common/models.py:1926 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1946 +#: common/models.py:1932 msgid "Auto Complete Purchase Orders" msgstr "" -#: common/models.py:1948 +#: common/models.py:1934 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/models.py:1955 +#: common/models.py:1941 msgid "Enable password forgot" msgstr "" -#: common/models.py:1956 +#: common/models.py:1942 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1961 +#: common/models.py:1947 msgid "Enable registration" msgstr "" -#: common/models.py:1962 +#: common/models.py:1948 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1967 +#: common/models.py:1953 msgid "Enable SSO" msgstr "" -#: common/models.py:1968 +#: common/models.py:1954 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1973 +#: common/models.py:1959 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1975 +#: common/models.py:1961 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1981 +#: common/models.py:1967 msgid "Enable SSO group sync" msgstr "" -#: common/models.py:1983 +#: common/models.py:1969 msgid "Enable synchronizing InvenTree groups with groups provided by the IdP" msgstr "" -#: common/models.py:1989 +#: common/models.py:1975 msgid "SSO group key" msgstr "" -#: common/models.py:1991 +#: common/models.py:1977 msgid "The name of the groups claim attribute provided by the IdP" msgstr "" -#: common/models.py:1997 +#: common/models.py:1983 msgid "SSO group map" msgstr "" -#: common/models.py:1999 +#: common/models.py:1985 msgid "A mapping from SSO groups to local InvenTree groups. If the local group does not exist, it will be created." msgstr "" -#: common/models.py:2005 +#: common/models.py:1991 msgid "Remove groups outside of SSO" msgstr "" -#: common/models.py:2007 +#: common/models.py:1993 msgid "Whether groups assigned to the user should be removed if they are not backend by the IdP. Disabling this setting might cause security issues" msgstr "" -#: common/models.py:2013 +#: common/models.py:1999 msgid "Email required" msgstr "" -#: common/models.py:2014 +#: common/models.py:2000 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:2019 +#: common/models.py:2005 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:2021 +#: common/models.py:2007 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:2027 +#: common/models.py:2013 msgid "Mail twice" msgstr "" -#: common/models.py:2028 +#: common/models.py:2014 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:2033 +#: common/models.py:2019 msgid "Password twice" msgstr "" -#: common/models.py:2034 +#: common/models.py:2020 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:2039 +#: common/models.py:2025 msgid "Allowed domains" msgstr "" -#: common/models.py:2041 +#: common/models.py:2027 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:2047 +#: common/models.py:2033 msgid "Group on signup" msgstr "" -#: common/models.py:2049 +#: common/models.py:2035 msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP." msgstr "" -#: common/models.py:2055 +#: common/models.py:2041 msgid "Enforce MFA" msgstr "" -#: common/models.py:2056 +#: common/models.py:2042 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:2061 +#: common/models.py:2047 msgid "Check plugins on startup" msgstr "" -#: common/models.py:2063 +#: common/models.py:2049 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:2071 +#: common/models.py:2057 msgid "Check for plugin updates" msgstr "" -#: common/models.py:2072 +#: common/models.py:2058 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:2078 +#: common/models.py:2064 msgid "Enable URL integration" msgstr "" -#: common/models.py:2079 +#: common/models.py:2065 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:2085 +#: common/models.py:2071 msgid "Enable navigation integration" msgstr "" -#: common/models.py:2086 +#: common/models.py:2072 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:2092 +#: common/models.py:2078 msgid "Enable app integration" msgstr "" -#: common/models.py:2093 +#: common/models.py:2079 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:2099 +#: common/models.py:2085 msgid "Enable schedule integration" msgstr "" -#: common/models.py:2100 +#: common/models.py:2086 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:2106 +#: common/models.py:2092 msgid "Enable event integration" msgstr "" -#: common/models.py:2107 +#: common/models.py:2093 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:2113 +#: common/models.py:2099 +msgid "Enable interface integration" +msgstr "" + +#: common/models.py:2100 +msgid "Enable plugins to integrate into the user interface" +msgstr "" + +#: common/models.py:2106 msgid "Enable project codes" msgstr "" -#: common/models.py:2114 +#: common/models.py:2107 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:2119 +#: common/models.py:2112 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:2121 +#: common/models.py:2114 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:2127 +#: common/models.py:2120 msgid "Exclude External Locations" msgstr "" -#: common/models.py:2129 +#: common/models.py:2122 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/models.py:2135 +#: common/models.py:2128 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:2137 +#: common/models.py:2130 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:2143 +#: common/models.py:2136 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:2145 +#: common/models.py:2138 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:2152 +#: common/models.py:2145 msgid "Display Users full names" msgstr "" -#: common/models.py:2153 +#: common/models.py:2146 msgid "Display Users full names instead of usernames" msgstr "" -#: common/models.py:2158 +#: common/models.py:2151 msgid "Enable Test Station Data" msgstr "" -#: common/models.py:2159 +#: common/models.py:2152 msgid "Enable test station data collection for test results" msgstr "" -#: common/models.py:2171 common/models.py:2551 +#: common/models.py:2157 +msgid "Create Template on Upload" +msgstr "" + +#: common/models.py:2159 +msgid "Create a new test template when uploading test data which does not match an existing template" +msgstr "" + +#: common/models.py:2172 common/models.py:2552 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:2214 +#: common/models.py:2215 msgid "Hide inactive parts" msgstr "" -#: common/models.py:2216 +#: common/models.py:2217 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:2222 +#: common/models.py:2223 msgid "Show subscribed parts" msgstr "" -#: common/models.py:2223 +#: common/models.py:2224 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:2228 +#: common/models.py:2229 msgid "Show subscribed categories" msgstr "" -#: common/models.py:2229 +#: common/models.py:2230 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:2234 +#: common/models.py:2235 msgid "Show latest parts" msgstr "" -#: common/models.py:2235 +#: common/models.py:2236 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:2240 +#: common/models.py:2241 msgid "Show invalid BOMs" msgstr "" -#: common/models.py:2241 +#: common/models.py:2242 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:2246 +#: common/models.py:2247 msgid "Show recent stock changes" msgstr "" -#: common/models.py:2247 +#: common/models.py:2248 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:2252 +#: common/models.py:2253 msgid "Show low stock" msgstr "" -#: common/models.py:2253 +#: common/models.py:2254 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:2258 +#: common/models.py:2259 msgid "Show depleted stock" msgstr "" -#: common/models.py:2259 +#: common/models.py:2260 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:2264 +#: common/models.py:2265 msgid "Show needed stock" msgstr "" -#: common/models.py:2265 +#: common/models.py:2266 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:2270 +#: common/models.py:2271 msgid "Show expired stock" msgstr "" -#: common/models.py:2271 +#: common/models.py:2272 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:2276 +#: common/models.py:2277 msgid "Show stale stock" msgstr "" -#: common/models.py:2277 +#: common/models.py:2278 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:2282 +#: common/models.py:2283 msgid "Show pending builds" msgstr "" -#: common/models.py:2283 +#: common/models.py:2284 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:2288 +#: common/models.py:2289 msgid "Show overdue builds" msgstr "" -#: common/models.py:2289 +#: common/models.py:2290 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:2294 +#: common/models.py:2295 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2295 +#: common/models.py:2296 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2300 +#: common/models.py:2301 msgid "Show overdue POs" msgstr "" -#: common/models.py:2301 +#: common/models.py:2302 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2306 +#: common/models.py:2307 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2307 +#: common/models.py:2308 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2312 +#: common/models.py:2313 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2313 +#: common/models.py:2314 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2318 +#: common/models.py:2319 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2319 +#: common/models.py:2320 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2324 +#: common/models.py:2325 msgid "Show News" msgstr "" -#: common/models.py:2325 +#: common/models.py:2326 msgid "Show news on the homepage" msgstr "" -#: common/models.py:2330 +#: common/models.py:2331 msgid "Inline label display" msgstr "" -#: common/models.py:2332 +#: common/models.py:2333 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2338 +#: common/models.py:2339 msgid "Default label printer" msgstr "" -#: common/models.py:2340 +#: common/models.py:2341 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2346 +#: common/models.py:2347 msgid "Inline report display" msgstr "" -#: common/models.py:2348 +#: common/models.py:2349 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2354 +#: common/models.py:2355 msgid "Search Parts" msgstr "" -#: common/models.py:2355 +#: common/models.py:2356 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2360 +#: common/models.py:2361 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2361 +#: common/models.py:2362 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2366 +#: common/models.py:2367 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2367 +#: common/models.py:2368 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2372 +#: common/models.py:2373 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2373 +#: common/models.py:2374 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2378 +#: common/models.py:2379 msgid "Search Categories" msgstr "" -#: common/models.py:2379 +#: common/models.py:2380 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2384 +#: common/models.py:2385 msgid "Search Stock" msgstr "" -#: common/models.py:2385 +#: common/models.py:2386 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2390 +#: common/models.py:2391 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2392 +#: common/models.py:2393 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2398 +#: common/models.py:2399 msgid "Search Locations" msgstr "" -#: common/models.py:2399 +#: common/models.py:2400 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2404 +#: common/models.py:2405 msgid "Search Companies" msgstr "" -#: common/models.py:2405 +#: common/models.py:2406 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2410 +#: common/models.py:2411 msgid "Search Build Orders" msgstr "" -#: common/models.py:2411 +#: common/models.py:2412 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2416 +#: common/models.py:2417 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2417 +#: common/models.py:2418 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2422 +#: common/models.py:2423 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2424 +#: common/models.py:2425 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2430 +#: common/models.py:2431 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2431 +#: common/models.py:2432 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2436 +#: common/models.py:2437 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2438 +#: common/models.py:2439 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2444 +#: common/models.py:2445 msgid "Search Return Orders" msgstr "" -#: common/models.py:2445 +#: common/models.py:2446 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2450 +#: common/models.py:2451 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2452 +#: common/models.py:2453 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2458 +#: common/models.py:2459 msgid "Search Preview Results" msgstr "" -#: common/models.py:2460 +#: common/models.py:2461 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2466 +#: common/models.py:2467 msgid "Regex Search" msgstr "" -#: common/models.py:2467 +#: common/models.py:2468 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2472 +#: common/models.py:2473 msgid "Whole Word Search" msgstr "" -#: common/models.py:2473 +#: common/models.py:2474 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2478 +#: common/models.py:2479 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2479 +#: common/models.py:2480 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2484 +#: common/models.py:2485 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2485 +#: common/models.py:2486 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2490 +#: common/models.py:2491 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2491 +#: common/models.py:2492 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2496 +#: common/models.py:2497 msgid "Date Format" msgstr "" -#: common/models.py:2497 +#: common/models.py:2498 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2510 part/templates/part/detail.html:41 +#: common/models.py:2511 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2511 +#: common/models.py:2512 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2516 part/templates/part/detail.html:62 +#: common/models.py:2517 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2518 +#: common/models.py:2519 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2524 +#: common/models.py:2525 msgid "Table String Length" msgstr "" -#: common/models.py:2526 +#: common/models.py:2527 msgid "Maximum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2532 +#: common/models.py:2533 msgid "Receive error reports" msgstr "" -#: common/models.py:2533 +#: common/models.py:2534 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2538 +#: common/models.py:2539 msgid "Last used printing machines" msgstr "" -#: common/models.py:2539 +#: common/models.py:2540 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2559 common/models.py:2560 common/models.py:2717 -#: common/models.py:2718 common/models.py:2963 common/models.py:2964 -#: common/models.py:3287 common/models.py:3288 importer/models.py:89 -#: part/models.py:3319 part/models.py:3406 part/models.py:3480 -#: part/models.py:3508 plugin/models.py:274 plugin/models.py:275 +#: common/models.py:2560 common/models.py:2561 common/models.py:2718 +#: common/models.py:2719 common/models.py:2964 common/models.py:2965 +#: common/models.py:3288 common/models.py:3289 importer/models.py:89 +#: part/models.py:3306 part/models.py:3393 part/models.py:3467 +#: part/models.py:3495 plugin/models.py:274 plugin/models.py:275 #: report/templates/report/inventree_test_report.html:105 #: templates/js/translated/stock.js:3121 users/models.py:111 msgid "User" msgstr "Uporabnik" -#: common/models.py:2582 +#: common/models.py:2583 msgid "Price break quantity" msgstr "" -#: common/models.py:2589 company/serializers.py:517 order/admin.py:42 +#: common/models.py:2590 company/serializers.py:517 order/admin.py:42 #: order/models.py:1423 order/models.py:2410 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1892 #: templates/js/translated/pricing.js:621 @@ -3747,96 +3744,96 @@ msgstr "" msgid "Price" msgstr "" -#: common/models.py:2590 +#: common/models.py:2591 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2694 common/models.py:2879 +#: common/models.py:2695 common/models.py:2880 msgid "Endpoint" msgstr "" -#: common/models.py:2695 +#: common/models.py:2696 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2705 +#: common/models.py:2706 msgid "Name for this webhook" msgstr "" -#: common/models.py:2709 +#: common/models.py:2710 msgid "Is this webhook active" msgstr "" -#: common/models.py:2725 users/models.py:159 +#: common/models.py:2726 users/models.py:159 msgid "Token" msgstr "" -#: common/models.py:2726 +#: common/models.py:2727 msgid "Token for access" msgstr "" -#: common/models.py:2734 +#: common/models.py:2735 msgid "Secret" msgstr "" -#: common/models.py:2735 +#: common/models.py:2736 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2843 +#: common/models.py:2844 msgid "Message ID" msgstr "" -#: common/models.py:2844 +#: common/models.py:2845 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2852 +#: common/models.py:2853 msgid "Host" msgstr "" -#: common/models.py:2853 +#: common/models.py:2854 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2861 +#: common/models.py:2862 msgid "Header" msgstr "" -#: common/models.py:2862 +#: common/models.py:2863 msgid "Header of this message" msgstr "" -#: common/models.py:2869 +#: common/models.py:2870 msgid "Body" msgstr "" -#: common/models.py:2870 +#: common/models.py:2871 msgid "Body of this message" msgstr "" -#: common/models.py:2880 +#: common/models.py:2881 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2885 +#: common/models.py:2886 msgid "Worked on" msgstr "" -#: common/models.py:2886 +#: common/models.py:2887 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:3012 +#: common/models.py:3013 msgid "Id" msgstr "" -#: common/models.py:3014 templates/js/translated/company.js:965 +#: common/models.py:3015 templates/js/translated/company.js:965 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:3016 common/models.py:3271 company/models.py:146 +#: common/models.py:3017 common/models.py:3272 company/models.py:146 #: company/models.py:443 company/models.py:509 company/models.py:815 #: order/models.py:303 order/models.py:1378 order/models.py:1810 #: part/admin.py:55 part/models.py:1069 @@ -3853,217 +3850,217 @@ msgstr "" msgid "Link" msgstr "Povezava" -#: common/models.py:3018 templates/js/translated/news.js:60 +#: common/models.py:3019 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:3020 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:3021 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:103 msgid "Author" msgstr "" -#: common/models.py:3022 templates/js/translated/news.js:52 +#: common/models.py:3023 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:3025 +#: common/models.py:3026 msgid "Read" msgstr "" -#: common/models.py:3025 +#: common/models.py:3026 msgid "Was this news item read?" msgstr "" -#: common/models.py:3042 company/models.py:156 part/models.py:1079 +#: common/models.py:3043 company/models.py:156 part/models.py:1079 #: 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.html:35 -#: stock/templates/stock/item_base.html:133 templates/503.html:31 +#: stock/templates/stock/item_base.html:129 templates/503.html:31 #: templates/hover_image.html:7 templates/hover_image.html:9 #: templates/modals.html:6 msgid "Image" msgstr "" -#: common/models.py:3042 +#: common/models.py:3043 msgid "Image file" msgstr "" -#: common/models.py:3054 common/models.py:3255 +#: common/models.py:3055 common/models.py:3256 msgid "Target model type for this image" msgstr "" -#: common/models.py:3058 +#: common/models.py:3059 msgid "Target model ID for this image" msgstr "" -#: common/models.py:3080 +#: common/models.py:3081 msgid "Custom Unit" msgstr "" -#: common/models.py:3098 +#: common/models.py:3099 msgid "Unit symbol must be unique" msgstr "" -#: common/models.py:3113 +#: common/models.py:3114 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:3132 +#: common/models.py:3133 msgid "Unit name" msgstr "" -#: common/models.py:3139 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3140 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:3140 +#: common/models.py:3141 msgid "Optional unit symbol" msgstr "" -#: common/models.py:3146 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3147 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:3147 +#: common/models.py:3148 msgid "Unit definition" msgstr "" -#: common/models.py:3205 common/models.py:3262 stock/models.py:2552 +#: common/models.py:3206 common/models.py:3263 stock/models.py:2547 #: stock/serializers.py:244 templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:345 msgid "Attachment" msgstr "Priloga" -#: common/models.py:3217 +#: common/models.py:3218 msgid "Missing file" msgstr "Manjka datoteka" -#: common/models.py:3218 +#: common/models.py:3219 msgid "Missing external link" msgstr "Manjka zunanja povezava" -#: common/models.py:3263 +#: common/models.py:3264 msgid "Select file to attach" msgstr "Izberite prilogo" -#: common/models.py:3278 templates/js/translated/attachment.js:120 +#: common/models.py:3279 templates/js/translated/attachment.js:120 #: templates/js/translated/attachment.js:360 msgid "Comment" msgstr "Komentar" -#: common/models.py:3279 +#: common/models.py:3280 msgid "Attachment comment" msgstr "" -#: common/models.py:3295 +#: common/models.py:3296 msgid "Upload date" msgstr "" -#: common/models.py:3296 +#: common/models.py:3297 msgid "Date the file was uploaded" msgstr "" -#: common/models.py:3300 +#: common/models.py:3301 msgid "File size" msgstr "" -#: common/models.py:3300 +#: common/models.py:3301 msgid "File size in bytes" msgstr "" -#: common/models.py:3338 common/serializers.py:588 +#: common/models.py:3339 common/serializers.py:604 msgid "Invalid model type specified for attachment" msgstr "" -#: common/models.py:3347 plugin/models.py:43 users/models.py:100 +#: common/models.py:3348 plugin/models.py:43 users/models.py:100 msgid "Key" msgstr "" -#: common/models.py:3348 +#: common/models.py:3349 msgid "Value that will be saved in the models database" msgstr "" -#: common/models.py:3351 +#: common/models.py:3352 msgid "Name of the state" msgstr "" -#: common/models.py:3355 +#: common/models.py:3356 msgid "Label" msgstr "" -#: common/models.py:3356 +#: common/models.py:3357 msgid "Label that will be displayed in the frontend" msgstr "" -#: common/models.py:3362 +#: common/models.py:3363 msgid "Color" msgstr "" -#: common/models.py:3363 +#: common/models.py:3364 msgid "Color that will be displayed in the frontend" msgstr "" -#: common/models.py:3366 +#: common/models.py:3367 msgid "Logical Key" msgstr "" -#: common/models.py:3368 +#: common/models.py:3369 msgid "State logical key that is equal to this custom state in business logic" msgstr "" -#: common/models.py:3376 +#: common/models.py:3377 msgid "Model" msgstr "" -#: common/models.py:3377 +#: common/models.py:3378 msgid "Model this state is associated with" msgstr "" -#: common/models.py:3381 +#: common/models.py:3382 msgid "Reference Status Set" msgstr "" -#: common/models.py:3382 +#: common/models.py:3383 msgid "Status set that is extended with this custom state" msgstr "" -#: common/models.py:3388 +#: common/models.py:3389 msgid "Custom State" msgstr "" -#: common/models.py:3389 +#: common/models.py:3390 msgid "Custom States" msgstr "" -#: common/models.py:3404 +#: common/models.py:3405 msgid "Model must be selected" msgstr "" -#: common/models.py:3407 +#: common/models.py:3408 msgid "Key must be selected" msgstr "" -#: common/models.py:3410 +#: common/models.py:3411 msgid "Logical key must be selected" msgstr "" -#: common/models.py:3414 +#: common/models.py:3415 msgid "Key must be different from logical key" msgstr "" -#: common/models.py:3418 +#: common/models.py:3419 msgid "Reference status must be selected" msgstr "" -#: common/models.py:3430 +#: common/models.py:3431 msgid "Reference status set not found" msgstr "" -#: common/models.py:3436 +#: common/models.py:3437 msgid "Key must be different from the logical keys of the reference status" msgstr "" -#: common/models.py:3442 +#: common/models.py:3443 msgid "Logical key must be in the logical keys of the reference status" msgstr "" @@ -4101,75 +4098,75 @@ msgstr "" msgid "Error raised by plugin" msgstr "" -#: common/serializers.py:402 +#: common/serializers.py:418 msgid "Is Running" msgstr "" -#: common/serializers.py:408 +#: common/serializers.py:424 msgid "Pending Tasks" msgstr "" -#: common/serializers.py:414 +#: common/serializers.py:430 msgid "Scheduled Tasks" msgstr "" -#: common/serializers.py:420 +#: common/serializers.py:436 msgid "Failed Tasks" msgstr "" -#: common/serializers.py:435 +#: common/serializers.py:451 msgid "Task ID" msgstr "" -#: common/serializers.py:435 +#: common/serializers.py:451 msgid "Unique task ID" msgstr "" -#: common/serializers.py:437 +#: common/serializers.py:453 msgid "Lock" msgstr "" -#: common/serializers.py:437 +#: common/serializers.py:453 msgid "Lock time" msgstr "" -#: common/serializers.py:439 +#: common/serializers.py:455 msgid "Task name" msgstr "" -#: common/serializers.py:441 +#: common/serializers.py:457 msgid "Function" msgstr "" -#: common/serializers.py:441 +#: common/serializers.py:457 msgid "Function name" msgstr "" -#: common/serializers.py:443 +#: common/serializers.py:459 msgid "Arguments" msgstr "" -#: common/serializers.py:443 +#: common/serializers.py:459 msgid "Task arguments" msgstr "" -#: common/serializers.py:446 +#: common/serializers.py:462 msgid "Keyword Arguments" msgstr "" -#: common/serializers.py:446 +#: common/serializers.py:462 msgid "Task keyword arguments" msgstr "" -#: common/serializers.py:556 +#: common/serializers.py:572 msgid "Filename" msgstr "Ime datoteke" -#: common/serializers.py:563 report/api.py:100 report/serializers.py:53 +#: common/serializers.py:579 report/api.py:100 report/serializers.py:54 msgid "Model Type" msgstr "" -#: common/serializers.py:591 +#: common/serializers.py:607 msgid "User does not have permission to create or edit attachments for this model" msgstr "" @@ -4447,12 +4444,12 @@ msgstr "" #: company/models.py:467 company/models.py:584 company/models.py:808 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 -#: stock/templates/stock/item_base.html:217 +#: stock/templates/stock/item_base.html:213 msgid "Manufacturer Part" msgstr "" #: company/models.py:484 company/models.py:776 stock/models.py:791 -#: stock/serializers.py:452 stock/templates/stock/item_base.html:142 +#: stock/serializers.py:452 stock/templates/stock/item_base.html:138 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" @@ -4463,8 +4460,8 @@ msgstr "" #: company/models.py:495 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:567 -#: stock/templates/stock/item_base.html:207 +#: company/templates/company/supplier_part.html:145 part/serializers.py:565 +#: stock/templates/stock/item_base.html:203 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 #: templates/js/translated/company.js:1296 @@ -4479,7 +4476,7 @@ msgstr "" #: company/models.py:502 company/templates/company/manufacturer_part.html:101 #: company/templates/company/supplier_part.html:153 order/serializers.py:557 -#: part/serializers.py:577 templates/js/translated/company.js:351 +#: part/serializers.py:575 templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 #: templates/js/translated/company.js:1630 templates/js/translated/part.js:1807 @@ -4505,7 +4502,7 @@ msgid "Parameter name" msgstr "" #: company/models.py:597 report/templates/report/inventree_test_report.html:104 -#: stock/models.py:2544 templates/js/translated/company.js:1166 +#: stock/models.py:2539 templates/js/translated/company.js:1166 #: templates/js/translated/company.js:1419 templates/js/translated/part.js:1499 #: templates/js/translated/stock.js:1607 msgid "Value" @@ -4516,7 +4513,7 @@ msgid "Parameter value" msgstr "" #: company/models.py:605 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1159 part/models.py:3783 +#: part/admin.py:57 part/models.py:1159 part/models.py:3770 #: part/templates/part/part_base.html:300 #: templates/js/translated/company.js:1425 templates/js/translated/part.js:1518 #: templates/js/translated/part.js:1622 templates/js/translated/part.js:2376 @@ -4530,7 +4527,7 @@ msgstr "" #: company/models.py:659 company/templates/company/supplier_part.html:7 #: company/templates/company/supplier_part.html:24 order/api.py:440 #: order/serializers.py:492 stock/models.py:802 -#: stock/templates/stock/item_base.html:233 +#: stock/templates/stock/item_base.html:229 #: templates/js/translated/build.js:1055 #: templates/js/translated/company.js:1600 #: templates/js/translated/purchase_order.js:752 @@ -4553,9 +4550,9 @@ msgstr "" #: company/models.py:786 company/templates/company/company_base.html:87 #: company/templates/company/supplier_part.html:129 order/models.py:492 #: order/templates/order/order_base.html:141 part/bom.py:279 part/bom.py:314 -#: part/serializers.py:551 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:549 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 -#: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 +#: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:220 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:511 @@ -4570,7 +4567,7 @@ msgstr "" msgid "Select supplier" msgstr "" -#: company/models.py:793 part/serializers.py:562 +#: company/models.py:793 part/serializers.py:560 msgid "Supplier stock keeping unit" msgstr "" @@ -4591,7 +4588,7 @@ msgid "Supplier part description" msgstr "" #: company/models.py:832 company/templates/company/supplier_part.html:187 -#: order/serializers.py:699 part/admin.py:415 part/models.py:4301 +#: order/serializers.py:699 part/admin.py:415 part/models.py:4288 #: part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 @@ -4603,11 +4600,11 @@ msgstr "" msgid "Note" msgstr "" -#: company/models.py:841 part/models.py:2129 +#: company/models.py:841 part/models.py:2128 msgid "base cost" msgstr "" -#: company/models.py:842 part/models.py:2130 +#: company/models.py:842 part/models.py:2129 msgid "Minimum charge (e.g. stocking fee)" msgstr "" @@ -4629,7 +4626,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:876 part/models.py:2136 +#: company/models.py:876 part/models.py:2135 msgid "multiple" msgstr "" @@ -4661,7 +4658,7 @@ msgstr "" msgid "Company Name" msgstr "" -#: company/serializers.py:397 part/admin.py:126 part/serializers.py:919 +#: company/serializers.py:397 part/admin.py:126 part/serializers.py:917 #: part/templates/part/part_base.html:197 #: templates/js/translated/company.js:1689 #: templates/js/translated/table_filters.js:362 @@ -4735,7 +4732,7 @@ msgstr "" #: order/models.py:2140 order/templates/order/return_order_base.html:134 #: order/templates/order/sales_order_base.html:151 stock/models.py:844 #: stock/models.py:845 stock/serializers.py:1336 -#: stock/templates/stock/item_base.html:405 +#: stock/templates/stock/item_base.html:401 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 #: templates/js/translated/return_order.js:295 @@ -4939,7 +4936,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:925 +#: part/admin.py:122 part/serializers.py:923 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -5030,7 +5027,7 @@ msgid "No supplier information available" msgstr "" #: company/templates/company/supplier_part.html:139 order/serializers.py:554 -#: part/bom.py:286 part/bom.py:315 part/serializers.py:561 +#: part/bom.py:286 part/bom.py:315 part/serializers.py:559 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1793 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1920 @@ -5084,7 +5081,7 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:923 part/stocktake.py:223 +#: part/serializers.py:921 part/stocktake.py:223 #: part/templates/part/category.html:180 #: part/templates/part/category_sidebar.html:17 stock/admin.py:68 #: stock/serializers.py:1021 stock/serializers.py:1199 @@ -5215,7 +5212,7 @@ msgstr "" msgid "Original row data" msgstr "" -#: importer/models.py:504 part/models.py:3965 +#: importer/models.py:504 part/models.py:3952 msgid "Data" msgstr "" @@ -5473,7 +5470,7 @@ msgstr "" #: order/models.py:1592 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_purchase_order_report.html:14 -#: stock/serializers.py:121 stock/templates/stock/item_base.html:176 +#: stock/serializers.py:121 stock/templates/stock/item_base.html:172 #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/part.js:1752 templates/js/translated/pricing.js:804 #: templates/js/translated/purchase_order.js:168 @@ -5694,7 +5691,7 @@ msgid "Number of items received" msgstr "" #: order/models.py:1513 stock/models.py:963 stock/serializers.py:617 -#: stock/templates/stock/item_base.html:183 +#: stock/templates/stock/item_base.html:179 #: templates/js/translated/stock.js:2397 msgid "Purchase Price" msgstr "" @@ -5768,7 +5765,7 @@ msgid "User who checked this shipment" msgstr "" #: order/models.py:1788 order/models.py:2011 order/serializers.py:1479 -#: order/serializers.py:1589 templates/js/translated/model_renderers.js:455 +#: order/serializers.py:1597 templates/js/translated/model_renderers.js:455 msgid "Shipment" msgstr "" @@ -5982,7 +5979,7 @@ msgstr "" msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:656 order/serializers.py:779 order/serializers.py:1790 +#: order/serializers.py:656 order/serializers.py:779 order/serializers.py:1798 msgid "Select destination location for received items" msgstr "" @@ -6019,7 +6016,7 @@ msgstr "" msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:795 order/serializers.py:1806 +#: order/serializers.py:795 order/serializers.py:1814 msgid "Line items must be provided" msgstr "" @@ -6051,39 +6048,39 @@ msgstr "" msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1491 order/serializers.py:1597 +#: order/serializers.py:1491 order/serializers.py:1605 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1494 order/serializers.py:1600 +#: order/serializers.py:1494 order/serializers.py:1608 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1541 +#: order/serializers.py:1549 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1548 -msgid "The following serial numbers are already allocated" +#: order/serializers.py:1556 +msgid "The following serial numbers are unavailable" msgstr "" -#: order/serializers.py:1760 +#: order/serializers.py:1768 msgid "Return order line item" msgstr "" -#: order/serializers.py:1766 +#: order/serializers.py:1774 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1769 +#: order/serializers.py:1777 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1798 +#: order/serializers.py:1806 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1881 +#: order/serializers.py:1889 msgid "Line price currency" msgstr "" @@ -6510,7 +6507,7 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:48 part/models.py:1044 part/serializers.py:908 +#: part/admin.py:48 part/models.py:1044 part/serializers.py:906 #: part/templates/part/part_base.html:276 #: report/templates/report/inventree_stock_location_report.html:103 #: templates/js/translated/part.js:1233 templates/js/translated/part.js:2347 @@ -6537,7 +6534,7 @@ msgstr "" msgid "Category ID" msgstr "" -#: part/admin.py:67 part/admin.py:304 part/serializers.py:893 +#: part/admin.py:67 part/admin.py:304 part/serializers.py:891 #: part/stocktake.py:222 msgid "Category Name" msgstr "" @@ -6562,18 +6559,18 @@ msgstr "" msgid "Used In" msgstr "" -#: part/admin.py:150 part/serializers.py:918 +#: part/admin.py:150 part/serializers.py:916 #: part/templates/part/part_base.html:248 stock/admin.py:236 #: templates/js/translated/part.js:717 templates/js/translated/part.js:2159 msgid "Building" msgstr "" -#: part/admin.py:155 part/models.py:3214 part/models.py:3228 +#: part/admin.py:155 part/models.py:3201 part/models.py:3215 #: templates/js/translated/part.js:976 msgid "Minimum Cost" msgstr "" -#: part/admin.py:158 part/models.py:3221 part/models.py:3235 +#: part/admin.py:158 part/models.py:3208 part/models.py:3222 #: templates/js/translated/part.js:986 msgid "Maximum Cost" msgstr "" @@ -6592,7 +6589,7 @@ msgid "Category Path" msgstr "" #: part/admin.py:325 part/models.py:420 part/serializers.py:130 -#: part/serializers.py:290 part/serializers.py:428 +#: part/serializers.py:290 part/serializers.py:426 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:20 #: part/templates/part/category.html:138 part/templates/part/category.html:158 #: part/templates/part/category_sidebar.html:9 @@ -6619,13 +6616,13 @@ msgstr "" msgid "Part Revision" msgstr "" -#: part/admin.py:418 part/serializers.py:1367 +#: part/admin.py:418 part/serializers.py:1365 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:423 part/serializers.py:1382 +#: part/admin.py:423 part/serializers.py:1380 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -6719,8 +6716,8 @@ msgstr "" msgid "BOM Valid" msgstr "" -#: part/api.py:1520 part/models.py:1036 part/models.py:3501 part/models.py:4060 -#: part/serializers.py:443 part/serializers.py:1223 +#: part/api.py:1520 part/models.py:1036 part/models.py:3488 part/models.py:4047 +#: part/serializers.py:441 part/serializers.py:1221 #: part/templates/part/part_base.html:267 stock/api.py:780 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 @@ -6746,7 +6743,7 @@ msgstr "" msgid "Default Location" msgstr "" -#: part/bom.py:184 part/serializers.py:926 +#: part/bom.py:184 part/serializers.py:924 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -6755,7 +6752,7 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:89 part/models.py:4061 part/templates/part/category.html:16 +#: part/models.py:89 part/models.py:4048 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -6878,7 +6875,7 @@ msgstr "" msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:995 part/models.py:4116 +#: part/models.py:995 part/models.py:4103 msgid "Part name" msgstr "" @@ -6906,7 +6903,7 @@ msgstr "" msgid "Part category" msgstr "" -#: part/models.py:1052 part/serializers.py:360 +#: part/models.py:1052 msgid "Part revision or version number" msgstr "" @@ -7012,164 +7009,164 @@ msgid "Owner responsible for this part" msgstr "" #: part/models.py:1264 part/templates/part/part_base.html:355 -#: stock/templates/stock/item_base.html:451 +#: stock/templates/stock/item_base.html:447 #: templates/js/translated/part.js:2490 msgid "Last Stocktake" msgstr "" -#: part/models.py:2137 +#: part/models.py:2136 msgid "Sell multiple" msgstr "" -#: part/models.py:3128 +#: part/models.py:3115 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3144 +#: part/models.py:3131 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3145 +#: part/models.py:3132 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3151 +#: part/models.py:3138 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3152 +#: part/models.py:3139 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3158 +#: part/models.py:3145 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3159 +#: part/models.py:3146 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3165 +#: part/models.py:3152 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3166 +#: part/models.py:3153 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3172 +#: part/models.py:3159 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3173 +#: part/models.py:3160 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3179 +#: part/models.py:3166 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3180 +#: part/models.py:3167 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3186 +#: part/models.py:3173 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3187 +#: part/models.py:3174 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3193 +#: part/models.py:3180 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3194 +#: part/models.py:3181 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3200 +#: part/models.py:3187 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3201 +#: part/models.py:3188 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3207 +#: part/models.py:3194 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3208 +#: part/models.py:3195 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3215 +#: part/models.py:3202 msgid "Override minimum cost" msgstr "" -#: part/models.py:3222 +#: part/models.py:3209 msgid "Override maximum cost" msgstr "" -#: part/models.py:3229 +#: part/models.py:3216 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3236 +#: part/models.py:3223 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3242 +#: part/models.py:3229 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3243 +#: part/models.py:3230 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3249 +#: part/models.py:3236 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3250 +#: part/models.py:3237 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3256 +#: part/models.py:3243 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3257 +#: part/models.py:3244 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3263 +#: part/models.py:3250 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3264 +#: part/models.py:3251 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3283 +#: part/models.py:3270 msgid "Part for stocktake" msgstr "" -#: part/models.py:3288 +#: part/models.py:3275 msgid "Item Count" msgstr "" -#: part/models.py:3289 +#: part/models.py:3276 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3297 +#: part/models.py:3284 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3301 part/models.py:3384 +#: part/models.py:3288 part/models.py:3371 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -7181,363 +7178,363 @@ msgstr "" msgid "Date" msgstr "" -#: part/models.py:3302 +#: part/models.py:3289 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3310 +#: part/models.py:3297 msgid "Additional notes" msgstr "" -#: part/models.py:3320 +#: part/models.py:3307 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3326 +#: part/models.py:3313 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3327 +#: part/models.py:3314 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3333 +#: part/models.py:3320 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3334 +#: part/models.py:3321 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3390 templates/InvenTree/settings/settings_staff_js.html:532 +#: part/models.py:3377 templates/InvenTree/settings/settings_staff_js.html:532 msgid "Report" msgstr "" -#: part/models.py:3391 +#: part/models.py:3378 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3396 templates/InvenTree/settings/settings_staff_js.html:539 +#: part/models.py:3383 templates/InvenTree/settings/settings_staff_js.html:539 msgid "Part Count" msgstr "" -#: part/models.py:3397 +#: part/models.py:3384 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3407 +#: part/models.py:3394 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3417 +#: part/models.py:3404 msgid "Part Sale Price Break" msgstr "" -#: part/models.py:3529 +#: part/models.py:3516 msgid "Part Test Template" msgstr "" -#: part/models.py:3555 +#: part/models.py:3542 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3576 part/models.py:3745 +#: part/models.py:3563 part/models.py:3732 msgid "Choices must be unique" msgstr "" -#: part/models.py:3587 +#: part/models.py:3574 msgid "Test templates can only be created for testable parts" msgstr "" -#: part/models.py:3598 +#: part/models.py:3585 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3615 templates/js/translated/part.js:2898 +#: part/models.py:3602 templates/js/translated/part.js:2898 msgid "Test Name" msgstr "" -#: part/models.py:3616 +#: part/models.py:3603 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3622 +#: part/models.py:3609 msgid "Test Key" msgstr "" -#: part/models.py:3623 +#: part/models.py:3610 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3630 +#: part/models.py:3617 msgid "Test Description" msgstr "" -#: part/models.py:3631 +#: part/models.py:3618 msgid "Enter description for this test" msgstr "" -#: part/models.py:3635 report/models.py:208 +#: part/models.py:3622 report/models.py:216 #: templates/js/translated/part.js:2919 #: templates/js/translated/table_filters.js:502 msgid "Enabled" msgstr "" -#: part/models.py:3635 +#: part/models.py:3622 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3640 templates/js/translated/part.js:2927 +#: part/models.py:3627 templates/js/translated/part.js:2927 #: templates/js/translated/table_filters.js:498 msgid "Required" msgstr "" -#: part/models.py:3641 +#: part/models.py:3628 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3646 templates/js/translated/part.js:2935 +#: part/models.py:3633 templates/js/translated/part.js:2935 msgid "Requires Value" msgstr "" -#: part/models.py:3647 +#: part/models.py:3634 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3652 templates/js/translated/part.js:2942 +#: part/models.py:3639 templates/js/translated/part.js:2942 msgid "Requires Attachment" msgstr "" -#: part/models.py:3654 +#: part/models.py:3641 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3660 part/models.py:3804 templates/js/translated/part.js:1643 +#: part/models.py:3647 part/models.py:3791 templates/js/translated/part.js:1643 msgid "Choices" msgstr "" -#: part/models.py:3661 +#: part/models.py:3648 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3693 +#: part/models.py:3680 msgid "Part Parameter Template" msgstr "" -#: part/models.py:3720 +#: part/models.py:3707 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3725 +#: part/models.py:3712 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3762 +#: part/models.py:3749 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3777 +#: part/models.py:3764 msgid "Parameter Name" msgstr "" -#: part/models.py:3784 +#: part/models.py:3771 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3792 +#: part/models.py:3779 msgid "Parameter description" msgstr "" -#: part/models.py:3798 templates/js/translated/part.js:1634 +#: part/models.py:3785 templates/js/translated/part.js:1634 #: templates/js/translated/table_filters.js:837 msgid "Checkbox" msgstr "" -#: part/models.py:3799 +#: part/models.py:3786 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3805 +#: part/models.py:3792 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3839 +#: part/models.py:3826 msgid "Part Parameter" msgstr "" -#: part/models.py:3865 +#: part/models.py:3852 msgid "Parameter cannot be modified - part is locked" msgstr "" -#: part/models.py:3903 +#: part/models.py:3890 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3952 +#: part/models.py:3939 msgid "Parent Part" msgstr "" -#: part/models.py:3960 part/models.py:4068 part/models.py:4069 +#: part/models.py:3947 part/models.py:4055 part/models.py:4056 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3966 +#: part/models.py:3953 msgid "Parameter Value" msgstr "" -#: part/models.py:4016 +#: part/models.py:4003 msgid "Part Category Parameter Template" msgstr "" -#: part/models.py:4075 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:4062 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:4076 +#: part/models.py:4063 msgid "Default Parameter Value" msgstr "" -#: part/models.py:4114 +#: part/models.py:4101 msgid "Part ID or part name" msgstr "" -#: part/models.py:4115 +#: part/models.py:4102 msgid "Unique part ID value" msgstr "" -#: part/models.py:4117 +#: part/models.py:4104 msgid "Part IPN value" msgstr "" -#: part/models.py:4118 +#: part/models.py:4105 msgid "Level" msgstr "" -#: part/models.py:4118 +#: part/models.py:4105 msgid "BOM level" msgstr "" -#: part/models.py:4228 +#: part/models.py:4215 msgid "BOM item cannot be modified - assembly is locked" msgstr "" -#: part/models.py:4235 +#: part/models.py:4222 msgid "BOM item cannot be modified - variant assembly is locked" msgstr "" -#: part/models.py:4245 +#: part/models.py:4232 msgid "Select parent part" msgstr "" -#: part/models.py:4255 +#: part/models.py:4242 msgid "Sub part" msgstr "" -#: part/models.py:4256 +#: part/models.py:4243 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4267 +#: part/models.py:4254 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4273 +#: part/models.py:4260 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4279 +#: part/models.py:4266 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4286 part/templates/part/upload_bom.html:55 +#: part/models.py:4273 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4287 +#: part/models.py:4274 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4294 +#: part/models.py:4281 msgid "BOM item reference" msgstr "" -#: part/models.py:4302 +#: part/models.py:4289 msgid "BOM item notes" msgstr "" -#: part/models.py:4308 +#: part/models.py:4295 msgid "Checksum" msgstr "" -#: part/models.py:4309 +#: part/models.py:4296 msgid "BOM line checksum" msgstr "" -#: part/models.py:4314 templates/js/translated/table_filters.js:181 +#: part/models.py:4301 templates/js/translated/table_filters.js:181 msgid "Validated" msgstr "" -#: part/models.py:4315 +#: part/models.py:4302 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4320 part/templates/part/upload_bom.html:57 +#: part/models.py:4307 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:185 #: templates/js/translated/table_filters.js:218 msgid "Gets inherited" msgstr "" -#: part/models.py:4321 +#: part/models.py:4308 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4327 +#: part/models.py:4314 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4412 stock/models.py:689 +#: part/models.py:4399 stock/models.py:689 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4422 part/models.py:4424 +#: part/models.py:4409 part/models.py:4411 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4561 +#: part/models.py:4554 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4582 +#: part/models.py:4575 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4595 +#: part/models.py:4588 msgid "Parent BOM item" msgstr "" -#: part/models.py:4603 +#: part/models.py:4596 msgid "Substitute part" msgstr "" -#: part/models.py:4619 +#: part/models.py:4612 msgid "Part 1" msgstr "" -#: part/models.py:4627 +#: part/models.py:4620 msgid "Part 2" msgstr "" -#: part/models.py:4628 +#: part/models.py:4621 msgid "Select Related Part" msgstr "" -#: part/models.py:4647 +#: part/models.py:4640 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4652 +#: part/models.py:4645 msgid "Duplicate relationship already exists" msgstr "" @@ -7571,326 +7568,326 @@ msgstr "" msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:434 +#: part/serializers.py:432 msgid "No parts selected" msgstr "" -#: part/serializers.py:444 +#: part/serializers.py:442 msgid "Select category" msgstr "" -#: part/serializers.py:479 +#: part/serializers.py:477 msgid "Original Part" msgstr "" -#: part/serializers.py:480 +#: part/serializers.py:478 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:485 +#: part/serializers.py:483 msgid "Copy Image" msgstr "" -#: part/serializers.py:486 +#: part/serializers.py:484 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:492 part/templates/part/detail.html:293 +#: part/serializers.py:490 part/templates/part/detail.html:293 msgid "Copy BOM" msgstr "" -#: part/serializers.py:493 +#: part/serializers.py:491 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:499 +#: part/serializers.py:497 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:500 +#: part/serializers.py:498 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:506 +#: part/serializers.py:504 msgid "Copy Notes" msgstr "" -#: part/serializers.py:507 +#: part/serializers.py:505 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:525 +#: part/serializers.py:523 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:527 +#: part/serializers.py:525 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:534 +#: part/serializers.py:532 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:535 +#: part/serializers.py:533 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:552 +#: part/serializers.py:550 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:568 +#: part/serializers.py:566 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:578 +#: part/serializers.py:576 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:585 +#: part/serializers.py:583 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:594 +#: part/serializers.py:592 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:605 +#: part/serializers.py:603 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:612 +#: part/serializers.py:610 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:924 +#: part/serializers.py:922 msgid "Revisions" msgstr "" -#: part/serializers.py:929 +#: part/serializers.py:927 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:932 +#: part/serializers.py:930 msgid "Variant Stock" msgstr "" -#: part/serializers.py:962 part/templates/part/copy_part.html:9 +#: part/serializers.py:960 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:474 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:963 +#: part/serializers.py:961 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:969 templates/js/translated/part.js:103 +#: part/serializers.py:967 templates/js/translated/part.js:103 msgid "Initial Stock" msgstr "" -#: part/serializers.py:970 +#: part/serializers.py:968 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:976 +#: part/serializers.py:974 msgid "Supplier Information" msgstr "" -#: part/serializers.py:977 +#: part/serializers.py:975 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:985 +#: part/serializers.py:983 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:986 +#: part/serializers.py:984 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:991 +#: part/serializers.py:989 msgid "Existing Image" msgstr "" -#: part/serializers.py:992 +#: part/serializers.py:990 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:1009 +#: part/serializers.py:1007 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1215 +#: part/serializers.py:1213 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1225 +#: part/serializers.py:1223 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1235 +#: part/serializers.py:1233 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1241 +#: part/serializers.py:1239 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1242 +#: part/serializers.py:1240 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1247 +#: part/serializers.py:1245 msgid "Generate Report" msgstr "" -#: part/serializers.py:1248 +#: part/serializers.py:1246 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1253 +#: part/serializers.py:1251 msgid "Update Parts" msgstr "" -#: part/serializers.py:1254 +#: part/serializers.py:1252 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1262 +#: part/serializers.py:1260 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1368 +#: part/serializers.py:1366 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1375 +#: part/serializers.py:1373 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1383 +#: part/serializers.py:1381 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1390 +#: part/serializers.py:1388 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1419 +#: part/serializers.py:1417 msgid "Update" msgstr "" -#: part/serializers.py:1420 +#: part/serializers.py:1418 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1443 +#: part/serializers.py:1441 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1450 +#: part/serializers.py:1448 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1453 +#: part/serializers.py:1451 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1597 +#: part/serializers.py:1595 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1606 +#: part/serializers.py:1604 msgid "Component Name" msgstr "" -#: part/serializers.py:1609 +#: part/serializers.py:1607 msgid "Component IPN" msgstr "" -#: part/serializers.py:1612 +#: part/serializers.py:1610 msgid "Component Description" msgstr "" -#: part/serializers.py:1618 +#: part/serializers.py:1616 msgid "Select the component part" msgstr "" -#: part/serializers.py:1627 part/templates/part/part_base.html:242 +#: part/serializers.py:1625 part/templates/part/part_base.html:242 #: templates/js/translated/bom.js:1219 msgid "Can Build" msgstr "" -#: part/serializers.py:1858 +#: part/serializers.py:1856 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1866 +#: part/serializers.py:1864 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1867 +#: part/serializers.py:1865 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1872 +#: part/serializers.py:1870 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1873 +#: part/serializers.py:1871 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1878 +#: part/serializers.py:1876 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1879 +#: part/serializers.py:1877 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1884 +#: part/serializers.py:1882 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1885 +#: part/serializers.py:1883 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1922 +#: part/serializers.py:1920 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1923 +#: part/serializers.py:1921 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1955 +#: part/serializers.py:1953 msgid "No part column specified" msgstr "" -#: part/serializers.py:1999 +#: part/serializers.py:1997 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:2002 +#: part/serializers.py:2000 msgid "No matching part found" msgstr "" -#: part/serializers.py:2004 +#: part/serializers.py:2002 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:2013 +#: part/serializers.py:2011 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:2021 +#: part/serializers.py:2019 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:2044 +#: part/serializers.py:2042 msgid "At least one BOM item is required" msgstr "" @@ -8216,7 +8213,7 @@ msgid "Subscribe to notifications for this part" msgstr "" #: part/templates/part/part_base.html:52 -#: stock/templates/stock/item_base.html:62 +#: stock/templates/stock/item_base.html:61 #: stock/templates/stock/location.html:71 templates/js/translated/label.js:136 msgid "Print Label" msgstr "" @@ -8226,7 +8223,7 @@ msgid "Show pricing information" msgstr "" #: part/templates/part/part_base.html:63 -#: stock/templates/stock/item_base.html:110 +#: stock/templates/stock/item_base.html:106 #: stock/templates/stock/location.html:80 msgid "Stock actions" msgstr "" @@ -8297,12 +8294,12 @@ msgid "Required for Orders" msgstr "" #: part/templates/part/part_base.html:225 -#: stock/templates/stock/item_base.html:388 +#: stock/templates/stock/item_base.html:384 msgid "Allocated to Build Orders" msgstr "" #: part/templates/part/part_base.html:234 -#: stock/templates/stock/item_base.html:381 +#: stock/templates/stock/item_base.html:377 msgid "Allocated to Sales Orders" msgstr "" @@ -8322,7 +8319,7 @@ msgid "Latest Serial Number" msgstr "" #: part/templates/part/part_base.html:372 -#: stock/templates/stock/item_base.html:322 +#: stock/templates/stock/item_base.html:318 msgid "Search for serial number" msgstr "" @@ -8449,7 +8446,7 @@ msgid "Edit" msgstr "" #: part/templates/part/prices.html:28 stock/admin.py:252 -#: stock/templates/stock/item_base.html:446 +#: stock/templates/stock/item_base.html:442 #: templates/js/translated/company.js:1703 #: templates/js/translated/company.js:1713 #: templates/js/translated/stock.js:2332 @@ -8604,7 +8601,7 @@ msgstr "" msgid "Part Pricing" msgstr "" -#: plugin/api.py:172 +#: plugin/api.py:174 msgid "Plugin cannot be deleted as it is currently active" msgstr "" @@ -8940,7 +8937,7 @@ msgstr "" msgid "Print a border around each label" msgstr "" -#: plugin/builtin/labels/label_sheet.py:47 report/models.py:307 +#: plugin/builtin/labels/label_sheet.py:47 report/models.py:315 msgid "Landscape" msgstr "" @@ -9012,44 +9009,44 @@ msgstr "" msgid "The Supplier which acts as 'TME'" msgstr "" -#: plugin/installer.py:194 plugin/installer.py:274 +#: plugin/installer.py:199 plugin/installer.py:282 msgid "Only staff users can administer plugins" msgstr "" -#: plugin/installer.py:197 +#: plugin/installer.py:202 msgid "Plugin installation is disabled" msgstr "" -#: plugin/installer.py:241 +#: plugin/installer.py:246 msgid "Installed plugin successfully" msgstr "" -#: plugin/installer.py:246 +#: plugin/installer.py:251 #, python-brace-format msgid "Installed plugin into {path}" msgstr "" -#: plugin/installer.py:265 +#: plugin/installer.py:273 msgid "Plugin was not found in registry" msgstr "" -#: plugin/installer.py:268 +#: plugin/installer.py:276 msgid "Plugin is not a packaged plugin" msgstr "" -#: plugin/installer.py:271 +#: plugin/installer.py:279 msgid "Plugin package name not found" msgstr "" -#: plugin/installer.py:291 +#: plugin/installer.py:299 msgid "Plugin uninstalling is disabled" msgstr "" -#: plugin/installer.py:295 +#: plugin/installer.py:303 msgid "Plugin cannot be uninstalled as it is currently active" msgstr "" -#: plugin/installer.py:308 +#: plugin/installer.py:316 msgid "Uninstalled plugin successfully" msgstr "" @@ -9098,7 +9095,7 @@ msgstr "" msgid "Package Plugin" msgstr "" -#: plugin/models.py:220 report/models.py:474 +#: plugin/models.py:220 report/models.py:482 #: templates/InvenTree/settings/plugin_settings.html:9 #: templates/js/translated/plugin.js:51 msgid "Plugin" @@ -9167,6 +9164,38 @@ msgstr "" msgid "InvenTree Contributors" msgstr "" +#: plugin/samples/integration/user_interface_sample.py:22 +msgid "Enable Part Panels" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:23 +msgid "Enable custom panels for Part views" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:28 +msgid "Enable Purchase Order Panels" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:29 +msgid "Enable custom panels for Purchase Order views" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:34 +msgid "Enable Broken Panels" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:35 +msgid "Enable broken panels for testing" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:40 +msgid "Enable Dynamic Panel" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:41 +msgid "Enable dynamic panels for testing" +msgstr "" + #: plugin/serializers.py:81 msgid "Source URL" msgstr "" @@ -9245,12 +9274,36 @@ msgstr "" msgid "Delete the plugin configuration from the database" msgstr "" +#: plugin/serializers.py:324 +msgid "Plugin Key" +msgstr "" + +#: plugin/serializers.py:328 +msgid "Panel Name" +msgstr "" + +#: plugin/serializers.py:332 +msgid "Panel Title" +msgstr "" + +#: plugin/serializers.py:337 +msgid "Panel Icon" +msgstr "" + +#: plugin/serializers.py:341 +msgid "Panel Content (HTML)" +msgstr "" + +#: plugin/serializers.py:345 +msgid "Panel Source (javascript)" +msgstr "" + #: report/api.py:88 msgid "No valid objects provided to template" msgstr "" -#: report/api.py:103 report/models.py:438 report/serializers.py:98 -#: report/serializers.py:148 templates/js/translated/purchase_order.js:1817 +#: report/api.py:103 report/models.py:446 report/serializers.py:99 +#: report/serializers.py:149 templates/js/translated/purchase_order.js:1817 #: templates/js/translated/return_order.js:353 #: templates/js/translated/sales_order.js:887 #: templates/js/translated/sales_order.js:1047 @@ -9281,7 +9334,11 @@ msgstr "" msgid "Error printing label" msgstr "" -#: report/api.py:375 report/api.py:411 +#: report/api.py:358 +msgid "Report saved at time of printing" +msgstr "" + +#: report/api.py:384 report/api.py:420 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" @@ -9318,135 +9375,143 @@ msgstr "" msgid "Revision number (auto-increments)" msgstr "" -#: report/models.py:202 +#: report/models.py:168 +msgid "Attach to Model on Print" +msgstr "" + +#: report/models.py:170 +msgid "Save report output as an attachment against linked model instance when printing" +msgstr "" + +#: report/models.py:210 msgid "Filename Pattern" msgstr "" -#: report/models.py:203 +#: report/models.py:211 msgid "Pattern for generating filenames" msgstr "" -#: report/models.py:208 +#: report/models.py:216 msgid "Template is enabled" msgstr "" -#: report/models.py:214 +#: report/models.py:222 msgid "Target model type for template" msgstr "" -#: report/models.py:234 +#: report/models.py:242 msgid "Filters" msgstr "" -#: report/models.py:235 +#: report/models.py:243 msgid "Template query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:294 report/models.py:361 +#: report/models.py:302 report/models.py:369 msgid "Template file" msgstr "" -#: report/models.py:302 +#: report/models.py:310 msgid "Page size for PDF reports" msgstr "" -#: report/models.py:308 +#: report/models.py:316 msgid "Render report in landscape orientation" msgstr "" -#: report/models.py:367 +#: report/models.py:375 msgid "Width [mm]" msgstr "" -#: report/models.py:368 +#: report/models.py:376 msgid "Label width, specified in mm" msgstr "" -#: report/models.py:374 +#: report/models.py:382 msgid "Height [mm]" msgstr "" -#: report/models.py:375 +#: report/models.py:383 msgid "Label height, specified in mm" msgstr "" -#: report/models.py:438 +#: report/models.py:446 msgid "Number of items to process" msgstr "" -#: report/models.py:444 +#: report/models.py:452 msgid "Report generation is complete" msgstr "" -#: report/models.py:448 templates/js/translated/build.js:2352 +#: report/models.py:456 templates/js/translated/build.js:2352 msgid "Progress" msgstr "" -#: report/models.py:448 +#: report/models.py:456 msgid "Report generation progress" msgstr "" -#: report/models.py:456 +#: report/models.py:464 msgid "Report Template" msgstr "" -#: report/models.py:463 report/models.py:486 +#: report/models.py:471 report/models.py:494 msgid "Output File" msgstr "" -#: report/models.py:464 report/models.py:487 +#: report/models.py:472 report/models.py:495 msgid "Generated output file" msgstr "" -#: report/models.py:475 +#: report/models.py:483 msgid "Label output plugin" msgstr "" -#: report/models.py:479 +#: report/models.py:487 msgid "Label Template" msgstr "" -#: report/models.py:502 +#: report/models.py:510 msgid "Snippet" msgstr "" -#: report/models.py:503 +#: report/models.py:511 msgid "Report snippet file" msgstr "" -#: report/models.py:510 +#: report/models.py:518 msgid "Snippet file description" msgstr "" -#: report/models.py:528 +#: report/models.py:536 msgid "Asset" msgstr "" -#: report/models.py:529 +#: report/models.py:537 msgid "Report asset file" msgstr "" -#: report/models.py:536 +#: report/models.py:544 msgid "Asset file description" msgstr "" -#: report/serializers.py:91 +#: report/serializers.py:92 msgid "Select report template" msgstr "" -#: report/serializers.py:99 report/serializers.py:149 +#: report/serializers.py:100 report/serializers.py:150 msgid "List of item primary keys to include in the report" msgstr "" -#: report/serializers.py:132 +#: report/serializers.py:133 msgid "Select label template" msgstr "" -#: report/serializers.py:140 +#: report/serializers.py:141 msgid "Printing Plugin" msgstr "" -#: report/serializers.py:141 +#: report/serializers.py:142 msgid "Select plugin to use for label printing" msgstr "" @@ -9517,7 +9582,7 @@ msgstr "" msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report.html:103 stock/models.py:2538 +#: report/templates/report/inventree_test_report.html:103 stock/models.py:2533 msgid "Result" msgstr "" @@ -9598,7 +9663,7 @@ msgid "Customer ID" msgstr "" #: stock/admin.py:206 stock/models.py:829 -#: stock/templates/stock/item_base.html:354 +#: stock/templates/stock/item_base.html:350 msgid "Installed In" msgstr "" @@ -9623,7 +9688,7 @@ msgid "Delete on Deplete" msgstr "" #: stock/admin.py:261 stock/models.py:923 -#: stock/templates/stock/item_base.html:433 +#: stock/templates/stock/item_base.html:429 #: templates/js/translated/stock.js:2316 users/models.py:124 msgid "Expiry Date" msgstr "" @@ -9665,7 +9730,7 @@ msgid "Expiry date after" msgstr "" #: stock/api.py:839 stock/serializers.py:611 -#: stock/templates/stock/item_base.html:439 +#: stock/templates/stock/item_base.html:435 #: templates/js/translated/table_filters.js:448 msgid "Stale" msgstr "" @@ -9715,7 +9780,7 @@ msgid "Stock Locations" msgstr "" #: stock/models.py:185 stock/models.py:972 -#: stock/templates/stock/item_base.html:247 +#: stock/templates/stock/item_base.html:243 msgid "Owner" msgstr "" @@ -9826,7 +9891,7 @@ msgstr "" msgid "Build for this stock item" msgstr "" -#: stock/models.py:892 stock/templates/stock/item_base.html:363 +#: stock/models.py:892 stock/templates/stock/item_base.html:359 msgid "Consumed By" msgstr "" @@ -9891,7 +9956,7 @@ msgstr "" msgid "Serial numbers already exist" msgstr "" -#: stock/models.py:1636 +#: stock/models.py:1636 stock/models.py:2436 msgid "Test template does not exist" msgstr "" @@ -9939,67 +10004,67 @@ msgstr "" msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2337 +#: stock/models.py:2335 msgid "Stock Item Tracking" msgstr "" -#: stock/models.py:2370 +#: stock/models.py:2368 msgid "Entry notes" msgstr "" -#: stock/models.py:2410 +#: stock/models.py:2408 msgid "Stock Item Test Result" msgstr "" -#: stock/models.py:2443 +#: stock/models.py:2439 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2448 +#: stock/models.py:2443 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2453 +#: stock/models.py:2448 msgid "Invalid value for this test" msgstr "" -#: stock/models.py:2538 +#: stock/models.py:2533 msgid "Test result" msgstr "" -#: stock/models.py:2545 +#: stock/models.py:2540 msgid "Test output value" msgstr "" -#: stock/models.py:2553 stock/serializers.py:245 +#: stock/models.py:2548 stock/serializers.py:245 msgid "Test result attachment" msgstr "" -#: stock/models.py:2557 +#: stock/models.py:2552 msgid "Test notes" msgstr "" -#: stock/models.py:2565 templates/js/translated/stock.js:1633 +#: stock/models.py:2560 templates/js/translated/stock.js:1633 msgid "Test station" msgstr "" -#: stock/models.py:2566 +#: stock/models.py:2561 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2572 +#: stock/models.py:2567 msgid "Started" msgstr "" -#: stock/models.py:2573 +#: stock/models.py:2568 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2579 +#: stock/models.py:2574 msgid "Finished" msgstr "" -#: stock/models.py:2580 +#: stock/models.py:2575 msgid "The timestamp of the test finish" msgstr "" @@ -10059,7 +10124,7 @@ msgstr "" msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:459 stock/templates/stock/item_base.html:193 +#: stock/serializers.py:459 stock/templates/stock/item_base.html:189 msgid "Parent Item" msgstr "" @@ -10071,7 +10136,7 @@ msgstr "" msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:603 stock/templates/stock/item_base.html:437 +#: stock/serializers.py:603 stock/templates/stock/item_base.html:433 #: templates/js/translated/table_filters.js:442 users/models.py:174 msgid "Expired" msgstr "" @@ -10410,7 +10475,7 @@ msgstr "" msgid "Test Data" msgstr "" -#: stock/templates/stock/item.html:85 stock/templates/stock/item_base.html:65 +#: stock/templates/stock/item.html:85 msgid "Test Report" msgstr "" @@ -10450,200 +10515,204 @@ msgstr "" msgid "Scan to Location" msgstr "" -#: stock/templates/stock/item_base.html:59 +#: stock/templates/stock/item_base.html:58 #: stock/templates/stock/location.html:67 #: templates/js/translated/filters.js:434 msgid "Printing actions" msgstr "" -#: stock/templates/stock/item_base.html:75 +#: stock/templates/stock/item_base.html:63 templates/js/translated/report.js:49 +msgid "Print Report" +msgstr "" + +#: stock/templates/stock/item_base.html:71 msgid "Stock adjustment actions" msgstr "" -#: stock/templates/stock/item_base.html:79 +#: stock/templates/stock/item_base.html:75 #: stock/templates/stock/location.html:87 templates/js/translated/stock.js:1909 msgid "Count stock" msgstr "" -#: stock/templates/stock/item_base.html:81 +#: stock/templates/stock/item_base.html:77 #: templates/js/translated/stock.js:1891 msgid "Add stock" msgstr "" -#: stock/templates/stock/item_base.html:82 +#: stock/templates/stock/item_base.html:78 #: templates/js/translated/stock.js:1900 msgid "Remove stock" msgstr "" -#: stock/templates/stock/item_base.html:85 +#: stock/templates/stock/item_base.html:81 msgid "Serialize stock" msgstr "" -#: stock/templates/stock/item_base.html:88 +#: stock/templates/stock/item_base.html:84 #: stock/templates/stock/location.html:93 templates/js/translated/stock.js:1918 msgid "Transfer stock" msgstr "" -#: stock/templates/stock/item_base.html:91 +#: stock/templates/stock/item_base.html:87 #: templates/js/translated/stock.js:1973 msgid "Assign to customer" msgstr "" -#: stock/templates/stock/item_base.html:94 +#: stock/templates/stock/item_base.html:90 msgid "Return to stock" msgstr "" -#: stock/templates/stock/item_base.html:97 +#: stock/templates/stock/item_base.html:93 msgid "Uninstall stock item" msgstr "" -#: stock/templates/stock/item_base.html:97 +#: stock/templates/stock/item_base.html:93 msgid "Uninstall" msgstr "" -#: stock/templates/stock/item_base.html:101 +#: stock/templates/stock/item_base.html:97 msgid "Install stock item" msgstr "" -#: stock/templates/stock/item_base.html:101 +#: stock/templates/stock/item_base.html:97 msgid "Install" msgstr "" -#: stock/templates/stock/item_base.html:115 +#: stock/templates/stock/item_base.html:111 msgid "Convert to variant" msgstr "" -#: stock/templates/stock/item_base.html:118 +#: stock/templates/stock/item_base.html:114 msgid "Duplicate stock item" msgstr "" -#: stock/templates/stock/item_base.html:120 +#: stock/templates/stock/item_base.html:116 msgid "Edit stock item" msgstr "" -#: stock/templates/stock/item_base.html:123 +#: stock/templates/stock/item_base.html:119 msgid "Delete stock item" msgstr "" -#: stock/templates/stock/item_base.html:169 templates/InvenTree/search.html:139 +#: stock/templates/stock/item_base.html:165 templates/InvenTree/search.html:139 #: templates/js/translated/build.js:2298 templates/navbar.html:38 msgid "Build" msgstr "Izdelava" -#: stock/templates/stock/item_base.html:211 +#: stock/templates/stock/item_base.html:207 msgid "No manufacturer set" msgstr "" -#: stock/templates/stock/item_base.html:251 +#: stock/templates/stock/item_base.html:247 msgid "You are not in the list of owners of this item. This stock item cannot be edited." msgstr "" -#: stock/templates/stock/item_base.html:252 +#: stock/templates/stock/item_base.html:248 #: stock/templates/stock/location.html:146 msgid "Read only" msgstr "" -#: stock/templates/stock/item_base.html:265 +#: stock/templates/stock/item_base.html:261 msgid "This stock item is unavailable" msgstr "" -#: stock/templates/stock/item_base.html:271 +#: stock/templates/stock/item_base.html:267 msgid "This stock item is in production and cannot be edited." msgstr "" -#: stock/templates/stock/item_base.html:272 +#: stock/templates/stock/item_base.html:268 msgid "Edit the stock item from the build view." msgstr "" -#: stock/templates/stock/item_base.html:287 +#: stock/templates/stock/item_base.html:283 msgid "This stock item is allocated to Sales Order" msgstr "" -#: stock/templates/stock/item_base.html:295 +#: stock/templates/stock/item_base.html:291 msgid "This stock item is allocated to Build Order" msgstr "" -#: stock/templates/stock/item_base.html:311 +#: stock/templates/stock/item_base.html:307 msgid "This stock item is serialized. It has a unique serial number and the quantity cannot be adjusted" msgstr "" -#: stock/templates/stock/item_base.html:317 +#: stock/templates/stock/item_base.html:313 msgid "previous page" msgstr "" -#: stock/templates/stock/item_base.html:317 +#: stock/templates/stock/item_base.html:313 msgid "Navigate to previous serial number" msgstr "" -#: stock/templates/stock/item_base.html:326 +#: stock/templates/stock/item_base.html:322 msgid "next page" msgstr "" -#: stock/templates/stock/item_base.html:326 +#: stock/templates/stock/item_base.html:322 msgid "Navigate to next serial number" msgstr "" -#: stock/templates/stock/item_base.html:398 +#: stock/templates/stock/item_base.html:394 #: templates/js/translated/build.js:2555 msgid "No location set" msgstr "" -#: stock/templates/stock/item_base.html:413 +#: stock/templates/stock/item_base.html:409 msgid "Tests" msgstr "" -#: stock/templates/stock/item_base.html:419 +#: stock/templates/stock/item_base.html:415 msgid "This stock item has not passed all required tests" msgstr "" -#: stock/templates/stock/item_base.html:437 +#: stock/templates/stock/item_base.html:433 #, python-format msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:439 +#: stock/templates/stock/item_base.html:435 #, python-format msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:455 +#: stock/templates/stock/item_base.html:451 msgid "No stocktake performed" msgstr "" -#: stock/templates/stock/item_base.html:504 +#: stock/templates/stock/item_base.html:500 #: templates/js/translated/stock.js:2038 msgid "stock item" msgstr "" -#: stock/templates/stock/item_base.html:527 +#: stock/templates/stock/item_base.html:523 msgid "Edit Stock Status" msgstr "" -#: stock/templates/stock/item_base.html:536 +#: stock/templates/stock/item_base.html:532 msgid "Stock Item QR Code" msgstr "" -#: stock/templates/stock/item_base.html:547 +#: stock/templates/stock/item_base.html:543 msgid "Link Barcode to Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:611 +#: stock/templates/stock/item_base.html:607 msgid "Select one of the part variants listed below." msgstr "" -#: stock/templates/stock/item_base.html:614 +#: stock/templates/stock/item_base.html:610 msgid "Warning" msgstr "" -#: stock/templates/stock/item_base.html:615 +#: stock/templates/stock/item_base.html:611 msgid "This action cannot be easily undone" msgstr "" -#: stock/templates/stock/item_base.html:623 +#: stock/templates/stock/item_base.html:619 msgid "Convert Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:656 +#: stock/templates/stock/item_base.html:652 msgid "Return to Stock" msgstr "" @@ -11310,7 +11379,7 @@ msgid "Delete Location Type" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:503 -#: templates/InvenTree/settings/stock.html:38 +#: templates/InvenTree/settings/stock.html:39 msgid "New Location Type" msgstr "" @@ -11367,7 +11436,7 @@ msgstr "" msgid "Stock Settings" msgstr "" -#: templates/InvenTree/settings/stock.html:34 +#: templates/InvenTree/settings/stock.html:35 msgid "Stock Location Types" msgstr "" @@ -11852,23 +11921,23 @@ msgstr "" msgid "Barcode Identifier" msgstr "" -#: templates/base.html:103 +#: templates/base.html:102 msgid "Server Restart Required" msgstr "" -#: templates/base.html:106 +#: templates/base.html:105 msgid "A configuration option has been changed which requires a server restart" msgstr "" -#: templates/base.html:106 templates/base.html:116 +#: templates/base.html:105 templates/base.html:115 msgid "Contact your system administrator for further information" msgstr "" -#: templates/base.html:113 +#: templates/base.html:112 msgid "Pending Database Migrations" msgstr "" -#: templates/base.html:116 +#: templates/base.html:115 msgid "There are pending database migrations which require attention" msgstr "" @@ -13946,10 +14015,6 @@ msgstr "" msgid "Delete line item" msgstr "" -#: templates/js/translated/report.js:49 -msgid "Print Report" -msgstr "" - #: templates/js/translated/report.js:68 msgid "Report print successful" msgstr "" diff --git a/src/backend/InvenTree/locale/sr/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/sr/LC_MESSAGES/django.po index 4c07e4fbcb5e..86aaf65ea3e2 100644 --- a/src/backend/InvenTree/locale/sr/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/sr/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-08-29 07:07+0000\n" -"PO-Revision-Date: 2024-08-29 07:10\n" +"POT-Creation-Date: 2024-09-16 00:37+0000\n" +"PO-Revision-Date: 2024-09-16 00:40\n" "Last-Translator: \n" "Language-Team: Serbian (Latin)\n" "Language: sr_CS\n" @@ -65,9 +65,9 @@ msgstr "Unesite datum" #: 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:59 -#: part/models.py:3309 part/templates/part/part_sidebar.html:65 +#: part/models.py:3296 part/templates/part/part_sidebar.html:65 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/admin.py:231 stock/models.py:2369 stock/models.py:2557 +#: stock/admin.py:231 stock/models.py:2367 stock/models.py:2552 #: stock/serializers.py:705 stock/serializers.py:863 stock/serializers.py:989 #: stock/serializers.py:1039 stock/serializers.py:1350 #: stock/serializers.py:1439 stock/serializers.py:1604 @@ -364,7 +364,7 @@ msgstr "Kineski (Tradicionalni)" msgid "[{site_name}] Log in to the app" msgstr "" -#: InvenTree/magic_login.py:38 InvenTree/serializers.py:413 +#: InvenTree/magic_login.py:38 InvenTree/serializers.py:416 #: company/models.py:133 company/templates/company/company_base.html:138 #: templates/InvenTree/settings/user.html:49 #: templates/js/translated/company.js:677 @@ -419,9 +419,9 @@ msgstr "Dvostruka imena ne mogu postojati pod istom nadredjenom grupom" msgid "Invalid choice" msgstr "Nevažeći izvor" -#: InvenTree/models.py:767 common/models.py:2704 common/models.py:3131 -#: common/models.py:3351 common/serializers.py:439 company/models.py:590 -#: machine/models.py:24 part/models.py:995 part/models.py:3776 +#: InvenTree/models.py:767 common/models.py:2705 common/models.py:3132 +#: common/models.py:3352 common/serializers.py:455 company/models.py:590 +#: machine/models.py:24 part/models.py:995 part/models.py:3763 #: plugin/models.py:51 report/models.py:149 stock/models.py:82 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -446,10 +446,10 @@ msgstr "Ime" #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 order/models.py:289 #: order/models.py:1406 part/admin.py:305 part/admin.py:411 part/models.py:1018 -#: part/models.py:3791 part/templates/part/category.html:79 +#: part/models.py:3778 part/templates/part/category.html:79 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:155 -#: report/models.py:509 report/models.py:535 +#: report/models.py:517 report/models.py:543 #: report/templates/report/inventree_build_order_report.html:117 #: stock/admin.py:54 stock/models.py:88 stock/templates/stock/location.html:122 #: templates/InvenTree/settings/notifications.html:19 @@ -517,12 +517,12 @@ msgstr "Greška servera" msgid "An error has been logged by the server." msgstr "Server je zabležio grešku." -#: InvenTree/serializers.py:63 part/models.py:4400 +#: InvenTree/serializers.py:63 part/models.py:4387 msgid "Must be a valid number" msgstr "Mora biti važeći broj" #: InvenTree/serializers.py:100 company/models.py:183 -#: company/templates/company/company_base.html:112 part/models.py:3127 +#: company/templates/company/company_base.html:112 part/models.py:3114 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -536,43 +536,43 @@ msgstr "Odaberite valutu među dostupnim opcijama" msgid "Username" msgstr "" -#: InvenTree/serializers.py:407 templates/InvenTree/settings/user.html:37 +#: InvenTree/serializers.py:408 templates/InvenTree/settings/user.html:37 msgid "First Name" msgstr "" -#: InvenTree/serializers.py:407 +#: InvenTree/serializers.py:408 msgid "First name of the user" msgstr "" -#: InvenTree/serializers.py:410 templates/InvenTree/settings/user.html:41 +#: InvenTree/serializers.py:412 templates/InvenTree/settings/user.html:41 msgid "Last Name" msgstr "" -#: InvenTree/serializers.py:410 +#: InvenTree/serializers.py:412 msgid "Last name of the user" msgstr "" -#: InvenTree/serializers.py:413 +#: InvenTree/serializers.py:416 msgid "Email address of the user" msgstr "" -#: InvenTree/serializers.py:438 +#: InvenTree/serializers.py:441 msgid "Staff" msgstr "" -#: InvenTree/serializers.py:438 +#: InvenTree/serializers.py:441 msgid "Does this user have staff permissions" msgstr "" -#: InvenTree/serializers.py:441 +#: InvenTree/serializers.py:445 msgid "Superuser" msgstr "" -#: InvenTree/serializers.py:441 +#: InvenTree/serializers.py:445 msgid "Is this user a superuser" msgstr "" -#: InvenTree/serializers.py:444 common/models.py:2709 company/models.py:160 +#: InvenTree/serializers.py:449 common/models.py:2710 company/models.py:160 #: company/models.py:798 machine/models.py:39 part/admin.py:88 #: part/models.py:1201 plugin/models.py:66 #: templates/js/translated/company.js:523 @@ -585,89 +585,89 @@ msgstr "" msgid "Active" msgstr "" -#: InvenTree/serializers.py:444 +#: InvenTree/serializers.py:449 msgid "Is this user account active" msgstr "" -#: InvenTree/serializers.py:462 +#: InvenTree/serializers.py:467 msgid "You do not have permission to change this user role." msgstr "Nemate dozvolu za promenu ove korisničke uloge." -#: InvenTree/serializers.py:474 +#: InvenTree/serializers.py:503 msgid "Only superusers can create new users" msgstr "Samo superkorisnici mogu kreirati nove korisnike" -#: InvenTree/serializers.py:493 +#: InvenTree/serializers.py:522 msgid "Your account has been created." msgstr "" -#: InvenTree/serializers.py:495 +#: InvenTree/serializers.py:524 msgid "Please use the password reset function to login" msgstr "" -#: InvenTree/serializers.py:502 +#: InvenTree/serializers.py:531 msgid "Welcome to InvenTree" msgstr "" -#: InvenTree/serializers.py:560 +#: InvenTree/serializers.py:589 msgid "Invalid value" msgstr "Nevažeća vrednost" -#: InvenTree/serializers.py:580 importer/models.py:64 +#: InvenTree/serializers.py:609 importer/models.py:64 msgid "Data File" msgstr "Datoteka" -#: InvenTree/serializers.py:581 +#: InvenTree/serializers.py:610 msgid "Select data file for upload" msgstr "Odaberite datoteku za učitavanje" -#: InvenTree/serializers.py:598 +#: InvenTree/serializers.py:627 msgid "Unsupported file type" msgstr "Nije podržan tip datoteke" -#: InvenTree/serializers.py:604 +#: InvenTree/serializers.py:633 msgid "File is too large" msgstr "Prevelika datoteka" -#: InvenTree/serializers.py:625 +#: InvenTree/serializers.py:654 msgid "No columns found in file" msgstr "Nisu pronađene kolone podataka u datoteci" -#: InvenTree/serializers.py:628 +#: InvenTree/serializers.py:657 msgid "No data rows found in file" msgstr "Nisu pronađeni redovi podataka u datoteci" -#: InvenTree/serializers.py:740 +#: InvenTree/serializers.py:769 msgid "No data rows provided" msgstr "Nisu navedeni redovi podataka" -#: InvenTree/serializers.py:743 +#: InvenTree/serializers.py:772 msgid "No data columns supplied" msgstr "Nisu obezbeđene kolone podataka" -#: InvenTree/serializers.py:809 +#: InvenTree/serializers.py:838 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "Nedostaje potrebna kolona: '{name}'" -#: InvenTree/serializers.py:818 +#: InvenTree/serializers.py:847 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "Duplicirana kolona: '{col}'" -#: InvenTree/serializers.py:857 +#: InvenTree/serializers.py:886 msgid "Remote Image" msgstr "Udaljena slika" -#: InvenTree/serializers.py:858 +#: InvenTree/serializers.py:887 msgid "URL of remote image file" msgstr "URL udaljene slike" -#: InvenTree/serializers.py:876 +#: InvenTree/serializers.py:905 msgid "Downloading images from remote URL is not enabled" msgstr "Preuzimanje slika s udaljenog URL-a nije omogućeno" -#: InvenTree/status.py:65 part/serializers.py:1267 +#: InvenTree/status.py:65 part/serializers.py:1265 msgid "Background worker check failed" msgstr "Provera pozadinskog radnika nije uspjela" @@ -759,7 +759,7 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:319 build/serializers.py:1332 part/models.py:4278 +#: build/api.py:319 build/serializers.py:1332 part/models.py:4265 #: templates/js/translated/bom.js:997 templates/js/translated/bom.js:1037 #: templates/js/translated/build.js:2705 #: templates/js/translated/table_filters.js:197 @@ -767,7 +767,7 @@ msgstr "" msgid "Consumable" msgstr "" -#: build/api.py:320 build/serializers.py:1333 part/models.py:4272 +#: build/api.py:320 build/serializers.py:1333 part/models.py:4259 #: part/templates/part/upload_bom.html:58 templates/js/translated/bom.js:1001 #: templates/js/translated/bom.js:1028 templates/js/translated/build.js:2696 #: templates/js/translated/table_filters.js:193 @@ -777,7 +777,7 @@ msgid "Optional" msgstr "" #: build/api.py:321 common/models.py:1491 part/admin.py:91 part/admin.py:428 -#: part/models.py:1166 part/serializers.py:1596 +#: part/models.py:1166 part/serializers.py:1594 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:337 #: templates/js/translated/table_filters.js:729 @@ -816,7 +816,7 @@ msgstr "" msgid "Available" msgstr "" -#: build/models.py:87 build/templates/build/build_base.html:9 +#: build/models.py:88 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_report.html:105 #: stock/serializers.py:85 templates/email/build_order_completed.html:16 @@ -825,7 +825,7 @@ msgstr "" msgid "Build Order" msgstr "Nalog za izradu" -#: build/models.py:88 build/templates/build/build_base.html:13 +#: build/models.py:89 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:111 #: order/templates/order/so_sidebar.html:13 @@ -866,7 +866,7 @@ msgstr "Reference naloga za pravljenje" #: build/models.py:243 build/serializers.py:1331 order/models.py:468 #: order/models.py:979 order/models.py:1366 order/models.py:2128 -#: part/admin.py:414 part/models.py:4293 part/templates/part/upload_bom.html:54 +#: part/admin.py:414 part/models.py:4280 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 @@ -892,11 +892,11 @@ msgstr "" #: build/templates/build/build_base.html:105 #: build/templates/build/detail.html:29 company/models.py:1043 order/api.py:761 #: order/models.py:1496 order/models.py:1651 order/models.py:1652 -#: part/api.py:1506 part/api.py:1806 part/models.py:419 part/models.py:3138 -#: part/models.py:3282 part/models.py:3430 part/models.py:3451 -#: part/models.py:3473 part/models.py:3609 part/models.py:3951 -#: part/models.py:4114 part/models.py:4244 part/models.py:4602 -#: part/serializers.py:1213 part/serializers.py:1857 +#: part/api.py:1506 part/api.py:1806 part/models.py:419 part/models.py:3125 +#: part/models.py:3269 part/models.py:3417 part/models.py:3438 +#: part/models.py:3460 part/models.py:3596 part/models.py:3938 +#: part/models.py:4101 part/models.py:4231 part/models.py:4595 +#: part/serializers.py:1211 part/serializers.py:1855 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -1063,12 +1063,12 @@ msgstr "" #: order/templates/order/return_order_base.html:148 #: order/templates/order/sales_order_base.html:187 #: part/templates/part/part_base.html:399 stock/models.py:859 -#: stock/templates/stock/item_base.html:200 +#: stock/templates/stock/item_base.html:196 #: templates/js/translated/company.js:1019 msgid "External Link" msgstr "" -#: build/models.py:378 common/models.py:3272 part/models.py:1070 +#: build/models.py:378 common/models.py:3273 part/models.py:1070 #: stock/models.py:859 msgid "Link to external URL" msgstr "Link za eksterni URL" @@ -1110,7 +1110,7 @@ msgstr "" msgid "A build order has been completed" msgstr "" -#: build/models.py:968 build/models.py:1056 +#: build/models.py:968 build/models.py:1057 msgid "No build output specified" msgstr "" @@ -1122,37 +1122,37 @@ msgstr "" msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:1060 build/serializers.py:279 build/serializers.py:328 +#: build/models.py:1061 build/serializers.py:279 build/serializers.py:328 #: build/serializers.py:959 order/models.py:565 order/serializers.py:500 -#: order/serializers.py:666 part/serializers.py:1590 part/serializers.py:2019 +#: order/serializers.py:666 part/serializers.py:1588 part/serializers.py:2017 #: stock/models.py:704 stock/models.py:1515 stock/serializers.py:676 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:1065 build/serializers.py:284 +#: build/models.py:1066 build/serializers.py:284 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1125 build/serializers.py:607 +#: build/models.py:1126 build/serializers.py:607 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "" -#: build/models.py:1466 +#: build/models.py:1477 msgid "Build Order Line Item" msgstr "" -#: build/models.py:1491 +#: build/models.py:1502 msgid "Build object" msgstr "" -#: build/models.py:1505 build/models.py:1761 build/serializers.py:266 +#: build/models.py:1516 build/models.py:1775 build/serializers.py:266 #: build/serializers.py:313 build/serializers.py:1339 #: build/templates/build/build_base.html:110 -#: build/templates/build/detail.html:34 common/models.py:2581 +#: build/templates/build/detail.html:34 common/models.py:2582 #: order/models.py:1349 order/models.py:2034 order/serializers.py:1464 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:413 -#: part/forms.py:48 part/models.py:3296 part/models.py:4266 +#: part/forms.py:48 part/models.py:3283 part/models.py:4253 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1163,9 +1163,9 @@ msgstr "" #: report/templates/report/inventree_test_report.html:90 #: report/templates/report/inventree_test_report.html:169 stock/admin.py:160 #: stock/serializers.py:128 stock/serializers.py:168 stock/serializers.py:667 -#: stock/templates/stock/item_base.html:287 -#: stock/templates/stock/item_base.html:295 -#: stock/templates/stock/item_base.html:342 +#: stock/templates/stock/item_base.html:283 +#: stock/templates/stock/item_base.html:291 +#: stock/templates/stock/item_base.html:338 #: templates/email/build_order_completed.html:18 #: templates/js/translated/barcode.js:579 templates/js/translated/bom.js:771 #: templates/js/translated/bom.js:981 templates/js/translated/build.js:525 @@ -1194,41 +1194,41 @@ msgstr "" msgid "Quantity" msgstr "" -#: build/models.py:1506 +#: build/models.py:1517 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1586 +#: build/models.py:1597 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1595 +#: build/models.py:1606 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1605 order/models.py:1985 +#: build/models.py:1616 order/models.py:1985 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1611 order/models.py:1988 +#: build/models.py:1622 order/models.py:1988 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1617 +#: build/models.py:1628 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1676 +#: build/models.py:1687 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1748 build/serializers.py:939 order/serializers.py:1301 +#: build/models.py:1762 build/serializers.py:939 order/serializers.py:1301 #: order/serializers.py:1322 stock/models.py:381 stock/serializers.py:94 #: stock/serializers.py:770 stock/serializers.py:1288 stock/serializers.py:1400 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 -#: stock/templates/stock/item_base.html:194 +#: stock/templates/stock/item_base.html:190 #: templates/js/translated/build.js:1921 #: templates/js/translated/sales_order.js:301 #: templates/js/translated/sales_order.js:1234 @@ -1241,19 +1241,19 @@ msgstr "" msgid "Stock Item" msgstr "" -#: build/models.py:1749 +#: build/models.py:1763 msgid "Source stock item" msgstr "" -#: build/models.py:1762 +#: build/models.py:1776 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1770 +#: build/models.py:1784 msgid "Install into" msgstr "" -#: build/models.py:1771 +#: build/models.py:1785 msgid "Destination stock item" msgstr "" @@ -1262,7 +1262,7 @@ msgid "Build Level" msgstr "" #: build/serializers.py:115 build/serializers.py:1234 build/serializers.py:1323 -#: part/admin.py:41 part/admin.py:408 part/models.py:4116 part/stocktake.py:219 +#: part/admin.py:41 part/admin.py:408 part/models.py:4103 part/stocktake.py:219 #: stock/admin.py:157 msgid "Part Name" msgstr "" @@ -1323,10 +1323,10 @@ msgid "Enter serial numbers for build outputs" msgstr "" #: build/serializers.py:359 build/serializers.py:500 build/serializers.py:572 -#: order/serializers.py:655 order/serializers.py:778 order/serializers.py:1789 -#: part/serializers.py:1233 stock/serializers.py:103 stock/serializers.py:698 +#: order/serializers.py:655 order/serializers.py:778 order/serializers.py:1797 +#: part/serializers.py:1231 stock/serializers.py:103 stock/serializers.py:698 #: stock/serializers.py:858 stock/serializers.py:984 stock/serializers.py:1432 -#: stock/serializers.py:1688 stock/templates/stock/item_base.html:394 +#: stock/serializers.py:1688 stock/templates/stock/item_base.html:390 #: templates/js/translated/barcode.js:578 #: templates/js/translated/barcode.js:826 templates/js/translated/build.js:1035 #: templates/js/translated/build.js:1177 templates/js/translated/build.js:2547 @@ -1390,7 +1390,7 @@ msgstr "" #: build/templates/build/detail.html:62 order/models.py:477 #: order/models.py:1003 order/models.py:2152 order/serializers.py:687 #: stock/admin.py:165 stock/serializers.py:1035 stock/serializers.py:1576 -#: stock/templates/stock/item_base.html:427 +#: stock/templates/stock/item_base.html:423 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2366 #: templates/js/translated/purchase_order.js:1371 #: templates/js/translated/purchase_order.js:1792 @@ -1522,7 +1522,7 @@ msgstr "" msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:1030 order/serializers.py:1614 +#: build/serializers.py:1030 order/serializers.py:1622 msgid "Allocation items must be provided" msgstr "" @@ -1590,7 +1590,7 @@ msgstr "" #: build/serializers.py:1230 company/models.py:849 #: company/templates/company/supplier_part.html:160 order/serializers.py:691 #: stock/admin.py:229 stock/models.py:822 stock/serializers.py:1586 -#: stock/templates/stock/item_base.html:240 +#: stock/templates/stock/item_base.html:236 #: templates/js/translated/company.js:1646 #: templates/js/translated/purchase_order.js:1169 #: templates/js/translated/purchase_order.js:1332 @@ -1600,12 +1600,12 @@ msgid "Packaging" msgstr "" #: build/serializers.py:1233 part/admin.py:39 part/admin.py:398 -#: part/models.py:4115 part/stocktake.py:218 stock/admin.py:153 +#: part/models.py:4102 part/stocktake.py:218 stock/admin.py:153 msgid "Part ID" msgstr "" #: build/serializers.py:1235 build/serializers.py:1324 part/admin.py:402 -#: part/models.py:4117 +#: part/models.py:4104 msgid "Part IPN" msgstr "" @@ -1625,7 +1625,7 @@ msgstr "" #: build/serializers.py:1243 #: report/templates/report/inventree_return_order_report.html:25 #: report/templates/report/inventree_test_report.html:88 stock/models.py:849 -#: stock/serializers.py:152 stock/templates/stock/item_base.html:311 +#: stock/serializers.py:152 stock/templates/stock/item_base.html:307 #: templates/js/translated/build.js:523 templates/js/translated/build.js:1543 #: templates/js/translated/build.js:2530 #: templates/js/translated/model_renderers.js:231 @@ -1644,7 +1644,7 @@ msgstr "" msgid "Allocated Quantity" msgstr "" -#: build/serializers.py:1257 stock/templates/stock/item_base.html:340 +#: build/serializers.py:1257 stock/templates/stock/item_base.html:336 msgid "Available Quantity" msgstr "" @@ -1667,13 +1667,13 @@ msgstr "" msgid "Inherited" msgstr "" -#: build/serializers.py:1337 part/models.py:4326 +#: build/serializers.py:1337 part/models.py:4313 #: part/templates/part/upload_bom.html:56 templates/js/translated/bom.js:1046 #: templates/js/translated/build.js:2714 msgid "Allow Variants" msgstr "" -#: build/serializers.py:1341 part/models.py:4124 part/models.py:4594 +#: build/serializers.py:1341 part/models.py:4111 part/models.py:4587 #: stock/api.py:793 msgid "BOM Item" msgstr "" @@ -1684,7 +1684,7 @@ msgid "Allocated Stock" msgstr "" #: build/serializers.py:1355 order/serializers.py:1179 part/admin.py:132 -#: part/bom.py:186 part/serializers.py:920 part/serializers.py:1623 +#: part/bom.py:186 part/serializers.py:918 part/serializers.py:1621 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 #: templates/js/translated/build.js:2807 templates/js/translated/part.js:712 #: templates/js/translated/part.js:2155 @@ -1692,13 +1692,13 @@ msgstr "" msgid "On Order" msgstr "" -#: build/serializers.py:1360 order/serializers.py:1180 part/serializers.py:1625 +#: build/serializers.py:1360 order/serializers.py:1180 part/serializers.py:1623 #: templates/js/translated/build.js:2811 #: templates/js/translated/table_filters.js:367 msgid "In Production" msgstr "" -#: build/serializers.py:1365 part/bom.py:185 part/serializers.py:1650 +#: build/serializers.py:1365 part/bom.py:185 part/serializers.py:1648 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" @@ -1716,7 +1716,7 @@ msgstr "" msgid "Total Available Stock" msgstr "" -#: build/serializers.py:1372 part/serializers.py:927 +#: build/serializers.py:1372 part/serializers.py:925 msgid "External Stock" msgstr "" @@ -1745,7 +1745,7 @@ msgstr "Otkazano" #: importer/status_codes.py:27 order/status_codes.py:15 #: order/status_codes.py:50 order/status_codes.py:81 #: order/templates/order/order_base.html:163 -#: order/templates/order/sales_order_base.html:168 report/models.py:443 +#: order/templates/order/sales_order_base.html:168 report/models.py:451 msgid "Complete" msgstr "Gotovo" @@ -1849,9 +1849,6 @@ msgid "Delete Build" msgstr "" #: build/templates/build/build_base.html:87 -msgid "Isueue Build" -msgstr "" - #: build/templates/build/build_base.html:88 msgid "Issue Build" msgstr "" @@ -1931,7 +1928,7 @@ msgstr "" #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_report.html:135 #: report/templates/report/inventree_sales_order_report.html:14 -#: stock/templates/stock/item_base.html:369 +#: stock/templates/stock/item_base.html:365 #: templates/email/overdue_sales_order.html:15 #: templates/js/translated/pricing.js:929 #: templates/js/translated/sales_order.js:805 @@ -1991,7 +1988,7 @@ msgid "Allocated Parts" msgstr "" #: build/templates/build/detail.html:80 stock/admin.py:163 -#: stock/templates/stock/item_base.html:162 +#: stock/templates/stock/item_base.html:158 #: templates/js/translated/build.js:1556 #: templates/js/translated/model_renderers.js:242 #: templates/js/translated/purchase_order.js:1326 @@ -2148,19 +2145,19 @@ msgstr "" msgid "Test Statistics" msgstr "" -#: common/api.py:692 +#: common/api.py:725 msgid "Is Link" msgstr "" -#: common/api.py:700 +#: common/api.py:733 msgid "Is File" msgstr "" -#: common/api.py:743 +#: common/api.py:776 msgid "User does not have permission to delete these attachments" msgstr "" -#: common/api.py:760 +#: common/api.py:793 msgid "User does not have permission to delete this attachment" msgstr "" @@ -2352,8 +2349,8 @@ msgstr "" #: common/models.py:1297 common/models.py:1353 common/models.py:1366 #: common/models.py:1374 common/models.py:1383 common/models.py:1392 -#: common/models.py:1629 common/models.py:1651 common/models.py:1766 -#: common/models.py:2148 +#: common/models.py:1629 common/models.py:1651 common/models.py:1752 +#: common/models.py:2141 msgid "days" msgstr "" @@ -2581,9 +2578,9 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1485 part/admin.py:108 part/models.py:3959 -#: report/models.py:293 report/models.py:360 report/serializers.py:90 -#: report/serializers.py:131 stock/serializers.py:233 +#: common/models.py:1485 part/admin.py:108 part/models.py:3946 +#: report/models.py:301 report/models.py:368 report/serializers.py:91 +#: report/serializers.py:132 stock/serializers.py:233 #: templates/js/translated/table_filters.js:138 #: templates/js/translated/table_filters.js:775 msgid "Template" @@ -2598,7 +2595,7 @@ msgid "Parts can be assembled from other components by default" msgstr "" #: common/models.py:1497 part/admin.py:95 part/models.py:1172 -#: part/serializers.py:1617 templates/js/translated/table_filters.js:737 +#: part/serializers.py:1615 templates/js/translated/table_filters.js:737 msgid "Component" msgstr "" @@ -2823,7 +2820,7 @@ msgid "Log errors which occur when generating reports" msgstr "" #: common/models.py:1702 plugin/builtin/labels/label_sheet.py:28 -#: report/models.py:301 +#: report/models.py:309 msgid "Page Size" msgstr "" @@ -2832,914 +2829,914 @@ msgid "Default page size for PDF reports" msgstr "" #: common/models.py:1708 -msgid "Enable Test Reports" -msgstr "" - -#: common/models.py:1709 -msgid "Enable generation of test reports" -msgstr "" - -#: common/models.py:1714 -msgid "Attach Test Reports" -msgstr "" - -#: common/models.py:1716 -msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" -msgstr "" - -#: common/models.py:1722 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1723 +#: common/models.py:1709 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1728 +#: common/models.py:1714 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1729 +#: common/models.py:1715 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1734 +#: common/models.py:1720 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1736 +#: common/models.py:1722 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/models.py:1742 +#: common/models.py:1728 msgid "Batch Code Template" msgstr "" -#: common/models.py:1744 +#: common/models.py:1730 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1749 +#: common/models.py:1735 msgid "Stock Expiry" msgstr "" -#: common/models.py:1750 +#: common/models.py:1736 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1755 +#: common/models.py:1741 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1756 +#: common/models.py:1742 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1761 +#: common/models.py:1747 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1763 +#: common/models.py:1749 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1770 +#: common/models.py:1756 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1771 +#: common/models.py:1757 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1776 +#: common/models.py:1762 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1777 +#: common/models.py:1763 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1782 +#: common/models.py:1768 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1783 +#: common/models.py:1769 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1788 +#: common/models.py:1774 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1789 +#: common/models.py:1775 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1794 +#: common/models.py:1780 msgid "Check BOM when installing items" msgstr "" -#: common/models.py:1796 +#: common/models.py:1782 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/models.py:1802 +#: common/models.py:1788 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/models.py:1804 +#: common/models.py:1790 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/models.py:1810 +#: common/models.py:1796 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1812 +#: common/models.py:1798 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1818 common/models.py:1874 common/models.py:1896 -#: common/models.py:1932 +#: common/models.py:1804 common/models.py:1860 common/models.py:1882 +#: common/models.py:1918 msgid "Require Responsible Owner" msgstr "" -#: common/models.py:1819 common/models.py:1875 common/models.py:1897 -#: common/models.py:1933 +#: common/models.py:1805 common/models.py:1861 common/models.py:1883 +#: common/models.py:1919 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/models.py:1824 +#: common/models.py:1810 msgid "Require Active Part" msgstr "" -#: common/models.py:1825 +#: common/models.py:1811 msgid "Prevent build order creation for inactive parts" msgstr "" -#: common/models.py:1830 +#: common/models.py:1816 msgid "Require Locked Part" msgstr "" -#: common/models.py:1831 +#: common/models.py:1817 msgid "Prevent build order creation for unlocked parts" msgstr "" -#: common/models.py:1836 +#: common/models.py:1822 msgid "Require Valid BOM" msgstr "" -#: common/models.py:1838 +#: common/models.py:1824 msgid "Prevent build order creation unless BOM has been validated" msgstr "" -#: common/models.py:1844 +#: common/models.py:1830 msgid "Require Closed Child Orders" msgstr "" -#: common/models.py:1846 +#: common/models.py:1832 msgid "Prevent build order completion until all child orders are closed" msgstr "" -#: common/models.py:1852 +#: common/models.py:1838 msgid "Block Until Tests Pass" msgstr "" -#: common/models.py:1854 +#: common/models.py:1840 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "" -#: common/models.py:1860 +#: common/models.py:1846 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1861 +#: common/models.py:1847 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1866 +#: common/models.py:1852 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1868 +#: common/models.py:1854 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1880 +#: common/models.py:1866 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1882 +#: common/models.py:1868 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1888 +#: common/models.py:1874 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1890 +#: common/models.py:1876 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1902 +#: common/models.py:1888 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1903 +#: common/models.py:1889 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1908 +#: common/models.py:1894 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1910 +#: common/models.py:1896 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1916 +#: common/models.py:1902 msgid "Mark Shipped Orders as Complete" msgstr "" -#: common/models.py:1918 +#: common/models.py:1904 msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status" msgstr "" -#: common/models.py:1924 +#: common/models.py:1910 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1926 +#: common/models.py:1912 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1938 +#: common/models.py:1924 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1940 +#: common/models.py:1926 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1946 +#: common/models.py:1932 msgid "Auto Complete Purchase Orders" msgstr "" -#: common/models.py:1948 +#: common/models.py:1934 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/models.py:1955 +#: common/models.py:1941 msgid "Enable password forgot" msgstr "" -#: common/models.py:1956 +#: common/models.py:1942 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1961 +#: common/models.py:1947 msgid "Enable registration" msgstr "" -#: common/models.py:1962 +#: common/models.py:1948 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1967 +#: common/models.py:1953 msgid "Enable SSO" msgstr "" -#: common/models.py:1968 +#: common/models.py:1954 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1973 +#: common/models.py:1959 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1975 +#: common/models.py:1961 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1981 +#: common/models.py:1967 msgid "Enable SSO group sync" msgstr "" -#: common/models.py:1983 +#: common/models.py:1969 msgid "Enable synchronizing InvenTree groups with groups provided by the IdP" msgstr "" -#: common/models.py:1989 +#: common/models.py:1975 msgid "SSO group key" msgstr "" -#: common/models.py:1991 +#: common/models.py:1977 msgid "The name of the groups claim attribute provided by the IdP" msgstr "" -#: common/models.py:1997 +#: common/models.py:1983 msgid "SSO group map" msgstr "" -#: common/models.py:1999 +#: common/models.py:1985 msgid "A mapping from SSO groups to local InvenTree groups. If the local group does not exist, it will be created." msgstr "" -#: common/models.py:2005 +#: common/models.py:1991 msgid "Remove groups outside of SSO" msgstr "" -#: common/models.py:2007 +#: common/models.py:1993 msgid "Whether groups assigned to the user should be removed if they are not backend by the IdP. Disabling this setting might cause security issues" msgstr "" -#: common/models.py:2013 +#: common/models.py:1999 msgid "Email required" msgstr "" -#: common/models.py:2014 +#: common/models.py:2000 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:2019 +#: common/models.py:2005 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:2021 +#: common/models.py:2007 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:2027 +#: common/models.py:2013 msgid "Mail twice" msgstr "" -#: common/models.py:2028 +#: common/models.py:2014 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:2033 +#: common/models.py:2019 msgid "Password twice" msgstr "" -#: common/models.py:2034 +#: common/models.py:2020 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:2039 +#: common/models.py:2025 msgid "Allowed domains" msgstr "" -#: common/models.py:2041 +#: common/models.py:2027 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:2047 +#: common/models.py:2033 msgid "Group on signup" msgstr "" -#: common/models.py:2049 +#: common/models.py:2035 msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP." msgstr "" -#: common/models.py:2055 +#: common/models.py:2041 msgid "Enforce MFA" msgstr "" -#: common/models.py:2056 +#: common/models.py:2042 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:2061 +#: common/models.py:2047 msgid "Check plugins on startup" msgstr "" -#: common/models.py:2063 +#: common/models.py:2049 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:2071 +#: common/models.py:2057 msgid "Check for plugin updates" msgstr "" -#: common/models.py:2072 +#: common/models.py:2058 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:2078 +#: common/models.py:2064 msgid "Enable URL integration" msgstr "" -#: common/models.py:2079 +#: common/models.py:2065 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:2085 +#: common/models.py:2071 msgid "Enable navigation integration" msgstr "" -#: common/models.py:2086 +#: common/models.py:2072 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:2092 +#: common/models.py:2078 msgid "Enable app integration" msgstr "" -#: common/models.py:2093 +#: common/models.py:2079 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:2099 +#: common/models.py:2085 msgid "Enable schedule integration" msgstr "" -#: common/models.py:2100 +#: common/models.py:2086 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:2106 +#: common/models.py:2092 msgid "Enable event integration" msgstr "" -#: common/models.py:2107 +#: common/models.py:2093 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:2113 +#: common/models.py:2099 +msgid "Enable interface integration" +msgstr "" + +#: common/models.py:2100 +msgid "Enable plugins to integrate into the user interface" +msgstr "" + +#: common/models.py:2106 msgid "Enable project codes" msgstr "" -#: common/models.py:2114 +#: common/models.py:2107 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:2119 +#: common/models.py:2112 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:2121 +#: common/models.py:2114 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:2127 +#: common/models.py:2120 msgid "Exclude External Locations" msgstr "" -#: common/models.py:2129 +#: common/models.py:2122 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/models.py:2135 +#: common/models.py:2128 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:2137 +#: common/models.py:2130 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:2143 +#: common/models.py:2136 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:2145 +#: common/models.py:2138 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:2152 +#: common/models.py:2145 msgid "Display Users full names" msgstr "" -#: common/models.py:2153 +#: common/models.py:2146 msgid "Display Users full names instead of usernames" msgstr "" -#: common/models.py:2158 +#: common/models.py:2151 msgid "Enable Test Station Data" msgstr "" -#: common/models.py:2159 +#: common/models.py:2152 msgid "Enable test station data collection for test results" msgstr "" -#: common/models.py:2171 common/models.py:2551 +#: common/models.py:2157 +msgid "Create Template on Upload" +msgstr "" + +#: common/models.py:2159 +msgid "Create a new test template when uploading test data which does not match an existing template" +msgstr "" + +#: common/models.py:2172 common/models.py:2552 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:2214 +#: common/models.py:2215 msgid "Hide inactive parts" msgstr "" -#: common/models.py:2216 +#: common/models.py:2217 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:2222 +#: common/models.py:2223 msgid "Show subscribed parts" msgstr "" -#: common/models.py:2223 +#: common/models.py:2224 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:2228 +#: common/models.py:2229 msgid "Show subscribed categories" msgstr "" -#: common/models.py:2229 +#: common/models.py:2230 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:2234 +#: common/models.py:2235 msgid "Show latest parts" msgstr "" -#: common/models.py:2235 +#: common/models.py:2236 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:2240 +#: common/models.py:2241 msgid "Show invalid BOMs" msgstr "" -#: common/models.py:2241 +#: common/models.py:2242 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:2246 +#: common/models.py:2247 msgid "Show recent stock changes" msgstr "" -#: common/models.py:2247 +#: common/models.py:2248 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:2252 +#: common/models.py:2253 msgid "Show low stock" msgstr "" -#: common/models.py:2253 +#: common/models.py:2254 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:2258 +#: common/models.py:2259 msgid "Show depleted stock" msgstr "" -#: common/models.py:2259 +#: common/models.py:2260 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:2264 +#: common/models.py:2265 msgid "Show needed stock" msgstr "" -#: common/models.py:2265 +#: common/models.py:2266 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:2270 +#: common/models.py:2271 msgid "Show expired stock" msgstr "" -#: common/models.py:2271 +#: common/models.py:2272 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:2276 +#: common/models.py:2277 msgid "Show stale stock" msgstr "" -#: common/models.py:2277 +#: common/models.py:2278 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:2282 +#: common/models.py:2283 msgid "Show pending builds" msgstr "" -#: common/models.py:2283 +#: common/models.py:2284 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:2288 +#: common/models.py:2289 msgid "Show overdue builds" msgstr "" -#: common/models.py:2289 +#: common/models.py:2290 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:2294 +#: common/models.py:2295 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2295 +#: common/models.py:2296 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2300 +#: common/models.py:2301 msgid "Show overdue POs" msgstr "" -#: common/models.py:2301 +#: common/models.py:2302 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2306 +#: common/models.py:2307 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2307 +#: common/models.py:2308 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2312 +#: common/models.py:2313 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2313 +#: common/models.py:2314 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2318 +#: common/models.py:2319 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2319 +#: common/models.py:2320 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2324 +#: common/models.py:2325 msgid "Show News" msgstr "" -#: common/models.py:2325 +#: common/models.py:2326 msgid "Show news on the homepage" msgstr "" -#: common/models.py:2330 +#: common/models.py:2331 msgid "Inline label display" msgstr "" -#: common/models.py:2332 +#: common/models.py:2333 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2338 +#: common/models.py:2339 msgid "Default label printer" msgstr "" -#: common/models.py:2340 +#: common/models.py:2341 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2346 +#: common/models.py:2347 msgid "Inline report display" msgstr "" -#: common/models.py:2348 +#: common/models.py:2349 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2354 +#: common/models.py:2355 msgid "Search Parts" msgstr "" -#: common/models.py:2355 +#: common/models.py:2356 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2360 +#: common/models.py:2361 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2361 +#: common/models.py:2362 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2366 +#: common/models.py:2367 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2367 +#: common/models.py:2368 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2372 +#: common/models.py:2373 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2373 +#: common/models.py:2374 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2378 +#: common/models.py:2379 msgid "Search Categories" msgstr "" -#: common/models.py:2379 +#: common/models.py:2380 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2384 +#: common/models.py:2385 msgid "Search Stock" msgstr "" -#: common/models.py:2385 +#: common/models.py:2386 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2390 +#: common/models.py:2391 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2392 +#: common/models.py:2393 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2398 +#: common/models.py:2399 msgid "Search Locations" msgstr "" -#: common/models.py:2399 +#: common/models.py:2400 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2404 +#: common/models.py:2405 msgid "Search Companies" msgstr "" -#: common/models.py:2405 +#: common/models.py:2406 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2410 +#: common/models.py:2411 msgid "Search Build Orders" msgstr "" -#: common/models.py:2411 +#: common/models.py:2412 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2416 +#: common/models.py:2417 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2417 +#: common/models.py:2418 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2422 +#: common/models.py:2423 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2424 +#: common/models.py:2425 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2430 +#: common/models.py:2431 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2431 +#: common/models.py:2432 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2436 +#: common/models.py:2437 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2438 +#: common/models.py:2439 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2444 +#: common/models.py:2445 msgid "Search Return Orders" msgstr "" -#: common/models.py:2445 +#: common/models.py:2446 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2450 +#: common/models.py:2451 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2452 +#: common/models.py:2453 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2458 +#: common/models.py:2459 msgid "Search Preview Results" msgstr "" -#: common/models.py:2460 +#: common/models.py:2461 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2466 +#: common/models.py:2467 msgid "Regex Search" msgstr "" -#: common/models.py:2467 +#: common/models.py:2468 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2472 +#: common/models.py:2473 msgid "Whole Word Search" msgstr "" -#: common/models.py:2473 +#: common/models.py:2474 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2478 +#: common/models.py:2479 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2479 +#: common/models.py:2480 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2484 +#: common/models.py:2485 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2485 +#: common/models.py:2486 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2490 +#: common/models.py:2491 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2491 +#: common/models.py:2492 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2496 +#: common/models.py:2497 msgid "Date Format" msgstr "" -#: common/models.py:2497 +#: common/models.py:2498 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2510 part/templates/part/detail.html:41 +#: common/models.py:2511 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2511 +#: common/models.py:2512 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2516 part/templates/part/detail.html:62 +#: common/models.py:2517 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2518 +#: common/models.py:2519 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2524 +#: common/models.py:2525 msgid "Table String Length" msgstr "" -#: common/models.py:2526 +#: common/models.py:2527 msgid "Maximum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2532 +#: common/models.py:2533 msgid "Receive error reports" msgstr "" -#: common/models.py:2533 +#: common/models.py:2534 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2538 +#: common/models.py:2539 msgid "Last used printing machines" msgstr "" -#: common/models.py:2539 +#: common/models.py:2540 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2559 common/models.py:2560 common/models.py:2717 -#: common/models.py:2718 common/models.py:2963 common/models.py:2964 -#: common/models.py:3287 common/models.py:3288 importer/models.py:89 -#: part/models.py:3319 part/models.py:3406 part/models.py:3480 -#: part/models.py:3508 plugin/models.py:274 plugin/models.py:275 +#: common/models.py:2560 common/models.py:2561 common/models.py:2718 +#: common/models.py:2719 common/models.py:2964 common/models.py:2965 +#: common/models.py:3288 common/models.py:3289 importer/models.py:89 +#: part/models.py:3306 part/models.py:3393 part/models.py:3467 +#: part/models.py:3495 plugin/models.py:274 plugin/models.py:275 #: report/templates/report/inventree_test_report.html:105 #: templates/js/translated/stock.js:3121 users/models.py:111 msgid "User" msgstr "Korisnik" -#: common/models.py:2582 +#: common/models.py:2583 msgid "Price break quantity" msgstr "" -#: common/models.py:2589 company/serializers.py:517 order/admin.py:42 +#: common/models.py:2590 company/serializers.py:517 order/admin.py:42 #: order/models.py:1423 order/models.py:2410 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1892 #: templates/js/translated/pricing.js:621 @@ -3747,96 +3744,96 @@ msgstr "" msgid "Price" msgstr "" -#: common/models.py:2590 +#: common/models.py:2591 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2694 common/models.py:2879 +#: common/models.py:2695 common/models.py:2880 msgid "Endpoint" msgstr "" -#: common/models.py:2695 +#: common/models.py:2696 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2705 +#: common/models.py:2706 msgid "Name for this webhook" msgstr "" -#: common/models.py:2709 +#: common/models.py:2710 msgid "Is this webhook active" msgstr "" -#: common/models.py:2725 users/models.py:159 +#: common/models.py:2726 users/models.py:159 msgid "Token" msgstr "" -#: common/models.py:2726 +#: common/models.py:2727 msgid "Token for access" msgstr "" -#: common/models.py:2734 +#: common/models.py:2735 msgid "Secret" msgstr "" -#: common/models.py:2735 +#: common/models.py:2736 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2843 +#: common/models.py:2844 msgid "Message ID" msgstr "" -#: common/models.py:2844 +#: common/models.py:2845 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2852 +#: common/models.py:2853 msgid "Host" msgstr "" -#: common/models.py:2853 +#: common/models.py:2854 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2861 +#: common/models.py:2862 msgid "Header" msgstr "" -#: common/models.py:2862 +#: common/models.py:2863 msgid "Header of this message" msgstr "" -#: common/models.py:2869 +#: common/models.py:2870 msgid "Body" msgstr "" -#: common/models.py:2870 +#: common/models.py:2871 msgid "Body of this message" msgstr "" -#: common/models.py:2880 +#: common/models.py:2881 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2885 +#: common/models.py:2886 msgid "Worked on" msgstr "" -#: common/models.py:2886 +#: common/models.py:2887 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:3012 +#: common/models.py:3013 msgid "Id" msgstr "" -#: common/models.py:3014 templates/js/translated/company.js:965 +#: common/models.py:3015 templates/js/translated/company.js:965 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:3016 common/models.py:3271 company/models.py:146 +#: common/models.py:3017 common/models.py:3272 company/models.py:146 #: company/models.py:443 company/models.py:509 company/models.py:815 #: order/models.py:303 order/models.py:1378 order/models.py:1810 #: part/admin.py:55 part/models.py:1069 @@ -3853,217 +3850,217 @@ msgstr "" msgid "Link" msgstr "" -#: common/models.py:3018 templates/js/translated/news.js:60 +#: common/models.py:3019 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:3020 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:3021 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:103 msgid "Author" msgstr "" -#: common/models.py:3022 templates/js/translated/news.js:52 +#: common/models.py:3023 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:3025 +#: common/models.py:3026 msgid "Read" msgstr "" -#: common/models.py:3025 +#: common/models.py:3026 msgid "Was this news item read?" msgstr "" -#: common/models.py:3042 company/models.py:156 part/models.py:1079 +#: common/models.py:3043 company/models.py:156 part/models.py:1079 #: 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.html:35 -#: stock/templates/stock/item_base.html:133 templates/503.html:31 +#: stock/templates/stock/item_base.html:129 templates/503.html:31 #: templates/hover_image.html:7 templates/hover_image.html:9 #: templates/modals.html:6 msgid "Image" msgstr "" -#: common/models.py:3042 +#: common/models.py:3043 msgid "Image file" msgstr "" -#: common/models.py:3054 common/models.py:3255 +#: common/models.py:3055 common/models.py:3256 msgid "Target model type for this image" msgstr "" -#: common/models.py:3058 +#: common/models.py:3059 msgid "Target model ID for this image" msgstr "" -#: common/models.py:3080 +#: common/models.py:3081 msgid "Custom Unit" msgstr "" -#: common/models.py:3098 +#: common/models.py:3099 msgid "Unit symbol must be unique" msgstr "" -#: common/models.py:3113 +#: common/models.py:3114 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:3132 +#: common/models.py:3133 msgid "Unit name" msgstr "" -#: common/models.py:3139 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3140 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:3140 +#: common/models.py:3141 msgid "Optional unit symbol" msgstr "" -#: common/models.py:3146 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3147 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:3147 +#: common/models.py:3148 msgid "Unit definition" msgstr "" -#: common/models.py:3205 common/models.py:3262 stock/models.py:2552 +#: common/models.py:3206 common/models.py:3263 stock/models.py:2547 #: stock/serializers.py:244 templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:345 msgid "Attachment" msgstr "Prilog" -#: common/models.py:3217 +#: common/models.py:3218 msgid "Missing file" msgstr "Nedostaje datoteka" -#: common/models.py:3218 +#: common/models.py:3219 msgid "Missing external link" msgstr "Nedostaje eksterni link" -#: common/models.py:3263 +#: common/models.py:3264 msgid "Select file to attach" msgstr "Izaberite datoteku za prilog" -#: common/models.py:3278 templates/js/translated/attachment.js:120 +#: common/models.py:3279 templates/js/translated/attachment.js:120 #: templates/js/translated/attachment.js:360 msgid "Comment" msgstr "Komentar" -#: common/models.py:3279 +#: common/models.py:3280 msgid "Attachment comment" msgstr "" -#: common/models.py:3295 +#: common/models.py:3296 msgid "Upload date" msgstr "" -#: common/models.py:3296 +#: common/models.py:3297 msgid "Date the file was uploaded" msgstr "" -#: common/models.py:3300 +#: common/models.py:3301 msgid "File size" msgstr "" -#: common/models.py:3300 +#: common/models.py:3301 msgid "File size in bytes" msgstr "" -#: common/models.py:3338 common/serializers.py:588 +#: common/models.py:3339 common/serializers.py:604 msgid "Invalid model type specified for attachment" msgstr "" -#: common/models.py:3347 plugin/models.py:43 users/models.py:100 +#: common/models.py:3348 plugin/models.py:43 users/models.py:100 msgid "Key" msgstr "" -#: common/models.py:3348 +#: common/models.py:3349 msgid "Value that will be saved in the models database" msgstr "" -#: common/models.py:3351 +#: common/models.py:3352 msgid "Name of the state" msgstr "" -#: common/models.py:3355 +#: common/models.py:3356 msgid "Label" msgstr "" -#: common/models.py:3356 +#: common/models.py:3357 msgid "Label that will be displayed in the frontend" msgstr "" -#: common/models.py:3362 +#: common/models.py:3363 msgid "Color" msgstr "" -#: common/models.py:3363 +#: common/models.py:3364 msgid "Color that will be displayed in the frontend" msgstr "" -#: common/models.py:3366 +#: common/models.py:3367 msgid "Logical Key" msgstr "" -#: common/models.py:3368 +#: common/models.py:3369 msgid "State logical key that is equal to this custom state in business logic" msgstr "" -#: common/models.py:3376 +#: common/models.py:3377 msgid "Model" msgstr "" -#: common/models.py:3377 +#: common/models.py:3378 msgid "Model this state is associated with" msgstr "" -#: common/models.py:3381 +#: common/models.py:3382 msgid "Reference Status Set" msgstr "" -#: common/models.py:3382 +#: common/models.py:3383 msgid "Status set that is extended with this custom state" msgstr "" -#: common/models.py:3388 +#: common/models.py:3389 msgid "Custom State" msgstr "" -#: common/models.py:3389 +#: common/models.py:3390 msgid "Custom States" msgstr "" -#: common/models.py:3404 +#: common/models.py:3405 msgid "Model must be selected" msgstr "" -#: common/models.py:3407 +#: common/models.py:3408 msgid "Key must be selected" msgstr "" -#: common/models.py:3410 +#: common/models.py:3411 msgid "Logical key must be selected" msgstr "" -#: common/models.py:3414 +#: common/models.py:3415 msgid "Key must be different from logical key" msgstr "" -#: common/models.py:3418 +#: common/models.py:3419 msgid "Reference status must be selected" msgstr "" -#: common/models.py:3430 +#: common/models.py:3431 msgid "Reference status set not found" msgstr "" -#: common/models.py:3436 +#: common/models.py:3437 msgid "Key must be different from the logical keys of the reference status" msgstr "" -#: common/models.py:3442 +#: common/models.py:3443 msgid "Logical key must be in the logical keys of the reference status" msgstr "" @@ -4101,75 +4098,75 @@ msgstr "" msgid "Error raised by plugin" msgstr "" -#: common/serializers.py:402 +#: common/serializers.py:418 msgid "Is Running" msgstr "" -#: common/serializers.py:408 +#: common/serializers.py:424 msgid "Pending Tasks" msgstr "" -#: common/serializers.py:414 +#: common/serializers.py:430 msgid "Scheduled Tasks" msgstr "" -#: common/serializers.py:420 +#: common/serializers.py:436 msgid "Failed Tasks" msgstr "" -#: common/serializers.py:435 +#: common/serializers.py:451 msgid "Task ID" msgstr "" -#: common/serializers.py:435 +#: common/serializers.py:451 msgid "Unique task ID" msgstr "" -#: common/serializers.py:437 +#: common/serializers.py:453 msgid "Lock" msgstr "" -#: common/serializers.py:437 +#: common/serializers.py:453 msgid "Lock time" msgstr "" -#: common/serializers.py:439 +#: common/serializers.py:455 msgid "Task name" msgstr "" -#: common/serializers.py:441 +#: common/serializers.py:457 msgid "Function" msgstr "" -#: common/serializers.py:441 +#: common/serializers.py:457 msgid "Function name" msgstr "" -#: common/serializers.py:443 +#: common/serializers.py:459 msgid "Arguments" msgstr "" -#: common/serializers.py:443 +#: common/serializers.py:459 msgid "Task arguments" msgstr "" -#: common/serializers.py:446 +#: common/serializers.py:462 msgid "Keyword Arguments" msgstr "" -#: common/serializers.py:446 +#: common/serializers.py:462 msgid "Task keyword arguments" msgstr "" -#: common/serializers.py:556 +#: common/serializers.py:572 msgid "Filename" msgstr "Ime datoteke" -#: common/serializers.py:563 report/api.py:100 report/serializers.py:53 +#: common/serializers.py:579 report/api.py:100 report/serializers.py:54 msgid "Model Type" msgstr "" -#: common/serializers.py:591 +#: common/serializers.py:607 msgid "User does not have permission to create or edit attachments for this model" msgstr "" @@ -4447,12 +4444,12 @@ msgstr "" #: company/models.py:467 company/models.py:584 company/models.py:808 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 -#: stock/templates/stock/item_base.html:217 +#: stock/templates/stock/item_base.html:213 msgid "Manufacturer Part" msgstr "" #: company/models.py:484 company/models.py:776 stock/models.py:791 -#: stock/serializers.py:452 stock/templates/stock/item_base.html:142 +#: stock/serializers.py:452 stock/templates/stock/item_base.html:138 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" @@ -4463,8 +4460,8 @@ msgstr "" #: company/models.py:495 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:567 -#: stock/templates/stock/item_base.html:207 +#: company/templates/company/supplier_part.html:145 part/serializers.py:565 +#: stock/templates/stock/item_base.html:203 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 #: templates/js/translated/company.js:1296 @@ -4479,7 +4476,7 @@ msgstr "" #: company/models.py:502 company/templates/company/manufacturer_part.html:101 #: company/templates/company/supplier_part.html:153 order/serializers.py:557 -#: part/serializers.py:577 templates/js/translated/company.js:351 +#: part/serializers.py:575 templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 #: templates/js/translated/company.js:1630 templates/js/translated/part.js:1807 @@ -4505,7 +4502,7 @@ msgid "Parameter name" msgstr "" #: company/models.py:597 report/templates/report/inventree_test_report.html:104 -#: stock/models.py:2544 templates/js/translated/company.js:1166 +#: stock/models.py:2539 templates/js/translated/company.js:1166 #: templates/js/translated/company.js:1419 templates/js/translated/part.js:1499 #: templates/js/translated/stock.js:1607 msgid "Value" @@ -4516,7 +4513,7 @@ msgid "Parameter value" msgstr "" #: company/models.py:605 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1159 part/models.py:3783 +#: part/admin.py:57 part/models.py:1159 part/models.py:3770 #: part/templates/part/part_base.html:300 #: templates/js/translated/company.js:1425 templates/js/translated/part.js:1518 #: templates/js/translated/part.js:1622 templates/js/translated/part.js:2376 @@ -4530,7 +4527,7 @@ msgstr "" #: company/models.py:659 company/templates/company/supplier_part.html:7 #: company/templates/company/supplier_part.html:24 order/api.py:440 #: order/serializers.py:492 stock/models.py:802 -#: stock/templates/stock/item_base.html:233 +#: stock/templates/stock/item_base.html:229 #: templates/js/translated/build.js:1055 #: templates/js/translated/company.js:1600 #: templates/js/translated/purchase_order.js:752 @@ -4553,9 +4550,9 @@ msgstr "" #: company/models.py:786 company/templates/company/company_base.html:87 #: company/templates/company/supplier_part.html:129 order/models.py:492 #: order/templates/order/order_base.html:141 part/bom.py:279 part/bom.py:314 -#: part/serializers.py:551 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:549 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 -#: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 +#: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:220 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:511 @@ -4570,7 +4567,7 @@ msgstr "" msgid "Select supplier" msgstr "" -#: company/models.py:793 part/serializers.py:562 +#: company/models.py:793 part/serializers.py:560 msgid "Supplier stock keeping unit" msgstr "" @@ -4591,7 +4588,7 @@ msgid "Supplier part description" msgstr "" #: company/models.py:832 company/templates/company/supplier_part.html:187 -#: order/serializers.py:699 part/admin.py:415 part/models.py:4301 +#: order/serializers.py:699 part/admin.py:415 part/models.py:4288 #: part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 @@ -4603,11 +4600,11 @@ msgstr "" msgid "Note" msgstr "" -#: company/models.py:841 part/models.py:2129 +#: company/models.py:841 part/models.py:2128 msgid "base cost" msgstr "" -#: company/models.py:842 part/models.py:2130 +#: company/models.py:842 part/models.py:2129 msgid "Minimum charge (e.g. stocking fee)" msgstr "" @@ -4629,7 +4626,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:876 part/models.py:2136 +#: company/models.py:876 part/models.py:2135 msgid "multiple" msgstr "" @@ -4661,7 +4658,7 @@ msgstr "" msgid "Company Name" msgstr "" -#: company/serializers.py:397 part/admin.py:126 part/serializers.py:919 +#: company/serializers.py:397 part/admin.py:126 part/serializers.py:917 #: part/templates/part/part_base.html:197 #: templates/js/translated/company.js:1689 #: templates/js/translated/table_filters.js:362 @@ -4735,7 +4732,7 @@ msgstr "" #: order/models.py:2140 order/templates/order/return_order_base.html:134 #: order/templates/order/sales_order_base.html:151 stock/models.py:844 #: stock/models.py:845 stock/serializers.py:1336 -#: stock/templates/stock/item_base.html:405 +#: stock/templates/stock/item_base.html:401 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 #: templates/js/translated/return_order.js:295 @@ -4939,7 +4936,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:925 +#: part/admin.py:122 part/serializers.py:923 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -5030,7 +5027,7 @@ msgid "No supplier information available" msgstr "" #: company/templates/company/supplier_part.html:139 order/serializers.py:554 -#: part/bom.py:286 part/bom.py:315 part/serializers.py:561 +#: part/bom.py:286 part/bom.py:315 part/serializers.py:559 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1793 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1920 @@ -5084,7 +5081,7 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:923 part/stocktake.py:223 +#: part/serializers.py:921 part/stocktake.py:223 #: part/templates/part/category.html:180 #: part/templates/part/category_sidebar.html:17 stock/admin.py:68 #: stock/serializers.py:1021 stock/serializers.py:1199 @@ -5215,7 +5212,7 @@ msgstr "" msgid "Original row data" msgstr "" -#: importer/models.py:504 part/models.py:3965 +#: importer/models.py:504 part/models.py:3952 msgid "Data" msgstr "" @@ -5473,7 +5470,7 @@ msgstr "" #: order/models.py:1592 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_purchase_order_report.html:14 -#: stock/serializers.py:121 stock/templates/stock/item_base.html:176 +#: stock/serializers.py:121 stock/templates/stock/item_base.html:172 #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/part.js:1752 templates/js/translated/pricing.js:804 #: templates/js/translated/purchase_order.js:168 @@ -5694,7 +5691,7 @@ msgid "Number of items received" msgstr "" #: order/models.py:1513 stock/models.py:963 stock/serializers.py:617 -#: stock/templates/stock/item_base.html:183 +#: stock/templates/stock/item_base.html:179 #: templates/js/translated/stock.js:2397 msgid "Purchase Price" msgstr "" @@ -5768,7 +5765,7 @@ msgid "User who checked this shipment" msgstr "" #: order/models.py:1788 order/models.py:2011 order/serializers.py:1479 -#: order/serializers.py:1589 templates/js/translated/model_renderers.js:455 +#: order/serializers.py:1597 templates/js/translated/model_renderers.js:455 msgid "Shipment" msgstr "" @@ -5982,7 +5979,7 @@ msgstr "" msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:656 order/serializers.py:779 order/serializers.py:1790 +#: order/serializers.py:656 order/serializers.py:779 order/serializers.py:1798 msgid "Select destination location for received items" msgstr "" @@ -6019,7 +6016,7 @@ msgstr "" msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:795 order/serializers.py:1806 +#: order/serializers.py:795 order/serializers.py:1814 msgid "Line items must be provided" msgstr "" @@ -6051,39 +6048,39 @@ msgstr "" msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1491 order/serializers.py:1597 +#: order/serializers.py:1491 order/serializers.py:1605 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1494 order/serializers.py:1600 +#: order/serializers.py:1494 order/serializers.py:1608 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1541 +#: order/serializers.py:1549 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1548 -msgid "The following serial numbers are already allocated" +#: order/serializers.py:1556 +msgid "The following serial numbers are unavailable" msgstr "" -#: order/serializers.py:1760 +#: order/serializers.py:1768 msgid "Return order line item" msgstr "" -#: order/serializers.py:1766 +#: order/serializers.py:1774 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1769 +#: order/serializers.py:1777 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1798 +#: order/serializers.py:1806 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1881 +#: order/serializers.py:1889 msgid "Line price currency" msgstr "" @@ -6510,7 +6507,7 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:48 part/models.py:1044 part/serializers.py:908 +#: part/admin.py:48 part/models.py:1044 part/serializers.py:906 #: part/templates/part/part_base.html:276 #: report/templates/report/inventree_stock_location_report.html:103 #: templates/js/translated/part.js:1233 templates/js/translated/part.js:2347 @@ -6537,7 +6534,7 @@ msgstr "" msgid "Category ID" msgstr "" -#: part/admin.py:67 part/admin.py:304 part/serializers.py:893 +#: part/admin.py:67 part/admin.py:304 part/serializers.py:891 #: part/stocktake.py:222 msgid "Category Name" msgstr "" @@ -6562,18 +6559,18 @@ msgstr "" msgid "Used In" msgstr "" -#: part/admin.py:150 part/serializers.py:918 +#: part/admin.py:150 part/serializers.py:916 #: part/templates/part/part_base.html:248 stock/admin.py:236 #: templates/js/translated/part.js:717 templates/js/translated/part.js:2159 msgid "Building" msgstr "" -#: part/admin.py:155 part/models.py:3214 part/models.py:3228 +#: part/admin.py:155 part/models.py:3201 part/models.py:3215 #: templates/js/translated/part.js:976 msgid "Minimum Cost" msgstr "" -#: part/admin.py:158 part/models.py:3221 part/models.py:3235 +#: part/admin.py:158 part/models.py:3208 part/models.py:3222 #: templates/js/translated/part.js:986 msgid "Maximum Cost" msgstr "" @@ -6592,7 +6589,7 @@ msgid "Category Path" msgstr "" #: part/admin.py:325 part/models.py:420 part/serializers.py:130 -#: part/serializers.py:290 part/serializers.py:428 +#: part/serializers.py:290 part/serializers.py:426 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:20 #: part/templates/part/category.html:138 part/templates/part/category.html:158 #: part/templates/part/category_sidebar.html:9 @@ -6619,13 +6616,13 @@ msgstr "" msgid "Part Revision" msgstr "" -#: part/admin.py:418 part/serializers.py:1367 +#: part/admin.py:418 part/serializers.py:1365 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:423 part/serializers.py:1382 +#: part/admin.py:423 part/serializers.py:1380 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -6719,8 +6716,8 @@ msgstr "" msgid "BOM Valid" msgstr "" -#: part/api.py:1520 part/models.py:1036 part/models.py:3501 part/models.py:4060 -#: part/serializers.py:443 part/serializers.py:1223 +#: part/api.py:1520 part/models.py:1036 part/models.py:3488 part/models.py:4047 +#: part/serializers.py:441 part/serializers.py:1221 #: part/templates/part/part_base.html:267 stock/api.py:780 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 @@ -6746,7 +6743,7 @@ msgstr "" msgid "Default Location" msgstr "" -#: part/bom.py:184 part/serializers.py:926 +#: part/bom.py:184 part/serializers.py:924 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -6755,7 +6752,7 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:89 part/models.py:4061 part/templates/part/category.html:16 +#: part/models.py:89 part/models.py:4048 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -6878,7 +6875,7 @@ msgstr "" msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:995 part/models.py:4116 +#: part/models.py:995 part/models.py:4103 msgid "Part name" msgstr "" @@ -6906,7 +6903,7 @@ msgstr "" msgid "Part category" msgstr "" -#: part/models.py:1052 part/serializers.py:360 +#: part/models.py:1052 msgid "Part revision or version number" msgstr "" @@ -7012,164 +7009,164 @@ msgid "Owner responsible for this part" msgstr "" #: part/models.py:1264 part/templates/part/part_base.html:355 -#: stock/templates/stock/item_base.html:451 +#: stock/templates/stock/item_base.html:447 #: templates/js/translated/part.js:2490 msgid "Last Stocktake" msgstr "" -#: part/models.py:2137 +#: part/models.py:2136 msgid "Sell multiple" msgstr "" -#: part/models.py:3128 +#: part/models.py:3115 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3144 +#: part/models.py:3131 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3145 +#: part/models.py:3132 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3151 +#: part/models.py:3138 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3152 +#: part/models.py:3139 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3158 +#: part/models.py:3145 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3159 +#: part/models.py:3146 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3165 +#: part/models.py:3152 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3166 +#: part/models.py:3153 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3172 +#: part/models.py:3159 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3173 +#: part/models.py:3160 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3179 +#: part/models.py:3166 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3180 +#: part/models.py:3167 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3186 +#: part/models.py:3173 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3187 +#: part/models.py:3174 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3193 +#: part/models.py:3180 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3194 +#: part/models.py:3181 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3200 +#: part/models.py:3187 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3201 +#: part/models.py:3188 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3207 +#: part/models.py:3194 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3208 +#: part/models.py:3195 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3215 +#: part/models.py:3202 msgid "Override minimum cost" msgstr "" -#: part/models.py:3222 +#: part/models.py:3209 msgid "Override maximum cost" msgstr "" -#: part/models.py:3229 +#: part/models.py:3216 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3236 +#: part/models.py:3223 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3242 +#: part/models.py:3229 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3243 +#: part/models.py:3230 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3249 +#: part/models.py:3236 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3250 +#: part/models.py:3237 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3256 +#: part/models.py:3243 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3257 +#: part/models.py:3244 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3263 +#: part/models.py:3250 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3264 +#: part/models.py:3251 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3283 +#: part/models.py:3270 msgid "Part for stocktake" msgstr "" -#: part/models.py:3288 +#: part/models.py:3275 msgid "Item Count" msgstr "" -#: part/models.py:3289 +#: part/models.py:3276 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3297 +#: part/models.py:3284 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3301 part/models.py:3384 +#: part/models.py:3288 part/models.py:3371 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -7181,363 +7178,363 @@ msgstr "" msgid "Date" msgstr "" -#: part/models.py:3302 +#: part/models.py:3289 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3310 +#: part/models.py:3297 msgid "Additional notes" msgstr "" -#: part/models.py:3320 +#: part/models.py:3307 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3326 +#: part/models.py:3313 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3327 +#: part/models.py:3314 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3333 +#: part/models.py:3320 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3334 +#: part/models.py:3321 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3390 templates/InvenTree/settings/settings_staff_js.html:532 +#: part/models.py:3377 templates/InvenTree/settings/settings_staff_js.html:532 msgid "Report" msgstr "" -#: part/models.py:3391 +#: part/models.py:3378 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3396 templates/InvenTree/settings/settings_staff_js.html:539 +#: part/models.py:3383 templates/InvenTree/settings/settings_staff_js.html:539 msgid "Part Count" msgstr "" -#: part/models.py:3397 +#: part/models.py:3384 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3407 +#: part/models.py:3394 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3417 +#: part/models.py:3404 msgid "Part Sale Price Break" msgstr "" -#: part/models.py:3529 +#: part/models.py:3516 msgid "Part Test Template" msgstr "" -#: part/models.py:3555 +#: part/models.py:3542 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3576 part/models.py:3745 +#: part/models.py:3563 part/models.py:3732 msgid "Choices must be unique" msgstr "" -#: part/models.py:3587 +#: part/models.py:3574 msgid "Test templates can only be created for testable parts" msgstr "" -#: part/models.py:3598 +#: part/models.py:3585 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3615 templates/js/translated/part.js:2898 +#: part/models.py:3602 templates/js/translated/part.js:2898 msgid "Test Name" msgstr "" -#: part/models.py:3616 +#: part/models.py:3603 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3622 +#: part/models.py:3609 msgid "Test Key" msgstr "" -#: part/models.py:3623 +#: part/models.py:3610 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3630 +#: part/models.py:3617 msgid "Test Description" msgstr "" -#: part/models.py:3631 +#: part/models.py:3618 msgid "Enter description for this test" msgstr "" -#: part/models.py:3635 report/models.py:208 +#: part/models.py:3622 report/models.py:216 #: templates/js/translated/part.js:2919 #: templates/js/translated/table_filters.js:502 msgid "Enabled" msgstr "" -#: part/models.py:3635 +#: part/models.py:3622 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3640 templates/js/translated/part.js:2927 +#: part/models.py:3627 templates/js/translated/part.js:2927 #: templates/js/translated/table_filters.js:498 msgid "Required" msgstr "" -#: part/models.py:3641 +#: part/models.py:3628 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3646 templates/js/translated/part.js:2935 +#: part/models.py:3633 templates/js/translated/part.js:2935 msgid "Requires Value" msgstr "" -#: part/models.py:3647 +#: part/models.py:3634 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3652 templates/js/translated/part.js:2942 +#: part/models.py:3639 templates/js/translated/part.js:2942 msgid "Requires Attachment" msgstr "" -#: part/models.py:3654 +#: part/models.py:3641 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3660 part/models.py:3804 templates/js/translated/part.js:1643 +#: part/models.py:3647 part/models.py:3791 templates/js/translated/part.js:1643 msgid "Choices" msgstr "" -#: part/models.py:3661 +#: part/models.py:3648 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3693 +#: part/models.py:3680 msgid "Part Parameter Template" msgstr "" -#: part/models.py:3720 +#: part/models.py:3707 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3725 +#: part/models.py:3712 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3762 +#: part/models.py:3749 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3777 +#: part/models.py:3764 msgid "Parameter Name" msgstr "" -#: part/models.py:3784 +#: part/models.py:3771 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3792 +#: part/models.py:3779 msgid "Parameter description" msgstr "" -#: part/models.py:3798 templates/js/translated/part.js:1634 +#: part/models.py:3785 templates/js/translated/part.js:1634 #: templates/js/translated/table_filters.js:837 msgid "Checkbox" msgstr "" -#: part/models.py:3799 +#: part/models.py:3786 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3805 +#: part/models.py:3792 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3839 +#: part/models.py:3826 msgid "Part Parameter" msgstr "" -#: part/models.py:3865 +#: part/models.py:3852 msgid "Parameter cannot be modified - part is locked" msgstr "" -#: part/models.py:3903 +#: part/models.py:3890 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3952 +#: part/models.py:3939 msgid "Parent Part" msgstr "" -#: part/models.py:3960 part/models.py:4068 part/models.py:4069 +#: part/models.py:3947 part/models.py:4055 part/models.py:4056 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3966 +#: part/models.py:3953 msgid "Parameter Value" msgstr "" -#: part/models.py:4016 +#: part/models.py:4003 msgid "Part Category Parameter Template" msgstr "" -#: part/models.py:4075 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:4062 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:4076 +#: part/models.py:4063 msgid "Default Parameter Value" msgstr "" -#: part/models.py:4114 +#: part/models.py:4101 msgid "Part ID or part name" msgstr "" -#: part/models.py:4115 +#: part/models.py:4102 msgid "Unique part ID value" msgstr "" -#: part/models.py:4117 +#: part/models.py:4104 msgid "Part IPN value" msgstr "" -#: part/models.py:4118 +#: part/models.py:4105 msgid "Level" msgstr "" -#: part/models.py:4118 +#: part/models.py:4105 msgid "BOM level" msgstr "" -#: part/models.py:4228 +#: part/models.py:4215 msgid "BOM item cannot be modified - assembly is locked" msgstr "" -#: part/models.py:4235 +#: part/models.py:4222 msgid "BOM item cannot be modified - variant assembly is locked" msgstr "" -#: part/models.py:4245 +#: part/models.py:4232 msgid "Select parent part" msgstr "" -#: part/models.py:4255 +#: part/models.py:4242 msgid "Sub part" msgstr "" -#: part/models.py:4256 +#: part/models.py:4243 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4267 +#: part/models.py:4254 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4273 +#: part/models.py:4260 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4279 +#: part/models.py:4266 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4286 part/templates/part/upload_bom.html:55 +#: part/models.py:4273 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4287 +#: part/models.py:4274 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4294 +#: part/models.py:4281 msgid "BOM item reference" msgstr "" -#: part/models.py:4302 +#: part/models.py:4289 msgid "BOM item notes" msgstr "" -#: part/models.py:4308 +#: part/models.py:4295 msgid "Checksum" msgstr "" -#: part/models.py:4309 +#: part/models.py:4296 msgid "BOM line checksum" msgstr "" -#: part/models.py:4314 templates/js/translated/table_filters.js:181 +#: part/models.py:4301 templates/js/translated/table_filters.js:181 msgid "Validated" msgstr "" -#: part/models.py:4315 +#: part/models.py:4302 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4320 part/templates/part/upload_bom.html:57 +#: part/models.py:4307 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:185 #: templates/js/translated/table_filters.js:218 msgid "Gets inherited" msgstr "" -#: part/models.py:4321 +#: part/models.py:4308 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4327 +#: part/models.py:4314 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4412 stock/models.py:689 +#: part/models.py:4399 stock/models.py:689 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4422 part/models.py:4424 +#: part/models.py:4409 part/models.py:4411 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4561 +#: part/models.py:4554 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4582 +#: part/models.py:4575 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4595 +#: part/models.py:4588 msgid "Parent BOM item" msgstr "" -#: part/models.py:4603 +#: part/models.py:4596 msgid "Substitute part" msgstr "" -#: part/models.py:4619 +#: part/models.py:4612 msgid "Part 1" msgstr "" -#: part/models.py:4627 +#: part/models.py:4620 msgid "Part 2" msgstr "" -#: part/models.py:4628 +#: part/models.py:4621 msgid "Select Related Part" msgstr "" -#: part/models.py:4647 +#: part/models.py:4640 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4652 +#: part/models.py:4645 msgid "Duplicate relationship already exists" msgstr "" @@ -7571,326 +7568,326 @@ msgstr "" msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:434 +#: part/serializers.py:432 msgid "No parts selected" msgstr "" -#: part/serializers.py:444 +#: part/serializers.py:442 msgid "Select category" msgstr "" -#: part/serializers.py:479 +#: part/serializers.py:477 msgid "Original Part" msgstr "" -#: part/serializers.py:480 +#: part/serializers.py:478 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:485 +#: part/serializers.py:483 msgid "Copy Image" msgstr "" -#: part/serializers.py:486 +#: part/serializers.py:484 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:492 part/templates/part/detail.html:293 +#: part/serializers.py:490 part/templates/part/detail.html:293 msgid "Copy BOM" msgstr "" -#: part/serializers.py:493 +#: part/serializers.py:491 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:499 +#: part/serializers.py:497 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:500 +#: part/serializers.py:498 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:506 +#: part/serializers.py:504 msgid "Copy Notes" msgstr "" -#: part/serializers.py:507 +#: part/serializers.py:505 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:525 +#: part/serializers.py:523 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:527 +#: part/serializers.py:525 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:534 +#: part/serializers.py:532 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:535 +#: part/serializers.py:533 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:552 +#: part/serializers.py:550 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:568 +#: part/serializers.py:566 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:578 +#: part/serializers.py:576 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:585 +#: part/serializers.py:583 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:594 +#: part/serializers.py:592 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:605 +#: part/serializers.py:603 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:612 +#: part/serializers.py:610 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:924 +#: part/serializers.py:922 msgid "Revisions" msgstr "" -#: part/serializers.py:929 +#: part/serializers.py:927 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:932 +#: part/serializers.py:930 msgid "Variant Stock" msgstr "" -#: part/serializers.py:962 part/templates/part/copy_part.html:9 +#: part/serializers.py:960 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:474 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:963 +#: part/serializers.py:961 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:969 templates/js/translated/part.js:103 +#: part/serializers.py:967 templates/js/translated/part.js:103 msgid "Initial Stock" msgstr "" -#: part/serializers.py:970 +#: part/serializers.py:968 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:976 +#: part/serializers.py:974 msgid "Supplier Information" msgstr "" -#: part/serializers.py:977 +#: part/serializers.py:975 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:985 +#: part/serializers.py:983 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:986 +#: part/serializers.py:984 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:991 +#: part/serializers.py:989 msgid "Existing Image" msgstr "" -#: part/serializers.py:992 +#: part/serializers.py:990 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:1009 +#: part/serializers.py:1007 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1215 +#: part/serializers.py:1213 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1225 +#: part/serializers.py:1223 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1235 +#: part/serializers.py:1233 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1241 +#: part/serializers.py:1239 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1242 +#: part/serializers.py:1240 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1247 +#: part/serializers.py:1245 msgid "Generate Report" msgstr "" -#: part/serializers.py:1248 +#: part/serializers.py:1246 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1253 +#: part/serializers.py:1251 msgid "Update Parts" msgstr "" -#: part/serializers.py:1254 +#: part/serializers.py:1252 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1262 +#: part/serializers.py:1260 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1368 +#: part/serializers.py:1366 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1375 +#: part/serializers.py:1373 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1383 +#: part/serializers.py:1381 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1390 +#: part/serializers.py:1388 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1419 +#: part/serializers.py:1417 msgid "Update" msgstr "" -#: part/serializers.py:1420 +#: part/serializers.py:1418 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1443 +#: part/serializers.py:1441 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1450 +#: part/serializers.py:1448 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1453 +#: part/serializers.py:1451 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1597 +#: part/serializers.py:1595 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1606 +#: part/serializers.py:1604 msgid "Component Name" msgstr "" -#: part/serializers.py:1609 +#: part/serializers.py:1607 msgid "Component IPN" msgstr "" -#: part/serializers.py:1612 +#: part/serializers.py:1610 msgid "Component Description" msgstr "" -#: part/serializers.py:1618 +#: part/serializers.py:1616 msgid "Select the component part" msgstr "" -#: part/serializers.py:1627 part/templates/part/part_base.html:242 +#: part/serializers.py:1625 part/templates/part/part_base.html:242 #: templates/js/translated/bom.js:1219 msgid "Can Build" msgstr "" -#: part/serializers.py:1858 +#: part/serializers.py:1856 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1866 +#: part/serializers.py:1864 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1867 +#: part/serializers.py:1865 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1872 +#: part/serializers.py:1870 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1873 +#: part/serializers.py:1871 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1878 +#: part/serializers.py:1876 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1879 +#: part/serializers.py:1877 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1884 +#: part/serializers.py:1882 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1885 +#: part/serializers.py:1883 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1922 +#: part/serializers.py:1920 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1923 +#: part/serializers.py:1921 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1955 +#: part/serializers.py:1953 msgid "No part column specified" msgstr "" -#: part/serializers.py:1999 +#: part/serializers.py:1997 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:2002 +#: part/serializers.py:2000 msgid "No matching part found" msgstr "" -#: part/serializers.py:2004 +#: part/serializers.py:2002 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:2013 +#: part/serializers.py:2011 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:2021 +#: part/serializers.py:2019 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:2044 +#: part/serializers.py:2042 msgid "At least one BOM item is required" msgstr "" @@ -8216,7 +8213,7 @@ msgid "Subscribe to notifications for this part" msgstr "" #: part/templates/part/part_base.html:52 -#: stock/templates/stock/item_base.html:62 +#: stock/templates/stock/item_base.html:61 #: stock/templates/stock/location.html:71 templates/js/translated/label.js:136 msgid "Print Label" msgstr "" @@ -8226,7 +8223,7 @@ msgid "Show pricing information" msgstr "" #: part/templates/part/part_base.html:63 -#: stock/templates/stock/item_base.html:110 +#: stock/templates/stock/item_base.html:106 #: stock/templates/stock/location.html:80 msgid "Stock actions" msgstr "" @@ -8297,12 +8294,12 @@ msgid "Required for Orders" msgstr "" #: part/templates/part/part_base.html:225 -#: stock/templates/stock/item_base.html:388 +#: stock/templates/stock/item_base.html:384 msgid "Allocated to Build Orders" msgstr "" #: part/templates/part/part_base.html:234 -#: stock/templates/stock/item_base.html:381 +#: stock/templates/stock/item_base.html:377 msgid "Allocated to Sales Orders" msgstr "" @@ -8322,7 +8319,7 @@ msgid "Latest Serial Number" msgstr "" #: part/templates/part/part_base.html:372 -#: stock/templates/stock/item_base.html:322 +#: stock/templates/stock/item_base.html:318 msgid "Search for serial number" msgstr "" @@ -8449,7 +8446,7 @@ msgid "Edit" msgstr "" #: part/templates/part/prices.html:28 stock/admin.py:252 -#: stock/templates/stock/item_base.html:446 +#: stock/templates/stock/item_base.html:442 #: templates/js/translated/company.js:1703 #: templates/js/translated/company.js:1713 #: templates/js/translated/stock.js:2332 @@ -8604,7 +8601,7 @@ msgstr "" msgid "Part Pricing" msgstr "" -#: plugin/api.py:172 +#: plugin/api.py:174 msgid "Plugin cannot be deleted as it is currently active" msgstr "" @@ -8940,7 +8937,7 @@ msgstr "" msgid "Print a border around each label" msgstr "" -#: plugin/builtin/labels/label_sheet.py:47 report/models.py:307 +#: plugin/builtin/labels/label_sheet.py:47 report/models.py:315 msgid "Landscape" msgstr "" @@ -9012,44 +9009,44 @@ msgstr "" msgid "The Supplier which acts as 'TME'" msgstr "" -#: plugin/installer.py:194 plugin/installer.py:274 +#: plugin/installer.py:199 plugin/installer.py:282 msgid "Only staff users can administer plugins" msgstr "" -#: plugin/installer.py:197 +#: plugin/installer.py:202 msgid "Plugin installation is disabled" msgstr "" -#: plugin/installer.py:241 +#: plugin/installer.py:246 msgid "Installed plugin successfully" msgstr "" -#: plugin/installer.py:246 +#: plugin/installer.py:251 #, python-brace-format msgid "Installed plugin into {path}" msgstr "" -#: plugin/installer.py:265 +#: plugin/installer.py:273 msgid "Plugin was not found in registry" msgstr "" -#: plugin/installer.py:268 +#: plugin/installer.py:276 msgid "Plugin is not a packaged plugin" msgstr "" -#: plugin/installer.py:271 +#: plugin/installer.py:279 msgid "Plugin package name not found" msgstr "" -#: plugin/installer.py:291 +#: plugin/installer.py:299 msgid "Plugin uninstalling is disabled" msgstr "" -#: plugin/installer.py:295 +#: plugin/installer.py:303 msgid "Plugin cannot be uninstalled as it is currently active" msgstr "" -#: plugin/installer.py:308 +#: plugin/installer.py:316 msgid "Uninstalled plugin successfully" msgstr "" @@ -9098,7 +9095,7 @@ msgstr "" msgid "Package Plugin" msgstr "" -#: plugin/models.py:220 report/models.py:474 +#: plugin/models.py:220 report/models.py:482 #: templates/InvenTree/settings/plugin_settings.html:9 #: templates/js/translated/plugin.js:51 msgid "Plugin" @@ -9167,6 +9164,38 @@ msgstr "" msgid "InvenTree Contributors" msgstr "" +#: plugin/samples/integration/user_interface_sample.py:22 +msgid "Enable Part Panels" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:23 +msgid "Enable custom panels for Part views" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:28 +msgid "Enable Purchase Order Panels" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:29 +msgid "Enable custom panels for Purchase Order views" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:34 +msgid "Enable Broken Panels" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:35 +msgid "Enable broken panels for testing" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:40 +msgid "Enable Dynamic Panel" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:41 +msgid "Enable dynamic panels for testing" +msgstr "" + #: plugin/serializers.py:81 msgid "Source URL" msgstr "" @@ -9245,12 +9274,36 @@ msgstr "" msgid "Delete the plugin configuration from the database" msgstr "" +#: plugin/serializers.py:324 +msgid "Plugin Key" +msgstr "" + +#: plugin/serializers.py:328 +msgid "Panel Name" +msgstr "" + +#: plugin/serializers.py:332 +msgid "Panel Title" +msgstr "" + +#: plugin/serializers.py:337 +msgid "Panel Icon" +msgstr "" + +#: plugin/serializers.py:341 +msgid "Panel Content (HTML)" +msgstr "" + +#: plugin/serializers.py:345 +msgid "Panel Source (javascript)" +msgstr "" + #: report/api.py:88 msgid "No valid objects provided to template" msgstr "" -#: report/api.py:103 report/models.py:438 report/serializers.py:98 -#: report/serializers.py:148 templates/js/translated/purchase_order.js:1817 +#: report/api.py:103 report/models.py:446 report/serializers.py:99 +#: report/serializers.py:149 templates/js/translated/purchase_order.js:1817 #: templates/js/translated/return_order.js:353 #: templates/js/translated/sales_order.js:887 #: templates/js/translated/sales_order.js:1047 @@ -9281,7 +9334,11 @@ msgstr "" msgid "Error printing label" msgstr "" -#: report/api.py:375 report/api.py:411 +#: report/api.py:358 +msgid "Report saved at time of printing" +msgstr "" + +#: report/api.py:384 report/api.py:420 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" @@ -9318,135 +9375,143 @@ msgstr "" msgid "Revision number (auto-increments)" msgstr "" -#: report/models.py:202 +#: report/models.py:168 +msgid "Attach to Model on Print" +msgstr "" + +#: report/models.py:170 +msgid "Save report output as an attachment against linked model instance when printing" +msgstr "" + +#: report/models.py:210 msgid "Filename Pattern" msgstr "" -#: report/models.py:203 +#: report/models.py:211 msgid "Pattern for generating filenames" msgstr "" -#: report/models.py:208 +#: report/models.py:216 msgid "Template is enabled" msgstr "" -#: report/models.py:214 +#: report/models.py:222 msgid "Target model type for template" msgstr "" -#: report/models.py:234 +#: report/models.py:242 msgid "Filters" msgstr "" -#: report/models.py:235 +#: report/models.py:243 msgid "Template query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:294 report/models.py:361 +#: report/models.py:302 report/models.py:369 msgid "Template file" msgstr "" -#: report/models.py:302 +#: report/models.py:310 msgid "Page size for PDF reports" msgstr "" -#: report/models.py:308 +#: report/models.py:316 msgid "Render report in landscape orientation" msgstr "" -#: report/models.py:367 +#: report/models.py:375 msgid "Width [mm]" msgstr "" -#: report/models.py:368 +#: report/models.py:376 msgid "Label width, specified in mm" msgstr "" -#: report/models.py:374 +#: report/models.py:382 msgid "Height [mm]" msgstr "" -#: report/models.py:375 +#: report/models.py:383 msgid "Label height, specified in mm" msgstr "" -#: report/models.py:438 +#: report/models.py:446 msgid "Number of items to process" msgstr "" -#: report/models.py:444 +#: report/models.py:452 msgid "Report generation is complete" msgstr "" -#: report/models.py:448 templates/js/translated/build.js:2352 +#: report/models.py:456 templates/js/translated/build.js:2352 msgid "Progress" msgstr "" -#: report/models.py:448 +#: report/models.py:456 msgid "Report generation progress" msgstr "" -#: report/models.py:456 +#: report/models.py:464 msgid "Report Template" msgstr "" -#: report/models.py:463 report/models.py:486 +#: report/models.py:471 report/models.py:494 msgid "Output File" msgstr "" -#: report/models.py:464 report/models.py:487 +#: report/models.py:472 report/models.py:495 msgid "Generated output file" msgstr "" -#: report/models.py:475 +#: report/models.py:483 msgid "Label output plugin" msgstr "" -#: report/models.py:479 +#: report/models.py:487 msgid "Label Template" msgstr "" -#: report/models.py:502 +#: report/models.py:510 msgid "Snippet" msgstr "" -#: report/models.py:503 +#: report/models.py:511 msgid "Report snippet file" msgstr "" -#: report/models.py:510 +#: report/models.py:518 msgid "Snippet file description" msgstr "" -#: report/models.py:528 +#: report/models.py:536 msgid "Asset" msgstr "" -#: report/models.py:529 +#: report/models.py:537 msgid "Report asset file" msgstr "" -#: report/models.py:536 +#: report/models.py:544 msgid "Asset file description" msgstr "" -#: report/serializers.py:91 +#: report/serializers.py:92 msgid "Select report template" msgstr "" -#: report/serializers.py:99 report/serializers.py:149 +#: report/serializers.py:100 report/serializers.py:150 msgid "List of item primary keys to include in the report" msgstr "" -#: report/serializers.py:132 +#: report/serializers.py:133 msgid "Select label template" msgstr "" -#: report/serializers.py:140 +#: report/serializers.py:141 msgid "Printing Plugin" msgstr "" -#: report/serializers.py:141 +#: report/serializers.py:142 msgid "Select plugin to use for label printing" msgstr "" @@ -9517,7 +9582,7 @@ msgstr "" msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report.html:103 stock/models.py:2538 +#: report/templates/report/inventree_test_report.html:103 stock/models.py:2533 msgid "Result" msgstr "" @@ -9598,7 +9663,7 @@ msgid "Customer ID" msgstr "" #: stock/admin.py:206 stock/models.py:829 -#: stock/templates/stock/item_base.html:354 +#: stock/templates/stock/item_base.html:350 msgid "Installed In" msgstr "" @@ -9623,7 +9688,7 @@ msgid "Delete on Deplete" msgstr "" #: stock/admin.py:261 stock/models.py:923 -#: stock/templates/stock/item_base.html:433 +#: stock/templates/stock/item_base.html:429 #: templates/js/translated/stock.js:2316 users/models.py:124 msgid "Expiry Date" msgstr "" @@ -9665,7 +9730,7 @@ msgid "Expiry date after" msgstr "" #: stock/api.py:839 stock/serializers.py:611 -#: stock/templates/stock/item_base.html:439 +#: stock/templates/stock/item_base.html:435 #: templates/js/translated/table_filters.js:448 msgid "Stale" msgstr "" @@ -9715,7 +9780,7 @@ msgid "Stock Locations" msgstr "" #: stock/models.py:185 stock/models.py:972 -#: stock/templates/stock/item_base.html:247 +#: stock/templates/stock/item_base.html:243 msgid "Owner" msgstr "" @@ -9826,7 +9891,7 @@ msgstr "" msgid "Build for this stock item" msgstr "" -#: stock/models.py:892 stock/templates/stock/item_base.html:363 +#: stock/models.py:892 stock/templates/stock/item_base.html:359 msgid "Consumed By" msgstr "" @@ -9891,7 +9956,7 @@ msgstr "" msgid "Serial numbers already exist" msgstr "" -#: stock/models.py:1636 +#: stock/models.py:1636 stock/models.py:2436 msgid "Test template does not exist" msgstr "" @@ -9939,67 +10004,67 @@ msgstr "" msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2337 +#: stock/models.py:2335 msgid "Stock Item Tracking" msgstr "" -#: stock/models.py:2370 +#: stock/models.py:2368 msgid "Entry notes" msgstr "" -#: stock/models.py:2410 +#: stock/models.py:2408 msgid "Stock Item Test Result" msgstr "" -#: stock/models.py:2443 +#: stock/models.py:2439 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2448 +#: stock/models.py:2443 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2453 +#: stock/models.py:2448 msgid "Invalid value for this test" msgstr "" -#: stock/models.py:2538 +#: stock/models.py:2533 msgid "Test result" msgstr "" -#: stock/models.py:2545 +#: stock/models.py:2540 msgid "Test output value" msgstr "" -#: stock/models.py:2553 stock/serializers.py:245 +#: stock/models.py:2548 stock/serializers.py:245 msgid "Test result attachment" msgstr "" -#: stock/models.py:2557 +#: stock/models.py:2552 msgid "Test notes" msgstr "" -#: stock/models.py:2565 templates/js/translated/stock.js:1633 +#: stock/models.py:2560 templates/js/translated/stock.js:1633 msgid "Test station" msgstr "" -#: stock/models.py:2566 +#: stock/models.py:2561 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2572 +#: stock/models.py:2567 msgid "Started" msgstr "" -#: stock/models.py:2573 +#: stock/models.py:2568 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2579 +#: stock/models.py:2574 msgid "Finished" msgstr "" -#: stock/models.py:2580 +#: stock/models.py:2575 msgid "The timestamp of the test finish" msgstr "" @@ -10059,7 +10124,7 @@ msgstr "" msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:459 stock/templates/stock/item_base.html:193 +#: stock/serializers.py:459 stock/templates/stock/item_base.html:189 msgid "Parent Item" msgstr "" @@ -10071,7 +10136,7 @@ msgstr "" msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:603 stock/templates/stock/item_base.html:437 +#: stock/serializers.py:603 stock/templates/stock/item_base.html:433 #: templates/js/translated/table_filters.js:442 users/models.py:174 msgid "Expired" msgstr "" @@ -10410,7 +10475,7 @@ msgstr "" msgid "Test Data" msgstr "" -#: stock/templates/stock/item.html:85 stock/templates/stock/item_base.html:65 +#: stock/templates/stock/item.html:85 msgid "Test Report" msgstr "" @@ -10450,200 +10515,204 @@ msgstr "" msgid "Scan to Location" msgstr "" -#: stock/templates/stock/item_base.html:59 +#: stock/templates/stock/item_base.html:58 #: stock/templates/stock/location.html:67 #: templates/js/translated/filters.js:434 msgid "Printing actions" msgstr "" -#: stock/templates/stock/item_base.html:75 +#: stock/templates/stock/item_base.html:63 templates/js/translated/report.js:49 +msgid "Print Report" +msgstr "" + +#: stock/templates/stock/item_base.html:71 msgid "Stock adjustment actions" msgstr "" -#: stock/templates/stock/item_base.html:79 +#: stock/templates/stock/item_base.html:75 #: stock/templates/stock/location.html:87 templates/js/translated/stock.js:1909 msgid "Count stock" msgstr "" -#: stock/templates/stock/item_base.html:81 +#: stock/templates/stock/item_base.html:77 #: templates/js/translated/stock.js:1891 msgid "Add stock" msgstr "" -#: stock/templates/stock/item_base.html:82 +#: stock/templates/stock/item_base.html:78 #: templates/js/translated/stock.js:1900 msgid "Remove stock" msgstr "" -#: stock/templates/stock/item_base.html:85 +#: stock/templates/stock/item_base.html:81 msgid "Serialize stock" msgstr "" -#: stock/templates/stock/item_base.html:88 +#: stock/templates/stock/item_base.html:84 #: stock/templates/stock/location.html:93 templates/js/translated/stock.js:1918 msgid "Transfer stock" msgstr "" -#: stock/templates/stock/item_base.html:91 +#: stock/templates/stock/item_base.html:87 #: templates/js/translated/stock.js:1973 msgid "Assign to customer" msgstr "" -#: stock/templates/stock/item_base.html:94 +#: stock/templates/stock/item_base.html:90 msgid "Return to stock" msgstr "" -#: stock/templates/stock/item_base.html:97 +#: stock/templates/stock/item_base.html:93 msgid "Uninstall stock item" msgstr "" -#: stock/templates/stock/item_base.html:97 +#: stock/templates/stock/item_base.html:93 msgid "Uninstall" msgstr "" -#: stock/templates/stock/item_base.html:101 +#: stock/templates/stock/item_base.html:97 msgid "Install stock item" msgstr "" -#: stock/templates/stock/item_base.html:101 +#: stock/templates/stock/item_base.html:97 msgid "Install" msgstr "" -#: stock/templates/stock/item_base.html:115 +#: stock/templates/stock/item_base.html:111 msgid "Convert to variant" msgstr "" -#: stock/templates/stock/item_base.html:118 +#: stock/templates/stock/item_base.html:114 msgid "Duplicate stock item" msgstr "" -#: stock/templates/stock/item_base.html:120 +#: stock/templates/stock/item_base.html:116 msgid "Edit stock item" msgstr "" -#: stock/templates/stock/item_base.html:123 +#: stock/templates/stock/item_base.html:119 msgid "Delete stock item" msgstr "" -#: stock/templates/stock/item_base.html:169 templates/InvenTree/search.html:139 +#: stock/templates/stock/item_base.html:165 templates/InvenTree/search.html:139 #: templates/js/translated/build.js:2298 templates/navbar.html:38 msgid "Build" msgstr "" -#: stock/templates/stock/item_base.html:211 +#: stock/templates/stock/item_base.html:207 msgid "No manufacturer set" msgstr "" -#: stock/templates/stock/item_base.html:251 +#: stock/templates/stock/item_base.html:247 msgid "You are not in the list of owners of this item. This stock item cannot be edited." msgstr "" -#: stock/templates/stock/item_base.html:252 +#: stock/templates/stock/item_base.html:248 #: stock/templates/stock/location.html:146 msgid "Read only" msgstr "" -#: stock/templates/stock/item_base.html:265 +#: stock/templates/stock/item_base.html:261 msgid "This stock item is unavailable" msgstr "" -#: stock/templates/stock/item_base.html:271 +#: stock/templates/stock/item_base.html:267 msgid "This stock item is in production and cannot be edited." msgstr "" -#: stock/templates/stock/item_base.html:272 +#: stock/templates/stock/item_base.html:268 msgid "Edit the stock item from the build view." msgstr "" -#: stock/templates/stock/item_base.html:287 +#: stock/templates/stock/item_base.html:283 msgid "This stock item is allocated to Sales Order" msgstr "" -#: stock/templates/stock/item_base.html:295 +#: stock/templates/stock/item_base.html:291 msgid "This stock item is allocated to Build Order" msgstr "" -#: stock/templates/stock/item_base.html:311 +#: stock/templates/stock/item_base.html:307 msgid "This stock item is serialized. It has a unique serial number and the quantity cannot be adjusted" msgstr "" -#: stock/templates/stock/item_base.html:317 +#: stock/templates/stock/item_base.html:313 msgid "previous page" msgstr "" -#: stock/templates/stock/item_base.html:317 +#: stock/templates/stock/item_base.html:313 msgid "Navigate to previous serial number" msgstr "" -#: stock/templates/stock/item_base.html:326 +#: stock/templates/stock/item_base.html:322 msgid "next page" msgstr "" -#: stock/templates/stock/item_base.html:326 +#: stock/templates/stock/item_base.html:322 msgid "Navigate to next serial number" msgstr "" -#: stock/templates/stock/item_base.html:398 +#: stock/templates/stock/item_base.html:394 #: templates/js/translated/build.js:2555 msgid "No location set" msgstr "" -#: stock/templates/stock/item_base.html:413 +#: stock/templates/stock/item_base.html:409 msgid "Tests" msgstr "" -#: stock/templates/stock/item_base.html:419 +#: stock/templates/stock/item_base.html:415 msgid "This stock item has not passed all required tests" msgstr "" -#: stock/templates/stock/item_base.html:437 +#: stock/templates/stock/item_base.html:433 #, python-format msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:439 +#: stock/templates/stock/item_base.html:435 #, python-format msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:455 +#: stock/templates/stock/item_base.html:451 msgid "No stocktake performed" msgstr "" -#: stock/templates/stock/item_base.html:504 +#: stock/templates/stock/item_base.html:500 #: templates/js/translated/stock.js:2038 msgid "stock item" msgstr "" -#: stock/templates/stock/item_base.html:527 +#: stock/templates/stock/item_base.html:523 msgid "Edit Stock Status" msgstr "" -#: stock/templates/stock/item_base.html:536 +#: stock/templates/stock/item_base.html:532 msgid "Stock Item QR Code" msgstr "" -#: stock/templates/stock/item_base.html:547 +#: stock/templates/stock/item_base.html:543 msgid "Link Barcode to Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:611 +#: stock/templates/stock/item_base.html:607 msgid "Select one of the part variants listed below." msgstr "" -#: stock/templates/stock/item_base.html:614 +#: stock/templates/stock/item_base.html:610 msgid "Warning" msgstr "" -#: stock/templates/stock/item_base.html:615 +#: stock/templates/stock/item_base.html:611 msgid "This action cannot be easily undone" msgstr "" -#: stock/templates/stock/item_base.html:623 +#: stock/templates/stock/item_base.html:619 msgid "Convert Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:656 +#: stock/templates/stock/item_base.html:652 msgid "Return to Stock" msgstr "" @@ -11310,7 +11379,7 @@ msgid "Delete Location Type" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:503 -#: templates/InvenTree/settings/stock.html:38 +#: templates/InvenTree/settings/stock.html:39 msgid "New Location Type" msgstr "" @@ -11367,7 +11436,7 @@ msgstr "" msgid "Stock Settings" msgstr "" -#: templates/InvenTree/settings/stock.html:34 +#: templates/InvenTree/settings/stock.html:35 msgid "Stock Location Types" msgstr "" @@ -11852,23 +11921,23 @@ msgstr "" msgid "Barcode Identifier" msgstr "" -#: templates/base.html:103 +#: templates/base.html:102 msgid "Server Restart Required" msgstr "" -#: templates/base.html:106 +#: templates/base.html:105 msgid "A configuration option has been changed which requires a server restart" msgstr "" -#: templates/base.html:106 templates/base.html:116 +#: templates/base.html:105 templates/base.html:115 msgid "Contact your system administrator for further information" msgstr "" -#: templates/base.html:113 +#: templates/base.html:112 msgid "Pending Database Migrations" msgstr "" -#: templates/base.html:116 +#: templates/base.html:115 msgid "There are pending database migrations which require attention" msgstr "" @@ -13946,10 +14015,6 @@ msgstr "" msgid "Delete line item" msgstr "" -#: templates/js/translated/report.js:49 -msgid "Print Report" -msgstr "" - #: templates/js/translated/report.js:68 msgid "Report print successful" msgstr "" diff --git a/src/backend/InvenTree/locale/sv/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/sv/LC_MESSAGES/django.po index 902fd533016e..823d569d6f8b 100644 --- a/src/backend/InvenTree/locale/sv/LC_MESSAGES/django.po +++ b/src/backend/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: 2024-08-29 07:07+0000\n" -"PO-Revision-Date: 2024-08-29 07:10\n" +"POT-Creation-Date: 2024-09-16 00:37+0000\n" +"PO-Revision-Date: 2024-09-16 00:40\n" "Last-Translator: \n" "Language-Team: Swedish\n" "Language: sv_SE\n" @@ -65,9 +65,9 @@ msgstr "Ange datum" #: 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:59 -#: part/models.py:3309 part/templates/part/part_sidebar.html:65 +#: part/models.py:3296 part/templates/part/part_sidebar.html:65 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/admin.py:231 stock/models.py:2369 stock/models.py:2557 +#: stock/admin.py:231 stock/models.py:2367 stock/models.py:2552 #: stock/serializers.py:705 stock/serializers.py:863 stock/serializers.py:989 #: stock/serializers.py:1039 stock/serializers.py:1350 #: stock/serializers.py:1439 stock/serializers.py:1604 @@ -364,7 +364,7 @@ msgstr "Kinesiska (Traditionell)" msgid "[{site_name}] Log in to the app" msgstr "[{site_name}] Logga in på appen" -#: InvenTree/magic_login.py:38 InvenTree/serializers.py:413 +#: InvenTree/magic_login.py:38 InvenTree/serializers.py:416 #: company/models.py:133 company/templates/company/company_base.html:138 #: templates/InvenTree/settings/user.html:49 #: templates/js/translated/company.js:677 @@ -419,9 +419,9 @@ msgstr "" msgid "Invalid choice" msgstr "Ogiltigt val" -#: InvenTree/models.py:767 common/models.py:2704 common/models.py:3131 -#: common/models.py:3351 common/serializers.py:439 company/models.py:590 -#: machine/models.py:24 part/models.py:995 part/models.py:3776 +#: InvenTree/models.py:767 common/models.py:2705 common/models.py:3132 +#: common/models.py:3352 common/serializers.py:455 company/models.py:590 +#: machine/models.py:24 part/models.py:995 part/models.py:3763 #: plugin/models.py:51 report/models.py:149 stock/models.py:82 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -446,10 +446,10 @@ msgstr "Namn" #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 order/models.py:289 #: order/models.py:1406 part/admin.py:305 part/admin.py:411 part/models.py:1018 -#: part/models.py:3791 part/templates/part/category.html:79 +#: part/models.py:3778 part/templates/part/category.html:79 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:155 -#: report/models.py:509 report/models.py:535 +#: report/models.py:517 report/models.py:543 #: report/templates/report/inventree_build_order_report.html:117 #: stock/admin.py:54 stock/models.py:88 stock/templates/stock/location.html:122 #: templates/InvenTree/settings/notifications.html:19 @@ -517,12 +517,12 @@ msgstr "Serverfel" msgid "An error has been logged by the server." msgstr "Ett fel har loggats av servern." -#: InvenTree/serializers.py:63 part/models.py:4400 +#: InvenTree/serializers.py:63 part/models.py:4387 msgid "Must be a valid number" msgstr "Måste vara ett giltigt nummer" #: InvenTree/serializers.py:100 company/models.py:183 -#: company/templates/company/company_base.html:112 part/models.py:3127 +#: company/templates/company/company_base.html:112 part/models.py:3114 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -536,43 +536,43 @@ msgstr "Välj valuta från tillgängliga alternativ" msgid "Username" msgstr "Användarnamn" -#: InvenTree/serializers.py:407 templates/InvenTree/settings/user.html:37 +#: InvenTree/serializers.py:408 templates/InvenTree/settings/user.html:37 msgid "First Name" msgstr "Förnamn" -#: InvenTree/serializers.py:407 +#: InvenTree/serializers.py:408 msgid "First name of the user" msgstr "Förnamn på användaren" -#: InvenTree/serializers.py:410 templates/InvenTree/settings/user.html:41 +#: InvenTree/serializers.py:412 templates/InvenTree/settings/user.html:41 msgid "Last Name" msgstr "Efternamn" -#: InvenTree/serializers.py:410 +#: InvenTree/serializers.py:412 msgid "Last name of the user" msgstr "Efternamn på användaren" -#: InvenTree/serializers.py:413 +#: InvenTree/serializers.py:416 msgid "Email address of the user" msgstr "Avsändarens E-postadress" -#: InvenTree/serializers.py:438 +#: InvenTree/serializers.py:441 msgid "Staff" msgstr "Personal" -#: InvenTree/serializers.py:438 +#: InvenTree/serializers.py:441 msgid "Does this user have staff permissions" msgstr "Har den här användaren behörighet för personal" -#: InvenTree/serializers.py:441 +#: InvenTree/serializers.py:445 msgid "Superuser" msgstr "Superanvändare" -#: InvenTree/serializers.py:441 +#: InvenTree/serializers.py:445 msgid "Is this user a superuser" msgstr "Är den här användaren en superanvändare" -#: InvenTree/serializers.py:444 common/models.py:2709 company/models.py:160 +#: InvenTree/serializers.py:449 common/models.py:2710 company/models.py:160 #: company/models.py:798 machine/models.py:39 part/admin.py:88 #: part/models.py:1201 plugin/models.py:66 #: templates/js/translated/company.js:523 @@ -585,89 +585,89 @@ msgstr "Är den här användaren en superanvändare" msgid "Active" msgstr "Aktiv" -#: InvenTree/serializers.py:444 +#: InvenTree/serializers.py:449 msgid "Is this user account active" msgstr "Är detta användarkonto aktivt" -#: InvenTree/serializers.py:462 +#: InvenTree/serializers.py:467 msgid "You do not have permission to change this user role." msgstr "Du har inte behörighet att ändra denna användarrollen." -#: InvenTree/serializers.py:474 +#: InvenTree/serializers.py:503 msgid "Only superusers can create new users" msgstr "Endast superanvändare kan skapa nya användare" -#: InvenTree/serializers.py:493 +#: InvenTree/serializers.py:522 msgid "Your account has been created." msgstr "Ditt konto har skapats." -#: InvenTree/serializers.py:495 +#: InvenTree/serializers.py:524 msgid "Please use the password reset function to login" msgstr "Använd funktionen för lösenordsåterställning för att logga in" -#: InvenTree/serializers.py:502 +#: InvenTree/serializers.py:531 msgid "Welcome to InvenTree" msgstr "Välkommen till InvenTree" -#: InvenTree/serializers.py:560 +#: InvenTree/serializers.py:589 msgid "Invalid value" msgstr "Ogiltigt värde" -#: InvenTree/serializers.py:580 importer/models.py:64 +#: InvenTree/serializers.py:609 importer/models.py:64 msgid "Data File" msgstr "Datafil" -#: InvenTree/serializers.py:581 +#: InvenTree/serializers.py:610 msgid "Select data file for upload" msgstr "Välj fil för uppladdning" -#: InvenTree/serializers.py:598 +#: InvenTree/serializers.py:627 msgid "Unsupported file type" msgstr "Filtypen stöds inte" -#: InvenTree/serializers.py:604 +#: InvenTree/serializers.py:633 msgid "File is too large" msgstr "Filen är för stor" -#: InvenTree/serializers.py:625 +#: InvenTree/serializers.py:654 msgid "No columns found in file" msgstr "Inga kolumner hittades i filen" -#: InvenTree/serializers.py:628 +#: InvenTree/serializers.py:657 msgid "No data rows found in file" msgstr "Inga rader hittades i filen" -#: InvenTree/serializers.py:740 +#: InvenTree/serializers.py:769 msgid "No data rows provided" msgstr "Inga rader angivna" -#: InvenTree/serializers.py:743 +#: InvenTree/serializers.py:772 msgid "No data columns supplied" msgstr "Inga datakolumner har angetts" -#: InvenTree/serializers.py:809 +#: InvenTree/serializers.py:838 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "Saknar obligatorisk kolumn: '{name}'" -#: InvenTree/serializers.py:818 +#: InvenTree/serializers.py:847 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "Duplicerad kolumn: '{col}'" -#: InvenTree/serializers.py:857 +#: InvenTree/serializers.py:886 msgid "Remote Image" msgstr "Fjärransluten bild" -#: InvenTree/serializers.py:858 +#: InvenTree/serializers.py:887 msgid "URL of remote image file" msgstr "URL för fjärrbildsfil" -#: InvenTree/serializers.py:876 +#: InvenTree/serializers.py:905 msgid "Downloading images from remote URL is not enabled" msgstr "Nedladdning av bilder från fjärr-URL är inte aktiverad" -#: InvenTree/status.py:65 part/serializers.py:1267 +#: InvenTree/status.py:65 part/serializers.py:1265 msgid "Background worker check failed" msgstr "Kontroll av bakgrundsarbetare misslyckades" @@ -759,7 +759,7 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "Tillverkningen måste avbrytas innan den kan tas bort" -#: build/api.py:319 build/serializers.py:1332 part/models.py:4278 +#: build/api.py:319 build/serializers.py:1332 part/models.py:4265 #: templates/js/translated/bom.js:997 templates/js/translated/bom.js:1037 #: templates/js/translated/build.js:2705 #: templates/js/translated/table_filters.js:197 @@ -767,7 +767,7 @@ msgstr "Tillverkningen måste avbrytas innan den kan tas bort" msgid "Consumable" msgstr "" -#: build/api.py:320 build/serializers.py:1333 part/models.py:4272 +#: build/api.py:320 build/serializers.py:1333 part/models.py:4259 #: part/templates/part/upload_bom.html:58 templates/js/translated/bom.js:1001 #: templates/js/translated/bom.js:1028 templates/js/translated/build.js:2696 #: templates/js/translated/table_filters.js:193 @@ -777,7 +777,7 @@ msgid "Optional" msgstr "Valfri" #: build/api.py:321 common/models.py:1491 part/admin.py:91 part/admin.py:428 -#: part/models.py:1166 part/serializers.py:1596 +#: part/models.py:1166 part/serializers.py:1594 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:337 #: templates/js/translated/table_filters.js:729 @@ -816,7 +816,7 @@ msgstr "Allokerad" msgid "Available" msgstr "Tillgänglig" -#: build/models.py:87 build/templates/build/build_base.html:9 +#: build/models.py:88 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_report.html:105 #: stock/serializers.py:85 templates/email/build_order_completed.html:16 @@ -825,7 +825,7 @@ msgstr "Tillgänglig" msgid "Build Order" msgstr "Byggorder" -#: build/models.py:88 build/templates/build/build_base.html:13 +#: build/models.py:89 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:111 #: order/templates/order/so_sidebar.html:13 @@ -866,7 +866,7 @@ msgstr "Tillverknings order referens" #: build/models.py:243 build/serializers.py:1331 order/models.py:468 #: order/models.py:979 order/models.py:1366 order/models.py:2128 -#: part/admin.py:414 part/models.py:4293 part/templates/part/upload_bom.html:54 +#: part/admin.py:414 part/models.py:4280 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 @@ -892,11 +892,11 @@ msgstr "Tillverknings order till vilken detta produkt är tilldelad" #: build/templates/build/build_base.html:105 #: build/templates/build/detail.html:29 company/models.py:1043 order/api.py:761 #: order/models.py:1496 order/models.py:1651 order/models.py:1652 -#: part/api.py:1506 part/api.py:1806 part/models.py:419 part/models.py:3138 -#: part/models.py:3282 part/models.py:3430 part/models.py:3451 -#: part/models.py:3473 part/models.py:3609 part/models.py:3951 -#: part/models.py:4114 part/models.py:4244 part/models.py:4602 -#: part/serializers.py:1213 part/serializers.py:1857 +#: part/api.py:1506 part/api.py:1806 part/models.py:419 part/models.py:3125 +#: part/models.py:3269 part/models.py:3417 part/models.py:3438 +#: part/models.py:3460 part/models.py:3596 part/models.py:3938 +#: part/models.py:4101 part/models.py:4231 part/models.py:4595 +#: part/serializers.py:1211 part/serializers.py:1855 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -1063,12 +1063,12 @@ msgstr "" #: order/templates/order/return_order_base.html:148 #: order/templates/order/sales_order_base.html:187 #: part/templates/part/part_base.html:399 stock/models.py:859 -#: stock/templates/stock/item_base.html:200 +#: stock/templates/stock/item_base.html:196 #: templates/js/translated/company.js:1019 msgid "External Link" msgstr "Extern länk" -#: build/models.py:378 common/models.py:3272 part/models.py:1070 +#: build/models.py:378 common/models.py:3273 part/models.py:1070 #: stock/models.py:859 msgid "Link to external URL" msgstr "Länk till extern URL" @@ -1110,7 +1110,7 @@ msgstr "Tillverknings order {build} har slutförts" msgid "A build order has been completed" msgstr "En tillverknings order har slutförts" -#: build/models.py:968 build/models.py:1056 +#: build/models.py:968 build/models.py:1057 msgid "No build output specified" msgstr "Ingen byggutgång angiven" @@ -1122,37 +1122,37 @@ msgstr "Byggutgång är redan slutförd" msgid "Build output does not match Build Order" msgstr "Byggutgång matchar inte bygg order" -#: build/models.py:1060 build/serializers.py:279 build/serializers.py:328 +#: build/models.py:1061 build/serializers.py:279 build/serializers.py:328 #: build/serializers.py:959 order/models.py:565 order/serializers.py:500 -#: order/serializers.py:666 part/serializers.py:1590 part/serializers.py:2019 +#: order/serializers.py:666 part/serializers.py:1588 part/serializers.py:2017 #: stock/models.py:704 stock/models.py:1515 stock/serializers.py:676 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:1065 build/serializers.py:284 +#: build/models.py:1066 build/serializers.py:284 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1125 build/serializers.py:607 +#: build/models.py:1126 build/serializers.py:607 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "" -#: build/models.py:1466 +#: build/models.py:1477 msgid "Build Order Line Item" msgstr "" -#: build/models.py:1491 +#: build/models.py:1502 msgid "Build object" msgstr "" -#: build/models.py:1505 build/models.py:1761 build/serializers.py:266 +#: build/models.py:1516 build/models.py:1775 build/serializers.py:266 #: build/serializers.py:313 build/serializers.py:1339 #: build/templates/build/build_base.html:110 -#: build/templates/build/detail.html:34 common/models.py:2581 +#: build/templates/build/detail.html:34 common/models.py:2582 #: order/models.py:1349 order/models.py:2034 order/serializers.py:1464 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:413 -#: part/forms.py:48 part/models.py:3296 part/models.py:4266 +#: part/forms.py:48 part/models.py:3283 part/models.py:4253 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1163,9 +1163,9 @@ msgstr "" #: report/templates/report/inventree_test_report.html:90 #: report/templates/report/inventree_test_report.html:169 stock/admin.py:160 #: stock/serializers.py:128 stock/serializers.py:168 stock/serializers.py:667 -#: stock/templates/stock/item_base.html:287 -#: stock/templates/stock/item_base.html:295 -#: stock/templates/stock/item_base.html:342 +#: stock/templates/stock/item_base.html:283 +#: stock/templates/stock/item_base.html:291 +#: stock/templates/stock/item_base.html:338 #: templates/email/build_order_completed.html:18 #: templates/js/translated/barcode.js:579 templates/js/translated/bom.js:771 #: templates/js/translated/bom.js:981 templates/js/translated/build.js:525 @@ -1194,41 +1194,41 @@ msgstr "" msgid "Quantity" msgstr "Antal" -#: build/models.py:1506 +#: build/models.py:1517 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1586 +#: build/models.py:1597 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:1595 +#: build/models.py:1606 #, 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:1605 order/models.py:1985 +#: build/models.py:1616 order/models.py:1985 msgid "Stock item is over-allocated" msgstr "Lagerposten är överallokerad" -#: build/models.py:1611 order/models.py:1988 +#: build/models.py:1622 order/models.py:1988 msgid "Allocation quantity must be greater than zero" msgstr "Allokeringsmängden måste vara större än noll" -#: build/models.py:1617 +#: build/models.py:1628 msgid "Quantity must be 1 for serialized stock" msgstr "Antal måste vara 1 för serialiserat lager" -#: build/models.py:1676 +#: build/models.py:1687 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1748 build/serializers.py:939 order/serializers.py:1301 +#: build/models.py:1762 build/serializers.py:939 order/serializers.py:1301 #: order/serializers.py:1322 stock/models.py:381 stock/serializers.py:94 #: stock/serializers.py:770 stock/serializers.py:1288 stock/serializers.py:1400 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 -#: stock/templates/stock/item_base.html:194 +#: stock/templates/stock/item_base.html:190 #: templates/js/translated/build.js:1921 #: templates/js/translated/sales_order.js:301 #: templates/js/translated/sales_order.js:1234 @@ -1241,19 +1241,19 @@ msgstr "" msgid "Stock Item" msgstr "Artikel i lager" -#: build/models.py:1749 +#: build/models.py:1763 msgid "Source stock item" msgstr "Källa lagervara" -#: build/models.py:1762 +#: build/models.py:1776 msgid "Stock quantity to allocate to build" msgstr "Lagersaldo att allokera för att bygga" -#: build/models.py:1770 +#: build/models.py:1784 msgid "Install into" msgstr "Installera till" -#: build/models.py:1771 +#: build/models.py:1785 msgid "Destination stock item" msgstr "Destination lagervara" @@ -1262,7 +1262,7 @@ msgid "Build Level" msgstr "" #: build/serializers.py:115 build/serializers.py:1234 build/serializers.py:1323 -#: part/admin.py:41 part/admin.py:408 part/models.py:4116 part/stocktake.py:219 +#: part/admin.py:41 part/admin.py:408 part/models.py:4103 part/stocktake.py:219 #: stock/admin.py:157 msgid "Part Name" msgstr "" @@ -1323,10 +1323,10 @@ msgid "Enter serial numbers for build outputs" msgstr "Ange serienummer för att tillverkade produkter" #: build/serializers.py:359 build/serializers.py:500 build/serializers.py:572 -#: order/serializers.py:655 order/serializers.py:778 order/serializers.py:1789 -#: part/serializers.py:1233 stock/serializers.py:103 stock/serializers.py:698 +#: order/serializers.py:655 order/serializers.py:778 order/serializers.py:1797 +#: part/serializers.py:1231 stock/serializers.py:103 stock/serializers.py:698 #: stock/serializers.py:858 stock/serializers.py:984 stock/serializers.py:1432 -#: stock/serializers.py:1688 stock/templates/stock/item_base.html:394 +#: stock/serializers.py:1688 stock/templates/stock/item_base.html:390 #: templates/js/translated/barcode.js:578 #: templates/js/translated/barcode.js:826 templates/js/translated/build.js:1035 #: templates/js/translated/build.js:1177 templates/js/translated/build.js:2547 @@ -1390,7 +1390,7 @@ msgstr "Plats för färdiga produkter" #: build/templates/build/detail.html:62 order/models.py:477 #: order/models.py:1003 order/models.py:2152 order/serializers.py:687 #: stock/admin.py:165 stock/serializers.py:1035 stock/serializers.py:1576 -#: stock/templates/stock/item_base.html:427 +#: stock/templates/stock/item_base.html:423 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2366 #: templates/js/translated/purchase_order.js:1371 #: templates/js/translated/purchase_order.js:1792 @@ -1522,7 +1522,7 @@ msgstr "" msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:1030 order/serializers.py:1614 +#: build/serializers.py:1030 order/serializers.py:1622 msgid "Allocation items must be provided" msgstr "" @@ -1590,7 +1590,7 @@ msgstr "" #: build/serializers.py:1230 company/models.py:849 #: company/templates/company/supplier_part.html:160 order/serializers.py:691 #: stock/admin.py:229 stock/models.py:822 stock/serializers.py:1586 -#: stock/templates/stock/item_base.html:240 +#: stock/templates/stock/item_base.html:236 #: templates/js/translated/company.js:1646 #: templates/js/translated/purchase_order.js:1169 #: templates/js/translated/purchase_order.js:1332 @@ -1600,12 +1600,12 @@ msgid "Packaging" msgstr "" #: build/serializers.py:1233 part/admin.py:39 part/admin.py:398 -#: part/models.py:4115 part/stocktake.py:218 stock/admin.py:153 +#: part/models.py:4102 part/stocktake.py:218 stock/admin.py:153 msgid "Part ID" msgstr "" #: build/serializers.py:1235 build/serializers.py:1324 part/admin.py:402 -#: part/models.py:4117 +#: part/models.py:4104 msgid "Part IPN" msgstr "" @@ -1625,7 +1625,7 @@ msgstr "" #: build/serializers.py:1243 #: report/templates/report/inventree_return_order_report.html:25 #: report/templates/report/inventree_test_report.html:88 stock/models.py:849 -#: stock/serializers.py:152 stock/templates/stock/item_base.html:311 +#: stock/serializers.py:152 stock/templates/stock/item_base.html:307 #: templates/js/translated/build.js:523 templates/js/translated/build.js:1543 #: templates/js/translated/build.js:2530 #: templates/js/translated/model_renderers.js:231 @@ -1644,7 +1644,7 @@ msgstr "Serienummer" msgid "Allocated Quantity" msgstr "" -#: build/serializers.py:1257 stock/templates/stock/item_base.html:340 +#: build/serializers.py:1257 stock/templates/stock/item_base.html:336 msgid "Available Quantity" msgstr "" @@ -1667,13 +1667,13 @@ msgstr "" msgid "Inherited" msgstr "" -#: build/serializers.py:1337 part/models.py:4326 +#: build/serializers.py:1337 part/models.py:4313 #: part/templates/part/upload_bom.html:56 templates/js/translated/bom.js:1046 #: templates/js/translated/build.js:2714 msgid "Allow Variants" msgstr "" -#: build/serializers.py:1341 part/models.py:4124 part/models.py:4594 +#: build/serializers.py:1341 part/models.py:4111 part/models.py:4587 #: stock/api.py:793 msgid "BOM Item" msgstr "" @@ -1684,7 +1684,7 @@ msgid "Allocated Stock" msgstr "" #: build/serializers.py:1355 order/serializers.py:1179 part/admin.py:132 -#: part/bom.py:186 part/serializers.py:920 part/serializers.py:1623 +#: part/bom.py:186 part/serializers.py:918 part/serializers.py:1621 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 #: templates/js/translated/build.js:2807 templates/js/translated/part.js:712 #: templates/js/translated/part.js:2155 @@ -1692,13 +1692,13 @@ msgstr "" msgid "On Order" msgstr "" -#: build/serializers.py:1360 order/serializers.py:1180 part/serializers.py:1625 +#: build/serializers.py:1360 order/serializers.py:1180 part/serializers.py:1623 #: templates/js/translated/build.js:2811 #: templates/js/translated/table_filters.js:367 msgid "In Production" msgstr "" -#: build/serializers.py:1365 part/bom.py:185 part/serializers.py:1650 +#: build/serializers.py:1365 part/bom.py:185 part/serializers.py:1648 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" @@ -1716,7 +1716,7 @@ msgstr "" msgid "Total Available Stock" msgstr "" -#: build/serializers.py:1372 part/serializers.py:927 +#: build/serializers.py:1372 part/serializers.py:925 msgid "External Stock" msgstr "" @@ -1745,7 +1745,7 @@ msgstr "Avbruten" #: importer/status_codes.py:27 order/status_codes.py:15 #: order/status_codes.py:50 order/status_codes.py:81 #: order/templates/order/order_base.html:163 -#: order/templates/order/sales_order_base.html:168 report/models.py:443 +#: order/templates/order/sales_order_base.html:168 report/models.py:451 msgid "Complete" msgstr "Slutför" @@ -1849,9 +1849,6 @@ msgid "Delete Build" msgstr "Ta bort bygge" #: build/templates/build/build_base.html:87 -msgid "Isueue Build" -msgstr "" - #: build/templates/build/build_base.html:88 msgid "Issue Build" msgstr "" @@ -1931,7 +1928,7 @@ msgstr "Slutförd produktion" #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_report.html:135 #: report/templates/report/inventree_sales_order_report.html:14 -#: stock/templates/stock/item_base.html:369 +#: stock/templates/stock/item_base.html:365 #: templates/email/overdue_sales_order.html:15 #: templates/js/translated/pricing.js:929 #: templates/js/translated/sales_order.js:805 @@ -1991,7 +1988,7 @@ msgid "Allocated Parts" msgstr "" #: build/templates/build/detail.html:80 stock/admin.py:163 -#: stock/templates/stock/item_base.html:162 +#: stock/templates/stock/item_base.html:158 #: templates/js/translated/build.js:1556 #: templates/js/translated/model_renderers.js:242 #: templates/js/translated/purchase_order.js:1326 @@ -2148,19 +2145,19 @@ msgstr "Ofullständig produktion" msgid "Test Statistics" msgstr "" -#: common/api.py:692 +#: common/api.py:725 msgid "Is Link" msgstr "" -#: common/api.py:700 +#: common/api.py:733 msgid "Is File" msgstr "" -#: common/api.py:743 +#: common/api.py:776 msgid "User does not have permission to delete these attachments" msgstr "" -#: common/api.py:760 +#: common/api.py:793 msgid "User does not have permission to delete this attachment" msgstr "" @@ -2352,8 +2349,8 @@ msgstr "" #: common/models.py:1297 common/models.py:1353 common/models.py:1366 #: common/models.py:1374 common/models.py:1383 common/models.py:1392 -#: common/models.py:1629 common/models.py:1651 common/models.py:1766 -#: common/models.py:2148 +#: common/models.py:1629 common/models.py:1651 common/models.py:1752 +#: common/models.py:2141 msgid "days" msgstr "dagar" @@ -2581,9 +2578,9 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1485 part/admin.py:108 part/models.py:3959 -#: report/models.py:293 report/models.py:360 report/serializers.py:90 -#: report/serializers.py:131 stock/serializers.py:233 +#: common/models.py:1485 part/admin.py:108 part/models.py:3946 +#: report/models.py:301 report/models.py:368 report/serializers.py:91 +#: report/serializers.py:132 stock/serializers.py:233 #: templates/js/translated/table_filters.js:138 #: templates/js/translated/table_filters.js:775 msgid "Template" @@ -2598,7 +2595,7 @@ msgid "Parts can be assembled from other components by default" msgstr "" #: common/models.py:1497 part/admin.py:95 part/models.py:1172 -#: part/serializers.py:1617 templates/js/translated/table_filters.js:737 +#: part/serializers.py:1615 templates/js/translated/table_filters.js:737 msgid "Component" msgstr "" @@ -2823,7 +2820,7 @@ msgid "Log errors which occur when generating reports" msgstr "" #: common/models.py:1702 plugin/builtin/labels/label_sheet.py:28 -#: report/models.py:301 +#: report/models.py:309 msgid "Page Size" msgstr "Sidstorlek" @@ -2832,914 +2829,914 @@ msgid "Default page size for PDF reports" msgstr "Standard sidstorlek för PDF-rapporter" #: common/models.py:1708 -msgid "Enable Test Reports" -msgstr "Aktivera testrapporter" - -#: common/models.py:1709 -msgid "Enable generation of test reports" -msgstr "" - -#: common/models.py:1714 -msgid "Attach Test Reports" -msgstr "" - -#: common/models.py:1716 -msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" -msgstr "" - -#: common/models.py:1722 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1723 +#: common/models.py:1709 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1728 +#: common/models.py:1714 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1729 +#: common/models.py:1715 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1734 +#: common/models.py:1720 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1736 +#: common/models.py:1722 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/models.py:1742 +#: common/models.py:1728 msgid "Batch Code Template" msgstr "" -#: common/models.py:1744 +#: common/models.py:1730 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1749 +#: common/models.py:1735 msgid "Stock Expiry" msgstr "" -#: common/models.py:1750 +#: common/models.py:1736 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1755 +#: common/models.py:1741 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1756 +#: common/models.py:1742 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1761 +#: common/models.py:1747 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1763 +#: common/models.py:1749 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1770 +#: common/models.py:1756 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1771 +#: common/models.py:1757 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1776 +#: common/models.py:1762 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1777 +#: common/models.py:1763 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1782 +#: common/models.py:1768 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1783 +#: common/models.py:1769 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1788 +#: common/models.py:1774 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1789 +#: common/models.py:1775 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1794 +#: common/models.py:1780 msgid "Check BOM when installing items" msgstr "" -#: common/models.py:1796 +#: common/models.py:1782 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/models.py:1802 +#: common/models.py:1788 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/models.py:1804 +#: common/models.py:1790 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/models.py:1810 +#: common/models.py:1796 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1812 +#: common/models.py:1798 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1818 common/models.py:1874 common/models.py:1896 -#: common/models.py:1932 +#: common/models.py:1804 common/models.py:1860 common/models.py:1882 +#: common/models.py:1918 msgid "Require Responsible Owner" msgstr "" -#: common/models.py:1819 common/models.py:1875 common/models.py:1897 -#: common/models.py:1933 +#: common/models.py:1805 common/models.py:1861 common/models.py:1883 +#: common/models.py:1919 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/models.py:1824 +#: common/models.py:1810 msgid "Require Active Part" msgstr "" -#: common/models.py:1825 +#: common/models.py:1811 msgid "Prevent build order creation for inactive parts" msgstr "" -#: common/models.py:1830 +#: common/models.py:1816 msgid "Require Locked Part" msgstr "" -#: common/models.py:1831 +#: common/models.py:1817 msgid "Prevent build order creation for unlocked parts" msgstr "" -#: common/models.py:1836 +#: common/models.py:1822 msgid "Require Valid BOM" msgstr "" -#: common/models.py:1838 +#: common/models.py:1824 msgid "Prevent build order creation unless BOM has been validated" msgstr "" -#: common/models.py:1844 +#: common/models.py:1830 msgid "Require Closed Child Orders" msgstr "" -#: common/models.py:1846 +#: common/models.py:1832 msgid "Prevent build order completion until all child orders are closed" msgstr "" -#: common/models.py:1852 +#: common/models.py:1838 msgid "Block Until Tests Pass" msgstr "" -#: common/models.py:1854 +#: common/models.py:1840 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "Förhindra produktion från att slutföras tills alla nödvändiga tester är klara" -#: common/models.py:1860 +#: common/models.py:1846 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1861 +#: common/models.py:1847 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1866 +#: common/models.py:1852 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1868 +#: common/models.py:1854 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1880 +#: common/models.py:1866 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1882 +#: common/models.py:1868 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1888 +#: common/models.py:1874 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1890 +#: common/models.py:1876 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1902 +#: common/models.py:1888 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1903 +#: common/models.py:1889 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1908 +#: common/models.py:1894 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1910 +#: common/models.py:1896 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1916 +#: common/models.py:1902 msgid "Mark Shipped Orders as Complete" msgstr "" -#: common/models.py:1918 +#: common/models.py:1904 msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status" msgstr "" -#: common/models.py:1924 +#: common/models.py:1910 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1926 +#: common/models.py:1912 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1938 +#: common/models.py:1924 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1940 +#: common/models.py:1926 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1946 +#: common/models.py:1932 msgid "Auto Complete Purchase Orders" msgstr "" -#: common/models.py:1948 +#: common/models.py:1934 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/models.py:1955 +#: common/models.py:1941 msgid "Enable password forgot" msgstr "" -#: common/models.py:1956 +#: common/models.py:1942 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1961 +#: common/models.py:1947 msgid "Enable registration" msgstr "Aktivera registrering" -#: common/models.py:1962 +#: common/models.py:1948 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1967 +#: common/models.py:1953 msgid "Enable SSO" msgstr "" -#: common/models.py:1968 +#: common/models.py:1954 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1973 +#: common/models.py:1959 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1975 +#: common/models.py:1961 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1981 +#: common/models.py:1967 msgid "Enable SSO group sync" msgstr "" -#: common/models.py:1983 +#: common/models.py:1969 msgid "Enable synchronizing InvenTree groups with groups provided by the IdP" msgstr "" -#: common/models.py:1989 +#: common/models.py:1975 msgid "SSO group key" msgstr "" -#: common/models.py:1991 +#: common/models.py:1977 msgid "The name of the groups claim attribute provided by the IdP" msgstr "" -#: common/models.py:1997 +#: common/models.py:1983 msgid "SSO group map" msgstr "" -#: common/models.py:1999 +#: common/models.py:1985 msgid "A mapping from SSO groups to local InvenTree groups. If the local group does not exist, it will be created." msgstr "" -#: common/models.py:2005 +#: common/models.py:1991 msgid "Remove groups outside of SSO" msgstr "" -#: common/models.py:2007 +#: common/models.py:1993 msgid "Whether groups assigned to the user should be removed if they are not backend by the IdP. Disabling this setting might cause security issues" msgstr "" -#: common/models.py:2013 +#: common/models.py:1999 msgid "Email required" msgstr "" -#: common/models.py:2014 +#: common/models.py:2000 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:2019 +#: common/models.py:2005 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:2021 +#: common/models.py:2007 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:2027 +#: common/models.py:2013 msgid "Mail twice" msgstr "" -#: common/models.py:2028 +#: common/models.py:2014 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:2033 +#: common/models.py:2019 msgid "Password twice" msgstr "" -#: common/models.py:2034 +#: common/models.py:2020 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:2039 +#: common/models.py:2025 msgid "Allowed domains" msgstr "Tillåtna domäner" -#: common/models.py:2041 +#: common/models.py:2027 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:2047 +#: common/models.py:2033 msgid "Group on signup" msgstr "" -#: common/models.py:2049 +#: common/models.py:2035 msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP." msgstr "" -#: common/models.py:2055 +#: common/models.py:2041 msgid "Enforce MFA" msgstr "" -#: common/models.py:2056 +#: common/models.py:2042 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:2061 +#: common/models.py:2047 msgid "Check plugins on startup" msgstr "" -#: common/models.py:2063 +#: common/models.py:2049 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:2071 +#: common/models.py:2057 msgid "Check for plugin updates" msgstr "" -#: common/models.py:2072 +#: common/models.py:2058 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:2078 +#: common/models.py:2064 msgid "Enable URL integration" msgstr "" -#: common/models.py:2079 +#: common/models.py:2065 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:2085 +#: common/models.py:2071 msgid "Enable navigation integration" msgstr "" -#: common/models.py:2086 +#: common/models.py:2072 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:2092 +#: common/models.py:2078 msgid "Enable app integration" msgstr "" -#: common/models.py:2093 +#: common/models.py:2079 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:2099 +#: common/models.py:2085 msgid "Enable schedule integration" msgstr "" -#: common/models.py:2100 +#: common/models.py:2086 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:2106 +#: common/models.py:2092 msgid "Enable event integration" msgstr "" -#: common/models.py:2107 +#: common/models.py:2093 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:2113 +#: common/models.py:2099 +msgid "Enable interface integration" +msgstr "" + +#: common/models.py:2100 +msgid "Enable plugins to integrate into the user interface" +msgstr "" + +#: common/models.py:2106 msgid "Enable project codes" msgstr "Aktivera projektkoder" -#: common/models.py:2114 +#: common/models.py:2107 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:2119 +#: common/models.py:2112 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:2121 +#: common/models.py:2114 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:2127 +#: common/models.py:2120 msgid "Exclude External Locations" msgstr "" -#: common/models.py:2129 +#: common/models.py:2122 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/models.py:2135 +#: common/models.py:2128 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:2137 +#: common/models.py:2130 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:2143 +#: common/models.py:2136 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:2145 +#: common/models.py:2138 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:2152 +#: common/models.py:2145 msgid "Display Users full names" msgstr "" -#: common/models.py:2153 +#: common/models.py:2146 msgid "Display Users full names instead of usernames" msgstr "" -#: common/models.py:2158 +#: common/models.py:2151 msgid "Enable Test Station Data" msgstr "" -#: common/models.py:2159 +#: common/models.py:2152 msgid "Enable test station data collection for test results" msgstr "" -#: common/models.py:2171 common/models.py:2551 +#: common/models.py:2157 +msgid "Create Template on Upload" +msgstr "" + +#: common/models.py:2159 +msgid "Create a new test template when uploading test data which does not match an existing template" +msgstr "" + +#: common/models.py:2172 common/models.py:2552 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:2214 +#: common/models.py:2215 msgid "Hide inactive parts" msgstr "" -#: common/models.py:2216 +#: common/models.py:2217 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:2222 +#: common/models.py:2223 msgid "Show subscribed parts" msgstr "" -#: common/models.py:2223 +#: common/models.py:2224 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:2228 +#: common/models.py:2229 msgid "Show subscribed categories" msgstr "" -#: common/models.py:2229 +#: common/models.py:2230 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:2234 +#: common/models.py:2235 msgid "Show latest parts" msgstr "" -#: common/models.py:2235 +#: common/models.py:2236 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:2240 +#: common/models.py:2241 msgid "Show invalid BOMs" msgstr "" -#: common/models.py:2241 +#: common/models.py:2242 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:2246 +#: common/models.py:2247 msgid "Show recent stock changes" msgstr "" -#: common/models.py:2247 +#: common/models.py:2248 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:2252 +#: common/models.py:2253 msgid "Show low stock" msgstr "" -#: common/models.py:2253 +#: common/models.py:2254 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:2258 +#: common/models.py:2259 msgid "Show depleted stock" msgstr "" -#: common/models.py:2259 +#: common/models.py:2260 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:2264 +#: common/models.py:2265 msgid "Show needed stock" msgstr "" -#: common/models.py:2265 +#: common/models.py:2266 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:2270 +#: common/models.py:2271 msgid "Show expired stock" msgstr "" -#: common/models.py:2271 +#: common/models.py:2272 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:2276 +#: common/models.py:2277 msgid "Show stale stock" msgstr "" -#: common/models.py:2277 +#: common/models.py:2278 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:2282 +#: common/models.py:2283 msgid "Show pending builds" msgstr "" -#: common/models.py:2283 +#: common/models.py:2284 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:2288 +#: common/models.py:2289 msgid "Show overdue builds" msgstr "" -#: common/models.py:2289 +#: common/models.py:2290 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:2294 +#: common/models.py:2295 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2295 +#: common/models.py:2296 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2300 +#: common/models.py:2301 msgid "Show overdue POs" msgstr "" -#: common/models.py:2301 +#: common/models.py:2302 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2306 +#: common/models.py:2307 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2307 +#: common/models.py:2308 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2312 +#: common/models.py:2313 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2313 +#: common/models.py:2314 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2318 +#: common/models.py:2319 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2319 +#: common/models.py:2320 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2324 +#: common/models.py:2325 msgid "Show News" msgstr "Visa nyheter" -#: common/models.py:2325 +#: common/models.py:2326 msgid "Show news on the homepage" msgstr "" -#: common/models.py:2330 +#: common/models.py:2331 msgid "Inline label display" msgstr "" -#: common/models.py:2332 +#: common/models.py:2333 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2338 +#: common/models.py:2339 msgid "Default label printer" msgstr "" -#: common/models.py:2340 +#: common/models.py:2341 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2346 +#: common/models.py:2347 msgid "Inline report display" msgstr "" -#: common/models.py:2348 +#: common/models.py:2349 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2354 +#: common/models.py:2355 msgid "Search Parts" msgstr "Sök efter artiklar" -#: common/models.py:2355 +#: common/models.py:2356 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2360 +#: common/models.py:2361 msgid "Search Supplier Parts" msgstr "Sök efter leverantörsartikel" -#: common/models.py:2361 +#: common/models.py:2362 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2366 +#: common/models.py:2367 msgid "Search Manufacturer Parts" msgstr "Sök efter tillverkarartikel" -#: common/models.py:2367 +#: common/models.py:2368 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2372 +#: common/models.py:2373 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2373 +#: common/models.py:2374 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2378 +#: common/models.py:2379 msgid "Search Categories" msgstr "" -#: common/models.py:2379 +#: common/models.py:2380 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2384 +#: common/models.py:2385 msgid "Search Stock" msgstr "" -#: common/models.py:2385 +#: common/models.py:2386 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2390 +#: common/models.py:2391 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2392 +#: common/models.py:2393 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2398 +#: common/models.py:2399 msgid "Search Locations" msgstr "" -#: common/models.py:2399 +#: common/models.py:2400 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2404 +#: common/models.py:2405 msgid "Search Companies" msgstr "" -#: common/models.py:2405 +#: common/models.py:2406 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2410 +#: common/models.py:2411 msgid "Search Build Orders" msgstr "" -#: common/models.py:2411 +#: common/models.py:2412 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2416 +#: common/models.py:2417 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2417 +#: common/models.py:2418 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2422 +#: common/models.py:2423 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2424 +#: common/models.py:2425 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2430 +#: common/models.py:2431 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2431 +#: common/models.py:2432 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2436 +#: common/models.py:2437 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2438 +#: common/models.py:2439 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2444 +#: common/models.py:2445 msgid "Search Return Orders" msgstr "" -#: common/models.py:2445 +#: common/models.py:2446 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2450 +#: common/models.py:2451 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2452 +#: common/models.py:2453 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2458 +#: common/models.py:2459 msgid "Search Preview Results" msgstr "" -#: common/models.py:2460 +#: common/models.py:2461 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2466 +#: common/models.py:2467 msgid "Regex Search" msgstr "" -#: common/models.py:2467 +#: common/models.py:2468 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2472 +#: common/models.py:2473 msgid "Whole Word Search" msgstr "" -#: common/models.py:2473 +#: common/models.py:2474 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2478 +#: common/models.py:2479 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2479 +#: common/models.py:2480 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2484 +#: common/models.py:2485 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2485 +#: common/models.py:2486 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2490 +#: common/models.py:2491 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2491 +#: common/models.py:2492 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2496 +#: common/models.py:2497 msgid "Date Format" msgstr "Datumformat" -#: common/models.py:2497 +#: common/models.py:2498 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2510 part/templates/part/detail.html:41 +#: common/models.py:2511 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2511 +#: common/models.py:2512 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2516 part/templates/part/detail.html:62 +#: common/models.py:2517 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2518 +#: common/models.py:2519 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2524 +#: common/models.py:2525 msgid "Table String Length" msgstr "" -#: common/models.py:2526 +#: common/models.py:2527 msgid "Maximum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2532 +#: common/models.py:2533 msgid "Receive error reports" msgstr "" -#: common/models.py:2533 +#: common/models.py:2534 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2538 +#: common/models.py:2539 msgid "Last used printing machines" msgstr "" -#: common/models.py:2539 +#: common/models.py:2540 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2559 common/models.py:2560 common/models.py:2717 -#: common/models.py:2718 common/models.py:2963 common/models.py:2964 -#: common/models.py:3287 common/models.py:3288 importer/models.py:89 -#: part/models.py:3319 part/models.py:3406 part/models.py:3480 -#: part/models.py:3508 plugin/models.py:274 plugin/models.py:275 +#: common/models.py:2560 common/models.py:2561 common/models.py:2718 +#: common/models.py:2719 common/models.py:2964 common/models.py:2965 +#: common/models.py:3288 common/models.py:3289 importer/models.py:89 +#: part/models.py:3306 part/models.py:3393 part/models.py:3467 +#: part/models.py:3495 plugin/models.py:274 plugin/models.py:275 #: report/templates/report/inventree_test_report.html:105 #: templates/js/translated/stock.js:3121 users/models.py:111 msgid "User" msgstr "Användare" -#: common/models.py:2582 +#: common/models.py:2583 msgid "Price break quantity" msgstr "" -#: common/models.py:2589 company/serializers.py:517 order/admin.py:42 +#: common/models.py:2590 company/serializers.py:517 order/admin.py:42 #: order/models.py:1423 order/models.py:2410 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1892 #: templates/js/translated/pricing.js:621 @@ -3747,96 +3744,96 @@ msgstr "" msgid "Price" msgstr "" -#: common/models.py:2590 +#: common/models.py:2591 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2694 common/models.py:2879 +#: common/models.py:2695 common/models.py:2880 msgid "Endpoint" msgstr "" -#: common/models.py:2695 +#: common/models.py:2696 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2705 +#: common/models.py:2706 msgid "Name for this webhook" msgstr "" -#: common/models.py:2709 +#: common/models.py:2710 msgid "Is this webhook active" msgstr "" -#: common/models.py:2725 users/models.py:159 +#: common/models.py:2726 users/models.py:159 msgid "Token" msgstr "" -#: common/models.py:2726 +#: common/models.py:2727 msgid "Token for access" msgstr "" -#: common/models.py:2734 +#: common/models.py:2735 msgid "Secret" msgstr "" -#: common/models.py:2735 +#: common/models.py:2736 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2843 +#: common/models.py:2844 msgid "Message ID" msgstr "" -#: common/models.py:2844 +#: common/models.py:2845 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2852 +#: common/models.py:2853 msgid "Host" msgstr "" -#: common/models.py:2853 +#: common/models.py:2854 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2861 +#: common/models.py:2862 msgid "Header" msgstr "" -#: common/models.py:2862 +#: common/models.py:2863 msgid "Header of this message" msgstr "" -#: common/models.py:2869 +#: common/models.py:2870 msgid "Body" msgstr "" -#: common/models.py:2870 +#: common/models.py:2871 msgid "Body of this message" msgstr "" -#: common/models.py:2880 +#: common/models.py:2881 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2885 +#: common/models.py:2886 msgid "Worked on" msgstr "" -#: common/models.py:2886 +#: common/models.py:2887 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:3012 +#: common/models.py:3013 msgid "Id" msgstr "" -#: common/models.py:3014 templates/js/translated/company.js:965 +#: common/models.py:3015 templates/js/translated/company.js:965 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:3016 common/models.py:3271 company/models.py:146 +#: common/models.py:3017 common/models.py:3272 company/models.py:146 #: company/models.py:443 company/models.py:509 company/models.py:815 #: order/models.py:303 order/models.py:1378 order/models.py:1810 #: part/admin.py:55 part/models.py:1069 @@ -3853,217 +3850,217 @@ msgstr "" msgid "Link" msgstr "Länk" -#: common/models.py:3018 templates/js/translated/news.js:60 +#: common/models.py:3019 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:3020 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:3021 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:103 msgid "Author" msgstr "" -#: common/models.py:3022 templates/js/translated/news.js:52 +#: common/models.py:3023 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:3025 +#: common/models.py:3026 msgid "Read" msgstr "" -#: common/models.py:3025 +#: common/models.py:3026 msgid "Was this news item read?" msgstr "" -#: common/models.py:3042 company/models.py:156 part/models.py:1079 +#: common/models.py:3043 company/models.py:156 part/models.py:1079 #: 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.html:35 -#: stock/templates/stock/item_base.html:133 templates/503.html:31 +#: stock/templates/stock/item_base.html:129 templates/503.html:31 #: templates/hover_image.html:7 templates/hover_image.html:9 #: templates/modals.html:6 msgid "Image" msgstr "Bild" -#: common/models.py:3042 +#: common/models.py:3043 msgid "Image file" msgstr "" -#: common/models.py:3054 common/models.py:3255 +#: common/models.py:3055 common/models.py:3256 msgid "Target model type for this image" msgstr "" -#: common/models.py:3058 +#: common/models.py:3059 msgid "Target model ID for this image" msgstr "" -#: common/models.py:3080 +#: common/models.py:3081 msgid "Custom Unit" msgstr "" -#: common/models.py:3098 +#: common/models.py:3099 msgid "Unit symbol must be unique" msgstr "" -#: common/models.py:3113 +#: common/models.py:3114 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:3132 +#: common/models.py:3133 msgid "Unit name" msgstr "" -#: common/models.py:3139 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3140 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:3140 +#: common/models.py:3141 msgid "Optional unit symbol" msgstr "" -#: common/models.py:3146 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3147 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:3147 +#: common/models.py:3148 msgid "Unit definition" msgstr "" -#: common/models.py:3205 common/models.py:3262 stock/models.py:2552 +#: common/models.py:3206 common/models.py:3263 stock/models.py:2547 #: stock/serializers.py:244 templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:345 msgid "Attachment" msgstr "Bilaga" -#: common/models.py:3217 +#: common/models.py:3218 msgid "Missing file" msgstr "Saknad fil" -#: common/models.py:3218 +#: common/models.py:3219 msgid "Missing external link" msgstr "Extern länk saknas" -#: common/models.py:3263 +#: common/models.py:3264 msgid "Select file to attach" msgstr "Välj fil att bifoga" -#: common/models.py:3278 templates/js/translated/attachment.js:120 +#: common/models.py:3279 templates/js/translated/attachment.js:120 #: templates/js/translated/attachment.js:360 msgid "Comment" msgstr "Kommentar" -#: common/models.py:3279 +#: common/models.py:3280 msgid "Attachment comment" msgstr "" -#: common/models.py:3295 +#: common/models.py:3296 msgid "Upload date" msgstr "" -#: common/models.py:3296 +#: common/models.py:3297 msgid "Date the file was uploaded" msgstr "" -#: common/models.py:3300 +#: common/models.py:3301 msgid "File size" msgstr "Filstorlek" -#: common/models.py:3300 +#: common/models.py:3301 msgid "File size in bytes" msgstr "" -#: common/models.py:3338 common/serializers.py:588 +#: common/models.py:3339 common/serializers.py:604 msgid "Invalid model type specified for attachment" msgstr "" -#: common/models.py:3347 plugin/models.py:43 users/models.py:100 +#: common/models.py:3348 plugin/models.py:43 users/models.py:100 msgid "Key" msgstr "" -#: common/models.py:3348 +#: common/models.py:3349 msgid "Value that will be saved in the models database" msgstr "" -#: common/models.py:3351 +#: common/models.py:3352 msgid "Name of the state" msgstr "" -#: common/models.py:3355 +#: common/models.py:3356 msgid "Label" -msgstr "" +msgstr "Etikett" -#: common/models.py:3356 +#: common/models.py:3357 msgid "Label that will be displayed in the frontend" msgstr "" -#: common/models.py:3362 +#: common/models.py:3363 msgid "Color" msgstr "Färg" -#: common/models.py:3363 +#: common/models.py:3364 msgid "Color that will be displayed in the frontend" msgstr "" -#: common/models.py:3366 +#: common/models.py:3367 msgid "Logical Key" msgstr "" -#: common/models.py:3368 +#: common/models.py:3369 msgid "State logical key that is equal to this custom state in business logic" msgstr "" -#: common/models.py:3376 +#: common/models.py:3377 msgid "Model" msgstr "" -#: common/models.py:3377 +#: common/models.py:3378 msgid "Model this state is associated with" msgstr "" -#: common/models.py:3381 +#: common/models.py:3382 msgid "Reference Status Set" msgstr "" -#: common/models.py:3382 +#: common/models.py:3383 msgid "Status set that is extended with this custom state" msgstr "" -#: common/models.py:3388 +#: common/models.py:3389 msgid "Custom State" msgstr "" -#: common/models.py:3389 +#: common/models.py:3390 msgid "Custom States" msgstr "" -#: common/models.py:3404 +#: common/models.py:3405 msgid "Model must be selected" msgstr "" -#: common/models.py:3407 +#: common/models.py:3408 msgid "Key must be selected" msgstr "" -#: common/models.py:3410 +#: common/models.py:3411 msgid "Logical key must be selected" msgstr "" -#: common/models.py:3414 +#: common/models.py:3415 msgid "Key must be different from logical key" msgstr "" -#: common/models.py:3418 +#: common/models.py:3419 msgid "Reference status must be selected" msgstr "" -#: common/models.py:3430 +#: common/models.py:3431 msgid "Reference status set not found" msgstr "" -#: common/models.py:3436 +#: common/models.py:3437 msgid "Key must be different from the logical keys of the reference status" msgstr "" -#: common/models.py:3442 +#: common/models.py:3443 msgid "Logical key must be in the logical keys of the reference status" msgstr "" @@ -4101,75 +4098,75 @@ msgstr "" msgid "Error raised by plugin" msgstr "" -#: common/serializers.py:402 +#: common/serializers.py:418 msgid "Is Running" msgstr "" -#: common/serializers.py:408 +#: common/serializers.py:424 msgid "Pending Tasks" msgstr "" -#: common/serializers.py:414 +#: common/serializers.py:430 msgid "Scheduled Tasks" msgstr "Schemalagda uppgifter" -#: common/serializers.py:420 +#: common/serializers.py:436 msgid "Failed Tasks" msgstr "" -#: common/serializers.py:435 +#: common/serializers.py:451 msgid "Task ID" msgstr "" -#: common/serializers.py:435 +#: common/serializers.py:451 msgid "Unique task ID" msgstr "" -#: common/serializers.py:437 +#: common/serializers.py:453 msgid "Lock" msgstr "" -#: common/serializers.py:437 +#: common/serializers.py:453 msgid "Lock time" msgstr "" -#: common/serializers.py:439 +#: common/serializers.py:455 msgid "Task name" msgstr "" -#: common/serializers.py:441 +#: common/serializers.py:457 msgid "Function" msgstr "" -#: common/serializers.py:441 +#: common/serializers.py:457 msgid "Function name" msgstr "" -#: common/serializers.py:443 +#: common/serializers.py:459 msgid "Arguments" msgstr "" -#: common/serializers.py:443 +#: common/serializers.py:459 msgid "Task arguments" msgstr "" -#: common/serializers.py:446 +#: common/serializers.py:462 msgid "Keyword Arguments" msgstr "" -#: common/serializers.py:446 +#: common/serializers.py:462 msgid "Task keyword arguments" msgstr "" -#: common/serializers.py:556 +#: common/serializers.py:572 msgid "Filename" msgstr "Filnamn" -#: common/serializers.py:563 report/api.py:100 report/serializers.py:53 +#: common/serializers.py:579 report/api.py:100 report/serializers.py:54 msgid "Model Type" msgstr "" -#: common/serializers.py:591 +#: common/serializers.py:607 msgid "User does not have permission to create or edit attachments for this model" msgstr "" @@ -4447,12 +4444,12 @@ msgstr "" #: company/models.py:467 company/models.py:584 company/models.py:808 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 -#: stock/templates/stock/item_base.html:217 +#: stock/templates/stock/item_base.html:213 msgid "Manufacturer Part" msgstr "" #: company/models.py:484 company/models.py:776 stock/models.py:791 -#: stock/serializers.py:452 stock/templates/stock/item_base.html:142 +#: stock/serializers.py:452 stock/templates/stock/item_base.html:138 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" @@ -4463,8 +4460,8 @@ msgstr "" #: company/models.py:495 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:567 -#: stock/templates/stock/item_base.html:207 +#: company/templates/company/supplier_part.html:145 part/serializers.py:565 +#: stock/templates/stock/item_base.html:203 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 #: templates/js/translated/company.js:1296 @@ -4479,7 +4476,7 @@ msgstr "" #: company/models.py:502 company/templates/company/manufacturer_part.html:101 #: company/templates/company/supplier_part.html:153 order/serializers.py:557 -#: part/serializers.py:577 templates/js/translated/company.js:351 +#: part/serializers.py:575 templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 #: templates/js/translated/company.js:1630 templates/js/translated/part.js:1807 @@ -4505,7 +4502,7 @@ msgid "Parameter name" msgstr "" #: company/models.py:597 report/templates/report/inventree_test_report.html:104 -#: stock/models.py:2544 templates/js/translated/company.js:1166 +#: stock/models.py:2539 templates/js/translated/company.js:1166 #: templates/js/translated/company.js:1419 templates/js/translated/part.js:1499 #: templates/js/translated/stock.js:1607 msgid "Value" @@ -4516,7 +4513,7 @@ msgid "Parameter value" msgstr "" #: company/models.py:605 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1159 part/models.py:3783 +#: part/admin.py:57 part/models.py:1159 part/models.py:3770 #: part/templates/part/part_base.html:300 #: templates/js/translated/company.js:1425 templates/js/translated/part.js:1518 #: templates/js/translated/part.js:1622 templates/js/translated/part.js:2376 @@ -4530,7 +4527,7 @@ msgstr "" #: company/models.py:659 company/templates/company/supplier_part.html:7 #: company/templates/company/supplier_part.html:24 order/api.py:440 #: order/serializers.py:492 stock/models.py:802 -#: stock/templates/stock/item_base.html:233 +#: stock/templates/stock/item_base.html:229 #: templates/js/translated/build.js:1055 #: templates/js/translated/company.js:1600 #: templates/js/translated/purchase_order.js:752 @@ -4553,9 +4550,9 @@ msgstr "" #: company/models.py:786 company/templates/company/company_base.html:87 #: company/templates/company/supplier_part.html:129 order/models.py:492 #: order/templates/order/order_base.html:141 part/bom.py:279 part/bom.py:314 -#: part/serializers.py:551 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:549 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 -#: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 +#: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:220 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:511 @@ -4570,7 +4567,7 @@ msgstr "Leverantör" msgid "Select supplier" msgstr "Välj leverantör" -#: company/models.py:793 part/serializers.py:562 +#: company/models.py:793 part/serializers.py:560 msgid "Supplier stock keeping unit" msgstr "" @@ -4591,7 +4588,7 @@ msgid "Supplier part description" msgstr "" #: company/models.py:832 company/templates/company/supplier_part.html:187 -#: order/serializers.py:699 part/admin.py:415 part/models.py:4301 +#: order/serializers.py:699 part/admin.py:415 part/models.py:4288 #: part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 @@ -4603,11 +4600,11 @@ msgstr "" msgid "Note" msgstr "" -#: company/models.py:841 part/models.py:2129 +#: company/models.py:841 part/models.py:2128 msgid "base cost" msgstr "" -#: company/models.py:842 part/models.py:2130 +#: company/models.py:842 part/models.py:2129 msgid "Minimum charge (e.g. stocking fee)" msgstr "" @@ -4629,7 +4626,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:876 part/models.py:2136 +#: company/models.py:876 part/models.py:2135 msgid "multiple" msgstr "" @@ -4661,7 +4658,7 @@ msgstr "" msgid "Company Name" msgstr "Företagsnamn" -#: company/serializers.py:397 part/admin.py:126 part/serializers.py:919 +#: company/serializers.py:397 part/admin.py:126 part/serializers.py:917 #: part/templates/part/part_base.html:197 #: templates/js/translated/company.js:1689 #: templates/js/translated/table_filters.js:362 @@ -4735,7 +4732,7 @@ msgstr "Radera bild" #: order/models.py:2140 order/templates/order/return_order_base.html:134 #: order/templates/order/sales_order_base.html:151 stock/models.py:844 #: stock/models.py:845 stock/serializers.py:1336 -#: stock/templates/stock/item_base.html:405 +#: stock/templates/stock/item_base.html:401 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 #: templates/js/translated/return_order.js:295 @@ -4939,7 +4936,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:925 +#: part/admin.py:122 part/serializers.py:923 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -5030,7 +5027,7 @@ msgid "No supplier information available" msgstr "" #: company/templates/company/supplier_part.html:139 order/serializers.py:554 -#: part/bom.py:286 part/bom.py:315 part/serializers.py:561 +#: part/bom.py:286 part/bom.py:315 part/serializers.py:559 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1793 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1920 @@ -5084,7 +5081,7 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:923 part/stocktake.py:223 +#: part/serializers.py:921 part/stocktake.py:223 #: part/templates/part/category.html:180 #: part/templates/part/category_sidebar.html:17 stock/admin.py:68 #: stock/serializers.py:1021 stock/serializers.py:1199 @@ -5215,7 +5212,7 @@ msgstr "" msgid "Original row data" msgstr "" -#: importer/models.py:504 part/models.py:3965 +#: importer/models.py:504 part/models.py:3952 msgid "Data" msgstr "" @@ -5443,7 +5440,7 @@ msgstr "" #: order/api.py:132 msgid "Has Project Code" -msgstr "" +msgstr "Har projektkod" #: order/api.py:155 templates/js/translated/table_filters.js:201 #: templates/js/translated/table_filters.js:791 @@ -5473,7 +5470,7 @@ msgstr "" #: order/models.py:1592 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_purchase_order_report.html:14 -#: stock/serializers.py:121 stock/templates/stock/item_base.html:176 +#: stock/serializers.py:121 stock/templates/stock/item_base.html:172 #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/part.js:1752 templates/js/translated/pricing.js:804 #: templates/js/translated/purchase_order.js:168 @@ -5694,7 +5691,7 @@ msgid "Number of items received" msgstr "" #: order/models.py:1513 stock/models.py:963 stock/serializers.py:617 -#: stock/templates/stock/item_base.html:183 +#: stock/templates/stock/item_base.html:179 #: templates/js/translated/stock.js:2397 msgid "Purchase Price" msgstr "" @@ -5768,7 +5765,7 @@ msgid "User who checked this shipment" msgstr "" #: order/models.py:1788 order/models.py:2011 order/serializers.py:1479 -#: order/serializers.py:1589 templates/js/translated/model_renderers.js:455 +#: order/serializers.py:1597 templates/js/translated/model_renderers.js:455 msgid "Shipment" msgstr "" @@ -5982,7 +5979,7 @@ msgstr "" msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:656 order/serializers.py:779 order/serializers.py:1790 +#: order/serializers.py:656 order/serializers.py:779 order/serializers.py:1798 msgid "Select destination location for received items" msgstr "" @@ -6019,7 +6016,7 @@ msgstr "" msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:795 order/serializers.py:1806 +#: order/serializers.py:795 order/serializers.py:1814 msgid "Line items must be provided" msgstr "" @@ -6051,39 +6048,39 @@ msgstr "" msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1491 order/serializers.py:1597 +#: order/serializers.py:1491 order/serializers.py:1605 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1494 order/serializers.py:1600 +#: order/serializers.py:1494 order/serializers.py:1608 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1541 +#: order/serializers.py:1549 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1548 -msgid "The following serial numbers are already allocated" +#: order/serializers.py:1556 +msgid "The following serial numbers are unavailable" msgstr "" -#: order/serializers.py:1760 +#: order/serializers.py:1768 msgid "Return order line item" msgstr "" -#: order/serializers.py:1766 +#: order/serializers.py:1774 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1769 +#: order/serializers.py:1777 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1798 +#: order/serializers.py:1806 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1881 +#: order/serializers.py:1889 msgid "Line price currency" msgstr "" @@ -6510,7 +6507,7 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:48 part/models.py:1044 part/serializers.py:908 +#: part/admin.py:48 part/models.py:1044 part/serializers.py:906 #: part/templates/part/part_base.html:276 #: report/templates/report/inventree_stock_location_report.html:103 #: templates/js/translated/part.js:1233 templates/js/translated/part.js:2347 @@ -6537,7 +6534,7 @@ msgstr "" msgid "Category ID" msgstr "" -#: part/admin.py:67 part/admin.py:304 part/serializers.py:893 +#: part/admin.py:67 part/admin.py:304 part/serializers.py:891 #: part/stocktake.py:222 msgid "Category Name" msgstr "Kategorinamn" @@ -6562,18 +6559,18 @@ msgstr "" msgid "Used In" msgstr "" -#: part/admin.py:150 part/serializers.py:918 +#: part/admin.py:150 part/serializers.py:916 #: part/templates/part/part_base.html:248 stock/admin.py:236 #: templates/js/translated/part.js:717 templates/js/translated/part.js:2159 msgid "Building" msgstr "" -#: part/admin.py:155 part/models.py:3214 part/models.py:3228 +#: part/admin.py:155 part/models.py:3201 part/models.py:3215 #: templates/js/translated/part.js:976 msgid "Minimum Cost" msgstr "" -#: part/admin.py:158 part/models.py:3221 part/models.py:3235 +#: part/admin.py:158 part/models.py:3208 part/models.py:3222 #: templates/js/translated/part.js:986 msgid "Maximum Cost" msgstr "" @@ -6592,7 +6589,7 @@ msgid "Category Path" msgstr "" #: part/admin.py:325 part/models.py:420 part/serializers.py:130 -#: part/serializers.py:290 part/serializers.py:428 +#: part/serializers.py:290 part/serializers.py:426 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:20 #: part/templates/part/category.html:138 part/templates/part/category.html:158 #: part/templates/part/category_sidebar.html:9 @@ -6619,13 +6616,13 @@ msgstr "" msgid "Part Revision" msgstr "" -#: part/admin.py:418 part/serializers.py:1367 +#: part/admin.py:418 part/serializers.py:1365 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:423 part/serializers.py:1382 +#: part/admin.py:423 part/serializers.py:1380 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -6719,8 +6716,8 @@ msgstr "" msgid "BOM Valid" msgstr "" -#: part/api.py:1520 part/models.py:1036 part/models.py:3501 part/models.py:4060 -#: part/serializers.py:443 part/serializers.py:1223 +#: part/api.py:1520 part/models.py:1036 part/models.py:3488 part/models.py:4047 +#: part/serializers.py:441 part/serializers.py:1221 #: part/templates/part/part_base.html:267 stock/api.py:780 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 @@ -6746,7 +6743,7 @@ msgstr "" msgid "Default Location" msgstr "" -#: part/bom.py:184 part/serializers.py:926 +#: part/bom.py:184 part/serializers.py:924 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -6755,7 +6752,7 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:89 part/models.py:4061 part/templates/part/category.html:16 +#: part/models.py:89 part/models.py:4048 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -6878,7 +6875,7 @@ msgstr "" msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:995 part/models.py:4116 +#: part/models.py:995 part/models.py:4103 msgid "Part name" msgstr "" @@ -6906,7 +6903,7 @@ msgstr "" msgid "Part category" msgstr "" -#: part/models.py:1052 part/serializers.py:360 +#: part/models.py:1052 msgid "Part revision or version number" msgstr "" @@ -7012,164 +7009,164 @@ msgid "Owner responsible for this part" msgstr "" #: part/models.py:1264 part/templates/part/part_base.html:355 -#: stock/templates/stock/item_base.html:451 +#: stock/templates/stock/item_base.html:447 #: templates/js/translated/part.js:2490 msgid "Last Stocktake" msgstr "" -#: part/models.py:2137 +#: part/models.py:2136 msgid "Sell multiple" msgstr "" -#: part/models.py:3128 +#: part/models.py:3115 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3144 +#: part/models.py:3131 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3145 +#: part/models.py:3132 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3151 +#: part/models.py:3138 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3152 +#: part/models.py:3139 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3158 +#: part/models.py:3145 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3159 +#: part/models.py:3146 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3165 +#: part/models.py:3152 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3166 +#: part/models.py:3153 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3172 +#: part/models.py:3159 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3173 +#: part/models.py:3160 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3179 +#: part/models.py:3166 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3180 +#: part/models.py:3167 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3186 +#: part/models.py:3173 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3187 +#: part/models.py:3174 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3193 +#: part/models.py:3180 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3194 +#: part/models.py:3181 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3200 +#: part/models.py:3187 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3201 +#: part/models.py:3188 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3207 +#: part/models.py:3194 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3208 +#: part/models.py:3195 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3215 +#: part/models.py:3202 msgid "Override minimum cost" msgstr "" -#: part/models.py:3222 +#: part/models.py:3209 msgid "Override maximum cost" msgstr "" -#: part/models.py:3229 +#: part/models.py:3216 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3236 +#: part/models.py:3223 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3242 +#: part/models.py:3229 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3243 +#: part/models.py:3230 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3249 +#: part/models.py:3236 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3250 +#: part/models.py:3237 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3256 +#: part/models.py:3243 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3257 +#: part/models.py:3244 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3263 +#: part/models.py:3250 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3264 +#: part/models.py:3251 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3283 +#: part/models.py:3270 msgid "Part for stocktake" msgstr "" -#: part/models.py:3288 +#: part/models.py:3275 msgid "Item Count" msgstr "" -#: part/models.py:3289 +#: part/models.py:3276 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3297 +#: part/models.py:3284 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3301 part/models.py:3384 +#: part/models.py:3288 part/models.py:3371 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -7181,363 +7178,363 @@ msgstr "" msgid "Date" msgstr "Datum" -#: part/models.py:3302 +#: part/models.py:3289 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3310 +#: part/models.py:3297 msgid "Additional notes" msgstr "" -#: part/models.py:3320 +#: part/models.py:3307 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3326 +#: part/models.py:3313 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3327 +#: part/models.py:3314 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3333 +#: part/models.py:3320 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3334 +#: part/models.py:3321 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3390 templates/InvenTree/settings/settings_staff_js.html:532 +#: part/models.py:3377 templates/InvenTree/settings/settings_staff_js.html:532 msgid "Report" msgstr "" -#: part/models.py:3391 +#: part/models.py:3378 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3396 templates/InvenTree/settings/settings_staff_js.html:539 +#: part/models.py:3383 templates/InvenTree/settings/settings_staff_js.html:539 msgid "Part Count" msgstr "" -#: part/models.py:3397 +#: part/models.py:3384 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3407 +#: part/models.py:3394 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3417 +#: part/models.py:3404 msgid "Part Sale Price Break" msgstr "" -#: part/models.py:3529 +#: part/models.py:3516 msgid "Part Test Template" msgstr "" -#: part/models.py:3555 +#: part/models.py:3542 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3576 part/models.py:3745 +#: part/models.py:3563 part/models.py:3732 msgid "Choices must be unique" msgstr "" -#: part/models.py:3587 +#: part/models.py:3574 msgid "Test templates can only be created for testable parts" msgstr "" -#: part/models.py:3598 +#: part/models.py:3585 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3615 templates/js/translated/part.js:2898 +#: part/models.py:3602 templates/js/translated/part.js:2898 msgid "Test Name" msgstr "" -#: part/models.py:3616 +#: part/models.py:3603 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3622 +#: part/models.py:3609 msgid "Test Key" msgstr "" -#: part/models.py:3623 +#: part/models.py:3610 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3630 +#: part/models.py:3617 msgid "Test Description" msgstr "" -#: part/models.py:3631 +#: part/models.py:3618 msgid "Enter description for this test" msgstr "" -#: part/models.py:3635 report/models.py:208 +#: part/models.py:3622 report/models.py:216 #: templates/js/translated/part.js:2919 #: templates/js/translated/table_filters.js:502 msgid "Enabled" msgstr "" -#: part/models.py:3635 +#: part/models.py:3622 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3640 templates/js/translated/part.js:2927 +#: part/models.py:3627 templates/js/translated/part.js:2927 #: templates/js/translated/table_filters.js:498 msgid "Required" msgstr "" -#: part/models.py:3641 +#: part/models.py:3628 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3646 templates/js/translated/part.js:2935 +#: part/models.py:3633 templates/js/translated/part.js:2935 msgid "Requires Value" msgstr "" -#: part/models.py:3647 +#: part/models.py:3634 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3652 templates/js/translated/part.js:2942 +#: part/models.py:3639 templates/js/translated/part.js:2942 msgid "Requires Attachment" msgstr "" -#: part/models.py:3654 +#: part/models.py:3641 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3660 part/models.py:3804 templates/js/translated/part.js:1643 +#: part/models.py:3647 part/models.py:3791 templates/js/translated/part.js:1643 msgid "Choices" msgstr "" -#: part/models.py:3661 +#: part/models.py:3648 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3693 +#: part/models.py:3680 msgid "Part Parameter Template" msgstr "" -#: part/models.py:3720 +#: part/models.py:3707 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3725 +#: part/models.py:3712 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3762 +#: part/models.py:3749 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3777 +#: part/models.py:3764 msgid "Parameter Name" msgstr "" -#: part/models.py:3784 +#: part/models.py:3771 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3792 +#: part/models.py:3779 msgid "Parameter description" msgstr "" -#: part/models.py:3798 templates/js/translated/part.js:1634 +#: part/models.py:3785 templates/js/translated/part.js:1634 #: templates/js/translated/table_filters.js:837 msgid "Checkbox" msgstr "" -#: part/models.py:3799 +#: part/models.py:3786 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3805 +#: part/models.py:3792 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3839 +#: part/models.py:3826 msgid "Part Parameter" msgstr "" -#: part/models.py:3865 +#: part/models.py:3852 msgid "Parameter cannot be modified - part is locked" msgstr "" -#: part/models.py:3903 +#: part/models.py:3890 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3952 +#: part/models.py:3939 msgid "Parent Part" msgstr "" -#: part/models.py:3960 part/models.py:4068 part/models.py:4069 +#: part/models.py:3947 part/models.py:4055 part/models.py:4056 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3966 +#: part/models.py:3953 msgid "Parameter Value" msgstr "" -#: part/models.py:4016 +#: part/models.py:4003 msgid "Part Category Parameter Template" msgstr "" -#: part/models.py:4075 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:4062 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:4076 +#: part/models.py:4063 msgid "Default Parameter Value" msgstr "" -#: part/models.py:4114 +#: part/models.py:4101 msgid "Part ID or part name" msgstr "" -#: part/models.py:4115 +#: part/models.py:4102 msgid "Unique part ID value" msgstr "" -#: part/models.py:4117 +#: part/models.py:4104 msgid "Part IPN value" msgstr "" -#: part/models.py:4118 +#: part/models.py:4105 msgid "Level" msgstr "" -#: part/models.py:4118 +#: part/models.py:4105 msgid "BOM level" msgstr "" -#: part/models.py:4228 +#: part/models.py:4215 msgid "BOM item cannot be modified - assembly is locked" msgstr "" -#: part/models.py:4235 +#: part/models.py:4222 msgid "BOM item cannot be modified - variant assembly is locked" msgstr "" -#: part/models.py:4245 +#: part/models.py:4232 msgid "Select parent part" msgstr "" -#: part/models.py:4255 +#: part/models.py:4242 msgid "Sub part" msgstr "" -#: part/models.py:4256 +#: part/models.py:4243 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4267 +#: part/models.py:4254 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4273 +#: part/models.py:4260 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4279 +#: part/models.py:4266 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4286 part/templates/part/upload_bom.html:55 +#: part/models.py:4273 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4287 +#: part/models.py:4274 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4294 +#: part/models.py:4281 msgid "BOM item reference" msgstr "" -#: part/models.py:4302 +#: part/models.py:4289 msgid "BOM item notes" msgstr "" -#: part/models.py:4308 +#: part/models.py:4295 msgid "Checksum" msgstr "" -#: part/models.py:4309 +#: part/models.py:4296 msgid "BOM line checksum" msgstr "" -#: part/models.py:4314 templates/js/translated/table_filters.js:181 +#: part/models.py:4301 templates/js/translated/table_filters.js:181 msgid "Validated" msgstr "" -#: part/models.py:4315 +#: part/models.py:4302 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4320 part/templates/part/upload_bom.html:57 +#: part/models.py:4307 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:185 #: templates/js/translated/table_filters.js:218 msgid "Gets inherited" msgstr "" -#: part/models.py:4321 +#: part/models.py:4308 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4327 +#: part/models.py:4314 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4412 stock/models.py:689 +#: part/models.py:4399 stock/models.py:689 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4422 part/models.py:4424 +#: part/models.py:4409 part/models.py:4411 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4561 +#: part/models.py:4554 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4582 +#: part/models.py:4575 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4595 +#: part/models.py:4588 msgid "Parent BOM item" msgstr "" -#: part/models.py:4603 +#: part/models.py:4596 msgid "Substitute part" msgstr "" -#: part/models.py:4619 +#: part/models.py:4612 msgid "Part 1" msgstr "" -#: part/models.py:4627 +#: part/models.py:4620 msgid "Part 2" msgstr "" -#: part/models.py:4628 +#: part/models.py:4621 msgid "Select Related Part" msgstr "" -#: part/models.py:4647 +#: part/models.py:4640 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4652 +#: part/models.py:4645 msgid "Duplicate relationship already exists" msgstr "" @@ -7571,326 +7568,326 @@ msgstr "" msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:434 +#: part/serializers.py:432 msgid "No parts selected" msgstr "" -#: part/serializers.py:444 +#: part/serializers.py:442 msgid "Select category" msgstr "Välj kategori" -#: part/serializers.py:479 +#: part/serializers.py:477 msgid "Original Part" msgstr "" -#: part/serializers.py:480 +#: part/serializers.py:478 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:485 +#: part/serializers.py:483 msgid "Copy Image" msgstr "Kopiera bild" -#: part/serializers.py:486 +#: part/serializers.py:484 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:492 part/templates/part/detail.html:293 +#: part/serializers.py:490 part/templates/part/detail.html:293 msgid "Copy BOM" msgstr "" -#: part/serializers.py:493 +#: part/serializers.py:491 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:499 +#: part/serializers.py:497 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:500 +#: part/serializers.py:498 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:506 +#: part/serializers.py:504 msgid "Copy Notes" msgstr "" -#: part/serializers.py:507 +#: part/serializers.py:505 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:525 +#: part/serializers.py:523 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:527 +#: part/serializers.py:525 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:534 +#: part/serializers.py:532 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:535 +#: part/serializers.py:533 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:552 +#: part/serializers.py:550 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:568 +#: part/serializers.py:566 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:578 +#: part/serializers.py:576 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:585 +#: part/serializers.py:583 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:594 +#: part/serializers.py:592 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:605 +#: part/serializers.py:603 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:612 +#: part/serializers.py:610 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:924 +#: part/serializers.py:922 msgid "Revisions" msgstr "" -#: part/serializers.py:929 +#: part/serializers.py:927 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:932 +#: part/serializers.py:930 msgid "Variant Stock" msgstr "" -#: part/serializers.py:962 part/templates/part/copy_part.html:9 +#: part/serializers.py:960 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:474 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:963 +#: part/serializers.py:961 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:969 templates/js/translated/part.js:103 +#: part/serializers.py:967 templates/js/translated/part.js:103 msgid "Initial Stock" msgstr "" -#: part/serializers.py:970 +#: part/serializers.py:968 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:976 +#: part/serializers.py:974 msgid "Supplier Information" msgstr "" -#: part/serializers.py:977 +#: part/serializers.py:975 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:985 +#: part/serializers.py:983 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:986 +#: part/serializers.py:984 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:991 +#: part/serializers.py:989 msgid "Existing Image" msgstr "" -#: part/serializers.py:992 +#: part/serializers.py:990 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:1009 +#: part/serializers.py:1007 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1215 +#: part/serializers.py:1213 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1225 +#: part/serializers.py:1223 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1235 +#: part/serializers.py:1233 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1241 +#: part/serializers.py:1239 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1242 +#: part/serializers.py:1240 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1247 +#: part/serializers.py:1245 msgid "Generate Report" msgstr "Generera rapport" -#: part/serializers.py:1248 +#: part/serializers.py:1246 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1253 +#: part/serializers.py:1251 msgid "Update Parts" msgstr "" -#: part/serializers.py:1254 +#: part/serializers.py:1252 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1262 +#: part/serializers.py:1260 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1368 +#: part/serializers.py:1366 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1375 +#: part/serializers.py:1373 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1383 +#: part/serializers.py:1381 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1390 +#: part/serializers.py:1388 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1419 +#: part/serializers.py:1417 msgid "Update" msgstr "Uppdatera" -#: part/serializers.py:1420 +#: part/serializers.py:1418 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1443 +#: part/serializers.py:1441 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1450 +#: part/serializers.py:1448 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1453 +#: part/serializers.py:1451 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1597 +#: part/serializers.py:1595 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1606 +#: part/serializers.py:1604 msgid "Component Name" msgstr "" -#: part/serializers.py:1609 +#: part/serializers.py:1607 msgid "Component IPN" msgstr "" -#: part/serializers.py:1612 +#: part/serializers.py:1610 msgid "Component Description" msgstr "" -#: part/serializers.py:1618 +#: part/serializers.py:1616 msgid "Select the component part" msgstr "" -#: part/serializers.py:1627 part/templates/part/part_base.html:242 +#: part/serializers.py:1625 part/templates/part/part_base.html:242 #: templates/js/translated/bom.js:1219 msgid "Can Build" msgstr "" -#: part/serializers.py:1858 +#: part/serializers.py:1856 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1866 +#: part/serializers.py:1864 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1867 +#: part/serializers.py:1865 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1872 +#: part/serializers.py:1870 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1873 +#: part/serializers.py:1871 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1878 +#: part/serializers.py:1876 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1879 +#: part/serializers.py:1877 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1884 +#: part/serializers.py:1882 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1885 +#: part/serializers.py:1883 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1922 +#: part/serializers.py:1920 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1923 +#: part/serializers.py:1921 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1955 +#: part/serializers.py:1953 msgid "No part column specified" msgstr "" -#: part/serializers.py:1999 +#: part/serializers.py:1997 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:2002 +#: part/serializers.py:2000 msgid "No matching part found" msgstr "" -#: part/serializers.py:2004 +#: part/serializers.py:2002 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:2013 +#: part/serializers.py:2011 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:2021 +#: part/serializers.py:2019 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:2044 +#: part/serializers.py:2042 msgid "At least one BOM item is required" msgstr "" @@ -8216,7 +8213,7 @@ msgid "Subscribe to notifications for this part" msgstr "" #: part/templates/part/part_base.html:52 -#: stock/templates/stock/item_base.html:62 +#: stock/templates/stock/item_base.html:61 #: stock/templates/stock/location.html:71 templates/js/translated/label.js:136 msgid "Print Label" msgstr "" @@ -8226,7 +8223,7 @@ msgid "Show pricing information" msgstr "" #: part/templates/part/part_base.html:63 -#: stock/templates/stock/item_base.html:110 +#: stock/templates/stock/item_base.html:106 #: stock/templates/stock/location.html:80 msgid "Stock actions" msgstr "" @@ -8297,12 +8294,12 @@ msgid "Required for Orders" msgstr "" #: part/templates/part/part_base.html:225 -#: stock/templates/stock/item_base.html:388 +#: stock/templates/stock/item_base.html:384 msgid "Allocated to Build Orders" msgstr "" #: part/templates/part/part_base.html:234 -#: stock/templates/stock/item_base.html:381 +#: stock/templates/stock/item_base.html:377 msgid "Allocated to Sales Orders" msgstr "" @@ -8322,7 +8319,7 @@ msgid "Latest Serial Number" msgstr "" #: part/templates/part/part_base.html:372 -#: stock/templates/stock/item_base.html:322 +#: stock/templates/stock/item_base.html:318 msgid "Search for serial number" msgstr "" @@ -8449,7 +8446,7 @@ msgid "Edit" msgstr "Redigera" #: part/templates/part/prices.html:28 stock/admin.py:252 -#: stock/templates/stock/item_base.html:446 +#: stock/templates/stock/item_base.html:442 #: templates/js/translated/company.js:1703 #: templates/js/translated/company.js:1713 #: templates/js/translated/stock.js:2332 @@ -8604,7 +8601,7 @@ msgstr "" msgid "Part Pricing" msgstr "" -#: plugin/api.py:172 +#: plugin/api.py:174 msgid "Plugin cannot be deleted as it is currently active" msgstr "" @@ -8940,7 +8937,7 @@ msgstr "" msgid "Print a border around each label" msgstr "" -#: plugin/builtin/labels/label_sheet.py:47 report/models.py:307 +#: plugin/builtin/labels/label_sheet.py:47 report/models.py:315 msgid "Landscape" msgstr "" @@ -9012,44 +9009,44 @@ msgstr "" msgid "The Supplier which acts as 'TME'" msgstr "" -#: plugin/installer.py:194 plugin/installer.py:274 +#: plugin/installer.py:199 plugin/installer.py:282 msgid "Only staff users can administer plugins" msgstr "" -#: plugin/installer.py:197 +#: plugin/installer.py:202 msgid "Plugin installation is disabled" msgstr "" -#: plugin/installer.py:241 +#: plugin/installer.py:246 msgid "Installed plugin successfully" msgstr "" -#: plugin/installer.py:246 +#: plugin/installer.py:251 #, python-brace-format msgid "Installed plugin into {path}" msgstr "" -#: plugin/installer.py:265 +#: plugin/installer.py:273 msgid "Plugin was not found in registry" msgstr "" -#: plugin/installer.py:268 +#: plugin/installer.py:276 msgid "Plugin is not a packaged plugin" msgstr "" -#: plugin/installer.py:271 +#: plugin/installer.py:279 msgid "Plugin package name not found" msgstr "" -#: plugin/installer.py:291 +#: plugin/installer.py:299 msgid "Plugin uninstalling is disabled" msgstr "" -#: plugin/installer.py:295 +#: plugin/installer.py:303 msgid "Plugin cannot be uninstalled as it is currently active" msgstr "" -#: plugin/installer.py:308 +#: plugin/installer.py:316 msgid "Uninstalled plugin successfully" msgstr "" @@ -9098,7 +9095,7 @@ msgstr "" msgid "Package Plugin" msgstr "" -#: plugin/models.py:220 report/models.py:474 +#: plugin/models.py:220 report/models.py:482 #: templates/InvenTree/settings/plugin_settings.html:9 #: templates/js/translated/plugin.js:51 msgid "Plugin" @@ -9167,6 +9164,38 @@ msgstr "" msgid "InvenTree Contributors" msgstr "" +#: plugin/samples/integration/user_interface_sample.py:22 +msgid "Enable Part Panels" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:23 +msgid "Enable custom panels for Part views" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:28 +msgid "Enable Purchase Order Panels" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:29 +msgid "Enable custom panels for Purchase Order views" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:34 +msgid "Enable Broken Panels" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:35 +msgid "Enable broken panels for testing" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:40 +msgid "Enable Dynamic Panel" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:41 +msgid "Enable dynamic panels for testing" +msgstr "" + #: plugin/serializers.py:81 msgid "Source URL" msgstr "" @@ -9245,12 +9274,36 @@ msgstr "" msgid "Delete the plugin configuration from the database" msgstr "" +#: plugin/serializers.py:324 +msgid "Plugin Key" +msgstr "" + +#: plugin/serializers.py:328 +msgid "Panel Name" +msgstr "" + +#: plugin/serializers.py:332 +msgid "Panel Title" +msgstr "" + +#: plugin/serializers.py:337 +msgid "Panel Icon" +msgstr "" + +#: plugin/serializers.py:341 +msgid "Panel Content (HTML)" +msgstr "" + +#: plugin/serializers.py:345 +msgid "Panel Source (javascript)" +msgstr "" + #: report/api.py:88 msgid "No valid objects provided to template" msgstr "" -#: report/api.py:103 report/models.py:438 report/serializers.py:98 -#: report/serializers.py:148 templates/js/translated/purchase_order.js:1817 +#: report/api.py:103 report/models.py:446 report/serializers.py:99 +#: report/serializers.py:149 templates/js/translated/purchase_order.js:1817 #: templates/js/translated/return_order.js:353 #: templates/js/translated/sales_order.js:887 #: templates/js/translated/sales_order.js:1047 @@ -9281,7 +9334,11 @@ msgstr "" msgid "Error printing label" msgstr "" -#: report/api.py:375 report/api.py:411 +#: report/api.py:358 +msgid "Report saved at time of printing" +msgstr "" + +#: report/api.py:384 report/api.py:420 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" @@ -9318,135 +9375,143 @@ msgstr "" msgid "Revision number (auto-increments)" msgstr "" -#: report/models.py:202 +#: report/models.py:168 +msgid "Attach to Model on Print" +msgstr "" + +#: report/models.py:170 +msgid "Save report output as an attachment against linked model instance when printing" +msgstr "" + +#: report/models.py:210 msgid "Filename Pattern" msgstr "" -#: report/models.py:203 +#: report/models.py:211 msgid "Pattern for generating filenames" msgstr "" -#: report/models.py:208 +#: report/models.py:216 msgid "Template is enabled" msgstr "" -#: report/models.py:214 +#: report/models.py:222 msgid "Target model type for template" msgstr "" -#: report/models.py:234 +#: report/models.py:242 msgid "Filters" msgstr "" -#: report/models.py:235 +#: report/models.py:243 msgid "Template query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:294 report/models.py:361 +#: report/models.py:302 report/models.py:369 msgid "Template file" msgstr "" -#: report/models.py:302 +#: report/models.py:310 msgid "Page size for PDF reports" msgstr "" -#: report/models.py:308 +#: report/models.py:316 msgid "Render report in landscape orientation" msgstr "" -#: report/models.py:367 +#: report/models.py:375 msgid "Width [mm]" msgstr "" -#: report/models.py:368 +#: report/models.py:376 msgid "Label width, specified in mm" msgstr "" -#: report/models.py:374 +#: report/models.py:382 msgid "Height [mm]" msgstr "" -#: report/models.py:375 +#: report/models.py:383 msgid "Label height, specified in mm" msgstr "" -#: report/models.py:438 +#: report/models.py:446 msgid "Number of items to process" msgstr "" -#: report/models.py:444 +#: report/models.py:452 msgid "Report generation is complete" msgstr "" -#: report/models.py:448 templates/js/translated/build.js:2352 +#: report/models.py:456 templates/js/translated/build.js:2352 msgid "Progress" msgstr "" -#: report/models.py:448 +#: report/models.py:456 msgid "Report generation progress" msgstr "" -#: report/models.py:456 +#: report/models.py:464 msgid "Report Template" msgstr "" -#: report/models.py:463 report/models.py:486 +#: report/models.py:471 report/models.py:494 msgid "Output File" msgstr "" -#: report/models.py:464 report/models.py:487 +#: report/models.py:472 report/models.py:495 msgid "Generated output file" msgstr "" -#: report/models.py:475 +#: report/models.py:483 msgid "Label output plugin" msgstr "" -#: report/models.py:479 +#: report/models.py:487 msgid "Label Template" msgstr "" -#: report/models.py:502 +#: report/models.py:510 msgid "Snippet" msgstr "" -#: report/models.py:503 +#: report/models.py:511 msgid "Report snippet file" msgstr "" -#: report/models.py:510 +#: report/models.py:518 msgid "Snippet file description" msgstr "" -#: report/models.py:528 +#: report/models.py:536 msgid "Asset" msgstr "" -#: report/models.py:529 +#: report/models.py:537 msgid "Report asset file" msgstr "" -#: report/models.py:536 +#: report/models.py:544 msgid "Asset file description" msgstr "" -#: report/serializers.py:91 +#: report/serializers.py:92 msgid "Select report template" msgstr "" -#: report/serializers.py:99 report/serializers.py:149 +#: report/serializers.py:100 report/serializers.py:150 msgid "List of item primary keys to include in the report" msgstr "" -#: report/serializers.py:132 +#: report/serializers.py:133 msgid "Select label template" msgstr "" -#: report/serializers.py:140 +#: report/serializers.py:141 msgid "Printing Plugin" msgstr "" -#: report/serializers.py:141 +#: report/serializers.py:142 msgid "Select plugin to use for label printing" msgstr "" @@ -9517,7 +9582,7 @@ msgstr "" msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report.html:103 stock/models.py:2538 +#: report/templates/report/inventree_test_report.html:103 stock/models.py:2533 msgid "Result" msgstr "" @@ -9598,7 +9663,7 @@ msgid "Customer ID" msgstr "" #: stock/admin.py:206 stock/models.py:829 -#: stock/templates/stock/item_base.html:354 +#: stock/templates/stock/item_base.html:350 msgid "Installed In" msgstr "" @@ -9623,7 +9688,7 @@ msgid "Delete on Deplete" msgstr "" #: stock/admin.py:261 stock/models.py:923 -#: stock/templates/stock/item_base.html:433 +#: stock/templates/stock/item_base.html:429 #: templates/js/translated/stock.js:2316 users/models.py:124 msgid "Expiry Date" msgstr "" @@ -9665,7 +9730,7 @@ msgid "Expiry date after" msgstr "" #: stock/api.py:839 stock/serializers.py:611 -#: stock/templates/stock/item_base.html:439 +#: stock/templates/stock/item_base.html:435 #: templates/js/translated/table_filters.js:448 msgid "Stale" msgstr "" @@ -9715,7 +9780,7 @@ msgid "Stock Locations" msgstr "" #: stock/models.py:185 stock/models.py:972 -#: stock/templates/stock/item_base.html:247 +#: stock/templates/stock/item_base.html:243 msgid "Owner" msgstr "" @@ -9826,7 +9891,7 @@ msgstr "" msgid "Build for this stock item" msgstr "" -#: stock/models.py:892 stock/templates/stock/item_base.html:363 +#: stock/models.py:892 stock/templates/stock/item_base.html:359 msgid "Consumed By" msgstr "" @@ -9891,7 +9956,7 @@ msgstr "" msgid "Serial numbers already exist" msgstr "" -#: stock/models.py:1636 +#: stock/models.py:1636 stock/models.py:2436 msgid "Test template does not exist" msgstr "" @@ -9939,67 +10004,67 @@ msgstr "" msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2337 +#: stock/models.py:2335 msgid "Stock Item Tracking" msgstr "" -#: stock/models.py:2370 +#: stock/models.py:2368 msgid "Entry notes" msgstr "" -#: stock/models.py:2410 +#: stock/models.py:2408 msgid "Stock Item Test Result" msgstr "" -#: stock/models.py:2443 +#: stock/models.py:2439 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2448 +#: stock/models.py:2443 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2453 +#: stock/models.py:2448 msgid "Invalid value for this test" msgstr "" -#: stock/models.py:2538 +#: stock/models.py:2533 msgid "Test result" msgstr "" -#: stock/models.py:2545 +#: stock/models.py:2540 msgid "Test output value" msgstr "" -#: stock/models.py:2553 stock/serializers.py:245 +#: stock/models.py:2548 stock/serializers.py:245 msgid "Test result attachment" msgstr "" -#: stock/models.py:2557 +#: stock/models.py:2552 msgid "Test notes" msgstr "" -#: stock/models.py:2565 templates/js/translated/stock.js:1633 +#: stock/models.py:2560 templates/js/translated/stock.js:1633 msgid "Test station" msgstr "" -#: stock/models.py:2566 +#: stock/models.py:2561 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2572 +#: stock/models.py:2567 msgid "Started" msgstr "" -#: stock/models.py:2573 +#: stock/models.py:2568 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2579 +#: stock/models.py:2574 msgid "Finished" msgstr "" -#: stock/models.py:2580 +#: stock/models.py:2575 msgid "The timestamp of the test finish" msgstr "" @@ -10059,7 +10124,7 @@ msgstr "" msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:459 stock/templates/stock/item_base.html:193 +#: stock/serializers.py:459 stock/templates/stock/item_base.html:189 msgid "Parent Item" msgstr "" @@ -10071,7 +10136,7 @@ msgstr "" msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:603 stock/templates/stock/item_base.html:437 +#: stock/serializers.py:603 stock/templates/stock/item_base.html:433 #: templates/js/translated/table_filters.js:442 users/models.py:174 msgid "Expired" msgstr "" @@ -10410,7 +10475,7 @@ msgstr "" msgid "Test Data" msgstr "" -#: stock/templates/stock/item.html:85 stock/templates/stock/item_base.html:65 +#: stock/templates/stock/item.html:85 msgid "Test Report" msgstr "" @@ -10450,200 +10515,204 @@ msgstr "" msgid "Scan to Location" msgstr "" -#: stock/templates/stock/item_base.html:59 +#: stock/templates/stock/item_base.html:58 #: stock/templates/stock/location.html:67 #: templates/js/translated/filters.js:434 msgid "Printing actions" msgstr "" -#: stock/templates/stock/item_base.html:75 +#: stock/templates/stock/item_base.html:63 templates/js/translated/report.js:49 +msgid "Print Report" +msgstr "" + +#: stock/templates/stock/item_base.html:71 msgid "Stock adjustment actions" msgstr "" -#: stock/templates/stock/item_base.html:79 +#: stock/templates/stock/item_base.html:75 #: stock/templates/stock/location.html:87 templates/js/translated/stock.js:1909 msgid "Count stock" msgstr "" -#: stock/templates/stock/item_base.html:81 +#: stock/templates/stock/item_base.html:77 #: templates/js/translated/stock.js:1891 msgid "Add stock" msgstr "" -#: stock/templates/stock/item_base.html:82 +#: stock/templates/stock/item_base.html:78 #: templates/js/translated/stock.js:1900 msgid "Remove stock" msgstr "" -#: stock/templates/stock/item_base.html:85 +#: stock/templates/stock/item_base.html:81 msgid "Serialize stock" msgstr "" -#: stock/templates/stock/item_base.html:88 +#: stock/templates/stock/item_base.html:84 #: stock/templates/stock/location.html:93 templates/js/translated/stock.js:1918 msgid "Transfer stock" msgstr "" -#: stock/templates/stock/item_base.html:91 +#: stock/templates/stock/item_base.html:87 #: templates/js/translated/stock.js:1973 msgid "Assign to customer" msgstr "" -#: stock/templates/stock/item_base.html:94 +#: stock/templates/stock/item_base.html:90 msgid "Return to stock" msgstr "" -#: stock/templates/stock/item_base.html:97 +#: stock/templates/stock/item_base.html:93 msgid "Uninstall stock item" msgstr "" -#: stock/templates/stock/item_base.html:97 +#: stock/templates/stock/item_base.html:93 msgid "Uninstall" msgstr "" -#: stock/templates/stock/item_base.html:101 +#: stock/templates/stock/item_base.html:97 msgid "Install stock item" msgstr "" -#: stock/templates/stock/item_base.html:101 +#: stock/templates/stock/item_base.html:97 msgid "Install" msgstr "" -#: stock/templates/stock/item_base.html:115 +#: stock/templates/stock/item_base.html:111 msgid "Convert to variant" msgstr "" -#: stock/templates/stock/item_base.html:118 +#: stock/templates/stock/item_base.html:114 msgid "Duplicate stock item" msgstr "" -#: stock/templates/stock/item_base.html:120 +#: stock/templates/stock/item_base.html:116 msgid "Edit stock item" msgstr "" -#: stock/templates/stock/item_base.html:123 +#: stock/templates/stock/item_base.html:119 msgid "Delete stock item" msgstr "" -#: stock/templates/stock/item_base.html:169 templates/InvenTree/search.html:139 +#: stock/templates/stock/item_base.html:165 templates/InvenTree/search.html:139 #: templates/js/translated/build.js:2298 templates/navbar.html:38 msgid "Build" msgstr "Bygg" -#: stock/templates/stock/item_base.html:211 +#: stock/templates/stock/item_base.html:207 msgid "No manufacturer set" msgstr "" -#: stock/templates/stock/item_base.html:251 +#: stock/templates/stock/item_base.html:247 msgid "You are not in the list of owners of this item. This stock item cannot be edited." msgstr "" -#: stock/templates/stock/item_base.html:252 +#: stock/templates/stock/item_base.html:248 #: stock/templates/stock/location.html:146 msgid "Read only" msgstr "" -#: stock/templates/stock/item_base.html:265 +#: stock/templates/stock/item_base.html:261 msgid "This stock item is unavailable" msgstr "" -#: stock/templates/stock/item_base.html:271 +#: stock/templates/stock/item_base.html:267 msgid "This stock item is in production and cannot be edited." msgstr "" -#: stock/templates/stock/item_base.html:272 +#: stock/templates/stock/item_base.html:268 msgid "Edit the stock item from the build view." msgstr "" -#: stock/templates/stock/item_base.html:287 +#: stock/templates/stock/item_base.html:283 msgid "This stock item is allocated to Sales Order" msgstr "" -#: stock/templates/stock/item_base.html:295 +#: stock/templates/stock/item_base.html:291 msgid "This stock item is allocated to Build Order" msgstr "" -#: stock/templates/stock/item_base.html:311 +#: stock/templates/stock/item_base.html:307 msgid "This stock item is serialized. It has a unique serial number and the quantity cannot be adjusted" msgstr "" -#: stock/templates/stock/item_base.html:317 +#: stock/templates/stock/item_base.html:313 msgid "previous page" msgstr "föregående sida" -#: stock/templates/stock/item_base.html:317 +#: stock/templates/stock/item_base.html:313 msgid "Navigate to previous serial number" msgstr "" -#: stock/templates/stock/item_base.html:326 +#: stock/templates/stock/item_base.html:322 msgid "next page" msgstr "nästa sida" -#: stock/templates/stock/item_base.html:326 +#: stock/templates/stock/item_base.html:322 msgid "Navigate to next serial number" msgstr "" -#: stock/templates/stock/item_base.html:398 +#: stock/templates/stock/item_base.html:394 #: templates/js/translated/build.js:2555 msgid "No location set" msgstr "" -#: stock/templates/stock/item_base.html:413 +#: stock/templates/stock/item_base.html:409 msgid "Tests" msgstr "" -#: stock/templates/stock/item_base.html:419 +#: stock/templates/stock/item_base.html:415 msgid "This stock item has not passed all required tests" msgstr "" -#: stock/templates/stock/item_base.html:437 +#: stock/templates/stock/item_base.html:433 #, python-format msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:439 +#: stock/templates/stock/item_base.html:435 #, python-format msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:455 +#: stock/templates/stock/item_base.html:451 msgid "No stocktake performed" msgstr "" -#: stock/templates/stock/item_base.html:504 +#: stock/templates/stock/item_base.html:500 #: templates/js/translated/stock.js:2038 msgid "stock item" msgstr "" -#: stock/templates/stock/item_base.html:527 +#: stock/templates/stock/item_base.html:523 msgid "Edit Stock Status" msgstr "Redigera lagerstatus" -#: stock/templates/stock/item_base.html:536 +#: stock/templates/stock/item_base.html:532 msgid "Stock Item QR Code" msgstr "" -#: stock/templates/stock/item_base.html:547 +#: stock/templates/stock/item_base.html:543 msgid "Link Barcode to Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:611 +#: stock/templates/stock/item_base.html:607 msgid "Select one of the part variants listed below." msgstr "" -#: stock/templates/stock/item_base.html:614 +#: stock/templates/stock/item_base.html:610 msgid "Warning" msgstr "Varning" -#: stock/templates/stock/item_base.html:615 +#: stock/templates/stock/item_base.html:611 msgid "This action cannot be easily undone" msgstr "" -#: stock/templates/stock/item_base.html:623 +#: stock/templates/stock/item_base.html:619 msgid "Convert Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:656 +#: stock/templates/stock/item_base.html:652 msgid "Return to Stock" msgstr "" @@ -11310,7 +11379,7 @@ msgid "Delete Location Type" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:503 -#: templates/InvenTree/settings/stock.html:38 +#: templates/InvenTree/settings/stock.html:39 msgid "New Location Type" msgstr "" @@ -11367,7 +11436,7 @@ msgstr "" msgid "Stock Settings" msgstr "" -#: templates/InvenTree/settings/stock.html:34 +#: templates/InvenTree/settings/stock.html:35 msgid "Stock Location Types" msgstr "" @@ -11852,23 +11921,23 @@ msgstr "Lägg till bilaga" msgid "Barcode Identifier" msgstr "" -#: templates/base.html:103 +#: templates/base.html:102 msgid "Server Restart Required" msgstr "" -#: templates/base.html:106 +#: templates/base.html:105 msgid "A configuration option has been changed which requires a server restart" msgstr "" -#: templates/base.html:106 templates/base.html:116 +#: templates/base.html:105 templates/base.html:115 msgid "Contact your system administrator for further information" msgstr "" -#: templates/base.html:113 +#: templates/base.html:112 msgid "Pending Database Migrations" msgstr "" -#: templates/base.html:116 +#: templates/base.html:115 msgid "There are pending database migrations which require attention" msgstr "" @@ -13946,10 +14015,6 @@ msgstr "" msgid "Delete line item" msgstr "" -#: templates/js/translated/report.js:49 -msgid "Print Report" -msgstr "" - #: templates/js/translated/report.js:68 msgid "Report print successful" msgstr "" diff --git a/src/backend/InvenTree/locale/th/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/th/LC_MESSAGES/django.po index 5527d0d08b6b..f27e94a39a0d 100644 --- a/src/backend/InvenTree/locale/th/LC_MESSAGES/django.po +++ b/src/backend/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: 2024-08-29 07:07+0000\n" -"PO-Revision-Date: 2024-08-29 07:10\n" +"POT-Creation-Date: 2024-09-16 00:37+0000\n" +"PO-Revision-Date: 2024-09-16 00:40\n" "Last-Translator: \n" "Language-Team: Thai\n" "Language: th_TH\n" @@ -65,9 +65,9 @@ msgstr "ป้อนวันที่" #: 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:59 -#: part/models.py:3309 part/templates/part/part_sidebar.html:65 +#: part/models.py:3296 part/templates/part/part_sidebar.html:65 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/admin.py:231 stock/models.py:2369 stock/models.py:2557 +#: stock/admin.py:231 stock/models.py:2367 stock/models.py:2552 #: stock/serializers.py:705 stock/serializers.py:863 stock/serializers.py:989 #: stock/serializers.py:1039 stock/serializers.py:1350 #: stock/serializers.py:1439 stock/serializers.py:1604 @@ -364,7 +364,7 @@ msgstr "" msgid "[{site_name}] Log in to the app" msgstr "" -#: InvenTree/magic_login.py:38 InvenTree/serializers.py:413 +#: InvenTree/magic_login.py:38 InvenTree/serializers.py:416 #: company/models.py:133 company/templates/company/company_base.html:138 #: templates/InvenTree/settings/user.html:49 #: templates/js/translated/company.js:677 @@ -419,9 +419,9 @@ msgstr "" msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:767 common/models.py:2704 common/models.py:3131 -#: common/models.py:3351 common/serializers.py:439 company/models.py:590 -#: machine/models.py:24 part/models.py:995 part/models.py:3776 +#: InvenTree/models.py:767 common/models.py:2705 common/models.py:3132 +#: common/models.py:3352 common/serializers.py:455 company/models.py:590 +#: machine/models.py:24 part/models.py:995 part/models.py:3763 #: plugin/models.py:51 report/models.py:149 stock/models.py:82 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -446,10 +446,10 @@ msgstr "ชื่อ" #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 order/models.py:289 #: order/models.py:1406 part/admin.py:305 part/admin.py:411 part/models.py:1018 -#: part/models.py:3791 part/templates/part/category.html:79 +#: part/models.py:3778 part/templates/part/category.html:79 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:155 -#: report/models.py:509 report/models.py:535 +#: report/models.py:517 report/models.py:543 #: report/templates/report/inventree_build_order_report.html:117 #: stock/admin.py:54 stock/models.py:88 stock/templates/stock/location.html:122 #: templates/InvenTree/settings/notifications.html:19 @@ -517,12 +517,12 @@ msgstr "เกิดข้อผิดพลาดที่เซิร์ฟเ msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:63 part/models.py:4400 +#: InvenTree/serializers.py:63 part/models.py:4387 msgid "Must be a valid number" msgstr "ต้องเป็นตัวเลข" #: InvenTree/serializers.py:100 company/models.py:183 -#: company/templates/company/company_base.html:112 part/models.py:3127 +#: company/templates/company/company_base.html:112 part/models.py:3114 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -536,43 +536,43 @@ msgstr "" msgid "Username" msgstr "" -#: InvenTree/serializers.py:407 templates/InvenTree/settings/user.html:37 +#: InvenTree/serializers.py:408 templates/InvenTree/settings/user.html:37 msgid "First Name" msgstr "" -#: InvenTree/serializers.py:407 +#: InvenTree/serializers.py:408 msgid "First name of the user" msgstr "" -#: InvenTree/serializers.py:410 templates/InvenTree/settings/user.html:41 +#: InvenTree/serializers.py:412 templates/InvenTree/settings/user.html:41 msgid "Last Name" msgstr "" -#: InvenTree/serializers.py:410 +#: InvenTree/serializers.py:412 msgid "Last name of the user" msgstr "" -#: InvenTree/serializers.py:413 +#: InvenTree/serializers.py:416 msgid "Email address of the user" msgstr "" -#: InvenTree/serializers.py:438 +#: InvenTree/serializers.py:441 msgid "Staff" msgstr "" -#: InvenTree/serializers.py:438 +#: InvenTree/serializers.py:441 msgid "Does this user have staff permissions" msgstr "" -#: InvenTree/serializers.py:441 +#: InvenTree/serializers.py:445 msgid "Superuser" msgstr "" -#: InvenTree/serializers.py:441 +#: InvenTree/serializers.py:445 msgid "Is this user a superuser" msgstr "" -#: InvenTree/serializers.py:444 common/models.py:2709 company/models.py:160 +#: InvenTree/serializers.py:449 common/models.py:2710 company/models.py:160 #: company/models.py:798 machine/models.py:39 part/admin.py:88 #: part/models.py:1201 plugin/models.py:66 #: templates/js/translated/company.js:523 @@ -585,89 +585,89 @@ msgstr "" msgid "Active" msgstr "" -#: InvenTree/serializers.py:444 +#: InvenTree/serializers.py:449 msgid "Is this user account active" msgstr "" -#: InvenTree/serializers.py:462 +#: InvenTree/serializers.py:467 msgid "You do not have permission to change this user role." msgstr "" -#: InvenTree/serializers.py:474 +#: InvenTree/serializers.py:503 msgid "Only superusers can create new users" msgstr "" -#: InvenTree/serializers.py:493 +#: InvenTree/serializers.py:522 msgid "Your account has been created." msgstr "" -#: InvenTree/serializers.py:495 +#: InvenTree/serializers.py:524 msgid "Please use the password reset function to login" msgstr "" -#: InvenTree/serializers.py:502 +#: InvenTree/serializers.py:531 msgid "Welcome to InvenTree" msgstr "ยินดีต้อนรับเข้าสู่ Inventree" -#: InvenTree/serializers.py:560 +#: InvenTree/serializers.py:589 msgid "Invalid value" msgstr "" -#: InvenTree/serializers.py:580 importer/models.py:64 +#: InvenTree/serializers.py:609 importer/models.py:64 msgid "Data File" msgstr "ไฟล์ข้อมูล" -#: InvenTree/serializers.py:581 +#: InvenTree/serializers.py:610 msgid "Select data file for upload" msgstr "เลือกไฟล์ข้อมูลที่จะอัปโหลด" -#: InvenTree/serializers.py:598 +#: InvenTree/serializers.py:627 msgid "Unsupported file type" msgstr "" -#: InvenTree/serializers.py:604 +#: InvenTree/serializers.py:633 msgid "File is too large" msgstr "ไฟล์มีขนาดใหญ่เกินไป" -#: InvenTree/serializers.py:625 +#: InvenTree/serializers.py:654 msgid "No columns found in file" msgstr "" -#: InvenTree/serializers.py:628 +#: InvenTree/serializers.py:657 msgid "No data rows found in file" msgstr "" -#: InvenTree/serializers.py:740 +#: InvenTree/serializers.py:769 msgid "No data rows provided" msgstr "" -#: InvenTree/serializers.py:743 +#: InvenTree/serializers.py:772 msgid "No data columns supplied" msgstr "" -#: InvenTree/serializers.py:809 +#: InvenTree/serializers.py:838 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "" -#: InvenTree/serializers.py:818 +#: InvenTree/serializers.py:847 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "" -#: InvenTree/serializers.py:857 +#: InvenTree/serializers.py:886 msgid "Remote Image" msgstr "" -#: InvenTree/serializers.py:858 +#: InvenTree/serializers.py:887 msgid "URL of remote image file" msgstr "" -#: InvenTree/serializers.py:876 +#: InvenTree/serializers.py:905 msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/status.py:65 part/serializers.py:1267 +#: InvenTree/status.py:65 part/serializers.py:1265 msgid "Background worker check failed" msgstr "" @@ -759,7 +759,7 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:319 build/serializers.py:1332 part/models.py:4278 +#: build/api.py:319 build/serializers.py:1332 part/models.py:4265 #: templates/js/translated/bom.js:997 templates/js/translated/bom.js:1037 #: templates/js/translated/build.js:2705 #: templates/js/translated/table_filters.js:197 @@ -767,7 +767,7 @@ msgstr "" msgid "Consumable" msgstr "" -#: build/api.py:320 build/serializers.py:1333 part/models.py:4272 +#: build/api.py:320 build/serializers.py:1333 part/models.py:4259 #: part/templates/part/upload_bom.html:58 templates/js/translated/bom.js:1001 #: templates/js/translated/bom.js:1028 templates/js/translated/build.js:2696 #: templates/js/translated/table_filters.js:193 @@ -777,7 +777,7 @@ msgid "Optional" msgstr "" #: build/api.py:321 common/models.py:1491 part/admin.py:91 part/admin.py:428 -#: part/models.py:1166 part/serializers.py:1596 +#: part/models.py:1166 part/serializers.py:1594 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:337 #: templates/js/translated/table_filters.js:729 @@ -816,7 +816,7 @@ msgstr "" msgid "Available" msgstr "" -#: build/models.py:87 build/templates/build/build_base.html:9 +#: build/models.py:88 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_report.html:105 #: stock/serializers.py:85 templates/email/build_order_completed.html:16 @@ -825,7 +825,7 @@ msgstr "" msgid "Build Order" msgstr "" -#: build/models.py:88 build/templates/build/build_base.html:13 +#: build/models.py:89 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:111 #: order/templates/order/so_sidebar.html:13 @@ -866,7 +866,7 @@ msgstr "" #: build/models.py:243 build/serializers.py:1331 order/models.py:468 #: order/models.py:979 order/models.py:1366 order/models.py:2128 -#: part/admin.py:414 part/models.py:4293 part/templates/part/upload_bom.html:54 +#: part/admin.py:414 part/models.py:4280 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 @@ -892,11 +892,11 @@ msgstr "" #: build/templates/build/build_base.html:105 #: build/templates/build/detail.html:29 company/models.py:1043 order/api.py:761 #: order/models.py:1496 order/models.py:1651 order/models.py:1652 -#: part/api.py:1506 part/api.py:1806 part/models.py:419 part/models.py:3138 -#: part/models.py:3282 part/models.py:3430 part/models.py:3451 -#: part/models.py:3473 part/models.py:3609 part/models.py:3951 -#: part/models.py:4114 part/models.py:4244 part/models.py:4602 -#: part/serializers.py:1213 part/serializers.py:1857 +#: part/api.py:1506 part/api.py:1806 part/models.py:419 part/models.py:3125 +#: part/models.py:3269 part/models.py:3417 part/models.py:3438 +#: part/models.py:3460 part/models.py:3596 part/models.py:3938 +#: part/models.py:4101 part/models.py:4231 part/models.py:4595 +#: part/serializers.py:1211 part/serializers.py:1855 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -1063,12 +1063,12 @@ msgstr "" #: order/templates/order/return_order_base.html:148 #: order/templates/order/sales_order_base.html:187 #: part/templates/part/part_base.html:399 stock/models.py:859 -#: stock/templates/stock/item_base.html:200 +#: stock/templates/stock/item_base.html:196 #: templates/js/translated/company.js:1019 msgid "External Link" msgstr "" -#: build/models.py:378 common/models.py:3272 part/models.py:1070 +#: build/models.py:378 common/models.py:3273 part/models.py:1070 #: stock/models.py:859 msgid "Link to external URL" msgstr "" @@ -1110,7 +1110,7 @@ msgstr "" msgid "A build order has been completed" msgstr "" -#: build/models.py:968 build/models.py:1056 +#: build/models.py:968 build/models.py:1057 msgid "No build output specified" msgstr "" @@ -1122,37 +1122,37 @@ msgstr "" msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:1060 build/serializers.py:279 build/serializers.py:328 +#: build/models.py:1061 build/serializers.py:279 build/serializers.py:328 #: build/serializers.py:959 order/models.py:565 order/serializers.py:500 -#: order/serializers.py:666 part/serializers.py:1590 part/serializers.py:2019 +#: order/serializers.py:666 part/serializers.py:1588 part/serializers.py:2017 #: stock/models.py:704 stock/models.py:1515 stock/serializers.py:676 msgid "Quantity must be greater than zero" msgstr "จำนวนต้องมีค่ามากกว่า 0" -#: build/models.py:1065 build/serializers.py:284 +#: build/models.py:1066 build/serializers.py:284 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1125 build/serializers.py:607 +#: build/models.py:1126 build/serializers.py:607 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "" -#: build/models.py:1466 +#: build/models.py:1477 msgid "Build Order Line Item" msgstr "" -#: build/models.py:1491 +#: build/models.py:1502 msgid "Build object" msgstr "" -#: build/models.py:1505 build/models.py:1761 build/serializers.py:266 +#: build/models.py:1516 build/models.py:1775 build/serializers.py:266 #: build/serializers.py:313 build/serializers.py:1339 #: build/templates/build/build_base.html:110 -#: build/templates/build/detail.html:34 common/models.py:2581 +#: build/templates/build/detail.html:34 common/models.py:2582 #: order/models.py:1349 order/models.py:2034 order/serializers.py:1464 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:413 -#: part/forms.py:48 part/models.py:3296 part/models.py:4266 +#: part/forms.py:48 part/models.py:3283 part/models.py:4253 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1163,9 +1163,9 @@ msgstr "" #: report/templates/report/inventree_test_report.html:90 #: report/templates/report/inventree_test_report.html:169 stock/admin.py:160 #: stock/serializers.py:128 stock/serializers.py:168 stock/serializers.py:667 -#: stock/templates/stock/item_base.html:287 -#: stock/templates/stock/item_base.html:295 -#: stock/templates/stock/item_base.html:342 +#: stock/templates/stock/item_base.html:283 +#: stock/templates/stock/item_base.html:291 +#: stock/templates/stock/item_base.html:338 #: templates/email/build_order_completed.html:18 #: templates/js/translated/barcode.js:579 templates/js/translated/bom.js:771 #: templates/js/translated/bom.js:981 templates/js/translated/build.js:525 @@ -1194,41 +1194,41 @@ msgstr "" msgid "Quantity" msgstr "" -#: build/models.py:1506 +#: build/models.py:1517 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1586 +#: build/models.py:1597 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1595 +#: build/models.py:1606 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1605 order/models.py:1985 +#: build/models.py:1616 order/models.py:1985 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1611 order/models.py:1988 +#: build/models.py:1622 order/models.py:1988 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1617 +#: build/models.py:1628 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1676 +#: build/models.py:1687 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1748 build/serializers.py:939 order/serializers.py:1301 +#: build/models.py:1762 build/serializers.py:939 order/serializers.py:1301 #: order/serializers.py:1322 stock/models.py:381 stock/serializers.py:94 #: stock/serializers.py:770 stock/serializers.py:1288 stock/serializers.py:1400 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 -#: stock/templates/stock/item_base.html:194 +#: stock/templates/stock/item_base.html:190 #: templates/js/translated/build.js:1921 #: templates/js/translated/sales_order.js:301 #: templates/js/translated/sales_order.js:1234 @@ -1241,19 +1241,19 @@ msgstr "" msgid "Stock Item" msgstr "" -#: build/models.py:1749 +#: build/models.py:1763 msgid "Source stock item" msgstr "" -#: build/models.py:1762 +#: build/models.py:1776 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1770 +#: build/models.py:1784 msgid "Install into" msgstr "" -#: build/models.py:1771 +#: build/models.py:1785 msgid "Destination stock item" msgstr "" @@ -1262,7 +1262,7 @@ msgid "Build Level" msgstr "" #: build/serializers.py:115 build/serializers.py:1234 build/serializers.py:1323 -#: part/admin.py:41 part/admin.py:408 part/models.py:4116 part/stocktake.py:219 +#: part/admin.py:41 part/admin.py:408 part/models.py:4103 part/stocktake.py:219 #: stock/admin.py:157 msgid "Part Name" msgstr "" @@ -1323,10 +1323,10 @@ msgid "Enter serial numbers for build outputs" msgstr "" #: build/serializers.py:359 build/serializers.py:500 build/serializers.py:572 -#: order/serializers.py:655 order/serializers.py:778 order/serializers.py:1789 -#: part/serializers.py:1233 stock/serializers.py:103 stock/serializers.py:698 +#: order/serializers.py:655 order/serializers.py:778 order/serializers.py:1797 +#: part/serializers.py:1231 stock/serializers.py:103 stock/serializers.py:698 #: stock/serializers.py:858 stock/serializers.py:984 stock/serializers.py:1432 -#: stock/serializers.py:1688 stock/templates/stock/item_base.html:394 +#: stock/serializers.py:1688 stock/templates/stock/item_base.html:390 #: templates/js/translated/barcode.js:578 #: templates/js/translated/barcode.js:826 templates/js/translated/build.js:1035 #: templates/js/translated/build.js:1177 templates/js/translated/build.js:2547 @@ -1390,7 +1390,7 @@ msgstr "" #: build/templates/build/detail.html:62 order/models.py:477 #: order/models.py:1003 order/models.py:2152 order/serializers.py:687 #: stock/admin.py:165 stock/serializers.py:1035 stock/serializers.py:1576 -#: stock/templates/stock/item_base.html:427 +#: stock/templates/stock/item_base.html:423 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2366 #: templates/js/translated/purchase_order.js:1371 #: templates/js/translated/purchase_order.js:1792 @@ -1522,7 +1522,7 @@ msgstr "" msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:1030 order/serializers.py:1614 +#: build/serializers.py:1030 order/serializers.py:1622 msgid "Allocation items must be provided" msgstr "" @@ -1590,7 +1590,7 @@ msgstr "" #: build/serializers.py:1230 company/models.py:849 #: company/templates/company/supplier_part.html:160 order/serializers.py:691 #: stock/admin.py:229 stock/models.py:822 stock/serializers.py:1586 -#: stock/templates/stock/item_base.html:240 +#: stock/templates/stock/item_base.html:236 #: templates/js/translated/company.js:1646 #: templates/js/translated/purchase_order.js:1169 #: templates/js/translated/purchase_order.js:1332 @@ -1600,12 +1600,12 @@ msgid "Packaging" msgstr "" #: build/serializers.py:1233 part/admin.py:39 part/admin.py:398 -#: part/models.py:4115 part/stocktake.py:218 stock/admin.py:153 +#: part/models.py:4102 part/stocktake.py:218 stock/admin.py:153 msgid "Part ID" msgstr "" #: build/serializers.py:1235 build/serializers.py:1324 part/admin.py:402 -#: part/models.py:4117 +#: part/models.py:4104 msgid "Part IPN" msgstr "" @@ -1625,7 +1625,7 @@ msgstr "" #: build/serializers.py:1243 #: report/templates/report/inventree_return_order_report.html:25 #: report/templates/report/inventree_test_report.html:88 stock/models.py:849 -#: stock/serializers.py:152 stock/templates/stock/item_base.html:311 +#: stock/serializers.py:152 stock/templates/stock/item_base.html:307 #: templates/js/translated/build.js:523 templates/js/translated/build.js:1543 #: templates/js/translated/build.js:2530 #: templates/js/translated/model_renderers.js:231 @@ -1644,7 +1644,7 @@ msgstr "" msgid "Allocated Quantity" msgstr "" -#: build/serializers.py:1257 stock/templates/stock/item_base.html:340 +#: build/serializers.py:1257 stock/templates/stock/item_base.html:336 msgid "Available Quantity" msgstr "" @@ -1667,13 +1667,13 @@ msgstr "" msgid "Inherited" msgstr "" -#: build/serializers.py:1337 part/models.py:4326 +#: build/serializers.py:1337 part/models.py:4313 #: part/templates/part/upload_bom.html:56 templates/js/translated/bom.js:1046 #: templates/js/translated/build.js:2714 msgid "Allow Variants" msgstr "" -#: build/serializers.py:1341 part/models.py:4124 part/models.py:4594 +#: build/serializers.py:1341 part/models.py:4111 part/models.py:4587 #: stock/api.py:793 msgid "BOM Item" msgstr "" @@ -1684,7 +1684,7 @@ msgid "Allocated Stock" msgstr "" #: build/serializers.py:1355 order/serializers.py:1179 part/admin.py:132 -#: part/bom.py:186 part/serializers.py:920 part/serializers.py:1623 +#: part/bom.py:186 part/serializers.py:918 part/serializers.py:1621 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 #: templates/js/translated/build.js:2807 templates/js/translated/part.js:712 #: templates/js/translated/part.js:2155 @@ -1692,13 +1692,13 @@ msgstr "" msgid "On Order" msgstr "" -#: build/serializers.py:1360 order/serializers.py:1180 part/serializers.py:1625 +#: build/serializers.py:1360 order/serializers.py:1180 part/serializers.py:1623 #: templates/js/translated/build.js:2811 #: templates/js/translated/table_filters.js:367 msgid "In Production" msgstr "" -#: build/serializers.py:1365 part/bom.py:185 part/serializers.py:1650 +#: build/serializers.py:1365 part/bom.py:185 part/serializers.py:1648 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" @@ -1716,7 +1716,7 @@ msgstr "" msgid "Total Available Stock" msgstr "" -#: build/serializers.py:1372 part/serializers.py:927 +#: build/serializers.py:1372 part/serializers.py:925 msgid "External Stock" msgstr "" @@ -1745,7 +1745,7 @@ msgstr "ยกเลิกแล้ว" #: importer/status_codes.py:27 order/status_codes.py:15 #: order/status_codes.py:50 order/status_codes.py:81 #: order/templates/order/order_base.html:163 -#: order/templates/order/sales_order_base.html:168 report/models.py:443 +#: order/templates/order/sales_order_base.html:168 report/models.py:451 msgid "Complete" msgstr "สำเร็จแล้ว" @@ -1849,9 +1849,6 @@ msgid "Delete Build" msgstr "" #: build/templates/build/build_base.html:87 -msgid "Isueue Build" -msgstr "" - #: build/templates/build/build_base.html:88 msgid "Issue Build" msgstr "" @@ -1931,7 +1928,7 @@ msgstr "" #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_report.html:135 #: report/templates/report/inventree_sales_order_report.html:14 -#: stock/templates/stock/item_base.html:369 +#: stock/templates/stock/item_base.html:365 #: templates/email/overdue_sales_order.html:15 #: templates/js/translated/pricing.js:929 #: templates/js/translated/sales_order.js:805 @@ -1991,7 +1988,7 @@ msgid "Allocated Parts" msgstr "" #: build/templates/build/detail.html:80 stock/admin.py:163 -#: stock/templates/stock/item_base.html:162 +#: stock/templates/stock/item_base.html:158 #: templates/js/translated/build.js:1556 #: templates/js/translated/model_renderers.js:242 #: templates/js/translated/purchase_order.js:1326 @@ -2148,19 +2145,19 @@ msgstr "" msgid "Test Statistics" msgstr "" -#: common/api.py:692 +#: common/api.py:725 msgid "Is Link" msgstr "" -#: common/api.py:700 +#: common/api.py:733 msgid "Is File" msgstr "" -#: common/api.py:743 +#: common/api.py:776 msgid "User does not have permission to delete these attachments" msgstr "" -#: common/api.py:760 +#: common/api.py:793 msgid "User does not have permission to delete this attachment" msgstr "" @@ -2352,8 +2349,8 @@ msgstr "" #: common/models.py:1297 common/models.py:1353 common/models.py:1366 #: common/models.py:1374 common/models.py:1383 common/models.py:1392 -#: common/models.py:1629 common/models.py:1651 common/models.py:1766 -#: common/models.py:2148 +#: common/models.py:1629 common/models.py:1651 common/models.py:1752 +#: common/models.py:2141 msgid "days" msgstr "" @@ -2581,9 +2578,9 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1485 part/admin.py:108 part/models.py:3959 -#: report/models.py:293 report/models.py:360 report/serializers.py:90 -#: report/serializers.py:131 stock/serializers.py:233 +#: common/models.py:1485 part/admin.py:108 part/models.py:3946 +#: report/models.py:301 report/models.py:368 report/serializers.py:91 +#: report/serializers.py:132 stock/serializers.py:233 #: templates/js/translated/table_filters.js:138 #: templates/js/translated/table_filters.js:775 msgid "Template" @@ -2598,7 +2595,7 @@ msgid "Parts can be assembled from other components by default" msgstr "" #: common/models.py:1497 part/admin.py:95 part/models.py:1172 -#: part/serializers.py:1617 templates/js/translated/table_filters.js:737 +#: part/serializers.py:1615 templates/js/translated/table_filters.js:737 msgid "Component" msgstr "" @@ -2823,7 +2820,7 @@ msgid "Log errors which occur when generating reports" msgstr "" #: common/models.py:1702 plugin/builtin/labels/label_sheet.py:28 -#: report/models.py:301 +#: report/models.py:309 msgid "Page Size" msgstr "" @@ -2832,914 +2829,914 @@ msgid "Default page size for PDF reports" msgstr "" #: common/models.py:1708 -msgid "Enable Test Reports" -msgstr "" - -#: common/models.py:1709 -msgid "Enable generation of test reports" -msgstr "" - -#: common/models.py:1714 -msgid "Attach Test Reports" -msgstr "" - -#: common/models.py:1716 -msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" -msgstr "" - -#: common/models.py:1722 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1723 +#: common/models.py:1709 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1728 +#: common/models.py:1714 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1729 +#: common/models.py:1715 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1734 +#: common/models.py:1720 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1736 +#: common/models.py:1722 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/models.py:1742 +#: common/models.py:1728 msgid "Batch Code Template" msgstr "" -#: common/models.py:1744 +#: common/models.py:1730 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1749 +#: common/models.py:1735 msgid "Stock Expiry" msgstr "" -#: common/models.py:1750 +#: common/models.py:1736 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1755 +#: common/models.py:1741 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1756 +#: common/models.py:1742 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1761 +#: common/models.py:1747 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1763 +#: common/models.py:1749 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1770 +#: common/models.py:1756 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1771 +#: common/models.py:1757 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1776 +#: common/models.py:1762 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1777 +#: common/models.py:1763 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1782 +#: common/models.py:1768 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1783 +#: common/models.py:1769 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1788 +#: common/models.py:1774 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1789 +#: common/models.py:1775 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1794 +#: common/models.py:1780 msgid "Check BOM when installing items" msgstr "" -#: common/models.py:1796 +#: common/models.py:1782 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/models.py:1802 +#: common/models.py:1788 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/models.py:1804 +#: common/models.py:1790 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/models.py:1810 +#: common/models.py:1796 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1812 +#: common/models.py:1798 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1818 common/models.py:1874 common/models.py:1896 -#: common/models.py:1932 +#: common/models.py:1804 common/models.py:1860 common/models.py:1882 +#: common/models.py:1918 msgid "Require Responsible Owner" msgstr "" -#: common/models.py:1819 common/models.py:1875 common/models.py:1897 -#: common/models.py:1933 +#: common/models.py:1805 common/models.py:1861 common/models.py:1883 +#: common/models.py:1919 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/models.py:1824 +#: common/models.py:1810 msgid "Require Active Part" msgstr "" -#: common/models.py:1825 +#: common/models.py:1811 msgid "Prevent build order creation for inactive parts" msgstr "" -#: common/models.py:1830 +#: common/models.py:1816 msgid "Require Locked Part" msgstr "" -#: common/models.py:1831 +#: common/models.py:1817 msgid "Prevent build order creation for unlocked parts" msgstr "" -#: common/models.py:1836 +#: common/models.py:1822 msgid "Require Valid BOM" msgstr "" -#: common/models.py:1838 +#: common/models.py:1824 msgid "Prevent build order creation unless BOM has been validated" msgstr "" -#: common/models.py:1844 +#: common/models.py:1830 msgid "Require Closed Child Orders" msgstr "" -#: common/models.py:1846 +#: common/models.py:1832 msgid "Prevent build order completion until all child orders are closed" msgstr "" -#: common/models.py:1852 +#: common/models.py:1838 msgid "Block Until Tests Pass" msgstr "" -#: common/models.py:1854 +#: common/models.py:1840 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "" -#: common/models.py:1860 +#: common/models.py:1846 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1861 +#: common/models.py:1847 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1866 +#: common/models.py:1852 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1868 +#: common/models.py:1854 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1880 +#: common/models.py:1866 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1882 +#: common/models.py:1868 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1888 +#: common/models.py:1874 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1890 +#: common/models.py:1876 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1902 +#: common/models.py:1888 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1903 +#: common/models.py:1889 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1908 +#: common/models.py:1894 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1910 +#: common/models.py:1896 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1916 +#: common/models.py:1902 msgid "Mark Shipped Orders as Complete" msgstr "" -#: common/models.py:1918 +#: common/models.py:1904 msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status" msgstr "" -#: common/models.py:1924 +#: common/models.py:1910 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1926 +#: common/models.py:1912 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1938 +#: common/models.py:1924 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1940 +#: common/models.py:1926 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1946 +#: common/models.py:1932 msgid "Auto Complete Purchase Orders" msgstr "" -#: common/models.py:1948 +#: common/models.py:1934 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/models.py:1955 +#: common/models.py:1941 msgid "Enable password forgot" msgstr "" -#: common/models.py:1956 +#: common/models.py:1942 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1961 +#: common/models.py:1947 msgid "Enable registration" msgstr "" -#: common/models.py:1962 +#: common/models.py:1948 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1967 +#: common/models.py:1953 msgid "Enable SSO" msgstr "" -#: common/models.py:1968 +#: common/models.py:1954 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1973 +#: common/models.py:1959 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1975 +#: common/models.py:1961 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1981 +#: common/models.py:1967 msgid "Enable SSO group sync" msgstr "" -#: common/models.py:1983 +#: common/models.py:1969 msgid "Enable synchronizing InvenTree groups with groups provided by the IdP" msgstr "" -#: common/models.py:1989 +#: common/models.py:1975 msgid "SSO group key" msgstr "" -#: common/models.py:1991 +#: common/models.py:1977 msgid "The name of the groups claim attribute provided by the IdP" msgstr "" -#: common/models.py:1997 +#: common/models.py:1983 msgid "SSO group map" msgstr "" -#: common/models.py:1999 +#: common/models.py:1985 msgid "A mapping from SSO groups to local InvenTree groups. If the local group does not exist, it will be created." msgstr "" -#: common/models.py:2005 +#: common/models.py:1991 msgid "Remove groups outside of SSO" msgstr "" -#: common/models.py:2007 +#: common/models.py:1993 msgid "Whether groups assigned to the user should be removed if they are not backend by the IdP. Disabling this setting might cause security issues" msgstr "" -#: common/models.py:2013 +#: common/models.py:1999 msgid "Email required" msgstr "" -#: common/models.py:2014 +#: common/models.py:2000 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:2019 +#: common/models.py:2005 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:2021 +#: common/models.py:2007 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:2027 +#: common/models.py:2013 msgid "Mail twice" msgstr "" -#: common/models.py:2028 +#: common/models.py:2014 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:2033 +#: common/models.py:2019 msgid "Password twice" msgstr "" -#: common/models.py:2034 +#: common/models.py:2020 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:2039 +#: common/models.py:2025 msgid "Allowed domains" msgstr "" -#: common/models.py:2041 +#: common/models.py:2027 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:2047 +#: common/models.py:2033 msgid "Group on signup" msgstr "" -#: common/models.py:2049 +#: common/models.py:2035 msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP." msgstr "" -#: common/models.py:2055 +#: common/models.py:2041 msgid "Enforce MFA" msgstr "" -#: common/models.py:2056 +#: common/models.py:2042 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:2061 +#: common/models.py:2047 msgid "Check plugins on startup" msgstr "" -#: common/models.py:2063 +#: common/models.py:2049 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:2071 +#: common/models.py:2057 msgid "Check for plugin updates" msgstr "" -#: common/models.py:2072 +#: common/models.py:2058 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:2078 +#: common/models.py:2064 msgid "Enable URL integration" msgstr "" -#: common/models.py:2079 +#: common/models.py:2065 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:2085 +#: common/models.py:2071 msgid "Enable navigation integration" msgstr "" -#: common/models.py:2086 +#: common/models.py:2072 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:2092 +#: common/models.py:2078 msgid "Enable app integration" msgstr "" -#: common/models.py:2093 +#: common/models.py:2079 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:2099 +#: common/models.py:2085 msgid "Enable schedule integration" msgstr "" -#: common/models.py:2100 +#: common/models.py:2086 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:2106 +#: common/models.py:2092 msgid "Enable event integration" msgstr "" -#: common/models.py:2107 +#: common/models.py:2093 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:2113 +#: common/models.py:2099 +msgid "Enable interface integration" +msgstr "" + +#: common/models.py:2100 +msgid "Enable plugins to integrate into the user interface" +msgstr "" + +#: common/models.py:2106 msgid "Enable project codes" msgstr "" -#: common/models.py:2114 +#: common/models.py:2107 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:2119 +#: common/models.py:2112 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:2121 +#: common/models.py:2114 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:2127 +#: common/models.py:2120 msgid "Exclude External Locations" msgstr "" -#: common/models.py:2129 +#: common/models.py:2122 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/models.py:2135 +#: common/models.py:2128 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:2137 +#: common/models.py:2130 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:2143 +#: common/models.py:2136 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:2145 +#: common/models.py:2138 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:2152 +#: common/models.py:2145 msgid "Display Users full names" msgstr "" -#: common/models.py:2153 +#: common/models.py:2146 msgid "Display Users full names instead of usernames" msgstr "" -#: common/models.py:2158 +#: common/models.py:2151 msgid "Enable Test Station Data" msgstr "" -#: common/models.py:2159 +#: common/models.py:2152 msgid "Enable test station data collection for test results" msgstr "" -#: common/models.py:2171 common/models.py:2551 +#: common/models.py:2157 +msgid "Create Template on Upload" +msgstr "" + +#: common/models.py:2159 +msgid "Create a new test template when uploading test data which does not match an existing template" +msgstr "" + +#: common/models.py:2172 common/models.py:2552 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:2214 +#: common/models.py:2215 msgid "Hide inactive parts" msgstr "" -#: common/models.py:2216 +#: common/models.py:2217 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:2222 +#: common/models.py:2223 msgid "Show subscribed parts" msgstr "" -#: common/models.py:2223 +#: common/models.py:2224 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:2228 +#: common/models.py:2229 msgid "Show subscribed categories" msgstr "" -#: common/models.py:2229 +#: common/models.py:2230 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:2234 +#: common/models.py:2235 msgid "Show latest parts" msgstr "" -#: common/models.py:2235 +#: common/models.py:2236 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:2240 +#: common/models.py:2241 msgid "Show invalid BOMs" msgstr "" -#: common/models.py:2241 +#: common/models.py:2242 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:2246 +#: common/models.py:2247 msgid "Show recent stock changes" msgstr "" -#: common/models.py:2247 +#: common/models.py:2248 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:2252 +#: common/models.py:2253 msgid "Show low stock" msgstr "" -#: common/models.py:2253 +#: common/models.py:2254 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:2258 +#: common/models.py:2259 msgid "Show depleted stock" msgstr "" -#: common/models.py:2259 +#: common/models.py:2260 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:2264 +#: common/models.py:2265 msgid "Show needed stock" msgstr "" -#: common/models.py:2265 +#: common/models.py:2266 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:2270 +#: common/models.py:2271 msgid "Show expired stock" msgstr "" -#: common/models.py:2271 +#: common/models.py:2272 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:2276 +#: common/models.py:2277 msgid "Show stale stock" msgstr "" -#: common/models.py:2277 +#: common/models.py:2278 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:2282 +#: common/models.py:2283 msgid "Show pending builds" msgstr "" -#: common/models.py:2283 +#: common/models.py:2284 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:2288 +#: common/models.py:2289 msgid "Show overdue builds" msgstr "" -#: common/models.py:2289 +#: common/models.py:2290 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:2294 +#: common/models.py:2295 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2295 +#: common/models.py:2296 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2300 +#: common/models.py:2301 msgid "Show overdue POs" msgstr "" -#: common/models.py:2301 +#: common/models.py:2302 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2306 +#: common/models.py:2307 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2307 +#: common/models.py:2308 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2312 +#: common/models.py:2313 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2313 +#: common/models.py:2314 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2318 +#: common/models.py:2319 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2319 +#: common/models.py:2320 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2324 +#: common/models.py:2325 msgid "Show News" msgstr "" -#: common/models.py:2325 +#: common/models.py:2326 msgid "Show news on the homepage" msgstr "" -#: common/models.py:2330 +#: common/models.py:2331 msgid "Inline label display" msgstr "" -#: common/models.py:2332 +#: common/models.py:2333 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2338 +#: common/models.py:2339 msgid "Default label printer" msgstr "" -#: common/models.py:2340 +#: common/models.py:2341 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2346 +#: common/models.py:2347 msgid "Inline report display" msgstr "" -#: common/models.py:2348 +#: common/models.py:2349 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2354 +#: common/models.py:2355 msgid "Search Parts" msgstr "" -#: common/models.py:2355 +#: common/models.py:2356 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2360 +#: common/models.py:2361 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2361 +#: common/models.py:2362 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2366 +#: common/models.py:2367 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2367 +#: common/models.py:2368 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2372 +#: common/models.py:2373 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2373 +#: common/models.py:2374 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2378 +#: common/models.py:2379 msgid "Search Categories" msgstr "" -#: common/models.py:2379 +#: common/models.py:2380 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2384 +#: common/models.py:2385 msgid "Search Stock" msgstr "" -#: common/models.py:2385 +#: common/models.py:2386 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2390 +#: common/models.py:2391 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2392 +#: common/models.py:2393 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2398 +#: common/models.py:2399 msgid "Search Locations" msgstr "" -#: common/models.py:2399 +#: common/models.py:2400 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2404 +#: common/models.py:2405 msgid "Search Companies" msgstr "" -#: common/models.py:2405 +#: common/models.py:2406 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2410 +#: common/models.py:2411 msgid "Search Build Orders" msgstr "" -#: common/models.py:2411 +#: common/models.py:2412 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2416 +#: common/models.py:2417 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2417 +#: common/models.py:2418 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2422 +#: common/models.py:2423 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2424 +#: common/models.py:2425 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2430 +#: common/models.py:2431 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2431 +#: common/models.py:2432 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2436 +#: common/models.py:2437 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2438 +#: common/models.py:2439 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2444 +#: common/models.py:2445 msgid "Search Return Orders" msgstr "" -#: common/models.py:2445 +#: common/models.py:2446 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2450 +#: common/models.py:2451 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2452 +#: common/models.py:2453 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2458 +#: common/models.py:2459 msgid "Search Preview Results" msgstr "" -#: common/models.py:2460 +#: common/models.py:2461 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2466 +#: common/models.py:2467 msgid "Regex Search" msgstr "" -#: common/models.py:2467 +#: common/models.py:2468 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2472 +#: common/models.py:2473 msgid "Whole Word Search" msgstr "" -#: common/models.py:2473 +#: common/models.py:2474 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2478 +#: common/models.py:2479 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2479 +#: common/models.py:2480 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2484 +#: common/models.py:2485 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2485 +#: common/models.py:2486 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2490 +#: common/models.py:2491 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2491 +#: common/models.py:2492 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2496 +#: common/models.py:2497 msgid "Date Format" msgstr "" -#: common/models.py:2497 +#: common/models.py:2498 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2510 part/templates/part/detail.html:41 +#: common/models.py:2511 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2511 +#: common/models.py:2512 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2516 part/templates/part/detail.html:62 +#: common/models.py:2517 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2518 +#: common/models.py:2519 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2524 +#: common/models.py:2525 msgid "Table String Length" msgstr "" -#: common/models.py:2526 +#: common/models.py:2527 msgid "Maximum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2532 +#: common/models.py:2533 msgid "Receive error reports" msgstr "" -#: common/models.py:2533 +#: common/models.py:2534 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2538 +#: common/models.py:2539 msgid "Last used printing machines" msgstr "" -#: common/models.py:2539 +#: common/models.py:2540 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2559 common/models.py:2560 common/models.py:2717 -#: common/models.py:2718 common/models.py:2963 common/models.py:2964 -#: common/models.py:3287 common/models.py:3288 importer/models.py:89 -#: part/models.py:3319 part/models.py:3406 part/models.py:3480 -#: part/models.py:3508 plugin/models.py:274 plugin/models.py:275 +#: common/models.py:2560 common/models.py:2561 common/models.py:2718 +#: common/models.py:2719 common/models.py:2964 common/models.py:2965 +#: common/models.py:3288 common/models.py:3289 importer/models.py:89 +#: part/models.py:3306 part/models.py:3393 part/models.py:3467 +#: part/models.py:3495 plugin/models.py:274 plugin/models.py:275 #: report/templates/report/inventree_test_report.html:105 #: templates/js/translated/stock.js:3121 users/models.py:111 msgid "User" msgstr "ผู้ใช้งาน" -#: common/models.py:2582 +#: common/models.py:2583 msgid "Price break quantity" msgstr "" -#: common/models.py:2589 company/serializers.py:517 order/admin.py:42 +#: common/models.py:2590 company/serializers.py:517 order/admin.py:42 #: order/models.py:1423 order/models.py:2410 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1892 #: templates/js/translated/pricing.js:621 @@ -3747,96 +3744,96 @@ msgstr "" msgid "Price" msgstr "" -#: common/models.py:2590 +#: common/models.py:2591 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2694 common/models.py:2879 +#: common/models.py:2695 common/models.py:2880 msgid "Endpoint" msgstr "" -#: common/models.py:2695 +#: common/models.py:2696 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2705 +#: common/models.py:2706 msgid "Name for this webhook" msgstr "" -#: common/models.py:2709 +#: common/models.py:2710 msgid "Is this webhook active" msgstr "" -#: common/models.py:2725 users/models.py:159 +#: common/models.py:2726 users/models.py:159 msgid "Token" msgstr "" -#: common/models.py:2726 +#: common/models.py:2727 msgid "Token for access" msgstr "" -#: common/models.py:2734 +#: common/models.py:2735 msgid "Secret" msgstr "" -#: common/models.py:2735 +#: common/models.py:2736 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2843 +#: common/models.py:2844 msgid "Message ID" msgstr "" -#: common/models.py:2844 +#: common/models.py:2845 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2852 +#: common/models.py:2853 msgid "Host" msgstr "" -#: common/models.py:2853 +#: common/models.py:2854 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2861 +#: common/models.py:2862 msgid "Header" msgstr "" -#: common/models.py:2862 +#: common/models.py:2863 msgid "Header of this message" msgstr "" -#: common/models.py:2869 +#: common/models.py:2870 msgid "Body" msgstr "" -#: common/models.py:2870 +#: common/models.py:2871 msgid "Body of this message" msgstr "" -#: common/models.py:2880 +#: common/models.py:2881 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2885 +#: common/models.py:2886 msgid "Worked on" msgstr "" -#: common/models.py:2886 +#: common/models.py:2887 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:3012 +#: common/models.py:3013 msgid "Id" msgstr "" -#: common/models.py:3014 templates/js/translated/company.js:965 +#: common/models.py:3015 templates/js/translated/company.js:965 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:3016 common/models.py:3271 company/models.py:146 +#: common/models.py:3017 common/models.py:3272 company/models.py:146 #: company/models.py:443 company/models.py:509 company/models.py:815 #: order/models.py:303 order/models.py:1378 order/models.py:1810 #: part/admin.py:55 part/models.py:1069 @@ -3853,217 +3850,217 @@ msgstr "" msgid "Link" msgstr "ลิงก์" -#: common/models.py:3018 templates/js/translated/news.js:60 +#: common/models.py:3019 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:3020 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:3021 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:103 msgid "Author" msgstr "" -#: common/models.py:3022 templates/js/translated/news.js:52 +#: common/models.py:3023 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:3025 +#: common/models.py:3026 msgid "Read" msgstr "" -#: common/models.py:3025 +#: common/models.py:3026 msgid "Was this news item read?" msgstr "" -#: common/models.py:3042 company/models.py:156 part/models.py:1079 +#: common/models.py:3043 company/models.py:156 part/models.py:1079 #: 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.html:35 -#: stock/templates/stock/item_base.html:133 templates/503.html:31 +#: stock/templates/stock/item_base.html:129 templates/503.html:31 #: templates/hover_image.html:7 templates/hover_image.html:9 #: templates/modals.html:6 msgid "Image" msgstr "" -#: common/models.py:3042 +#: common/models.py:3043 msgid "Image file" msgstr "" -#: common/models.py:3054 common/models.py:3255 +#: common/models.py:3055 common/models.py:3256 msgid "Target model type for this image" msgstr "" -#: common/models.py:3058 +#: common/models.py:3059 msgid "Target model ID for this image" msgstr "" -#: common/models.py:3080 +#: common/models.py:3081 msgid "Custom Unit" msgstr "" -#: common/models.py:3098 +#: common/models.py:3099 msgid "Unit symbol must be unique" msgstr "" -#: common/models.py:3113 +#: common/models.py:3114 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:3132 +#: common/models.py:3133 msgid "Unit name" msgstr "" -#: common/models.py:3139 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3140 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:3140 +#: common/models.py:3141 msgid "Optional unit symbol" msgstr "" -#: common/models.py:3146 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3147 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:3147 +#: common/models.py:3148 msgid "Unit definition" msgstr "" -#: common/models.py:3205 common/models.py:3262 stock/models.py:2552 +#: common/models.py:3206 common/models.py:3263 stock/models.py:2547 #: stock/serializers.py:244 templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:345 msgid "Attachment" msgstr "ไฟล์แนบ" -#: common/models.py:3217 +#: common/models.py:3218 msgid "Missing file" msgstr "ไม่พบไฟล์" -#: common/models.py:3218 +#: common/models.py:3219 msgid "Missing external link" msgstr "" -#: common/models.py:3263 +#: common/models.py:3264 msgid "Select file to attach" msgstr "เลือกไฟล์ที่ต้องการแนบ" -#: common/models.py:3278 templates/js/translated/attachment.js:120 +#: common/models.py:3279 templates/js/translated/attachment.js:120 #: templates/js/translated/attachment.js:360 msgid "Comment" msgstr "ความคิดเห็น" -#: common/models.py:3279 +#: common/models.py:3280 msgid "Attachment comment" msgstr "" -#: common/models.py:3295 +#: common/models.py:3296 msgid "Upload date" msgstr "" -#: common/models.py:3296 +#: common/models.py:3297 msgid "Date the file was uploaded" msgstr "" -#: common/models.py:3300 +#: common/models.py:3301 msgid "File size" msgstr "" -#: common/models.py:3300 +#: common/models.py:3301 msgid "File size in bytes" msgstr "" -#: common/models.py:3338 common/serializers.py:588 +#: common/models.py:3339 common/serializers.py:604 msgid "Invalid model type specified for attachment" msgstr "" -#: common/models.py:3347 plugin/models.py:43 users/models.py:100 +#: common/models.py:3348 plugin/models.py:43 users/models.py:100 msgid "Key" msgstr "" -#: common/models.py:3348 +#: common/models.py:3349 msgid "Value that will be saved in the models database" msgstr "" -#: common/models.py:3351 +#: common/models.py:3352 msgid "Name of the state" msgstr "" -#: common/models.py:3355 +#: common/models.py:3356 msgid "Label" msgstr "" -#: common/models.py:3356 +#: common/models.py:3357 msgid "Label that will be displayed in the frontend" msgstr "" -#: common/models.py:3362 +#: common/models.py:3363 msgid "Color" msgstr "" -#: common/models.py:3363 +#: common/models.py:3364 msgid "Color that will be displayed in the frontend" msgstr "" -#: common/models.py:3366 +#: common/models.py:3367 msgid "Logical Key" msgstr "" -#: common/models.py:3368 +#: common/models.py:3369 msgid "State logical key that is equal to this custom state in business logic" msgstr "" -#: common/models.py:3376 +#: common/models.py:3377 msgid "Model" msgstr "" -#: common/models.py:3377 +#: common/models.py:3378 msgid "Model this state is associated with" msgstr "" -#: common/models.py:3381 +#: common/models.py:3382 msgid "Reference Status Set" msgstr "" -#: common/models.py:3382 +#: common/models.py:3383 msgid "Status set that is extended with this custom state" msgstr "" -#: common/models.py:3388 +#: common/models.py:3389 msgid "Custom State" msgstr "" -#: common/models.py:3389 +#: common/models.py:3390 msgid "Custom States" msgstr "" -#: common/models.py:3404 +#: common/models.py:3405 msgid "Model must be selected" msgstr "" -#: common/models.py:3407 +#: common/models.py:3408 msgid "Key must be selected" msgstr "" -#: common/models.py:3410 +#: common/models.py:3411 msgid "Logical key must be selected" msgstr "" -#: common/models.py:3414 +#: common/models.py:3415 msgid "Key must be different from logical key" msgstr "" -#: common/models.py:3418 +#: common/models.py:3419 msgid "Reference status must be selected" msgstr "" -#: common/models.py:3430 +#: common/models.py:3431 msgid "Reference status set not found" msgstr "" -#: common/models.py:3436 +#: common/models.py:3437 msgid "Key must be different from the logical keys of the reference status" msgstr "" -#: common/models.py:3442 +#: common/models.py:3443 msgid "Logical key must be in the logical keys of the reference status" msgstr "" @@ -4101,75 +4098,75 @@ msgstr "" msgid "Error raised by plugin" msgstr "" -#: common/serializers.py:402 +#: common/serializers.py:418 msgid "Is Running" msgstr "" -#: common/serializers.py:408 +#: common/serializers.py:424 msgid "Pending Tasks" msgstr "" -#: common/serializers.py:414 +#: common/serializers.py:430 msgid "Scheduled Tasks" msgstr "" -#: common/serializers.py:420 +#: common/serializers.py:436 msgid "Failed Tasks" msgstr "" -#: common/serializers.py:435 +#: common/serializers.py:451 msgid "Task ID" msgstr "" -#: common/serializers.py:435 +#: common/serializers.py:451 msgid "Unique task ID" msgstr "" -#: common/serializers.py:437 +#: common/serializers.py:453 msgid "Lock" msgstr "" -#: common/serializers.py:437 +#: common/serializers.py:453 msgid "Lock time" msgstr "" -#: common/serializers.py:439 +#: common/serializers.py:455 msgid "Task name" msgstr "" -#: common/serializers.py:441 +#: common/serializers.py:457 msgid "Function" msgstr "" -#: common/serializers.py:441 +#: common/serializers.py:457 msgid "Function name" msgstr "" -#: common/serializers.py:443 +#: common/serializers.py:459 msgid "Arguments" msgstr "" -#: common/serializers.py:443 +#: common/serializers.py:459 msgid "Task arguments" msgstr "" -#: common/serializers.py:446 +#: common/serializers.py:462 msgid "Keyword Arguments" msgstr "" -#: common/serializers.py:446 +#: common/serializers.py:462 msgid "Task keyword arguments" msgstr "" -#: common/serializers.py:556 +#: common/serializers.py:572 msgid "Filename" msgstr "ชื่อไฟล์" -#: common/serializers.py:563 report/api.py:100 report/serializers.py:53 +#: common/serializers.py:579 report/api.py:100 report/serializers.py:54 msgid "Model Type" msgstr "" -#: common/serializers.py:591 +#: common/serializers.py:607 msgid "User does not have permission to create or edit attachments for this model" msgstr "" @@ -4447,12 +4444,12 @@ msgstr "" #: company/models.py:467 company/models.py:584 company/models.py:808 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 -#: stock/templates/stock/item_base.html:217 +#: stock/templates/stock/item_base.html:213 msgid "Manufacturer Part" msgstr "" #: company/models.py:484 company/models.py:776 stock/models.py:791 -#: stock/serializers.py:452 stock/templates/stock/item_base.html:142 +#: stock/serializers.py:452 stock/templates/stock/item_base.html:138 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" @@ -4463,8 +4460,8 @@ msgstr "" #: company/models.py:495 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:567 -#: stock/templates/stock/item_base.html:207 +#: company/templates/company/supplier_part.html:145 part/serializers.py:565 +#: stock/templates/stock/item_base.html:203 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 #: templates/js/translated/company.js:1296 @@ -4479,7 +4476,7 @@ msgstr "" #: company/models.py:502 company/templates/company/manufacturer_part.html:101 #: company/templates/company/supplier_part.html:153 order/serializers.py:557 -#: part/serializers.py:577 templates/js/translated/company.js:351 +#: part/serializers.py:575 templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 #: templates/js/translated/company.js:1630 templates/js/translated/part.js:1807 @@ -4505,7 +4502,7 @@ msgid "Parameter name" msgstr "" #: company/models.py:597 report/templates/report/inventree_test_report.html:104 -#: stock/models.py:2544 templates/js/translated/company.js:1166 +#: stock/models.py:2539 templates/js/translated/company.js:1166 #: templates/js/translated/company.js:1419 templates/js/translated/part.js:1499 #: templates/js/translated/stock.js:1607 msgid "Value" @@ -4516,7 +4513,7 @@ msgid "Parameter value" msgstr "" #: company/models.py:605 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1159 part/models.py:3783 +#: part/admin.py:57 part/models.py:1159 part/models.py:3770 #: part/templates/part/part_base.html:300 #: templates/js/translated/company.js:1425 templates/js/translated/part.js:1518 #: templates/js/translated/part.js:1622 templates/js/translated/part.js:2376 @@ -4530,7 +4527,7 @@ msgstr "" #: company/models.py:659 company/templates/company/supplier_part.html:7 #: company/templates/company/supplier_part.html:24 order/api.py:440 #: order/serializers.py:492 stock/models.py:802 -#: stock/templates/stock/item_base.html:233 +#: stock/templates/stock/item_base.html:229 #: templates/js/translated/build.js:1055 #: templates/js/translated/company.js:1600 #: templates/js/translated/purchase_order.js:752 @@ -4553,9 +4550,9 @@ msgstr "" #: company/models.py:786 company/templates/company/company_base.html:87 #: company/templates/company/supplier_part.html:129 order/models.py:492 #: order/templates/order/order_base.html:141 part/bom.py:279 part/bom.py:314 -#: part/serializers.py:551 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:549 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 -#: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 +#: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:220 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:511 @@ -4570,7 +4567,7 @@ msgstr "" msgid "Select supplier" msgstr "" -#: company/models.py:793 part/serializers.py:562 +#: company/models.py:793 part/serializers.py:560 msgid "Supplier stock keeping unit" msgstr "" @@ -4591,7 +4588,7 @@ msgid "Supplier part description" msgstr "" #: company/models.py:832 company/templates/company/supplier_part.html:187 -#: order/serializers.py:699 part/admin.py:415 part/models.py:4301 +#: order/serializers.py:699 part/admin.py:415 part/models.py:4288 #: part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 @@ -4603,11 +4600,11 @@ msgstr "" msgid "Note" msgstr "" -#: company/models.py:841 part/models.py:2129 +#: company/models.py:841 part/models.py:2128 msgid "base cost" msgstr "" -#: company/models.py:842 part/models.py:2130 +#: company/models.py:842 part/models.py:2129 msgid "Minimum charge (e.g. stocking fee)" msgstr "" @@ -4629,7 +4626,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:876 part/models.py:2136 +#: company/models.py:876 part/models.py:2135 msgid "multiple" msgstr "" @@ -4661,7 +4658,7 @@ msgstr "" msgid "Company Name" msgstr "" -#: company/serializers.py:397 part/admin.py:126 part/serializers.py:919 +#: company/serializers.py:397 part/admin.py:126 part/serializers.py:917 #: part/templates/part/part_base.html:197 #: templates/js/translated/company.js:1689 #: templates/js/translated/table_filters.js:362 @@ -4735,7 +4732,7 @@ msgstr "" #: order/models.py:2140 order/templates/order/return_order_base.html:134 #: order/templates/order/sales_order_base.html:151 stock/models.py:844 #: stock/models.py:845 stock/serializers.py:1336 -#: stock/templates/stock/item_base.html:405 +#: stock/templates/stock/item_base.html:401 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 #: templates/js/translated/return_order.js:295 @@ -4939,7 +4936,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:925 +#: part/admin.py:122 part/serializers.py:923 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -5030,7 +5027,7 @@ msgid "No supplier information available" msgstr "" #: company/templates/company/supplier_part.html:139 order/serializers.py:554 -#: part/bom.py:286 part/bom.py:315 part/serializers.py:561 +#: part/bom.py:286 part/bom.py:315 part/serializers.py:559 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1793 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1920 @@ -5084,7 +5081,7 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:923 part/stocktake.py:223 +#: part/serializers.py:921 part/stocktake.py:223 #: part/templates/part/category.html:180 #: part/templates/part/category_sidebar.html:17 stock/admin.py:68 #: stock/serializers.py:1021 stock/serializers.py:1199 @@ -5215,7 +5212,7 @@ msgstr "" msgid "Original row data" msgstr "" -#: importer/models.py:504 part/models.py:3965 +#: importer/models.py:504 part/models.py:3952 msgid "Data" msgstr "" @@ -5473,7 +5470,7 @@ msgstr "" #: order/models.py:1592 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_purchase_order_report.html:14 -#: stock/serializers.py:121 stock/templates/stock/item_base.html:176 +#: stock/serializers.py:121 stock/templates/stock/item_base.html:172 #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/part.js:1752 templates/js/translated/pricing.js:804 #: templates/js/translated/purchase_order.js:168 @@ -5694,7 +5691,7 @@ msgid "Number of items received" msgstr "" #: order/models.py:1513 stock/models.py:963 stock/serializers.py:617 -#: stock/templates/stock/item_base.html:183 +#: stock/templates/stock/item_base.html:179 #: templates/js/translated/stock.js:2397 msgid "Purchase Price" msgstr "" @@ -5768,7 +5765,7 @@ msgid "User who checked this shipment" msgstr "" #: order/models.py:1788 order/models.py:2011 order/serializers.py:1479 -#: order/serializers.py:1589 templates/js/translated/model_renderers.js:455 +#: order/serializers.py:1597 templates/js/translated/model_renderers.js:455 msgid "Shipment" msgstr "" @@ -5982,7 +5979,7 @@ msgstr "" msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:656 order/serializers.py:779 order/serializers.py:1790 +#: order/serializers.py:656 order/serializers.py:779 order/serializers.py:1798 msgid "Select destination location for received items" msgstr "" @@ -6019,7 +6016,7 @@ msgstr "" msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:795 order/serializers.py:1806 +#: order/serializers.py:795 order/serializers.py:1814 msgid "Line items must be provided" msgstr "" @@ -6051,39 +6048,39 @@ msgstr "" msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1491 order/serializers.py:1597 +#: order/serializers.py:1491 order/serializers.py:1605 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1494 order/serializers.py:1600 +#: order/serializers.py:1494 order/serializers.py:1608 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1541 +#: order/serializers.py:1549 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1548 -msgid "The following serial numbers are already allocated" +#: order/serializers.py:1556 +msgid "The following serial numbers are unavailable" msgstr "" -#: order/serializers.py:1760 +#: order/serializers.py:1768 msgid "Return order line item" msgstr "" -#: order/serializers.py:1766 +#: order/serializers.py:1774 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1769 +#: order/serializers.py:1777 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1798 +#: order/serializers.py:1806 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1881 +#: order/serializers.py:1889 msgid "Line price currency" msgstr "" @@ -6510,7 +6507,7 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:48 part/models.py:1044 part/serializers.py:908 +#: part/admin.py:48 part/models.py:1044 part/serializers.py:906 #: part/templates/part/part_base.html:276 #: report/templates/report/inventree_stock_location_report.html:103 #: templates/js/translated/part.js:1233 templates/js/translated/part.js:2347 @@ -6537,7 +6534,7 @@ msgstr "" msgid "Category ID" msgstr "" -#: part/admin.py:67 part/admin.py:304 part/serializers.py:893 +#: part/admin.py:67 part/admin.py:304 part/serializers.py:891 #: part/stocktake.py:222 msgid "Category Name" msgstr "" @@ -6562,18 +6559,18 @@ msgstr "" msgid "Used In" msgstr "" -#: part/admin.py:150 part/serializers.py:918 +#: part/admin.py:150 part/serializers.py:916 #: part/templates/part/part_base.html:248 stock/admin.py:236 #: templates/js/translated/part.js:717 templates/js/translated/part.js:2159 msgid "Building" msgstr "" -#: part/admin.py:155 part/models.py:3214 part/models.py:3228 +#: part/admin.py:155 part/models.py:3201 part/models.py:3215 #: templates/js/translated/part.js:976 msgid "Minimum Cost" msgstr "" -#: part/admin.py:158 part/models.py:3221 part/models.py:3235 +#: part/admin.py:158 part/models.py:3208 part/models.py:3222 #: templates/js/translated/part.js:986 msgid "Maximum Cost" msgstr "" @@ -6592,7 +6589,7 @@ msgid "Category Path" msgstr "" #: part/admin.py:325 part/models.py:420 part/serializers.py:130 -#: part/serializers.py:290 part/serializers.py:428 +#: part/serializers.py:290 part/serializers.py:426 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:20 #: part/templates/part/category.html:138 part/templates/part/category.html:158 #: part/templates/part/category_sidebar.html:9 @@ -6619,13 +6616,13 @@ msgstr "" msgid "Part Revision" msgstr "" -#: part/admin.py:418 part/serializers.py:1367 +#: part/admin.py:418 part/serializers.py:1365 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:423 part/serializers.py:1382 +#: part/admin.py:423 part/serializers.py:1380 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -6719,8 +6716,8 @@ msgstr "" msgid "BOM Valid" msgstr "" -#: part/api.py:1520 part/models.py:1036 part/models.py:3501 part/models.py:4060 -#: part/serializers.py:443 part/serializers.py:1223 +#: part/api.py:1520 part/models.py:1036 part/models.py:3488 part/models.py:4047 +#: part/serializers.py:441 part/serializers.py:1221 #: part/templates/part/part_base.html:267 stock/api.py:780 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 @@ -6746,7 +6743,7 @@ msgstr "" msgid "Default Location" msgstr "" -#: part/bom.py:184 part/serializers.py:926 +#: part/bom.py:184 part/serializers.py:924 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -6755,7 +6752,7 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:89 part/models.py:4061 part/templates/part/category.html:16 +#: part/models.py:89 part/models.py:4048 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -6878,7 +6875,7 @@ msgstr "" msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:995 part/models.py:4116 +#: part/models.py:995 part/models.py:4103 msgid "Part name" msgstr "" @@ -6906,7 +6903,7 @@ msgstr "" msgid "Part category" msgstr "" -#: part/models.py:1052 part/serializers.py:360 +#: part/models.py:1052 msgid "Part revision or version number" msgstr "" @@ -7012,164 +7009,164 @@ msgid "Owner responsible for this part" msgstr "" #: part/models.py:1264 part/templates/part/part_base.html:355 -#: stock/templates/stock/item_base.html:451 +#: stock/templates/stock/item_base.html:447 #: templates/js/translated/part.js:2490 msgid "Last Stocktake" msgstr "" -#: part/models.py:2137 +#: part/models.py:2136 msgid "Sell multiple" msgstr "" -#: part/models.py:3128 +#: part/models.py:3115 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3144 +#: part/models.py:3131 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3145 +#: part/models.py:3132 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3151 +#: part/models.py:3138 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3152 +#: part/models.py:3139 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3158 +#: part/models.py:3145 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3159 +#: part/models.py:3146 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3165 +#: part/models.py:3152 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3166 +#: part/models.py:3153 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3172 +#: part/models.py:3159 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3173 +#: part/models.py:3160 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3179 +#: part/models.py:3166 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3180 +#: part/models.py:3167 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3186 +#: part/models.py:3173 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3187 +#: part/models.py:3174 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3193 +#: part/models.py:3180 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3194 +#: part/models.py:3181 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3200 +#: part/models.py:3187 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3201 +#: part/models.py:3188 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3207 +#: part/models.py:3194 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3208 +#: part/models.py:3195 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3215 +#: part/models.py:3202 msgid "Override minimum cost" msgstr "" -#: part/models.py:3222 +#: part/models.py:3209 msgid "Override maximum cost" msgstr "" -#: part/models.py:3229 +#: part/models.py:3216 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3236 +#: part/models.py:3223 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3242 +#: part/models.py:3229 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3243 +#: part/models.py:3230 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3249 +#: part/models.py:3236 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3250 +#: part/models.py:3237 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3256 +#: part/models.py:3243 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3257 +#: part/models.py:3244 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3263 +#: part/models.py:3250 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3264 +#: part/models.py:3251 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3283 +#: part/models.py:3270 msgid "Part for stocktake" msgstr "" -#: part/models.py:3288 +#: part/models.py:3275 msgid "Item Count" msgstr "" -#: part/models.py:3289 +#: part/models.py:3276 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3297 +#: part/models.py:3284 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3301 part/models.py:3384 +#: part/models.py:3288 part/models.py:3371 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -7181,363 +7178,363 @@ msgstr "" msgid "Date" msgstr "" -#: part/models.py:3302 +#: part/models.py:3289 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3310 +#: part/models.py:3297 msgid "Additional notes" msgstr "" -#: part/models.py:3320 +#: part/models.py:3307 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3326 +#: part/models.py:3313 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3327 +#: part/models.py:3314 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3333 +#: part/models.py:3320 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3334 +#: part/models.py:3321 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3390 templates/InvenTree/settings/settings_staff_js.html:532 +#: part/models.py:3377 templates/InvenTree/settings/settings_staff_js.html:532 msgid "Report" msgstr "" -#: part/models.py:3391 +#: part/models.py:3378 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3396 templates/InvenTree/settings/settings_staff_js.html:539 +#: part/models.py:3383 templates/InvenTree/settings/settings_staff_js.html:539 msgid "Part Count" msgstr "" -#: part/models.py:3397 +#: part/models.py:3384 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3407 +#: part/models.py:3394 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3417 +#: part/models.py:3404 msgid "Part Sale Price Break" msgstr "" -#: part/models.py:3529 +#: part/models.py:3516 msgid "Part Test Template" msgstr "" -#: part/models.py:3555 +#: part/models.py:3542 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3576 part/models.py:3745 +#: part/models.py:3563 part/models.py:3732 msgid "Choices must be unique" msgstr "" -#: part/models.py:3587 +#: part/models.py:3574 msgid "Test templates can only be created for testable parts" msgstr "" -#: part/models.py:3598 +#: part/models.py:3585 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3615 templates/js/translated/part.js:2898 +#: part/models.py:3602 templates/js/translated/part.js:2898 msgid "Test Name" msgstr "" -#: part/models.py:3616 +#: part/models.py:3603 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3622 +#: part/models.py:3609 msgid "Test Key" msgstr "" -#: part/models.py:3623 +#: part/models.py:3610 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3630 +#: part/models.py:3617 msgid "Test Description" msgstr "" -#: part/models.py:3631 +#: part/models.py:3618 msgid "Enter description for this test" msgstr "" -#: part/models.py:3635 report/models.py:208 +#: part/models.py:3622 report/models.py:216 #: templates/js/translated/part.js:2919 #: templates/js/translated/table_filters.js:502 msgid "Enabled" msgstr "" -#: part/models.py:3635 +#: part/models.py:3622 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3640 templates/js/translated/part.js:2927 +#: part/models.py:3627 templates/js/translated/part.js:2927 #: templates/js/translated/table_filters.js:498 msgid "Required" msgstr "" -#: part/models.py:3641 +#: part/models.py:3628 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3646 templates/js/translated/part.js:2935 +#: part/models.py:3633 templates/js/translated/part.js:2935 msgid "Requires Value" msgstr "" -#: part/models.py:3647 +#: part/models.py:3634 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3652 templates/js/translated/part.js:2942 +#: part/models.py:3639 templates/js/translated/part.js:2942 msgid "Requires Attachment" msgstr "" -#: part/models.py:3654 +#: part/models.py:3641 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3660 part/models.py:3804 templates/js/translated/part.js:1643 +#: part/models.py:3647 part/models.py:3791 templates/js/translated/part.js:1643 msgid "Choices" msgstr "" -#: part/models.py:3661 +#: part/models.py:3648 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3693 +#: part/models.py:3680 msgid "Part Parameter Template" msgstr "" -#: part/models.py:3720 +#: part/models.py:3707 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3725 +#: part/models.py:3712 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3762 +#: part/models.py:3749 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3777 +#: part/models.py:3764 msgid "Parameter Name" msgstr "" -#: part/models.py:3784 +#: part/models.py:3771 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3792 +#: part/models.py:3779 msgid "Parameter description" msgstr "" -#: part/models.py:3798 templates/js/translated/part.js:1634 +#: part/models.py:3785 templates/js/translated/part.js:1634 #: templates/js/translated/table_filters.js:837 msgid "Checkbox" msgstr "" -#: part/models.py:3799 +#: part/models.py:3786 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3805 +#: part/models.py:3792 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3839 +#: part/models.py:3826 msgid "Part Parameter" msgstr "" -#: part/models.py:3865 +#: part/models.py:3852 msgid "Parameter cannot be modified - part is locked" msgstr "" -#: part/models.py:3903 +#: part/models.py:3890 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3952 +#: part/models.py:3939 msgid "Parent Part" msgstr "" -#: part/models.py:3960 part/models.py:4068 part/models.py:4069 +#: part/models.py:3947 part/models.py:4055 part/models.py:4056 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3966 +#: part/models.py:3953 msgid "Parameter Value" msgstr "" -#: part/models.py:4016 +#: part/models.py:4003 msgid "Part Category Parameter Template" msgstr "" -#: part/models.py:4075 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:4062 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:4076 +#: part/models.py:4063 msgid "Default Parameter Value" msgstr "" -#: part/models.py:4114 +#: part/models.py:4101 msgid "Part ID or part name" msgstr "" -#: part/models.py:4115 +#: part/models.py:4102 msgid "Unique part ID value" msgstr "" -#: part/models.py:4117 +#: part/models.py:4104 msgid "Part IPN value" msgstr "" -#: part/models.py:4118 +#: part/models.py:4105 msgid "Level" msgstr "" -#: part/models.py:4118 +#: part/models.py:4105 msgid "BOM level" msgstr "" -#: part/models.py:4228 +#: part/models.py:4215 msgid "BOM item cannot be modified - assembly is locked" msgstr "" -#: part/models.py:4235 +#: part/models.py:4222 msgid "BOM item cannot be modified - variant assembly is locked" msgstr "" -#: part/models.py:4245 +#: part/models.py:4232 msgid "Select parent part" msgstr "" -#: part/models.py:4255 +#: part/models.py:4242 msgid "Sub part" msgstr "" -#: part/models.py:4256 +#: part/models.py:4243 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4267 +#: part/models.py:4254 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4273 +#: part/models.py:4260 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4279 +#: part/models.py:4266 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4286 part/templates/part/upload_bom.html:55 +#: part/models.py:4273 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4287 +#: part/models.py:4274 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4294 +#: part/models.py:4281 msgid "BOM item reference" msgstr "" -#: part/models.py:4302 +#: part/models.py:4289 msgid "BOM item notes" msgstr "" -#: part/models.py:4308 +#: part/models.py:4295 msgid "Checksum" msgstr "" -#: part/models.py:4309 +#: part/models.py:4296 msgid "BOM line checksum" msgstr "" -#: part/models.py:4314 templates/js/translated/table_filters.js:181 +#: part/models.py:4301 templates/js/translated/table_filters.js:181 msgid "Validated" msgstr "" -#: part/models.py:4315 +#: part/models.py:4302 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4320 part/templates/part/upload_bom.html:57 +#: part/models.py:4307 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:185 #: templates/js/translated/table_filters.js:218 msgid "Gets inherited" msgstr "" -#: part/models.py:4321 +#: part/models.py:4308 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4327 +#: part/models.py:4314 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4412 stock/models.py:689 +#: part/models.py:4399 stock/models.py:689 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4422 part/models.py:4424 +#: part/models.py:4409 part/models.py:4411 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4561 +#: part/models.py:4554 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4582 +#: part/models.py:4575 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4595 +#: part/models.py:4588 msgid "Parent BOM item" msgstr "" -#: part/models.py:4603 +#: part/models.py:4596 msgid "Substitute part" msgstr "" -#: part/models.py:4619 +#: part/models.py:4612 msgid "Part 1" msgstr "" -#: part/models.py:4627 +#: part/models.py:4620 msgid "Part 2" msgstr "" -#: part/models.py:4628 +#: part/models.py:4621 msgid "Select Related Part" msgstr "" -#: part/models.py:4647 +#: part/models.py:4640 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4652 +#: part/models.py:4645 msgid "Duplicate relationship already exists" msgstr "" @@ -7571,326 +7568,326 @@ msgstr "" msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:434 +#: part/serializers.py:432 msgid "No parts selected" msgstr "" -#: part/serializers.py:444 +#: part/serializers.py:442 msgid "Select category" msgstr "" -#: part/serializers.py:479 +#: part/serializers.py:477 msgid "Original Part" msgstr "" -#: part/serializers.py:480 +#: part/serializers.py:478 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:485 +#: part/serializers.py:483 msgid "Copy Image" msgstr "" -#: part/serializers.py:486 +#: part/serializers.py:484 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:492 part/templates/part/detail.html:293 +#: part/serializers.py:490 part/templates/part/detail.html:293 msgid "Copy BOM" msgstr "" -#: part/serializers.py:493 +#: part/serializers.py:491 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:499 +#: part/serializers.py:497 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:500 +#: part/serializers.py:498 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:506 +#: part/serializers.py:504 msgid "Copy Notes" msgstr "" -#: part/serializers.py:507 +#: part/serializers.py:505 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:525 +#: part/serializers.py:523 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:527 +#: part/serializers.py:525 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:534 +#: part/serializers.py:532 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:535 +#: part/serializers.py:533 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:552 +#: part/serializers.py:550 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:568 +#: part/serializers.py:566 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:578 +#: part/serializers.py:576 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:585 +#: part/serializers.py:583 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:594 +#: part/serializers.py:592 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:605 +#: part/serializers.py:603 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:612 +#: part/serializers.py:610 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:924 +#: part/serializers.py:922 msgid "Revisions" msgstr "" -#: part/serializers.py:929 +#: part/serializers.py:927 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:932 +#: part/serializers.py:930 msgid "Variant Stock" msgstr "" -#: part/serializers.py:962 part/templates/part/copy_part.html:9 +#: part/serializers.py:960 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:474 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:963 +#: part/serializers.py:961 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:969 templates/js/translated/part.js:103 +#: part/serializers.py:967 templates/js/translated/part.js:103 msgid "Initial Stock" msgstr "" -#: part/serializers.py:970 +#: part/serializers.py:968 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:976 +#: part/serializers.py:974 msgid "Supplier Information" msgstr "" -#: part/serializers.py:977 +#: part/serializers.py:975 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:985 +#: part/serializers.py:983 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:986 +#: part/serializers.py:984 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:991 +#: part/serializers.py:989 msgid "Existing Image" msgstr "" -#: part/serializers.py:992 +#: part/serializers.py:990 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:1009 +#: part/serializers.py:1007 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1215 +#: part/serializers.py:1213 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1225 +#: part/serializers.py:1223 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1235 +#: part/serializers.py:1233 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1241 +#: part/serializers.py:1239 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1242 +#: part/serializers.py:1240 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1247 +#: part/serializers.py:1245 msgid "Generate Report" msgstr "" -#: part/serializers.py:1248 +#: part/serializers.py:1246 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1253 +#: part/serializers.py:1251 msgid "Update Parts" msgstr "" -#: part/serializers.py:1254 +#: part/serializers.py:1252 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1262 +#: part/serializers.py:1260 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1368 +#: part/serializers.py:1366 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1375 +#: part/serializers.py:1373 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1383 +#: part/serializers.py:1381 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1390 +#: part/serializers.py:1388 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1419 +#: part/serializers.py:1417 msgid "Update" msgstr "" -#: part/serializers.py:1420 +#: part/serializers.py:1418 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1443 +#: part/serializers.py:1441 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1450 +#: part/serializers.py:1448 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1453 +#: part/serializers.py:1451 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1597 +#: part/serializers.py:1595 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1606 +#: part/serializers.py:1604 msgid "Component Name" msgstr "" -#: part/serializers.py:1609 +#: part/serializers.py:1607 msgid "Component IPN" msgstr "" -#: part/serializers.py:1612 +#: part/serializers.py:1610 msgid "Component Description" msgstr "" -#: part/serializers.py:1618 +#: part/serializers.py:1616 msgid "Select the component part" msgstr "" -#: part/serializers.py:1627 part/templates/part/part_base.html:242 +#: part/serializers.py:1625 part/templates/part/part_base.html:242 #: templates/js/translated/bom.js:1219 msgid "Can Build" msgstr "" -#: part/serializers.py:1858 +#: part/serializers.py:1856 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1866 +#: part/serializers.py:1864 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1867 +#: part/serializers.py:1865 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1872 +#: part/serializers.py:1870 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1873 +#: part/serializers.py:1871 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1878 +#: part/serializers.py:1876 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1879 +#: part/serializers.py:1877 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1884 +#: part/serializers.py:1882 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1885 +#: part/serializers.py:1883 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1922 +#: part/serializers.py:1920 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1923 +#: part/serializers.py:1921 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1955 +#: part/serializers.py:1953 msgid "No part column specified" msgstr "" -#: part/serializers.py:1999 +#: part/serializers.py:1997 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:2002 +#: part/serializers.py:2000 msgid "No matching part found" msgstr "" -#: part/serializers.py:2004 +#: part/serializers.py:2002 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:2013 +#: part/serializers.py:2011 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:2021 +#: part/serializers.py:2019 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:2044 +#: part/serializers.py:2042 msgid "At least one BOM item is required" msgstr "" @@ -8216,7 +8213,7 @@ msgid "Subscribe to notifications for this part" msgstr "" #: part/templates/part/part_base.html:52 -#: stock/templates/stock/item_base.html:62 +#: stock/templates/stock/item_base.html:61 #: stock/templates/stock/location.html:71 templates/js/translated/label.js:136 msgid "Print Label" msgstr "" @@ -8226,7 +8223,7 @@ msgid "Show pricing information" msgstr "" #: part/templates/part/part_base.html:63 -#: stock/templates/stock/item_base.html:110 +#: stock/templates/stock/item_base.html:106 #: stock/templates/stock/location.html:80 msgid "Stock actions" msgstr "" @@ -8297,12 +8294,12 @@ msgid "Required for Orders" msgstr "" #: part/templates/part/part_base.html:225 -#: stock/templates/stock/item_base.html:388 +#: stock/templates/stock/item_base.html:384 msgid "Allocated to Build Orders" msgstr "" #: part/templates/part/part_base.html:234 -#: stock/templates/stock/item_base.html:381 +#: stock/templates/stock/item_base.html:377 msgid "Allocated to Sales Orders" msgstr "" @@ -8322,7 +8319,7 @@ msgid "Latest Serial Number" msgstr "" #: part/templates/part/part_base.html:372 -#: stock/templates/stock/item_base.html:322 +#: stock/templates/stock/item_base.html:318 msgid "Search for serial number" msgstr "" @@ -8449,7 +8446,7 @@ msgid "Edit" msgstr "" #: part/templates/part/prices.html:28 stock/admin.py:252 -#: stock/templates/stock/item_base.html:446 +#: stock/templates/stock/item_base.html:442 #: templates/js/translated/company.js:1703 #: templates/js/translated/company.js:1713 #: templates/js/translated/stock.js:2332 @@ -8604,7 +8601,7 @@ msgstr "" msgid "Part Pricing" msgstr "" -#: plugin/api.py:172 +#: plugin/api.py:174 msgid "Plugin cannot be deleted as it is currently active" msgstr "" @@ -8940,7 +8937,7 @@ msgstr "" msgid "Print a border around each label" msgstr "" -#: plugin/builtin/labels/label_sheet.py:47 report/models.py:307 +#: plugin/builtin/labels/label_sheet.py:47 report/models.py:315 msgid "Landscape" msgstr "" @@ -9012,44 +9009,44 @@ msgstr "" msgid "The Supplier which acts as 'TME'" msgstr "" -#: plugin/installer.py:194 plugin/installer.py:274 +#: plugin/installer.py:199 plugin/installer.py:282 msgid "Only staff users can administer plugins" msgstr "" -#: plugin/installer.py:197 +#: plugin/installer.py:202 msgid "Plugin installation is disabled" msgstr "" -#: plugin/installer.py:241 +#: plugin/installer.py:246 msgid "Installed plugin successfully" msgstr "" -#: plugin/installer.py:246 +#: plugin/installer.py:251 #, python-brace-format msgid "Installed plugin into {path}" msgstr "" -#: plugin/installer.py:265 +#: plugin/installer.py:273 msgid "Plugin was not found in registry" msgstr "" -#: plugin/installer.py:268 +#: plugin/installer.py:276 msgid "Plugin is not a packaged plugin" msgstr "" -#: plugin/installer.py:271 +#: plugin/installer.py:279 msgid "Plugin package name not found" msgstr "" -#: plugin/installer.py:291 +#: plugin/installer.py:299 msgid "Plugin uninstalling is disabled" msgstr "" -#: plugin/installer.py:295 +#: plugin/installer.py:303 msgid "Plugin cannot be uninstalled as it is currently active" msgstr "" -#: plugin/installer.py:308 +#: plugin/installer.py:316 msgid "Uninstalled plugin successfully" msgstr "" @@ -9098,7 +9095,7 @@ msgstr "" msgid "Package Plugin" msgstr "" -#: plugin/models.py:220 report/models.py:474 +#: plugin/models.py:220 report/models.py:482 #: templates/InvenTree/settings/plugin_settings.html:9 #: templates/js/translated/plugin.js:51 msgid "Plugin" @@ -9167,6 +9164,38 @@ msgstr "" msgid "InvenTree Contributors" msgstr "" +#: plugin/samples/integration/user_interface_sample.py:22 +msgid "Enable Part Panels" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:23 +msgid "Enable custom panels for Part views" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:28 +msgid "Enable Purchase Order Panels" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:29 +msgid "Enable custom panels for Purchase Order views" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:34 +msgid "Enable Broken Panels" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:35 +msgid "Enable broken panels for testing" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:40 +msgid "Enable Dynamic Panel" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:41 +msgid "Enable dynamic panels for testing" +msgstr "" + #: plugin/serializers.py:81 msgid "Source URL" msgstr "" @@ -9245,12 +9274,36 @@ msgstr "" msgid "Delete the plugin configuration from the database" msgstr "" +#: plugin/serializers.py:324 +msgid "Plugin Key" +msgstr "" + +#: plugin/serializers.py:328 +msgid "Panel Name" +msgstr "" + +#: plugin/serializers.py:332 +msgid "Panel Title" +msgstr "" + +#: plugin/serializers.py:337 +msgid "Panel Icon" +msgstr "" + +#: plugin/serializers.py:341 +msgid "Panel Content (HTML)" +msgstr "" + +#: plugin/serializers.py:345 +msgid "Panel Source (javascript)" +msgstr "" + #: report/api.py:88 msgid "No valid objects provided to template" msgstr "" -#: report/api.py:103 report/models.py:438 report/serializers.py:98 -#: report/serializers.py:148 templates/js/translated/purchase_order.js:1817 +#: report/api.py:103 report/models.py:446 report/serializers.py:99 +#: report/serializers.py:149 templates/js/translated/purchase_order.js:1817 #: templates/js/translated/return_order.js:353 #: templates/js/translated/sales_order.js:887 #: templates/js/translated/sales_order.js:1047 @@ -9281,7 +9334,11 @@ msgstr "" msgid "Error printing label" msgstr "" -#: report/api.py:375 report/api.py:411 +#: report/api.py:358 +msgid "Report saved at time of printing" +msgstr "" + +#: report/api.py:384 report/api.py:420 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" @@ -9318,135 +9375,143 @@ msgstr "" msgid "Revision number (auto-increments)" msgstr "" -#: report/models.py:202 +#: report/models.py:168 +msgid "Attach to Model on Print" +msgstr "" + +#: report/models.py:170 +msgid "Save report output as an attachment against linked model instance when printing" +msgstr "" + +#: report/models.py:210 msgid "Filename Pattern" msgstr "" -#: report/models.py:203 +#: report/models.py:211 msgid "Pattern for generating filenames" msgstr "" -#: report/models.py:208 +#: report/models.py:216 msgid "Template is enabled" msgstr "" -#: report/models.py:214 +#: report/models.py:222 msgid "Target model type for template" msgstr "" -#: report/models.py:234 +#: report/models.py:242 msgid "Filters" msgstr "" -#: report/models.py:235 +#: report/models.py:243 msgid "Template query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:294 report/models.py:361 +#: report/models.py:302 report/models.py:369 msgid "Template file" msgstr "" -#: report/models.py:302 +#: report/models.py:310 msgid "Page size for PDF reports" msgstr "" -#: report/models.py:308 +#: report/models.py:316 msgid "Render report in landscape orientation" msgstr "" -#: report/models.py:367 +#: report/models.py:375 msgid "Width [mm]" msgstr "" -#: report/models.py:368 +#: report/models.py:376 msgid "Label width, specified in mm" msgstr "" -#: report/models.py:374 +#: report/models.py:382 msgid "Height [mm]" msgstr "" -#: report/models.py:375 +#: report/models.py:383 msgid "Label height, specified in mm" msgstr "" -#: report/models.py:438 +#: report/models.py:446 msgid "Number of items to process" msgstr "" -#: report/models.py:444 +#: report/models.py:452 msgid "Report generation is complete" msgstr "" -#: report/models.py:448 templates/js/translated/build.js:2352 +#: report/models.py:456 templates/js/translated/build.js:2352 msgid "Progress" msgstr "" -#: report/models.py:448 +#: report/models.py:456 msgid "Report generation progress" msgstr "" -#: report/models.py:456 +#: report/models.py:464 msgid "Report Template" msgstr "" -#: report/models.py:463 report/models.py:486 +#: report/models.py:471 report/models.py:494 msgid "Output File" msgstr "" -#: report/models.py:464 report/models.py:487 +#: report/models.py:472 report/models.py:495 msgid "Generated output file" msgstr "" -#: report/models.py:475 +#: report/models.py:483 msgid "Label output plugin" msgstr "" -#: report/models.py:479 +#: report/models.py:487 msgid "Label Template" msgstr "" -#: report/models.py:502 +#: report/models.py:510 msgid "Snippet" msgstr "" -#: report/models.py:503 +#: report/models.py:511 msgid "Report snippet file" msgstr "" -#: report/models.py:510 +#: report/models.py:518 msgid "Snippet file description" msgstr "" -#: report/models.py:528 +#: report/models.py:536 msgid "Asset" msgstr "" -#: report/models.py:529 +#: report/models.py:537 msgid "Report asset file" msgstr "" -#: report/models.py:536 +#: report/models.py:544 msgid "Asset file description" msgstr "" -#: report/serializers.py:91 +#: report/serializers.py:92 msgid "Select report template" msgstr "" -#: report/serializers.py:99 report/serializers.py:149 +#: report/serializers.py:100 report/serializers.py:150 msgid "List of item primary keys to include in the report" msgstr "" -#: report/serializers.py:132 +#: report/serializers.py:133 msgid "Select label template" msgstr "" -#: report/serializers.py:140 +#: report/serializers.py:141 msgid "Printing Plugin" msgstr "" -#: report/serializers.py:141 +#: report/serializers.py:142 msgid "Select plugin to use for label printing" msgstr "" @@ -9517,7 +9582,7 @@ msgstr "" msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report.html:103 stock/models.py:2538 +#: report/templates/report/inventree_test_report.html:103 stock/models.py:2533 msgid "Result" msgstr "" @@ -9598,7 +9663,7 @@ msgid "Customer ID" msgstr "" #: stock/admin.py:206 stock/models.py:829 -#: stock/templates/stock/item_base.html:354 +#: stock/templates/stock/item_base.html:350 msgid "Installed In" msgstr "" @@ -9623,7 +9688,7 @@ msgid "Delete on Deplete" msgstr "" #: stock/admin.py:261 stock/models.py:923 -#: stock/templates/stock/item_base.html:433 +#: stock/templates/stock/item_base.html:429 #: templates/js/translated/stock.js:2316 users/models.py:124 msgid "Expiry Date" msgstr "" @@ -9665,7 +9730,7 @@ msgid "Expiry date after" msgstr "" #: stock/api.py:839 stock/serializers.py:611 -#: stock/templates/stock/item_base.html:439 +#: stock/templates/stock/item_base.html:435 #: templates/js/translated/table_filters.js:448 msgid "Stale" msgstr "" @@ -9715,7 +9780,7 @@ msgid "Stock Locations" msgstr "" #: stock/models.py:185 stock/models.py:972 -#: stock/templates/stock/item_base.html:247 +#: stock/templates/stock/item_base.html:243 msgid "Owner" msgstr "" @@ -9826,7 +9891,7 @@ msgstr "" msgid "Build for this stock item" msgstr "" -#: stock/models.py:892 stock/templates/stock/item_base.html:363 +#: stock/models.py:892 stock/templates/stock/item_base.html:359 msgid "Consumed By" msgstr "" @@ -9891,7 +9956,7 @@ msgstr "" msgid "Serial numbers already exist" msgstr "" -#: stock/models.py:1636 +#: stock/models.py:1636 stock/models.py:2436 msgid "Test template does not exist" msgstr "" @@ -9939,67 +10004,67 @@ msgstr "" msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2337 +#: stock/models.py:2335 msgid "Stock Item Tracking" msgstr "" -#: stock/models.py:2370 +#: stock/models.py:2368 msgid "Entry notes" msgstr "" -#: stock/models.py:2410 +#: stock/models.py:2408 msgid "Stock Item Test Result" msgstr "" -#: stock/models.py:2443 +#: stock/models.py:2439 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2448 +#: stock/models.py:2443 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2453 +#: stock/models.py:2448 msgid "Invalid value for this test" msgstr "" -#: stock/models.py:2538 +#: stock/models.py:2533 msgid "Test result" msgstr "" -#: stock/models.py:2545 +#: stock/models.py:2540 msgid "Test output value" msgstr "" -#: stock/models.py:2553 stock/serializers.py:245 +#: stock/models.py:2548 stock/serializers.py:245 msgid "Test result attachment" msgstr "" -#: stock/models.py:2557 +#: stock/models.py:2552 msgid "Test notes" msgstr "" -#: stock/models.py:2565 templates/js/translated/stock.js:1633 +#: stock/models.py:2560 templates/js/translated/stock.js:1633 msgid "Test station" msgstr "" -#: stock/models.py:2566 +#: stock/models.py:2561 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2572 +#: stock/models.py:2567 msgid "Started" msgstr "" -#: stock/models.py:2573 +#: stock/models.py:2568 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2579 +#: stock/models.py:2574 msgid "Finished" msgstr "" -#: stock/models.py:2580 +#: stock/models.py:2575 msgid "The timestamp of the test finish" msgstr "" @@ -10059,7 +10124,7 @@ msgstr "" msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:459 stock/templates/stock/item_base.html:193 +#: stock/serializers.py:459 stock/templates/stock/item_base.html:189 msgid "Parent Item" msgstr "" @@ -10071,7 +10136,7 @@ msgstr "" msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:603 stock/templates/stock/item_base.html:437 +#: stock/serializers.py:603 stock/templates/stock/item_base.html:433 #: templates/js/translated/table_filters.js:442 users/models.py:174 msgid "Expired" msgstr "" @@ -10410,7 +10475,7 @@ msgstr "" msgid "Test Data" msgstr "" -#: stock/templates/stock/item.html:85 stock/templates/stock/item_base.html:65 +#: stock/templates/stock/item.html:85 msgid "Test Report" msgstr "" @@ -10450,200 +10515,204 @@ msgstr "" msgid "Scan to Location" msgstr "" -#: stock/templates/stock/item_base.html:59 +#: stock/templates/stock/item_base.html:58 #: stock/templates/stock/location.html:67 #: templates/js/translated/filters.js:434 msgid "Printing actions" msgstr "" -#: stock/templates/stock/item_base.html:75 +#: stock/templates/stock/item_base.html:63 templates/js/translated/report.js:49 +msgid "Print Report" +msgstr "" + +#: stock/templates/stock/item_base.html:71 msgid "Stock adjustment actions" msgstr "" -#: stock/templates/stock/item_base.html:79 +#: stock/templates/stock/item_base.html:75 #: stock/templates/stock/location.html:87 templates/js/translated/stock.js:1909 msgid "Count stock" msgstr "" -#: stock/templates/stock/item_base.html:81 +#: stock/templates/stock/item_base.html:77 #: templates/js/translated/stock.js:1891 msgid "Add stock" msgstr "" -#: stock/templates/stock/item_base.html:82 +#: stock/templates/stock/item_base.html:78 #: templates/js/translated/stock.js:1900 msgid "Remove stock" msgstr "" -#: stock/templates/stock/item_base.html:85 +#: stock/templates/stock/item_base.html:81 msgid "Serialize stock" msgstr "" -#: stock/templates/stock/item_base.html:88 +#: stock/templates/stock/item_base.html:84 #: stock/templates/stock/location.html:93 templates/js/translated/stock.js:1918 msgid "Transfer stock" msgstr "" -#: stock/templates/stock/item_base.html:91 +#: stock/templates/stock/item_base.html:87 #: templates/js/translated/stock.js:1973 msgid "Assign to customer" msgstr "" -#: stock/templates/stock/item_base.html:94 +#: stock/templates/stock/item_base.html:90 msgid "Return to stock" msgstr "" -#: stock/templates/stock/item_base.html:97 +#: stock/templates/stock/item_base.html:93 msgid "Uninstall stock item" msgstr "" -#: stock/templates/stock/item_base.html:97 +#: stock/templates/stock/item_base.html:93 msgid "Uninstall" msgstr "" -#: stock/templates/stock/item_base.html:101 +#: stock/templates/stock/item_base.html:97 msgid "Install stock item" msgstr "" -#: stock/templates/stock/item_base.html:101 +#: stock/templates/stock/item_base.html:97 msgid "Install" msgstr "" -#: stock/templates/stock/item_base.html:115 +#: stock/templates/stock/item_base.html:111 msgid "Convert to variant" msgstr "" -#: stock/templates/stock/item_base.html:118 +#: stock/templates/stock/item_base.html:114 msgid "Duplicate stock item" msgstr "" -#: stock/templates/stock/item_base.html:120 +#: stock/templates/stock/item_base.html:116 msgid "Edit stock item" msgstr "" -#: stock/templates/stock/item_base.html:123 +#: stock/templates/stock/item_base.html:119 msgid "Delete stock item" msgstr "" -#: stock/templates/stock/item_base.html:169 templates/InvenTree/search.html:139 +#: stock/templates/stock/item_base.html:165 templates/InvenTree/search.html:139 #: templates/js/translated/build.js:2298 templates/navbar.html:38 msgid "Build" msgstr "" -#: stock/templates/stock/item_base.html:211 +#: stock/templates/stock/item_base.html:207 msgid "No manufacturer set" msgstr "" -#: stock/templates/stock/item_base.html:251 +#: stock/templates/stock/item_base.html:247 msgid "You are not in the list of owners of this item. This stock item cannot be edited." msgstr "" -#: stock/templates/stock/item_base.html:252 +#: stock/templates/stock/item_base.html:248 #: stock/templates/stock/location.html:146 msgid "Read only" msgstr "" -#: stock/templates/stock/item_base.html:265 +#: stock/templates/stock/item_base.html:261 msgid "This stock item is unavailable" msgstr "" -#: stock/templates/stock/item_base.html:271 +#: stock/templates/stock/item_base.html:267 msgid "This stock item is in production and cannot be edited." msgstr "" -#: stock/templates/stock/item_base.html:272 +#: stock/templates/stock/item_base.html:268 msgid "Edit the stock item from the build view." msgstr "" -#: stock/templates/stock/item_base.html:287 +#: stock/templates/stock/item_base.html:283 msgid "This stock item is allocated to Sales Order" msgstr "" -#: stock/templates/stock/item_base.html:295 +#: stock/templates/stock/item_base.html:291 msgid "This stock item is allocated to Build Order" msgstr "" -#: stock/templates/stock/item_base.html:311 +#: stock/templates/stock/item_base.html:307 msgid "This stock item is serialized. It has a unique serial number and the quantity cannot be adjusted" msgstr "" -#: stock/templates/stock/item_base.html:317 +#: stock/templates/stock/item_base.html:313 msgid "previous page" msgstr "" -#: stock/templates/stock/item_base.html:317 +#: stock/templates/stock/item_base.html:313 msgid "Navigate to previous serial number" msgstr "" -#: stock/templates/stock/item_base.html:326 +#: stock/templates/stock/item_base.html:322 msgid "next page" msgstr "" -#: stock/templates/stock/item_base.html:326 +#: stock/templates/stock/item_base.html:322 msgid "Navigate to next serial number" msgstr "" -#: stock/templates/stock/item_base.html:398 +#: stock/templates/stock/item_base.html:394 #: templates/js/translated/build.js:2555 msgid "No location set" msgstr "" -#: stock/templates/stock/item_base.html:413 +#: stock/templates/stock/item_base.html:409 msgid "Tests" msgstr "" -#: stock/templates/stock/item_base.html:419 +#: stock/templates/stock/item_base.html:415 msgid "This stock item has not passed all required tests" msgstr "" -#: stock/templates/stock/item_base.html:437 +#: stock/templates/stock/item_base.html:433 #, python-format msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:439 +#: stock/templates/stock/item_base.html:435 #, python-format msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:455 +#: stock/templates/stock/item_base.html:451 msgid "No stocktake performed" msgstr "" -#: stock/templates/stock/item_base.html:504 +#: stock/templates/stock/item_base.html:500 #: templates/js/translated/stock.js:2038 msgid "stock item" msgstr "" -#: stock/templates/stock/item_base.html:527 +#: stock/templates/stock/item_base.html:523 msgid "Edit Stock Status" msgstr "" -#: stock/templates/stock/item_base.html:536 +#: stock/templates/stock/item_base.html:532 msgid "Stock Item QR Code" msgstr "" -#: stock/templates/stock/item_base.html:547 +#: stock/templates/stock/item_base.html:543 msgid "Link Barcode to Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:611 +#: stock/templates/stock/item_base.html:607 msgid "Select one of the part variants listed below." msgstr "" -#: stock/templates/stock/item_base.html:614 +#: stock/templates/stock/item_base.html:610 msgid "Warning" msgstr "" -#: stock/templates/stock/item_base.html:615 +#: stock/templates/stock/item_base.html:611 msgid "This action cannot be easily undone" msgstr "" -#: stock/templates/stock/item_base.html:623 +#: stock/templates/stock/item_base.html:619 msgid "Convert Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:656 +#: stock/templates/stock/item_base.html:652 msgid "Return to Stock" msgstr "" @@ -11310,7 +11379,7 @@ msgid "Delete Location Type" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:503 -#: templates/InvenTree/settings/stock.html:38 +#: templates/InvenTree/settings/stock.html:39 msgid "New Location Type" msgstr "" @@ -11367,7 +11436,7 @@ msgstr "" msgid "Stock Settings" msgstr "" -#: templates/InvenTree/settings/stock.html:34 +#: templates/InvenTree/settings/stock.html:35 msgid "Stock Location Types" msgstr "" @@ -11852,23 +11921,23 @@ msgstr "" msgid "Barcode Identifier" msgstr "" -#: templates/base.html:103 +#: templates/base.html:102 msgid "Server Restart Required" msgstr "" -#: templates/base.html:106 +#: templates/base.html:105 msgid "A configuration option has been changed which requires a server restart" msgstr "" -#: templates/base.html:106 templates/base.html:116 +#: templates/base.html:105 templates/base.html:115 msgid "Contact your system administrator for further information" msgstr "" -#: templates/base.html:113 +#: templates/base.html:112 msgid "Pending Database Migrations" msgstr "" -#: templates/base.html:116 +#: templates/base.html:115 msgid "There are pending database migrations which require attention" msgstr "" @@ -13946,10 +14015,6 @@ msgstr "" msgid "Delete line item" msgstr "" -#: templates/js/translated/report.js:49 -msgid "Print Report" -msgstr "" - #: templates/js/translated/report.js:68 msgid "Report print successful" msgstr "" diff --git a/src/backend/InvenTree/locale/tr/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/tr/LC_MESSAGES/django.po index 8b94893667c7..4e2121f14577 100644 --- a/src/backend/InvenTree/locale/tr/LC_MESSAGES/django.po +++ b/src/backend/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: 2024-08-29 07:07+0000\n" -"PO-Revision-Date: 2024-08-29 07:10\n" +"POT-Creation-Date: 2024-09-16 00:37+0000\n" +"PO-Revision-Date: 2024-09-16 00:40\n" "Last-Translator: \n" "Language-Team: Turkish\n" "Language: tr_TR\n" @@ -65,9 +65,9 @@ msgstr "Tarih giriniz" #: 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:59 -#: part/models.py:3309 part/templates/part/part_sidebar.html:65 +#: part/models.py:3296 part/templates/part/part_sidebar.html:65 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/admin.py:231 stock/models.py:2369 stock/models.py:2557 +#: stock/admin.py:231 stock/models.py:2367 stock/models.py:2552 #: stock/serializers.py:705 stock/serializers.py:863 stock/serializers.py:989 #: stock/serializers.py:1039 stock/serializers.py:1350 #: stock/serializers.py:1439 stock/serializers.py:1604 @@ -126,7 +126,7 @@ msgstr "Her seferind eaynı e-posta adresini yazmalısınız." #: InvenTree/forms.py:221 msgid "MFA Registration is disabled." -msgstr "" +msgstr "MFA Kaydı etkisizleştirildi." #: InvenTree/forms.py:259 InvenTree/forms.py:267 msgid "The provided primary email address is not valid." @@ -213,7 +213,7 @@ msgstr "Sağlanan URL geçerli bir resim dosyası değil" #: InvenTree/locales.py:18 msgid "Arabic" -msgstr "" +msgstr "Arapça" #: InvenTree/locales.py:19 msgid "Bulgarian" @@ -249,7 +249,7 @@ msgstr "İspanyolca(Meksika)" #: InvenTree/locales.py:27 msgid "Estonian" -msgstr "" +msgstr "Estonca" #: InvenTree/locales.py:28 msgid "Farsi / Persian" @@ -289,7 +289,7 @@ msgstr "Korece" #: InvenTree/locales.py:37 msgid "Latvian" -msgstr "" +msgstr "Letonca" #: InvenTree/locales.py:38 msgid "Dutch" @@ -313,7 +313,7 @@ msgstr "Portekizce (Brezilya)" #: InvenTree/locales.py:43 msgid "Romanian" -msgstr "" +msgstr "Romen" #: InvenTree/locales.py:44 msgid "Russian" @@ -345,7 +345,7 @@ msgstr "Türkçe" #: InvenTree/locales.py:51 msgid "Ukrainian" -msgstr "" +msgstr "Ukraynaca" #: InvenTree/locales.py:52 msgid "Vietnamese" @@ -364,7 +364,7 @@ msgstr "Çince (Geleneksel)" msgid "[{site_name}] Log in to the app" msgstr "[{site_name}] Uygulamaya giriş yap" -#: InvenTree/magic_login.py:38 InvenTree/serializers.py:413 +#: InvenTree/magic_login.py:38 InvenTree/serializers.py:416 #: company/models.py:133 company/templates/company/company_base.html:138 #: templates/InvenTree/settings/user.html:49 #: templates/js/translated/company.js:677 @@ -419,9 +419,9 @@ msgstr "Aynı kaynak altında birden fazla aynı isim kullanılamaz" msgid "Invalid choice" msgstr "Geçersiz seçim" -#: InvenTree/models.py:767 common/models.py:2704 common/models.py:3131 -#: common/models.py:3351 common/serializers.py:439 company/models.py:590 -#: machine/models.py:24 part/models.py:995 part/models.py:3776 +#: InvenTree/models.py:767 common/models.py:2705 common/models.py:3132 +#: common/models.py:3352 common/serializers.py:455 company/models.py:590 +#: machine/models.py:24 part/models.py:995 part/models.py:3763 #: plugin/models.py:51 report/models.py:149 stock/models.py:82 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -446,10 +446,10 @@ msgstr "Adı" #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 order/models.py:289 #: order/models.py:1406 part/admin.py:305 part/admin.py:411 part/models.py:1018 -#: part/models.py:3791 part/templates/part/category.html:79 +#: part/models.py:3778 part/templates/part/category.html:79 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:155 -#: report/models.py:509 report/models.py:535 +#: report/models.py:517 report/models.py:543 #: report/templates/report/inventree_build_order_report.html:117 #: stock/admin.py:54 stock/models.py:88 stock/templates/stock/location.html:122 #: templates/InvenTree/settings/notifications.html:19 @@ -517,12 +517,12 @@ msgstr "Sunucu Hatası" msgid "An error has been logged by the server." msgstr "Bir hafta sunucu tarafından kayıt edildi." -#: InvenTree/serializers.py:63 part/models.py:4400 +#: InvenTree/serializers.py:63 part/models.py:4387 msgid "Must be a valid number" msgstr "Geçerli bir numara olmalı" #: InvenTree/serializers.py:100 company/models.py:183 -#: company/templates/company/company_base.html:112 part/models.py:3127 +#: company/templates/company/company_base.html:112 part/models.py:3114 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -534,45 +534,45 @@ msgstr "Var olan seçeneklerden bir döviz birimi seçin" #: InvenTree/serializers.py:405 templates/InvenTree/settings/user.html:33 msgid "Username" -msgstr "" +msgstr "Kullanıcı Adı" -#: InvenTree/serializers.py:407 templates/InvenTree/settings/user.html:37 +#: InvenTree/serializers.py:408 templates/InvenTree/settings/user.html:37 msgid "First Name" -msgstr "" +msgstr "Adı" -#: InvenTree/serializers.py:407 +#: InvenTree/serializers.py:408 msgid "First name of the user" -msgstr "" +msgstr "Kullanıcının adı" -#: InvenTree/serializers.py:410 templates/InvenTree/settings/user.html:41 +#: InvenTree/serializers.py:412 templates/InvenTree/settings/user.html:41 msgid "Last Name" -msgstr "" +msgstr "Soyadı" -#: InvenTree/serializers.py:410 +#: InvenTree/serializers.py:412 msgid "Last name of the user" -msgstr "" +msgstr "Kullanıcının soyadı" -#: InvenTree/serializers.py:413 +#: InvenTree/serializers.py:416 msgid "Email address of the user" -msgstr "" +msgstr "Kullanıcının e-posta adresi" -#: InvenTree/serializers.py:438 +#: InvenTree/serializers.py:441 msgid "Staff" -msgstr "" +msgstr "Personel" -#: InvenTree/serializers.py:438 +#: InvenTree/serializers.py:441 msgid "Does this user have staff permissions" -msgstr "" +msgstr "Bu kullanıcının personel izinleri var mı" -#: InvenTree/serializers.py:441 +#: InvenTree/serializers.py:445 msgid "Superuser" -msgstr "" +msgstr "Süper Kullanıcı" -#: InvenTree/serializers.py:441 +#: InvenTree/serializers.py:445 msgid "Is this user a superuser" -msgstr "" +msgstr "Bu kullanıcı bir süper kullanıcı mı" -#: InvenTree/serializers.py:444 common/models.py:2709 company/models.py:160 +#: InvenTree/serializers.py:449 common/models.py:2710 company/models.py:160 #: company/models.py:798 machine/models.py:39 part/admin.py:88 #: part/models.py:1201 plugin/models.py:66 #: templates/js/translated/company.js:523 @@ -585,89 +585,89 @@ msgstr "" msgid "Active" msgstr "Aktif" -#: InvenTree/serializers.py:444 +#: InvenTree/serializers.py:449 msgid "Is this user account active" -msgstr "" +msgstr "Bu kullanıcı hesabı etkin mi" -#: InvenTree/serializers.py:462 +#: InvenTree/serializers.py:467 msgid "You do not have permission to change this user role." msgstr "Bu kullanıcı rolünü değiştirmek için izniniz yok." -#: InvenTree/serializers.py:474 +#: InvenTree/serializers.py:503 msgid "Only superusers can create new users" msgstr "Sadece süper kullanıcılar yeni kullanıcı oluşturabilir" -#: InvenTree/serializers.py:493 +#: InvenTree/serializers.py:522 msgid "Your account has been created." msgstr "Kullanıcı hesabınız oluşturulmuştur." -#: InvenTree/serializers.py:495 +#: InvenTree/serializers.py:524 msgid "Please use the password reset function to login" msgstr "Giriş yapmak için lütfen şifre sıfırlama fonksiyonunu kullanınız" -#: InvenTree/serializers.py:502 +#: InvenTree/serializers.py:531 msgid "Welcome to InvenTree" msgstr "InvenTree'ye Hoşgeldiniz" -#: InvenTree/serializers.py:560 +#: InvenTree/serializers.py:589 msgid "Invalid value" msgstr "Geçersiz değer" -#: InvenTree/serializers.py:580 importer/models.py:64 +#: InvenTree/serializers.py:609 importer/models.py:64 msgid "Data File" msgstr "Veri Dosyası" -#: InvenTree/serializers.py:581 +#: InvenTree/serializers.py:610 msgid "Select data file for upload" msgstr "Yüklemek istediğiniz dosyayı seçin" -#: InvenTree/serializers.py:598 +#: InvenTree/serializers.py:627 msgid "Unsupported file type" msgstr "Desteklenmeyen dsoya tipi" -#: InvenTree/serializers.py:604 +#: InvenTree/serializers.py:633 msgid "File is too large" msgstr "Dosya boyutu çok büyük" -#: InvenTree/serializers.py:625 +#: InvenTree/serializers.py:654 msgid "No columns found in file" msgstr "Dosyada kolon bulunamadı" -#: InvenTree/serializers.py:628 +#: InvenTree/serializers.py:657 msgid "No data rows found in file" msgstr "Dosyada satır bulunamadı" -#: InvenTree/serializers.py:740 +#: InvenTree/serializers.py:769 msgid "No data rows provided" msgstr "Dosyada satır bulunamadı" -#: InvenTree/serializers.py:743 +#: InvenTree/serializers.py:772 msgid "No data columns supplied" msgstr "Dosyada uygun kolon bulunamadı" -#: InvenTree/serializers.py:809 +#: InvenTree/serializers.py:838 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "Gerekli kolon ismi eksik:'{name}'" -#: InvenTree/serializers.py:818 +#: InvenTree/serializers.py:847 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "Tekrarlanan kolon ismi:'{col}'" -#: InvenTree/serializers.py:857 +#: InvenTree/serializers.py:886 msgid "Remote Image" msgstr "Uzaktan Görüntüler" -#: InvenTree/serializers.py:858 +#: InvenTree/serializers.py:887 msgid "URL of remote image file" msgstr "Uzaktan görüntü dosya URL'si" -#: InvenTree/serializers.py:876 +#: InvenTree/serializers.py:905 msgid "Downloading images from remote URL is not enabled" -msgstr "" +msgstr "Uzak URL'den resim indirmek etkinleştirilmedi" -#: InvenTree/status.py:65 part/serializers.py:1267 +#: InvenTree/status.py:65 part/serializers.py:1265 msgid "Background worker check failed" msgstr "Arka plan çalışanı kontrolü başarısız oldu" @@ -681,11 +681,11 @@ msgstr "InvenTree sistem sağlık kontrolü başarısız" #: InvenTree/templatetags/inventree_extras.py:184 msgid "Unknown database" -msgstr "" +msgstr "Bilinmeyen veritabanı" #: InvenTree/validators.py:32 msgid "Invalid physical unit" -msgstr "" +msgstr "Geçersiz fiziksel birim" #: InvenTree/validators.py:38 msgid "Not a valid currency code" @@ -701,7 +701,7 @@ msgstr "Fazlalık %100'ü geçmemelidir" #: InvenTree/validators.py:139 msgid "Invalid value for overage" -msgstr "" +msgstr "Aşım için geçersiz değer" #: InvenTree/views.py:399 templates/InvenTree/settings/user.html:23 msgid "Edit User Information" @@ -717,7 +717,7 @@ msgstr "Parola alanları eşleşmelidir" #: InvenTree/views.py:441 msgid "Wrong password provided" -msgstr "" +msgstr "Sağlanan şifre yanlış" #: InvenTree/views.py:645 templates/navbar.html:160 msgid "System Information" @@ -735,14 +735,14 @@ msgstr "Üst Yapım İşi" #: build/api.py:59 msgid "Ancestor Build" -msgstr "" +msgstr "Ata Yapım" #: build/api.py:78 order/api.py:92 templates/js/translated/table_filters.js:101 #: templates/js/translated/table_filters.js:549 #: templates/js/translated/table_filters.js:633 #: templates/js/translated/table_filters.js:674 msgid "Assigned to me" -msgstr "" +msgstr "Bana atandı" #: build/api.py:95 build/templates/build/build_base.html:205 #: build/templates/build/detail.html:115 @@ -753,31 +753,31 @@ msgstr "Veren" #: build/api.py:114 msgid "Assigned To" -msgstr "" +msgstr "Atanılan Kişi" #: build/api.py:275 msgid "Build must be cancelled before it can be deleted" -msgstr "" +msgstr "Yapımın silinebilmesi için önce iptal edilmesi gerekir" -#: build/api.py:319 build/serializers.py:1332 part/models.py:4278 +#: build/api.py:319 build/serializers.py:1332 part/models.py:4265 #: templates/js/translated/bom.js:997 templates/js/translated/bom.js:1037 #: templates/js/translated/build.js:2705 #: templates/js/translated/table_filters.js:197 #: templates/js/translated/table_filters.js:586 msgid "Consumable" -msgstr "" +msgstr "Sarf Malzemesi" -#: build/api.py:320 build/serializers.py:1333 part/models.py:4272 +#: build/api.py:320 build/serializers.py:1333 part/models.py:4259 #: part/templates/part/upload_bom.html:58 templates/js/translated/bom.js:1001 #: templates/js/translated/bom.js:1028 templates/js/translated/build.js:2696 #: templates/js/translated/table_filters.js:193 #: templates/js/translated/table_filters.js:222 #: templates/js/translated/table_filters.js:590 msgid "Optional" -msgstr "" +msgstr "İsteğe Bağlı" #: build/api.py:321 common/models.py:1491 part/admin.py:91 part/admin.py:428 -#: part/models.py:1166 part/serializers.py:1596 +#: part/models.py:1166 part/serializers.py:1594 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:337 #: templates/js/translated/table_filters.js:729 @@ -787,20 +787,20 @@ msgstr "Montaj" #: build/api.py:322 templates/js/translated/table_filters.js:415 #: templates/js/translated/table_filters.js:582 msgid "Tracked" -msgstr "" +msgstr "İzlenen" #: build/api.py:323 build/serializers.py:1334 part/models.py:1184 #: templates/js/translated/table_filters.js:146 #: templates/js/translated/table_filters.js:779 msgid "Testable" -msgstr "" +msgstr "Test Edilebilir" #: build/api.py:325 part/admin.py:144 templates/js/translated/build.js:1920 #: templates/js/translated/build.js:2823 #: templates/js/translated/sales_order.js:1965 #: templates/js/translated/table_filters.js:574 msgid "Allocated" -msgstr "" +msgstr "Ayrıldı" #: build/api.py:333 company/models.py:888 company/serializers.py:399 #: company/templates/company/supplier_part.html:114 @@ -816,7 +816,7 @@ msgstr "" msgid "Available" msgstr "Mevcut" -#: build/models.py:87 build/templates/build/build_base.html:9 +#: build/models.py:88 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_report.html:105 #: stock/serializers.py:85 templates/email/build_order_completed.html:16 @@ -825,7 +825,7 @@ msgstr "Mevcut" msgid "Build Order" msgstr "Yapım İşi Emri" -#: build/models.py:88 build/templates/build/build_base.html:13 +#: build/models.py:89 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:111 #: order/templates/order/so_sidebar.html:13 @@ -838,27 +838,27 @@ msgstr "Yapım İşi Emirleri" #: build/models.py:136 msgid "Assembly BOM has not been validated" -msgstr "" +msgstr "Montaj malzeme listesi doğrulanmadı" #: build/models.py:143 msgid "Build order cannot be created for an inactive part" -msgstr "" +msgstr "İnaktif bir parça için yapım siparişi oluşturulamaz" #: build/models.py:150 msgid "Build order cannot be created for an unlocked part" -msgstr "" +msgstr "Kilidi açılmış bir parça için yapım siparişi oluşturulamaz" #: build/models.py:164 msgid "Invalid choice for parent build" -msgstr "" +msgstr "Üst yapım için geçersiz seçim" #: build/models.py:175 order/models.py:240 msgid "Responsible user or group must be specified" -msgstr "" +msgstr "Sorumlu kullanıcı veya grup belirtilmelidir" #: build/models.py:181 msgid "Build order part cannot be changed" -msgstr "" +msgstr "Yapım siparişi parçası değiştirilemez" #: build/models.py:242 msgid "Build Order Reference" @@ -866,7 +866,7 @@ msgstr "Yapım İşi Emri Referansı" #: build/models.py:243 build/serializers.py:1331 order/models.py:468 #: order/models.py:979 order/models.py:1366 order/models.py:2128 -#: part/admin.py:414 part/models.py:4293 part/templates/part/upload_bom.html:54 +#: part/admin.py:414 part/models.py:4280 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 @@ -882,7 +882,7 @@ msgstr "Referans" #: build/models.py:254 msgid "Brief description of the build (optional)" -msgstr "" +msgstr "Yapımın kısa açıklaması (isteğe bağlı)" #: build/models.py:263 msgid "BuildOrder to which this build is allocated" @@ -892,11 +892,11 @@ msgstr "Bu yapım işinin tahsis edildiği yapım işi emri" #: build/templates/build/build_base.html:105 #: build/templates/build/detail.html:29 company/models.py:1043 order/api.py:761 #: order/models.py:1496 order/models.py:1651 order/models.py:1652 -#: part/api.py:1506 part/api.py:1806 part/models.py:419 part/models.py:3138 -#: part/models.py:3282 part/models.py:3430 part/models.py:3451 -#: part/models.py:3473 part/models.py:3609 part/models.py:3951 -#: part/models.py:4114 part/models.py:4244 part/models.py:4602 -#: part/serializers.py:1213 part/serializers.py:1857 +#: part/api.py:1506 part/api.py:1806 part/models.py:419 part/models.py:3125 +#: part/models.py:3269 part/models.py:3417 part/models.py:3438 +#: part/models.py:3460 part/models.py:3596 part/models.py:3938 +#: part/models.py:4101 part/models.py:4231 part/models.py:4595 +#: part/serializers.py:1211 part/serializers.py:1855 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -1054,7 +1054,7 @@ msgstr "Sorumlu" #: build/models.py:372 msgid "User or group responsible for this build order" -msgstr "" +msgstr "Bu yapım siparişinden sorumlu kullanıcı veya grup" #: build/models.py:377 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 @@ -1063,23 +1063,23 @@ msgstr "" #: order/templates/order/return_order_base.html:148 #: order/templates/order/sales_order_base.html:187 #: part/templates/part/part_base.html:399 stock/models.py:859 -#: stock/templates/stock/item_base.html:200 +#: stock/templates/stock/item_base.html:196 #: templates/js/translated/company.js:1019 msgid "External Link" msgstr "Harici Bağlantı" -#: build/models.py:378 common/models.py:3272 part/models.py:1070 +#: build/models.py:378 common/models.py:3273 part/models.py:1070 #: stock/models.py:859 msgid "Link to external URL" msgstr "Harici URL'ye bağlantı" #: build/models.py:382 msgid "Build Priority" -msgstr "" +msgstr "Yapım Önceliği" #: build/models.py:385 msgid "Priority of this build order" -msgstr "" +msgstr "Bu yapım siparişinin önceliği" #: build/models.py:392 common/models.py:137 common/models.py:151 #: order/admin.py:18 order/api.py:128 order/models.py:298 @@ -1095,22 +1095,22 @@ msgstr "Proje Kodu" #: build/models.py:393 msgid "Project code for this build order" -msgstr "" +msgstr "Bu yapım siparişi için proje kodu" #: build/models.py:652 build/models.py:779 msgid "Failed to offload task to complete build allocations" -msgstr "" +msgstr "Yapıma ayrılanları tamamlamak için boşaltma görevi başarısız oldu" #: build/models.py:674 #, python-brace-format msgid "Build order {build} has been completed" -msgstr "" +msgstr "{build} yapım siparişi tamamlandı" #: build/models.py:680 msgid "A build order has been completed" -msgstr "" +msgstr "Bir yapım siparişi tamamlandı" -#: build/models.py:968 build/models.py:1056 +#: build/models.py:968 build/models.py:1057 msgid "No build output specified" msgstr "Yapım işi çıktısı belirtilmedi" @@ -1122,37 +1122,37 @@ msgstr "Yapım işi çıktısı zaten tamamlanmış" 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:1060 build/serializers.py:279 build/serializers.py:328 +#: build/models.py:1061 build/serializers.py:279 build/serializers.py:328 #: build/serializers.py:959 order/models.py:565 order/serializers.py:500 -#: order/serializers.py:666 part/serializers.py:1590 part/serializers.py:2019 +#: order/serializers.py:666 part/serializers.py:1588 part/serializers.py:2017 #: stock/models.py:704 stock/models.py:1515 stock/serializers.py:676 msgid "Quantity must be greater than zero" -msgstr "" +msgstr "Miktar sıfırdan büyük olmalıdır" -#: build/models.py:1065 build/serializers.py:284 +#: build/models.py:1066 build/serializers.py:284 msgid "Quantity cannot be greater than the output quantity" -msgstr "" +msgstr "Miktar çıktı miktarından büyük olamaz" -#: build/models.py:1125 build/serializers.py:607 +#: build/models.py:1126 build/serializers.py:607 #, python-brace-format msgid "Build output {serial} has not passed all required tests" -msgstr "" +msgstr "{serial} yapım çıktısı gerekli testleri geçemedi" -#: build/models.py:1466 +#: build/models.py:1477 msgid "Build Order Line Item" -msgstr "" +msgstr "Yapım Siparişi Satır Ögesi" -#: build/models.py:1491 +#: build/models.py:1502 msgid "Build object" -msgstr "" +msgstr "Nesne yap" -#: build/models.py:1505 build/models.py:1761 build/serializers.py:266 +#: build/models.py:1516 build/models.py:1775 build/serializers.py:266 #: build/serializers.py:313 build/serializers.py:1339 #: build/templates/build/build_base.html:110 -#: build/templates/build/detail.html:34 common/models.py:2581 +#: build/templates/build/detail.html:34 common/models.py:2582 #: order/models.py:1349 order/models.py:2034 order/serializers.py:1464 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:413 -#: part/forms.py:48 part/models.py:3296 part/models.py:4266 +#: part/forms.py:48 part/models.py:3283 part/models.py:4253 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1163,9 +1163,9 @@ msgstr "" #: report/templates/report/inventree_test_report.html:90 #: report/templates/report/inventree_test_report.html:169 stock/admin.py:160 #: stock/serializers.py:128 stock/serializers.py:168 stock/serializers.py:667 -#: stock/templates/stock/item_base.html:287 -#: stock/templates/stock/item_base.html:295 -#: stock/templates/stock/item_base.html:342 +#: stock/templates/stock/item_base.html:283 +#: stock/templates/stock/item_base.html:291 +#: stock/templates/stock/item_base.html:338 #: templates/email/build_order_completed.html:18 #: templates/js/translated/barcode.js:579 templates/js/translated/bom.js:771 #: templates/js/translated/bom.js:981 templates/js/translated/build.js:525 @@ -1194,41 +1194,41 @@ msgstr "" msgid "Quantity" msgstr "Miktar" -#: build/models.py:1506 +#: build/models.py:1517 msgid "Required quantity for build order" -msgstr "" +msgstr "Yapım siparişi için gereken miktar" -#: build/models.py:1586 +#: build/models.py:1597 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:1595 +#: build/models.py:1606 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" -msgstr "" +msgstr "Ayrılan miktar ({q}) mevcut stok miktarını ({a}) aşmamalı" -#: build/models.py:1605 order/models.py:1985 +#: build/models.py:1616 order/models.py:1985 msgid "Stock item is over-allocated" msgstr "Stok kalemi fazladan tahsis edilmiş" -#: build/models.py:1611 order/models.py:1988 +#: build/models.py:1622 order/models.py:1988 msgid "Allocation quantity must be greater than zero" msgstr "Tahsis edilen miktar sıfırdan büyük olmalıdır" -#: build/models.py:1617 +#: build/models.py:1628 msgid "Quantity must be 1 for serialized stock" msgstr "Seri numaralı stok için miktar bir olmalı" -#: build/models.py:1676 +#: build/models.py:1687 msgid "Selected stock item does not match BOM line" -msgstr "" +msgstr "Seçilen stok ögesi malzeme listesi satırıyla eşleşmiyor" -#: build/models.py:1748 build/serializers.py:939 order/serializers.py:1301 +#: build/models.py:1762 build/serializers.py:939 order/serializers.py:1301 #: order/serializers.py:1322 stock/models.py:381 stock/serializers.py:94 #: stock/serializers.py:770 stock/serializers.py:1288 stock/serializers.py:1400 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 -#: stock/templates/stock/item_base.html:194 +#: stock/templates/stock/item_base.html:190 #: templates/js/translated/build.js:1921 #: templates/js/translated/sales_order.js:301 #: templates/js/translated/sales_order.js:1234 @@ -1241,64 +1241,64 @@ msgstr "" msgid "Stock Item" msgstr "Stok Kalemi" -#: build/models.py:1749 +#: build/models.py:1763 msgid "Source stock item" msgstr "Kaynak stok kalemi" -#: build/models.py:1762 +#: build/models.py:1776 msgid "Stock quantity to allocate to build" msgstr "Yapım işi için tahsis edilen stok miktarı" -#: build/models.py:1770 +#: build/models.py:1784 msgid "Install into" msgstr "Kurulduğu yer" -#: build/models.py:1771 +#: build/models.py:1785 msgid "Destination stock item" msgstr "Hedef stok kalemi" #: build/serializers.py:107 msgid "Build Level" -msgstr "" +msgstr "Yapım Düzeyi" #: build/serializers.py:115 build/serializers.py:1234 build/serializers.py:1323 -#: part/admin.py:41 part/admin.py:408 part/models.py:4116 part/stocktake.py:219 +#: part/admin.py:41 part/admin.py:408 part/models.py:4103 part/stocktake.py:219 #: stock/admin.py:157 msgid "Part Name" -msgstr "" +msgstr "Parça Adı" #: build/serializers.py:127 msgid "Project Code Label" -msgstr "" +msgstr "Proje Kodu Etiketi" #: build/serializers.py:133 msgid "Create Child Builds" -msgstr "" +msgstr "Alt Yapımlar Oluştur" #: build/serializers.py:134 msgid "Automatically generate child build orders" -msgstr "" +msgstr "Alt yapım siparişlerini otomatik olarak -üret" #: build/serializers.py:216 build/serializers.py:968 #: templates/js/translated/build.js:1045 templates/js/translated/build.js:1498 msgid "Build Output" -msgstr "" +msgstr "Yapım Çıktısı" #: build/serializers.py:228 msgid "Build output does not match the parent build" -msgstr "" +msgstr "Yapım çıktısı üst yapım ile eşleşmiyor" #: build/serializers.py:232 msgid "Output part does not match BuildOrder part" -msgstr "" +msgstr "Çıktı parçası Yapım Siparişi parçası ile eşleşmiyor" #: build/serializers.py:236 msgid "This build output has already been completed" -msgstr "" +msgstr "Bu yapım çıktısı zaten tamamlandı" #: build/serializers.py:247 msgid "This build output is not fully allocated" -msgstr "" +msgstr "Bu yapım çıktısı tam ayrılmadı" #: build/serializers.py:267 build/serializers.py:314 msgid "Enter quantity for build output" @@ -1306,11 +1306,11 @@ msgstr "Yapım işi çıktısı için miktarını girin" #: build/serializers.py:335 msgid "Integer quantity required for trackable parts" -msgstr "" +msgstr "İzlenebilir parçalar için tamsayı miktar gerekir" #: build/serializers.py:338 msgid "Integer quantity required, as the bill of materials contains trackable parts" -msgstr "" +msgstr "Malzeme listesi izlenebilir parçalar içerdiğinden tamsayı miktar gereklidir" #: build/serializers.py:353 order/serializers.py:679 order/serializers.py:1468 #: stock/serializers.py:687 templates/js/translated/purchase_order.js:1154 @@ -1323,10 +1323,10 @@ msgid "Enter serial numbers for build outputs" msgstr "Yapım işi çıktısı için seri numaraları girin" #: build/serializers.py:359 build/serializers.py:500 build/serializers.py:572 -#: order/serializers.py:655 order/serializers.py:778 order/serializers.py:1789 -#: part/serializers.py:1233 stock/serializers.py:103 stock/serializers.py:698 +#: order/serializers.py:655 order/serializers.py:778 order/serializers.py:1797 +#: part/serializers.py:1231 stock/serializers.py:103 stock/serializers.py:698 #: stock/serializers.py:858 stock/serializers.py:984 stock/serializers.py:1432 -#: stock/serializers.py:1688 stock/templates/stock/item_base.html:394 +#: stock/serializers.py:1688 stock/templates/stock/item_base.html:390 #: templates/js/translated/barcode.js:578 #: templates/js/translated/barcode.js:826 templates/js/translated/build.js:1035 #: templates/js/translated/build.js:1177 templates/js/translated/build.js:2547 @@ -1344,53 +1344,53 @@ msgstr "Konum" #: build/serializers.py:360 msgid "Stock location for build output" -msgstr "" +msgstr "Yapım çıktısı için stok konumu" #: build/serializers.py:374 msgid "Auto Allocate Serial Numbers" -msgstr "" +msgstr "Seri Numaralarını Otomatik Ayır" #: build/serializers.py:375 msgid "Automatically allocate required items with matching serial numbers" -msgstr "" +msgstr "Gerekli ögeleri eşleşen seri numaralarıyla otomatik ayır" #: build/serializers.py:390 msgid "Serial numbers must be provided for trackable parts" -msgstr "" +msgstr "İzlenebilir parçalar için seri numaraları sağlanmalıdır" #: build/serializers.py:415 stock/api.py:1024 msgid "The following serial numbers already exist or are invalid" -msgstr "" +msgstr "Şu seri numaraları zaten varlar veya geçersizler" #: build/serializers.py:462 build/serializers.py:524 build/serializers.py:613 msgid "A list of build outputs must be provided" -msgstr "" +msgstr "Bir yapım çıktıları listesi sağlanmalıdır" #: build/serializers.py:501 msgid "Stock location for scrapped outputs" -msgstr "" +msgstr "Hurdaya ayrılan çıktılar için stok konumu" #: build/serializers.py:507 msgid "Discard Allocations" -msgstr "" +msgstr "Ayırmaları İptal Et" #: build/serializers.py:508 msgid "Discard any stock allocations for scrapped outputs" -msgstr "" +msgstr "Hurdaya ayrılan çıktılar için yapılan tüm stok ayırmalarını iptal et" #: build/serializers.py:513 msgid "Reason for scrapping build output(s)" -msgstr "" +msgstr "Yapım çıktı(larını) hurdaya ayırma nedeni" #: build/serializers.py:573 msgid "Location for completed build outputs" -msgstr "" +msgstr "Tamamlanan yapım çıktıları içi konum" #: build/serializers.py:579 build/templates/build/build_base.html:159 #: build/templates/build/detail.html:62 order/models.py:477 #: order/models.py:1003 order/models.py:2152 order/serializers.py:687 #: stock/admin.py:165 stock/serializers.py:1035 stock/serializers.py:1576 -#: stock/templates/stock/item_base.html:427 +#: stock/templates/stock/item_base.html:423 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2366 #: templates/js/translated/purchase_order.js:1371 #: templates/js/translated/purchase_order.js:1792 @@ -1403,59 +1403,59 @@ msgstr "Durum" #: build/serializers.py:585 msgid "Accept Incomplete Allocation" -msgstr "" +msgstr "Tamamlanmamış Ayırmayı Onayla" #: build/serializers.py:586 msgid "Complete outputs if stock has not been fully allocated" -msgstr "" +msgstr "Stok tamamen ayrılmamışsa çıktıları tamamla" #: build/serializers.py:698 msgid "Consume Allocated Stock" -msgstr "" +msgstr "Ayrılan Stoku Tüket" #: build/serializers.py:699 msgid "Consume any stock which has already been allocated to this build" -msgstr "" +msgstr "Bu yapım için zaten ayrılmış olan tüm stokları tüket" #: build/serializers.py:705 msgid "Remove Incomplete Outputs" -msgstr "" +msgstr "Tamamlanmamış Çıktıları Kaldır" #: build/serializers.py:706 msgid "Delete any build outputs which have not been completed" -msgstr "" +msgstr "Tamamlanmamış tüm yapım çıktılarını sil" #: build/serializers.py:733 msgid "Not permitted" -msgstr "" +msgstr "İzin verilmedi" #: build/serializers.py:734 msgid "Accept as consumed by this build order" -msgstr "" +msgstr "Bu yapım siparişi tarafından tüketildi olarak kabul et" #: build/serializers.py:735 msgid "Deallocate before completing this build order" -msgstr "" +msgstr "Bu yapım emrini tamamlamadan önce iade et" #: build/serializers.py:765 msgid "Overallocated Stock" -msgstr "" +msgstr "Fazla Ayrılmış Stok" #: build/serializers.py:767 msgid "How do you want to handle extra stock items assigned to the build order" -msgstr "" +msgstr "Yapım siparişine atanan ekstra stok öğelerini nasıl ele almak istersiniz" #: build/serializers.py:777 msgid "Some stock items have been overallocated" -msgstr "" +msgstr "Bazı stok ögeleri fazla ayrıldı" #: build/serializers.py:782 msgid "Accept Unallocated" -msgstr "" +msgstr "Ayrılmamışı Kabul Et" #: build/serializers.py:783 msgid "Accept that stock items have not been fully allocated to this build order" -msgstr "" +msgstr "Stok öğelerinin bu yapım siparişine tam olarak ayrılmadığını kabul edin" #: build/serializers.py:793 templates/js/translated/build.js:319 msgid "Required stock has not been fully allocated" @@ -1463,11 +1463,11 @@ msgstr "Gerekli stok tamamen tahsis edilemedi" #: build/serializers.py:798 order/serializers.py:346 order/serializers.py:1369 msgid "Accept Incomplete" -msgstr "" +msgstr "Tamamlanmamış Kabul et" #: build/serializers.py:799 msgid "Accept that the required number of build outputs have not been completed" -msgstr "" +msgstr "Gerekli sayıda derleme çıktısının tamamlanmadığını kabul edin" #: build/serializers.py:809 templates/js/translated/build.js:323 msgid "Required build quantity has not been completed" @@ -1475,100 +1475,100 @@ msgstr "Gerekli yapım işi miktarı tamamlanmadı" #: build/serializers.py:818 msgid "Build order has open child build orders" -msgstr "" +msgstr "Yapım siparişinin açık alt yapım emirleri var" #: build/serializers.py:821 msgid "Build order must be in production state" -msgstr "" +msgstr "Yapım siparişi üretim durumunda olmalıdır" #: build/serializers.py:824 templates/js/translated/build.js:307 msgid "Build order has incomplete outputs" -msgstr "" +msgstr "Yapım siparişinin tamamlanmamış çıktıları var" #: build/serializers.py:862 msgid "Build Line" -msgstr "" +msgstr "Yapım Satırı" #: build/serializers.py:872 msgid "Build output" -msgstr "" +msgstr "Yapım çıktısı" #: build/serializers.py:880 msgid "Build output must point to the same build" -msgstr "" +msgstr "Yapım çıktısı aynı yapımı göstermelidir" #: build/serializers.py:916 msgid "Build Line Item" -msgstr "" +msgstr "Yapım Satırı Ögesi" #: build/serializers.py:930 msgid "bom_item.part must point to the same part as the build order" -msgstr "" +msgstr "bom_item.part yapım siparişi aynı olan parçayı göstermelidir" #: build/serializers.py:945 stock/serializers.py:1301 msgid "Item must be in stock" -msgstr "" +msgstr "Öge stokta olmalıdır" #: build/serializers.py:993 order/serializers.py:1355 #, python-brace-format msgid "Available quantity ({q}) exceeded" -msgstr "" +msgstr "Mevcut miktar ({q}) aşıldı" #: build/serializers.py:999 msgid "Build output must be specified for allocation of tracked parts" -msgstr "" +msgstr "İzlenen parçaların ayrılması için yapım çıktısı belirtilmelidir" #: build/serializers.py:1006 msgid "Build output cannot be specified for allocation of untracked parts" -msgstr "" +msgstr "İzlenmeyen parçaların ayrılması için yapım çıktısı belirlenemez" -#: build/serializers.py:1030 order/serializers.py:1614 +#: build/serializers.py:1030 order/serializers.py:1622 msgid "Allocation items must be provided" -msgstr "" +msgstr "Ayrılma ögeleri sağlanmalıdır" #: build/serializers.py:1093 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" -msgstr "" +msgstr "Parçaların alınacağı stok konumu (herhangi bir konumdan almak için boş bırakın)" #: build/serializers.py:1101 msgid "Exclude Location" -msgstr "" +msgstr "Konum Çıkar" #: build/serializers.py:1102 msgid "Exclude stock items from this selected location" -msgstr "" +msgstr "Bu seçilen konumdan stok ögelerini içerme" #: build/serializers.py:1107 msgid "Interchangeable Stock" -msgstr "" +msgstr "Birbirinin Yerine Kullanılabilir Stok" #: build/serializers.py:1108 msgid "Stock items in multiple locations can be used interchangeably" -msgstr "" +msgstr "Birden çok konumdaki stok ögeleri birbirinin yerine kullanılabilir" #: build/serializers.py:1113 msgid "Substitute Stock" -msgstr "" +msgstr "Yedek Stok" #: build/serializers.py:1114 msgid "Allow allocation of substitute parts" -msgstr "" +msgstr "Yedek parçaların ayrılmasına izin ver" #: build/serializers.py:1119 msgid "Optional Items" -msgstr "" +msgstr "İsteğe Bağlı Ögeler" #: build/serializers.py:1120 msgid "Allocate optional BOM items to build order" -msgstr "" +msgstr "Sipariş yapmak için isteğe bağlı ML ögelerini ayır" #: build/serializers.py:1142 msgid "Failed to start auto-allocation task" -msgstr "" +msgstr "Otomatik ayırma görevini başlatma başarısız oldu" #: build/serializers.py:1225 msgid "Supplier Part Number" -msgstr "" +msgstr "Sağlayıcı Parça Numarası" #: build/serializers.py:1226 company/models.py:503 msgid "Manufacturer Part Number" @@ -1577,20 +1577,20 @@ msgstr "Üretici Parça Numarası" #: build/serializers.py:1227 stock/admin.py:53 stock/admin.py:176 #: stock/serializers.py:464 msgid "Location Name" -msgstr "" +msgstr "Konum Adı" #: build/serializers.py:1228 msgid "Build Reference" -msgstr "" +msgstr "Yapım Referansı" #: build/serializers.py:1229 msgid "BOM Reference" -msgstr "" +msgstr "ML Referansı" #: build/serializers.py:1230 company/models.py:849 #: company/templates/company/supplier_part.html:160 order/serializers.py:691 #: stock/admin.py:229 stock/models.py:822 stock/serializers.py:1586 -#: stock/templates/stock/item_base.html:240 +#: stock/templates/stock/item_base.html:236 #: templates/js/translated/company.js:1646 #: templates/js/translated/purchase_order.js:1169 #: templates/js/translated/purchase_order.js:1332 @@ -1600,32 +1600,32 @@ msgid "Packaging" msgstr "Paketleme" #: build/serializers.py:1233 part/admin.py:39 part/admin.py:398 -#: part/models.py:4115 part/stocktake.py:218 stock/admin.py:153 +#: part/models.py:4102 part/stocktake.py:218 stock/admin.py:153 msgid "Part ID" -msgstr "" +msgstr "Parça ID" #: build/serializers.py:1235 build/serializers.py:1324 part/admin.py:402 -#: part/models.py:4117 +#: part/models.py:4104 msgid "Part IPN" -msgstr "" +msgstr "Parça DPN" #: build/serializers.py:1236 build/serializers.py:1326 part/admin.py:45 #: part/stocktake.py:220 msgid "Part Description" -msgstr "" +msgstr "Parça Açıklaması" #: build/serializers.py:1239 msgid "BOM Part ID" -msgstr "" +msgstr "ML Parça Kimliği" #: build/serializers.py:1240 msgid "BOM Part Name" -msgstr "" +msgstr "ML Parça Adı" #: build/serializers.py:1243 #: report/templates/report/inventree_return_order_report.html:25 #: report/templates/report/inventree_test_report.html:88 stock/models.py:849 -#: stock/serializers.py:152 stock/templates/stock/item_base.html:311 +#: stock/serializers.py:152 stock/templates/stock/item_base.html:307 #: templates/js/translated/build.js:523 templates/js/translated/build.js:1543 #: templates/js/translated/build.js:2530 #: templates/js/translated/model_renderers.js:231 @@ -1642,19 +1642,19 @@ msgstr "Seri Numara" #: templates/js/translated/build.js:1020 templates/js/translated/build.js:1167 #: templates/js/translated/build.js:2519 msgid "Allocated Quantity" -msgstr "" +msgstr "Ayrılan Miktar" -#: build/serializers.py:1257 stock/templates/stock/item_base.html:340 +#: build/serializers.py:1257 stock/templates/stock/item_base.html:336 msgid "Available Quantity" -msgstr "" +msgstr "Mavcut Miktar" #: build/serializers.py:1327 msgid "Part Category ID" -msgstr "" +msgstr "Parça Sınıfı Kimliği" #: build/serializers.py:1328 msgid "Part Category Name" -msgstr "" +msgstr "Parça Sınıfı Adı" #: build/serializers.py:1335 common/models.py:1515 part/admin.py:113 #: part/models.py:1178 templates/js/translated/table_filters.js:150 @@ -1665,60 +1665,60 @@ msgstr "Takip Edilebilir" #: build/serializers.py:1336 msgid "Inherited" -msgstr "" +msgstr "Miras Alındı" -#: build/serializers.py:1337 part/models.py:4326 +#: build/serializers.py:1337 part/models.py:4313 #: part/templates/part/upload_bom.html:56 templates/js/translated/bom.js:1046 #: templates/js/translated/build.js:2714 msgid "Allow Variants" msgstr "Çeşide İzin Ver" -#: build/serializers.py:1341 part/models.py:4124 part/models.py:4594 +#: build/serializers.py:1341 part/models.py:4111 part/models.py:4587 #: stock/api.py:793 msgid "BOM Item" -msgstr "" +msgstr "ML Ögesi" #: build/serializers.py:1350 build/templates/build/detail.html:236 #: build/templates/build/sidebar.html:16 templates/js/translated/index.js:130 msgid "Allocated Stock" -msgstr "" +msgstr "Ayrılan Stok" #: build/serializers.py:1355 order/serializers.py:1179 part/admin.py:132 -#: part/bom.py:186 part/serializers.py:920 part/serializers.py:1623 +#: part/bom.py:186 part/serializers.py:918 part/serializers.py:1621 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 #: templates/js/translated/build.js:2807 templates/js/translated/part.js:712 #: templates/js/translated/part.js:2155 #: templates/js/translated/table_filters.js:177 msgid "On Order" -msgstr "" +msgstr "Siparişte" -#: build/serializers.py:1360 order/serializers.py:1180 part/serializers.py:1625 +#: build/serializers.py:1360 order/serializers.py:1180 part/serializers.py:1623 #: templates/js/translated/build.js:2811 #: templates/js/translated/table_filters.js:367 msgid "In Production" -msgstr "" +msgstr "Üretimde" -#: build/serializers.py:1365 part/bom.py:185 part/serializers.py:1650 +#: build/serializers.py:1365 part/bom.py:185 part/serializers.py:1648 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" -msgstr "" +msgstr "Mevcut Stok" #: build/serializers.py:1369 msgid "Available Substitute Stock" -msgstr "" +msgstr "Mevcut Yedek Stok" #: build/serializers.py:1370 msgid "Available Variant Stock" -msgstr "" +msgstr "Mevcut Turev Stoku" #: build/serializers.py:1371 msgid "Total Available Stock" -msgstr "" +msgstr "Toplam Mevcut Stok" -#: build/serializers.py:1372 part/serializers.py:927 +#: build/serializers.py:1372 part/serializers.py:925 msgid "External Stock" -msgstr "" +msgstr "Harici Stok" #: build/status_codes.py:11 generic/states/tests.py:21 #: generic/states/tests.py:131 order/status_codes.py:12 @@ -1734,7 +1734,7 @@ msgstr "Üretim" #: build/status_codes.py:13 order/status_codes.py:14 order/status_codes.py:49 #: order/status_codes.py:79 msgid "On Hold" -msgstr "" +msgstr "Beklemede" #: build/status_codes.py:14 order/status_codes.py:16 order/status_codes.py:51 #: order/status_codes.py:82 @@ -1745,26 +1745,26 @@ msgstr "İptal edildi" #: importer/status_codes.py:27 order/status_codes.py:15 #: order/status_codes.py:50 order/status_codes.py:81 #: order/templates/order/order_base.html:163 -#: order/templates/order/sales_order_base.html:168 report/models.py:443 +#: order/templates/order/sales_order_base.html:168 report/models.py:451 msgid "Complete" msgstr "Tamamlandı" #: build/tasks.py:180 msgid "Stock required for build order" -msgstr "" +msgstr "Yapım siparişi için gereken stok" #: build/tasks.py:233 msgid "Overdue Build Order" -msgstr "" +msgstr "Gecikmiş Yapım Siparişi" #: build/tasks.py:238 #, python-brace-format msgid "Build order {bo} is now overdue" -msgstr "" +msgstr "{bo} yapım siparişi şimdi gecikti" #: build/templates/build/build_base.html:18 msgid "Part thumbnail" -msgstr "" +msgstr "Parçanın küçük resmi" #: build/templates/build/build_base.html:38 #: company/templates/company/supplier_part.html:35 @@ -1787,7 +1787,7 @@ msgstr "Barkod işlemleri" #: stock/templates/stock/item_base.html:44 #: stock/templates/stock/location.html:54 templates/qr_button.html:1 msgid "Show QR Code" -msgstr "" +msgstr "QR Kodunu Göster" #: build/templates/build/build_base.html:45 #: company/templates/company/supplier_part.html:41 @@ -1800,7 +1800,7 @@ msgstr "" #: templates/js/translated/barcode.js:527 #: templates/js/translated/barcode.js:532 msgid "Unlink Barcode" -msgstr "" +msgstr "Barkodun Bağlantısını Kaldır" #: build/templates/build/build_base.html:47 #: company/templates/company/supplier_part.html:43 @@ -1811,7 +1811,7 @@ msgstr "" #: stock/templates/stock/item_base.html:49 #: stock/templates/stock/location.html:58 msgid "Link Barcode" -msgstr "" +msgstr "Barkod Bağla" #: build/templates/build/build_base.html:56 #: order/templates/order/order_base.html:46 @@ -1822,7 +1822,7 @@ msgstr "Yazdırma işlemleri" #: build/templates/build/build_base.html:60 msgid "Print build order report" -msgstr "" +msgstr "Yapım siparişi raporu yazdır" #: build/templates/build/build_base.html:67 msgid "Build actions" @@ -1834,11 +1834,11 @@ msgstr "Yapım İşini Düzenle" #: build/templates/build/build_base.html:73 msgid "Duplicate Build" -msgstr "" +msgstr "Yapımı Çoğalt" #: build/templates/build/build_base.html:76 msgid "Hold Build" -msgstr "" +msgstr "Yapımı Beklet" #: build/templates/build/build_base.html:79 msgid "Cancel Build" @@ -1846,15 +1846,12 @@ msgstr "Yapım İşini İptal Et" #: build/templates/build/build_base.html:82 msgid "Delete Build" -msgstr "" +msgstr "Yapımı Sil" #: build/templates/build/build_base.html:87 -msgid "Isueue Build" -msgstr "" - #: build/templates/build/build_base.html:88 msgid "Issue Build" -msgstr "" +msgstr "Yapımı Başlat" #: build/templates/build/build_base.html:91 #: build/templates/build/build_base.html:92 @@ -1863,11 +1860,11 @@ msgstr "Tamamlanmış Yapım İşi" #: build/templates/build/build_base.html:115 msgid "Build Description" -msgstr "" +msgstr "Yapım Açıklaması" #: build/templates/build/build_base.html:125 msgid "No build outputs have been created for this build order" -msgstr "" +msgstr "Bu yapım siparişi için hiç yapım çıktısı oluşturulmadı" #: build/templates/build/build_base.html:132 msgid "Build Order is ready to mark as completed" @@ -1922,7 +1919,7 @@ msgstr "Vadesi geçmiş" #: build/templates/build/build_base.html:185 #: build/templates/build/detail.html:67 build/templates/build/sidebar.html:13 msgid "Completed Outputs" -msgstr "" +msgstr "Tamamalanan Çıktılar" #: build/templates/build/build_base.html:198 #: build/templates/build/detail.html:101 order/api.py:1393 order/models.py:893 @@ -1931,7 +1928,7 @@ msgstr "" #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_report.html:135 #: report/templates/report/inventree_sales_order_report.html:14 -#: stock/templates/stock/item_base.html:369 +#: stock/templates/stock/item_base.html:365 #: templates/email/overdue_sales_order.html:15 #: templates/js/translated/pricing.js:929 #: templates/js/translated/sales_order.js:805 @@ -1943,27 +1940,27 @@ msgstr "Sipariş Emri" #: build/templates/build/build_base.html:219 #: build/templates/build/detail.html:94 templates/js/translated/build.js:2331 msgid "Priority" -msgstr "" +msgstr "Öncelik" #: build/templates/build/build_base.html:267 msgid "Issue Build Order" -msgstr "" +msgstr "Yapım Siparişi Ver" #: build/templates/build/build_base.html:271 msgid "Issue this Build Order?" -msgstr "" +msgstr "Bu Yapımın Siparişi Verilsin mi?" #: build/templates/build/build_base.html:302 msgid "Delete Build Order" -msgstr "" +msgstr "Yapım Siparişini Sil" #: build/templates/build/build_base.html:312 msgid "Build Order QR Code" -msgstr "" +msgstr "Yapım Siparişinin QR Kodu" #: build/templates/build/build_base.html:324 msgid "Link Barcode to Build Order" -msgstr "" +msgstr "Yapım Siparişine Barkod Bağla" #: build/templates/build/detail.html:15 msgid "Build Details" @@ -1988,10 +1985,10 @@ msgstr "Hedef konumu belirtilmedi" #: build/templates/build/detail.html:73 msgid "Allocated Parts" -msgstr "" +msgstr "Ayrılan Parçalar" #: build/templates/build/detail.html:80 stock/admin.py:163 -#: stock/templates/stock/item_base.html:162 +#: stock/templates/stock/item_base.html:158 #: templates/js/translated/build.js:1556 #: templates/js/translated/model_renderers.js:242 #: templates/js/translated/purchase_order.js:1326 @@ -2030,27 +2027,27 @@ msgstr "Alt Yapım İşi Emrileri" #: build/templates/build/detail.html:177 msgid "Build Order Line Items" -msgstr "" +msgstr "Yapım Siparişi Satır Ögeleri" #: build/templates/build/detail.html:181 msgid "Deallocate stock" -msgstr "" +msgstr "Stok ayırmayı iptal et" #: build/templates/build/detail.html:182 msgid "Deallocate Stock" -msgstr "" +msgstr "Stok Ayırmayı İptal Et" #: build/templates/build/detail.html:184 msgid "Automatically allocate stock to build" -msgstr "" +msgstr "Yapıma stoku otomatik olarak ayır" #: build/templates/build/detail.html:185 msgid "Auto Allocate" -msgstr "" +msgstr "Otomatik Ayır" #: build/templates/build/detail.html:187 msgid "Manually allocate stock to build" -msgstr "" +msgstr "Yapıma stoku elle ayır" #: build/templates/build/detail.html:188 msgid "Allocate Stock" @@ -2067,7 +2064,7 @@ msgstr "Parça Siparişi" #: build/templates/build/detail.html:205 msgid "Available stock has been filtered based on specified source location for this build order" -msgstr "" +msgstr "Mevcut stok bu yapım siparişi için belirtilen kaynak konuma göre süzüldü" #: build/templates/build/detail.html:215 msgid "Incomplete Build Outputs" @@ -2079,11 +2076,11 @@ msgstr "Yeni yapım işi çıktısı oluştur" #: build/templates/build/detail.html:220 msgid "New Build Output" -msgstr "" +msgstr "Yeni Yapım Çıktısı" #: build/templates/build/detail.html:249 build/templates/build/sidebar.html:19 msgid "Consumed Stock" -msgstr "" +msgstr "Harcanan Stok" #: build/templates/build/detail.html:261 msgid "Completed Build Outputs" @@ -2091,7 +2088,7 @@ msgstr "Tamamlanmış Yapım İşi Çıktıları" #: build/templates/build/detail.html:273 msgid "Build test statistics" -msgstr "" +msgstr "Yapım test istatistikleri" #: build/templates/build/detail.html:288 build/templates/build/sidebar.html:27 #: company/templates/company/detail.html:229 @@ -2115,11 +2112,11 @@ msgstr "Yapım İşi Notları" #: build/templates/build/detail.html:458 msgid "Allocation Complete" -msgstr "" +msgstr "Ayrılma Tamam" #: build/templates/build/detail.html:459 msgid "All lines have been fully allocated" -msgstr "" +msgstr "Tüm satırlar tamamen tahsis edildi" #: build/templates/build/index.html:18 part/templates/part/detail.html:335 msgid "New Build Order" @@ -2127,7 +2124,7 @@ msgstr "Yeni Yapım İşi Emri" #: build/templates/build/sidebar.html:5 msgid "Build Order Details" -msgstr "" +msgstr "Yapım Siparişi Ayrıntıları" #: build/templates/build/sidebar.html:8 order/serializers.py:83 #: order/templates/order/po_sidebar.html:5 @@ -2137,7 +2134,7 @@ msgstr "" #: report/templates/report/inventree_return_order_report.html:19 #: report/templates/report/inventree_sales_order_report.html:22 msgid "Line Items" -msgstr "" +msgstr "Satır Ögeleri" #: build/templates/build/sidebar.html:10 msgid "Incomplete Outputs" @@ -2146,44 +2143,44 @@ msgstr "Tamamlanmamış Çıktılar" #: build/templates/build/sidebar.html:24 #: part/templates/part/part_sidebar.html:56 msgid "Test Statistics" -msgstr "" +msgstr "Test İstatistikleri" -#: common/api.py:692 +#: common/api.py:725 msgid "Is Link" -msgstr "" +msgstr "Link Olanlar" -#: common/api.py:700 +#: common/api.py:733 msgid "Is File" -msgstr "" +msgstr "Dosya Olanlar" -#: common/api.py:743 +#: common/api.py:776 msgid "User does not have permission to delete these attachments" -msgstr "" +msgstr "Kullanıcının bu ekleri silmek için izni yok" -#: common/api.py:760 +#: common/api.py:793 msgid "User does not have permission to delete this attachment" -msgstr "" +msgstr "Kullanıcının bu eki silmek için izni yok" #: common/currency.py:132 msgid "Invalid currency code" -msgstr "" +msgstr "Geçersiz para birimi kodu" #: common/currency.py:134 msgid "Duplicate currency code" -msgstr "" +msgstr "Para birimi kodunu çoğalt" #: common/currency.py:139 msgid "No valid currency codes provided" -msgstr "" +msgstr "Geçerli bir para birimi kodu sağlanmamış" #: common/currency.py:156 msgid "No plugin" -msgstr "" +msgstr "Eklenti yok" #: common/files.py:63 #, python-brace-format msgid "Unsupported file format: {fmt}" -msgstr "" +msgstr "Desteklenmeyen dosya biçimi: {fmt}" #: common/files.py:65 msgid "Error reading file (invalid encoding)" @@ -2220,47 +2217,47 @@ msgstr "{name} dosyasını yüklemek için seçin" #: common/models.py:88 msgid "Updated" -msgstr "" +msgstr "Güncellendi" #: common/models.py:89 msgid "Timestamp of last update" -msgstr "" +msgstr "Son güncellemenin zaman damgası" #: common/models.py:122 msgid "Site URL is locked by configuration" -msgstr "" +msgstr "Site URL'si yapılandırma tarafından kilitlendi" #: common/models.py:152 msgid "Unique project code" -msgstr "" +msgstr "Eşsiz proje kodu" #: common/models.py:159 msgid "Project description" -msgstr "" +msgstr "Proje açıklaması" #: common/models.py:168 msgid "User or group responsible for this project" -msgstr "" +msgstr "Bu projeden sorumlu kullanıcı veya grup" #: common/models.py:785 msgid "Settings key (must be unique - case insensitive)" -msgstr "" +msgstr "Ayar anahtarı (eşsiz olmalıdır - büyük/küçük harfe duyarsız)" #: common/models.py:789 msgid "Settings value" -msgstr "" +msgstr "Ayarlar değeri" #: common/models.py:841 msgid "Chosen value is not a valid option" -msgstr "" +msgstr "Seçilen değer geçerli bir seçenek değil" #: common/models.py:857 msgid "Value must be a boolean value" -msgstr "" +msgstr "Değer bir boolean değer olmalıdır" #: common/models.py:865 msgid "Value must be an integer value" -msgstr "" +msgstr "Değer bir integer değer olmalıdır" #: common/models.py:902 msgid "Key string must be unique" @@ -2268,47 +2265,47 @@ msgstr "Anahtar dizesi benzersiz olmalı" #: common/models.py:1134 msgid "No group" -msgstr "" +msgstr "Grup yok" #: common/models.py:1233 msgid "Restart required" -msgstr "" +msgstr "Yeniden başlatma gerekli" #: common/models.py:1235 msgid "A setting has been changed which requires a server restart" -msgstr "" +msgstr "Sunucunun yeniden başlatılmasını gerektiren bir ayar değişti" #: common/models.py:1242 msgid "Pending migrations" -msgstr "" +msgstr "Bekleyen taşıma işlemleri" #: common/models.py:1243 msgid "Number of pending database migrations" -msgstr "" +msgstr "Bekleyen veritabanı taşıma sayısı" #: common/models.py:1248 msgid "Server Instance Name" -msgstr "" +msgstr "Sunucu Örneği adı" #: common/models.py:1250 msgid "String descriptor for the server instance" -msgstr "" +msgstr "Sunucu örneği için sözce (string) açıklayıcı" #: common/models.py:1254 msgid "Use instance name" -msgstr "" +msgstr "Örnek adını kullan" #: common/models.py:1255 msgid "Use the instance name in the title-bar" -msgstr "" +msgstr "Örnek adını başlık çubuğunda kullan" #: common/models.py:1260 msgid "Restrict showing `about`" -msgstr "" +msgstr "`Hakkında` gösterimini kısıtla" #: common/models.py:1261 msgid "Show the `about` modal only to superusers" -msgstr "" +msgstr "`Hakkında` kipini yalnızca süper kullanıcılara göster" #: common/models.py:1266 company/models.py:108 company/models.py:109 msgid "Company name" @@ -2316,7 +2313,7 @@ msgstr "Şirket adı" #: common/models.py:1267 msgid "Internal company name" -msgstr "" +msgstr "Dahili şirket adı" #: common/models.py:1271 msgid "Base URL" @@ -2324,7 +2321,7 @@ msgstr "Ana URL" #: common/models.py:1272 msgid "Base URL for server instance" -msgstr "" +msgstr "Sunucu örneğinn temel URL'i" #: common/models.py:1278 msgid "Default Currency" @@ -2332,38 +2329,38 @@ msgstr "Varsayılan Para Birimi" #: common/models.py:1279 msgid "Select base currency for pricing calculations" -msgstr "" +msgstr "Fiyat hesaplamaları için temel para birimini seçin" #: common/models.py:1285 msgid "Supported Currencies" -msgstr "" +msgstr "Desteklenen Para Birimleri" #: common/models.py:1286 msgid "List of supported currency codes" -msgstr "" +msgstr "Desteklenen para birimi kodlarının listesi" #: common/models.py:1292 msgid "Currency Update Interval" -msgstr "" +msgstr "Döviz Güncelleme Aralığı" #: common/models.py:1294 msgid "How often to update exchange rates (set to zero to disable)" -msgstr "" +msgstr "Döviz kurlarını şu sıklıkla güncelle (etkisizleştirmek için sıfır yapın)" #: common/models.py:1297 common/models.py:1353 common/models.py:1366 #: common/models.py:1374 common/models.py:1383 common/models.py:1392 -#: common/models.py:1629 common/models.py:1651 common/models.py:1766 -#: common/models.py:2148 +#: common/models.py:1629 common/models.py:1651 common/models.py:1752 +#: common/models.py:2141 msgid "days" msgstr "günler" #: common/models.py:1301 msgid "Currency Update Plugin" -msgstr "" +msgstr "Döviz Güncelleme Eklentisi" #: common/models.py:1302 msgid "Currency update plugin to use" -msgstr "" +msgstr "Kullanılacak döviz güncelleme eklentisi" #: common/models.py:1307 msgid "Download from URL" @@ -2375,91 +2372,91 @@ msgstr "Harici URL'den resim ve dosyaların indirilmesine izin ver" #: common/models.py:1315 msgid "Download Size Limit" -msgstr "" +msgstr "İndirme Boyutu Sınırı" #: common/models.py:1316 msgid "Maximum allowable download size for remote image" -msgstr "" +msgstr "Uzak resimler için izin verilebilir maksimum indirme boyutu" #: common/models.py:1322 msgid "User-agent used to download from URL" -msgstr "" +msgstr "URL'den indirmek için kullanılan kullanıcı aracısı" #: common/models.py:1324 msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" -msgstr "" +msgstr "Harici URL'den resim ve dosya indirmek için kullanılan kullanıcı aracısını geçersiz kılmaya izin ver (varsayılan için boş bırakın)" #: common/models.py:1329 msgid "Strict URL Validation" -msgstr "" +msgstr "Sıkı URL Doğrulama" #: common/models.py:1330 msgid "Require schema specification when validating URLs" -msgstr "" +msgstr "URL'leri doğrularken şema tanımlamasını gerekli kıl" #: common/models.py:1335 msgid "Require confirm" -msgstr "" +msgstr "Doğrulama gerektir" #: common/models.py:1336 msgid "Require explicit user confirmation for certain action." -msgstr "" +msgstr "Belirli bir eylem için açıkça kullanıcı doğrulamasını gerekli kıl." #: common/models.py:1341 msgid "Tree Depth" -msgstr "" +msgstr "Ağaç Derinliği" #: common/models.py:1343 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." -msgstr "" +msgstr "Ağaç görünümü için varsayılan derinlik. Daha derin düzeyler gerek oldukça tembel olarak yüklenebilir." #: common/models.py:1349 msgid "Update Check Interval" -msgstr "" +msgstr "Güncelleme Denetleme Aralığı" #: common/models.py:1350 msgid "How often to check for updates (set to zero to disable)" -msgstr "" +msgstr "Güncellemeleri şu sıklıkla denetle (etkisizleştirmek için sıfır yapın)" #: common/models.py:1356 msgid "Automatic Backup" -msgstr "" +msgstr "Otomatik Yedekleme" #: common/models.py:1357 msgid "Enable automatic backup of database and media files" -msgstr "" +msgstr "Veritabanı ve ortam dosyalarını otomatik yedeklemeyi etkinleştir" #: common/models.py:1362 msgid "Auto Backup Interval" -msgstr "" +msgstr "Otomatik Yedekleme Aralığı" #: common/models.py:1363 msgid "Specify number of days between automated backup events" -msgstr "" +msgstr "Otomatik yedekleme olayları arasındaki gün sayısını belirtin" #: common/models.py:1369 msgid "Task Deletion Interval" -msgstr "" +msgstr "Görev Silme Aralığı" #: common/models.py:1371 msgid "Background task results will be deleted after specified number of days" -msgstr "" +msgstr "Arkaplan görev sonuçları belirtilen gün sayısı kadar sonra silinecektir" #: common/models.py:1378 msgid "Error Log Deletion Interval" -msgstr "" +msgstr "Hata Günlüğü Silme Aralığı" #: common/models.py:1380 msgid "Error logs will be deleted after specified number of days" -msgstr "" +msgstr "Hata günlükleri belirtilen gün sayısı kadar sonra silinecektir" #: common/models.py:1387 msgid "Notification Deletion Interval" -msgstr "" +msgstr "Bildirim Silme Aralığı" #: common/models.py:1389 msgid "User notifications will be deleted after specified number of days" -msgstr "" +msgstr "Kullanıcı bildirimleri belirtilen gün sayısı kadar sonra silinecektir" #: common/models.py:1396 templates/InvenTree/settings/sidebar.html:31 msgid "Barcode Support" @@ -2467,63 +2464,63 @@ msgstr "Barkod Desteği" #: common/models.py:1397 msgid "Enable barcode scanner support in the web interface" -msgstr "" +msgstr "Web arayüzünde barkod tarayıcı desteğini etkinleştir" #: common/models.py:1402 msgid "Barcode Input Delay" -msgstr "" +msgstr "Barkod Girdi Gecikmesi" #: common/models.py:1403 msgid "Barcode input processing delay time" -msgstr "" +msgstr "Barkod girdi işleme gecikme süresi" #: common/models.py:1409 msgid "Barcode Webcam Support" -msgstr "" +msgstr "Barkod Web Kamerası Desteği" #: common/models.py:1410 msgid "Allow barcode scanning via webcam in browser" -msgstr "" +msgstr "Tarayıcıda web kamerası aracılığıyla barkod taramaya izin ver" #: common/models.py:1415 msgid "Barcode Show Data" -msgstr "" +msgstr "Barkod Verisini Göster" #: common/models.py:1416 msgid "Display barcode data in browser as text" -msgstr "" +msgstr "Barkod verisini tarayıcıda metin olarak görüntüle" #: common/models.py:1421 msgid "Barcode Generation Plugin" -msgstr "" +msgstr "Barkod Üreteci Eklentisi" #: common/models.py:1422 msgid "Plugin to use for internal barcode data generation" -msgstr "" +msgstr "Dahili barkod üretimi için kullanılacak eklenti" #: common/models.py:1427 msgid "Part Revisions" -msgstr "" +msgstr "Parça Revizyonları" #: common/models.py:1428 msgid "Enable revision field for Part" -msgstr "" +msgstr "Parça için revizyon alanını etkinleştir" #: common/models.py:1433 msgid "Assembly Revision Only" -msgstr "" +msgstr "Yalnızca Montaj Revizyonu" #: common/models.py:1434 msgid "Only allow revisions for assembly parts" -msgstr "" +msgstr "Yalnızca montaj parçaları için revizyona izin ver" #: common/models.py:1439 msgid "Allow Deletion from Assembly" -msgstr "" +msgstr "Montajdan Silmeye İzin Ver" #: common/models.py:1440 msgid "Allow deletion of parts which are used in an assembly" -msgstr "" +msgstr "Bir montajda kullanılan parçaları silmeye izin ver" #: common/models.py:1445 msgid "IPN Regex" @@ -2551,27 +2548,27 @@ msgstr "Parçayı düzenlerken DPN değiştirmeye izin ver" #: common/models.py:1461 msgid "Copy Part BOM Data" -msgstr "" +msgstr "Parça ML Verisini Kopyala" #: common/models.py:1462 msgid "Copy BOM data by default when duplicating a part" -msgstr "" +msgstr "Bir parçayo çoğaltırken varsayılan olarak ML verisini kopyala" #: common/models.py:1467 msgid "Copy Part Parameter Data" -msgstr "" +msgstr "Parça Parametre Verisini Kopyala" #: common/models.py:1468 msgid "Copy parameter data by default when duplicating a part" -msgstr "" +msgstr "Bir parçayı çoğaltırken varsayılan olarak parametre verisini kopyala" #: common/models.py:1473 msgid "Copy Part Test Data" -msgstr "" +msgstr "Parça Test Verisini Kopyala" #: common/models.py:1474 msgid "Copy test data by default when duplicating a part" -msgstr "" +msgstr "Bir parçayı çoğaltırken varsayılan olarak test verisini kopyala" #: common/models.py:1479 msgid "Copy Category Parameter Templates" @@ -2581,9 +2578,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:1485 part/admin.py:108 part/models.py:3959 -#: report/models.py:293 report/models.py:360 report/serializers.py:90 -#: report/serializers.py:131 stock/serializers.py:233 +#: common/models.py:1485 part/admin.py:108 part/models.py:3946 +#: report/models.py:301 report/models.py:368 report/serializers.py:91 +#: report/serializers.py:132 stock/serializers.py:233 #: templates/js/translated/table_filters.js:138 #: templates/js/translated/table_filters.js:775 msgid "Template" @@ -2598,7 +2595,7 @@ 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:1497 part/admin.py:95 part/models.py:1172 -#: part/serializers.py:1617 templates/js/translated/table_filters.js:737 +#: part/serializers.py:1615 templates/js/translated/table_filters.js:737 msgid "Component" msgstr "Bileşen" @@ -2640,11 +2637,11 @@ msgstr "Parçalar varsayılan olarak sanaldır" #: common/models.py:1527 msgid "Show Import in Views" -msgstr "" +msgstr "Görünümlerde İçe Aktarmayı Göster" #: common/models.py:1528 msgid "Display the import wizard in some part views" -msgstr "" +msgstr "Bazı parça görünümlerinde içe aktarma sihirbazını görüntüle" #: common/models.py:1533 msgid "Show related parts" @@ -2652,159 +2649,159 @@ msgstr "İlgili parçaları göster" #: common/models.py:1534 msgid "Display related parts for a part" -msgstr "" +msgstr "Bir parça için ilgili parçaları göster" #: common/models.py:1539 msgid "Initial Stock Data" -msgstr "" +msgstr "Başlangıç Stok Verisi" #: common/models.py:1540 msgid "Allow creation of initial stock when adding a new part" -msgstr "" +msgstr "Yeni bir parça eklerken başlangıç stoku oluşturmaya izin ver" #: common/models.py:1545 templates/js/translated/part.js:108 msgid "Initial Supplier Data" -msgstr "" +msgstr "Başlangıç Sağlayıcı Verisi" #: common/models.py:1547 msgid "Allow creation of initial supplier data when adding a new part" -msgstr "" +msgstr "Yeni bir parça oluştururken başlangıç sağlayıcı verisi oluşturmaya izin ver" #: common/models.py:1553 msgid "Part Name Display Format" -msgstr "" +msgstr "Parça Adı Görüntüleme Biçimi" #: common/models.py:1554 msgid "Format to display the part name" -msgstr "" +msgstr "Parça adını görüntüleme biçimi" #: common/models.py:1560 msgid "Part Category Default Icon" -msgstr "" +msgstr "Parça Sınıfının Varsayılan Simgesi" #: common/models.py:1561 msgid "Part category default icon (empty means no icon)" -msgstr "" +msgstr "Parça sınıfı için varsayılan simge (boş bırakılırsa simge kullanılmaz)" #: common/models.py:1566 msgid "Enforce Parameter Units" -msgstr "" +msgstr "Parametre Birimlerini Zorunlu Kıl" #: common/models.py:1568 msgid "If units are provided, parameter values must match the specified units" -msgstr "" +msgstr "Birimler sağlanırsa, parametre değerleri belirtilen birimlere uymalıdır" #: common/models.py:1574 msgid "Minimum Pricing Decimal Places" -msgstr "" +msgstr "Minimum Fiyatlandırma Ondalık Basamakları" #: common/models.py:1576 msgid "Minimum number of decimal places to display when rendering pricing data" -msgstr "" +msgstr "Fiiyatlandırma verisini oluştururken gösterilecek ondalık basamakların minimum sayısı" #: common/models.py:1587 msgid "Maximum Pricing Decimal Places" -msgstr "" +msgstr "Maksimum Fiyatlandırma Ondalık Basamakları" #: common/models.py:1589 msgid "Maximum number of decimal places to display when rendering pricing data" -msgstr "" +msgstr "Fiiyatlandırma verisini oluştururken gösterilecek ondalık basamakların maksimum sayısı" #: common/models.py:1600 msgid "Use Supplier Pricing" -msgstr "" +msgstr "Sağlayıcı Fiyatlandırmasını Kullan" #: common/models.py:1602 msgid "Include supplier price breaks in overall pricing calculations" -msgstr "" +msgstr "Genel fiyatlandırma hesaplamalarına sağlayıcı fiyat aralıklarını ekle" #: common/models.py:1608 msgid "Purchase History Override" -msgstr "" +msgstr "Satın Alma Geçmişini Geçersiz Kılma" #: common/models.py:1610 msgid "Historical purchase order pricing overrides supplier price breaks" -msgstr "" +msgstr "Geçmiş satınalma siparişi fiyatlandırması, sağlayıcı fiyat aralıklarını geçersiz kılar" #: common/models.py:1616 msgid "Use Stock Item Pricing" -msgstr "" +msgstr "Stok Ögesi Fiyatlandırmasını Kullan" #: common/models.py:1618 msgid "Use pricing from manually entered stock data for pricing calculations" -msgstr "" +msgstr "Fiyatlandırma hesaplamaları için elle girilen stok verisinin fiyatlandırmasını kullan" #: common/models.py:1624 msgid "Stock Item Pricing Age" -msgstr "" +msgstr "Stok Ögesi Fiyatlandırma Yaşı" #: common/models.py:1626 msgid "Exclude stock items older than this number of days from pricing calculations" -msgstr "" +msgstr "Bu gün sayısından daha eski olan stok kalemlerini fiyatlandırma hesaplamalarından hariç tut" #: common/models.py:1633 msgid "Use Variant Pricing" -msgstr "" +msgstr "Türev Fiyatlandırması Kullan" #: common/models.py:1634 msgid "Include variant pricing in overall pricing calculations" -msgstr "" +msgstr "Genel fiyat hesaplamalarına türev fiyatlarını da ekle" #: common/models.py:1639 msgid "Active Variants Only" -msgstr "" +msgstr "Yalnızca Etkin Türevler" #: common/models.py:1641 msgid "Only use active variant parts for calculating variant pricing" -msgstr "" +msgstr "Türev fiyatlandırması için yalnızca etkin türev parçaları kullan" #: common/models.py:1647 msgid "Pricing Rebuild Interval" -msgstr "" +msgstr "Fiyatlandırmayı Yeniden Oluşturma Aralığı" #: common/models.py:1649 msgid "Number of days before part pricing is automatically updated" -msgstr "" +msgstr "Parça fiyatlandrımasının otomatik güncellenmesinden önceki gün sayısı" #: common/models.py:1656 msgid "Internal Prices" -msgstr "" +msgstr "Dahili Fiyatlar" #: common/models.py:1657 msgid "Enable internal prices for parts" -msgstr "" +msgstr "Parçalar için dahili fiyatları etkinleştir" #: common/models.py:1662 msgid "Internal Price Override" -msgstr "" +msgstr "Dahili Fiyat Geçersiz Kılma" #: common/models.py:1664 msgid "If available, internal prices override price range calculations" -msgstr "" +msgstr "Varsa, dahili fiyatlar fiyat aralığı hesaplarını geçersiz kılar" #: common/models.py:1670 msgid "Enable label printing" -msgstr "" +msgstr "Etiket yazdırmayı etkinleştir" #: common/models.py:1671 msgid "Enable label printing from the web interface" -msgstr "" +msgstr "Web arayüzünden etiket yazdırmayı etkinleştir" #: common/models.py:1676 msgid "Label Image DPI" -msgstr "" +msgstr "Etiket Resmi DPI Değeri" #: common/models.py:1678 msgid "DPI resolution when generating image files to supply to label printing plugins" -msgstr "" +msgstr "Resim dosyaları üretirken etiket yazdırma eklentilerine sağlanacak DPI çözünürlüğü" #: common/models.py:1684 msgid "Enable Reports" -msgstr "" +msgstr "Raporları Etkinleştir" #: common/models.py:1685 msgid "Enable generation of reports" -msgstr "" +msgstr "Rapor üretimini etkinleştir" #: common/models.py:1690 templates/stats.html:25 msgid "Debug Mode" @@ -2816,14 +2813,14 @@ msgstr "Raporları hata ayıklama modunda üret (HTML çıktısı)" #: common/models.py:1696 msgid "Log Report Errors" -msgstr "" +msgstr "Rapor Hatalarını Günlüğe Kaydet" #: common/models.py:1697 msgid "Log errors which occur when generating reports" -msgstr "" +msgstr "Raporlar üretirken oluşan hataları günlüğe kaydet" #: common/models.py:1702 plugin/builtin/labels/label_sheet.py:28 -#: report/models.py:301 +#: report/models.py:309 msgid "Page Size" msgstr "Sayfa Boyutu" @@ -2832,914 +2829,914 @@ msgid "Default page size for PDF reports" msgstr "PDF raporlar için varsayılan sayfa boyutu" #: common/models.py:1708 -msgid "Enable Test Reports" -msgstr "" - -#: common/models.py:1709 -msgid "Enable generation of test reports" -msgstr "" - -#: common/models.py:1714 -msgid "Attach Test Reports" -msgstr "" - -#: common/models.py:1716 -msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" -msgstr "" - -#: common/models.py:1722 msgid "Globally Unique Serials" -msgstr "" +msgstr "Küresel Çapta Benzersiz Seri Numaraları" -#: common/models.py:1723 +#: common/models.py:1709 msgid "Serial numbers for stock items must be globally unique" -msgstr "" +msgstr "Stok ögeleri için seri numaraları küresel çapta benzersiz olmalıdır" -#: common/models.py:1728 +#: common/models.py:1714 msgid "Autofill Serial Numbers" -msgstr "" +msgstr "Seri Numaralarını Otomatik Doldur" -#: common/models.py:1729 +#: common/models.py:1715 msgid "Autofill serial numbers in forms" -msgstr "" +msgstr "Seri numaralarını formlarda otomatik doldur" -#: common/models.py:1734 +#: common/models.py:1720 msgid "Delete Depleted Stock" -msgstr "" +msgstr "Tükenen Stoku Sil" -#: common/models.py:1736 +#: common/models.py:1722 msgid "Determines default behavior when a stock item is depleted" -msgstr "" +msgstr "Bir stok ögesi tükendiğinde varsayılan davranışı belirler" -#: common/models.py:1742 +#: common/models.py:1728 msgid "Batch Code Template" -msgstr "" +msgstr "Parti Kodu Şablonu" -#: common/models.py:1744 +#: common/models.py:1730 msgid "Template for generating default batch codes for stock items" -msgstr "" +msgstr "Stok ögelerine varsayılan parti kodlarını üretmek için şablon" -#: common/models.py:1749 +#: common/models.py:1735 msgid "Stock Expiry" -msgstr "" +msgstr "Stok Sona Erme Tarihi" -#: common/models.py:1750 +#: common/models.py:1736 msgid "Enable stock expiry functionality" -msgstr "" +msgstr "Stokun sona erme işlevselliğini etkinleştir" -#: common/models.py:1755 +#: common/models.py:1741 msgid "Sell Expired Stock" -msgstr "" +msgstr "Süresi Dolan Stoku Sat" -#: common/models.py:1756 +#: common/models.py:1742 msgid "Allow sale of expired stock" -msgstr "" +msgstr "Süresi dolan stok satışına izin ver" -#: common/models.py:1761 +#: common/models.py:1747 msgid "Stock Stale Time" -msgstr "" +msgstr "Stok Eskime Süresi" -#: common/models.py:1763 +#: common/models.py:1749 msgid "Number of days stock items are considered stale before expiring" -msgstr "" +msgstr "Stok öğelerinin son kullanma tarihi geçmeden eskimiş sayıldığı gün sayısı" -#: common/models.py:1770 +#: common/models.py:1756 msgid "Build Expired Stock" -msgstr "" +msgstr "Yapımın Süresi Geçmiş Stoku" -#: common/models.py:1771 +#: common/models.py:1757 msgid "Allow building with expired stock" -msgstr "" +msgstr "Süresi geçmiş stok ile yapıma izin ver" -#: common/models.py:1776 +#: common/models.py:1762 msgid "Stock Ownership Control" -msgstr "" +msgstr "Stok Sahipliği Kontrolü" -#: common/models.py:1777 +#: common/models.py:1763 msgid "Enable ownership control over stock locations and items" msgstr "Stok konumu ve ögeler üzerinde sahiplik kontrolünü etkinleştirin" -#: common/models.py:1782 +#: common/models.py:1768 msgid "Stock Location Default Icon" -msgstr "" +msgstr "Varsayılan Stok Konumu Simgesi" -#: common/models.py:1783 +#: common/models.py:1769 msgid "Stock location default icon (empty means no icon)" -msgstr "" +msgstr "Stok konumu için varsayılan simge (boşsa simge yok demektir)" -#: common/models.py:1788 +#: common/models.py:1774 msgid "Show Installed Stock Items" -msgstr "" +msgstr "Kurulu Stok Ögelerini Göster" -#: common/models.py:1789 +#: common/models.py:1775 msgid "Display installed stock items in stock tables" -msgstr "" +msgstr "Stok tablolarında kurulu stok ögelerini göster" -#: common/models.py:1794 +#: common/models.py:1780 msgid "Check BOM when installing items" -msgstr "" +msgstr "Ögelerin kurulumunu yaparken ML'i kontrol et" -#: common/models.py:1796 +#: common/models.py:1782 msgid "Installed stock items must exist in the BOM for the parent part" -msgstr "" +msgstr "Kurulu stok ögeleri üst parçanın ML'nde mevcut olmalıdır" -#: common/models.py:1802 +#: common/models.py:1788 msgid "Allow Out of Stock Transfer" -msgstr "" +msgstr "Stok Dışı Aktarıma İzin Ver" -#: common/models.py:1804 +#: common/models.py:1790 msgid "Allow stock items which are not in stock to be transferred between stock locations" -msgstr "" +msgstr "Stokta olmayan ögelerin stok konumları arasında aktarılmasına izin ver" -#: common/models.py:1810 +#: common/models.py:1796 msgid "Build Order Reference Pattern" -msgstr "" +msgstr "Yapım Siparişi Referans Kalıbı" -#: common/models.py:1812 +#: common/models.py:1798 msgid "Required pattern for generating Build Order reference field" -msgstr "" +msgstr "Yapım Siparişi referans alanını üretmek için gerekli kalıp" -#: common/models.py:1818 common/models.py:1874 common/models.py:1896 -#: common/models.py:1932 +#: common/models.py:1804 common/models.py:1860 common/models.py:1882 +#: common/models.py:1918 msgid "Require Responsible Owner" -msgstr "" +msgstr "Sorumlu Sahip Gerektir" -#: common/models.py:1819 common/models.py:1875 common/models.py:1897 -#: common/models.py:1933 +#: common/models.py:1805 common/models.py:1861 common/models.py:1883 +#: common/models.py:1919 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/models.py:1824 +#: common/models.py:1810 msgid "Require Active Part" msgstr "" -#: common/models.py:1825 +#: common/models.py:1811 msgid "Prevent build order creation for inactive parts" msgstr "" -#: common/models.py:1830 +#: common/models.py:1816 msgid "Require Locked Part" msgstr "" -#: common/models.py:1831 +#: common/models.py:1817 msgid "Prevent build order creation for unlocked parts" msgstr "" -#: common/models.py:1836 +#: common/models.py:1822 msgid "Require Valid BOM" msgstr "" -#: common/models.py:1838 +#: common/models.py:1824 msgid "Prevent build order creation unless BOM has been validated" msgstr "" -#: common/models.py:1844 +#: common/models.py:1830 msgid "Require Closed Child Orders" msgstr "" -#: common/models.py:1846 +#: common/models.py:1832 msgid "Prevent build order completion until all child orders are closed" msgstr "" -#: common/models.py:1852 +#: common/models.py:1838 msgid "Block Until Tests Pass" msgstr "" -#: common/models.py:1854 +#: common/models.py:1840 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "" -#: common/models.py:1860 +#: common/models.py:1846 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1861 +#: common/models.py:1847 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1866 +#: common/models.py:1852 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1868 +#: common/models.py:1854 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1880 +#: common/models.py:1866 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1882 +#: common/models.py:1868 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1888 +#: common/models.py:1874 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1890 +#: common/models.py:1876 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1902 +#: common/models.py:1888 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1903 +#: common/models.py:1889 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1908 +#: common/models.py:1894 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1910 +#: common/models.py:1896 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1916 +#: common/models.py:1902 msgid "Mark Shipped Orders as Complete" msgstr "" -#: common/models.py:1918 +#: common/models.py:1904 msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status" msgstr "" -#: common/models.py:1924 +#: common/models.py:1910 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1926 +#: common/models.py:1912 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1938 +#: common/models.py:1924 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1940 +#: common/models.py:1926 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1946 +#: common/models.py:1932 msgid "Auto Complete Purchase Orders" msgstr "" -#: common/models.py:1948 +#: common/models.py:1934 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/models.py:1955 +#: common/models.py:1941 msgid "Enable password forgot" msgstr "" -#: common/models.py:1956 +#: common/models.py:1942 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1961 +#: common/models.py:1947 msgid "Enable registration" msgstr "" -#: common/models.py:1962 +#: common/models.py:1948 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1967 +#: common/models.py:1953 msgid "Enable SSO" msgstr "" -#: common/models.py:1968 +#: common/models.py:1954 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1973 +#: common/models.py:1959 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1975 +#: common/models.py:1961 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1981 +#: common/models.py:1967 msgid "Enable SSO group sync" msgstr "" -#: common/models.py:1983 +#: common/models.py:1969 msgid "Enable synchronizing InvenTree groups with groups provided by the IdP" msgstr "" -#: common/models.py:1989 +#: common/models.py:1975 msgid "SSO group key" msgstr "" -#: common/models.py:1991 +#: common/models.py:1977 msgid "The name of the groups claim attribute provided by the IdP" msgstr "" -#: common/models.py:1997 +#: common/models.py:1983 msgid "SSO group map" msgstr "" -#: common/models.py:1999 +#: common/models.py:1985 msgid "A mapping from SSO groups to local InvenTree groups. If the local group does not exist, it will be created." msgstr "" -#: common/models.py:2005 +#: common/models.py:1991 msgid "Remove groups outside of SSO" msgstr "" -#: common/models.py:2007 +#: common/models.py:1993 msgid "Whether groups assigned to the user should be removed if they are not backend by the IdP. Disabling this setting might cause security issues" msgstr "" -#: common/models.py:2013 +#: common/models.py:1999 msgid "Email required" msgstr "" -#: common/models.py:2014 +#: common/models.py:2000 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:2019 +#: common/models.py:2005 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:2021 +#: common/models.py:2007 msgid "Automatically fill out user-details from SSO account-data" -msgstr "" +msgstr "Kullanıcı ayrıntılarını TOA hesabı verisinden otomatik olarak doldur" -#: common/models.py:2027 +#: common/models.py:2013 msgid "Mail twice" -msgstr "" +msgstr "Postayı iki kez gir" -#: common/models.py:2028 +#: common/models.py:2014 msgid "On signup ask users twice for their mail" -msgstr "" +msgstr "Hesap oluştururken kullanıcıların postalarını iki kez girmelerini iste" -#: common/models.py:2033 +#: common/models.py:2019 msgid "Password twice" -msgstr "" +msgstr "Şifreyi iki kez gir" -#: common/models.py:2034 +#: common/models.py:2020 msgid "On signup ask users twice for their password" -msgstr "" +msgstr "Hesap oluştururken kullanıcıların şifrelerini iki kez girmesini iste" -#: common/models.py:2039 +#: common/models.py:2025 msgid "Allowed domains" -msgstr "" +msgstr "Alanlara izin ver" -#: common/models.py:2041 +#: common/models.py:2027 msgid "Restrict signup to certain domains (comma-separated, starting with @)" -msgstr "" +msgstr "Belirli alanlara hesap açmayı kısıtla (virgülle ayrılmış, @ ile başlayan)" -#: common/models.py:2047 +#: common/models.py:2033 msgid "Group on signup" -msgstr "" +msgstr "Hesap oluştururken grup" -#: common/models.py:2049 +#: common/models.py:2035 msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP." -msgstr "" +msgstr "Yeni kullanıcıların kayıt sırasında atanacağı grup. Eğer TOA grup eşitlemesi etkinse, yalnızca ıdP'den hiçbir grup atanamazsa bu grup ayarlanır." -#: common/models.py:2055 +#: common/models.py:2041 msgid "Enforce MFA" -msgstr "" +msgstr "ÇFKD'yi Zorunlu Kıl" -#: common/models.py:2056 +#: common/models.py:2042 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:2061 +#: common/models.py:2047 msgid "Check plugins on startup" msgstr "" -#: common/models.py:2063 +#: common/models.py:2049 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:2071 +#: common/models.py:2057 msgid "Check for plugin updates" msgstr "" -#: common/models.py:2072 +#: common/models.py:2058 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:2078 +#: common/models.py:2064 msgid "Enable URL integration" msgstr "" +#: common/models.py:2065 +msgid "Enable plugins to add URL routes" +msgstr "" + +#: common/models.py:2071 +msgid "Enable navigation integration" +msgstr "" + +#: common/models.py:2072 +msgid "Enable plugins to integrate into navigation" +msgstr "" + +#: common/models.py:2078 +msgid "Enable app integration" +msgstr "" + #: common/models.py:2079 -msgid "Enable plugins to add URL routes" +msgid "Enable plugins to add apps" msgstr "" #: common/models.py:2085 -msgid "Enable navigation integration" +msgid "Enable schedule integration" msgstr "" #: common/models.py:2086 -msgid "Enable plugins to integrate into navigation" +msgid "Enable plugins to run scheduled tasks" msgstr "" #: common/models.py:2092 -msgid "Enable app integration" +msgid "Enable event integration" msgstr "" #: common/models.py:2093 -msgid "Enable plugins to add apps" +msgid "Enable plugins to respond to internal events" msgstr "" #: common/models.py:2099 -msgid "Enable schedule integration" +msgid "Enable interface integration" msgstr "" #: common/models.py:2100 -msgid "Enable plugins to run scheduled tasks" +msgid "Enable plugins to integrate into the user interface" msgstr "" #: common/models.py:2106 -msgid "Enable event integration" -msgstr "" - -#: common/models.py:2107 -msgid "Enable plugins to respond to internal events" -msgstr "" - -#: common/models.py:2113 msgid "Enable project codes" msgstr "" -#: common/models.py:2114 +#: common/models.py:2107 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:2119 +#: common/models.py:2112 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:2121 +#: common/models.py:2114 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:2127 +#: common/models.py:2120 msgid "Exclude External Locations" msgstr "" -#: common/models.py:2129 +#: common/models.py:2122 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/models.py:2135 +#: common/models.py:2128 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:2137 +#: common/models.py:2130 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:2143 +#: common/models.py:2136 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:2145 +#: common/models.py:2138 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:2152 +#: common/models.py:2145 msgid "Display Users full names" msgstr "" -#: common/models.py:2153 +#: common/models.py:2146 msgid "Display Users full names instead of usernames" msgstr "" -#: common/models.py:2158 +#: common/models.py:2151 msgid "Enable Test Station Data" msgstr "" -#: common/models.py:2159 +#: common/models.py:2152 msgid "Enable test station data collection for test results" msgstr "" -#: common/models.py:2171 common/models.py:2551 +#: common/models.py:2157 +msgid "Create Template on Upload" +msgstr "" + +#: common/models.py:2159 +msgid "Create a new test template when uploading test data which does not match an existing template" +msgstr "" + +#: common/models.py:2172 common/models.py:2552 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:2214 +#: common/models.py:2215 msgid "Hide inactive parts" msgstr "" -#: common/models.py:2216 +#: common/models.py:2217 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:2222 +#: common/models.py:2223 msgid "Show subscribed parts" msgstr "" -#: common/models.py:2223 +#: common/models.py:2224 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:2228 +#: common/models.py:2229 msgid "Show subscribed categories" msgstr "" -#: common/models.py:2229 +#: common/models.py:2230 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:2234 +#: common/models.py:2235 msgid "Show latest parts" msgstr "" -#: common/models.py:2235 +#: common/models.py:2236 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:2240 +#: common/models.py:2241 msgid "Show invalid BOMs" msgstr "" -#: common/models.py:2241 +#: common/models.py:2242 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:2246 +#: common/models.py:2247 msgid "Show recent stock changes" msgstr "" -#: common/models.py:2247 +#: common/models.py:2248 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:2252 +#: common/models.py:2253 msgid "Show low stock" msgstr "" -#: common/models.py:2253 +#: common/models.py:2254 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:2258 +#: common/models.py:2259 msgid "Show depleted stock" msgstr "" -#: common/models.py:2259 +#: common/models.py:2260 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:2264 +#: common/models.py:2265 msgid "Show needed stock" msgstr "" -#: common/models.py:2265 +#: common/models.py:2266 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:2270 +#: common/models.py:2271 msgid "Show expired stock" msgstr "" -#: common/models.py:2271 +#: common/models.py:2272 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:2276 +#: common/models.py:2277 msgid "Show stale stock" msgstr "" -#: common/models.py:2277 +#: common/models.py:2278 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:2282 +#: common/models.py:2283 msgid "Show pending builds" msgstr "" -#: common/models.py:2283 +#: common/models.py:2284 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:2288 +#: common/models.py:2289 msgid "Show overdue builds" msgstr "" -#: common/models.py:2289 +#: common/models.py:2290 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:2294 +#: common/models.py:2295 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2295 +#: common/models.py:2296 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2300 +#: common/models.py:2301 msgid "Show overdue POs" msgstr "" -#: common/models.py:2301 +#: common/models.py:2302 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2306 +#: common/models.py:2307 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2307 +#: common/models.py:2308 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2312 +#: common/models.py:2313 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2313 +#: common/models.py:2314 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2318 +#: common/models.py:2319 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2319 +#: common/models.py:2320 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2324 +#: common/models.py:2325 msgid "Show News" msgstr "" -#: common/models.py:2325 +#: common/models.py:2326 msgid "Show news on the homepage" msgstr "" -#: common/models.py:2330 +#: common/models.py:2331 msgid "Inline label display" msgstr "" -#: common/models.py:2332 +#: common/models.py:2333 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2338 +#: common/models.py:2339 msgid "Default label printer" msgstr "" -#: common/models.py:2340 +#: common/models.py:2341 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2346 +#: common/models.py:2347 msgid "Inline report display" msgstr "" -#: common/models.py:2348 +#: common/models.py:2349 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2354 +#: common/models.py:2355 msgid "Search Parts" msgstr "" -#: common/models.py:2355 +#: common/models.py:2356 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2360 +#: common/models.py:2361 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2361 +#: common/models.py:2362 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2366 +#: common/models.py:2367 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2367 +#: common/models.py:2368 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2372 +#: common/models.py:2373 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2373 +#: common/models.py:2374 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2378 +#: common/models.py:2379 msgid "Search Categories" msgstr "" -#: common/models.py:2379 +#: common/models.py:2380 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2384 +#: common/models.py:2385 msgid "Search Stock" msgstr "" -#: common/models.py:2385 +#: common/models.py:2386 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2390 +#: common/models.py:2391 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2392 +#: common/models.py:2393 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2398 +#: common/models.py:2399 msgid "Search Locations" msgstr "" -#: common/models.py:2399 +#: common/models.py:2400 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2404 +#: common/models.py:2405 msgid "Search Companies" msgstr "" -#: common/models.py:2405 +#: common/models.py:2406 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2410 +#: common/models.py:2411 msgid "Search Build Orders" msgstr "" -#: common/models.py:2411 +#: common/models.py:2412 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2416 +#: common/models.py:2417 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2417 +#: common/models.py:2418 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2422 +#: common/models.py:2423 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2424 +#: common/models.py:2425 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2430 +#: common/models.py:2431 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2431 +#: common/models.py:2432 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2436 +#: common/models.py:2437 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2438 +#: common/models.py:2439 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2444 +#: common/models.py:2445 msgid "Search Return Orders" msgstr "" -#: common/models.py:2445 +#: common/models.py:2446 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2450 +#: common/models.py:2451 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2452 +#: common/models.py:2453 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2458 +#: common/models.py:2459 msgid "Search Preview Results" msgstr "" -#: common/models.py:2460 +#: common/models.py:2461 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2466 +#: common/models.py:2467 msgid "Regex Search" msgstr "" -#: common/models.py:2467 +#: common/models.py:2468 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2472 +#: common/models.py:2473 msgid "Whole Word Search" msgstr "" -#: common/models.py:2473 +#: common/models.py:2474 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2478 +#: common/models.py:2479 msgid "Show Quantity in Forms" msgstr "Formlarda Miktarı Göster" -#: common/models.py:2479 +#: common/models.py:2480 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2484 +#: common/models.py:2485 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2485 +#: common/models.py:2486 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2490 +#: common/models.py:2491 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2491 +#: common/models.py:2492 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2496 +#: common/models.py:2497 msgid "Date Format" msgstr "" -#: common/models.py:2497 +#: common/models.py:2498 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2510 part/templates/part/detail.html:41 +#: common/models.py:2511 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2511 +#: common/models.py:2512 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2516 part/templates/part/detail.html:62 +#: common/models.py:2517 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2518 +#: common/models.py:2519 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2524 +#: common/models.py:2525 msgid "Table String Length" msgstr "" -#: common/models.py:2526 +#: common/models.py:2527 msgid "Maximum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2532 +#: common/models.py:2533 msgid "Receive error reports" msgstr "" -#: common/models.py:2533 +#: common/models.py:2534 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2538 +#: common/models.py:2539 msgid "Last used printing machines" msgstr "" -#: common/models.py:2539 +#: common/models.py:2540 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2559 common/models.py:2560 common/models.py:2717 -#: common/models.py:2718 common/models.py:2963 common/models.py:2964 -#: common/models.py:3287 common/models.py:3288 importer/models.py:89 -#: part/models.py:3319 part/models.py:3406 part/models.py:3480 -#: part/models.py:3508 plugin/models.py:274 plugin/models.py:275 +#: common/models.py:2560 common/models.py:2561 common/models.py:2718 +#: common/models.py:2719 common/models.py:2964 common/models.py:2965 +#: common/models.py:3288 common/models.py:3289 importer/models.py:89 +#: part/models.py:3306 part/models.py:3393 part/models.py:3467 +#: part/models.py:3495 plugin/models.py:274 plugin/models.py:275 #: report/templates/report/inventree_test_report.html:105 #: templates/js/translated/stock.js:3121 users/models.py:111 msgid "User" msgstr "Kullanıcı" -#: common/models.py:2582 +#: common/models.py:2583 msgid "Price break quantity" msgstr "" -#: common/models.py:2589 company/serializers.py:517 order/admin.py:42 +#: common/models.py:2590 company/serializers.py:517 order/admin.py:42 #: order/models.py:1423 order/models.py:2410 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1892 #: templates/js/translated/pricing.js:621 @@ -3747,96 +3744,96 @@ msgstr "" msgid "Price" msgstr "Fiyat" -#: common/models.py:2590 +#: common/models.py:2591 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2694 common/models.py:2879 +#: common/models.py:2695 common/models.py:2880 msgid "Endpoint" msgstr "" -#: common/models.py:2695 +#: common/models.py:2696 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2705 +#: common/models.py:2706 msgid "Name for this webhook" msgstr "" -#: common/models.py:2709 +#: common/models.py:2710 msgid "Is this webhook active" msgstr "" -#: common/models.py:2725 users/models.py:159 +#: common/models.py:2726 users/models.py:159 msgid "Token" msgstr "" -#: common/models.py:2726 +#: common/models.py:2727 msgid "Token for access" msgstr "" -#: common/models.py:2734 +#: common/models.py:2735 msgid "Secret" msgstr "" -#: common/models.py:2735 +#: common/models.py:2736 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2843 +#: common/models.py:2844 msgid "Message ID" msgstr "" -#: common/models.py:2844 +#: common/models.py:2845 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2852 +#: common/models.py:2853 msgid "Host" msgstr "" -#: common/models.py:2853 +#: common/models.py:2854 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2861 +#: common/models.py:2862 msgid "Header" msgstr "" -#: common/models.py:2862 +#: common/models.py:2863 msgid "Header of this message" msgstr "" -#: common/models.py:2869 +#: common/models.py:2870 msgid "Body" msgstr "" -#: common/models.py:2870 +#: common/models.py:2871 msgid "Body of this message" msgstr "" -#: common/models.py:2880 +#: common/models.py:2881 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2885 +#: common/models.py:2886 msgid "Worked on" msgstr "" -#: common/models.py:2886 +#: common/models.py:2887 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:3012 +#: common/models.py:3013 msgid "Id" msgstr "" -#: common/models.py:3014 templates/js/translated/company.js:965 +#: common/models.py:3015 templates/js/translated/company.js:965 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:3016 common/models.py:3271 company/models.py:146 +#: common/models.py:3017 common/models.py:3272 company/models.py:146 #: company/models.py:443 company/models.py:509 company/models.py:815 #: order/models.py:303 order/models.py:1378 order/models.py:1810 #: part/admin.py:55 part/models.py:1069 @@ -3853,217 +3850,217 @@ msgstr "" msgid "Link" msgstr "Bağlantı" -#: common/models.py:3018 templates/js/translated/news.js:60 +#: common/models.py:3019 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:3020 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:3021 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:103 msgid "Author" msgstr "" -#: common/models.py:3022 templates/js/translated/news.js:52 +#: common/models.py:3023 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:3025 +#: common/models.py:3026 msgid "Read" msgstr "" -#: common/models.py:3025 +#: common/models.py:3026 msgid "Was this news item read?" msgstr "" -#: common/models.py:3042 company/models.py:156 part/models.py:1079 +#: common/models.py:3043 company/models.py:156 part/models.py:1079 #: 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.html:35 -#: stock/templates/stock/item_base.html:133 templates/503.html:31 +#: stock/templates/stock/item_base.html:129 templates/503.html:31 #: templates/hover_image.html:7 templates/hover_image.html:9 #: templates/modals.html:6 msgid "Image" msgstr "Resim" -#: common/models.py:3042 +#: common/models.py:3043 msgid "Image file" msgstr "" -#: common/models.py:3054 common/models.py:3255 +#: common/models.py:3055 common/models.py:3256 msgid "Target model type for this image" msgstr "" -#: common/models.py:3058 +#: common/models.py:3059 msgid "Target model ID for this image" msgstr "" -#: common/models.py:3080 +#: common/models.py:3081 msgid "Custom Unit" msgstr "" -#: common/models.py:3098 +#: common/models.py:3099 msgid "Unit symbol must be unique" msgstr "" -#: common/models.py:3113 +#: common/models.py:3114 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:3132 +#: common/models.py:3133 msgid "Unit name" msgstr "" -#: common/models.py:3139 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3140 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:3140 +#: common/models.py:3141 msgid "Optional unit symbol" msgstr "" -#: common/models.py:3146 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3147 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:3147 +#: common/models.py:3148 msgid "Unit definition" msgstr "" -#: common/models.py:3205 common/models.py:3262 stock/models.py:2552 +#: common/models.py:3206 common/models.py:3263 stock/models.py:2547 #: stock/serializers.py:244 templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:345 msgid "Attachment" msgstr "Ek" -#: common/models.py:3217 +#: common/models.py:3218 msgid "Missing file" msgstr "Eksik dosya" -#: common/models.py:3218 +#: common/models.py:3219 msgid "Missing external link" msgstr "Bozuk dış bağlantı" -#: common/models.py:3263 +#: common/models.py:3264 msgid "Select file to attach" msgstr "Eklenecek dosyayı seç" -#: common/models.py:3278 templates/js/translated/attachment.js:120 +#: common/models.py:3279 templates/js/translated/attachment.js:120 #: templates/js/translated/attachment.js:360 msgid "Comment" msgstr "Yorum" -#: common/models.py:3279 +#: common/models.py:3280 msgid "Attachment comment" msgstr "" -#: common/models.py:3295 +#: common/models.py:3296 msgid "Upload date" msgstr "" -#: common/models.py:3296 +#: common/models.py:3297 msgid "Date the file was uploaded" msgstr "" -#: common/models.py:3300 +#: common/models.py:3301 msgid "File size" msgstr "" -#: common/models.py:3300 +#: common/models.py:3301 msgid "File size in bytes" msgstr "" -#: common/models.py:3338 common/serializers.py:588 +#: common/models.py:3339 common/serializers.py:604 msgid "Invalid model type specified for attachment" msgstr "" -#: common/models.py:3347 plugin/models.py:43 users/models.py:100 +#: common/models.py:3348 plugin/models.py:43 users/models.py:100 msgid "Key" msgstr "" -#: common/models.py:3348 +#: common/models.py:3349 msgid "Value that will be saved in the models database" msgstr "" -#: common/models.py:3351 +#: common/models.py:3352 msgid "Name of the state" msgstr "" -#: common/models.py:3355 +#: common/models.py:3356 msgid "Label" msgstr "" -#: common/models.py:3356 +#: common/models.py:3357 msgid "Label that will be displayed in the frontend" msgstr "" -#: common/models.py:3362 +#: common/models.py:3363 msgid "Color" msgstr "" -#: common/models.py:3363 +#: common/models.py:3364 msgid "Color that will be displayed in the frontend" msgstr "" -#: common/models.py:3366 +#: common/models.py:3367 msgid "Logical Key" msgstr "" -#: common/models.py:3368 +#: common/models.py:3369 msgid "State logical key that is equal to this custom state in business logic" msgstr "" -#: common/models.py:3376 +#: common/models.py:3377 msgid "Model" msgstr "" -#: common/models.py:3377 +#: common/models.py:3378 msgid "Model this state is associated with" msgstr "" -#: common/models.py:3381 +#: common/models.py:3382 msgid "Reference Status Set" msgstr "" -#: common/models.py:3382 +#: common/models.py:3383 msgid "Status set that is extended with this custom state" msgstr "" -#: common/models.py:3388 +#: common/models.py:3389 msgid "Custom State" msgstr "" -#: common/models.py:3389 +#: common/models.py:3390 msgid "Custom States" msgstr "" -#: common/models.py:3404 +#: common/models.py:3405 msgid "Model must be selected" msgstr "" -#: common/models.py:3407 +#: common/models.py:3408 msgid "Key must be selected" msgstr "" -#: common/models.py:3410 +#: common/models.py:3411 msgid "Logical key must be selected" msgstr "" -#: common/models.py:3414 +#: common/models.py:3415 msgid "Key must be different from logical key" msgstr "" -#: common/models.py:3418 +#: common/models.py:3419 msgid "Reference status must be selected" msgstr "" -#: common/models.py:3430 +#: common/models.py:3431 msgid "Reference status set not found" msgstr "" -#: common/models.py:3436 +#: common/models.py:3437 msgid "Key must be different from the logical keys of the reference status" msgstr "" -#: common/models.py:3442 +#: common/models.py:3443 msgid "Logical key must be in the logical keys of the reference status" msgstr "" @@ -4101,75 +4098,75 @@ msgstr "" msgid "Error raised by plugin" msgstr "" -#: common/serializers.py:402 +#: common/serializers.py:418 msgid "Is Running" msgstr "" -#: common/serializers.py:408 +#: common/serializers.py:424 msgid "Pending Tasks" msgstr "" -#: common/serializers.py:414 +#: common/serializers.py:430 msgid "Scheduled Tasks" msgstr "" -#: common/serializers.py:420 +#: common/serializers.py:436 msgid "Failed Tasks" msgstr "" -#: common/serializers.py:435 +#: common/serializers.py:451 msgid "Task ID" msgstr "" -#: common/serializers.py:435 +#: common/serializers.py:451 msgid "Unique task ID" msgstr "" -#: common/serializers.py:437 +#: common/serializers.py:453 msgid "Lock" msgstr "" -#: common/serializers.py:437 +#: common/serializers.py:453 msgid "Lock time" msgstr "" -#: common/serializers.py:439 +#: common/serializers.py:455 msgid "Task name" msgstr "" -#: common/serializers.py:441 +#: common/serializers.py:457 msgid "Function" msgstr "" -#: common/serializers.py:441 +#: common/serializers.py:457 msgid "Function name" msgstr "" -#: common/serializers.py:443 +#: common/serializers.py:459 msgid "Arguments" msgstr "" -#: common/serializers.py:443 +#: common/serializers.py:459 msgid "Task arguments" msgstr "" -#: common/serializers.py:446 +#: common/serializers.py:462 msgid "Keyword Arguments" msgstr "" -#: common/serializers.py:446 +#: common/serializers.py:462 msgid "Task keyword arguments" msgstr "" -#: common/serializers.py:556 +#: common/serializers.py:572 msgid "Filename" msgstr "Dosya adı" -#: common/serializers.py:563 report/api.py:100 report/serializers.py:53 +#: common/serializers.py:579 report/api.py:100 report/serializers.py:54 msgid "Model Type" msgstr "" -#: common/serializers.py:591 +#: common/serializers.py:607 msgid "User does not have permission to create or edit attachments for this model" msgstr "" @@ -4447,12 +4444,12 @@ msgstr "" #: company/models.py:467 company/models.py:584 company/models.py:808 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 -#: stock/templates/stock/item_base.html:217 +#: stock/templates/stock/item_base.html:213 msgid "Manufacturer Part" msgstr "" #: company/models.py:484 company/models.py:776 stock/models.py:791 -#: stock/serializers.py:452 stock/templates/stock/item_base.html:142 +#: stock/serializers.py:452 stock/templates/stock/item_base.html:138 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "Temel Parça" @@ -4463,8 +4460,8 @@ msgstr "Parça seçin" #: company/models.py:495 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:567 -#: stock/templates/stock/item_base.html:207 +#: company/templates/company/supplier_part.html:145 part/serializers.py:565 +#: stock/templates/stock/item_base.html:203 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 #: templates/js/translated/company.js:1296 @@ -4479,7 +4476,7 @@ msgstr "Üretici seçin" #: company/models.py:502 company/templates/company/manufacturer_part.html:101 #: company/templates/company/supplier_part.html:153 order/serializers.py:557 -#: part/serializers.py:577 templates/js/translated/company.js:351 +#: part/serializers.py:575 templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 #: templates/js/translated/company.js:1630 templates/js/translated/part.js:1807 @@ -4505,7 +4502,7 @@ msgid "Parameter name" msgstr "Parametre adı" #: company/models.py:597 report/templates/report/inventree_test_report.html:104 -#: stock/models.py:2544 templates/js/translated/company.js:1166 +#: stock/models.py:2539 templates/js/translated/company.js:1166 #: templates/js/translated/company.js:1419 templates/js/translated/part.js:1499 #: templates/js/translated/stock.js:1607 msgid "Value" @@ -4516,7 +4513,7 @@ msgid "Parameter value" msgstr "Parametre değeri" #: company/models.py:605 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1159 part/models.py:3783 +#: part/admin.py:57 part/models.py:1159 part/models.py:3770 #: part/templates/part/part_base.html:300 #: templates/js/translated/company.js:1425 templates/js/translated/part.js:1518 #: templates/js/translated/part.js:1622 templates/js/translated/part.js:2376 @@ -4530,7 +4527,7 @@ msgstr "" #: company/models.py:659 company/templates/company/supplier_part.html:7 #: company/templates/company/supplier_part.html:24 order/api.py:440 #: order/serializers.py:492 stock/models.py:802 -#: stock/templates/stock/item_base.html:233 +#: stock/templates/stock/item_base.html:229 #: templates/js/translated/build.js:1055 #: templates/js/translated/company.js:1600 #: templates/js/translated/purchase_order.js:752 @@ -4553,9 +4550,9 @@ msgstr "" #: company/models.py:786 company/templates/company/company_base.html:87 #: company/templates/company/supplier_part.html:129 order/models.py:492 #: order/templates/order/order_base.html:141 part/bom.py:279 part/bom.py:314 -#: part/serializers.py:551 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:549 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 -#: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 +#: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:220 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:511 @@ -4570,7 +4567,7 @@ msgstr "Tedarikçi" msgid "Select supplier" msgstr "Tedarikçi seçin" -#: company/models.py:793 part/serializers.py:562 +#: company/models.py:793 part/serializers.py:560 msgid "Supplier stock keeping unit" msgstr "" @@ -4591,7 +4588,7 @@ msgid "Supplier part description" msgstr "" #: company/models.py:832 company/templates/company/supplier_part.html:187 -#: order/serializers.py:699 part/admin.py:415 part/models.py:4301 +#: order/serializers.py:699 part/admin.py:415 part/models.py:4288 #: part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 @@ -4603,11 +4600,11 @@ msgstr "" msgid "Note" msgstr "Not" -#: company/models.py:841 part/models.py:2129 +#: company/models.py:841 part/models.py:2128 msgid "base cost" msgstr "temel maliyet" -#: company/models.py:842 part/models.py:2130 +#: company/models.py:842 part/models.py:2129 msgid "Minimum charge (e.g. stocking fee)" msgstr "" @@ -4629,7 +4626,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:876 part/models.py:2136 +#: company/models.py:876 part/models.py:2135 msgid "multiple" msgstr "çoklu" @@ -4661,7 +4658,7 @@ msgstr "" msgid "Company Name" msgstr "" -#: company/serializers.py:397 part/admin.py:126 part/serializers.py:919 +#: company/serializers.py:397 part/admin.py:126 part/serializers.py:917 #: part/templates/part/part_base.html:197 #: templates/js/translated/company.js:1689 #: templates/js/translated/table_filters.js:362 @@ -4735,7 +4732,7 @@ msgstr "" #: order/models.py:2140 order/templates/order/return_order_base.html:134 #: order/templates/order/sales_order_base.html:151 stock/models.py:844 #: stock/models.py:845 stock/serializers.py:1336 -#: stock/templates/stock/item_base.html:405 +#: stock/templates/stock/item_base.html:401 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 #: templates/js/translated/return_order.js:295 @@ -4939,7 +4936,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:925 +#: part/admin.py:122 part/serializers.py:923 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -5030,7 +5027,7 @@ msgid "No supplier information available" msgstr "" #: company/templates/company/supplier_part.html:139 order/serializers.py:554 -#: part/bom.py:286 part/bom.py:315 part/serializers.py:561 +#: part/bom.py:286 part/bom.py:315 part/serializers.py:559 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1793 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1920 @@ -5084,7 +5081,7 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:923 part/stocktake.py:223 +#: part/serializers.py:921 part/stocktake.py:223 #: part/templates/part/category.html:180 #: part/templates/part/category_sidebar.html:17 stock/admin.py:68 #: stock/serializers.py:1021 stock/serializers.py:1199 @@ -5215,7 +5212,7 @@ msgstr "" msgid "Original row data" msgstr "" -#: importer/models.py:504 part/models.py:3965 +#: importer/models.py:504 part/models.py:3952 msgid "Data" msgstr "" @@ -5473,7 +5470,7 @@ msgstr "" #: order/models.py:1592 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_purchase_order_report.html:14 -#: stock/serializers.py:121 stock/templates/stock/item_base.html:176 +#: stock/serializers.py:121 stock/templates/stock/item_base.html:172 #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/part.js:1752 templates/js/translated/pricing.js:804 #: templates/js/translated/purchase_order.js:168 @@ -5694,7 +5691,7 @@ msgid "Number of items received" msgstr "" #: order/models.py:1513 stock/models.py:963 stock/serializers.py:617 -#: stock/templates/stock/item_base.html:183 +#: stock/templates/stock/item_base.html:179 #: templates/js/translated/stock.js:2397 msgid "Purchase Price" msgstr "" @@ -5768,7 +5765,7 @@ msgid "User who checked this shipment" msgstr "" #: order/models.py:1788 order/models.py:2011 order/serializers.py:1479 -#: order/serializers.py:1589 templates/js/translated/model_renderers.js:455 +#: order/serializers.py:1597 templates/js/translated/model_renderers.js:455 msgid "Shipment" msgstr "" @@ -5982,7 +5979,7 @@ msgstr "" msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:656 order/serializers.py:779 order/serializers.py:1790 +#: order/serializers.py:656 order/serializers.py:779 order/serializers.py:1798 msgid "Select destination location for received items" msgstr "" @@ -6019,7 +6016,7 @@ msgstr "" msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:795 order/serializers.py:1806 +#: order/serializers.py:795 order/serializers.py:1814 msgid "Line items must be provided" msgstr "" @@ -6051,39 +6048,39 @@ msgstr "" msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1491 order/serializers.py:1597 +#: order/serializers.py:1491 order/serializers.py:1605 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1494 order/serializers.py:1600 +#: order/serializers.py:1494 order/serializers.py:1608 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1541 +#: order/serializers.py:1549 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1548 -msgid "The following serial numbers are already allocated" +#: order/serializers.py:1556 +msgid "The following serial numbers are unavailable" msgstr "" -#: order/serializers.py:1760 +#: order/serializers.py:1768 msgid "Return order line item" msgstr "" -#: order/serializers.py:1766 +#: order/serializers.py:1774 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1769 +#: order/serializers.py:1777 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1798 +#: order/serializers.py:1806 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1881 +#: order/serializers.py:1889 msgid "Line price currency" msgstr "" @@ -6510,7 +6507,7 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:48 part/models.py:1044 part/serializers.py:908 +#: part/admin.py:48 part/models.py:1044 part/serializers.py:906 #: part/templates/part/part_base.html:276 #: report/templates/report/inventree_stock_location_report.html:103 #: templates/js/translated/part.js:1233 templates/js/translated/part.js:2347 @@ -6537,7 +6534,7 @@ msgstr "" msgid "Category ID" msgstr "" -#: part/admin.py:67 part/admin.py:304 part/serializers.py:893 +#: part/admin.py:67 part/admin.py:304 part/serializers.py:891 #: part/stocktake.py:222 msgid "Category Name" msgstr "" @@ -6562,18 +6559,18 @@ msgstr "Minimum Stok" msgid "Used In" msgstr "" -#: part/admin.py:150 part/serializers.py:918 +#: part/admin.py:150 part/serializers.py:916 #: part/templates/part/part_base.html:248 stock/admin.py:236 #: templates/js/translated/part.js:717 templates/js/translated/part.js:2159 msgid "Building" msgstr "" -#: part/admin.py:155 part/models.py:3214 part/models.py:3228 +#: part/admin.py:155 part/models.py:3201 part/models.py:3215 #: templates/js/translated/part.js:976 msgid "Minimum Cost" msgstr "" -#: part/admin.py:158 part/models.py:3221 part/models.py:3235 +#: part/admin.py:158 part/models.py:3208 part/models.py:3222 #: templates/js/translated/part.js:986 msgid "Maximum Cost" msgstr "" @@ -6592,7 +6589,7 @@ msgid "Category Path" msgstr "" #: part/admin.py:325 part/models.py:420 part/serializers.py:130 -#: part/serializers.py:290 part/serializers.py:428 +#: part/serializers.py:290 part/serializers.py:426 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:20 #: part/templates/part/category.html:138 part/templates/part/category.html:158 #: part/templates/part/category_sidebar.html:9 @@ -6619,13 +6616,13 @@ msgstr "" msgid "Part Revision" msgstr "" -#: part/admin.py:418 part/serializers.py:1367 +#: part/admin.py:418 part/serializers.py:1365 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:423 part/serializers.py:1382 +#: part/admin.py:423 part/serializers.py:1380 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -6719,8 +6716,8 @@ msgstr "" msgid "BOM Valid" msgstr "" -#: part/api.py:1520 part/models.py:1036 part/models.py:3501 part/models.py:4060 -#: part/serializers.py:443 part/serializers.py:1223 +#: part/api.py:1520 part/models.py:1036 part/models.py:3488 part/models.py:4047 +#: part/serializers.py:441 part/serializers.py:1221 #: part/templates/part/part_base.html:267 stock/api.py:780 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 @@ -6746,7 +6743,7 @@ msgstr "" msgid "Default Location" msgstr "Varsayılan Konum" -#: part/bom.py:184 part/serializers.py:926 +#: part/bom.py:184 part/serializers.py:924 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -6755,7 +6752,7 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:89 part/models.py:4061 part/templates/part/category.html:16 +#: part/models.py:89 part/models.py:4048 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -6878,7 +6875,7 @@ msgstr "" msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:995 part/models.py:4116 +#: part/models.py:995 part/models.py:4103 msgid "Part name" msgstr "Parça adı" @@ -6906,7 +6903,7 @@ msgstr "" msgid "Part category" msgstr "" -#: part/models.py:1052 part/serializers.py:360 +#: part/models.py:1052 msgid "Part revision or version number" msgstr "Parça revizyon veya versiyon numarası" @@ -7012,164 +7009,164 @@ msgid "Owner responsible for this part" msgstr "" #: part/models.py:1264 part/templates/part/part_base.html:355 -#: stock/templates/stock/item_base.html:451 +#: stock/templates/stock/item_base.html:447 #: templates/js/translated/part.js:2490 msgid "Last Stocktake" msgstr "" -#: part/models.py:2137 +#: part/models.py:2136 msgid "Sell multiple" msgstr "" -#: part/models.py:3128 +#: part/models.py:3115 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3144 +#: part/models.py:3131 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3145 +#: part/models.py:3132 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3151 +#: part/models.py:3138 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3152 +#: part/models.py:3139 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3158 +#: part/models.py:3145 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3159 +#: part/models.py:3146 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3165 +#: part/models.py:3152 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3166 +#: part/models.py:3153 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3172 +#: part/models.py:3159 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3173 +#: part/models.py:3160 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3179 +#: part/models.py:3166 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3180 +#: part/models.py:3167 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3186 +#: part/models.py:3173 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3187 +#: part/models.py:3174 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3193 +#: part/models.py:3180 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3194 +#: part/models.py:3181 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3200 +#: part/models.py:3187 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3201 +#: part/models.py:3188 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3207 +#: part/models.py:3194 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3208 +#: part/models.py:3195 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3215 +#: part/models.py:3202 msgid "Override minimum cost" msgstr "" -#: part/models.py:3222 +#: part/models.py:3209 msgid "Override maximum cost" msgstr "" -#: part/models.py:3229 +#: part/models.py:3216 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3236 +#: part/models.py:3223 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3242 +#: part/models.py:3229 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3243 +#: part/models.py:3230 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3249 +#: part/models.py:3236 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3250 +#: part/models.py:3237 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3256 +#: part/models.py:3243 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3257 +#: part/models.py:3244 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3263 +#: part/models.py:3250 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3264 +#: part/models.py:3251 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3283 +#: part/models.py:3270 msgid "Part for stocktake" msgstr "" -#: part/models.py:3288 +#: part/models.py:3275 msgid "Item Count" msgstr "" -#: part/models.py:3289 +#: part/models.py:3276 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3297 +#: part/models.py:3284 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3301 part/models.py:3384 +#: part/models.py:3288 part/models.py:3371 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -7181,363 +7178,363 @@ msgstr "" msgid "Date" msgstr "" -#: part/models.py:3302 +#: part/models.py:3289 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3310 +#: part/models.py:3297 msgid "Additional notes" msgstr "" -#: part/models.py:3320 +#: part/models.py:3307 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3326 +#: part/models.py:3313 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3327 +#: part/models.py:3314 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3333 +#: part/models.py:3320 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3334 +#: part/models.py:3321 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3390 templates/InvenTree/settings/settings_staff_js.html:532 +#: part/models.py:3377 templates/InvenTree/settings/settings_staff_js.html:532 msgid "Report" msgstr "" -#: part/models.py:3391 +#: part/models.py:3378 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3396 templates/InvenTree/settings/settings_staff_js.html:539 +#: part/models.py:3383 templates/InvenTree/settings/settings_staff_js.html:539 msgid "Part Count" msgstr "" -#: part/models.py:3397 +#: part/models.py:3384 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3407 +#: part/models.py:3394 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3417 +#: part/models.py:3404 msgid "Part Sale Price Break" msgstr "" -#: part/models.py:3529 +#: part/models.py:3516 msgid "Part Test Template" msgstr "" -#: part/models.py:3555 +#: part/models.py:3542 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3576 part/models.py:3745 +#: part/models.py:3563 part/models.py:3732 msgid "Choices must be unique" msgstr "" -#: part/models.py:3587 +#: part/models.py:3574 msgid "Test templates can only be created for testable parts" msgstr "" -#: part/models.py:3598 +#: part/models.py:3585 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3615 templates/js/translated/part.js:2898 +#: part/models.py:3602 templates/js/translated/part.js:2898 msgid "Test Name" msgstr "Test Adı" -#: part/models.py:3616 +#: part/models.py:3603 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3622 +#: part/models.py:3609 msgid "Test Key" msgstr "" -#: part/models.py:3623 +#: part/models.py:3610 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3630 +#: part/models.py:3617 msgid "Test Description" msgstr "Test Açıklaması" -#: part/models.py:3631 +#: part/models.py:3618 msgid "Enter description for this test" msgstr "" -#: part/models.py:3635 report/models.py:208 +#: part/models.py:3622 report/models.py:216 #: templates/js/translated/part.js:2919 #: templates/js/translated/table_filters.js:502 msgid "Enabled" msgstr "Etkin" -#: part/models.py:3635 +#: part/models.py:3622 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3640 templates/js/translated/part.js:2927 +#: part/models.py:3627 templates/js/translated/part.js:2927 #: templates/js/translated/table_filters.js:498 msgid "Required" msgstr "Gerekli" -#: part/models.py:3641 +#: part/models.py:3628 msgid "Is this test required to pass?" msgstr "Testi geçmesi için bu gerekli mi?" -#: part/models.py:3646 templates/js/translated/part.js:2935 +#: part/models.py:3633 templates/js/translated/part.js:2935 msgid "Requires Value" msgstr "" -#: part/models.py:3647 +#: part/models.py:3634 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3652 templates/js/translated/part.js:2942 +#: part/models.py:3639 templates/js/translated/part.js:2942 msgid "Requires Attachment" msgstr "" -#: part/models.py:3654 +#: part/models.py:3641 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3660 part/models.py:3804 templates/js/translated/part.js:1643 +#: part/models.py:3647 part/models.py:3791 templates/js/translated/part.js:1643 msgid "Choices" msgstr "" -#: part/models.py:3661 +#: part/models.py:3648 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3693 +#: part/models.py:3680 msgid "Part Parameter Template" msgstr "" -#: part/models.py:3720 +#: part/models.py:3707 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3725 +#: part/models.py:3712 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3762 +#: part/models.py:3749 msgid "Parameter template name must be unique" msgstr "Parametre şablon adı benzersiz olmalıdır" -#: part/models.py:3777 +#: part/models.py:3764 msgid "Parameter Name" msgstr "" -#: part/models.py:3784 +#: part/models.py:3771 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3792 +#: part/models.py:3779 msgid "Parameter description" msgstr "" -#: part/models.py:3798 templates/js/translated/part.js:1634 +#: part/models.py:3785 templates/js/translated/part.js:1634 #: templates/js/translated/table_filters.js:837 msgid "Checkbox" msgstr "" -#: part/models.py:3799 +#: part/models.py:3786 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3805 +#: part/models.py:3792 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3839 +#: part/models.py:3826 msgid "Part Parameter" msgstr "" -#: part/models.py:3865 +#: part/models.py:3852 msgid "Parameter cannot be modified - part is locked" msgstr "" -#: part/models.py:3903 +#: part/models.py:3890 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3952 +#: part/models.py:3939 msgid "Parent Part" msgstr "" -#: part/models.py:3960 part/models.py:4068 part/models.py:4069 +#: part/models.py:3947 part/models.py:4055 part/models.py:4056 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "Parametre Şablonu" -#: part/models.py:3966 +#: part/models.py:3953 msgid "Parameter Value" msgstr "" -#: part/models.py:4016 +#: part/models.py:4003 msgid "Part Category Parameter Template" msgstr "" -#: part/models.py:4075 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:4062 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:4076 +#: part/models.py:4063 msgid "Default Parameter Value" msgstr "" -#: part/models.py:4114 +#: part/models.py:4101 msgid "Part ID or part name" msgstr "" -#: part/models.py:4115 +#: part/models.py:4102 msgid "Unique part ID value" msgstr "" -#: part/models.py:4117 +#: part/models.py:4104 msgid "Part IPN value" msgstr "" -#: part/models.py:4118 +#: part/models.py:4105 msgid "Level" msgstr "" -#: part/models.py:4118 +#: part/models.py:4105 msgid "BOM level" msgstr "" -#: part/models.py:4228 +#: part/models.py:4215 msgid "BOM item cannot be modified - assembly is locked" msgstr "" -#: part/models.py:4235 +#: part/models.py:4222 msgid "BOM item cannot be modified - variant assembly is locked" msgstr "" -#: part/models.py:4245 +#: part/models.py:4232 msgid "Select parent part" msgstr "" -#: part/models.py:4255 +#: part/models.py:4242 msgid "Sub part" msgstr "" -#: part/models.py:4256 +#: part/models.py:4243 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4267 +#: part/models.py:4254 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4273 +#: part/models.py:4260 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4279 +#: part/models.py:4266 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4286 part/templates/part/upload_bom.html:55 +#: part/models.py:4273 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4287 +#: part/models.py:4274 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4294 +#: part/models.py:4281 msgid "BOM item reference" msgstr "" -#: part/models.py:4302 +#: part/models.py:4289 msgid "BOM item notes" msgstr "" -#: part/models.py:4308 +#: part/models.py:4295 msgid "Checksum" msgstr "" -#: part/models.py:4309 +#: part/models.py:4296 msgid "BOM line checksum" msgstr "" -#: part/models.py:4314 templates/js/translated/table_filters.js:181 +#: part/models.py:4301 templates/js/translated/table_filters.js:181 msgid "Validated" msgstr "" -#: part/models.py:4315 +#: part/models.py:4302 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4320 part/templates/part/upload_bom.html:57 +#: part/models.py:4307 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:185 #: templates/js/translated/table_filters.js:218 msgid "Gets inherited" msgstr "" -#: part/models.py:4321 +#: part/models.py:4308 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:4327 +#: part/models.py:4314 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:4412 stock/models.py:689 +#: part/models.py:4399 stock/models.py:689 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4422 part/models.py:4424 +#: part/models.py:4409 part/models.py:4411 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4561 +#: part/models.py:4554 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4582 +#: part/models.py:4575 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4595 +#: part/models.py:4588 msgid "Parent BOM item" msgstr "" -#: part/models.py:4603 +#: part/models.py:4596 msgid "Substitute part" msgstr "" -#: part/models.py:4619 +#: part/models.py:4612 msgid "Part 1" msgstr "" -#: part/models.py:4627 +#: part/models.py:4620 msgid "Part 2" msgstr "" -#: part/models.py:4628 +#: part/models.py:4621 msgid "Select Related Part" msgstr "" -#: part/models.py:4647 +#: part/models.py:4640 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4652 +#: part/models.py:4645 msgid "Duplicate relationship already exists" msgstr "" @@ -7571,326 +7568,326 @@ msgstr "" msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:434 +#: part/serializers.py:432 msgid "No parts selected" msgstr "" -#: part/serializers.py:444 +#: part/serializers.py:442 msgid "Select category" msgstr "" -#: part/serializers.py:479 +#: part/serializers.py:477 msgid "Original Part" msgstr "" -#: part/serializers.py:480 +#: part/serializers.py:478 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:485 +#: part/serializers.py:483 msgid "Copy Image" msgstr "" -#: part/serializers.py:486 +#: part/serializers.py:484 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:492 part/templates/part/detail.html:293 +#: part/serializers.py:490 part/templates/part/detail.html:293 msgid "Copy BOM" msgstr "" -#: part/serializers.py:493 +#: part/serializers.py:491 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:499 +#: part/serializers.py:497 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:500 +#: part/serializers.py:498 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:506 +#: part/serializers.py:504 msgid "Copy Notes" msgstr "" -#: part/serializers.py:507 +#: part/serializers.py:505 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:525 +#: part/serializers.py:523 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:527 +#: part/serializers.py:525 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:534 +#: part/serializers.py:532 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:535 +#: part/serializers.py:533 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:552 +#: part/serializers.py:550 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:568 +#: part/serializers.py:566 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:578 +#: part/serializers.py:576 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:585 +#: part/serializers.py:583 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:594 +#: part/serializers.py:592 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:605 +#: part/serializers.py:603 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:612 +#: part/serializers.py:610 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:924 +#: part/serializers.py:922 msgid "Revisions" msgstr "" -#: part/serializers.py:929 +#: part/serializers.py:927 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:932 +#: part/serializers.py:930 msgid "Variant Stock" msgstr "" -#: part/serializers.py:962 part/templates/part/copy_part.html:9 +#: part/serializers.py:960 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:474 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:963 +#: part/serializers.py:961 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:969 templates/js/translated/part.js:103 +#: part/serializers.py:967 templates/js/translated/part.js:103 msgid "Initial Stock" msgstr "" -#: part/serializers.py:970 +#: part/serializers.py:968 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:976 +#: part/serializers.py:974 msgid "Supplier Information" msgstr "" -#: part/serializers.py:977 +#: part/serializers.py:975 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:985 +#: part/serializers.py:983 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:986 +#: part/serializers.py:984 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:991 +#: part/serializers.py:989 msgid "Existing Image" msgstr "" -#: part/serializers.py:992 +#: part/serializers.py:990 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:1009 +#: part/serializers.py:1007 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1215 +#: part/serializers.py:1213 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1225 +#: part/serializers.py:1223 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1235 +#: part/serializers.py:1233 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1241 +#: part/serializers.py:1239 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1242 +#: part/serializers.py:1240 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1247 +#: part/serializers.py:1245 msgid "Generate Report" msgstr "" -#: part/serializers.py:1248 +#: part/serializers.py:1246 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1253 +#: part/serializers.py:1251 msgid "Update Parts" msgstr "" -#: part/serializers.py:1254 +#: part/serializers.py:1252 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1262 +#: part/serializers.py:1260 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1368 +#: part/serializers.py:1366 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1375 +#: part/serializers.py:1373 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1383 +#: part/serializers.py:1381 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1390 +#: part/serializers.py:1388 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1419 +#: part/serializers.py:1417 msgid "Update" msgstr "" -#: part/serializers.py:1420 +#: part/serializers.py:1418 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1443 +#: part/serializers.py:1441 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1450 +#: part/serializers.py:1448 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1453 +#: part/serializers.py:1451 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1597 +#: part/serializers.py:1595 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1606 +#: part/serializers.py:1604 msgid "Component Name" msgstr "" -#: part/serializers.py:1609 +#: part/serializers.py:1607 msgid "Component IPN" msgstr "" -#: part/serializers.py:1612 +#: part/serializers.py:1610 msgid "Component Description" msgstr "" -#: part/serializers.py:1618 +#: part/serializers.py:1616 msgid "Select the component part" msgstr "" -#: part/serializers.py:1627 part/templates/part/part_base.html:242 +#: part/serializers.py:1625 part/templates/part/part_base.html:242 #: templates/js/translated/bom.js:1219 msgid "Can Build" msgstr "" -#: part/serializers.py:1858 +#: part/serializers.py:1856 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1866 +#: part/serializers.py:1864 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1867 +#: part/serializers.py:1865 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1872 +#: part/serializers.py:1870 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1873 +#: part/serializers.py:1871 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1878 +#: part/serializers.py:1876 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1879 +#: part/serializers.py:1877 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1884 +#: part/serializers.py:1882 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1885 +#: part/serializers.py:1883 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1922 +#: part/serializers.py:1920 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1923 +#: part/serializers.py:1921 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1955 +#: part/serializers.py:1953 msgid "No part column specified" msgstr "" -#: part/serializers.py:1999 +#: part/serializers.py:1997 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:2002 +#: part/serializers.py:2000 msgid "No matching part found" msgstr "" -#: part/serializers.py:2004 +#: part/serializers.py:2002 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:2013 +#: part/serializers.py:2011 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:2021 +#: part/serializers.py:2019 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:2044 +#: part/serializers.py:2042 msgid "At least one BOM item is required" msgstr "" @@ -8216,7 +8213,7 @@ msgid "Subscribe to notifications for this part" msgstr "" #: part/templates/part/part_base.html:52 -#: stock/templates/stock/item_base.html:62 +#: stock/templates/stock/item_base.html:61 #: stock/templates/stock/location.html:71 templates/js/translated/label.js:136 msgid "Print Label" msgstr "Etiket Yazdır" @@ -8226,7 +8223,7 @@ msgid "Show pricing information" msgstr "" #: part/templates/part/part_base.html:63 -#: stock/templates/stock/item_base.html:110 +#: stock/templates/stock/item_base.html:106 #: stock/templates/stock/location.html:80 msgid "Stock actions" msgstr "Stok işlemleri" @@ -8297,12 +8294,12 @@ msgid "Required for Orders" msgstr "" #: part/templates/part/part_base.html:225 -#: stock/templates/stock/item_base.html:388 +#: stock/templates/stock/item_base.html:384 msgid "Allocated to Build Orders" msgstr "" #: part/templates/part/part_base.html:234 -#: stock/templates/stock/item_base.html:381 +#: stock/templates/stock/item_base.html:377 msgid "Allocated to Sales Orders" msgstr "" @@ -8322,7 +8319,7 @@ msgid "Latest Serial Number" msgstr "Son Seri Numarası" #: part/templates/part/part_base.html:372 -#: stock/templates/stock/item_base.html:322 +#: stock/templates/stock/item_base.html:318 msgid "Search for serial number" msgstr "" @@ -8449,7 +8446,7 @@ msgid "Edit" msgstr "" #: part/templates/part/prices.html:28 stock/admin.py:252 -#: stock/templates/stock/item_base.html:446 +#: stock/templates/stock/item_base.html:442 #: templates/js/translated/company.js:1703 #: templates/js/translated/company.js:1713 #: templates/js/translated/stock.js:2332 @@ -8604,7 +8601,7 @@ msgstr "" msgid "Part Pricing" msgstr "" -#: plugin/api.py:172 +#: plugin/api.py:174 msgid "Plugin cannot be deleted as it is currently active" msgstr "" @@ -8940,7 +8937,7 @@ msgstr "" msgid "Print a border around each label" msgstr "" -#: plugin/builtin/labels/label_sheet.py:47 report/models.py:307 +#: plugin/builtin/labels/label_sheet.py:47 report/models.py:315 msgid "Landscape" msgstr "" @@ -9012,44 +9009,44 @@ msgstr "" msgid "The Supplier which acts as 'TME'" msgstr "" -#: plugin/installer.py:194 plugin/installer.py:274 +#: plugin/installer.py:199 plugin/installer.py:282 msgid "Only staff users can administer plugins" msgstr "" -#: plugin/installer.py:197 +#: plugin/installer.py:202 msgid "Plugin installation is disabled" msgstr "" -#: plugin/installer.py:241 +#: plugin/installer.py:246 msgid "Installed plugin successfully" msgstr "" -#: plugin/installer.py:246 +#: plugin/installer.py:251 #, python-brace-format msgid "Installed plugin into {path}" msgstr "" -#: plugin/installer.py:265 +#: plugin/installer.py:273 msgid "Plugin was not found in registry" msgstr "" -#: plugin/installer.py:268 +#: plugin/installer.py:276 msgid "Plugin is not a packaged plugin" msgstr "" -#: plugin/installer.py:271 +#: plugin/installer.py:279 msgid "Plugin package name not found" msgstr "" -#: plugin/installer.py:291 +#: plugin/installer.py:299 msgid "Plugin uninstalling is disabled" msgstr "" -#: plugin/installer.py:295 +#: plugin/installer.py:303 msgid "Plugin cannot be uninstalled as it is currently active" msgstr "" -#: plugin/installer.py:308 +#: plugin/installer.py:316 msgid "Uninstalled plugin successfully" msgstr "" @@ -9098,7 +9095,7 @@ msgstr "" msgid "Package Plugin" msgstr "" -#: plugin/models.py:220 report/models.py:474 +#: plugin/models.py:220 report/models.py:482 #: templates/InvenTree/settings/plugin_settings.html:9 #: templates/js/translated/plugin.js:51 msgid "Plugin" @@ -9167,6 +9164,38 @@ msgstr "" msgid "InvenTree Contributors" msgstr "" +#: plugin/samples/integration/user_interface_sample.py:22 +msgid "Enable Part Panels" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:23 +msgid "Enable custom panels for Part views" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:28 +msgid "Enable Purchase Order Panels" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:29 +msgid "Enable custom panels for Purchase Order views" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:34 +msgid "Enable Broken Panels" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:35 +msgid "Enable broken panels for testing" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:40 +msgid "Enable Dynamic Panel" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:41 +msgid "Enable dynamic panels for testing" +msgstr "" + #: plugin/serializers.py:81 msgid "Source URL" msgstr "" @@ -9245,12 +9274,36 @@ msgstr "" msgid "Delete the plugin configuration from the database" msgstr "" +#: plugin/serializers.py:324 +msgid "Plugin Key" +msgstr "" + +#: plugin/serializers.py:328 +msgid "Panel Name" +msgstr "" + +#: plugin/serializers.py:332 +msgid "Panel Title" +msgstr "" + +#: plugin/serializers.py:337 +msgid "Panel Icon" +msgstr "" + +#: plugin/serializers.py:341 +msgid "Panel Content (HTML)" +msgstr "" + +#: plugin/serializers.py:345 +msgid "Panel Source (javascript)" +msgstr "" + #: report/api.py:88 msgid "No valid objects provided to template" msgstr "Şablon için geçerli bir nesne sağlanmadı" -#: report/api.py:103 report/models.py:438 report/serializers.py:98 -#: report/serializers.py:148 templates/js/translated/purchase_order.js:1817 +#: report/api.py:103 report/models.py:446 report/serializers.py:99 +#: report/serializers.py:149 templates/js/translated/purchase_order.js:1817 #: templates/js/translated/return_order.js:353 #: templates/js/translated/sales_order.js:887 #: templates/js/translated/sales_order.js:1047 @@ -9281,7 +9334,11 @@ msgstr "" msgid "Error printing label" msgstr "" -#: report/api.py:375 report/api.py:411 +#: report/api.py:358 +msgid "Report saved at time of printing" +msgstr "" + +#: report/api.py:384 report/api.py:420 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" @@ -9318,135 +9375,143 @@ msgstr "" msgid "Revision number (auto-increments)" msgstr "" -#: report/models.py:202 +#: report/models.py:168 +msgid "Attach to Model on Print" +msgstr "" + +#: report/models.py:170 +msgid "Save report output as an attachment against linked model instance when printing" +msgstr "" + +#: report/models.py:210 msgid "Filename Pattern" msgstr "Dosya Adı Deseni" -#: report/models.py:203 +#: report/models.py:211 msgid "Pattern for generating filenames" msgstr "" -#: report/models.py:208 +#: report/models.py:216 msgid "Template is enabled" msgstr "" -#: report/models.py:214 +#: report/models.py:222 msgid "Target model type for template" msgstr "" -#: report/models.py:234 +#: report/models.py:242 msgid "Filters" msgstr "Filtreler" -#: report/models.py:235 +#: report/models.py:243 msgid "Template query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:294 report/models.py:361 +#: report/models.py:302 report/models.py:369 msgid "Template file" msgstr "" -#: report/models.py:302 +#: report/models.py:310 msgid "Page size for PDF reports" msgstr "" -#: report/models.py:308 +#: report/models.py:316 msgid "Render report in landscape orientation" msgstr "" -#: report/models.py:367 +#: report/models.py:375 msgid "Width [mm]" msgstr "Genişlik [mm]" -#: report/models.py:368 +#: report/models.py:376 msgid "Label width, specified in mm" msgstr "Etiket genişliği mm olarak belirtilmeli" -#: report/models.py:374 +#: report/models.py:382 msgid "Height [mm]" msgstr "Yükseklik [mm]" -#: report/models.py:375 +#: report/models.py:383 msgid "Label height, specified in mm" msgstr "Etiket yüksekliği mm olarak belirtilmeli" -#: report/models.py:438 +#: report/models.py:446 msgid "Number of items to process" msgstr "" -#: report/models.py:444 +#: report/models.py:452 msgid "Report generation is complete" msgstr "" -#: report/models.py:448 templates/js/translated/build.js:2352 +#: report/models.py:456 templates/js/translated/build.js:2352 msgid "Progress" msgstr "" -#: report/models.py:448 +#: report/models.py:456 msgid "Report generation progress" msgstr "" -#: report/models.py:456 +#: report/models.py:464 msgid "Report Template" msgstr "" -#: report/models.py:463 report/models.py:486 +#: report/models.py:471 report/models.py:494 msgid "Output File" msgstr "" -#: report/models.py:464 report/models.py:487 +#: report/models.py:472 report/models.py:495 msgid "Generated output file" msgstr "" -#: report/models.py:475 +#: report/models.py:483 msgid "Label output plugin" msgstr "" -#: report/models.py:479 +#: report/models.py:487 msgid "Label Template" msgstr "" -#: report/models.py:502 +#: report/models.py:510 msgid "Snippet" msgstr "" -#: report/models.py:503 +#: report/models.py:511 msgid "Report snippet file" msgstr "" -#: report/models.py:510 +#: report/models.py:518 msgid "Snippet file description" msgstr "" -#: report/models.py:528 +#: report/models.py:536 msgid "Asset" msgstr "" -#: report/models.py:529 +#: report/models.py:537 msgid "Report asset file" msgstr "" -#: report/models.py:536 +#: report/models.py:544 msgid "Asset file description" msgstr "" -#: report/serializers.py:91 +#: report/serializers.py:92 msgid "Select report template" msgstr "" -#: report/serializers.py:99 report/serializers.py:149 +#: report/serializers.py:100 report/serializers.py:150 msgid "List of item primary keys to include in the report" msgstr "" -#: report/serializers.py:132 +#: report/serializers.py:133 msgid "Select label template" msgstr "" -#: report/serializers.py:140 +#: report/serializers.py:141 msgid "Printing Plugin" msgstr "" -#: report/serializers.py:141 +#: report/serializers.py:142 msgid "Select plugin to use for label printing" msgstr "" @@ -9517,7 +9582,7 @@ msgstr "" msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report.html:103 stock/models.py:2538 +#: report/templates/report/inventree_test_report.html:103 stock/models.py:2533 msgid "Result" msgstr "" @@ -9598,7 +9663,7 @@ msgid "Customer ID" msgstr "" #: stock/admin.py:206 stock/models.py:829 -#: stock/templates/stock/item_base.html:354 +#: stock/templates/stock/item_base.html:350 msgid "Installed In" msgstr "" @@ -9623,7 +9688,7 @@ msgid "Delete on Deplete" msgstr "" #: stock/admin.py:261 stock/models.py:923 -#: stock/templates/stock/item_base.html:433 +#: stock/templates/stock/item_base.html:429 #: templates/js/translated/stock.js:2316 users/models.py:124 msgid "Expiry Date" msgstr "" @@ -9665,7 +9730,7 @@ msgid "Expiry date after" msgstr "" #: stock/api.py:839 stock/serializers.py:611 -#: stock/templates/stock/item_base.html:439 +#: stock/templates/stock/item_base.html:435 #: templates/js/translated/table_filters.js:448 msgid "Stale" msgstr "" @@ -9715,7 +9780,7 @@ msgid "Stock Locations" msgstr "Stok Konumları" #: stock/models.py:185 stock/models.py:972 -#: stock/templates/stock/item_base.html:247 +#: stock/templates/stock/item_base.html:243 msgid "Owner" msgstr "" @@ -9826,7 +9891,7 @@ msgstr "" msgid "Build for this stock item" msgstr "" -#: stock/models.py:892 stock/templates/stock/item_base.html:363 +#: stock/models.py:892 stock/templates/stock/item_base.html:359 msgid "Consumed By" msgstr "" @@ -9891,7 +9956,7 @@ msgstr "Miktar seri numaları ile eşleşmiyor" msgid "Serial numbers already exist" msgstr "Seri numaraları zaten mevcut" -#: stock/models.py:1636 +#: stock/models.py:1636 stock/models.py:2436 msgid "Test template does not exist" msgstr "" @@ -9939,67 +10004,67 @@ msgstr "" msgid "StockItem cannot be moved as it is not in stock" msgstr "Stok kalemi stokta olmadığı için taşınamaz" -#: stock/models.py:2337 +#: stock/models.py:2335 msgid "Stock Item Tracking" msgstr "" -#: stock/models.py:2370 +#: stock/models.py:2368 msgid "Entry notes" msgstr "" -#: stock/models.py:2410 +#: stock/models.py:2408 msgid "Stock Item Test Result" msgstr "" -#: stock/models.py:2443 +#: stock/models.py:2439 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2448 +#: stock/models.py:2443 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2453 +#: stock/models.py:2448 msgid "Invalid value for this test" msgstr "" -#: stock/models.py:2538 +#: stock/models.py:2533 msgid "Test result" msgstr "" -#: stock/models.py:2545 +#: stock/models.py:2540 msgid "Test output value" msgstr "" -#: stock/models.py:2553 stock/serializers.py:245 +#: stock/models.py:2548 stock/serializers.py:245 msgid "Test result attachment" msgstr "" -#: stock/models.py:2557 +#: stock/models.py:2552 msgid "Test notes" msgstr "" -#: stock/models.py:2565 templates/js/translated/stock.js:1633 +#: stock/models.py:2560 templates/js/translated/stock.js:1633 msgid "Test station" msgstr "" -#: stock/models.py:2566 +#: stock/models.py:2561 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2572 +#: stock/models.py:2567 msgid "Started" msgstr "" -#: stock/models.py:2573 +#: stock/models.py:2568 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2579 +#: stock/models.py:2574 msgid "Finished" msgstr "" -#: stock/models.py:2580 +#: stock/models.py:2575 msgid "The timestamp of the test finish" msgstr "" @@ -10059,7 +10124,7 @@ msgstr "" msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:459 stock/templates/stock/item_base.html:193 +#: stock/serializers.py:459 stock/templates/stock/item_base.html:189 msgid "Parent Item" msgstr "" @@ -10071,7 +10136,7 @@ msgstr "" msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:603 stock/templates/stock/item_base.html:437 +#: stock/serializers.py:603 stock/templates/stock/item_base.html:433 #: templates/js/translated/table_filters.js:442 users/models.py:174 msgid "Expired" msgstr "" @@ -10410,7 +10475,7 @@ msgstr "" msgid "Test Data" msgstr "" -#: stock/templates/stock/item.html:85 stock/templates/stock/item_base.html:65 +#: stock/templates/stock/item.html:85 msgid "Test Report" msgstr "" @@ -10450,200 +10515,204 @@ msgstr "" msgid "Scan to Location" msgstr "Konuma Tara" -#: stock/templates/stock/item_base.html:59 +#: stock/templates/stock/item_base.html:58 #: stock/templates/stock/location.html:67 #: templates/js/translated/filters.js:434 msgid "Printing actions" msgstr "Yazdırma işlemleri" -#: stock/templates/stock/item_base.html:75 +#: stock/templates/stock/item_base.html:63 templates/js/translated/report.js:49 +msgid "Print Report" +msgstr "" + +#: stock/templates/stock/item_base.html:71 msgid "Stock adjustment actions" msgstr "Stok ayarlama işlemleri" -#: stock/templates/stock/item_base.html:79 +#: stock/templates/stock/item_base.html:75 #: stock/templates/stock/location.html:87 templates/js/translated/stock.js:1909 msgid "Count stock" msgstr "" -#: stock/templates/stock/item_base.html:81 +#: stock/templates/stock/item_base.html:77 #: templates/js/translated/stock.js:1891 msgid "Add stock" msgstr "" -#: stock/templates/stock/item_base.html:82 +#: stock/templates/stock/item_base.html:78 #: templates/js/translated/stock.js:1900 msgid "Remove stock" msgstr "" -#: stock/templates/stock/item_base.html:85 +#: stock/templates/stock/item_base.html:81 msgid "Serialize stock" msgstr "Stoku seri numarala" -#: stock/templates/stock/item_base.html:88 +#: stock/templates/stock/item_base.html:84 #: stock/templates/stock/location.html:93 templates/js/translated/stock.js:1918 msgid "Transfer stock" msgstr "" -#: stock/templates/stock/item_base.html:91 +#: stock/templates/stock/item_base.html:87 #: templates/js/translated/stock.js:1973 msgid "Assign to customer" msgstr "" -#: stock/templates/stock/item_base.html:94 +#: stock/templates/stock/item_base.html:90 msgid "Return to stock" msgstr "" -#: stock/templates/stock/item_base.html:97 +#: stock/templates/stock/item_base.html:93 msgid "Uninstall stock item" msgstr "" -#: stock/templates/stock/item_base.html:97 +#: stock/templates/stock/item_base.html:93 msgid "Uninstall" msgstr "" -#: stock/templates/stock/item_base.html:101 +#: stock/templates/stock/item_base.html:97 msgid "Install stock item" msgstr "" -#: stock/templates/stock/item_base.html:101 +#: stock/templates/stock/item_base.html:97 msgid "Install" msgstr "" -#: stock/templates/stock/item_base.html:115 +#: stock/templates/stock/item_base.html:111 msgid "Convert to variant" msgstr "Çeşide çevir" -#: stock/templates/stock/item_base.html:118 +#: stock/templates/stock/item_base.html:114 msgid "Duplicate stock item" msgstr "" -#: stock/templates/stock/item_base.html:120 +#: stock/templates/stock/item_base.html:116 msgid "Edit stock item" msgstr "" -#: stock/templates/stock/item_base.html:123 +#: stock/templates/stock/item_base.html:119 msgid "Delete stock item" msgstr "" -#: stock/templates/stock/item_base.html:169 templates/InvenTree/search.html:139 +#: stock/templates/stock/item_base.html:165 templates/InvenTree/search.html:139 #: templates/js/translated/build.js:2298 templates/navbar.html:38 msgid "Build" msgstr "Yapım İşi" -#: stock/templates/stock/item_base.html:211 +#: stock/templates/stock/item_base.html:207 msgid "No manufacturer set" msgstr "" -#: stock/templates/stock/item_base.html:251 +#: stock/templates/stock/item_base.html:247 msgid "You are not in the list of owners of this item. This stock item cannot be edited." msgstr "" -#: stock/templates/stock/item_base.html:252 +#: stock/templates/stock/item_base.html:248 #: stock/templates/stock/location.html:146 msgid "Read only" msgstr "" -#: stock/templates/stock/item_base.html:265 +#: stock/templates/stock/item_base.html:261 msgid "This stock item is unavailable" msgstr "" -#: stock/templates/stock/item_base.html:271 +#: stock/templates/stock/item_base.html:267 msgid "This stock item is in production and cannot be edited." msgstr "" -#: stock/templates/stock/item_base.html:272 +#: stock/templates/stock/item_base.html:268 msgid "Edit the stock item from the build view." msgstr "" -#: stock/templates/stock/item_base.html:287 +#: stock/templates/stock/item_base.html:283 msgid "This stock item is allocated to Sales Order" msgstr "" -#: stock/templates/stock/item_base.html:295 +#: stock/templates/stock/item_base.html:291 msgid "This stock item is allocated to Build Order" msgstr "" -#: stock/templates/stock/item_base.html:311 +#: stock/templates/stock/item_base.html:307 msgid "This stock item is serialized. It has a unique serial number and the quantity cannot be adjusted" msgstr "" -#: stock/templates/stock/item_base.html:317 +#: stock/templates/stock/item_base.html:313 msgid "previous page" msgstr "" -#: stock/templates/stock/item_base.html:317 +#: stock/templates/stock/item_base.html:313 msgid "Navigate to previous serial number" msgstr "" -#: stock/templates/stock/item_base.html:326 +#: stock/templates/stock/item_base.html:322 msgid "next page" msgstr "" -#: stock/templates/stock/item_base.html:326 +#: stock/templates/stock/item_base.html:322 msgid "Navigate to next serial number" msgstr "" -#: stock/templates/stock/item_base.html:398 +#: stock/templates/stock/item_base.html:394 #: templates/js/translated/build.js:2555 msgid "No location set" msgstr "Konum ayarlanmadı" -#: stock/templates/stock/item_base.html:413 +#: stock/templates/stock/item_base.html:409 msgid "Tests" msgstr "" -#: stock/templates/stock/item_base.html:419 +#: stock/templates/stock/item_base.html:415 msgid "This stock item has not passed all required tests" msgstr "Stok kalemi tüm gerekli testleri geçmedi" -#: stock/templates/stock/item_base.html:437 +#: stock/templates/stock/item_base.html:433 #, python-format msgid "This StockItem expired on %(item.expiry_date)s" msgstr "Bu stok kaleminin süresi %(item.expiry_date)s tarihinde sona erdi" -#: stock/templates/stock/item_base.html:439 +#: stock/templates/stock/item_base.html:435 #, python-format msgid "This StockItem expires on %(item.expiry_date)s" msgstr "Bu stok kaleminin süresi %(item.expiry_date)s tarihinde sona erecek" -#: stock/templates/stock/item_base.html:455 +#: stock/templates/stock/item_base.html:451 msgid "No stocktake performed" msgstr "" -#: stock/templates/stock/item_base.html:504 +#: stock/templates/stock/item_base.html:500 #: templates/js/translated/stock.js:2038 msgid "stock item" msgstr "" -#: stock/templates/stock/item_base.html:527 +#: stock/templates/stock/item_base.html:523 msgid "Edit Stock Status" msgstr "" -#: stock/templates/stock/item_base.html:536 +#: stock/templates/stock/item_base.html:532 msgid "Stock Item QR Code" msgstr "" -#: stock/templates/stock/item_base.html:547 +#: stock/templates/stock/item_base.html:543 msgid "Link Barcode to Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:611 +#: stock/templates/stock/item_base.html:607 msgid "Select one of the part variants listed below." msgstr "" -#: stock/templates/stock/item_base.html:614 +#: stock/templates/stock/item_base.html:610 msgid "Warning" msgstr "Uyarı" -#: stock/templates/stock/item_base.html:615 +#: stock/templates/stock/item_base.html:611 msgid "This action cannot be easily undone" msgstr "Bu işlem kolayca geri alınamaz" -#: stock/templates/stock/item_base.html:623 +#: stock/templates/stock/item_base.html:619 msgid "Convert Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:656 +#: stock/templates/stock/item_base.html:652 msgid "Return to Stock" msgstr "" @@ -11310,7 +11379,7 @@ msgid "Delete Location Type" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:503 -#: templates/InvenTree/settings/stock.html:38 +#: templates/InvenTree/settings/stock.html:39 msgid "New Location Type" msgstr "" @@ -11367,7 +11436,7 @@ msgstr "" msgid "Stock Settings" msgstr "" -#: templates/InvenTree/settings/stock.html:34 +#: templates/InvenTree/settings/stock.html:35 msgid "Stock Location Types" msgstr "" @@ -11852,23 +11921,23 @@ msgstr "Dosya Ekle" msgid "Barcode Identifier" msgstr "" -#: templates/base.html:103 +#: templates/base.html:102 msgid "Server Restart Required" msgstr "" -#: templates/base.html:106 +#: templates/base.html:105 msgid "A configuration option has been changed which requires a server restart" msgstr "" -#: templates/base.html:106 templates/base.html:116 +#: templates/base.html:105 templates/base.html:115 msgid "Contact your system administrator for further information" msgstr "" -#: templates/base.html:113 +#: templates/base.html:112 msgid "Pending Database Migrations" msgstr "" -#: templates/base.html:116 +#: templates/base.html:115 msgid "There are pending database migrations which require attention" msgstr "" @@ -13946,10 +14015,6 @@ msgstr "" msgid "Delete line item" msgstr "" -#: templates/js/translated/report.js:49 -msgid "Print Report" -msgstr "" - #: templates/js/translated/report.js:68 msgid "Report print successful" msgstr "" diff --git a/src/backend/InvenTree/locale/uk/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/uk/LC_MESSAGES/django.po index e56a287be5cb..2330612e1e28 100644 --- a/src/backend/InvenTree/locale/uk/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/uk/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-08-29 07:07+0000\n" -"PO-Revision-Date: 2024-08-29 07:10\n" +"POT-Creation-Date: 2024-09-16 00:37+0000\n" +"PO-Revision-Date: 2024-09-16 00:40\n" "Last-Translator: \n" "Language-Team: Ukrainian\n" "Language: uk_UA\n" @@ -65,9 +65,9 @@ msgstr "Введіть дату" #: 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:59 -#: part/models.py:3309 part/templates/part/part_sidebar.html:65 +#: part/models.py:3296 part/templates/part/part_sidebar.html:65 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/admin.py:231 stock/models.py:2369 stock/models.py:2557 +#: stock/admin.py:231 stock/models.py:2367 stock/models.py:2552 #: stock/serializers.py:705 stock/serializers.py:863 stock/serializers.py:989 #: stock/serializers.py:1039 stock/serializers.py:1350 #: stock/serializers.py:1439 stock/serializers.py:1604 @@ -364,7 +364,7 @@ msgstr "Китайська (Традиційна)" msgid "[{site_name}] Log in to the app" msgstr "[{site_name}] Увійти в додаток" -#: InvenTree/magic_login.py:38 InvenTree/serializers.py:413 +#: InvenTree/magic_login.py:38 InvenTree/serializers.py:416 #: company/models.py:133 company/templates/company/company_base.html:138 #: templates/InvenTree/settings/user.html:49 #: templates/js/translated/company.js:677 @@ -419,9 +419,9 @@ msgstr "" msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:767 common/models.py:2704 common/models.py:3131 -#: common/models.py:3351 common/serializers.py:439 company/models.py:590 -#: machine/models.py:24 part/models.py:995 part/models.py:3776 +#: InvenTree/models.py:767 common/models.py:2705 common/models.py:3132 +#: common/models.py:3352 common/serializers.py:455 company/models.py:590 +#: machine/models.py:24 part/models.py:995 part/models.py:3763 #: plugin/models.py:51 report/models.py:149 stock/models.py:82 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -446,10 +446,10 @@ msgstr "" #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 order/models.py:289 #: order/models.py:1406 part/admin.py:305 part/admin.py:411 part/models.py:1018 -#: part/models.py:3791 part/templates/part/category.html:79 +#: part/models.py:3778 part/templates/part/category.html:79 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:155 -#: report/models.py:509 report/models.py:535 +#: report/models.py:517 report/models.py:543 #: report/templates/report/inventree_build_order_report.html:117 #: stock/admin.py:54 stock/models.py:88 stock/templates/stock/location.html:122 #: templates/InvenTree/settings/notifications.html:19 @@ -517,12 +517,12 @@ msgstr "" msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:63 part/models.py:4400 +#: InvenTree/serializers.py:63 part/models.py:4387 msgid "Must be a valid number" msgstr "" #: InvenTree/serializers.py:100 company/models.py:183 -#: company/templates/company/company_base.html:112 part/models.py:3127 +#: company/templates/company/company_base.html:112 part/models.py:3114 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -536,43 +536,43 @@ msgstr "" msgid "Username" msgstr "" -#: InvenTree/serializers.py:407 templates/InvenTree/settings/user.html:37 +#: InvenTree/serializers.py:408 templates/InvenTree/settings/user.html:37 msgid "First Name" msgstr "Ім`я" -#: InvenTree/serializers.py:407 +#: InvenTree/serializers.py:408 msgid "First name of the user" msgstr "" -#: InvenTree/serializers.py:410 templates/InvenTree/settings/user.html:41 +#: InvenTree/serializers.py:412 templates/InvenTree/settings/user.html:41 msgid "Last Name" msgstr "Прізвище" -#: InvenTree/serializers.py:410 +#: InvenTree/serializers.py:412 msgid "Last name of the user" msgstr "" -#: InvenTree/serializers.py:413 +#: InvenTree/serializers.py:416 msgid "Email address of the user" msgstr "Адреса електронної пошти користувача" -#: InvenTree/serializers.py:438 +#: InvenTree/serializers.py:441 msgid "Staff" msgstr "Персонал" -#: InvenTree/serializers.py:438 +#: InvenTree/serializers.py:441 msgid "Does this user have staff permissions" msgstr "" -#: InvenTree/serializers.py:441 +#: InvenTree/serializers.py:445 msgid "Superuser" msgstr "" -#: InvenTree/serializers.py:441 +#: InvenTree/serializers.py:445 msgid "Is this user a superuser" msgstr "" -#: InvenTree/serializers.py:444 common/models.py:2709 company/models.py:160 +#: InvenTree/serializers.py:449 common/models.py:2710 company/models.py:160 #: company/models.py:798 machine/models.py:39 part/admin.py:88 #: part/models.py:1201 plugin/models.py:66 #: templates/js/translated/company.js:523 @@ -585,89 +585,89 @@ msgstr "" msgid "Active" msgstr "" -#: InvenTree/serializers.py:444 +#: InvenTree/serializers.py:449 msgid "Is this user account active" msgstr "" -#: InvenTree/serializers.py:462 +#: InvenTree/serializers.py:467 msgid "You do not have permission to change this user role." msgstr "" -#: InvenTree/serializers.py:474 +#: InvenTree/serializers.py:503 msgid "Only superusers can create new users" msgstr "" -#: InvenTree/serializers.py:493 +#: InvenTree/serializers.py:522 msgid "Your account has been created." msgstr "" -#: InvenTree/serializers.py:495 +#: InvenTree/serializers.py:524 msgid "Please use the password reset function to login" msgstr "" -#: InvenTree/serializers.py:502 +#: InvenTree/serializers.py:531 msgid "Welcome to InvenTree" msgstr "" -#: InvenTree/serializers.py:560 +#: InvenTree/serializers.py:589 msgid "Invalid value" msgstr "" -#: InvenTree/serializers.py:580 importer/models.py:64 +#: InvenTree/serializers.py:609 importer/models.py:64 msgid "Data File" msgstr "" -#: InvenTree/serializers.py:581 +#: InvenTree/serializers.py:610 msgid "Select data file for upload" msgstr "" -#: InvenTree/serializers.py:598 +#: InvenTree/serializers.py:627 msgid "Unsupported file type" msgstr "" -#: InvenTree/serializers.py:604 +#: InvenTree/serializers.py:633 msgid "File is too large" msgstr "" -#: InvenTree/serializers.py:625 +#: InvenTree/serializers.py:654 msgid "No columns found in file" msgstr "" -#: InvenTree/serializers.py:628 +#: InvenTree/serializers.py:657 msgid "No data rows found in file" msgstr "" -#: InvenTree/serializers.py:740 +#: InvenTree/serializers.py:769 msgid "No data rows provided" msgstr "" -#: InvenTree/serializers.py:743 +#: InvenTree/serializers.py:772 msgid "No data columns supplied" msgstr "" -#: InvenTree/serializers.py:809 +#: InvenTree/serializers.py:838 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "" -#: InvenTree/serializers.py:818 +#: InvenTree/serializers.py:847 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "" -#: InvenTree/serializers.py:857 +#: InvenTree/serializers.py:886 msgid "Remote Image" msgstr "" -#: InvenTree/serializers.py:858 +#: InvenTree/serializers.py:887 msgid "URL of remote image file" msgstr "" -#: InvenTree/serializers.py:876 +#: InvenTree/serializers.py:905 msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/status.py:65 part/serializers.py:1267 +#: InvenTree/status.py:65 part/serializers.py:1265 msgid "Background worker check failed" msgstr "" @@ -759,7 +759,7 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:319 build/serializers.py:1332 part/models.py:4278 +#: build/api.py:319 build/serializers.py:1332 part/models.py:4265 #: templates/js/translated/bom.js:997 templates/js/translated/bom.js:1037 #: templates/js/translated/build.js:2705 #: templates/js/translated/table_filters.js:197 @@ -767,7 +767,7 @@ msgstr "" msgid "Consumable" msgstr "" -#: build/api.py:320 build/serializers.py:1333 part/models.py:4272 +#: build/api.py:320 build/serializers.py:1333 part/models.py:4259 #: part/templates/part/upload_bom.html:58 templates/js/translated/bom.js:1001 #: templates/js/translated/bom.js:1028 templates/js/translated/build.js:2696 #: templates/js/translated/table_filters.js:193 @@ -777,7 +777,7 @@ msgid "Optional" msgstr "" #: build/api.py:321 common/models.py:1491 part/admin.py:91 part/admin.py:428 -#: part/models.py:1166 part/serializers.py:1596 +#: part/models.py:1166 part/serializers.py:1594 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:337 #: templates/js/translated/table_filters.js:729 @@ -816,7 +816,7 @@ msgstr "" msgid "Available" msgstr "" -#: build/models.py:87 build/templates/build/build_base.html:9 +#: build/models.py:88 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_report.html:105 #: stock/serializers.py:85 templates/email/build_order_completed.html:16 @@ -825,7 +825,7 @@ msgstr "" msgid "Build Order" msgstr "" -#: build/models.py:88 build/templates/build/build_base.html:13 +#: build/models.py:89 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:111 #: order/templates/order/so_sidebar.html:13 @@ -866,7 +866,7 @@ msgstr "" #: build/models.py:243 build/serializers.py:1331 order/models.py:468 #: order/models.py:979 order/models.py:1366 order/models.py:2128 -#: part/admin.py:414 part/models.py:4293 part/templates/part/upload_bom.html:54 +#: part/admin.py:414 part/models.py:4280 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 @@ -892,11 +892,11 @@ msgstr "" #: build/templates/build/build_base.html:105 #: build/templates/build/detail.html:29 company/models.py:1043 order/api.py:761 #: order/models.py:1496 order/models.py:1651 order/models.py:1652 -#: part/api.py:1506 part/api.py:1806 part/models.py:419 part/models.py:3138 -#: part/models.py:3282 part/models.py:3430 part/models.py:3451 -#: part/models.py:3473 part/models.py:3609 part/models.py:3951 -#: part/models.py:4114 part/models.py:4244 part/models.py:4602 -#: part/serializers.py:1213 part/serializers.py:1857 +#: part/api.py:1506 part/api.py:1806 part/models.py:419 part/models.py:3125 +#: part/models.py:3269 part/models.py:3417 part/models.py:3438 +#: part/models.py:3460 part/models.py:3596 part/models.py:3938 +#: part/models.py:4101 part/models.py:4231 part/models.py:4595 +#: part/serializers.py:1211 part/serializers.py:1855 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -1063,12 +1063,12 @@ msgstr "" #: order/templates/order/return_order_base.html:148 #: order/templates/order/sales_order_base.html:187 #: part/templates/part/part_base.html:399 stock/models.py:859 -#: stock/templates/stock/item_base.html:200 +#: stock/templates/stock/item_base.html:196 #: templates/js/translated/company.js:1019 msgid "External Link" msgstr "" -#: build/models.py:378 common/models.py:3272 part/models.py:1070 +#: build/models.py:378 common/models.py:3273 part/models.py:1070 #: stock/models.py:859 msgid "Link to external URL" msgstr "" @@ -1110,7 +1110,7 @@ msgstr "" msgid "A build order has been completed" msgstr "" -#: build/models.py:968 build/models.py:1056 +#: build/models.py:968 build/models.py:1057 msgid "No build output specified" msgstr "" @@ -1122,37 +1122,37 @@ msgstr "" msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:1060 build/serializers.py:279 build/serializers.py:328 +#: build/models.py:1061 build/serializers.py:279 build/serializers.py:328 #: build/serializers.py:959 order/models.py:565 order/serializers.py:500 -#: order/serializers.py:666 part/serializers.py:1590 part/serializers.py:2019 +#: order/serializers.py:666 part/serializers.py:1588 part/serializers.py:2017 #: stock/models.py:704 stock/models.py:1515 stock/serializers.py:676 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:1065 build/serializers.py:284 +#: build/models.py:1066 build/serializers.py:284 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1125 build/serializers.py:607 +#: build/models.py:1126 build/serializers.py:607 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "" -#: build/models.py:1466 +#: build/models.py:1477 msgid "Build Order Line Item" msgstr "" -#: build/models.py:1491 +#: build/models.py:1502 msgid "Build object" msgstr "" -#: build/models.py:1505 build/models.py:1761 build/serializers.py:266 +#: build/models.py:1516 build/models.py:1775 build/serializers.py:266 #: build/serializers.py:313 build/serializers.py:1339 #: build/templates/build/build_base.html:110 -#: build/templates/build/detail.html:34 common/models.py:2581 +#: build/templates/build/detail.html:34 common/models.py:2582 #: order/models.py:1349 order/models.py:2034 order/serializers.py:1464 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:413 -#: part/forms.py:48 part/models.py:3296 part/models.py:4266 +#: part/forms.py:48 part/models.py:3283 part/models.py:4253 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1163,9 +1163,9 @@ msgstr "" #: report/templates/report/inventree_test_report.html:90 #: report/templates/report/inventree_test_report.html:169 stock/admin.py:160 #: stock/serializers.py:128 stock/serializers.py:168 stock/serializers.py:667 -#: stock/templates/stock/item_base.html:287 -#: stock/templates/stock/item_base.html:295 -#: stock/templates/stock/item_base.html:342 +#: stock/templates/stock/item_base.html:283 +#: stock/templates/stock/item_base.html:291 +#: stock/templates/stock/item_base.html:338 #: templates/email/build_order_completed.html:18 #: templates/js/translated/barcode.js:579 templates/js/translated/bom.js:771 #: templates/js/translated/bom.js:981 templates/js/translated/build.js:525 @@ -1194,41 +1194,41 @@ msgstr "" msgid "Quantity" msgstr "" -#: build/models.py:1506 +#: build/models.py:1517 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1586 +#: build/models.py:1597 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1595 +#: build/models.py:1606 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1605 order/models.py:1985 +#: build/models.py:1616 order/models.py:1985 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1611 order/models.py:1988 +#: build/models.py:1622 order/models.py:1988 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1617 +#: build/models.py:1628 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1676 +#: build/models.py:1687 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1748 build/serializers.py:939 order/serializers.py:1301 +#: build/models.py:1762 build/serializers.py:939 order/serializers.py:1301 #: order/serializers.py:1322 stock/models.py:381 stock/serializers.py:94 #: stock/serializers.py:770 stock/serializers.py:1288 stock/serializers.py:1400 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 -#: stock/templates/stock/item_base.html:194 +#: stock/templates/stock/item_base.html:190 #: templates/js/translated/build.js:1921 #: templates/js/translated/sales_order.js:301 #: templates/js/translated/sales_order.js:1234 @@ -1241,19 +1241,19 @@ msgstr "" msgid "Stock Item" msgstr "" -#: build/models.py:1749 +#: build/models.py:1763 msgid "Source stock item" msgstr "" -#: build/models.py:1762 +#: build/models.py:1776 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1770 +#: build/models.py:1784 msgid "Install into" msgstr "" -#: build/models.py:1771 +#: build/models.py:1785 msgid "Destination stock item" msgstr "" @@ -1262,7 +1262,7 @@ msgid "Build Level" msgstr "" #: build/serializers.py:115 build/serializers.py:1234 build/serializers.py:1323 -#: part/admin.py:41 part/admin.py:408 part/models.py:4116 part/stocktake.py:219 +#: part/admin.py:41 part/admin.py:408 part/models.py:4103 part/stocktake.py:219 #: stock/admin.py:157 msgid "Part Name" msgstr "" @@ -1323,10 +1323,10 @@ msgid "Enter serial numbers for build outputs" msgstr "" #: build/serializers.py:359 build/serializers.py:500 build/serializers.py:572 -#: order/serializers.py:655 order/serializers.py:778 order/serializers.py:1789 -#: part/serializers.py:1233 stock/serializers.py:103 stock/serializers.py:698 +#: order/serializers.py:655 order/serializers.py:778 order/serializers.py:1797 +#: part/serializers.py:1231 stock/serializers.py:103 stock/serializers.py:698 #: stock/serializers.py:858 stock/serializers.py:984 stock/serializers.py:1432 -#: stock/serializers.py:1688 stock/templates/stock/item_base.html:394 +#: stock/serializers.py:1688 stock/templates/stock/item_base.html:390 #: templates/js/translated/barcode.js:578 #: templates/js/translated/barcode.js:826 templates/js/translated/build.js:1035 #: templates/js/translated/build.js:1177 templates/js/translated/build.js:2547 @@ -1390,7 +1390,7 @@ msgstr "" #: build/templates/build/detail.html:62 order/models.py:477 #: order/models.py:1003 order/models.py:2152 order/serializers.py:687 #: stock/admin.py:165 stock/serializers.py:1035 stock/serializers.py:1576 -#: stock/templates/stock/item_base.html:427 +#: stock/templates/stock/item_base.html:423 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2366 #: templates/js/translated/purchase_order.js:1371 #: templates/js/translated/purchase_order.js:1792 @@ -1522,7 +1522,7 @@ msgstr "" msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:1030 order/serializers.py:1614 +#: build/serializers.py:1030 order/serializers.py:1622 msgid "Allocation items must be provided" msgstr "" @@ -1590,7 +1590,7 @@ msgstr "" #: build/serializers.py:1230 company/models.py:849 #: company/templates/company/supplier_part.html:160 order/serializers.py:691 #: stock/admin.py:229 stock/models.py:822 stock/serializers.py:1586 -#: stock/templates/stock/item_base.html:240 +#: stock/templates/stock/item_base.html:236 #: templates/js/translated/company.js:1646 #: templates/js/translated/purchase_order.js:1169 #: templates/js/translated/purchase_order.js:1332 @@ -1600,12 +1600,12 @@ msgid "Packaging" msgstr "" #: build/serializers.py:1233 part/admin.py:39 part/admin.py:398 -#: part/models.py:4115 part/stocktake.py:218 stock/admin.py:153 +#: part/models.py:4102 part/stocktake.py:218 stock/admin.py:153 msgid "Part ID" msgstr "" #: build/serializers.py:1235 build/serializers.py:1324 part/admin.py:402 -#: part/models.py:4117 +#: part/models.py:4104 msgid "Part IPN" msgstr "" @@ -1625,7 +1625,7 @@ msgstr "" #: build/serializers.py:1243 #: report/templates/report/inventree_return_order_report.html:25 #: report/templates/report/inventree_test_report.html:88 stock/models.py:849 -#: stock/serializers.py:152 stock/templates/stock/item_base.html:311 +#: stock/serializers.py:152 stock/templates/stock/item_base.html:307 #: templates/js/translated/build.js:523 templates/js/translated/build.js:1543 #: templates/js/translated/build.js:2530 #: templates/js/translated/model_renderers.js:231 @@ -1644,7 +1644,7 @@ msgstr "" msgid "Allocated Quantity" msgstr "" -#: build/serializers.py:1257 stock/templates/stock/item_base.html:340 +#: build/serializers.py:1257 stock/templates/stock/item_base.html:336 msgid "Available Quantity" msgstr "" @@ -1667,13 +1667,13 @@ msgstr "" msgid "Inherited" msgstr "" -#: build/serializers.py:1337 part/models.py:4326 +#: build/serializers.py:1337 part/models.py:4313 #: part/templates/part/upload_bom.html:56 templates/js/translated/bom.js:1046 #: templates/js/translated/build.js:2714 msgid "Allow Variants" msgstr "" -#: build/serializers.py:1341 part/models.py:4124 part/models.py:4594 +#: build/serializers.py:1341 part/models.py:4111 part/models.py:4587 #: stock/api.py:793 msgid "BOM Item" msgstr "" @@ -1684,7 +1684,7 @@ msgid "Allocated Stock" msgstr "" #: build/serializers.py:1355 order/serializers.py:1179 part/admin.py:132 -#: part/bom.py:186 part/serializers.py:920 part/serializers.py:1623 +#: part/bom.py:186 part/serializers.py:918 part/serializers.py:1621 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 #: templates/js/translated/build.js:2807 templates/js/translated/part.js:712 #: templates/js/translated/part.js:2155 @@ -1692,13 +1692,13 @@ msgstr "" msgid "On Order" msgstr "" -#: build/serializers.py:1360 order/serializers.py:1180 part/serializers.py:1625 +#: build/serializers.py:1360 order/serializers.py:1180 part/serializers.py:1623 #: templates/js/translated/build.js:2811 #: templates/js/translated/table_filters.js:367 msgid "In Production" msgstr "" -#: build/serializers.py:1365 part/bom.py:185 part/serializers.py:1650 +#: build/serializers.py:1365 part/bom.py:185 part/serializers.py:1648 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" @@ -1716,7 +1716,7 @@ msgstr "" msgid "Total Available Stock" msgstr "" -#: build/serializers.py:1372 part/serializers.py:927 +#: build/serializers.py:1372 part/serializers.py:925 msgid "External Stock" msgstr "" @@ -1745,7 +1745,7 @@ msgstr "" #: importer/status_codes.py:27 order/status_codes.py:15 #: order/status_codes.py:50 order/status_codes.py:81 #: order/templates/order/order_base.html:163 -#: order/templates/order/sales_order_base.html:168 report/models.py:443 +#: order/templates/order/sales_order_base.html:168 report/models.py:451 msgid "Complete" msgstr "" @@ -1849,9 +1849,6 @@ msgid "Delete Build" msgstr "" #: build/templates/build/build_base.html:87 -msgid "Isueue Build" -msgstr "" - #: build/templates/build/build_base.html:88 msgid "Issue Build" msgstr "" @@ -1931,7 +1928,7 @@ msgstr "" #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_report.html:135 #: report/templates/report/inventree_sales_order_report.html:14 -#: stock/templates/stock/item_base.html:369 +#: stock/templates/stock/item_base.html:365 #: templates/email/overdue_sales_order.html:15 #: templates/js/translated/pricing.js:929 #: templates/js/translated/sales_order.js:805 @@ -1991,7 +1988,7 @@ msgid "Allocated Parts" msgstr "" #: build/templates/build/detail.html:80 stock/admin.py:163 -#: stock/templates/stock/item_base.html:162 +#: stock/templates/stock/item_base.html:158 #: templates/js/translated/build.js:1556 #: templates/js/translated/model_renderers.js:242 #: templates/js/translated/purchase_order.js:1326 @@ -2148,19 +2145,19 @@ msgstr "" msgid "Test Statistics" msgstr "" -#: common/api.py:692 +#: common/api.py:725 msgid "Is Link" msgstr "" -#: common/api.py:700 +#: common/api.py:733 msgid "Is File" msgstr "" -#: common/api.py:743 +#: common/api.py:776 msgid "User does not have permission to delete these attachments" msgstr "" -#: common/api.py:760 +#: common/api.py:793 msgid "User does not have permission to delete this attachment" msgstr "" @@ -2352,8 +2349,8 @@ msgstr "" #: common/models.py:1297 common/models.py:1353 common/models.py:1366 #: common/models.py:1374 common/models.py:1383 common/models.py:1392 -#: common/models.py:1629 common/models.py:1651 common/models.py:1766 -#: common/models.py:2148 +#: common/models.py:1629 common/models.py:1651 common/models.py:1752 +#: common/models.py:2141 msgid "days" msgstr "" @@ -2581,9 +2578,9 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1485 part/admin.py:108 part/models.py:3959 -#: report/models.py:293 report/models.py:360 report/serializers.py:90 -#: report/serializers.py:131 stock/serializers.py:233 +#: common/models.py:1485 part/admin.py:108 part/models.py:3946 +#: report/models.py:301 report/models.py:368 report/serializers.py:91 +#: report/serializers.py:132 stock/serializers.py:233 #: templates/js/translated/table_filters.js:138 #: templates/js/translated/table_filters.js:775 msgid "Template" @@ -2598,7 +2595,7 @@ msgid "Parts can be assembled from other components by default" msgstr "" #: common/models.py:1497 part/admin.py:95 part/models.py:1172 -#: part/serializers.py:1617 templates/js/translated/table_filters.js:737 +#: part/serializers.py:1615 templates/js/translated/table_filters.js:737 msgid "Component" msgstr "" @@ -2823,7 +2820,7 @@ msgid "Log errors which occur when generating reports" msgstr "" #: common/models.py:1702 plugin/builtin/labels/label_sheet.py:28 -#: report/models.py:301 +#: report/models.py:309 msgid "Page Size" msgstr "" @@ -2832,914 +2829,914 @@ msgid "Default page size for PDF reports" msgstr "" #: common/models.py:1708 -msgid "Enable Test Reports" -msgstr "" - -#: common/models.py:1709 -msgid "Enable generation of test reports" -msgstr "" - -#: common/models.py:1714 -msgid "Attach Test Reports" -msgstr "" - -#: common/models.py:1716 -msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" -msgstr "" - -#: common/models.py:1722 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1723 +#: common/models.py:1709 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1728 +#: common/models.py:1714 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1729 +#: common/models.py:1715 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1734 +#: common/models.py:1720 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1736 +#: common/models.py:1722 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/models.py:1742 +#: common/models.py:1728 msgid "Batch Code Template" msgstr "" -#: common/models.py:1744 +#: common/models.py:1730 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1749 +#: common/models.py:1735 msgid "Stock Expiry" msgstr "" -#: common/models.py:1750 +#: common/models.py:1736 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1755 +#: common/models.py:1741 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1756 +#: common/models.py:1742 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1761 +#: common/models.py:1747 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1763 +#: common/models.py:1749 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1770 +#: common/models.py:1756 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1771 +#: common/models.py:1757 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1776 +#: common/models.py:1762 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1777 +#: common/models.py:1763 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1782 +#: common/models.py:1768 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1783 +#: common/models.py:1769 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1788 +#: common/models.py:1774 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1789 +#: common/models.py:1775 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1794 +#: common/models.py:1780 msgid "Check BOM when installing items" msgstr "" -#: common/models.py:1796 +#: common/models.py:1782 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/models.py:1802 +#: common/models.py:1788 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/models.py:1804 +#: common/models.py:1790 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/models.py:1810 +#: common/models.py:1796 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1812 +#: common/models.py:1798 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1818 common/models.py:1874 common/models.py:1896 -#: common/models.py:1932 +#: common/models.py:1804 common/models.py:1860 common/models.py:1882 +#: common/models.py:1918 msgid "Require Responsible Owner" msgstr "" -#: common/models.py:1819 common/models.py:1875 common/models.py:1897 -#: common/models.py:1933 +#: common/models.py:1805 common/models.py:1861 common/models.py:1883 +#: common/models.py:1919 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/models.py:1824 +#: common/models.py:1810 msgid "Require Active Part" msgstr "" -#: common/models.py:1825 +#: common/models.py:1811 msgid "Prevent build order creation for inactive parts" msgstr "" -#: common/models.py:1830 +#: common/models.py:1816 msgid "Require Locked Part" msgstr "" -#: common/models.py:1831 +#: common/models.py:1817 msgid "Prevent build order creation for unlocked parts" msgstr "" -#: common/models.py:1836 +#: common/models.py:1822 msgid "Require Valid BOM" msgstr "" -#: common/models.py:1838 +#: common/models.py:1824 msgid "Prevent build order creation unless BOM has been validated" msgstr "" -#: common/models.py:1844 +#: common/models.py:1830 msgid "Require Closed Child Orders" msgstr "" -#: common/models.py:1846 +#: common/models.py:1832 msgid "Prevent build order completion until all child orders are closed" msgstr "" -#: common/models.py:1852 +#: common/models.py:1838 msgid "Block Until Tests Pass" msgstr "" -#: common/models.py:1854 +#: common/models.py:1840 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "" -#: common/models.py:1860 +#: common/models.py:1846 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1861 +#: common/models.py:1847 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1866 +#: common/models.py:1852 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1868 +#: common/models.py:1854 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1880 +#: common/models.py:1866 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1882 +#: common/models.py:1868 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1888 +#: common/models.py:1874 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1890 +#: common/models.py:1876 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1902 +#: common/models.py:1888 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1903 +#: common/models.py:1889 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1908 +#: common/models.py:1894 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1910 +#: common/models.py:1896 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1916 +#: common/models.py:1902 msgid "Mark Shipped Orders as Complete" msgstr "" -#: common/models.py:1918 +#: common/models.py:1904 msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status" msgstr "" -#: common/models.py:1924 +#: common/models.py:1910 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1926 +#: common/models.py:1912 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1938 +#: common/models.py:1924 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1940 +#: common/models.py:1926 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1946 +#: common/models.py:1932 msgid "Auto Complete Purchase Orders" msgstr "" -#: common/models.py:1948 +#: common/models.py:1934 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/models.py:1955 +#: common/models.py:1941 msgid "Enable password forgot" msgstr "" -#: common/models.py:1956 +#: common/models.py:1942 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1961 +#: common/models.py:1947 msgid "Enable registration" msgstr "" -#: common/models.py:1962 +#: common/models.py:1948 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1967 +#: common/models.py:1953 msgid "Enable SSO" msgstr "" -#: common/models.py:1968 +#: common/models.py:1954 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1973 +#: common/models.py:1959 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1975 +#: common/models.py:1961 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1981 +#: common/models.py:1967 msgid "Enable SSO group sync" msgstr "" -#: common/models.py:1983 +#: common/models.py:1969 msgid "Enable synchronizing InvenTree groups with groups provided by the IdP" msgstr "" -#: common/models.py:1989 +#: common/models.py:1975 msgid "SSO group key" msgstr "" -#: common/models.py:1991 +#: common/models.py:1977 msgid "The name of the groups claim attribute provided by the IdP" msgstr "" -#: common/models.py:1997 +#: common/models.py:1983 msgid "SSO group map" msgstr "" -#: common/models.py:1999 +#: common/models.py:1985 msgid "A mapping from SSO groups to local InvenTree groups. If the local group does not exist, it will be created." msgstr "" -#: common/models.py:2005 +#: common/models.py:1991 msgid "Remove groups outside of SSO" msgstr "" -#: common/models.py:2007 +#: common/models.py:1993 msgid "Whether groups assigned to the user should be removed if they are not backend by the IdP. Disabling this setting might cause security issues" msgstr "" -#: common/models.py:2013 +#: common/models.py:1999 msgid "Email required" msgstr "" -#: common/models.py:2014 +#: common/models.py:2000 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:2019 +#: common/models.py:2005 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:2021 +#: common/models.py:2007 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:2027 +#: common/models.py:2013 msgid "Mail twice" msgstr "" -#: common/models.py:2028 +#: common/models.py:2014 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:2033 +#: common/models.py:2019 msgid "Password twice" msgstr "" -#: common/models.py:2034 +#: common/models.py:2020 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:2039 +#: common/models.py:2025 msgid "Allowed domains" msgstr "" -#: common/models.py:2041 +#: common/models.py:2027 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:2047 +#: common/models.py:2033 msgid "Group on signup" msgstr "" -#: common/models.py:2049 +#: common/models.py:2035 msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP." msgstr "" -#: common/models.py:2055 +#: common/models.py:2041 msgid "Enforce MFA" msgstr "" -#: common/models.py:2056 +#: common/models.py:2042 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:2061 +#: common/models.py:2047 msgid "Check plugins on startup" msgstr "" -#: common/models.py:2063 +#: common/models.py:2049 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:2071 +#: common/models.py:2057 msgid "Check for plugin updates" msgstr "" -#: common/models.py:2072 +#: common/models.py:2058 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:2078 +#: common/models.py:2064 msgid "Enable URL integration" msgstr "" -#: common/models.py:2079 +#: common/models.py:2065 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:2085 +#: common/models.py:2071 msgid "Enable navigation integration" msgstr "" -#: common/models.py:2086 +#: common/models.py:2072 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:2092 +#: common/models.py:2078 msgid "Enable app integration" msgstr "" -#: common/models.py:2093 +#: common/models.py:2079 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:2099 +#: common/models.py:2085 msgid "Enable schedule integration" msgstr "" -#: common/models.py:2100 +#: common/models.py:2086 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:2106 +#: common/models.py:2092 msgid "Enable event integration" msgstr "" -#: common/models.py:2107 +#: common/models.py:2093 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:2113 +#: common/models.py:2099 +msgid "Enable interface integration" +msgstr "" + +#: common/models.py:2100 +msgid "Enable plugins to integrate into the user interface" +msgstr "" + +#: common/models.py:2106 msgid "Enable project codes" msgstr "" -#: common/models.py:2114 +#: common/models.py:2107 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:2119 +#: common/models.py:2112 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:2121 +#: common/models.py:2114 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:2127 +#: common/models.py:2120 msgid "Exclude External Locations" msgstr "" -#: common/models.py:2129 +#: common/models.py:2122 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/models.py:2135 +#: common/models.py:2128 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:2137 +#: common/models.py:2130 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:2143 +#: common/models.py:2136 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:2145 +#: common/models.py:2138 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:2152 +#: common/models.py:2145 msgid "Display Users full names" msgstr "" -#: common/models.py:2153 +#: common/models.py:2146 msgid "Display Users full names instead of usernames" msgstr "" -#: common/models.py:2158 +#: common/models.py:2151 msgid "Enable Test Station Data" msgstr "" -#: common/models.py:2159 +#: common/models.py:2152 msgid "Enable test station data collection for test results" msgstr "" -#: common/models.py:2171 common/models.py:2551 +#: common/models.py:2157 +msgid "Create Template on Upload" +msgstr "" + +#: common/models.py:2159 +msgid "Create a new test template when uploading test data which does not match an existing template" +msgstr "" + +#: common/models.py:2172 common/models.py:2552 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:2214 +#: common/models.py:2215 msgid "Hide inactive parts" msgstr "" -#: common/models.py:2216 +#: common/models.py:2217 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:2222 +#: common/models.py:2223 msgid "Show subscribed parts" msgstr "" -#: common/models.py:2223 +#: common/models.py:2224 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:2228 +#: common/models.py:2229 msgid "Show subscribed categories" msgstr "" -#: common/models.py:2229 +#: common/models.py:2230 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:2234 +#: common/models.py:2235 msgid "Show latest parts" msgstr "" -#: common/models.py:2235 +#: common/models.py:2236 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:2240 +#: common/models.py:2241 msgid "Show invalid BOMs" msgstr "" -#: common/models.py:2241 +#: common/models.py:2242 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:2246 +#: common/models.py:2247 msgid "Show recent stock changes" msgstr "" -#: common/models.py:2247 +#: common/models.py:2248 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:2252 +#: common/models.py:2253 msgid "Show low stock" msgstr "" -#: common/models.py:2253 +#: common/models.py:2254 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:2258 +#: common/models.py:2259 msgid "Show depleted stock" msgstr "" -#: common/models.py:2259 +#: common/models.py:2260 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:2264 +#: common/models.py:2265 msgid "Show needed stock" msgstr "" -#: common/models.py:2265 +#: common/models.py:2266 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:2270 +#: common/models.py:2271 msgid "Show expired stock" msgstr "" -#: common/models.py:2271 +#: common/models.py:2272 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:2276 +#: common/models.py:2277 msgid "Show stale stock" msgstr "" -#: common/models.py:2277 +#: common/models.py:2278 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:2282 +#: common/models.py:2283 msgid "Show pending builds" msgstr "" -#: common/models.py:2283 +#: common/models.py:2284 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:2288 +#: common/models.py:2289 msgid "Show overdue builds" msgstr "" -#: common/models.py:2289 +#: common/models.py:2290 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:2294 +#: common/models.py:2295 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2295 +#: common/models.py:2296 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2300 +#: common/models.py:2301 msgid "Show overdue POs" msgstr "" -#: common/models.py:2301 +#: common/models.py:2302 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2306 +#: common/models.py:2307 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2307 +#: common/models.py:2308 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2312 +#: common/models.py:2313 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2313 +#: common/models.py:2314 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2318 +#: common/models.py:2319 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2319 +#: common/models.py:2320 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2324 +#: common/models.py:2325 msgid "Show News" msgstr "" -#: common/models.py:2325 +#: common/models.py:2326 msgid "Show news on the homepage" msgstr "" -#: common/models.py:2330 +#: common/models.py:2331 msgid "Inline label display" msgstr "" -#: common/models.py:2332 +#: common/models.py:2333 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2338 +#: common/models.py:2339 msgid "Default label printer" msgstr "" -#: common/models.py:2340 +#: common/models.py:2341 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2346 +#: common/models.py:2347 msgid "Inline report display" msgstr "" -#: common/models.py:2348 +#: common/models.py:2349 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2354 +#: common/models.py:2355 msgid "Search Parts" msgstr "" -#: common/models.py:2355 +#: common/models.py:2356 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2360 +#: common/models.py:2361 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2361 +#: common/models.py:2362 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2366 +#: common/models.py:2367 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2367 +#: common/models.py:2368 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2372 +#: common/models.py:2373 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2373 +#: common/models.py:2374 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2378 +#: common/models.py:2379 msgid "Search Categories" msgstr "" -#: common/models.py:2379 +#: common/models.py:2380 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2384 +#: common/models.py:2385 msgid "Search Stock" msgstr "" -#: common/models.py:2385 +#: common/models.py:2386 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2390 +#: common/models.py:2391 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2392 +#: common/models.py:2393 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2398 +#: common/models.py:2399 msgid "Search Locations" msgstr "" -#: common/models.py:2399 +#: common/models.py:2400 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2404 +#: common/models.py:2405 msgid "Search Companies" msgstr "" -#: common/models.py:2405 +#: common/models.py:2406 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2410 +#: common/models.py:2411 msgid "Search Build Orders" msgstr "" -#: common/models.py:2411 +#: common/models.py:2412 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2416 +#: common/models.py:2417 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2417 +#: common/models.py:2418 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2422 +#: common/models.py:2423 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2424 +#: common/models.py:2425 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2430 +#: common/models.py:2431 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2431 +#: common/models.py:2432 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2436 +#: common/models.py:2437 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2438 +#: common/models.py:2439 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2444 +#: common/models.py:2445 msgid "Search Return Orders" msgstr "" -#: common/models.py:2445 +#: common/models.py:2446 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2450 +#: common/models.py:2451 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2452 +#: common/models.py:2453 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2458 +#: common/models.py:2459 msgid "Search Preview Results" msgstr "" -#: common/models.py:2460 +#: common/models.py:2461 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2466 +#: common/models.py:2467 msgid "Regex Search" msgstr "" -#: common/models.py:2467 +#: common/models.py:2468 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2472 +#: common/models.py:2473 msgid "Whole Word Search" msgstr "" -#: common/models.py:2473 +#: common/models.py:2474 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2478 +#: common/models.py:2479 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2479 +#: common/models.py:2480 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2484 +#: common/models.py:2485 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2485 +#: common/models.py:2486 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2490 +#: common/models.py:2491 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2491 +#: common/models.py:2492 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2496 +#: common/models.py:2497 msgid "Date Format" msgstr "" -#: common/models.py:2497 +#: common/models.py:2498 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2510 part/templates/part/detail.html:41 +#: common/models.py:2511 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2511 +#: common/models.py:2512 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2516 part/templates/part/detail.html:62 +#: common/models.py:2517 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2518 +#: common/models.py:2519 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2524 +#: common/models.py:2525 msgid "Table String Length" msgstr "" -#: common/models.py:2526 +#: common/models.py:2527 msgid "Maximum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2532 +#: common/models.py:2533 msgid "Receive error reports" msgstr "" -#: common/models.py:2533 +#: common/models.py:2534 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2538 +#: common/models.py:2539 msgid "Last used printing machines" msgstr "" -#: common/models.py:2539 +#: common/models.py:2540 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2559 common/models.py:2560 common/models.py:2717 -#: common/models.py:2718 common/models.py:2963 common/models.py:2964 -#: common/models.py:3287 common/models.py:3288 importer/models.py:89 -#: part/models.py:3319 part/models.py:3406 part/models.py:3480 -#: part/models.py:3508 plugin/models.py:274 plugin/models.py:275 +#: common/models.py:2560 common/models.py:2561 common/models.py:2718 +#: common/models.py:2719 common/models.py:2964 common/models.py:2965 +#: common/models.py:3288 common/models.py:3289 importer/models.py:89 +#: part/models.py:3306 part/models.py:3393 part/models.py:3467 +#: part/models.py:3495 plugin/models.py:274 plugin/models.py:275 #: report/templates/report/inventree_test_report.html:105 #: templates/js/translated/stock.js:3121 users/models.py:111 msgid "User" msgstr "" -#: common/models.py:2582 +#: common/models.py:2583 msgid "Price break quantity" msgstr "" -#: common/models.py:2589 company/serializers.py:517 order/admin.py:42 +#: common/models.py:2590 company/serializers.py:517 order/admin.py:42 #: order/models.py:1423 order/models.py:2410 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1892 #: templates/js/translated/pricing.js:621 @@ -3747,96 +3744,96 @@ msgstr "" msgid "Price" msgstr "" -#: common/models.py:2590 +#: common/models.py:2591 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2694 common/models.py:2879 +#: common/models.py:2695 common/models.py:2880 msgid "Endpoint" msgstr "" -#: common/models.py:2695 +#: common/models.py:2696 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2705 +#: common/models.py:2706 msgid "Name for this webhook" msgstr "" -#: common/models.py:2709 +#: common/models.py:2710 msgid "Is this webhook active" msgstr "" -#: common/models.py:2725 users/models.py:159 +#: common/models.py:2726 users/models.py:159 msgid "Token" msgstr "" -#: common/models.py:2726 +#: common/models.py:2727 msgid "Token for access" msgstr "" -#: common/models.py:2734 +#: common/models.py:2735 msgid "Secret" msgstr "" -#: common/models.py:2735 +#: common/models.py:2736 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2843 +#: common/models.py:2844 msgid "Message ID" msgstr "" -#: common/models.py:2844 +#: common/models.py:2845 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2852 +#: common/models.py:2853 msgid "Host" msgstr "" -#: common/models.py:2853 +#: common/models.py:2854 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2861 +#: common/models.py:2862 msgid "Header" msgstr "" -#: common/models.py:2862 +#: common/models.py:2863 msgid "Header of this message" msgstr "" -#: common/models.py:2869 +#: common/models.py:2870 msgid "Body" msgstr "" -#: common/models.py:2870 +#: common/models.py:2871 msgid "Body of this message" msgstr "" -#: common/models.py:2880 +#: common/models.py:2881 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2885 +#: common/models.py:2886 msgid "Worked on" msgstr "" -#: common/models.py:2886 +#: common/models.py:2887 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:3012 +#: common/models.py:3013 msgid "Id" msgstr "" -#: common/models.py:3014 templates/js/translated/company.js:965 +#: common/models.py:3015 templates/js/translated/company.js:965 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:3016 common/models.py:3271 company/models.py:146 +#: common/models.py:3017 common/models.py:3272 company/models.py:146 #: company/models.py:443 company/models.py:509 company/models.py:815 #: order/models.py:303 order/models.py:1378 order/models.py:1810 #: part/admin.py:55 part/models.py:1069 @@ -3853,217 +3850,217 @@ msgstr "" msgid "Link" msgstr "" -#: common/models.py:3018 templates/js/translated/news.js:60 +#: common/models.py:3019 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:3020 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:3021 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:103 msgid "Author" msgstr "" -#: common/models.py:3022 templates/js/translated/news.js:52 +#: common/models.py:3023 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:3025 +#: common/models.py:3026 msgid "Read" msgstr "" -#: common/models.py:3025 +#: common/models.py:3026 msgid "Was this news item read?" msgstr "" -#: common/models.py:3042 company/models.py:156 part/models.py:1079 +#: common/models.py:3043 company/models.py:156 part/models.py:1079 #: 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.html:35 -#: stock/templates/stock/item_base.html:133 templates/503.html:31 +#: stock/templates/stock/item_base.html:129 templates/503.html:31 #: templates/hover_image.html:7 templates/hover_image.html:9 #: templates/modals.html:6 msgid "Image" msgstr "" -#: common/models.py:3042 +#: common/models.py:3043 msgid "Image file" msgstr "" -#: common/models.py:3054 common/models.py:3255 +#: common/models.py:3055 common/models.py:3256 msgid "Target model type for this image" msgstr "" -#: common/models.py:3058 +#: common/models.py:3059 msgid "Target model ID for this image" msgstr "" -#: common/models.py:3080 +#: common/models.py:3081 msgid "Custom Unit" msgstr "" -#: common/models.py:3098 +#: common/models.py:3099 msgid "Unit symbol must be unique" msgstr "" -#: common/models.py:3113 +#: common/models.py:3114 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:3132 +#: common/models.py:3133 msgid "Unit name" msgstr "" -#: common/models.py:3139 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3140 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:3140 +#: common/models.py:3141 msgid "Optional unit symbol" msgstr "" -#: common/models.py:3146 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3147 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:3147 +#: common/models.py:3148 msgid "Unit definition" msgstr "" -#: common/models.py:3205 common/models.py:3262 stock/models.py:2552 +#: common/models.py:3206 common/models.py:3263 stock/models.py:2547 #: stock/serializers.py:244 templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:345 msgid "Attachment" msgstr "" -#: common/models.py:3217 +#: common/models.py:3218 msgid "Missing file" msgstr "" -#: common/models.py:3218 +#: common/models.py:3219 msgid "Missing external link" msgstr "" -#: common/models.py:3263 +#: common/models.py:3264 msgid "Select file to attach" msgstr "" -#: common/models.py:3278 templates/js/translated/attachment.js:120 +#: common/models.py:3279 templates/js/translated/attachment.js:120 #: templates/js/translated/attachment.js:360 msgid "Comment" msgstr "" -#: common/models.py:3279 +#: common/models.py:3280 msgid "Attachment comment" msgstr "" -#: common/models.py:3295 +#: common/models.py:3296 msgid "Upload date" msgstr "" -#: common/models.py:3296 +#: common/models.py:3297 msgid "Date the file was uploaded" msgstr "" -#: common/models.py:3300 +#: common/models.py:3301 msgid "File size" msgstr "" -#: common/models.py:3300 +#: common/models.py:3301 msgid "File size in bytes" msgstr "" -#: common/models.py:3338 common/serializers.py:588 +#: common/models.py:3339 common/serializers.py:604 msgid "Invalid model type specified for attachment" msgstr "" -#: common/models.py:3347 plugin/models.py:43 users/models.py:100 +#: common/models.py:3348 plugin/models.py:43 users/models.py:100 msgid "Key" msgstr "" -#: common/models.py:3348 +#: common/models.py:3349 msgid "Value that will be saved in the models database" msgstr "" -#: common/models.py:3351 +#: common/models.py:3352 msgid "Name of the state" msgstr "" -#: common/models.py:3355 +#: common/models.py:3356 msgid "Label" msgstr "" -#: common/models.py:3356 +#: common/models.py:3357 msgid "Label that will be displayed in the frontend" msgstr "" -#: common/models.py:3362 +#: common/models.py:3363 msgid "Color" msgstr "" -#: common/models.py:3363 +#: common/models.py:3364 msgid "Color that will be displayed in the frontend" msgstr "" -#: common/models.py:3366 +#: common/models.py:3367 msgid "Logical Key" msgstr "" -#: common/models.py:3368 +#: common/models.py:3369 msgid "State logical key that is equal to this custom state in business logic" msgstr "" -#: common/models.py:3376 +#: common/models.py:3377 msgid "Model" msgstr "" -#: common/models.py:3377 +#: common/models.py:3378 msgid "Model this state is associated with" msgstr "" -#: common/models.py:3381 +#: common/models.py:3382 msgid "Reference Status Set" msgstr "" -#: common/models.py:3382 +#: common/models.py:3383 msgid "Status set that is extended with this custom state" msgstr "" -#: common/models.py:3388 +#: common/models.py:3389 msgid "Custom State" msgstr "" -#: common/models.py:3389 +#: common/models.py:3390 msgid "Custom States" msgstr "" -#: common/models.py:3404 +#: common/models.py:3405 msgid "Model must be selected" msgstr "" -#: common/models.py:3407 +#: common/models.py:3408 msgid "Key must be selected" msgstr "" -#: common/models.py:3410 +#: common/models.py:3411 msgid "Logical key must be selected" msgstr "" -#: common/models.py:3414 +#: common/models.py:3415 msgid "Key must be different from logical key" msgstr "" -#: common/models.py:3418 +#: common/models.py:3419 msgid "Reference status must be selected" msgstr "" -#: common/models.py:3430 +#: common/models.py:3431 msgid "Reference status set not found" msgstr "" -#: common/models.py:3436 +#: common/models.py:3437 msgid "Key must be different from the logical keys of the reference status" msgstr "" -#: common/models.py:3442 +#: common/models.py:3443 msgid "Logical key must be in the logical keys of the reference status" msgstr "" @@ -4101,75 +4098,75 @@ msgstr "" msgid "Error raised by plugin" msgstr "" -#: common/serializers.py:402 +#: common/serializers.py:418 msgid "Is Running" msgstr "" -#: common/serializers.py:408 +#: common/serializers.py:424 msgid "Pending Tasks" msgstr "" -#: common/serializers.py:414 +#: common/serializers.py:430 msgid "Scheduled Tasks" msgstr "" -#: common/serializers.py:420 +#: common/serializers.py:436 msgid "Failed Tasks" msgstr "" -#: common/serializers.py:435 +#: common/serializers.py:451 msgid "Task ID" msgstr "" -#: common/serializers.py:435 +#: common/serializers.py:451 msgid "Unique task ID" msgstr "" -#: common/serializers.py:437 +#: common/serializers.py:453 msgid "Lock" msgstr "" -#: common/serializers.py:437 +#: common/serializers.py:453 msgid "Lock time" msgstr "" -#: common/serializers.py:439 +#: common/serializers.py:455 msgid "Task name" msgstr "" -#: common/serializers.py:441 +#: common/serializers.py:457 msgid "Function" msgstr "" -#: common/serializers.py:441 +#: common/serializers.py:457 msgid "Function name" msgstr "" -#: common/serializers.py:443 +#: common/serializers.py:459 msgid "Arguments" msgstr "" -#: common/serializers.py:443 +#: common/serializers.py:459 msgid "Task arguments" msgstr "" -#: common/serializers.py:446 +#: common/serializers.py:462 msgid "Keyword Arguments" msgstr "" -#: common/serializers.py:446 +#: common/serializers.py:462 msgid "Task keyword arguments" msgstr "" -#: common/serializers.py:556 +#: common/serializers.py:572 msgid "Filename" msgstr "" -#: common/serializers.py:563 report/api.py:100 report/serializers.py:53 +#: common/serializers.py:579 report/api.py:100 report/serializers.py:54 msgid "Model Type" msgstr "" -#: common/serializers.py:591 +#: common/serializers.py:607 msgid "User does not have permission to create or edit attachments for this model" msgstr "" @@ -4447,12 +4444,12 @@ msgstr "" #: company/models.py:467 company/models.py:584 company/models.py:808 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 -#: stock/templates/stock/item_base.html:217 +#: stock/templates/stock/item_base.html:213 msgid "Manufacturer Part" msgstr "" #: company/models.py:484 company/models.py:776 stock/models.py:791 -#: stock/serializers.py:452 stock/templates/stock/item_base.html:142 +#: stock/serializers.py:452 stock/templates/stock/item_base.html:138 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" @@ -4463,8 +4460,8 @@ msgstr "" #: company/models.py:495 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:567 -#: stock/templates/stock/item_base.html:207 +#: company/templates/company/supplier_part.html:145 part/serializers.py:565 +#: stock/templates/stock/item_base.html:203 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 #: templates/js/translated/company.js:1296 @@ -4479,7 +4476,7 @@ msgstr "" #: company/models.py:502 company/templates/company/manufacturer_part.html:101 #: company/templates/company/supplier_part.html:153 order/serializers.py:557 -#: part/serializers.py:577 templates/js/translated/company.js:351 +#: part/serializers.py:575 templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 #: templates/js/translated/company.js:1630 templates/js/translated/part.js:1807 @@ -4505,7 +4502,7 @@ msgid "Parameter name" msgstr "" #: company/models.py:597 report/templates/report/inventree_test_report.html:104 -#: stock/models.py:2544 templates/js/translated/company.js:1166 +#: stock/models.py:2539 templates/js/translated/company.js:1166 #: templates/js/translated/company.js:1419 templates/js/translated/part.js:1499 #: templates/js/translated/stock.js:1607 msgid "Value" @@ -4516,7 +4513,7 @@ msgid "Parameter value" msgstr "" #: company/models.py:605 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1159 part/models.py:3783 +#: part/admin.py:57 part/models.py:1159 part/models.py:3770 #: part/templates/part/part_base.html:300 #: templates/js/translated/company.js:1425 templates/js/translated/part.js:1518 #: templates/js/translated/part.js:1622 templates/js/translated/part.js:2376 @@ -4530,7 +4527,7 @@ msgstr "" #: company/models.py:659 company/templates/company/supplier_part.html:7 #: company/templates/company/supplier_part.html:24 order/api.py:440 #: order/serializers.py:492 stock/models.py:802 -#: stock/templates/stock/item_base.html:233 +#: stock/templates/stock/item_base.html:229 #: templates/js/translated/build.js:1055 #: templates/js/translated/company.js:1600 #: templates/js/translated/purchase_order.js:752 @@ -4553,9 +4550,9 @@ msgstr "" #: company/models.py:786 company/templates/company/company_base.html:87 #: company/templates/company/supplier_part.html:129 order/models.py:492 #: order/templates/order/order_base.html:141 part/bom.py:279 part/bom.py:314 -#: part/serializers.py:551 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:549 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 -#: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 +#: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:220 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:511 @@ -4570,7 +4567,7 @@ msgstr "" msgid "Select supplier" msgstr "" -#: company/models.py:793 part/serializers.py:562 +#: company/models.py:793 part/serializers.py:560 msgid "Supplier stock keeping unit" msgstr "" @@ -4591,7 +4588,7 @@ msgid "Supplier part description" msgstr "" #: company/models.py:832 company/templates/company/supplier_part.html:187 -#: order/serializers.py:699 part/admin.py:415 part/models.py:4301 +#: order/serializers.py:699 part/admin.py:415 part/models.py:4288 #: part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 @@ -4603,11 +4600,11 @@ msgstr "" msgid "Note" msgstr "" -#: company/models.py:841 part/models.py:2129 +#: company/models.py:841 part/models.py:2128 msgid "base cost" msgstr "" -#: company/models.py:842 part/models.py:2130 +#: company/models.py:842 part/models.py:2129 msgid "Minimum charge (e.g. stocking fee)" msgstr "" @@ -4629,7 +4626,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:876 part/models.py:2136 +#: company/models.py:876 part/models.py:2135 msgid "multiple" msgstr "" @@ -4661,7 +4658,7 @@ msgstr "" msgid "Company Name" msgstr "" -#: company/serializers.py:397 part/admin.py:126 part/serializers.py:919 +#: company/serializers.py:397 part/admin.py:126 part/serializers.py:917 #: part/templates/part/part_base.html:197 #: templates/js/translated/company.js:1689 #: templates/js/translated/table_filters.js:362 @@ -4735,7 +4732,7 @@ msgstr "" #: order/models.py:2140 order/templates/order/return_order_base.html:134 #: order/templates/order/sales_order_base.html:151 stock/models.py:844 #: stock/models.py:845 stock/serializers.py:1336 -#: stock/templates/stock/item_base.html:405 +#: stock/templates/stock/item_base.html:401 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 #: templates/js/translated/return_order.js:295 @@ -4939,7 +4936,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:925 +#: part/admin.py:122 part/serializers.py:923 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -5030,7 +5027,7 @@ msgid "No supplier information available" msgstr "" #: company/templates/company/supplier_part.html:139 order/serializers.py:554 -#: part/bom.py:286 part/bom.py:315 part/serializers.py:561 +#: part/bom.py:286 part/bom.py:315 part/serializers.py:559 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1793 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1920 @@ -5084,7 +5081,7 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:923 part/stocktake.py:223 +#: part/serializers.py:921 part/stocktake.py:223 #: part/templates/part/category.html:180 #: part/templates/part/category_sidebar.html:17 stock/admin.py:68 #: stock/serializers.py:1021 stock/serializers.py:1199 @@ -5215,7 +5212,7 @@ msgstr "" msgid "Original row data" msgstr "" -#: importer/models.py:504 part/models.py:3965 +#: importer/models.py:504 part/models.py:3952 msgid "Data" msgstr "" @@ -5473,7 +5470,7 @@ msgstr "" #: order/models.py:1592 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_purchase_order_report.html:14 -#: stock/serializers.py:121 stock/templates/stock/item_base.html:176 +#: stock/serializers.py:121 stock/templates/stock/item_base.html:172 #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/part.js:1752 templates/js/translated/pricing.js:804 #: templates/js/translated/purchase_order.js:168 @@ -5694,7 +5691,7 @@ msgid "Number of items received" msgstr "" #: order/models.py:1513 stock/models.py:963 stock/serializers.py:617 -#: stock/templates/stock/item_base.html:183 +#: stock/templates/stock/item_base.html:179 #: templates/js/translated/stock.js:2397 msgid "Purchase Price" msgstr "" @@ -5768,7 +5765,7 @@ msgid "User who checked this shipment" msgstr "" #: order/models.py:1788 order/models.py:2011 order/serializers.py:1479 -#: order/serializers.py:1589 templates/js/translated/model_renderers.js:455 +#: order/serializers.py:1597 templates/js/translated/model_renderers.js:455 msgid "Shipment" msgstr "" @@ -5982,7 +5979,7 @@ msgstr "" msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:656 order/serializers.py:779 order/serializers.py:1790 +#: order/serializers.py:656 order/serializers.py:779 order/serializers.py:1798 msgid "Select destination location for received items" msgstr "" @@ -6019,7 +6016,7 @@ msgstr "" msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:795 order/serializers.py:1806 +#: order/serializers.py:795 order/serializers.py:1814 msgid "Line items must be provided" msgstr "" @@ -6051,39 +6048,39 @@ msgstr "" msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1491 order/serializers.py:1597 +#: order/serializers.py:1491 order/serializers.py:1605 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1494 order/serializers.py:1600 +#: order/serializers.py:1494 order/serializers.py:1608 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1541 +#: order/serializers.py:1549 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1548 -msgid "The following serial numbers are already allocated" +#: order/serializers.py:1556 +msgid "The following serial numbers are unavailable" msgstr "" -#: order/serializers.py:1760 +#: order/serializers.py:1768 msgid "Return order line item" msgstr "" -#: order/serializers.py:1766 +#: order/serializers.py:1774 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1769 +#: order/serializers.py:1777 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1798 +#: order/serializers.py:1806 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1881 +#: order/serializers.py:1889 msgid "Line price currency" msgstr "" @@ -6510,7 +6507,7 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:48 part/models.py:1044 part/serializers.py:908 +#: part/admin.py:48 part/models.py:1044 part/serializers.py:906 #: part/templates/part/part_base.html:276 #: report/templates/report/inventree_stock_location_report.html:103 #: templates/js/translated/part.js:1233 templates/js/translated/part.js:2347 @@ -6537,7 +6534,7 @@ msgstr "" msgid "Category ID" msgstr "" -#: part/admin.py:67 part/admin.py:304 part/serializers.py:893 +#: part/admin.py:67 part/admin.py:304 part/serializers.py:891 #: part/stocktake.py:222 msgid "Category Name" msgstr "" @@ -6562,18 +6559,18 @@ msgstr "" msgid "Used In" msgstr "" -#: part/admin.py:150 part/serializers.py:918 +#: part/admin.py:150 part/serializers.py:916 #: part/templates/part/part_base.html:248 stock/admin.py:236 #: templates/js/translated/part.js:717 templates/js/translated/part.js:2159 msgid "Building" msgstr "" -#: part/admin.py:155 part/models.py:3214 part/models.py:3228 +#: part/admin.py:155 part/models.py:3201 part/models.py:3215 #: templates/js/translated/part.js:976 msgid "Minimum Cost" msgstr "" -#: part/admin.py:158 part/models.py:3221 part/models.py:3235 +#: part/admin.py:158 part/models.py:3208 part/models.py:3222 #: templates/js/translated/part.js:986 msgid "Maximum Cost" msgstr "" @@ -6592,7 +6589,7 @@ msgid "Category Path" msgstr "" #: part/admin.py:325 part/models.py:420 part/serializers.py:130 -#: part/serializers.py:290 part/serializers.py:428 +#: part/serializers.py:290 part/serializers.py:426 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:20 #: part/templates/part/category.html:138 part/templates/part/category.html:158 #: part/templates/part/category_sidebar.html:9 @@ -6619,13 +6616,13 @@ msgstr "" msgid "Part Revision" msgstr "" -#: part/admin.py:418 part/serializers.py:1367 +#: part/admin.py:418 part/serializers.py:1365 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:423 part/serializers.py:1382 +#: part/admin.py:423 part/serializers.py:1380 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -6719,8 +6716,8 @@ msgstr "" msgid "BOM Valid" msgstr "" -#: part/api.py:1520 part/models.py:1036 part/models.py:3501 part/models.py:4060 -#: part/serializers.py:443 part/serializers.py:1223 +#: part/api.py:1520 part/models.py:1036 part/models.py:3488 part/models.py:4047 +#: part/serializers.py:441 part/serializers.py:1221 #: part/templates/part/part_base.html:267 stock/api.py:780 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 @@ -6746,7 +6743,7 @@ msgstr "" msgid "Default Location" msgstr "" -#: part/bom.py:184 part/serializers.py:926 +#: part/bom.py:184 part/serializers.py:924 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -6755,7 +6752,7 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:89 part/models.py:4061 part/templates/part/category.html:16 +#: part/models.py:89 part/models.py:4048 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -6878,7 +6875,7 @@ msgstr "" msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:995 part/models.py:4116 +#: part/models.py:995 part/models.py:4103 msgid "Part name" msgstr "" @@ -6906,7 +6903,7 @@ msgstr "" msgid "Part category" msgstr "" -#: part/models.py:1052 part/serializers.py:360 +#: part/models.py:1052 msgid "Part revision or version number" msgstr "" @@ -7012,164 +7009,164 @@ msgid "Owner responsible for this part" msgstr "" #: part/models.py:1264 part/templates/part/part_base.html:355 -#: stock/templates/stock/item_base.html:451 +#: stock/templates/stock/item_base.html:447 #: templates/js/translated/part.js:2490 msgid "Last Stocktake" msgstr "" -#: part/models.py:2137 +#: part/models.py:2136 msgid "Sell multiple" msgstr "" -#: part/models.py:3128 +#: part/models.py:3115 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3144 +#: part/models.py:3131 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3145 +#: part/models.py:3132 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3151 +#: part/models.py:3138 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3152 +#: part/models.py:3139 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3158 +#: part/models.py:3145 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3159 +#: part/models.py:3146 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3165 +#: part/models.py:3152 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3166 +#: part/models.py:3153 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3172 +#: part/models.py:3159 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3173 +#: part/models.py:3160 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3179 +#: part/models.py:3166 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3180 +#: part/models.py:3167 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3186 +#: part/models.py:3173 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3187 +#: part/models.py:3174 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3193 +#: part/models.py:3180 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3194 +#: part/models.py:3181 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3200 +#: part/models.py:3187 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3201 +#: part/models.py:3188 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3207 +#: part/models.py:3194 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3208 +#: part/models.py:3195 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3215 +#: part/models.py:3202 msgid "Override minimum cost" msgstr "" -#: part/models.py:3222 +#: part/models.py:3209 msgid "Override maximum cost" msgstr "" -#: part/models.py:3229 +#: part/models.py:3216 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3236 +#: part/models.py:3223 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3242 +#: part/models.py:3229 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3243 +#: part/models.py:3230 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3249 +#: part/models.py:3236 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3250 +#: part/models.py:3237 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3256 +#: part/models.py:3243 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3257 +#: part/models.py:3244 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3263 +#: part/models.py:3250 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3264 +#: part/models.py:3251 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3283 +#: part/models.py:3270 msgid "Part for stocktake" msgstr "" -#: part/models.py:3288 +#: part/models.py:3275 msgid "Item Count" msgstr "" -#: part/models.py:3289 +#: part/models.py:3276 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3297 +#: part/models.py:3284 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3301 part/models.py:3384 +#: part/models.py:3288 part/models.py:3371 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -7181,363 +7178,363 @@ msgstr "" msgid "Date" msgstr "" -#: part/models.py:3302 +#: part/models.py:3289 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3310 +#: part/models.py:3297 msgid "Additional notes" msgstr "" -#: part/models.py:3320 +#: part/models.py:3307 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3326 +#: part/models.py:3313 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3327 +#: part/models.py:3314 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3333 +#: part/models.py:3320 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3334 +#: part/models.py:3321 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3390 templates/InvenTree/settings/settings_staff_js.html:532 +#: part/models.py:3377 templates/InvenTree/settings/settings_staff_js.html:532 msgid "Report" msgstr "" -#: part/models.py:3391 +#: part/models.py:3378 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3396 templates/InvenTree/settings/settings_staff_js.html:539 +#: part/models.py:3383 templates/InvenTree/settings/settings_staff_js.html:539 msgid "Part Count" msgstr "" -#: part/models.py:3397 +#: part/models.py:3384 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3407 +#: part/models.py:3394 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3417 +#: part/models.py:3404 msgid "Part Sale Price Break" msgstr "" -#: part/models.py:3529 +#: part/models.py:3516 msgid "Part Test Template" msgstr "" -#: part/models.py:3555 +#: part/models.py:3542 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3576 part/models.py:3745 +#: part/models.py:3563 part/models.py:3732 msgid "Choices must be unique" msgstr "" -#: part/models.py:3587 +#: part/models.py:3574 msgid "Test templates can only be created for testable parts" msgstr "" -#: part/models.py:3598 +#: part/models.py:3585 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3615 templates/js/translated/part.js:2898 +#: part/models.py:3602 templates/js/translated/part.js:2898 msgid "Test Name" msgstr "" -#: part/models.py:3616 +#: part/models.py:3603 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3622 +#: part/models.py:3609 msgid "Test Key" msgstr "" -#: part/models.py:3623 +#: part/models.py:3610 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3630 +#: part/models.py:3617 msgid "Test Description" msgstr "" -#: part/models.py:3631 +#: part/models.py:3618 msgid "Enter description for this test" msgstr "" -#: part/models.py:3635 report/models.py:208 +#: part/models.py:3622 report/models.py:216 #: templates/js/translated/part.js:2919 #: templates/js/translated/table_filters.js:502 msgid "Enabled" msgstr "" -#: part/models.py:3635 +#: part/models.py:3622 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3640 templates/js/translated/part.js:2927 +#: part/models.py:3627 templates/js/translated/part.js:2927 #: templates/js/translated/table_filters.js:498 msgid "Required" msgstr "" -#: part/models.py:3641 +#: part/models.py:3628 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3646 templates/js/translated/part.js:2935 +#: part/models.py:3633 templates/js/translated/part.js:2935 msgid "Requires Value" msgstr "" -#: part/models.py:3647 +#: part/models.py:3634 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3652 templates/js/translated/part.js:2942 +#: part/models.py:3639 templates/js/translated/part.js:2942 msgid "Requires Attachment" msgstr "" -#: part/models.py:3654 +#: part/models.py:3641 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3660 part/models.py:3804 templates/js/translated/part.js:1643 +#: part/models.py:3647 part/models.py:3791 templates/js/translated/part.js:1643 msgid "Choices" msgstr "" -#: part/models.py:3661 +#: part/models.py:3648 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3693 +#: part/models.py:3680 msgid "Part Parameter Template" msgstr "" -#: part/models.py:3720 +#: part/models.py:3707 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3725 +#: part/models.py:3712 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3762 +#: part/models.py:3749 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3777 +#: part/models.py:3764 msgid "Parameter Name" msgstr "" -#: part/models.py:3784 +#: part/models.py:3771 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3792 +#: part/models.py:3779 msgid "Parameter description" msgstr "" -#: part/models.py:3798 templates/js/translated/part.js:1634 +#: part/models.py:3785 templates/js/translated/part.js:1634 #: templates/js/translated/table_filters.js:837 msgid "Checkbox" msgstr "" -#: part/models.py:3799 +#: part/models.py:3786 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3805 +#: part/models.py:3792 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3839 +#: part/models.py:3826 msgid "Part Parameter" msgstr "" -#: part/models.py:3865 +#: part/models.py:3852 msgid "Parameter cannot be modified - part is locked" msgstr "" -#: part/models.py:3903 +#: part/models.py:3890 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3952 +#: part/models.py:3939 msgid "Parent Part" msgstr "" -#: part/models.py:3960 part/models.py:4068 part/models.py:4069 +#: part/models.py:3947 part/models.py:4055 part/models.py:4056 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3966 +#: part/models.py:3953 msgid "Parameter Value" msgstr "" -#: part/models.py:4016 +#: part/models.py:4003 msgid "Part Category Parameter Template" msgstr "" -#: part/models.py:4075 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:4062 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:4076 +#: part/models.py:4063 msgid "Default Parameter Value" msgstr "" -#: part/models.py:4114 +#: part/models.py:4101 msgid "Part ID or part name" msgstr "" -#: part/models.py:4115 +#: part/models.py:4102 msgid "Unique part ID value" msgstr "" -#: part/models.py:4117 +#: part/models.py:4104 msgid "Part IPN value" msgstr "" -#: part/models.py:4118 +#: part/models.py:4105 msgid "Level" msgstr "" -#: part/models.py:4118 +#: part/models.py:4105 msgid "BOM level" msgstr "" -#: part/models.py:4228 +#: part/models.py:4215 msgid "BOM item cannot be modified - assembly is locked" msgstr "" -#: part/models.py:4235 +#: part/models.py:4222 msgid "BOM item cannot be modified - variant assembly is locked" msgstr "" -#: part/models.py:4245 +#: part/models.py:4232 msgid "Select parent part" msgstr "" -#: part/models.py:4255 +#: part/models.py:4242 msgid "Sub part" msgstr "" -#: part/models.py:4256 +#: part/models.py:4243 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4267 +#: part/models.py:4254 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4273 +#: part/models.py:4260 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4279 +#: part/models.py:4266 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4286 part/templates/part/upload_bom.html:55 +#: part/models.py:4273 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4287 +#: part/models.py:4274 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4294 +#: part/models.py:4281 msgid "BOM item reference" msgstr "" -#: part/models.py:4302 +#: part/models.py:4289 msgid "BOM item notes" msgstr "" -#: part/models.py:4308 +#: part/models.py:4295 msgid "Checksum" msgstr "" -#: part/models.py:4309 +#: part/models.py:4296 msgid "BOM line checksum" msgstr "" -#: part/models.py:4314 templates/js/translated/table_filters.js:181 +#: part/models.py:4301 templates/js/translated/table_filters.js:181 msgid "Validated" msgstr "" -#: part/models.py:4315 +#: part/models.py:4302 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4320 part/templates/part/upload_bom.html:57 +#: part/models.py:4307 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:185 #: templates/js/translated/table_filters.js:218 msgid "Gets inherited" msgstr "" -#: part/models.py:4321 +#: part/models.py:4308 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4327 +#: part/models.py:4314 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4412 stock/models.py:689 +#: part/models.py:4399 stock/models.py:689 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4422 part/models.py:4424 +#: part/models.py:4409 part/models.py:4411 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4561 +#: part/models.py:4554 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4582 +#: part/models.py:4575 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4595 +#: part/models.py:4588 msgid "Parent BOM item" msgstr "" -#: part/models.py:4603 +#: part/models.py:4596 msgid "Substitute part" msgstr "" -#: part/models.py:4619 +#: part/models.py:4612 msgid "Part 1" msgstr "" -#: part/models.py:4627 +#: part/models.py:4620 msgid "Part 2" msgstr "" -#: part/models.py:4628 +#: part/models.py:4621 msgid "Select Related Part" msgstr "" -#: part/models.py:4647 +#: part/models.py:4640 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4652 +#: part/models.py:4645 msgid "Duplicate relationship already exists" msgstr "" @@ -7571,326 +7568,326 @@ msgstr "" msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:434 +#: part/serializers.py:432 msgid "No parts selected" msgstr "" -#: part/serializers.py:444 +#: part/serializers.py:442 msgid "Select category" msgstr "" -#: part/serializers.py:479 +#: part/serializers.py:477 msgid "Original Part" msgstr "" -#: part/serializers.py:480 +#: part/serializers.py:478 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:485 +#: part/serializers.py:483 msgid "Copy Image" msgstr "" -#: part/serializers.py:486 +#: part/serializers.py:484 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:492 part/templates/part/detail.html:293 +#: part/serializers.py:490 part/templates/part/detail.html:293 msgid "Copy BOM" msgstr "" -#: part/serializers.py:493 +#: part/serializers.py:491 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:499 +#: part/serializers.py:497 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:500 +#: part/serializers.py:498 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:506 +#: part/serializers.py:504 msgid "Copy Notes" msgstr "" -#: part/serializers.py:507 +#: part/serializers.py:505 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:525 +#: part/serializers.py:523 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:527 +#: part/serializers.py:525 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:534 +#: part/serializers.py:532 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:535 +#: part/serializers.py:533 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:552 +#: part/serializers.py:550 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:568 +#: part/serializers.py:566 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:578 +#: part/serializers.py:576 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:585 +#: part/serializers.py:583 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:594 +#: part/serializers.py:592 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:605 +#: part/serializers.py:603 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:612 +#: part/serializers.py:610 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:924 +#: part/serializers.py:922 msgid "Revisions" msgstr "" -#: part/serializers.py:929 +#: part/serializers.py:927 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:932 +#: part/serializers.py:930 msgid "Variant Stock" msgstr "" -#: part/serializers.py:962 part/templates/part/copy_part.html:9 +#: part/serializers.py:960 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:474 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:963 +#: part/serializers.py:961 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:969 templates/js/translated/part.js:103 +#: part/serializers.py:967 templates/js/translated/part.js:103 msgid "Initial Stock" msgstr "" -#: part/serializers.py:970 +#: part/serializers.py:968 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:976 +#: part/serializers.py:974 msgid "Supplier Information" msgstr "" -#: part/serializers.py:977 +#: part/serializers.py:975 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:985 +#: part/serializers.py:983 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:986 +#: part/serializers.py:984 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:991 +#: part/serializers.py:989 msgid "Existing Image" msgstr "" -#: part/serializers.py:992 +#: part/serializers.py:990 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:1009 +#: part/serializers.py:1007 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1215 +#: part/serializers.py:1213 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1225 +#: part/serializers.py:1223 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1235 +#: part/serializers.py:1233 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1241 +#: part/serializers.py:1239 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1242 +#: part/serializers.py:1240 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1247 +#: part/serializers.py:1245 msgid "Generate Report" msgstr "" -#: part/serializers.py:1248 +#: part/serializers.py:1246 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1253 +#: part/serializers.py:1251 msgid "Update Parts" msgstr "" -#: part/serializers.py:1254 +#: part/serializers.py:1252 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1262 +#: part/serializers.py:1260 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1368 +#: part/serializers.py:1366 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1375 +#: part/serializers.py:1373 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1383 +#: part/serializers.py:1381 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1390 +#: part/serializers.py:1388 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1419 +#: part/serializers.py:1417 msgid "Update" msgstr "" -#: part/serializers.py:1420 +#: part/serializers.py:1418 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1443 +#: part/serializers.py:1441 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1450 +#: part/serializers.py:1448 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1453 +#: part/serializers.py:1451 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1597 +#: part/serializers.py:1595 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1606 +#: part/serializers.py:1604 msgid "Component Name" msgstr "" -#: part/serializers.py:1609 +#: part/serializers.py:1607 msgid "Component IPN" msgstr "" -#: part/serializers.py:1612 +#: part/serializers.py:1610 msgid "Component Description" msgstr "" -#: part/serializers.py:1618 +#: part/serializers.py:1616 msgid "Select the component part" msgstr "" -#: part/serializers.py:1627 part/templates/part/part_base.html:242 +#: part/serializers.py:1625 part/templates/part/part_base.html:242 #: templates/js/translated/bom.js:1219 msgid "Can Build" msgstr "" -#: part/serializers.py:1858 +#: part/serializers.py:1856 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1866 +#: part/serializers.py:1864 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1867 +#: part/serializers.py:1865 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1872 +#: part/serializers.py:1870 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1873 +#: part/serializers.py:1871 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1878 +#: part/serializers.py:1876 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1879 +#: part/serializers.py:1877 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1884 +#: part/serializers.py:1882 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1885 +#: part/serializers.py:1883 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1922 +#: part/serializers.py:1920 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1923 +#: part/serializers.py:1921 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1955 +#: part/serializers.py:1953 msgid "No part column specified" msgstr "" -#: part/serializers.py:1999 +#: part/serializers.py:1997 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:2002 +#: part/serializers.py:2000 msgid "No matching part found" msgstr "" -#: part/serializers.py:2004 +#: part/serializers.py:2002 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:2013 +#: part/serializers.py:2011 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:2021 +#: part/serializers.py:2019 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:2044 +#: part/serializers.py:2042 msgid "At least one BOM item is required" msgstr "" @@ -8216,7 +8213,7 @@ msgid "Subscribe to notifications for this part" msgstr "" #: part/templates/part/part_base.html:52 -#: stock/templates/stock/item_base.html:62 +#: stock/templates/stock/item_base.html:61 #: stock/templates/stock/location.html:71 templates/js/translated/label.js:136 msgid "Print Label" msgstr "" @@ -8226,7 +8223,7 @@ msgid "Show pricing information" msgstr "" #: part/templates/part/part_base.html:63 -#: stock/templates/stock/item_base.html:110 +#: stock/templates/stock/item_base.html:106 #: stock/templates/stock/location.html:80 msgid "Stock actions" msgstr "" @@ -8297,12 +8294,12 @@ msgid "Required for Orders" msgstr "" #: part/templates/part/part_base.html:225 -#: stock/templates/stock/item_base.html:388 +#: stock/templates/stock/item_base.html:384 msgid "Allocated to Build Orders" msgstr "" #: part/templates/part/part_base.html:234 -#: stock/templates/stock/item_base.html:381 +#: stock/templates/stock/item_base.html:377 msgid "Allocated to Sales Orders" msgstr "" @@ -8322,7 +8319,7 @@ msgid "Latest Serial Number" msgstr "" #: part/templates/part/part_base.html:372 -#: stock/templates/stock/item_base.html:322 +#: stock/templates/stock/item_base.html:318 msgid "Search for serial number" msgstr "" @@ -8449,7 +8446,7 @@ msgid "Edit" msgstr "" #: part/templates/part/prices.html:28 stock/admin.py:252 -#: stock/templates/stock/item_base.html:446 +#: stock/templates/stock/item_base.html:442 #: templates/js/translated/company.js:1703 #: templates/js/translated/company.js:1713 #: templates/js/translated/stock.js:2332 @@ -8604,7 +8601,7 @@ msgstr "" msgid "Part Pricing" msgstr "" -#: plugin/api.py:172 +#: plugin/api.py:174 msgid "Plugin cannot be deleted as it is currently active" msgstr "" @@ -8940,7 +8937,7 @@ msgstr "" msgid "Print a border around each label" msgstr "" -#: plugin/builtin/labels/label_sheet.py:47 report/models.py:307 +#: plugin/builtin/labels/label_sheet.py:47 report/models.py:315 msgid "Landscape" msgstr "" @@ -9012,44 +9009,44 @@ msgstr "" msgid "The Supplier which acts as 'TME'" msgstr "" -#: plugin/installer.py:194 plugin/installer.py:274 +#: plugin/installer.py:199 plugin/installer.py:282 msgid "Only staff users can administer plugins" msgstr "" -#: plugin/installer.py:197 +#: plugin/installer.py:202 msgid "Plugin installation is disabled" msgstr "" -#: plugin/installer.py:241 +#: plugin/installer.py:246 msgid "Installed plugin successfully" msgstr "" -#: plugin/installer.py:246 +#: plugin/installer.py:251 #, python-brace-format msgid "Installed plugin into {path}" msgstr "" -#: plugin/installer.py:265 +#: plugin/installer.py:273 msgid "Plugin was not found in registry" msgstr "" -#: plugin/installer.py:268 +#: plugin/installer.py:276 msgid "Plugin is not a packaged plugin" msgstr "" -#: plugin/installer.py:271 +#: plugin/installer.py:279 msgid "Plugin package name not found" msgstr "" -#: plugin/installer.py:291 +#: plugin/installer.py:299 msgid "Plugin uninstalling is disabled" msgstr "" -#: plugin/installer.py:295 +#: plugin/installer.py:303 msgid "Plugin cannot be uninstalled as it is currently active" msgstr "" -#: plugin/installer.py:308 +#: plugin/installer.py:316 msgid "Uninstalled plugin successfully" msgstr "" @@ -9098,7 +9095,7 @@ msgstr "" msgid "Package Plugin" msgstr "" -#: plugin/models.py:220 report/models.py:474 +#: plugin/models.py:220 report/models.py:482 #: templates/InvenTree/settings/plugin_settings.html:9 #: templates/js/translated/plugin.js:51 msgid "Plugin" @@ -9167,6 +9164,38 @@ msgstr "" msgid "InvenTree Contributors" msgstr "" +#: plugin/samples/integration/user_interface_sample.py:22 +msgid "Enable Part Panels" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:23 +msgid "Enable custom panels for Part views" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:28 +msgid "Enable Purchase Order Panels" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:29 +msgid "Enable custom panels for Purchase Order views" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:34 +msgid "Enable Broken Panels" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:35 +msgid "Enable broken panels for testing" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:40 +msgid "Enable Dynamic Panel" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:41 +msgid "Enable dynamic panels for testing" +msgstr "" + #: plugin/serializers.py:81 msgid "Source URL" msgstr "" @@ -9245,12 +9274,36 @@ msgstr "" msgid "Delete the plugin configuration from the database" msgstr "" +#: plugin/serializers.py:324 +msgid "Plugin Key" +msgstr "" + +#: plugin/serializers.py:328 +msgid "Panel Name" +msgstr "" + +#: plugin/serializers.py:332 +msgid "Panel Title" +msgstr "" + +#: plugin/serializers.py:337 +msgid "Panel Icon" +msgstr "" + +#: plugin/serializers.py:341 +msgid "Panel Content (HTML)" +msgstr "" + +#: plugin/serializers.py:345 +msgid "Panel Source (javascript)" +msgstr "" + #: report/api.py:88 msgid "No valid objects provided to template" msgstr "" -#: report/api.py:103 report/models.py:438 report/serializers.py:98 -#: report/serializers.py:148 templates/js/translated/purchase_order.js:1817 +#: report/api.py:103 report/models.py:446 report/serializers.py:99 +#: report/serializers.py:149 templates/js/translated/purchase_order.js:1817 #: templates/js/translated/return_order.js:353 #: templates/js/translated/sales_order.js:887 #: templates/js/translated/sales_order.js:1047 @@ -9281,7 +9334,11 @@ msgstr "" msgid "Error printing label" msgstr "" -#: report/api.py:375 report/api.py:411 +#: report/api.py:358 +msgid "Report saved at time of printing" +msgstr "" + +#: report/api.py:384 report/api.py:420 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" @@ -9318,135 +9375,143 @@ msgstr "" msgid "Revision number (auto-increments)" msgstr "" -#: report/models.py:202 +#: report/models.py:168 +msgid "Attach to Model on Print" +msgstr "" + +#: report/models.py:170 +msgid "Save report output as an attachment against linked model instance when printing" +msgstr "" + +#: report/models.py:210 msgid "Filename Pattern" msgstr "" -#: report/models.py:203 +#: report/models.py:211 msgid "Pattern for generating filenames" msgstr "" -#: report/models.py:208 +#: report/models.py:216 msgid "Template is enabled" msgstr "" -#: report/models.py:214 +#: report/models.py:222 msgid "Target model type for template" msgstr "" -#: report/models.py:234 +#: report/models.py:242 msgid "Filters" msgstr "" -#: report/models.py:235 +#: report/models.py:243 msgid "Template query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:294 report/models.py:361 +#: report/models.py:302 report/models.py:369 msgid "Template file" msgstr "" -#: report/models.py:302 +#: report/models.py:310 msgid "Page size for PDF reports" msgstr "" -#: report/models.py:308 +#: report/models.py:316 msgid "Render report in landscape orientation" msgstr "" -#: report/models.py:367 +#: report/models.py:375 msgid "Width [mm]" msgstr "" -#: report/models.py:368 +#: report/models.py:376 msgid "Label width, specified in mm" msgstr "" -#: report/models.py:374 +#: report/models.py:382 msgid "Height [mm]" msgstr "" -#: report/models.py:375 +#: report/models.py:383 msgid "Label height, specified in mm" msgstr "" -#: report/models.py:438 +#: report/models.py:446 msgid "Number of items to process" msgstr "" -#: report/models.py:444 +#: report/models.py:452 msgid "Report generation is complete" msgstr "" -#: report/models.py:448 templates/js/translated/build.js:2352 +#: report/models.py:456 templates/js/translated/build.js:2352 msgid "Progress" msgstr "" -#: report/models.py:448 +#: report/models.py:456 msgid "Report generation progress" msgstr "" -#: report/models.py:456 +#: report/models.py:464 msgid "Report Template" msgstr "" -#: report/models.py:463 report/models.py:486 +#: report/models.py:471 report/models.py:494 msgid "Output File" msgstr "" -#: report/models.py:464 report/models.py:487 +#: report/models.py:472 report/models.py:495 msgid "Generated output file" msgstr "" -#: report/models.py:475 +#: report/models.py:483 msgid "Label output plugin" msgstr "" -#: report/models.py:479 +#: report/models.py:487 msgid "Label Template" msgstr "" -#: report/models.py:502 +#: report/models.py:510 msgid "Snippet" msgstr "" -#: report/models.py:503 +#: report/models.py:511 msgid "Report snippet file" msgstr "" -#: report/models.py:510 +#: report/models.py:518 msgid "Snippet file description" msgstr "" -#: report/models.py:528 +#: report/models.py:536 msgid "Asset" msgstr "" -#: report/models.py:529 +#: report/models.py:537 msgid "Report asset file" msgstr "" -#: report/models.py:536 +#: report/models.py:544 msgid "Asset file description" msgstr "" -#: report/serializers.py:91 +#: report/serializers.py:92 msgid "Select report template" msgstr "" -#: report/serializers.py:99 report/serializers.py:149 +#: report/serializers.py:100 report/serializers.py:150 msgid "List of item primary keys to include in the report" msgstr "" -#: report/serializers.py:132 +#: report/serializers.py:133 msgid "Select label template" msgstr "" -#: report/serializers.py:140 +#: report/serializers.py:141 msgid "Printing Plugin" msgstr "" -#: report/serializers.py:141 +#: report/serializers.py:142 msgid "Select plugin to use for label printing" msgstr "" @@ -9517,7 +9582,7 @@ msgstr "" msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report.html:103 stock/models.py:2538 +#: report/templates/report/inventree_test_report.html:103 stock/models.py:2533 msgid "Result" msgstr "" @@ -9598,7 +9663,7 @@ msgid "Customer ID" msgstr "" #: stock/admin.py:206 stock/models.py:829 -#: stock/templates/stock/item_base.html:354 +#: stock/templates/stock/item_base.html:350 msgid "Installed In" msgstr "" @@ -9623,7 +9688,7 @@ msgid "Delete on Deplete" msgstr "" #: stock/admin.py:261 stock/models.py:923 -#: stock/templates/stock/item_base.html:433 +#: stock/templates/stock/item_base.html:429 #: templates/js/translated/stock.js:2316 users/models.py:124 msgid "Expiry Date" msgstr "" @@ -9665,7 +9730,7 @@ msgid "Expiry date after" msgstr "" #: stock/api.py:839 stock/serializers.py:611 -#: stock/templates/stock/item_base.html:439 +#: stock/templates/stock/item_base.html:435 #: templates/js/translated/table_filters.js:448 msgid "Stale" msgstr "" @@ -9715,7 +9780,7 @@ msgid "Stock Locations" msgstr "" #: stock/models.py:185 stock/models.py:972 -#: stock/templates/stock/item_base.html:247 +#: stock/templates/stock/item_base.html:243 msgid "Owner" msgstr "" @@ -9826,7 +9891,7 @@ msgstr "" msgid "Build for this stock item" msgstr "" -#: stock/models.py:892 stock/templates/stock/item_base.html:363 +#: stock/models.py:892 stock/templates/stock/item_base.html:359 msgid "Consumed By" msgstr "" @@ -9891,7 +9956,7 @@ msgstr "" msgid "Serial numbers already exist" msgstr "" -#: stock/models.py:1636 +#: stock/models.py:1636 stock/models.py:2436 msgid "Test template does not exist" msgstr "" @@ -9939,67 +10004,67 @@ msgstr "" msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2337 +#: stock/models.py:2335 msgid "Stock Item Tracking" msgstr "" -#: stock/models.py:2370 +#: stock/models.py:2368 msgid "Entry notes" msgstr "" -#: stock/models.py:2410 +#: stock/models.py:2408 msgid "Stock Item Test Result" msgstr "" -#: stock/models.py:2443 +#: stock/models.py:2439 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2448 +#: stock/models.py:2443 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2453 +#: stock/models.py:2448 msgid "Invalid value for this test" msgstr "" -#: stock/models.py:2538 +#: stock/models.py:2533 msgid "Test result" msgstr "" -#: stock/models.py:2545 +#: stock/models.py:2540 msgid "Test output value" msgstr "" -#: stock/models.py:2553 stock/serializers.py:245 +#: stock/models.py:2548 stock/serializers.py:245 msgid "Test result attachment" msgstr "" -#: stock/models.py:2557 +#: stock/models.py:2552 msgid "Test notes" msgstr "" -#: stock/models.py:2565 templates/js/translated/stock.js:1633 +#: stock/models.py:2560 templates/js/translated/stock.js:1633 msgid "Test station" msgstr "" -#: stock/models.py:2566 +#: stock/models.py:2561 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2572 +#: stock/models.py:2567 msgid "Started" msgstr "" -#: stock/models.py:2573 +#: stock/models.py:2568 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2579 +#: stock/models.py:2574 msgid "Finished" msgstr "" -#: stock/models.py:2580 +#: stock/models.py:2575 msgid "The timestamp of the test finish" msgstr "" @@ -10059,7 +10124,7 @@ msgstr "" msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:459 stock/templates/stock/item_base.html:193 +#: stock/serializers.py:459 stock/templates/stock/item_base.html:189 msgid "Parent Item" msgstr "" @@ -10071,7 +10136,7 @@ msgstr "" msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:603 stock/templates/stock/item_base.html:437 +#: stock/serializers.py:603 stock/templates/stock/item_base.html:433 #: templates/js/translated/table_filters.js:442 users/models.py:174 msgid "Expired" msgstr "" @@ -10410,7 +10475,7 @@ msgstr "" msgid "Test Data" msgstr "" -#: stock/templates/stock/item.html:85 stock/templates/stock/item_base.html:65 +#: stock/templates/stock/item.html:85 msgid "Test Report" msgstr "" @@ -10450,200 +10515,204 @@ msgstr "" msgid "Scan to Location" msgstr "" -#: stock/templates/stock/item_base.html:59 +#: stock/templates/stock/item_base.html:58 #: stock/templates/stock/location.html:67 #: templates/js/translated/filters.js:434 msgid "Printing actions" msgstr "" -#: stock/templates/stock/item_base.html:75 +#: stock/templates/stock/item_base.html:63 templates/js/translated/report.js:49 +msgid "Print Report" +msgstr "" + +#: stock/templates/stock/item_base.html:71 msgid "Stock adjustment actions" msgstr "" -#: stock/templates/stock/item_base.html:79 +#: stock/templates/stock/item_base.html:75 #: stock/templates/stock/location.html:87 templates/js/translated/stock.js:1909 msgid "Count stock" msgstr "" -#: stock/templates/stock/item_base.html:81 +#: stock/templates/stock/item_base.html:77 #: templates/js/translated/stock.js:1891 msgid "Add stock" msgstr "" -#: stock/templates/stock/item_base.html:82 +#: stock/templates/stock/item_base.html:78 #: templates/js/translated/stock.js:1900 msgid "Remove stock" msgstr "" -#: stock/templates/stock/item_base.html:85 +#: stock/templates/stock/item_base.html:81 msgid "Serialize stock" msgstr "" -#: stock/templates/stock/item_base.html:88 +#: stock/templates/stock/item_base.html:84 #: stock/templates/stock/location.html:93 templates/js/translated/stock.js:1918 msgid "Transfer stock" msgstr "" -#: stock/templates/stock/item_base.html:91 +#: stock/templates/stock/item_base.html:87 #: templates/js/translated/stock.js:1973 msgid "Assign to customer" msgstr "" -#: stock/templates/stock/item_base.html:94 +#: stock/templates/stock/item_base.html:90 msgid "Return to stock" msgstr "" -#: stock/templates/stock/item_base.html:97 +#: stock/templates/stock/item_base.html:93 msgid "Uninstall stock item" msgstr "" -#: stock/templates/stock/item_base.html:97 +#: stock/templates/stock/item_base.html:93 msgid "Uninstall" msgstr "" -#: stock/templates/stock/item_base.html:101 +#: stock/templates/stock/item_base.html:97 msgid "Install stock item" msgstr "" -#: stock/templates/stock/item_base.html:101 +#: stock/templates/stock/item_base.html:97 msgid "Install" msgstr "" -#: stock/templates/stock/item_base.html:115 +#: stock/templates/stock/item_base.html:111 msgid "Convert to variant" msgstr "" -#: stock/templates/stock/item_base.html:118 +#: stock/templates/stock/item_base.html:114 msgid "Duplicate stock item" msgstr "" -#: stock/templates/stock/item_base.html:120 +#: stock/templates/stock/item_base.html:116 msgid "Edit stock item" msgstr "" -#: stock/templates/stock/item_base.html:123 +#: stock/templates/stock/item_base.html:119 msgid "Delete stock item" msgstr "" -#: stock/templates/stock/item_base.html:169 templates/InvenTree/search.html:139 +#: stock/templates/stock/item_base.html:165 templates/InvenTree/search.html:139 #: templates/js/translated/build.js:2298 templates/navbar.html:38 msgid "Build" msgstr "" -#: stock/templates/stock/item_base.html:211 +#: stock/templates/stock/item_base.html:207 msgid "No manufacturer set" msgstr "" -#: stock/templates/stock/item_base.html:251 +#: stock/templates/stock/item_base.html:247 msgid "You are not in the list of owners of this item. This stock item cannot be edited." msgstr "" -#: stock/templates/stock/item_base.html:252 +#: stock/templates/stock/item_base.html:248 #: stock/templates/stock/location.html:146 msgid "Read only" msgstr "" -#: stock/templates/stock/item_base.html:265 +#: stock/templates/stock/item_base.html:261 msgid "This stock item is unavailable" msgstr "" -#: stock/templates/stock/item_base.html:271 +#: stock/templates/stock/item_base.html:267 msgid "This stock item is in production and cannot be edited." msgstr "" -#: stock/templates/stock/item_base.html:272 +#: stock/templates/stock/item_base.html:268 msgid "Edit the stock item from the build view." msgstr "" -#: stock/templates/stock/item_base.html:287 +#: stock/templates/stock/item_base.html:283 msgid "This stock item is allocated to Sales Order" msgstr "" -#: stock/templates/stock/item_base.html:295 +#: stock/templates/stock/item_base.html:291 msgid "This stock item is allocated to Build Order" msgstr "" -#: stock/templates/stock/item_base.html:311 +#: stock/templates/stock/item_base.html:307 msgid "This stock item is serialized. It has a unique serial number and the quantity cannot be adjusted" msgstr "" -#: stock/templates/stock/item_base.html:317 +#: stock/templates/stock/item_base.html:313 msgid "previous page" msgstr "" -#: stock/templates/stock/item_base.html:317 +#: stock/templates/stock/item_base.html:313 msgid "Navigate to previous serial number" msgstr "" -#: stock/templates/stock/item_base.html:326 +#: stock/templates/stock/item_base.html:322 msgid "next page" msgstr "" -#: stock/templates/stock/item_base.html:326 +#: stock/templates/stock/item_base.html:322 msgid "Navigate to next serial number" msgstr "" -#: stock/templates/stock/item_base.html:398 +#: stock/templates/stock/item_base.html:394 #: templates/js/translated/build.js:2555 msgid "No location set" msgstr "" -#: stock/templates/stock/item_base.html:413 +#: stock/templates/stock/item_base.html:409 msgid "Tests" msgstr "" -#: stock/templates/stock/item_base.html:419 +#: stock/templates/stock/item_base.html:415 msgid "This stock item has not passed all required tests" msgstr "" -#: stock/templates/stock/item_base.html:437 +#: stock/templates/stock/item_base.html:433 #, python-format msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:439 +#: stock/templates/stock/item_base.html:435 #, python-format msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:455 +#: stock/templates/stock/item_base.html:451 msgid "No stocktake performed" msgstr "" -#: stock/templates/stock/item_base.html:504 +#: stock/templates/stock/item_base.html:500 #: templates/js/translated/stock.js:2038 msgid "stock item" msgstr "" -#: stock/templates/stock/item_base.html:527 +#: stock/templates/stock/item_base.html:523 msgid "Edit Stock Status" msgstr "" -#: stock/templates/stock/item_base.html:536 +#: stock/templates/stock/item_base.html:532 msgid "Stock Item QR Code" msgstr "" -#: stock/templates/stock/item_base.html:547 +#: stock/templates/stock/item_base.html:543 msgid "Link Barcode to Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:611 +#: stock/templates/stock/item_base.html:607 msgid "Select one of the part variants listed below." msgstr "" -#: stock/templates/stock/item_base.html:614 +#: stock/templates/stock/item_base.html:610 msgid "Warning" msgstr "" -#: stock/templates/stock/item_base.html:615 +#: stock/templates/stock/item_base.html:611 msgid "This action cannot be easily undone" msgstr "" -#: stock/templates/stock/item_base.html:623 +#: stock/templates/stock/item_base.html:619 msgid "Convert Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:656 +#: stock/templates/stock/item_base.html:652 msgid "Return to Stock" msgstr "" @@ -11310,7 +11379,7 @@ msgid "Delete Location Type" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:503 -#: templates/InvenTree/settings/stock.html:38 +#: templates/InvenTree/settings/stock.html:39 msgid "New Location Type" msgstr "" @@ -11367,7 +11436,7 @@ msgstr "" msgid "Stock Settings" msgstr "" -#: templates/InvenTree/settings/stock.html:34 +#: templates/InvenTree/settings/stock.html:35 msgid "Stock Location Types" msgstr "" @@ -11852,23 +11921,23 @@ msgstr "" msgid "Barcode Identifier" msgstr "" -#: templates/base.html:103 +#: templates/base.html:102 msgid "Server Restart Required" msgstr "" -#: templates/base.html:106 +#: templates/base.html:105 msgid "A configuration option has been changed which requires a server restart" msgstr "" -#: templates/base.html:106 templates/base.html:116 +#: templates/base.html:105 templates/base.html:115 msgid "Contact your system administrator for further information" msgstr "" -#: templates/base.html:113 +#: templates/base.html:112 msgid "Pending Database Migrations" msgstr "" -#: templates/base.html:116 +#: templates/base.html:115 msgid "There are pending database migrations which require attention" msgstr "" @@ -13946,10 +14015,6 @@ msgstr "" msgid "Delete line item" msgstr "" -#: templates/js/translated/report.js:49 -msgid "Print Report" -msgstr "" - #: templates/js/translated/report.js:68 msgid "Report print successful" msgstr "" diff --git a/src/backend/InvenTree/locale/vi/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/vi/LC_MESSAGES/django.po index 7b4e7fd6939e..484bbffde7ca 100644 --- a/src/backend/InvenTree/locale/vi/LC_MESSAGES/django.po +++ b/src/backend/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: 2024-08-29 07:07+0000\n" -"PO-Revision-Date: 2024-08-29 07:10\n" +"POT-Creation-Date: 2024-09-16 00:37+0000\n" +"PO-Revision-Date: 2024-09-16 00:40\n" "Last-Translator: \n" "Language-Team: Vietnamese\n" "Language: vi_VN\n" @@ -65,9 +65,9 @@ msgstr "Nhập ngày" #: 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:59 -#: part/models.py:3309 part/templates/part/part_sidebar.html:65 +#: part/models.py:3296 part/templates/part/part_sidebar.html:65 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/admin.py:231 stock/models.py:2369 stock/models.py:2557 +#: stock/admin.py:231 stock/models.py:2367 stock/models.py:2552 #: stock/serializers.py:705 stock/serializers.py:863 stock/serializers.py:989 #: stock/serializers.py:1039 stock/serializers.py:1350 #: stock/serializers.py:1439 stock/serializers.py:1604 @@ -364,7 +364,7 @@ msgstr "Tiếng Trung (Phồn thể)" msgid "[{site_name}] Log in to the app" msgstr "[{site_name}] Đăng nhập vào ứng dụng" -#: InvenTree/magic_login.py:38 InvenTree/serializers.py:413 +#: InvenTree/magic_login.py:38 InvenTree/serializers.py:416 #: company/models.py:133 company/templates/company/company_base.html:138 #: templates/InvenTree/settings/user.html:49 #: templates/js/translated/company.js:677 @@ -419,9 +419,9 @@ msgstr "Tên trùng lặp không thể tồn tại trong cùng cấp thư mục" msgid "Invalid choice" msgstr "Lựa chọn sai" -#: InvenTree/models.py:767 common/models.py:2704 common/models.py:3131 -#: common/models.py:3351 common/serializers.py:439 company/models.py:590 -#: machine/models.py:24 part/models.py:995 part/models.py:3776 +#: InvenTree/models.py:767 common/models.py:2705 common/models.py:3132 +#: common/models.py:3352 common/serializers.py:455 company/models.py:590 +#: machine/models.py:24 part/models.py:995 part/models.py:3763 #: plugin/models.py:51 report/models.py:149 stock/models.py:82 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -446,10 +446,10 @@ msgstr "Tên" #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 order/models.py:289 #: order/models.py:1406 part/admin.py:305 part/admin.py:411 part/models.py:1018 -#: part/models.py:3791 part/templates/part/category.html:79 +#: part/models.py:3778 part/templates/part/category.html:79 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:155 -#: report/models.py:509 report/models.py:535 +#: report/models.py:517 report/models.py:543 #: report/templates/report/inventree_build_order_report.html:117 #: stock/admin.py:54 stock/models.py:88 stock/templates/stock/location.html:122 #: templates/InvenTree/settings/notifications.html:19 @@ -517,12 +517,12 @@ msgstr "Lỗi máy chủ" msgid "An error has been logged by the server." msgstr "Lỗi đã được ghi lại bởi máy chủ." -#: InvenTree/serializers.py:63 part/models.py:4400 +#: InvenTree/serializers.py:63 part/models.py:4387 msgid "Must be a valid number" msgstr "Phải là một số hợp lệ" #: InvenTree/serializers.py:100 company/models.py:183 -#: company/templates/company/company_base.html:112 part/models.py:3127 +#: company/templates/company/company_base.html:112 part/models.py:3114 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -536,43 +536,43 @@ msgstr "Chọn tiền tệ trong các tùy chọn đang có" msgid "Username" msgstr "Tên người dùng" -#: InvenTree/serializers.py:407 templates/InvenTree/settings/user.html:37 +#: InvenTree/serializers.py:408 templates/InvenTree/settings/user.html:37 msgid "First Name" msgstr "Tên" -#: InvenTree/serializers.py:407 +#: InvenTree/serializers.py:408 msgid "First name of the user" msgstr "" -#: InvenTree/serializers.py:410 templates/InvenTree/settings/user.html:41 +#: InvenTree/serializers.py:412 templates/InvenTree/settings/user.html:41 msgid "Last Name" msgstr "Họ" -#: InvenTree/serializers.py:410 +#: InvenTree/serializers.py:412 msgid "Last name of the user" msgstr "" -#: InvenTree/serializers.py:413 +#: InvenTree/serializers.py:416 msgid "Email address of the user" msgstr "" -#: InvenTree/serializers.py:438 +#: InvenTree/serializers.py:441 msgid "Staff" msgstr "" -#: InvenTree/serializers.py:438 +#: InvenTree/serializers.py:441 msgid "Does this user have staff permissions" msgstr "" -#: InvenTree/serializers.py:441 +#: InvenTree/serializers.py:445 msgid "Superuser" msgstr "" -#: InvenTree/serializers.py:441 +#: InvenTree/serializers.py:445 msgid "Is this user a superuser" msgstr "" -#: InvenTree/serializers.py:444 common/models.py:2709 company/models.py:160 +#: InvenTree/serializers.py:449 common/models.py:2710 company/models.py:160 #: company/models.py:798 machine/models.py:39 part/admin.py:88 #: part/models.py:1201 plugin/models.py:66 #: templates/js/translated/company.js:523 @@ -585,89 +585,89 @@ msgstr "" msgid "Active" msgstr "Hoạt động" -#: InvenTree/serializers.py:444 +#: InvenTree/serializers.py:449 msgid "Is this user account active" msgstr "" -#: InvenTree/serializers.py:462 +#: InvenTree/serializers.py:467 msgid "You do not have permission to change this user role." msgstr "Bạn không có quyền thay đổi vai trò của người dùng này." -#: InvenTree/serializers.py:474 +#: InvenTree/serializers.py:503 msgid "Only superusers can create new users" msgstr "Chỉ có siêu người dùng là có thể tạo người dùng mới" -#: InvenTree/serializers.py:493 +#: InvenTree/serializers.py:522 msgid "Your account has been created." msgstr "Tài khoản của bạn đã được tạo." -#: InvenTree/serializers.py:495 +#: InvenTree/serializers.py:524 msgid "Please use the password reset function to login" msgstr "Xin hãy sử dụng chức năng tạo lại mật khẩu để đăng nhập" -#: InvenTree/serializers.py:502 +#: InvenTree/serializers.py:531 msgid "Welcome to InvenTree" msgstr "Chào mừng đến với InvenTree" -#: InvenTree/serializers.py:560 +#: InvenTree/serializers.py:589 msgid "Invalid value" msgstr "Giá trị không hợp lệ" -#: InvenTree/serializers.py:580 importer/models.py:64 +#: InvenTree/serializers.py:609 importer/models.py:64 msgid "Data File" msgstr "Tập tin dữ liệu" -#: InvenTree/serializers.py:581 +#: InvenTree/serializers.py:610 msgid "Select data file for upload" msgstr "Chọn tệp tin để tải lên" -#: InvenTree/serializers.py:598 +#: InvenTree/serializers.py:627 msgid "Unsupported file type" msgstr "Loại tệp tin không được hỗ trợ" -#: InvenTree/serializers.py:604 +#: InvenTree/serializers.py:633 msgid "File is too large" msgstr "Tệp tin quá lớn" -#: InvenTree/serializers.py:625 +#: InvenTree/serializers.py:654 msgid "No columns found in file" msgstr "Không tìm thấy cột nào trong tệp tin" -#: InvenTree/serializers.py:628 +#: InvenTree/serializers.py:657 msgid "No data rows found in file" msgstr "Không tìm thấy dòng nào trong tệp tin" -#: InvenTree/serializers.py:740 +#: InvenTree/serializers.py:769 msgid "No data rows provided" msgstr "Chưa có dữ liệu" -#: InvenTree/serializers.py:743 +#: InvenTree/serializers.py:772 msgid "No data columns supplied" msgstr "Chưa cung cấp cột dữ liệu" -#: InvenTree/serializers.py:809 +#: InvenTree/serializers.py:838 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "Thiếu cột bắt buộc: '{name}'" -#: InvenTree/serializers.py:818 +#: InvenTree/serializers.py:847 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "Nhân bản cột: '{col}'" -#: InvenTree/serializers.py:857 +#: InvenTree/serializers.py:886 msgid "Remote Image" msgstr "Hình ảnh từ xa" -#: InvenTree/serializers.py:858 +#: InvenTree/serializers.py:887 msgid "URL of remote image file" msgstr "URL của tệp hình ảnh bên ngoài" -#: InvenTree/serializers.py:876 +#: InvenTree/serializers.py:905 msgid "Downloading images from remote URL is not enabled" msgstr "Chức năng tải hình ảnh từ URL bên ngoài không được bật" -#: InvenTree/status.py:65 part/serializers.py:1267 +#: InvenTree/status.py:65 part/serializers.py:1265 msgid "Background worker check failed" msgstr "Nhân công chạy ngầm kiểm tra thất bại" @@ -759,7 +759,7 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "Bạn dựng phải được hủy bỏ trước khi có thể xóa được" -#: build/api.py:319 build/serializers.py:1332 part/models.py:4278 +#: build/api.py:319 build/serializers.py:1332 part/models.py:4265 #: templates/js/translated/bom.js:997 templates/js/translated/bom.js:1037 #: templates/js/translated/build.js:2705 #: templates/js/translated/table_filters.js:197 @@ -767,7 +767,7 @@ msgstr "Bạn dựng phải được hủy bỏ trước khi có thể xóa đư msgid "Consumable" msgstr "Vật tư tiêu hao" -#: build/api.py:320 build/serializers.py:1333 part/models.py:4272 +#: build/api.py:320 build/serializers.py:1333 part/models.py:4259 #: part/templates/part/upload_bom.html:58 templates/js/translated/bom.js:1001 #: templates/js/translated/bom.js:1028 templates/js/translated/build.js:2696 #: templates/js/translated/table_filters.js:193 @@ -777,7 +777,7 @@ msgid "Optional" msgstr "Tuỳ chọn" #: build/api.py:321 common/models.py:1491 part/admin.py:91 part/admin.py:428 -#: part/models.py:1166 part/serializers.py:1596 +#: part/models.py:1166 part/serializers.py:1594 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:337 #: templates/js/translated/table_filters.js:729 @@ -816,7 +816,7 @@ msgstr "Đã cấp phát" msgid "Available" msgstr "Có sẵn" -#: build/models.py:87 build/templates/build/build_base.html:9 +#: build/models.py:88 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_report.html:105 #: stock/serializers.py:85 templates/email/build_order_completed.html:16 @@ -825,7 +825,7 @@ msgstr "Có sẵn" msgid "Build Order" msgstr "Tạo đơn hàng" -#: build/models.py:88 build/templates/build/build_base.html:13 +#: build/models.py:89 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:111 #: order/templates/order/so_sidebar.html:13 @@ -866,7 +866,7 @@ msgstr "Tham chiếu đơn đặt bản dựng" #: build/models.py:243 build/serializers.py:1331 order/models.py:468 #: order/models.py:979 order/models.py:1366 order/models.py:2128 -#: part/admin.py:414 part/models.py:4293 part/templates/part/upload_bom.html:54 +#: part/admin.py:414 part/models.py:4280 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 @@ -892,11 +892,11 @@ msgstr "Đơn đặt bản dựng với bản dựng này đã được phân b #: build/templates/build/build_base.html:105 #: build/templates/build/detail.html:29 company/models.py:1043 order/api.py:761 #: order/models.py:1496 order/models.py:1651 order/models.py:1652 -#: part/api.py:1506 part/api.py:1806 part/models.py:419 part/models.py:3138 -#: part/models.py:3282 part/models.py:3430 part/models.py:3451 -#: part/models.py:3473 part/models.py:3609 part/models.py:3951 -#: part/models.py:4114 part/models.py:4244 part/models.py:4602 -#: part/serializers.py:1213 part/serializers.py:1857 +#: part/api.py:1506 part/api.py:1806 part/models.py:419 part/models.py:3125 +#: part/models.py:3269 part/models.py:3417 part/models.py:3438 +#: part/models.py:3460 part/models.py:3596 part/models.py:3938 +#: part/models.py:4101 part/models.py:4231 part/models.py:4595 +#: part/serializers.py:1211 part/serializers.py:1855 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -1063,12 +1063,12 @@ msgstr "Người dùng hoặc nhóm có trách nhiệm với đơn đặt bản #: order/templates/order/return_order_base.html:148 #: order/templates/order/sales_order_base.html:187 #: part/templates/part/part_base.html:399 stock/models.py:859 -#: stock/templates/stock/item_base.html:200 +#: stock/templates/stock/item_base.html:196 #: templates/js/translated/company.js:1019 msgid "External Link" msgstr "Liên kết bên ngoài" -#: build/models.py:378 common/models.py:3272 part/models.py:1070 +#: build/models.py:378 common/models.py:3273 part/models.py:1070 #: stock/models.py:859 msgid "Link to external URL" msgstr "Liên kết đến URL bên ngoài" @@ -1110,7 +1110,7 @@ msgstr "Đơn đặt bản dựng {build} đã được hoàn thành" msgid "A build order has been completed" msgstr "Một đơn đặt bản dựng đã được hoàn thành" -#: build/models.py:968 build/models.py:1056 +#: build/models.py:968 build/models.py:1057 msgid "No build output specified" msgstr "Không có đầu ra bản dựng đã được chỉ ra" @@ -1122,37 +1122,37 @@ msgstr "Đầu ra bản dựng đã được hoàn thiện" msgid "Build output does not match Build Order" msgstr "Đầu ra bản dựng không phù hợp với đơn đặt bản dựng" -#: build/models.py:1060 build/serializers.py:279 build/serializers.py:328 +#: build/models.py:1061 build/serializers.py:279 build/serializers.py:328 #: build/serializers.py:959 order/models.py:565 order/serializers.py:500 -#: order/serializers.py:666 part/serializers.py:1590 part/serializers.py:2019 +#: order/serializers.py:666 part/serializers.py:1588 part/serializers.py:2017 #: stock/models.py:704 stock/models.py:1515 stock/serializers.py:676 msgid "Quantity must be greater than zero" msgstr "Số lượng phải lớn hơn 0" -#: build/models.py:1065 build/serializers.py:284 +#: build/models.py:1066 build/serializers.py:284 msgid "Quantity cannot be greater than the output quantity" msgstr "Số lượng không thể lớn hơn số lượng đầu ra" -#: build/models.py:1125 build/serializers.py:607 +#: build/models.py:1126 build/serializers.py:607 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "" -#: build/models.py:1466 +#: build/models.py:1477 msgid "Build Order Line Item" msgstr "" -#: build/models.py:1491 +#: build/models.py:1502 msgid "Build object" msgstr "Dựng đối tượng" -#: build/models.py:1505 build/models.py:1761 build/serializers.py:266 +#: build/models.py:1516 build/models.py:1775 build/serializers.py:266 #: build/serializers.py:313 build/serializers.py:1339 #: build/templates/build/build_base.html:110 -#: build/templates/build/detail.html:34 common/models.py:2581 +#: build/templates/build/detail.html:34 common/models.py:2582 #: order/models.py:1349 order/models.py:2034 order/serializers.py:1464 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:413 -#: part/forms.py:48 part/models.py:3296 part/models.py:4266 +#: part/forms.py:48 part/models.py:3283 part/models.py:4253 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1163,9 +1163,9 @@ msgstr "Dựng đối tượng" #: report/templates/report/inventree_test_report.html:90 #: report/templates/report/inventree_test_report.html:169 stock/admin.py:160 #: stock/serializers.py:128 stock/serializers.py:168 stock/serializers.py:667 -#: stock/templates/stock/item_base.html:287 -#: stock/templates/stock/item_base.html:295 -#: stock/templates/stock/item_base.html:342 +#: stock/templates/stock/item_base.html:283 +#: stock/templates/stock/item_base.html:291 +#: stock/templates/stock/item_base.html:338 #: templates/email/build_order_completed.html:18 #: templates/js/translated/barcode.js:579 templates/js/translated/bom.js:771 #: templates/js/translated/bom.js:981 templates/js/translated/build.js:525 @@ -1194,41 +1194,41 @@ msgstr "Dựng đối tượng" msgid "Quantity" msgstr "Số lượng" -#: build/models.py:1506 +#: build/models.py:1517 msgid "Required quantity for build order" msgstr "Yêu cầu số lượng để dựng đơn đặt" -#: build/models.py:1586 +#: build/models.py:1597 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "Xây dựng mục phải xác định đầu ra, bởi vì sản phẩm chủ được đánh dấu là có thể theo dõi" -#: build/models.py:1595 +#: build/models.py:1606 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "Số lượng được phân bổ ({q}) không thể vượt quá số lượng có trong kho ({a})" -#: build/models.py:1605 order/models.py:1985 +#: build/models.py:1616 order/models.py:1985 msgid "Stock item is over-allocated" msgstr "Kho hàng đã bị phân bổ quá đà" -#: build/models.py:1611 order/models.py:1988 +#: build/models.py:1622 order/models.py:1988 msgid "Allocation quantity must be greater than zero" msgstr "Số lượng phân bổ phải lớn hơn 0" -#: build/models.py:1617 +#: build/models.py:1628 msgid "Quantity must be 1 for serialized stock" msgstr "Số lượng phải là 1 cho kho sê ri" -#: build/models.py:1676 +#: build/models.py:1687 msgid "Selected stock item does not match BOM line" msgstr "Hàng trong kho đã chọn không phù hợp với đường BOM" -#: build/models.py:1748 build/serializers.py:939 order/serializers.py:1301 +#: build/models.py:1762 build/serializers.py:939 order/serializers.py:1301 #: order/serializers.py:1322 stock/models.py:381 stock/serializers.py:94 #: stock/serializers.py:770 stock/serializers.py:1288 stock/serializers.py:1400 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 -#: stock/templates/stock/item_base.html:194 +#: stock/templates/stock/item_base.html:190 #: templates/js/translated/build.js:1921 #: templates/js/translated/sales_order.js:301 #: templates/js/translated/sales_order.js:1234 @@ -1241,19 +1241,19 @@ msgstr "Hàng trong kho đã chọn không phù hợp với đường BOM" msgid "Stock Item" msgstr "Kho hàng" -#: build/models.py:1749 +#: build/models.py:1763 msgid "Source stock item" msgstr "Kho hàng gốc" -#: build/models.py:1762 +#: build/models.py:1776 msgid "Stock quantity to allocate to build" msgstr "Số lượng kho hàng cần chỉ định để xây dựng" -#: build/models.py:1770 +#: build/models.py:1784 msgid "Install into" msgstr "Cài đặt vào" -#: build/models.py:1771 +#: build/models.py:1785 msgid "Destination stock item" msgstr "Kho hàng đích" @@ -1262,7 +1262,7 @@ msgid "Build Level" msgstr "" #: build/serializers.py:115 build/serializers.py:1234 build/serializers.py:1323 -#: part/admin.py:41 part/admin.py:408 part/models.py:4116 part/stocktake.py:219 +#: part/admin.py:41 part/admin.py:408 part/models.py:4103 part/stocktake.py:219 #: stock/admin.py:157 msgid "Part Name" msgstr "Tên sản phẩm" @@ -1323,10 +1323,10 @@ msgid "Enter serial numbers for build outputs" msgstr "Nhập vào số sêri cho đầu ra bản dựng" #: build/serializers.py:359 build/serializers.py:500 build/serializers.py:572 -#: order/serializers.py:655 order/serializers.py:778 order/serializers.py:1789 -#: part/serializers.py:1233 stock/serializers.py:103 stock/serializers.py:698 +#: order/serializers.py:655 order/serializers.py:778 order/serializers.py:1797 +#: part/serializers.py:1231 stock/serializers.py:103 stock/serializers.py:698 #: stock/serializers.py:858 stock/serializers.py:984 stock/serializers.py:1432 -#: stock/serializers.py:1688 stock/templates/stock/item_base.html:394 +#: stock/serializers.py:1688 stock/templates/stock/item_base.html:390 #: templates/js/translated/barcode.js:578 #: templates/js/translated/barcode.js:826 templates/js/translated/build.js:1035 #: templates/js/translated/build.js:1177 templates/js/translated/build.js:2547 @@ -1390,7 +1390,7 @@ msgstr "Vị trí cho đầu ra bản dựng hoàn thiện" #: build/templates/build/detail.html:62 order/models.py:477 #: order/models.py:1003 order/models.py:2152 order/serializers.py:687 #: stock/admin.py:165 stock/serializers.py:1035 stock/serializers.py:1576 -#: stock/templates/stock/item_base.html:427 +#: stock/templates/stock/item_base.html:423 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2366 #: templates/js/translated/purchase_order.js:1371 #: templates/js/translated/purchase_order.js:1792 @@ -1522,7 +1522,7 @@ msgstr "Đầu ra bản dựng phải được xác định cho việc phân s msgid "Build output cannot be specified for allocation of untracked parts" msgstr "Đầu ra bản dựng không thể chỉ định cho việc phân sản phẩm chưa được theo dõi" -#: build/serializers.py:1030 order/serializers.py:1614 +#: build/serializers.py:1030 order/serializers.py:1622 msgid "Allocation items must be provided" msgstr "Hàng hóa phân bổ phải được cung cấp" @@ -1590,7 +1590,7 @@ msgstr "" #: build/serializers.py:1230 company/models.py:849 #: company/templates/company/supplier_part.html:160 order/serializers.py:691 #: stock/admin.py:229 stock/models.py:822 stock/serializers.py:1586 -#: stock/templates/stock/item_base.html:240 +#: stock/templates/stock/item_base.html:236 #: templates/js/translated/company.js:1646 #: templates/js/translated/purchase_order.js:1169 #: templates/js/translated/purchase_order.js:1332 @@ -1600,12 +1600,12 @@ msgid "Packaging" msgstr "Đóng gói" #: build/serializers.py:1233 part/admin.py:39 part/admin.py:398 -#: part/models.py:4115 part/stocktake.py:218 stock/admin.py:153 +#: part/models.py:4102 part/stocktake.py:218 stock/admin.py:153 msgid "Part ID" msgstr "ID sản phẩm" #: build/serializers.py:1235 build/serializers.py:1324 part/admin.py:402 -#: part/models.py:4117 +#: part/models.py:4104 msgid "Part IPN" msgstr "IPN sản phẩm" @@ -1625,7 +1625,7 @@ msgstr "" #: build/serializers.py:1243 #: report/templates/report/inventree_return_order_report.html:25 #: report/templates/report/inventree_test_report.html:88 stock/models.py:849 -#: stock/serializers.py:152 stock/templates/stock/item_base.html:311 +#: stock/serializers.py:152 stock/templates/stock/item_base.html:307 #: templates/js/translated/build.js:523 templates/js/translated/build.js:1543 #: templates/js/translated/build.js:2530 #: templates/js/translated/model_renderers.js:231 @@ -1644,7 +1644,7 @@ msgstr "Số sê-ri" msgid "Allocated Quantity" msgstr "" -#: build/serializers.py:1257 stock/templates/stock/item_base.html:340 +#: build/serializers.py:1257 stock/templates/stock/item_base.html:336 msgid "Available Quantity" msgstr "Số lượng sẵn có" @@ -1667,13 +1667,13 @@ msgstr "Có thể theo dõi" msgid "Inherited" msgstr "" -#: build/serializers.py:1337 part/models.py:4326 +#: build/serializers.py:1337 part/models.py:4313 #: part/templates/part/upload_bom.html:56 templates/js/translated/bom.js:1046 #: templates/js/translated/build.js:2714 msgid "Allow Variants" msgstr "Cho phép biến thể" -#: build/serializers.py:1341 part/models.py:4124 part/models.py:4594 +#: build/serializers.py:1341 part/models.py:4111 part/models.py:4587 #: stock/api.py:793 msgid "BOM Item" msgstr "Mục BOM" @@ -1684,7 +1684,7 @@ msgid "Allocated Stock" msgstr "" #: build/serializers.py:1355 order/serializers.py:1179 part/admin.py:132 -#: part/bom.py:186 part/serializers.py:920 part/serializers.py:1623 +#: part/bom.py:186 part/serializers.py:918 part/serializers.py:1621 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 #: templates/js/translated/build.js:2807 templates/js/translated/part.js:712 #: templates/js/translated/part.js:2155 @@ -1692,13 +1692,13 @@ msgstr "" msgid "On Order" msgstr "Bật đơn hàng" -#: build/serializers.py:1360 order/serializers.py:1180 part/serializers.py:1625 +#: build/serializers.py:1360 order/serializers.py:1180 part/serializers.py:1623 #: templates/js/translated/build.js:2811 #: templates/js/translated/table_filters.js:367 msgid "In Production" msgstr "Đang sản xuất" -#: build/serializers.py:1365 part/bom.py:185 part/serializers.py:1650 +#: build/serializers.py:1365 part/bom.py:185 part/serializers.py:1648 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" @@ -1716,7 +1716,7 @@ msgstr "" msgid "Total Available Stock" msgstr "" -#: build/serializers.py:1372 part/serializers.py:927 +#: build/serializers.py:1372 part/serializers.py:925 msgid "External Stock" msgstr "" @@ -1745,7 +1745,7 @@ msgstr "Đã hủy" #: importer/status_codes.py:27 order/status_codes.py:15 #: order/status_codes.py:50 order/status_codes.py:81 #: order/templates/order/order_base.html:163 -#: order/templates/order/sales_order_base.html:168 report/models.py:443 +#: order/templates/order/sales_order_base.html:168 report/models.py:451 msgid "Complete" msgstr "Hoàn thành" @@ -1849,9 +1849,6 @@ msgid "Delete Build" msgstr "Xóa bản dựng" #: build/templates/build/build_base.html:87 -msgid "Isueue Build" -msgstr "" - #: build/templates/build/build_base.html:88 msgid "Issue Build" msgstr "" @@ -1931,7 +1928,7 @@ msgstr "Đầu ra hoàn thiện" #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_report.html:135 #: report/templates/report/inventree_sales_order_report.html:14 -#: stock/templates/stock/item_base.html:369 +#: stock/templates/stock/item_base.html:365 #: templates/email/overdue_sales_order.html:15 #: templates/js/translated/pricing.js:929 #: templates/js/translated/sales_order.js:805 @@ -1991,7 +1988,7 @@ msgid "Allocated Parts" msgstr "Sản phẩm đã phân bổ" #: build/templates/build/detail.html:80 stock/admin.py:163 -#: stock/templates/stock/item_base.html:162 +#: stock/templates/stock/item_base.html:158 #: templates/js/translated/build.js:1556 #: templates/js/translated/model_renderers.js:242 #: templates/js/translated/purchase_order.js:1326 @@ -2148,19 +2145,19 @@ msgstr "Đầu ra chưa hoàn thiện" msgid "Test Statistics" msgstr "" -#: common/api.py:692 +#: common/api.py:725 msgid "Is Link" msgstr "" -#: common/api.py:700 +#: common/api.py:733 msgid "Is File" msgstr "" -#: common/api.py:743 +#: common/api.py:776 msgid "User does not have permission to delete these attachments" msgstr "" -#: common/api.py:760 +#: common/api.py:793 msgid "User does not have permission to delete this attachment" msgstr "" @@ -2352,8 +2349,8 @@ msgstr "Mức độ thường xuyên để cập nhật tỉ giá hối đoái ( #: common/models.py:1297 common/models.py:1353 common/models.py:1366 #: common/models.py:1374 common/models.py:1383 common/models.py:1392 -#: common/models.py:1629 common/models.py:1651 common/models.py:1766 -#: common/models.py:2148 +#: common/models.py:1629 common/models.py:1651 common/models.py:1752 +#: common/models.py:2141 msgid "days" msgstr "ngày" @@ -2581,9 +2578,9 @@ msgstr "Sao chéo mẫu tham số danh mục" msgid "Copy category parameter templates when creating a part" msgstr "Sao chéo mẫu tham số danh mục khi tạo 1 sản phẩm" -#: common/models.py:1485 part/admin.py:108 part/models.py:3959 -#: report/models.py:293 report/models.py:360 report/serializers.py:90 -#: report/serializers.py:131 stock/serializers.py:233 +#: common/models.py:1485 part/admin.py:108 part/models.py:3946 +#: report/models.py:301 report/models.py:368 report/serializers.py:91 +#: report/serializers.py:132 stock/serializers.py:233 #: templates/js/translated/table_filters.js:138 #: templates/js/translated/table_filters.js:775 msgid "Template" @@ -2598,7 +2595,7 @@ msgid "Parts can be assembled from other components by default" msgstr "Sản phẩm có thể lắp giáp từ thành phần khác theo mặc định" #: common/models.py:1497 part/admin.py:95 part/models.py:1172 -#: part/serializers.py:1617 templates/js/translated/table_filters.js:737 +#: part/serializers.py:1615 templates/js/translated/table_filters.js:737 msgid "Component" msgstr "Thành phần" @@ -2823,7 +2820,7 @@ msgid "Log errors which occur when generating reports" msgstr "" #: common/models.py:1702 plugin/builtin/labels/label_sheet.py:28 -#: report/models.py:301 +#: report/models.py:309 msgid "Page Size" msgstr "Khổ giấy" @@ -2832,914 +2829,914 @@ msgid "Default page size for PDF reports" msgstr "Kích thước trang mặc định cho báo cáo PDF" #: common/models.py:1708 -msgid "Enable Test Reports" -msgstr "Bật báo cáo kiểm thử" - -#: common/models.py:1709 -msgid "Enable generation of test reports" -msgstr "Cho phép tạo báo cáo kiểm thử" - -#: common/models.py:1714 -msgid "Attach Test Reports" -msgstr "Đính kèm báo cáo kiểm thử" - -#: common/models.py:1716 -msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" -msgstr "Khi in một báo cáo kiểm thử, đính kèm một bản sao của báo cáo kiểm thử với hàng trong kho đã được kết hợp" - -#: common/models.py:1722 msgid "Globally Unique Serials" msgstr "Sê ri toàn cục duy nhất" -#: common/models.py:1723 +#: common/models.py:1709 msgid "Serial numbers for stock items must be globally unique" msgstr "Số sê ri cho hàng trong kho phải là duy nhất trong toàn hệ thống" -#: common/models.py:1728 +#: common/models.py:1714 msgid "Autofill Serial Numbers" msgstr "Tự động điền số sê ri" -#: common/models.py:1729 +#: common/models.py:1715 msgid "Autofill serial numbers in forms" msgstr "Tự động điền số sê ri vào biểu mẫu" -#: common/models.py:1734 +#: common/models.py:1720 msgid "Delete Depleted Stock" msgstr "Xóa kho đã hết hàng" -#: common/models.py:1736 +#: common/models.py:1722 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/models.py:1742 +#: common/models.py:1728 msgid "Batch Code Template" msgstr "Mẫu sinh mã theo lô" -#: common/models.py:1744 +#: common/models.py:1730 msgid "Template for generating default batch codes for stock items" msgstr "Mẫu tạo mã theo lô mặc định cho hàng trong kho" -#: common/models.py:1749 +#: common/models.py:1735 msgid "Stock Expiry" msgstr "Quá hạn trong kho" -#: common/models.py:1750 +#: common/models.py:1736 msgid "Enable stock expiry functionality" msgstr "Bật chức năng quá hạn tồn kho" -#: common/models.py:1755 +#: common/models.py:1741 msgid "Sell Expired Stock" msgstr "Bán kho quá hạn" -#: common/models.py:1756 +#: common/models.py:1742 msgid "Allow sale of expired stock" msgstr "Cho phép bán hàng kho quá hạn" -#: common/models.py:1761 +#: common/models.py:1747 msgid "Stock Stale Time" msgstr "Thời gian hàng cũ trong kho" -#: common/models.py:1763 +#: common/models.py:1749 msgid "Number of days stock items are considered stale before expiring" msgstr "Số ngày hàng trong kho được xác định là cũ trước khi quá hạn" -#: common/models.py:1770 +#: common/models.py:1756 msgid "Build Expired Stock" msgstr "Dựng kho quá hạn" -#: common/models.py:1771 +#: common/models.py:1757 msgid "Allow building with expired stock" msgstr "Cho phép xây dựng với kho hàng quá hạn" -#: common/models.py:1776 +#: common/models.py:1762 msgid "Stock Ownership Control" msgstr "Kiểm soát sở hữu kho" -#: common/models.py:1777 +#: common/models.py:1763 msgid "Enable ownership control over stock locations and items" msgstr "Bật chức năng kiểm soát sở hữu kho với địa điểm và hàng trong kho" -#: common/models.py:1782 +#: common/models.py:1768 msgid "Stock Location Default Icon" msgstr "Biểu tượng địa điểm kho mặc định" -#: common/models.py:1783 +#: common/models.py:1769 msgid "Stock location default icon (empty means no icon)" msgstr "Biểu tượng địa điểm kho hàng mặc định (trống nghĩa là không có biểu tượng)" -#: common/models.py:1788 +#: common/models.py:1774 msgid "Show Installed Stock Items" msgstr "Hiển thị hàng hóa đã lắp đặt" -#: common/models.py:1789 +#: common/models.py:1775 msgid "Display installed stock items in stock tables" msgstr "Hiển thị hàng trong kho đã được lắp đặt trên bảng kho" -#: common/models.py:1794 +#: common/models.py:1780 msgid "Check BOM when installing items" msgstr "" -#: common/models.py:1796 +#: common/models.py:1782 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/models.py:1802 +#: common/models.py:1788 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/models.py:1804 +#: common/models.py:1790 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/models.py:1810 +#: common/models.py:1796 msgid "Build Order Reference Pattern" msgstr "Mã tham chiếu đơn đặt bản dựng" -#: common/models.py:1812 +#: common/models.py:1798 msgid "Required pattern for generating Build Order reference field" msgstr "Mẫu bắt buộc cho để trường tham chiếu đơn đặt bản dựng" -#: common/models.py:1818 common/models.py:1874 common/models.py:1896 -#: common/models.py:1932 +#: common/models.py:1804 common/models.py:1860 common/models.py:1882 +#: common/models.py:1918 msgid "Require Responsible Owner" msgstr "" -#: common/models.py:1819 common/models.py:1875 common/models.py:1897 -#: common/models.py:1933 +#: common/models.py:1805 common/models.py:1861 common/models.py:1883 +#: common/models.py:1919 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/models.py:1824 +#: common/models.py:1810 msgid "Require Active Part" msgstr "" -#: common/models.py:1825 +#: common/models.py:1811 msgid "Prevent build order creation for inactive parts" msgstr "" -#: common/models.py:1830 +#: common/models.py:1816 msgid "Require Locked Part" msgstr "" -#: common/models.py:1831 +#: common/models.py:1817 msgid "Prevent build order creation for unlocked parts" msgstr "" -#: common/models.py:1836 +#: common/models.py:1822 msgid "Require Valid BOM" msgstr "" -#: common/models.py:1838 +#: common/models.py:1824 msgid "Prevent build order creation unless BOM has been validated" msgstr "" -#: common/models.py:1844 +#: common/models.py:1830 msgid "Require Closed Child Orders" msgstr "" -#: common/models.py:1846 +#: common/models.py:1832 msgid "Prevent build order completion until all child orders are closed" msgstr "" -#: common/models.py:1852 +#: common/models.py:1838 msgid "Block Until Tests Pass" msgstr "" -#: common/models.py:1854 +#: common/models.py:1840 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "" -#: common/models.py:1860 +#: common/models.py:1846 msgid "Enable Return Orders" msgstr "Bật đơn hàng trả lại" -#: common/models.py:1861 +#: common/models.py:1847 msgid "Enable return order functionality in the user interface" msgstr "Bật chức năng đơn hàng trả lại trong giao diện người dùng" -#: common/models.py:1866 +#: common/models.py:1852 msgid "Return Order Reference Pattern" msgstr "Mẫu tham chiếu đơn hàng trả lại" -#: common/models.py:1868 +#: common/models.py:1854 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1880 +#: common/models.py:1866 msgid "Edit Completed Return Orders" msgstr "Sửa đơn hàng trả lại đã hoàn thành" -#: common/models.py:1882 +#: common/models.py:1868 msgid "Allow editing of return orders after they have been completed" msgstr "Cho phép sửa đơn hàng trả lại sau khi đã hoàn thành rồi" -#: common/models.py:1888 +#: common/models.py:1874 msgid "Sales Order Reference Pattern" msgstr "Mẫu tham chiếu đơn đặt hàng" -#: common/models.py:1890 +#: common/models.py:1876 msgid "Required pattern for generating Sales Order reference field" msgstr "Mẫu bắt buộc để tạo trường tham chiếu đơn đặt hàng" -#: common/models.py:1902 +#: common/models.py:1888 msgid "Sales Order Default Shipment" msgstr "Vận chuyển mặc định đơn đặt hàng" -#: common/models.py:1903 +#: common/models.py:1889 msgid "Enable creation of default shipment with sales orders" msgstr "Cho phép tạo vận chuyển mặc định với đơn đặt hàng" -#: common/models.py:1908 +#: common/models.py:1894 msgid "Edit Completed Sales Orders" msgstr "Sửa đơn đặt hàng đã hoàn thành" -#: common/models.py:1910 +#: common/models.py:1896 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "Cho phép sửa đơn đặt hàng sau khi đã vận chuyển hoặc hoàn thành" -#: common/models.py:1916 +#: common/models.py:1902 msgid "Mark Shipped Orders as Complete" msgstr "" -#: common/models.py:1918 +#: common/models.py:1904 msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status" msgstr "" -#: common/models.py:1924 +#: common/models.py:1910 msgid "Purchase Order Reference Pattern" msgstr "Mẫu tham chiếu đơn đặt mua" -#: common/models.py:1926 +#: common/models.py:1912 msgid "Required pattern for generating Purchase Order reference field" msgstr "Mẫu bắt buộc cho để trường tham chiếu đơn đặt mua" -#: common/models.py:1938 +#: common/models.py:1924 msgid "Edit Completed Purchase Orders" msgstr "Sửa đơn đặt mua đã hoàn thành" -#: common/models.py:1940 +#: common/models.py:1926 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "Cho phép sửa đơn đặt mua sau khi đã vận chuyển hoặc hoàn thành" -#: common/models.py:1946 +#: common/models.py:1932 msgid "Auto Complete Purchase Orders" msgstr "Tự động hoàn thành đơn đặt mua" -#: common/models.py:1948 +#: common/models.py:1934 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/models.py:1955 +#: common/models.py:1941 msgid "Enable password forgot" msgstr "Bật quên mật khẩu" -#: common/models.py:1956 +#: common/models.py:1942 msgid "Enable password forgot function on the login pages" msgstr "Bật chức năng quên mật khẩu trong trang đăng nhập" -#: common/models.py:1961 +#: common/models.py:1947 msgid "Enable registration" msgstr "Bật đăng ký" -#: common/models.py:1962 +#: common/models.py:1948 msgid "Enable self-registration for users on the login pages" msgstr "Cho phép người dùng tự đăng ký tại trang đăng nhập" -#: common/models.py:1967 +#: common/models.py:1953 msgid "Enable SSO" msgstr "Bật SSO" -#: common/models.py:1968 +#: common/models.py:1954 msgid "Enable SSO on the login pages" msgstr "Cho phép SSO tại trang đăng nhập" -#: common/models.py:1973 +#: common/models.py:1959 msgid "Enable SSO registration" msgstr "Bật đăng ký SSO" -#: common/models.py:1975 +#: common/models.py:1961 msgid "Enable self-registration via SSO for users on the login pages" msgstr "Cho phép người dùng tự đăng ký SSO tại trang đăng nhập" -#: common/models.py:1981 +#: common/models.py:1967 msgid "Enable SSO group sync" msgstr "" -#: common/models.py:1983 +#: common/models.py:1969 msgid "Enable synchronizing InvenTree groups with groups provided by the IdP" msgstr "" -#: common/models.py:1989 +#: common/models.py:1975 msgid "SSO group key" msgstr "" -#: common/models.py:1991 +#: common/models.py:1977 msgid "The name of the groups claim attribute provided by the IdP" msgstr "" -#: common/models.py:1997 +#: common/models.py:1983 msgid "SSO group map" msgstr "" -#: common/models.py:1999 +#: common/models.py:1985 msgid "A mapping from SSO groups to local InvenTree groups. If the local group does not exist, it will be created." msgstr "" -#: common/models.py:2005 +#: common/models.py:1991 msgid "Remove groups outside of SSO" msgstr "" -#: common/models.py:2007 +#: common/models.py:1993 msgid "Whether groups assigned to the user should be removed if they are not backend by the IdP. Disabling this setting might cause security issues" msgstr "" -#: common/models.py:2013 +#: common/models.py:1999 msgid "Email required" msgstr "Yêu cầu email" -#: common/models.py:2014 +#: common/models.py:2000 msgid "Require user to supply mail on signup" msgstr "Yêu cầu người dùng cung cấp email để đăng ký" -#: common/models.py:2019 +#: common/models.py:2005 msgid "Auto-fill SSO users" msgstr "Người dùng tự động điền SSO" -#: common/models.py:2021 +#: common/models.py:2007 msgid "Automatically fill out user-details from SSO account-data" msgstr "Tự động điền thông tin chi tiết từ dữ liệu tài khoản SSO" -#: common/models.py:2027 +#: common/models.py:2013 msgid "Mail twice" msgstr "Thư 2 lần" -#: common/models.py:2028 +#: common/models.py:2014 msgid "On signup ask users twice for their mail" msgstr "Khi đăng ký sẽ hỏi người dùng hai lần thư điện tử của họ" -#: common/models.py:2033 +#: common/models.py:2019 msgid "Password twice" msgstr "Mật khẩu 2 lần" -#: common/models.py:2034 +#: common/models.py:2020 msgid "On signup ask users twice for their password" msgstr "Khi đăng ký sẽ hỏi người dùng hai lần mật khẩu của họ" -#: common/models.py:2039 +#: common/models.py:2025 msgid "Allowed domains" msgstr "Các tên miền được phép" -#: common/models.py:2041 +#: common/models.py:2027 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "Cấm đăng ký với 1 số tên miền cụ thể (dấu phẩy ngăn cách, bắt đầu với dấu @)" -#: common/models.py:2047 +#: common/models.py:2033 msgid "Group on signup" msgstr "Nhóm khi đăng ký" -#: common/models.py:2049 +#: common/models.py:2035 msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP." msgstr "" -#: common/models.py:2055 +#: common/models.py:2041 msgid "Enforce MFA" msgstr "Bắt buộc MFA" -#: common/models.py:2056 +#: common/models.py:2042 msgid "Users must use multifactor security." msgstr "Người dùng phải sử dụng bảo mật đa nhân tố." -#: common/models.py:2061 +#: common/models.py:2047 msgid "Check plugins on startup" msgstr "Kiểm tra phần mở rộng khi khởi động" -#: common/models.py:2063 +#: common/models.py:2049 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "Kiểm tra toàn bộ phần mở rộng đã được cài đặt khi khởi dộng - bật trong môi trường ảo hóa" -#: common/models.py:2071 +#: common/models.py:2057 msgid "Check for plugin updates" msgstr "Kiểm tra cập nhật plugin" -#: common/models.py:2072 +#: common/models.py:2058 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:2078 +#: common/models.py:2064 msgid "Enable URL integration" msgstr "Bật tích hợp URL" -#: common/models.py:2079 +#: common/models.py:2065 msgid "Enable plugins to add URL routes" msgstr "Bật phần mở rộng để thêm định tuyến URL" -#: common/models.py:2085 +#: common/models.py:2071 msgid "Enable navigation integration" msgstr "Bật tích hợp điều hướng" -#: common/models.py:2086 +#: common/models.py:2072 msgid "Enable plugins to integrate into navigation" msgstr "Bật phần mở rộng để tích hợp thanh định hướng" -#: common/models.py:2092 +#: common/models.py:2078 msgid "Enable app integration" msgstr "Bật tích hợp ứng dụng" -#: common/models.py:2093 +#: common/models.py:2079 msgid "Enable plugins to add apps" msgstr "Bật phần mở rộng để thêm ứng dụng" -#: common/models.py:2099 +#: common/models.py:2085 msgid "Enable schedule integration" msgstr "Cho phép tích hợp lập lịch" -#: common/models.py:2100 +#: common/models.py:2086 msgid "Enable plugins to run scheduled tasks" msgstr "Bật phẩn mở rộng để chạy các tác vụ theo lịch" -#: common/models.py:2106 +#: common/models.py:2092 msgid "Enable event integration" msgstr "Bật tích hợp nguồn cấp sự kiện" -#: common/models.py:2107 +#: common/models.py:2093 msgid "Enable plugins to respond to internal events" msgstr "Bật phần mở rộng để trả lời sự kiện bên trong" -#: common/models.py:2113 +#: common/models.py:2099 +msgid "Enable interface integration" +msgstr "" + +#: common/models.py:2100 +msgid "Enable plugins to integrate into the user interface" +msgstr "" + +#: common/models.py:2106 msgid "Enable project codes" msgstr "Bật mã dự án" -#: common/models.py:2114 +#: common/models.py:2107 msgid "Enable project codes for tracking projects" msgstr "Bật mã dự án để theo dõi dự án" -#: common/models.py:2119 +#: common/models.py:2112 msgid "Stocktake Functionality" msgstr "Chức năng kiểm kê" -#: common/models.py:2121 +#: common/models.py:2114 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "Bật chức năng kiểm kê theo mức độ ghi nhận kho và tính toán giá trị kho" -#: common/models.py:2127 +#: common/models.py:2120 msgid "Exclude External Locations" msgstr "Ngoại trừ vị trí bên ngoài" -#: common/models.py:2129 +#: common/models.py:2122 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "Loại trừ hàng trong kho thuộc địa điểm bên ngoài ra khỏi tính toán kiểm kê" -#: common/models.py:2135 +#: common/models.py:2128 msgid "Automatic Stocktake Period" msgstr "Giai đoạn kiểm kê tự động" -#: common/models.py:2137 +#: common/models.py:2130 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "Số ngày giữa ghi chép kiểm kê tự động (đặt không để tắt)" -#: common/models.py:2143 +#: common/models.py:2136 msgid "Report Deletion Interval" msgstr "Khoảng thời gian xóa báo cáo" -#: common/models.py:2145 +#: common/models.py:2138 msgid "Stocktake reports will be deleted after specified number of days" msgstr "Báo cáo kiểm kê sẽ bị xóa sau số ngày xác định" -#: common/models.py:2152 +#: common/models.py:2145 msgid "Display Users full names" msgstr "Hiển thị tên đầy đủ của người dùng" -#: common/models.py:2153 +#: common/models.py:2146 msgid "Display Users full names instead of usernames" msgstr "Hiển thị tên đầy đủ thay vì tên đăng nhập" -#: common/models.py:2158 +#: common/models.py:2151 msgid "Enable Test Station Data" msgstr "" -#: common/models.py:2159 +#: common/models.py:2152 msgid "Enable test station data collection for test results" msgstr "" -#: common/models.py:2171 common/models.py:2551 +#: common/models.py:2157 +msgid "Create Template on Upload" +msgstr "" + +#: common/models.py:2159 +msgid "Create a new test template when uploading test data which does not match an existing template" +msgstr "" + +#: common/models.py:2172 common/models.py:2552 msgid "Settings key (must be unique - case insensitive" msgstr "Khóa thiết lập (phải duy nhất - phân biệt hoa thường" -#: common/models.py:2214 +#: common/models.py:2215 msgid "Hide inactive parts" msgstr "Ẩn sản phẩm ngừng hoạt động" -#: common/models.py:2216 +#: common/models.py:2217 msgid "Hide inactive parts in results displayed on the homepage" msgstr "Ẩn sản phẩm bị tắt trong kết quả trình bày tại trang chủ" -#: common/models.py:2222 +#: common/models.py:2223 msgid "Show subscribed parts" msgstr "Hiện sản phẩm đã đăng ký" -#: common/models.py:2223 +#: common/models.py:2224 msgid "Show subscribed parts on the homepage" msgstr "Hiện sản phẩm đã đăng ký trên trang chủ" -#: common/models.py:2228 +#: common/models.py:2229 msgid "Show subscribed categories" msgstr "Hiện danh mục đã đăng ký" -#: common/models.py:2229 +#: common/models.py:2230 msgid "Show subscribed part categories on the homepage" msgstr "Hiện danh mục sản phẩm đã đăng ký trên trang chủ" -#: common/models.py:2234 +#: common/models.py:2235 msgid "Show latest parts" msgstr "Hiển thị nguyên liệu mới nhất" -#: common/models.py:2235 +#: common/models.py:2236 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:2240 +#: common/models.py:2241 msgid "Show invalid BOMs" msgstr "" -#: common/models.py:2241 +#: common/models.py:2242 msgid "Show BOMs that await validation on the homepage" msgstr "Hiện BOM chờ xác thực tại trang chủ" -#: common/models.py:2246 +#: common/models.py:2247 msgid "Show recent stock changes" msgstr "Hiện thay đổi kho hàng gần đây" -#: common/models.py:2247 +#: common/models.py:2248 msgid "Show recently changed stock items on the homepage" msgstr "Hiện hàng trong kho được thay đổi gần nhất trên trang chủ" -#: common/models.py:2252 +#: common/models.py:2253 msgid "Show low stock" msgstr "Hiển thị hàng còn ít" -#: common/models.py:2253 +#: common/models.py:2254 msgid "Show low stock items on the homepage" msgstr "Hiển thị hàng hóa còn ít tại trang chủ" -#: common/models.py:2258 +#: common/models.py:2259 msgid "Show depleted stock" msgstr "Hiển thị hết hàng" -#: common/models.py:2259 +#: common/models.py:2260 msgid "Show depleted stock items on the homepage" msgstr "Hiển thị hàng hóa đã bán hết tại trang chủ" -#: common/models.py:2264 +#: common/models.py:2265 msgid "Show needed stock" msgstr "Hiển thị hàng cần thiết" -#: common/models.py:2265 +#: common/models.py:2266 msgid "Show stock items needed for builds on the homepage" msgstr "Hiện hàng trong kho cần thiết cho xây dựng tại trang chủ" -#: common/models.py:2270 +#: common/models.py:2271 msgid "Show expired stock" msgstr "Bán kho quá hạn" -#: common/models.py:2271 +#: common/models.py:2272 msgid "Show expired stock items on the homepage" msgstr "Hiển thị hàng hóa đã quá hạn trên trang chủ" -#: common/models.py:2276 +#: common/models.py:2277 msgid "Show stale stock" msgstr "Hiện kho hàng ế" -#: common/models.py:2277 +#: common/models.py:2278 msgid "Show stale stock items on the homepage" msgstr "Hiện hàng trong kho bị ế trên trang chủ" -#: common/models.py:2282 +#: common/models.py:2283 msgid "Show pending builds" msgstr "Hiện bản dựng chờ xử lý" -#: common/models.py:2283 +#: common/models.py:2284 msgid "Show pending builds on the homepage" msgstr "Hiện bản dựng chờ xử lý trên trang chủ" -#: common/models.py:2288 +#: common/models.py:2289 msgid "Show overdue builds" msgstr "Hiện bản dựng quá hạn" -#: common/models.py:2289 +#: common/models.py:2290 msgid "Show overdue builds on the homepage" msgstr "Hiện bản dựng quá hạn trên trang chủ" -#: common/models.py:2294 +#: common/models.py:2295 msgid "Show outstanding POs" msgstr "Hiện PO nổi bật" -#: common/models.py:2295 +#: common/models.py:2296 msgid "Show outstanding POs on the homepage" msgstr "Hiện PO nổi bật trên trang chủ" -#: common/models.py:2300 +#: common/models.py:2301 msgid "Show overdue POs" msgstr "Hiện PO quá hạn" -#: common/models.py:2301 +#: common/models.py:2302 msgid "Show overdue POs on the homepage" msgstr "Hiện đơn mua hàng quá hạn trên trang chủ" -#: common/models.py:2306 +#: common/models.py:2307 msgid "Show outstanding SOs" msgstr "Hiện đơn hàng vận chuyển nổi bật" -#: common/models.py:2307 +#: common/models.py:2308 msgid "Show outstanding SOs on the homepage" msgstr "Hiện đơn hàng vận chuyển nổi bật tại trang chủ" -#: common/models.py:2312 +#: common/models.py:2313 msgid "Show overdue SOs" msgstr "Hiện đơn vận chuyển quá hạn" -#: common/models.py:2313 +#: common/models.py:2314 msgid "Show overdue SOs on the homepage" msgstr "Hiện đơn vận chuyển quá hạn trên trang chủ" -#: common/models.py:2318 +#: common/models.py:2319 msgid "Show pending SO shipments" msgstr "Hiện đơn vận chuyển chờ xử lý" -#: common/models.py:2319 +#: common/models.py:2320 msgid "Show pending SO shipments on the homepage" msgstr "Hiện đơn vận chuyển chờ xử lý trên trang chủ" -#: common/models.py:2324 +#: common/models.py:2325 msgid "Show News" msgstr "Hiện tin tức" -#: common/models.py:2325 +#: common/models.py:2326 msgid "Show news on the homepage" msgstr "Hiện tin tức trên trang chủ" -#: common/models.py:2330 +#: common/models.py:2331 msgid "Inline label display" msgstr "Hiển thị nhãn cùng dòng" -#: common/models.py:2332 +#: common/models.py:2333 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "Hiển thị nhãn PDF trong trình duyệt, thay vì tải về dạng tệp tin" -#: common/models.py:2338 +#: common/models.py:2339 msgid "Default label printer" msgstr "Máy in tem nhãn mặc định" -#: common/models.py:2340 +#: common/models.py:2341 msgid "Configure which label printer should be selected by default" msgstr "Cấu hình máy in tem nhãn nào được chọn mặc định" -#: common/models.py:2346 +#: common/models.py:2347 msgid "Inline report display" msgstr "Hiển thị báo cáo cùng hàng" -#: common/models.py:2348 +#: common/models.py:2349 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "Hiện báo cáo PDF trong trình duyệt, thay vì tải về dạng tệp tin" -#: common/models.py:2354 +#: common/models.py:2355 msgid "Search Parts" msgstr "Tìm sản phẩm" -#: common/models.py:2355 +#: common/models.py:2356 msgid "Display parts in search preview window" msgstr "Hiện hàng hóa trong cửa sổ xem trước tìm kiếm" -#: common/models.py:2360 +#: common/models.py:2361 msgid "Search Supplier Parts" msgstr "Tìm sản phẩm nhà cung cấp" -#: common/models.py:2361 +#: common/models.py:2362 msgid "Display supplier parts in search preview window" msgstr "Hiện sản phẩm nhà cung cấp trong cửa sổ xem trước tìm kiếm" -#: common/models.py:2366 +#: common/models.py:2367 msgid "Search Manufacturer Parts" msgstr "Tìm sản phẩm nhà sản xuất" -#: common/models.py:2367 +#: common/models.py:2368 msgid "Display manufacturer parts in search preview window" msgstr "Hiện sản phẩm nhà sản xuất trong cửa sổ xem trước tìm kiếm" -#: common/models.py:2372 +#: common/models.py:2373 msgid "Hide Inactive Parts" msgstr "Ẩn sản phẩm ngừng hoạt động" -#: common/models.py:2373 +#: common/models.py:2374 msgid "Excluded inactive parts from search preview window" msgstr "Loại trừ sản phẩm ngưng hoạt động trong cửa sổ xem trước tìm kiếm" -#: common/models.py:2378 +#: common/models.py:2379 msgid "Search Categories" msgstr "Tìm kiếm danh mục" -#: common/models.py:2379 +#: common/models.py:2380 msgid "Display part categories in search preview window" msgstr "Hiện danh mục sản phẩm trong cửa sổ xem trước tìm kiếm" -#: common/models.py:2384 +#: common/models.py:2385 msgid "Search Stock" msgstr "Tìm kiếm kho" -#: common/models.py:2385 +#: common/models.py:2386 msgid "Display stock items in search preview window" msgstr "Hiện hàng hóa ở kho trong cửa sổ xem trước tìm kiếm" -#: common/models.py:2390 +#: common/models.py:2391 msgid "Hide Unavailable Stock Items" msgstr "Ẩn hàng hóa trong kho không có sẵn" -#: common/models.py:2392 +#: common/models.py:2393 msgid "Exclude stock items which are not available from the search preview window" msgstr "Không bao gồm hàng hóa trong kho mà không sẵn sàng từ màn hình xem trước tìm kiếm" -#: common/models.py:2398 +#: common/models.py:2399 msgid "Search Locations" msgstr "Tìm kiếm vị trí" -#: common/models.py:2399 +#: common/models.py:2400 msgid "Display stock locations in search preview window" msgstr "Hiện vị trí kho hàng trong cửa sổ xem trước tìm kiếm" -#: common/models.py:2404 +#: common/models.py:2405 msgid "Search Companies" msgstr "Tìm kiếm công ty" -#: common/models.py:2405 +#: common/models.py:2406 msgid "Display companies in search preview window" msgstr "Hiện công ty trong cửa sổ xem trước tìm kiếm" -#: common/models.py:2410 +#: common/models.py:2411 msgid "Search Build Orders" msgstr "Tìm kiếm đặt hàng xây dựng" -#: common/models.py:2411 +#: common/models.py:2412 msgid "Display build orders in search preview window" msgstr "Hiện đơn đặt xây dựng trong cửa sổ xem trước tìm kiếm" -#: common/models.py:2416 +#: common/models.py:2417 msgid "Search Purchase Orders" msgstr "Tìm kiếm đơn đặt mua" -#: common/models.py:2417 +#: common/models.py:2418 msgid "Display purchase orders in search preview window" msgstr "Hiện đơn đặt mua trong cửa sổ xem trước tìm kiếm" -#: common/models.py:2422 +#: common/models.py:2423 msgid "Exclude Inactive Purchase Orders" msgstr "Loại trừ đơn đặt mua không hoạt động" -#: common/models.py:2424 +#: common/models.py:2425 msgid "Exclude inactive purchase orders from search preview window" msgstr "Loại trừ đơn đặt mua không hoạt động ra khỏi cửa sổ xem trước tìm kiếm" -#: common/models.py:2430 +#: common/models.py:2431 msgid "Search Sales Orders" msgstr "Tìm đơn đặt hàng người mua" -#: common/models.py:2431 +#: common/models.py:2432 msgid "Display sales orders in search preview window" msgstr "Hiện đơn đặt hàng người mua trong cửa sổ xem trước tìm kiếm" -#: common/models.py:2436 +#: common/models.py:2437 msgid "Exclude Inactive Sales Orders" msgstr "Loại trừ đơn đặt hàng người mua không hoạt động" -#: common/models.py:2438 +#: common/models.py:2439 msgid "Exclude inactive sales orders from search preview window" msgstr "Không bao gồm đơn đặt hàng người mua không hoạt động trong cửa sổ xem trước tìm kiếm" -#: common/models.py:2444 +#: common/models.py:2445 msgid "Search Return Orders" msgstr "Tìm kiếm đơn hàng trả lại" -#: common/models.py:2445 +#: common/models.py:2446 msgid "Display return orders in search preview window" msgstr "Hiện đơn hàng trả lại trong cửa sổ xem trước tìm kiếm" -#: common/models.py:2450 +#: common/models.py:2451 msgid "Exclude Inactive Return Orders" msgstr "Loại trừ đơn hàng trả lại không hoạt động" -#: common/models.py:2452 +#: common/models.py:2453 msgid "Exclude inactive return orders from search preview window" msgstr "Không bao gồm đơn hàng trả lại không hoạt động trong cửa sổ xem trước tìm kiếm" -#: common/models.py:2458 +#: common/models.py:2459 msgid "Search Preview Results" msgstr "Kết quả xem trước tìm kiếm" -#: common/models.py:2460 +#: common/models.py:2461 msgid "Number of results to show in each section of the search preview window" msgstr "Số kết quả cần hiển thị trong từng phần của cửa sổ xem trước tìm kiếm" -#: common/models.py:2466 +#: common/models.py:2467 msgid "Regex Search" msgstr "Tìm kiếm biểu thức" -#: common/models.py:2467 +#: common/models.py:2468 msgid "Enable regular expressions in search queries" msgstr "Bật tìm kiếm biểu thức chính quy trong câu truy vấn tìm kiếm" -#: common/models.py:2472 +#: common/models.py:2473 msgid "Whole Word Search" msgstr "Tìm phù hợp toàn bộ chữ" -#: common/models.py:2473 +#: common/models.py:2474 msgid "Search queries return results for whole word matches" msgstr "Truy vấn tìm trả về kết quả phù hợp toàn bộ chữ" -#: common/models.py:2478 +#: common/models.py:2479 msgid "Show Quantity in Forms" msgstr "Hiện số lượng trong biểu mẫu" -#: common/models.py:2479 +#: common/models.py:2480 msgid "Display available part quantity in some forms" msgstr "Hiển thị số lượng sản phẩm có sẵn trong một số biểu mẫu" -#: common/models.py:2484 +#: common/models.py:2485 msgid "Escape Key Closes Forms" msgstr "Phím escape để đóng mẫu biểu" -#: common/models.py:2485 +#: common/models.py:2486 msgid "Use the escape key to close modal forms" msgstr "Sử dụng phím escape để đóng mẫu biểu hộp thoại" -#: common/models.py:2490 +#: common/models.py:2491 msgid "Fixed Navbar" msgstr "Cố định điều hướng" -#: common/models.py:2491 +#: common/models.py:2492 msgid "The navbar position is fixed to the top of the screen" msgstr "Vị trí thành điều hướng là cố định trên cùng màn hình" -#: common/models.py:2496 +#: common/models.py:2497 msgid "Date Format" msgstr "Định dạng ngày" -#: common/models.py:2497 +#: common/models.py:2498 msgid "Preferred format for displaying dates" msgstr "Định dạng ưa chuộng khi hiển thị ngày" -#: common/models.py:2510 part/templates/part/detail.html:41 +#: common/models.py:2511 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "Lập lịch sản phẩm" -#: common/models.py:2511 +#: common/models.py:2512 msgid "Display part scheduling information" msgstr "Hiển thị thông tin lịch sản phẩm" -#: common/models.py:2516 part/templates/part/detail.html:62 +#: common/models.py:2517 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "Kiểm kê sản phẩm" -#: common/models.py:2518 +#: common/models.py:2519 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "Hiển thị thông tin kiểm kê sản phẩm (nếu chức năng kiểm kê được bật)" -#: common/models.py:2524 +#: common/models.py:2525 msgid "Table String Length" msgstr "Độ dài chuỗi trong bảng" -#: common/models.py:2526 +#: common/models.py:2527 msgid "Maximum length limit for strings displayed in table views" msgstr "Giới hạn độ dài tối đa cho chuỗi hiển thị trong kiểu xem bảng biểu" -#: common/models.py:2532 +#: common/models.py:2533 msgid "Receive error reports" msgstr "Nhận báo cáo lỗi" -#: common/models.py:2533 +#: common/models.py:2534 msgid "Receive notifications for system errors" msgstr "Nhận thông báo khi có lỗi hệ thống" -#: common/models.py:2538 +#: common/models.py:2539 msgid "Last used printing machines" msgstr "" -#: common/models.py:2539 +#: common/models.py:2540 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2559 common/models.py:2560 common/models.py:2717 -#: common/models.py:2718 common/models.py:2963 common/models.py:2964 -#: common/models.py:3287 common/models.py:3288 importer/models.py:89 -#: part/models.py:3319 part/models.py:3406 part/models.py:3480 -#: part/models.py:3508 plugin/models.py:274 plugin/models.py:275 +#: common/models.py:2560 common/models.py:2561 common/models.py:2718 +#: common/models.py:2719 common/models.py:2964 common/models.py:2965 +#: common/models.py:3288 common/models.py:3289 importer/models.py:89 +#: part/models.py:3306 part/models.py:3393 part/models.py:3467 +#: part/models.py:3495 plugin/models.py:274 plugin/models.py:275 #: report/templates/report/inventree_test_report.html:105 #: templates/js/translated/stock.js:3121 users/models.py:111 msgid "User" msgstr "Người dùng" -#: common/models.py:2582 +#: common/models.py:2583 msgid "Price break quantity" msgstr "Số lượng giá phá vỡ" -#: common/models.py:2589 company/serializers.py:517 order/admin.py:42 +#: common/models.py:2590 company/serializers.py:517 order/admin.py:42 #: order/models.py:1423 order/models.py:2410 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1892 #: templates/js/translated/pricing.js:621 @@ -3747,96 +3744,96 @@ msgstr "Số lượng giá phá vỡ" msgid "Price" msgstr "Giá" -#: common/models.py:2590 +#: common/models.py:2591 msgid "Unit price at specified quantity" msgstr "Đơn vị giá theo số lượng cụ thể" -#: common/models.py:2694 common/models.py:2879 +#: common/models.py:2695 common/models.py:2880 msgid "Endpoint" msgstr "Đầu mối" -#: common/models.py:2695 +#: common/models.py:2696 msgid "Endpoint at which this webhook is received" msgstr "Đầu mối tại điểm webhook được nhận" -#: common/models.py:2705 +#: common/models.py:2706 msgid "Name for this webhook" msgstr "Tên của webhook này" -#: common/models.py:2709 +#: common/models.py:2710 msgid "Is this webhook active" msgstr "Webhook có hoạt động không" -#: common/models.py:2725 users/models.py:159 +#: common/models.py:2726 users/models.py:159 msgid "Token" msgstr "Chữ ký số" -#: common/models.py:2726 +#: common/models.py:2727 msgid "Token for access" msgstr "Chữ ký số để truy cập" -#: common/models.py:2734 +#: common/models.py:2735 msgid "Secret" msgstr "Bí mật" -#: common/models.py:2735 +#: common/models.py:2736 msgid "Shared secret for HMAC" msgstr "Mã bí mật dùng chung cho HMAC" -#: common/models.py:2843 +#: common/models.py:2844 msgid "Message ID" msgstr "Mã Tin nhắn" -#: common/models.py:2844 +#: common/models.py:2845 msgid "Unique identifier for this message" msgstr "Định danh duy nhất cho tin nhắn này" -#: common/models.py:2852 +#: common/models.py:2853 msgid "Host" msgstr "Máy chủ" -#: common/models.py:2853 +#: common/models.py:2854 msgid "Host from which this message was received" msgstr "Mãy chủ từ tin nhắn này đã được nhận" -#: common/models.py:2861 +#: common/models.py:2862 msgid "Header" msgstr "Đầu mục" -#: common/models.py:2862 +#: common/models.py:2863 msgid "Header of this message" msgstr "Đầu mục tin nhắn" -#: common/models.py:2869 +#: common/models.py:2870 msgid "Body" msgstr "Thân" -#: common/models.py:2870 +#: common/models.py:2871 msgid "Body of this message" msgstr "Thân tin nhắn này" -#: common/models.py:2880 +#: common/models.py:2881 msgid "Endpoint on which this message was received" msgstr "Đầu mối của tin nhắn này đã nhận được" -#: common/models.py:2885 +#: common/models.py:2886 msgid "Worked on" msgstr "Làm việc vào" -#: common/models.py:2886 +#: common/models.py:2887 msgid "Was the work on this message finished?" msgstr "Công việc trong tin nhắn này đã kết thúc?" -#: common/models.py:3012 +#: common/models.py:3013 msgid "Id" msgstr "Mã" -#: common/models.py:3014 templates/js/translated/company.js:965 +#: common/models.py:3015 templates/js/translated/company.js:965 #: templates/js/translated/news.js:44 msgid "Title" msgstr "Tiêu đề" -#: common/models.py:3016 common/models.py:3271 company/models.py:146 +#: common/models.py:3017 common/models.py:3272 company/models.py:146 #: company/models.py:443 company/models.py:509 company/models.py:815 #: order/models.py:303 order/models.py:1378 order/models.py:1810 #: part/admin.py:55 part/models.py:1069 @@ -3853,217 +3850,217 @@ msgstr "Tiêu đề" msgid "Link" msgstr "Liên kết" -#: common/models.py:3018 templates/js/translated/news.js:60 +#: common/models.py:3019 templates/js/translated/news.js:60 msgid "Published" msgstr "Đã công bố" -#: common/models.py:3020 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:3021 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:103 msgid "Author" msgstr "Tác giả" -#: common/models.py:3022 templates/js/translated/news.js:52 +#: common/models.py:3023 templates/js/translated/news.js:52 msgid "Summary" msgstr "Tóm tắt" -#: common/models.py:3025 +#: common/models.py:3026 msgid "Read" msgstr "Đọc" -#: common/models.py:3025 +#: common/models.py:3026 msgid "Was this news item read?" msgstr "Tin này đã được đọc?" -#: common/models.py:3042 company/models.py:156 part/models.py:1079 +#: common/models.py:3043 company/models.py:156 part/models.py:1079 #: 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.html:35 -#: stock/templates/stock/item_base.html:133 templates/503.html:31 +#: stock/templates/stock/item_base.html:129 templates/503.html:31 #: templates/hover_image.html:7 templates/hover_image.html:9 #: templates/modals.html:6 msgid "Image" msgstr "Hình ảnh" -#: common/models.py:3042 +#: common/models.py:3043 msgid "Image file" msgstr "Tệp ảnh" -#: common/models.py:3054 common/models.py:3255 +#: common/models.py:3055 common/models.py:3256 msgid "Target model type for this image" msgstr "" -#: common/models.py:3058 +#: common/models.py:3059 msgid "Target model ID for this image" msgstr "" -#: common/models.py:3080 +#: common/models.py:3081 msgid "Custom Unit" msgstr "" -#: common/models.py:3098 +#: common/models.py:3099 msgid "Unit symbol must be unique" msgstr "" -#: common/models.py:3113 +#: common/models.py:3114 msgid "Unit name must be a valid identifier" msgstr "Tên đơn vị phải là một định danh hợp lệ" -#: common/models.py:3132 +#: common/models.py:3133 msgid "Unit name" msgstr "Tên đơn vị" -#: common/models.py:3139 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3140 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "Biểu tượng" -#: common/models.py:3140 +#: common/models.py:3141 msgid "Optional unit symbol" msgstr "Biểu tượng đơn vị tùy chọn" -#: common/models.py:3146 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3147 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "Định nghĩa" -#: common/models.py:3147 +#: common/models.py:3148 msgid "Unit definition" msgstr "Định nghĩa đơn vị" -#: common/models.py:3205 common/models.py:3262 stock/models.py:2552 +#: common/models.py:3206 common/models.py:3263 stock/models.py:2547 #: stock/serializers.py:244 templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:345 msgid "Attachment" msgstr "Đính kèm" -#: common/models.py:3217 +#: common/models.py:3218 msgid "Missing file" msgstr "Tập tin bị thiếu" -#: common/models.py:3218 +#: common/models.py:3219 msgid "Missing external link" msgstr "Thiếu liên kết bên ngoài" -#: common/models.py:3263 +#: common/models.py:3264 msgid "Select file to attach" msgstr "Chọn file đính kèm" -#: common/models.py:3278 templates/js/translated/attachment.js:120 +#: common/models.py:3279 templates/js/translated/attachment.js:120 #: templates/js/translated/attachment.js:360 msgid "Comment" msgstr "Bình luận" -#: common/models.py:3279 +#: common/models.py:3280 msgid "Attachment comment" msgstr "" -#: common/models.py:3295 +#: common/models.py:3296 msgid "Upload date" msgstr "" -#: common/models.py:3296 +#: common/models.py:3297 msgid "Date the file was uploaded" msgstr "" -#: common/models.py:3300 +#: common/models.py:3301 msgid "File size" msgstr "" -#: common/models.py:3300 +#: common/models.py:3301 msgid "File size in bytes" msgstr "" -#: common/models.py:3338 common/serializers.py:588 +#: common/models.py:3339 common/serializers.py:604 msgid "Invalid model type specified for attachment" msgstr "" -#: common/models.py:3347 plugin/models.py:43 users/models.py:100 +#: common/models.py:3348 plugin/models.py:43 users/models.py:100 msgid "Key" msgstr "Khóa" -#: common/models.py:3348 +#: common/models.py:3349 msgid "Value that will be saved in the models database" msgstr "" -#: common/models.py:3351 +#: common/models.py:3352 msgid "Name of the state" msgstr "" -#: common/models.py:3355 +#: common/models.py:3356 msgid "Label" msgstr "" -#: common/models.py:3356 +#: common/models.py:3357 msgid "Label that will be displayed in the frontend" msgstr "" -#: common/models.py:3362 +#: common/models.py:3363 msgid "Color" msgstr "" -#: common/models.py:3363 +#: common/models.py:3364 msgid "Color that will be displayed in the frontend" msgstr "" -#: common/models.py:3366 +#: common/models.py:3367 msgid "Logical Key" msgstr "" -#: common/models.py:3368 +#: common/models.py:3369 msgid "State logical key that is equal to this custom state in business logic" msgstr "" -#: common/models.py:3376 +#: common/models.py:3377 msgid "Model" msgstr "" -#: common/models.py:3377 +#: common/models.py:3378 msgid "Model this state is associated with" msgstr "" -#: common/models.py:3381 +#: common/models.py:3382 msgid "Reference Status Set" msgstr "" -#: common/models.py:3382 +#: common/models.py:3383 msgid "Status set that is extended with this custom state" msgstr "" -#: common/models.py:3388 +#: common/models.py:3389 msgid "Custom State" msgstr "" -#: common/models.py:3389 +#: common/models.py:3390 msgid "Custom States" msgstr "" -#: common/models.py:3404 +#: common/models.py:3405 msgid "Model must be selected" msgstr "" -#: common/models.py:3407 +#: common/models.py:3408 msgid "Key must be selected" msgstr "" -#: common/models.py:3410 +#: common/models.py:3411 msgid "Logical key must be selected" msgstr "" -#: common/models.py:3414 +#: common/models.py:3415 msgid "Key must be different from logical key" msgstr "" -#: common/models.py:3418 +#: common/models.py:3419 msgid "Reference status must be selected" msgstr "" -#: common/models.py:3430 +#: common/models.py:3431 msgid "Reference status set not found" msgstr "" -#: common/models.py:3436 +#: common/models.py:3437 msgid "Key must be different from the logical keys of the reference status" msgstr "" -#: common/models.py:3442 +#: common/models.py:3443 msgid "Logical key must be in the logical keys of the reference status" msgstr "" @@ -4101,75 +4098,75 @@ msgstr "Hàng đã nhận theo đơn hàng trả lại" msgid "Error raised by plugin" msgstr "Lỗi được thông báo bởi phần mở rộng" -#: common/serializers.py:402 +#: common/serializers.py:418 msgid "Is Running" msgstr "Đang chạy" -#: common/serializers.py:408 +#: common/serializers.py:424 msgid "Pending Tasks" msgstr "Công việc chờ xử lý" -#: common/serializers.py:414 +#: common/serializers.py:430 msgid "Scheduled Tasks" msgstr "Tác vụ theo lịch" -#: common/serializers.py:420 +#: common/serializers.py:436 msgid "Failed Tasks" msgstr "Tác vụ thất bại" -#: common/serializers.py:435 +#: common/serializers.py:451 msgid "Task ID" msgstr "ID tác vụ" -#: common/serializers.py:435 +#: common/serializers.py:451 msgid "Unique task ID" msgstr "ID tác vụ duy nhất" -#: common/serializers.py:437 +#: common/serializers.py:453 msgid "Lock" msgstr "Khoá" -#: common/serializers.py:437 +#: common/serializers.py:453 msgid "Lock time" msgstr "Thời gian khóa" -#: common/serializers.py:439 +#: common/serializers.py:455 msgid "Task name" msgstr "Tên công việc" -#: common/serializers.py:441 +#: common/serializers.py:457 msgid "Function" msgstr "Chức năng" -#: common/serializers.py:441 +#: common/serializers.py:457 msgid "Function name" msgstr "Tên chức năng" -#: common/serializers.py:443 +#: common/serializers.py:459 msgid "Arguments" msgstr "Đối số" -#: common/serializers.py:443 +#: common/serializers.py:459 msgid "Task arguments" msgstr "Đối số công việc" -#: common/serializers.py:446 +#: common/serializers.py:462 msgid "Keyword Arguments" msgstr "Đối số từ khóa" -#: common/serializers.py:446 +#: common/serializers.py:462 msgid "Task keyword arguments" msgstr "Đối số từ khóa công việc" -#: common/serializers.py:556 +#: common/serializers.py:572 msgid "Filename" msgstr "Tên tập tin" -#: common/serializers.py:563 report/api.py:100 report/serializers.py:53 +#: common/serializers.py:579 report/api.py:100 report/serializers.py:54 msgid "Model Type" msgstr "" -#: common/serializers.py:591 +#: common/serializers.py:607 msgid "User does not have permission to create or edit attachments for this model" msgstr "" @@ -4447,12 +4444,12 @@ msgstr "Liên kết thông tin địa chỉ (bên ngoài)" #: company/models.py:467 company/models.py:584 company/models.py:808 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 -#: stock/templates/stock/item_base.html:217 +#: stock/templates/stock/item_base.html:213 msgid "Manufacturer Part" msgstr "Sản phẩm nhà sản xuất" #: company/models.py:484 company/models.py:776 stock/models.py:791 -#: stock/serializers.py:452 stock/templates/stock/item_base.html:142 +#: stock/serializers.py:452 stock/templates/stock/item_base.html:138 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "Sản phẩm cơ bản" @@ -4463,8 +4460,8 @@ msgstr "Chọn sản phẩm" #: company/models.py:495 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:567 -#: stock/templates/stock/item_base.html:207 +#: company/templates/company/supplier_part.html:145 part/serializers.py:565 +#: stock/templates/stock/item_base.html:203 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 #: templates/js/translated/company.js:1296 @@ -4479,7 +4476,7 @@ msgstr "Chọn nhà sản xuất" #: company/models.py:502 company/templates/company/manufacturer_part.html:101 #: company/templates/company/supplier_part.html:153 order/serializers.py:557 -#: part/serializers.py:577 templates/js/translated/company.js:351 +#: part/serializers.py:575 templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 #: templates/js/translated/company.js:1630 templates/js/translated/part.js:1807 @@ -4505,7 +4502,7 @@ msgid "Parameter name" msgstr "Tên tham số" #: company/models.py:597 report/templates/report/inventree_test_report.html:104 -#: stock/models.py:2544 templates/js/translated/company.js:1166 +#: stock/models.py:2539 templates/js/translated/company.js:1166 #: templates/js/translated/company.js:1419 templates/js/translated/part.js:1499 #: templates/js/translated/stock.js:1607 msgid "Value" @@ -4516,7 +4513,7 @@ msgid "Parameter value" msgstr "Giá trị tham số" #: company/models.py:605 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1159 part/models.py:3783 +#: part/admin.py:57 part/models.py:1159 part/models.py:3770 #: part/templates/part/part_base.html:300 #: templates/js/translated/company.js:1425 templates/js/translated/part.js:1518 #: templates/js/translated/part.js:1622 templates/js/translated/part.js:2376 @@ -4530,7 +4527,7 @@ msgstr "Đơn vị tham số" #: company/models.py:659 company/templates/company/supplier_part.html:7 #: company/templates/company/supplier_part.html:24 order/api.py:440 #: order/serializers.py:492 stock/models.py:802 -#: stock/templates/stock/item_base.html:233 +#: stock/templates/stock/item_base.html:229 #: templates/js/translated/build.js:1055 #: templates/js/translated/company.js:1600 #: templates/js/translated/purchase_order.js:752 @@ -4553,9 +4550,9 @@ msgstr "Sản phẩm nhà sản xuất đã liên kết phải tham chiếu vớ #: company/models.py:786 company/templates/company/company_base.html:87 #: company/templates/company/supplier_part.html:129 order/models.py:492 #: order/templates/order/order_base.html:141 part/bom.py:279 part/bom.py:314 -#: part/serializers.py:551 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:549 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 -#: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 +#: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:220 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:511 @@ -4570,7 +4567,7 @@ msgstr "Nhà cung cấp" msgid "Select supplier" msgstr "Chọn nhà cung cấp" -#: company/models.py:793 part/serializers.py:562 +#: company/models.py:793 part/serializers.py:560 msgid "Supplier stock keeping unit" msgstr "Đơn vị quản lý kho nhà cung cấp" @@ -4591,7 +4588,7 @@ msgid "Supplier part description" msgstr "Mô tả sản phẩm nhà cung cấp" #: company/models.py:832 company/templates/company/supplier_part.html:187 -#: order/serializers.py:699 part/admin.py:415 part/models.py:4301 +#: order/serializers.py:699 part/admin.py:415 part/models.py:4288 #: part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 @@ -4603,11 +4600,11 @@ msgstr "Mô tả sản phẩm nhà cung cấp" msgid "Note" msgstr "Ghi chú" -#: company/models.py:841 part/models.py:2129 +#: company/models.py:841 part/models.py:2128 msgid "base cost" msgstr "chi phí cơ sở" -#: company/models.py:842 part/models.py:2130 +#: company/models.py:842 part/models.py:2129 msgid "Minimum charge (e.g. stocking fee)" msgstr "Thu phí tối thiểu (vd: phí kho bãi)" @@ -4629,7 +4626,7 @@ msgstr "Số lượng gói" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "Tổng số lượng được cung cấp trong một gói đơn. Để trống cho các hàng hóa riêng lẻ." -#: company/models.py:876 part/models.py:2136 +#: company/models.py:876 part/models.py:2135 msgid "multiple" msgstr "nhiều" @@ -4661,7 +4658,7 @@ msgstr "Tiền tệ mặc định được sử dụng cho nhà cung cấp này" msgid "Company Name" msgstr "" -#: company/serializers.py:397 part/admin.py:126 part/serializers.py:919 +#: company/serializers.py:397 part/admin.py:126 part/serializers.py:917 #: part/templates/part/part_base.html:197 #: templates/js/translated/company.js:1689 #: templates/js/translated/table_filters.js:362 @@ -4735,7 +4732,7 @@ msgstr "Xóa ảnh" #: order/models.py:2140 order/templates/order/return_order_base.html:134 #: order/templates/order/sales_order_base.html:151 stock/models.py:844 #: stock/models.py:845 stock/serializers.py:1336 -#: stock/templates/stock/item_base.html:405 +#: stock/templates/stock/item_base.html:401 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 #: templates/js/translated/return_order.js:295 @@ -4939,7 +4936,7 @@ msgstr "Chưa có thông tin nhà sản xuất" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:925 +#: part/admin.py:122 part/serializers.py:923 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -5030,7 +5027,7 @@ msgid "No supplier information available" msgstr "Chưa có thông tin nhà cung cấp" #: company/templates/company/supplier_part.html:139 order/serializers.py:554 -#: part/bom.py:286 part/bom.py:315 part/serializers.py:561 +#: part/bom.py:286 part/bom.py:315 part/serializers.py:559 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1793 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1920 @@ -5084,7 +5081,7 @@ msgid "Update Part Availability" msgstr "Cập nhật độ sẵn sàng sản phẩm" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:923 part/stocktake.py:223 +#: part/serializers.py:921 part/stocktake.py:223 #: part/templates/part/category.html:180 #: part/templates/part/category_sidebar.html:17 stock/admin.py:68 #: stock/serializers.py:1021 stock/serializers.py:1199 @@ -5215,7 +5212,7 @@ msgstr "" msgid "Original row data" msgstr "" -#: importer/models.py:504 part/models.py:3965 +#: importer/models.py:504 part/models.py:3952 msgid "Data" msgstr "Dữ liệu" @@ -5473,7 +5470,7 @@ msgstr "" #: order/models.py:1592 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_purchase_order_report.html:14 -#: stock/serializers.py:121 stock/templates/stock/item_base.html:176 +#: stock/serializers.py:121 stock/templates/stock/item_base.html:172 #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/part.js:1752 templates/js/translated/pricing.js:804 #: templates/js/translated/purchase_order.js:168 @@ -5694,7 +5691,7 @@ msgid "Number of items received" msgstr "Số mục đã nhận" #: order/models.py:1513 stock/models.py:963 stock/serializers.py:617 -#: stock/templates/stock/item_base.html:183 +#: stock/templates/stock/item_base.html:179 #: templates/js/translated/stock.js:2397 msgid "Purchase Price" msgstr "Giá mua" @@ -5768,7 +5765,7 @@ msgid "User who checked this shipment" msgstr "Người dùng đã kiểm tra vận chuyển này" #: order/models.py:1788 order/models.py:2011 order/serializers.py:1479 -#: order/serializers.py:1589 templates/js/translated/model_renderers.js:455 +#: order/serializers.py:1597 templates/js/translated/model_renderers.js:455 msgid "Shipment" msgstr "Vận chuyển" @@ -5982,7 +5979,7 @@ msgstr "Mục dòng" msgid "Line item does not match purchase order" msgstr "Mục dòng không phù hợp với đơn đặt mua" -#: order/serializers.py:656 order/serializers.py:779 order/serializers.py:1790 +#: order/serializers.py:656 order/serializers.py:779 order/serializers.py:1798 msgid "Select destination location for received items" msgstr "Chọn vị trí đích cho hàng hóa đã nhận" @@ -6019,7 +6016,7 @@ msgstr "Mã vạch đã được dùng" msgid "An integer quantity must be provided for trackable parts" msgstr "Cần điền số nguyên cho sản phẩm có thể theo dõi" -#: order/serializers.py:795 order/serializers.py:1806 +#: order/serializers.py:795 order/serializers.py:1814 msgid "Line items must be provided" msgstr "Dòng hàng hóa phải được cung cấp" @@ -6051,39 +6048,39 @@ msgstr "Số lượng phải là số dương" msgid "Enter serial numbers to allocate" msgstr "Nhập số sê ri để phân bổ" -#: order/serializers.py:1491 order/serializers.py:1597 +#: order/serializers.py:1491 order/serializers.py:1605 msgid "Shipment has already been shipped" msgstr "Vận đơn đã được chuyển đi" -#: order/serializers.py:1494 order/serializers.py:1600 +#: order/serializers.py:1494 order/serializers.py:1608 msgid "Shipment is not associated with this order" msgstr "Vận đơn không được gắn với đơn đặt này" -#: order/serializers.py:1541 +#: order/serializers.py:1549 msgid "No match found for the following serial numbers" msgstr "Không tìm thấy số sê ri sau đây" -#: order/serializers.py:1548 -msgid "The following serial numbers are already allocated" -msgstr "Những số sê ri sau đây đã được phân bổ" +#: order/serializers.py:1556 +msgid "The following serial numbers are unavailable" +msgstr "" -#: order/serializers.py:1760 +#: order/serializers.py:1768 msgid "Return order line item" msgstr "Dòng riêng biệt đơn hàng trả lại" -#: order/serializers.py:1766 +#: order/serializers.py:1774 msgid "Line item does not match return order" msgstr "Line item không phù hợp với đơn hàng trả lại" -#: order/serializers.py:1769 +#: order/serializers.py:1777 msgid "Line item has already been received" msgstr "Line item đã nhận được" -#: order/serializers.py:1798 +#: order/serializers.py:1806 msgid "Items can only be received against orders which are in progress" msgstr "Hàng hóa chỉ có thể được nhận theo đơn hàng đang trong tiến trình" -#: order/serializers.py:1881 +#: order/serializers.py:1889 msgid "Line price currency" msgstr "Tiền tệ giá đồng hạng" @@ -6510,7 +6507,7 @@ msgstr "Cập nhật {part} giá đơn vị đến {price}" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "Cập nhật {part} giá đơn vị đến {price} và số lượng đến {qty}" -#: part/admin.py:48 part/models.py:1044 part/serializers.py:908 +#: part/admin.py:48 part/models.py:1044 part/serializers.py:906 #: part/templates/part/part_base.html:276 #: report/templates/report/inventree_stock_location_report.html:103 #: templates/js/translated/part.js:1233 templates/js/translated/part.js:2347 @@ -6537,7 +6534,7 @@ msgstr "Ảnh sản phẩm" msgid "Category ID" msgstr "ID danh mục" -#: part/admin.py:67 part/admin.py:304 part/serializers.py:893 +#: part/admin.py:67 part/admin.py:304 part/serializers.py:891 #: part/stocktake.py:222 msgid "Category Name" msgstr "Tên danh mục" @@ -6562,18 +6559,18 @@ msgstr "Kho tối thiểu" msgid "Used In" msgstr "Sử dụng trong" -#: part/admin.py:150 part/serializers.py:918 +#: part/admin.py:150 part/serializers.py:916 #: part/templates/part/part_base.html:248 stock/admin.py:236 #: templates/js/translated/part.js:717 templates/js/translated/part.js:2159 msgid "Building" msgstr "Đang dựng" -#: part/admin.py:155 part/models.py:3214 part/models.py:3228 +#: part/admin.py:155 part/models.py:3201 part/models.py:3215 #: templates/js/translated/part.js:976 msgid "Minimum Cost" msgstr "Chi phí tối thiểu" -#: part/admin.py:158 part/models.py:3221 part/models.py:3235 +#: part/admin.py:158 part/models.py:3208 part/models.py:3222 #: templates/js/translated/part.js:986 msgid "Maximum Cost" msgstr "Chi phí tối đa" @@ -6592,7 +6589,7 @@ msgid "Category Path" msgstr "Đưỡng dẫn danh mục" #: part/admin.py:325 part/models.py:420 part/serializers.py:130 -#: part/serializers.py:290 part/serializers.py:428 +#: part/serializers.py:290 part/serializers.py:426 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:20 #: part/templates/part/category.html:138 part/templates/part/category.html:158 #: part/templates/part/category_sidebar.html:9 @@ -6619,13 +6616,13 @@ msgstr "IPN cha" msgid "Part Revision" msgstr "" -#: part/admin.py:418 part/serializers.py:1367 +#: part/admin.py:418 part/serializers.py:1365 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "Giá thấp nhất" -#: part/admin.py:423 part/serializers.py:1382 +#: part/admin.py:423 part/serializers.py:1380 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -6719,8 +6716,8 @@ msgstr "" msgid "BOM Valid" msgstr "" -#: part/api.py:1520 part/models.py:1036 part/models.py:3501 part/models.py:4060 -#: part/serializers.py:443 part/serializers.py:1223 +#: part/api.py:1520 part/models.py:1036 part/models.py:3488 part/models.py:4047 +#: part/serializers.py:441 part/serializers.py:1221 #: part/templates/part/part_base.html:267 stock/api.py:780 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 @@ -6746,7 +6743,7 @@ msgstr "" msgid "Default Location" msgstr "Điểm bán mặc định" -#: part/bom.py:184 part/serializers.py:926 +#: part/bom.py:184 part/serializers.py:924 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "Tổng số lượng" @@ -6755,7 +6752,7 @@ msgstr "Tổng số lượng" msgid "Input quantity for price calculation" msgstr "Số lượng đầu ra cho tính toán giá bán" -#: part/models.py:89 part/models.py:4061 part/templates/part/category.html:16 +#: part/models.py:89 part/models.py:4048 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "Danh mục sản phẩm" @@ -6878,7 +6875,7 @@ msgstr "Sản phẩm với Tên, IPN và Duyệt lại đã tồn tại." msgid "Parts cannot be assigned to structural part categories!" msgstr "Sản phẩm không thể được phân vào danh mục sản phẩm có cấu trúc!" -#: part/models.py:995 part/models.py:4116 +#: part/models.py:995 part/models.py:4103 msgid "Part name" msgstr "Tên sản phẩm" @@ -6906,7 +6903,7 @@ msgstr "Từ khóa sản phẩm để cải thiện sự hiện diện trong k msgid "Part category" msgstr "Danh mục sản phẩm" -#: part/models.py:1052 part/serializers.py:360 +#: part/models.py:1052 msgid "Part revision or version number" msgstr "Số phiên bản hoặc bản duyệt lại sản phẩm" @@ -7012,164 +7009,164 @@ msgid "Owner responsible for this part" msgstr "Trách nhiệm chủ sở hữu cho sản phẩm này" #: part/models.py:1264 part/templates/part/part_base.html:355 -#: stock/templates/stock/item_base.html:451 +#: stock/templates/stock/item_base.html:447 #: templates/js/translated/part.js:2490 msgid "Last Stocktake" msgstr "Kiểm kê cuối cùng" -#: part/models.py:2137 +#: part/models.py:2136 msgid "Sell multiple" msgstr "Bán nhiều" -#: part/models.py:3128 +#: part/models.py:3115 msgid "Currency used to cache pricing calculations" msgstr "Tiền được dùng để làm đệm tính toán giá bán" -#: part/models.py:3144 +#: part/models.py:3131 msgid "Minimum BOM Cost" msgstr "Chi phí BOM tối thiểu" -#: part/models.py:3145 +#: part/models.py:3132 msgid "Minimum cost of component parts" msgstr "Chi phí thành phần sản phẩm tối thiểu" -#: part/models.py:3151 +#: part/models.py:3138 msgid "Maximum BOM Cost" msgstr "Chi phí BOM tối đa" -#: part/models.py:3152 +#: part/models.py:3139 msgid "Maximum cost of component parts" msgstr "Chi phí thành phần sản phẩm tối đa" -#: part/models.py:3158 +#: part/models.py:3145 msgid "Minimum Purchase Cost" msgstr "Chi phí mua vào tối thiểu" -#: part/models.py:3159 +#: part/models.py:3146 msgid "Minimum historical purchase cost" msgstr "Chi phí mua vào tối thiểu trong lịch sử" -#: part/models.py:3165 +#: part/models.py:3152 msgid "Maximum Purchase Cost" msgstr "Chi phí mua tối đa" -#: part/models.py:3166 +#: part/models.py:3153 msgid "Maximum historical purchase cost" msgstr "Chi phí thành phần sản phẩm tối đa trong lịch sử" -#: part/models.py:3172 +#: part/models.py:3159 msgid "Minimum Internal Price" msgstr "Giá nội bộ tối thiểu" -#: part/models.py:3173 +#: part/models.py:3160 msgid "Minimum cost based on internal price breaks" msgstr "Chi phí tối thiểu dựa trên phá vỡ giá nội bộ" -#: part/models.py:3179 +#: part/models.py:3166 msgid "Maximum Internal Price" msgstr "Giá nội bộ tối đa" -#: part/models.py:3180 +#: part/models.py:3167 msgid "Maximum cost based on internal price breaks" msgstr "Chi phí tối đa dựa trên phá vỡ giá nội bộ" -#: part/models.py:3186 +#: part/models.py:3173 msgid "Minimum Supplier Price" msgstr "Giá nhà cung ứng tối thiểu" -#: part/models.py:3187 +#: part/models.py:3174 msgid "Minimum price of part from external suppliers" msgstr "Giá sản phẩm tối thiểu từ nhà cung ứng bên ngoài" -#: part/models.py:3193 +#: part/models.py:3180 msgid "Maximum Supplier Price" msgstr "Giá nhà cung ứng tối đa" -#: part/models.py:3194 +#: part/models.py:3181 msgid "Maximum price of part from external suppliers" msgstr "Giá sản phẩm tối đã từ nhà cung ứng bên ngoài" -#: part/models.py:3200 +#: part/models.py:3187 msgid "Minimum Variant Cost" msgstr "Giá trị biến thể tối thiểu" -#: part/models.py:3201 +#: part/models.py:3188 msgid "Calculated minimum cost of variant parts" msgstr "Chi phí tối thiểu của sản phẩm biến thể đã tính" -#: part/models.py:3207 +#: part/models.py:3194 msgid "Maximum Variant Cost" msgstr "Chi phí biến thể tối đa" -#: part/models.py:3208 +#: part/models.py:3195 msgid "Calculated maximum cost of variant parts" msgstr "Chi phí tối đa của sản phẩm biến thể đã tính" -#: part/models.py:3215 +#: part/models.py:3202 msgid "Override minimum cost" msgstr "Ghi đề chi phí tối thiểu" -#: part/models.py:3222 +#: part/models.py:3209 msgid "Override maximum cost" msgstr "Ghi đề chi phí tối đa" -#: part/models.py:3229 +#: part/models.py:3216 msgid "Calculated overall minimum cost" msgstr "Chi phí tối thiểu tính toán tổng thể" -#: part/models.py:3236 +#: part/models.py:3223 msgid "Calculated overall maximum cost" msgstr "Chi phí tối đa tính toán tổng thể" -#: part/models.py:3242 +#: part/models.py:3229 msgid "Minimum Sale Price" msgstr "Giá bán thấp nhất" -#: part/models.py:3243 +#: part/models.py:3230 msgid "Minimum sale price based on price breaks" msgstr "Giá bán tối thiểu dựa trên phá giá" -#: part/models.py:3249 +#: part/models.py:3236 msgid "Maximum Sale Price" msgstr "Giá bán cao nhất" -#: part/models.py:3250 +#: part/models.py:3237 msgid "Maximum sale price based on price breaks" msgstr "Giá bán cao nhất dựa trên phá giá" -#: part/models.py:3256 +#: part/models.py:3243 msgid "Minimum Sale Cost" msgstr "Chi phí bán hàng tối thiểu" -#: part/models.py:3257 +#: part/models.py:3244 msgid "Minimum historical sale price" msgstr "Giá bán hàng tối thiểu trong lịch sử" -#: part/models.py:3263 +#: part/models.py:3250 msgid "Maximum Sale Cost" msgstr "Giá bán hàng tối đa" -#: part/models.py:3264 +#: part/models.py:3251 msgid "Maximum historical sale price" msgstr "Giá bán hàng tối đa trong lịch sử" -#: part/models.py:3283 +#: part/models.py:3270 msgid "Part for stocktake" msgstr "Sản phẩm dành cho kiểm kê" -#: part/models.py:3288 +#: part/models.py:3275 msgid "Item Count" msgstr "Tổng số hàng" -#: part/models.py:3289 +#: part/models.py:3276 msgid "Number of individual stock entries at time of stocktake" msgstr "Số mục kho độc lậo tại thời điểm kiểm kê" -#: part/models.py:3297 +#: part/models.py:3284 msgid "Total available stock at time of stocktake" msgstr "Tống số kho tại thời điểm kiểm kê" -#: part/models.py:3301 part/models.py:3384 +#: part/models.py:3288 part/models.py:3371 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -7181,363 +7178,363 @@ msgstr "Tống số kho tại thời điểm kiểm kê" msgid "Date" msgstr "Ngày" -#: part/models.py:3302 +#: part/models.py:3289 msgid "Date stocktake was performed" msgstr "Kiểm kê đã thực hiện" -#: part/models.py:3310 +#: part/models.py:3297 msgid "Additional notes" msgstr "Ghi chú bổ sung" -#: part/models.py:3320 +#: part/models.py:3307 msgid "User who performed this stocktake" msgstr "Người dùng đã thực hiện đợt kiểm kê này" -#: part/models.py:3326 +#: part/models.py:3313 msgid "Minimum Stock Cost" msgstr "Chi phí kho tối thiểu" -#: part/models.py:3327 +#: part/models.py:3314 msgid "Estimated minimum cost of stock on hand" msgstr "Chi phí kho tối thiểu ước tính của kho đang có" -#: part/models.py:3333 +#: part/models.py:3320 msgid "Maximum Stock Cost" msgstr "Chi phí kho tối đa" -#: part/models.py:3334 +#: part/models.py:3321 msgid "Estimated maximum cost of stock on hand" msgstr "Chi phí kho tối đa ước tính của kho đang có" -#: part/models.py:3390 templates/InvenTree/settings/settings_staff_js.html:532 +#: part/models.py:3377 templates/InvenTree/settings/settings_staff_js.html:532 msgid "Report" msgstr "Báo cáo" -#: part/models.py:3391 +#: part/models.py:3378 msgid "Stocktake report file (generated internally)" msgstr "Tệp báo cáo kiểm kê (được sinh nội bộ)" -#: part/models.py:3396 templates/InvenTree/settings/settings_staff_js.html:539 +#: part/models.py:3383 templates/InvenTree/settings/settings_staff_js.html:539 msgid "Part Count" msgstr "Bộ đếm sản phẩm" -#: part/models.py:3397 +#: part/models.py:3384 msgid "Number of parts covered by stocktake" msgstr "Số sản phẩm đã được bao quát bởi kiểm kê" -#: part/models.py:3407 +#: part/models.py:3394 msgid "User who requested this stocktake report" msgstr "Người dùng đã yêu cầu báo cáo kiểm kê này" -#: part/models.py:3417 +#: part/models.py:3404 msgid "Part Sale Price Break" msgstr "" -#: part/models.py:3529 +#: part/models.py:3516 msgid "Part Test Template" msgstr "" -#: part/models.py:3555 +#: part/models.py:3542 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3576 part/models.py:3745 +#: part/models.py:3563 part/models.py:3732 msgid "Choices must be unique" msgstr "Lựa chọn phải duy nhất" -#: part/models.py:3587 +#: part/models.py:3574 msgid "Test templates can only be created for testable parts" msgstr "" -#: part/models.py:3598 +#: part/models.py:3585 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3615 templates/js/translated/part.js:2898 +#: part/models.py:3602 templates/js/translated/part.js:2898 msgid "Test Name" msgstr "Tên kiểm thử" -#: part/models.py:3616 +#: part/models.py:3603 msgid "Enter a name for the test" msgstr "Nhập tên cho kiểm thử" -#: part/models.py:3622 +#: part/models.py:3609 msgid "Test Key" msgstr "" -#: part/models.py:3623 +#: part/models.py:3610 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3630 +#: part/models.py:3617 msgid "Test Description" msgstr "Mô tả kiểm thử" -#: part/models.py:3631 +#: part/models.py:3618 msgid "Enter description for this test" msgstr "Nhập mô tả cho kiểm thử này" -#: part/models.py:3635 report/models.py:208 +#: part/models.py:3622 report/models.py:216 #: templates/js/translated/part.js:2919 #: templates/js/translated/table_filters.js:502 msgid "Enabled" msgstr "Đã bật" -#: part/models.py:3635 +#: part/models.py:3622 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3640 templates/js/translated/part.js:2927 +#: part/models.py:3627 templates/js/translated/part.js:2927 #: templates/js/translated/table_filters.js:498 msgid "Required" msgstr "Bắt buộc" -#: part/models.py:3641 +#: part/models.py:3628 msgid "Is this test required to pass?" msgstr "Kiểm thử này bắt buộc phải đạt?" -#: part/models.py:3646 templates/js/translated/part.js:2935 +#: part/models.py:3633 templates/js/translated/part.js:2935 msgid "Requires Value" msgstr "Giá trị bắt buộc" -#: part/models.py:3647 +#: part/models.py:3634 msgid "Does this test require a value when adding a test result?" msgstr "Kiểm thử này yêu cầu 1 giá trị khi thêm một kết quả kiểm thử?" -#: part/models.py:3652 templates/js/translated/part.js:2942 +#: part/models.py:3639 templates/js/translated/part.js:2942 msgid "Requires Attachment" msgstr "Yêu cầu đính kèm" -#: part/models.py:3654 +#: part/models.py:3641 msgid "Does this test require a file attachment when adding a test result?" msgstr "Kiểm thử này yêu cầu tệp đính kèm khi thêm một kết quả kiểm thử?" -#: part/models.py:3660 part/models.py:3804 templates/js/translated/part.js:1643 +#: part/models.py:3647 part/models.py:3791 templates/js/translated/part.js:1643 msgid "Choices" msgstr "Lựa chọn" -#: part/models.py:3661 +#: part/models.py:3648 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3693 +#: part/models.py:3680 msgid "Part Parameter Template" msgstr "" -#: part/models.py:3720 +#: part/models.py:3707 msgid "Checkbox parameters cannot have units" msgstr "Tham số hộp kiểm tra không thể có đơn vị" -#: part/models.py:3725 +#: part/models.py:3712 msgid "Checkbox parameters cannot have choices" msgstr "Tham số hộp kiểm tra không thể có lựa chọn" -#: part/models.py:3762 +#: part/models.py:3749 msgid "Parameter template name must be unique" msgstr "Tên tham số mẫu phải là duy nhất" -#: part/models.py:3777 +#: part/models.py:3764 msgid "Parameter Name" msgstr "Tên tham số" -#: part/models.py:3784 +#: part/models.py:3771 msgid "Physical units for this parameter" msgstr "Đơn vị vật lý cho tham số này" -#: part/models.py:3792 +#: part/models.py:3779 msgid "Parameter description" msgstr "Mô tả tham số" -#: part/models.py:3798 templates/js/translated/part.js:1634 +#: part/models.py:3785 templates/js/translated/part.js:1634 #: templates/js/translated/table_filters.js:837 msgid "Checkbox" msgstr "Ô lựa chọn" -#: part/models.py:3799 +#: part/models.py:3786 msgid "Is this parameter a checkbox?" msgstr "Tham số này có phải là hộp kiểm tra?" -#: part/models.py:3805 +#: part/models.py:3792 msgid "Valid choices for this parameter (comma-separated)" msgstr "Lựa chọn hợp lệ từ tham số này (ngăn cách bằng dấu phẩy)" -#: part/models.py:3839 +#: part/models.py:3826 msgid "Part Parameter" msgstr "" -#: part/models.py:3865 +#: part/models.py:3852 msgid "Parameter cannot be modified - part is locked" msgstr "" -#: part/models.py:3903 +#: part/models.py:3890 msgid "Invalid choice for parameter value" msgstr "Lựa chọn sai cho giá trị tham số" -#: part/models.py:3952 +#: part/models.py:3939 msgid "Parent Part" msgstr "Sản phẩm cha" -#: part/models.py:3960 part/models.py:4068 part/models.py:4069 +#: part/models.py:3947 part/models.py:4055 part/models.py:4056 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "Mẫu tham số" -#: part/models.py:3966 +#: part/models.py:3953 msgid "Parameter Value" msgstr "Giá trị tham số" -#: part/models.py:4016 +#: part/models.py:4003 msgid "Part Category Parameter Template" msgstr "" -#: part/models.py:4075 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:4062 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "Giá trị mặc định" -#: part/models.py:4076 +#: part/models.py:4063 msgid "Default Parameter Value" msgstr "Giá trị tham số mặc định" -#: part/models.py:4114 +#: part/models.py:4101 msgid "Part ID or part name" msgstr "Tên hoặc mã sản phẩm" -#: part/models.py:4115 +#: part/models.py:4102 msgid "Unique part ID value" msgstr "Giá trị mã sản phẩm duy nhất" -#: part/models.py:4117 +#: part/models.py:4104 msgid "Part IPN value" msgstr "Giá trị IPN sản phẩm" -#: part/models.py:4118 +#: part/models.py:4105 msgid "Level" msgstr "Cấp độ" -#: part/models.py:4118 +#: part/models.py:4105 msgid "BOM level" msgstr "Cấp độ BOM" -#: part/models.py:4228 +#: part/models.py:4215 msgid "BOM item cannot be modified - assembly is locked" msgstr "" -#: part/models.py:4235 +#: part/models.py:4222 msgid "BOM item cannot be modified - variant assembly is locked" msgstr "" -#: part/models.py:4245 +#: part/models.py:4232 msgid "Select parent part" msgstr "Chọn sản phẩm cha" -#: part/models.py:4255 +#: part/models.py:4242 msgid "Sub part" msgstr "Sản phẩm phụ" -#: part/models.py:4256 +#: part/models.py:4243 msgid "Select part to be used in BOM" msgstr "Chọn sản phẩm được dùng trong BOM" -#: part/models.py:4267 +#: part/models.py:4254 msgid "BOM quantity for this BOM item" msgstr "Số lượng BOM cho mục BOM này" -#: part/models.py:4273 +#: part/models.py:4260 msgid "This BOM item is optional" msgstr "Mục BOM này là tùy chọn" -#: part/models.py:4279 +#: part/models.py:4266 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "Mục BOM này bị tiêu hao (không được theo dõi trong đơn đặt bản dựng)" -#: part/models.py:4286 part/templates/part/upload_bom.html:55 +#: part/models.py:4273 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "Dư thừa" -#: part/models.py:4287 +#: part/models.py:4274 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "Số lượng bản dựng lãng phí ước tính (tuyệt đối hoặc phần trăm)" -#: part/models.py:4294 +#: part/models.py:4281 msgid "BOM item reference" msgstr "Tham chiếu mục BOM" -#: part/models.py:4302 +#: part/models.py:4289 msgid "BOM item notes" msgstr "Ghi chú mục BOM" -#: part/models.py:4308 +#: part/models.py:4295 msgid "Checksum" msgstr "Giá trị tổng kiểm" -#: part/models.py:4309 +#: part/models.py:4296 msgid "BOM line checksum" msgstr "Giá trị tổng kiểm dòng BOM" -#: part/models.py:4314 templates/js/translated/table_filters.js:181 +#: part/models.py:4301 templates/js/translated/table_filters.js:181 msgid "Validated" msgstr "Đã xác minh" -#: part/models.py:4315 +#: part/models.py:4302 msgid "This BOM item has been validated" msgstr "Mục BOM này là hợp lệ" -#: part/models.py:4320 part/templates/part/upload_bom.html:57 +#: part/models.py:4307 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:185 #: templates/js/translated/table_filters.js:218 msgid "Gets inherited" msgstr "Nhận thừa hưởng" -#: part/models.py:4321 +#: part/models.py:4308 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "Mục BOM này được thừa kế bởi BOM cho sản phẩm biến thể" -#: part/models.py:4327 +#: part/models.py:4314 msgid "Stock items for variant parts can be used for this BOM item" msgstr "Hàng trong kho cho sản phẩm biến thể có thể được dùng bởi mục BOM này" -#: part/models.py:4412 stock/models.py:689 +#: part/models.py:4399 stock/models.py:689 msgid "Quantity must be integer value for trackable parts" msgstr "Số lượng phải là giá trị nguyên dùng cho sản phẩm có thể theo dõi được" -#: part/models.py:4422 part/models.py:4424 +#: part/models.py:4409 part/models.py:4411 msgid "Sub part must be specified" msgstr "Sản phẩm phụ phải được chỉ định" -#: part/models.py:4561 +#: part/models.py:4554 msgid "BOM Item Substitute" msgstr "Sảm phẩm thay thế mục BOM" -#: part/models.py:4582 +#: part/models.py:4575 msgid "Substitute part cannot be the same as the master part" msgstr "Sản phẩm thay thế không thể giống sản phẩm chủ đạo" -#: part/models.py:4595 +#: part/models.py:4588 msgid "Parent BOM item" msgstr "Hàng hóa BOM cha" -#: part/models.py:4603 +#: part/models.py:4596 msgid "Substitute part" msgstr "Sản phẩm thay thế" -#: part/models.py:4619 +#: part/models.py:4612 msgid "Part 1" msgstr "Sản phẩm 1" -#: part/models.py:4627 +#: part/models.py:4620 msgid "Part 2" msgstr "Sản phẩm 2" -#: part/models.py:4628 +#: part/models.py:4621 msgid "Select Related Part" msgstr "Chọn sản phẩm liên quan" -#: part/models.py:4647 +#: part/models.py:4640 msgid "Part relationship cannot be created between a part and itself" msgstr "Không thể tạo mối quan hệ giữa một sản phẩm và chính nó" -#: part/models.py:4652 +#: part/models.py:4645 msgid "Duplicate relationship already exists" msgstr "Đã tồn tại mối quan hệ trùng lặp" @@ -7571,326 +7568,326 @@ msgstr "Loại tiền mua hàng của hàng hóa này" msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:434 +#: part/serializers.py:432 msgid "No parts selected" msgstr "Chưa chọn sản phẩm" -#: part/serializers.py:444 +#: part/serializers.py:442 msgid "Select category" msgstr "Chọn danh mục" -#: part/serializers.py:479 +#: part/serializers.py:477 msgid "Original Part" msgstr "Sản phẩm gốc" -#: part/serializers.py:480 +#: part/serializers.py:478 msgid "Select original part to duplicate" msgstr "Chọn sản phẩm gốc để nhân bản" -#: part/serializers.py:485 +#: part/serializers.py:483 msgid "Copy Image" msgstr "Sao chép ảnh" -#: part/serializers.py:486 +#: part/serializers.py:484 msgid "Copy image from original part" msgstr "Sao chép hình ảnh từ sản phẩm gốc" -#: part/serializers.py:492 part/templates/part/detail.html:293 +#: part/serializers.py:490 part/templates/part/detail.html:293 msgid "Copy BOM" msgstr "Sao chép BOM" -#: part/serializers.py:493 +#: part/serializers.py:491 msgid "Copy bill of materials from original part" msgstr "Sao chép định mức nguyên vật liệu từ sản phẩm gốc" -#: part/serializers.py:499 +#: part/serializers.py:497 msgid "Copy Parameters" msgstr "Sao chép thông số" -#: part/serializers.py:500 +#: part/serializers.py:498 msgid "Copy parameter data from original part" msgstr "Sao chép thông tin tham số từ sản phẩm gốc" -#: part/serializers.py:506 +#: part/serializers.py:504 msgid "Copy Notes" msgstr "Sao chép ghi chú" -#: part/serializers.py:507 +#: part/serializers.py:505 msgid "Copy notes from original part" msgstr "Sao chép ghi chú từ sản phẩm gốc" -#: part/serializers.py:525 +#: part/serializers.py:523 msgid "Initial Stock Quantity" msgstr "Số liệu tồn kho ban đầu" -#: part/serializers.py:527 +#: part/serializers.py:525 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "Chỉ ra số lượng tồn kho ban đầu cho sản phẩm. Nếu điền là không, không thêm kho nào." -#: part/serializers.py:534 +#: part/serializers.py:532 msgid "Initial Stock Location" msgstr "Vị trí kho ban đầu" -#: part/serializers.py:535 +#: part/serializers.py:533 msgid "Specify initial stock location for this Part" msgstr "Chỉ định vị trí kho ban đầu cho sản phẩm này" -#: part/serializers.py:552 +#: part/serializers.py:550 msgid "Select supplier (or leave blank to skip)" msgstr "Chọn nhà cung cấp (hoặc để trống để bỏ qua)" -#: part/serializers.py:568 +#: part/serializers.py:566 msgid "Select manufacturer (or leave blank to skip)" msgstr "Chọn nhà sản xuất (hoặc để trống để bỏ qua)" -#: part/serializers.py:578 +#: part/serializers.py:576 msgid "Manufacturer part number" msgstr "Mã số nhà sản xuất" -#: part/serializers.py:585 +#: part/serializers.py:583 msgid "Selected company is not a valid supplier" msgstr "Công ty đã chọn không phải là nhà cung ứng hợp lệ" -#: part/serializers.py:594 +#: part/serializers.py:592 msgid "Selected company is not a valid manufacturer" msgstr "Công ty đã chọn không phải là nhà sản xuất hợp lệ" -#: part/serializers.py:605 +#: part/serializers.py:603 msgid "Manufacturer part matching this MPN already exists" msgstr "Mã số nhà sản xuất khớp với MPN này đã tồn tại" -#: part/serializers.py:612 +#: part/serializers.py:610 msgid "Supplier part matching this SKU already exists" msgstr "Mã số nhà cung cấp khớp với SKU này đã tồn tại" -#: part/serializers.py:924 +#: part/serializers.py:922 msgid "Revisions" msgstr "" -#: part/serializers.py:929 +#: part/serializers.py:927 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:932 +#: part/serializers.py:930 msgid "Variant Stock" msgstr "" -#: part/serializers.py:962 part/templates/part/copy_part.html:9 +#: part/serializers.py:960 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:474 msgid "Duplicate Part" msgstr "Nhân bản sản phẩm" -#: part/serializers.py:963 +#: part/serializers.py:961 msgid "Copy initial data from another Part" msgstr "Sao chép dữ liệu ban đầu từ sản phẩm khác" -#: part/serializers.py:969 templates/js/translated/part.js:103 +#: part/serializers.py:967 templates/js/translated/part.js:103 msgid "Initial Stock" msgstr "Số liệu kho ban đầu" -#: part/serializers.py:970 +#: part/serializers.py:968 msgid "Create Part with initial stock quantity" msgstr "Tạo sản phẩm với số lượng tồn kho ban đầu" -#: part/serializers.py:976 +#: part/serializers.py:974 msgid "Supplier Information" msgstr "Thông tin nhà cung cấp" -#: part/serializers.py:977 +#: part/serializers.py:975 msgid "Add initial supplier information for this part" msgstr "Thêm thông tin nhà cung cấp ban đầu cho sản phẩm này" -#: part/serializers.py:985 +#: part/serializers.py:983 msgid "Copy Category Parameters" msgstr "Sao chép thông số nhóm hàng" -#: part/serializers.py:986 +#: part/serializers.py:984 msgid "Copy parameter templates from selected part category" msgstr "Sao chép mẫu tham số từ nhóm sản phẩm được chọn" -#: part/serializers.py:991 +#: part/serializers.py:989 msgid "Existing Image" msgstr "Ảnh hiện có" -#: part/serializers.py:992 +#: part/serializers.py:990 msgid "Filename of an existing part image" msgstr "Tên tệp của ảnh sản phẩm hiện hữu" -#: part/serializers.py:1009 +#: part/serializers.py:1007 msgid "Image file does not exist" msgstr "Tệp hình ảnh không tồn tại" -#: part/serializers.py:1215 +#: part/serializers.py:1213 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "Hạn chế báo cáo kiểm kê với sản phẩm riêng biệt và sản phẩm biến thể bất kỳ" -#: part/serializers.py:1225 +#: part/serializers.py:1223 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "Hạn chế báo cáo kiểm kê với danh mục sản phẩm riêng biệt và danh mục con bất kỳ" -#: part/serializers.py:1235 +#: part/serializers.py:1233 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "Hạn chế báo cáo kiểm kê với vị trí kho riêng biệt và vị trí con bất kỳ" -#: part/serializers.py:1241 +#: part/serializers.py:1239 msgid "Exclude External Stock" msgstr "Ngoại trừ kho bên ngoài" -#: part/serializers.py:1242 +#: part/serializers.py:1240 msgid "Exclude stock items in external locations" msgstr "Loại trừ hàng trong kho của vị trí bên ngoài" -#: part/serializers.py:1247 +#: part/serializers.py:1245 msgid "Generate Report" msgstr "Tạo báo cáo" -#: part/serializers.py:1248 +#: part/serializers.py:1246 msgid "Generate report file containing calculated stocktake data" msgstr "Tạo tệp báo cáo chứa dữ liệu kiểm kê đã tính toán" -#: part/serializers.py:1253 +#: part/serializers.py:1251 msgid "Update Parts" msgstr "Cập nhật sản phẩm" -#: part/serializers.py:1254 +#: part/serializers.py:1252 msgid "Update specified parts with calculated stocktake data" msgstr "Cập nhật sản phẩm cụ thể với dữ liệu kiểm kê đã tính" -#: part/serializers.py:1262 +#: part/serializers.py:1260 msgid "Stocktake functionality is not enabled" msgstr "Chức năng kiểm kê chưa được bật" -#: part/serializers.py:1368 +#: part/serializers.py:1366 msgid "Override calculated value for minimum price" msgstr "Giá trị tính toán ghi đè cho giá tối thiểu" -#: part/serializers.py:1375 +#: part/serializers.py:1373 msgid "Minimum price currency" msgstr "Tiền tế giá tối thiểu" -#: part/serializers.py:1383 +#: part/serializers.py:1381 msgid "Override calculated value for maximum price" msgstr "Giá trị tính toán ghi đè cho giá tối đa" -#: part/serializers.py:1390 +#: part/serializers.py:1388 msgid "Maximum price currency" msgstr "Tiền tế giá tối đa" -#: part/serializers.py:1419 +#: part/serializers.py:1417 msgid "Update" msgstr "Cập nhật" -#: part/serializers.py:1420 +#: part/serializers.py:1418 msgid "Update pricing for this part" msgstr "Cập nhật giá cho sản phẩm này" -#: part/serializers.py:1443 +#: part/serializers.py:1441 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "Không thể chuyển đổi từ tiền tệ đã cung cấp cho {default_currency}" -#: part/serializers.py:1450 +#: part/serializers.py:1448 msgid "Minimum price must not be greater than maximum price" msgstr "Giá tối thiểu không được lớn hơn giá tối đa" -#: part/serializers.py:1453 +#: part/serializers.py:1451 msgid "Maximum price must not be less than minimum price" msgstr "Giá tối đa không được nhỏ hơn giá tối thiểu" -#: part/serializers.py:1597 +#: part/serializers.py:1595 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1606 +#: part/serializers.py:1604 msgid "Component Name" msgstr "" -#: part/serializers.py:1609 +#: part/serializers.py:1607 msgid "Component IPN" msgstr "" -#: part/serializers.py:1612 +#: part/serializers.py:1610 msgid "Component Description" msgstr "" -#: part/serializers.py:1618 +#: part/serializers.py:1616 msgid "Select the component part" msgstr "" -#: part/serializers.py:1627 part/templates/part/part_base.html:242 +#: part/serializers.py:1625 part/templates/part/part_base.html:242 #: templates/js/translated/bom.js:1219 msgid "Can Build" msgstr "Có thể dựng" -#: part/serializers.py:1858 +#: part/serializers.py:1856 msgid "Select part to copy BOM from" msgstr "Chọn sản phẩm để sao chép định mức nguyên vật liệu" -#: part/serializers.py:1866 +#: part/serializers.py:1864 msgid "Remove Existing Data" msgstr "Xóa dữ liệu đã tồn tại" -#: part/serializers.py:1867 +#: part/serializers.py:1865 msgid "Remove existing BOM items before copying" msgstr "Xóa mục BOM đã tồn tại trước khi sao chép" -#: part/serializers.py:1872 +#: part/serializers.py:1870 msgid "Include Inherited" msgstr "Bao gồm thừa hưởng" -#: part/serializers.py:1873 +#: part/serializers.py:1871 msgid "Include BOM items which are inherited from templated parts" msgstr "Bao gồm mục BOM được thừa hưởng từ sản phẩm mẫu" -#: part/serializers.py:1878 +#: part/serializers.py:1876 msgid "Skip Invalid Rows" msgstr "Bỏ qua dòng không hợp lệ" -#: part/serializers.py:1879 +#: part/serializers.py:1877 msgid "Enable this option to skip invalid rows" msgstr "Bật tùy chọn này để bỏ qua dòng không hợp lệ" -#: part/serializers.py:1884 +#: part/serializers.py:1882 msgid "Copy Substitute Parts" msgstr "Sao chép sản phẩm thay thế" -#: part/serializers.py:1885 +#: part/serializers.py:1883 msgid "Copy substitute parts when duplicate BOM items" msgstr "Sao chép sản phẩm thay thế khi nhân bản hàng hóa BOM" -#: part/serializers.py:1922 +#: part/serializers.py:1920 msgid "Clear Existing BOM" msgstr "Dọn dẹp BOM đang tồn tại" -#: part/serializers.py:1923 +#: part/serializers.py:1921 msgid "Delete existing BOM items before uploading" msgstr "Xóa mục BOM đang tồn tại trước khi tải lên" -#: part/serializers.py:1955 +#: part/serializers.py:1953 msgid "No part column specified" msgstr "Chưa chỉ ra cột sản phẩm" -#: part/serializers.py:1999 +#: part/serializers.py:1997 msgid "Multiple matching parts found" msgstr "Tìm thấy nhiều sản phẩm phù hợp" -#: part/serializers.py:2002 +#: part/serializers.py:2000 msgid "No matching part found" msgstr "Không tìm thấy sản phẩm nào" -#: part/serializers.py:2004 +#: part/serializers.py:2002 msgid "Part is not designated as a component" msgstr "Sản phẩm không được chỉ định như là một thành phần" -#: part/serializers.py:2013 +#: part/serializers.py:2011 msgid "Quantity not provided" msgstr "Chưa cung cấp số lượng" -#: part/serializers.py:2021 +#: part/serializers.py:2019 msgid "Invalid quantity" msgstr "Số lượng không hợp lệ" -#: part/serializers.py:2044 +#: part/serializers.py:2042 msgid "At least one BOM item is required" msgstr "Buộc phải nhập ít nhất một mục BOM" @@ -8216,7 +8213,7 @@ msgid "Subscribe to notifications for this part" msgstr "Đăng ký nhận thông báo về sản phẩm này" #: part/templates/part/part_base.html:52 -#: stock/templates/stock/item_base.html:62 +#: stock/templates/stock/item_base.html:61 #: stock/templates/stock/location.html:71 templates/js/translated/label.js:136 msgid "Print Label" msgstr "In tem nhãn" @@ -8226,7 +8223,7 @@ msgid "Show pricing information" msgstr "Hiện thông tin giá cả" #: part/templates/part/part_base.html:63 -#: stock/templates/stock/item_base.html:110 +#: stock/templates/stock/item_base.html:106 #: stock/templates/stock/location.html:80 msgid "Stock actions" msgstr "Chức năng kho" @@ -8297,12 +8294,12 @@ msgid "Required for Orders" msgstr "" #: part/templates/part/part_base.html:225 -#: stock/templates/stock/item_base.html:388 +#: stock/templates/stock/item_base.html:384 msgid "Allocated to Build Orders" msgstr "Phân bổ đến đơn đặt bản dựng" #: part/templates/part/part_base.html:234 -#: stock/templates/stock/item_base.html:381 +#: stock/templates/stock/item_base.html:377 msgid "Allocated to Sales Orders" msgstr "Phân bổ đến đơn bán hàng" @@ -8322,7 +8319,7 @@ msgid "Latest Serial Number" msgstr "Số seri mới nhất" #: part/templates/part/part_base.html:372 -#: stock/templates/stock/item_base.html:322 +#: stock/templates/stock/item_base.html:318 msgid "Search for serial number" msgstr "Tìm kiếm cho số sê ri" @@ -8449,7 +8446,7 @@ msgid "Edit" msgstr "Sửa" #: part/templates/part/prices.html:28 stock/admin.py:252 -#: stock/templates/stock/item_base.html:446 +#: stock/templates/stock/item_base.html:442 #: templates/js/translated/company.js:1703 #: templates/js/translated/company.js:1713 #: templates/js/translated/stock.js:2332 @@ -8604,7 +8601,7 @@ msgstr "Không tìm thấy ảnh sản phẩm" msgid "Part Pricing" msgstr "Định giá sản phẩm" -#: plugin/api.py:172 +#: plugin/api.py:174 msgid "Plugin cannot be deleted as it is currently active" msgstr "" @@ -8940,7 +8937,7 @@ msgstr "Viền" msgid "Print a border around each label" msgstr "In một viền xung quanh từng nhãn" -#: plugin/builtin/labels/label_sheet.py:47 report/models.py:307 +#: plugin/builtin/labels/label_sheet.py:47 report/models.py:315 msgid "Landscape" msgstr "Ngang" @@ -9012,44 +9009,44 @@ msgstr "Cung cấp khả năng quét mã vạch TME" msgid "The Supplier which acts as 'TME'" msgstr "Nhà cung cấp hoạt động như 'TME'" -#: plugin/installer.py:194 plugin/installer.py:274 +#: plugin/installer.py:199 plugin/installer.py:282 msgid "Only staff users can administer plugins" msgstr "" -#: plugin/installer.py:197 +#: plugin/installer.py:202 msgid "Plugin installation is disabled" msgstr "" -#: plugin/installer.py:241 +#: plugin/installer.py:246 msgid "Installed plugin successfully" msgstr "Cài đặt phần mở rộng thành công" -#: plugin/installer.py:246 +#: plugin/installer.py:251 #, python-brace-format msgid "Installed plugin into {path}" msgstr "Cài đặt phần bổ sung đến {path}" -#: plugin/installer.py:265 +#: plugin/installer.py:273 msgid "Plugin was not found in registry" msgstr "" -#: plugin/installer.py:268 +#: plugin/installer.py:276 msgid "Plugin is not a packaged plugin" msgstr "" -#: plugin/installer.py:271 +#: plugin/installer.py:279 msgid "Plugin package name not found" msgstr "" -#: plugin/installer.py:291 +#: plugin/installer.py:299 msgid "Plugin uninstalling is disabled" msgstr "" -#: plugin/installer.py:295 +#: plugin/installer.py:303 msgid "Plugin cannot be uninstalled as it is currently active" msgstr "" -#: plugin/installer.py:308 +#: plugin/installer.py:316 msgid "Uninstalled plugin successfully" msgstr "" @@ -9098,7 +9095,7 @@ msgstr "Plugin có sẵn" msgid "Package Plugin" msgstr "" -#: plugin/models.py:220 report/models.py:474 +#: plugin/models.py:220 report/models.py:482 #: templates/InvenTree/settings/plugin_settings.html:9 #: templates/js/translated/plugin.js:51 msgid "Plugin" @@ -9167,6 +9164,38 @@ msgstr "Phần bổ sung trao đổi tiền tệ mẫu" msgid "InvenTree Contributors" msgstr "Người đóng góp InvenTree" +#: plugin/samples/integration/user_interface_sample.py:22 +msgid "Enable Part Panels" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:23 +msgid "Enable custom panels for Part views" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:28 +msgid "Enable Purchase Order Panels" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:29 +msgid "Enable custom panels for Purchase Order views" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:34 +msgid "Enable Broken Panels" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:35 +msgid "Enable broken panels for testing" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:40 +msgid "Enable Dynamic Panel" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:41 +msgid "Enable dynamic panels for testing" +msgstr "" + #: plugin/serializers.py:81 msgid "Source URL" msgstr "URL nguồn" @@ -9245,12 +9274,36 @@ msgstr "" msgid "Delete the plugin configuration from the database" msgstr "" +#: plugin/serializers.py:324 +msgid "Plugin Key" +msgstr "" + +#: plugin/serializers.py:328 +msgid "Panel Name" +msgstr "" + +#: plugin/serializers.py:332 +msgid "Panel Title" +msgstr "" + +#: plugin/serializers.py:337 +msgid "Panel Icon" +msgstr "" + +#: plugin/serializers.py:341 +msgid "Panel Content (HTML)" +msgstr "" + +#: plugin/serializers.py:345 +msgid "Panel Source (javascript)" +msgstr "" + #: report/api.py:88 msgid "No valid objects provided to template" msgstr "Chưa cung cấp đối tượng hợp lệ cho bản mẫu" -#: report/api.py:103 report/models.py:438 report/serializers.py:98 -#: report/serializers.py:148 templates/js/translated/purchase_order.js:1817 +#: report/api.py:103 report/models.py:446 report/serializers.py:99 +#: report/serializers.py:149 templates/js/translated/purchase_order.js:1817 #: templates/js/translated/return_order.js:353 #: templates/js/translated/sales_order.js:887 #: templates/js/translated/sales_order.js:1047 @@ -9281,7 +9334,11 @@ msgstr "" msgid "Error printing label" msgstr "" -#: report/api.py:375 report/api.py:411 +#: report/api.py:358 +msgid "Report saved at time of printing" +msgstr "" + +#: report/api.py:384 report/api.py:420 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "Tệp mẫu '{template}' đang bị lỗi hoặc không tồn tại" @@ -9318,135 +9375,143 @@ msgstr "" msgid "Revision number (auto-increments)" msgstr "" -#: report/models.py:202 +#: report/models.py:168 +msgid "Attach to Model on Print" +msgstr "" + +#: report/models.py:170 +msgid "Save report output as an attachment against linked model instance when printing" +msgstr "" + +#: report/models.py:210 msgid "Filename Pattern" msgstr "Mẫu tên tệp" -#: report/models.py:203 +#: report/models.py:211 msgid "Pattern for generating filenames" msgstr "" -#: report/models.py:208 +#: report/models.py:216 msgid "Template is enabled" msgstr "" -#: report/models.py:214 +#: report/models.py:222 msgid "Target model type for template" msgstr "" -#: report/models.py:234 +#: report/models.py:242 msgid "Filters" msgstr "Bộ lọc" -#: report/models.py:235 +#: report/models.py:243 msgid "Template query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:294 report/models.py:361 +#: report/models.py:302 report/models.py:369 msgid "Template file" msgstr "" -#: report/models.py:302 +#: report/models.py:310 msgid "Page size for PDF reports" msgstr "Khổ giấy cho báo cáo PDF" -#: report/models.py:308 +#: report/models.py:316 msgid "Render report in landscape orientation" msgstr "Tạo báo cáo theo hướng ngang" -#: report/models.py:367 +#: report/models.py:375 msgid "Width [mm]" msgstr "Chiều rộng [mm]" -#: report/models.py:368 +#: report/models.py:376 msgid "Label width, specified in mm" msgstr "Chiều rộng nhãn, tính theo mm" -#: report/models.py:374 +#: report/models.py:382 msgid "Height [mm]" msgstr "Chiều cao [mm]" -#: report/models.py:375 +#: report/models.py:383 msgid "Label height, specified in mm" msgstr "Chiều cao nhãn, tính theo mm" -#: report/models.py:438 +#: report/models.py:446 msgid "Number of items to process" msgstr "" -#: report/models.py:444 +#: report/models.py:452 msgid "Report generation is complete" msgstr "" -#: report/models.py:448 templates/js/translated/build.js:2352 +#: report/models.py:456 templates/js/translated/build.js:2352 msgid "Progress" msgstr "" -#: report/models.py:448 +#: report/models.py:456 msgid "Report generation progress" msgstr "" -#: report/models.py:456 +#: report/models.py:464 msgid "Report Template" msgstr "" -#: report/models.py:463 report/models.py:486 +#: report/models.py:471 report/models.py:494 msgid "Output File" msgstr "" -#: report/models.py:464 report/models.py:487 +#: report/models.py:472 report/models.py:495 msgid "Generated output file" msgstr "" -#: report/models.py:475 +#: report/models.py:483 msgid "Label output plugin" msgstr "" -#: report/models.py:479 +#: report/models.py:487 msgid "Label Template" msgstr "" -#: report/models.py:502 +#: report/models.py:510 msgid "Snippet" msgstr "Mẫu trích" -#: report/models.py:503 +#: report/models.py:511 msgid "Report snippet file" msgstr "Tệp báo cáo mẫu" -#: report/models.py:510 +#: report/models.py:518 msgid "Snippet file description" msgstr "Mô tả tệp báo cáo mẫu" -#: report/models.py:528 +#: report/models.py:536 msgid "Asset" msgstr "Tài sản" -#: report/models.py:529 +#: report/models.py:537 msgid "Report asset file" msgstr "Tệp báo cáo tài sản" -#: report/models.py:536 +#: report/models.py:544 msgid "Asset file description" msgstr "Mô tả tệp báo cáo tài sản" -#: report/serializers.py:91 +#: report/serializers.py:92 msgid "Select report template" msgstr "" -#: report/serializers.py:99 report/serializers.py:149 +#: report/serializers.py:100 report/serializers.py:150 msgid "List of item primary keys to include in the report" msgstr "" -#: report/serializers.py:132 +#: report/serializers.py:133 msgid "Select label template" msgstr "" -#: report/serializers.py:140 +#: report/serializers.py:141 msgid "Printing Plugin" msgstr "" -#: report/serializers.py:141 +#: report/serializers.py:142 msgid "Select plugin to use for label printing" msgstr "" @@ -9517,7 +9582,7 @@ msgstr "Kết quả kiểm tra" msgid "Test" msgstr "Thử nghiệm" -#: report/templates/report/inventree_test_report.html:103 stock/models.py:2538 +#: report/templates/report/inventree_test_report.html:103 stock/models.py:2533 msgid "Result" msgstr "Kết quả" @@ -9598,7 +9663,7 @@ msgid "Customer ID" msgstr "ID Khách hàng" #: stock/admin.py:206 stock/models.py:829 -#: stock/templates/stock/item_base.html:354 +#: stock/templates/stock/item_base.html:350 msgid "Installed In" msgstr "Đã cài đặt trong" @@ -9623,7 +9688,7 @@ msgid "Delete on Deplete" msgstr "Xóa khi thiếu hụt" #: stock/admin.py:261 stock/models.py:923 -#: stock/templates/stock/item_base.html:433 +#: stock/templates/stock/item_base.html:429 #: templates/js/translated/stock.js:2316 users/models.py:124 msgid "Expiry Date" msgstr "Ngày hết hạn" @@ -9665,7 +9730,7 @@ msgid "Expiry date after" msgstr "Ngày hết hạn sau đó" #: stock/api.py:839 stock/serializers.py:611 -#: stock/templates/stock/item_base.html:439 +#: stock/templates/stock/item_base.html:435 #: templates/js/translated/table_filters.js:448 msgid "Stale" msgstr "Ế" @@ -9715,7 +9780,7 @@ msgid "Stock Locations" msgstr "Vị trí kho hàng" #: stock/models.py:185 stock/models.py:972 -#: stock/templates/stock/item_base.html:247 +#: stock/templates/stock/item_base.html:243 msgid "Owner" msgstr "Chủ sở hữu" @@ -9826,7 +9891,7 @@ msgstr "Bản dựng nguồn" msgid "Build for this stock item" msgstr "Bản dựng cho hàng hóa này" -#: stock/models.py:892 stock/templates/stock/item_base.html:363 +#: stock/models.py:892 stock/templates/stock/item_base.html:359 msgid "Consumed By" msgstr "Tiêu thụ bởi" @@ -9891,7 +9956,7 @@ msgstr "Số lượng không khớp với số sêri" msgid "Serial numbers already exist" msgstr "Số sêri đã tồn tại" -#: stock/models.py:1636 +#: stock/models.py:1636 stock/models.py:2436 msgid "Test template does not exist" msgstr "" @@ -9939,67 +10004,67 @@ msgstr "Mã trạng thái kho phải phù hợp" msgid "StockItem cannot be moved as it is not in stock" msgstr "Không thể xóa mặt hàng không ở trong kho" -#: stock/models.py:2337 +#: stock/models.py:2335 msgid "Stock Item Tracking" msgstr "" -#: stock/models.py:2370 +#: stock/models.py:2368 msgid "Entry notes" msgstr "Ghi chú đầu vào" -#: stock/models.py:2410 +#: stock/models.py:2408 msgid "Stock Item Test Result" msgstr "" -#: stock/models.py:2443 +#: stock/models.py:2439 msgid "Value must be provided for this test" msgstr "Phải cung cấp giá trị cho kiểm thử này" -#: stock/models.py:2448 +#: stock/models.py:2443 msgid "Attachment must be uploaded for this test" msgstr "Phải tải liên đính kèm cho kiểm thử này" -#: stock/models.py:2453 +#: stock/models.py:2448 msgid "Invalid value for this test" msgstr "" -#: stock/models.py:2538 +#: stock/models.py:2533 msgid "Test result" msgstr "Kết quả kiểm thử" -#: stock/models.py:2545 +#: stock/models.py:2540 msgid "Test output value" msgstr "Giá trị đầu ra kiểm thử" -#: stock/models.py:2553 stock/serializers.py:245 +#: stock/models.py:2548 stock/serializers.py:245 msgid "Test result attachment" msgstr "Đính kèm kết quả kiểm thử" -#: stock/models.py:2557 +#: stock/models.py:2552 msgid "Test notes" msgstr "Ghi chú kiểm thử" -#: stock/models.py:2565 templates/js/translated/stock.js:1633 +#: stock/models.py:2560 templates/js/translated/stock.js:1633 msgid "Test station" msgstr "" -#: stock/models.py:2566 +#: stock/models.py:2561 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2572 +#: stock/models.py:2567 msgid "Started" msgstr "" -#: stock/models.py:2573 +#: stock/models.py:2568 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2579 +#: stock/models.py:2574 msgid "Finished" msgstr "" -#: stock/models.py:2580 +#: stock/models.py:2575 msgid "The timestamp of the test finish" msgstr "" @@ -10059,7 +10124,7 @@ msgstr "" msgid "Serial number is too large" msgstr "Số sêri quá lớn" -#: stock/serializers.py:459 stock/templates/stock/item_base.html:193 +#: stock/serializers.py:459 stock/templates/stock/item_base.html:189 msgid "Parent Item" msgstr "Mục cha" @@ -10071,7 +10136,7 @@ msgstr "" msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "Sử dụng kích thước đóng gói khi thêm: Số lượng được định nghĩa là số của gói" -#: stock/serializers.py:603 stock/templates/stock/item_base.html:437 +#: stock/serializers.py:603 stock/templates/stock/item_base.html:433 #: templates/js/translated/table_filters.js:442 users/models.py:174 msgid "Expired" msgstr "Đã hết hạn" @@ -10410,7 +10475,7 @@ msgstr "Hàng trong kho này không có bất kỳ hàng hóa con nào" msgid "Test Data" msgstr "Thông tin kiểm thử" -#: stock/templates/stock/item.html:85 stock/templates/stock/item_base.html:65 +#: stock/templates/stock/item.html:85 msgid "Test Report" msgstr "Báo cáo kiểm thử" @@ -10450,200 +10515,204 @@ msgstr "Xác định vị trí hàng tồn kho" msgid "Scan to Location" msgstr "Quét vào điểm bán" -#: stock/templates/stock/item_base.html:59 +#: stock/templates/stock/item_base.html:58 #: stock/templates/stock/location.html:67 #: templates/js/translated/filters.js:434 msgid "Printing actions" msgstr "Chức năng in" -#: stock/templates/stock/item_base.html:75 +#: stock/templates/stock/item_base.html:63 templates/js/translated/report.js:49 +msgid "Print Report" +msgstr "" + +#: stock/templates/stock/item_base.html:71 msgid "Stock adjustment actions" msgstr "Chức năng điều chỉnh kho" -#: stock/templates/stock/item_base.html:79 +#: stock/templates/stock/item_base.html:75 #: stock/templates/stock/location.html:87 templates/js/translated/stock.js:1909 msgid "Count stock" msgstr "Đếm hàng" -#: stock/templates/stock/item_base.html:81 +#: stock/templates/stock/item_base.html:77 #: templates/js/translated/stock.js:1891 msgid "Add stock" msgstr "Thêm hàng" -#: stock/templates/stock/item_base.html:82 +#: stock/templates/stock/item_base.html:78 #: templates/js/translated/stock.js:1900 msgid "Remove stock" msgstr "Xóa hàng hóa" -#: stock/templates/stock/item_base.html:85 +#: stock/templates/stock/item_base.html:81 msgid "Serialize stock" msgstr "Sắp xếp hàng hóa" -#: stock/templates/stock/item_base.html:88 +#: stock/templates/stock/item_base.html:84 #: stock/templates/stock/location.html:93 templates/js/translated/stock.js:1918 msgid "Transfer stock" msgstr "Chuyển giao hàng" -#: stock/templates/stock/item_base.html:91 +#: stock/templates/stock/item_base.html:87 #: templates/js/translated/stock.js:1973 msgid "Assign to customer" msgstr "Chỉ định cho khách hàng" -#: stock/templates/stock/item_base.html:94 +#: stock/templates/stock/item_base.html:90 msgid "Return to stock" msgstr "Trả lại kho" -#: stock/templates/stock/item_base.html:97 +#: stock/templates/stock/item_base.html:93 msgid "Uninstall stock item" msgstr "Gỡ cài đặt hàng trong kho" -#: stock/templates/stock/item_base.html:97 +#: stock/templates/stock/item_base.html:93 msgid "Uninstall" msgstr "Gỡ cài đặt" -#: stock/templates/stock/item_base.html:101 +#: stock/templates/stock/item_base.html:97 msgid "Install stock item" msgstr "Lắp đặt hàng hóa trong kho" -#: stock/templates/stock/item_base.html:101 +#: stock/templates/stock/item_base.html:97 msgid "Install" msgstr "Cài đặt" -#: stock/templates/stock/item_base.html:115 +#: stock/templates/stock/item_base.html:111 msgid "Convert to variant" msgstr "Chuyển đổi thành biến thể" -#: stock/templates/stock/item_base.html:118 +#: stock/templates/stock/item_base.html:114 msgid "Duplicate stock item" msgstr "Mặt hàng trùng lặp" -#: stock/templates/stock/item_base.html:120 +#: stock/templates/stock/item_base.html:116 msgid "Edit stock item" msgstr "Sửa mặt hàng" -#: stock/templates/stock/item_base.html:123 +#: stock/templates/stock/item_base.html:119 msgid "Delete stock item" msgstr "Xóa mặt hàng" -#: stock/templates/stock/item_base.html:169 templates/InvenTree/search.html:139 +#: stock/templates/stock/item_base.html:165 templates/InvenTree/search.html:139 #: templates/js/translated/build.js:2298 templates/navbar.html:38 msgid "Build" msgstr "Dựng" -#: stock/templates/stock/item_base.html:211 +#: stock/templates/stock/item_base.html:207 msgid "No manufacturer set" msgstr "Chưa đặt nhà sản xuất" -#: stock/templates/stock/item_base.html:251 +#: stock/templates/stock/item_base.html:247 msgid "You are not in the list of owners of this item. This stock item cannot be edited." msgstr "Bạn không thuộc danh sách chủ sở hữu hàng hóa này. Mặt hàng này không thể sửa đổi." -#: stock/templates/stock/item_base.html:252 +#: stock/templates/stock/item_base.html:248 #: stock/templates/stock/location.html:146 msgid "Read only" msgstr "Chỉ đọc" -#: stock/templates/stock/item_base.html:265 +#: stock/templates/stock/item_base.html:261 msgid "This stock item is unavailable" msgstr "Mặt hàng này không khả dụng" -#: stock/templates/stock/item_base.html:271 +#: stock/templates/stock/item_base.html:267 msgid "This stock item is in production and cannot be edited." msgstr "Mặt hàng này đang được sản xuất và không thể sửa được." -#: stock/templates/stock/item_base.html:272 +#: stock/templates/stock/item_base.html:268 msgid "Edit the stock item from the build view." msgstr "Sửa mặt hàng này từ khung nhìn bản dựng." -#: stock/templates/stock/item_base.html:287 +#: stock/templates/stock/item_base.html:283 msgid "This stock item is allocated to Sales Order" msgstr "Mặt hàng này đã được phân bổ về đơn hàng bán" -#: stock/templates/stock/item_base.html:295 +#: stock/templates/stock/item_base.html:291 msgid "This stock item is allocated to Build Order" msgstr "Mặt hàng này đã được phân bổ về đơn đặt bản dựng" -#: stock/templates/stock/item_base.html:311 +#: stock/templates/stock/item_base.html:307 msgid "This stock item is serialized. It has a unique serial number and the quantity cannot be adjusted" msgstr "Mặt hàng này là tuần tự. Nó có một số sêri duy nhất và số lượng không thể điều chỉnh được" -#: stock/templates/stock/item_base.html:317 +#: stock/templates/stock/item_base.html:313 msgid "previous page" msgstr "trang trước" -#: stock/templates/stock/item_base.html:317 +#: stock/templates/stock/item_base.html:313 msgid "Navigate to previous serial number" msgstr "Điều hướng đến số sêri trước" -#: stock/templates/stock/item_base.html:326 +#: stock/templates/stock/item_base.html:322 msgid "next page" msgstr "trang tiếp theo" -#: stock/templates/stock/item_base.html:326 +#: stock/templates/stock/item_base.html:322 msgid "Navigate to next serial number" msgstr "Điều hướng đến số sêri tiếp" -#: stock/templates/stock/item_base.html:398 +#: stock/templates/stock/item_base.html:394 #: templates/js/translated/build.js:2555 msgid "No location set" msgstr "Không có vị trí nào được đặt" -#: stock/templates/stock/item_base.html:413 +#: stock/templates/stock/item_base.html:409 msgid "Tests" msgstr "Thử nghiệm" -#: stock/templates/stock/item_base.html:419 +#: stock/templates/stock/item_base.html:415 msgid "This stock item has not passed all required tests" msgstr "Mặt hàng không đạt toàn bộ yêu cầu thử nghiệm" -#: stock/templates/stock/item_base.html:437 +#: stock/templates/stock/item_base.html:433 #, python-format msgid "This StockItem expired on %(item.expiry_date)s" msgstr "Mặt hàng này hết hạn vào %(item.expiry_date)s" -#: stock/templates/stock/item_base.html:439 +#: stock/templates/stock/item_base.html:435 #, python-format msgid "This StockItem expires on %(item.expiry_date)s" msgstr "Mặt hàng này hết hạn vào %(item.expiry_date)s" -#: stock/templates/stock/item_base.html:455 +#: stock/templates/stock/item_base.html:451 msgid "No stocktake performed" msgstr "Chưa thực hiện kiểm kê" -#: stock/templates/stock/item_base.html:504 +#: stock/templates/stock/item_base.html:500 #: templates/js/translated/stock.js:2038 msgid "stock item" msgstr "" -#: stock/templates/stock/item_base.html:527 +#: stock/templates/stock/item_base.html:523 msgid "Edit Stock Status" msgstr "" -#: stock/templates/stock/item_base.html:536 +#: stock/templates/stock/item_base.html:532 msgid "Stock Item QR Code" msgstr "" -#: stock/templates/stock/item_base.html:547 +#: stock/templates/stock/item_base.html:543 msgid "Link Barcode to Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:611 +#: stock/templates/stock/item_base.html:607 msgid "Select one of the part variants listed below." msgstr "Chọn một trong những biến thể sản phẩm được liệt kê bên dưới." -#: stock/templates/stock/item_base.html:614 +#: stock/templates/stock/item_base.html:610 msgid "Warning" msgstr "Cánh báo" -#: stock/templates/stock/item_base.html:615 +#: stock/templates/stock/item_base.html:611 msgid "This action cannot be easily undone" msgstr "Thao tác này không thể khôi phục lại một cách dễ dàng" -#: stock/templates/stock/item_base.html:623 +#: stock/templates/stock/item_base.html:619 msgid "Convert Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:656 +#: stock/templates/stock/item_base.html:652 msgid "Return to Stock" msgstr "" @@ -11310,7 +11379,7 @@ msgid "Delete Location Type" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:503 -#: templates/InvenTree/settings/stock.html:38 +#: templates/InvenTree/settings/stock.html:39 msgid "New Location Type" msgstr "Loại vị trí mới" @@ -11367,7 +11436,7 @@ msgstr "Thiết lập đơn hàng bán" msgid "Stock Settings" msgstr "Cài đặt kho hàng" -#: templates/InvenTree/settings/stock.html:34 +#: templates/InvenTree/settings/stock.html:35 msgid "Stock Location Types" msgstr "Loại ví trí kho" @@ -11852,23 +11921,23 @@ msgstr "Thêm đính kèm" msgid "Barcode Identifier" msgstr "Nhận dạng mã vạch" -#: templates/base.html:103 +#: templates/base.html:102 msgid "Server Restart Required" msgstr "Yêu cầu khởi động máy chủ" -#: templates/base.html:106 +#: templates/base.html:105 msgid "A configuration option has been changed which requires a server restart" msgstr "Đã thay đổi tùy chọn cấu hình nên cần phải khởi động lại máy chủ" -#: templates/base.html:106 templates/base.html:116 +#: templates/base.html:105 templates/base.html:115 msgid "Contact your system administrator for further information" msgstr "Liên lạc với quản trị hệ thống của bạn để biết thêm thông tin" -#: templates/base.html:113 +#: templates/base.html:112 msgid "Pending Database Migrations" msgstr "Di trú cơ sở dữ liệu đang chờ xử lý" -#: templates/base.html:116 +#: templates/base.html:115 msgid "There are pending database migrations which require attention" msgstr "Có di trú cơ sở dữ liệu đang chờ xử lý cần bạn lưu ý" @@ -13946,10 +14015,6 @@ msgstr "" msgid "Delete line item" msgstr "" -#: templates/js/translated/report.js:49 -msgid "Print Report" -msgstr "" - #: templates/js/translated/report.js:68 msgid "Report print successful" msgstr "" diff --git a/src/backend/InvenTree/locale/zh_Hans/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/zh_Hans/LC_MESSAGES/django.po index 334743f35168..2158c95e85cb 100644 --- a/src/backend/InvenTree/locale/zh_Hans/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/zh_Hans/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-08-29 07:07+0000\n" -"PO-Revision-Date: 2024-08-29 07:10\n" +"POT-Creation-Date: 2024-09-16 00:37+0000\n" +"PO-Revision-Date: 2024-09-16 00:40\n" "Last-Translator: \n" "Language-Team: Chinese Simplified\n" "Language: zh_CN\n" @@ -65,9 +65,9 @@ msgstr "输入日期" #: 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:59 -#: part/models.py:3309 part/templates/part/part_sidebar.html:65 +#: part/models.py:3296 part/templates/part/part_sidebar.html:65 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/admin.py:231 stock/models.py:2369 stock/models.py:2557 +#: stock/admin.py:231 stock/models.py:2367 stock/models.py:2552 #: stock/serializers.py:705 stock/serializers.py:863 stock/serializers.py:989 #: stock/serializers.py:1039 stock/serializers.py:1350 #: stock/serializers.py:1439 stock/serializers.py:1604 @@ -364,7 +364,7 @@ msgstr "中文 (繁体)" msgid "[{site_name}] Log in to the app" msgstr "[{site_name}] 登录到应用程序" -#: InvenTree/magic_login.py:38 InvenTree/serializers.py:413 +#: InvenTree/magic_login.py:38 InvenTree/serializers.py:416 #: company/models.py:133 company/templates/company/company_base.html:138 #: templates/InvenTree/settings/user.html:49 #: templates/js/translated/company.js:677 @@ -419,9 +419,9 @@ msgstr "同一個上層元件下不能有重複的名字" msgid "Invalid choice" msgstr "無效的選項" -#: InvenTree/models.py:767 common/models.py:2704 common/models.py:3131 -#: common/models.py:3351 common/serializers.py:439 company/models.py:590 -#: machine/models.py:24 part/models.py:995 part/models.py:3776 +#: InvenTree/models.py:767 common/models.py:2705 common/models.py:3132 +#: common/models.py:3352 common/serializers.py:455 company/models.py:590 +#: machine/models.py:24 part/models.py:995 part/models.py:3763 #: plugin/models.py:51 report/models.py:149 stock/models.py:82 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -446,10 +446,10 @@ msgstr "名稱" #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 order/models.py:289 #: order/models.py:1406 part/admin.py:305 part/admin.py:411 part/models.py:1018 -#: part/models.py:3791 part/templates/part/category.html:79 +#: part/models.py:3778 part/templates/part/category.html:79 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:155 -#: report/models.py:509 report/models.py:535 +#: report/models.py:517 report/models.py:543 #: report/templates/report/inventree_build_order_report.html:117 #: stock/admin.py:54 stock/models.py:88 stock/templates/stock/location.html:122 #: templates/InvenTree/settings/notifications.html:19 @@ -517,12 +517,12 @@ msgstr "伺服器錯誤" msgid "An error has been logged by the server." msgstr "伺服器紀錄了一個錯誤。" -#: InvenTree/serializers.py:63 part/models.py:4400 +#: InvenTree/serializers.py:63 part/models.py:4387 msgid "Must be a valid number" msgstr "必須是有效的數字" #: InvenTree/serializers.py:100 company/models.py:183 -#: company/templates/company/company_base.html:112 part/models.py:3127 +#: company/templates/company/company_base.html:112 part/models.py:3114 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -536,43 +536,43 @@ msgstr "從可用選項中選擇貨幣" msgid "Username" msgstr "用户名" -#: InvenTree/serializers.py:407 templates/InvenTree/settings/user.html:37 +#: InvenTree/serializers.py:408 templates/InvenTree/settings/user.html:37 msgid "First Name" msgstr "名" -#: InvenTree/serializers.py:407 +#: InvenTree/serializers.py:408 msgid "First name of the user" msgstr "用户的名字(不包括姓氏)" -#: InvenTree/serializers.py:410 templates/InvenTree/settings/user.html:41 +#: InvenTree/serializers.py:412 templates/InvenTree/settings/user.html:41 msgid "Last Name" msgstr "姓" -#: InvenTree/serializers.py:410 +#: InvenTree/serializers.py:412 msgid "Last name of the user" msgstr "用户的姓氏" -#: InvenTree/serializers.py:413 +#: InvenTree/serializers.py:416 msgid "Email address of the user" msgstr "用户的电子邮件地址" -#: InvenTree/serializers.py:438 +#: InvenTree/serializers.py:441 msgid "Staff" msgstr "职员" -#: InvenTree/serializers.py:438 +#: InvenTree/serializers.py:441 msgid "Does this user have staff permissions" msgstr "此用户是否拥有员工权限" -#: InvenTree/serializers.py:441 +#: InvenTree/serializers.py:445 msgid "Superuser" msgstr "超级用户" -#: InvenTree/serializers.py:441 +#: InvenTree/serializers.py:445 msgid "Is this user a superuser" msgstr "此用户是否为超级用户" -#: InvenTree/serializers.py:444 common/models.py:2709 company/models.py:160 +#: InvenTree/serializers.py:449 common/models.py:2710 company/models.py:160 #: company/models.py:798 machine/models.py:39 part/admin.py:88 #: part/models.py:1201 plugin/models.py:66 #: templates/js/translated/company.js:523 @@ -585,89 +585,89 @@ msgstr "此用户是否为超级用户" msgid "Active" msgstr "激活" -#: InvenTree/serializers.py:444 +#: InvenTree/serializers.py:449 msgid "Is this user account active" msgstr "此用户帐户是否已激活" -#: InvenTree/serializers.py:462 +#: InvenTree/serializers.py:467 msgid "You do not have permission to change this user role." msgstr "您沒有更改這個使用者角色的權限" -#: InvenTree/serializers.py:474 +#: InvenTree/serializers.py:503 msgid "Only superusers can create new users" msgstr "只有管理員帳戶可以建立新的使用者" -#: InvenTree/serializers.py:493 +#: InvenTree/serializers.py:522 msgid "Your account has been created." msgstr "您的帳號已經建立完成。" -#: InvenTree/serializers.py:495 +#: InvenTree/serializers.py:524 msgid "Please use the password reset function to login" msgstr "請使用重設密碼功能來登入" -#: InvenTree/serializers.py:502 +#: InvenTree/serializers.py:531 msgid "Welcome to InvenTree" msgstr "歡迎使用 InvenTree" -#: InvenTree/serializers.py:560 +#: InvenTree/serializers.py:589 msgid "Invalid value" msgstr "无效值" -#: InvenTree/serializers.py:580 importer/models.py:64 +#: InvenTree/serializers.py:609 importer/models.py:64 msgid "Data File" msgstr "数据文件" -#: InvenTree/serializers.py:581 +#: InvenTree/serializers.py:610 msgid "Select data file for upload" msgstr "选择要上传的数据文件" -#: InvenTree/serializers.py:598 +#: InvenTree/serializers.py:627 msgid "Unsupported file type" msgstr "不支持的文件类型" -#: InvenTree/serializers.py:604 +#: InvenTree/serializers.py:633 msgid "File is too large" msgstr "文件过大" -#: InvenTree/serializers.py:625 +#: InvenTree/serializers.py:654 msgid "No columns found in file" msgstr "在文件中没有找到列" -#: InvenTree/serializers.py:628 +#: InvenTree/serializers.py:657 msgid "No data rows found in file" msgstr "在文件中没有找到数据行" -#: InvenTree/serializers.py:740 +#: InvenTree/serializers.py:769 msgid "No data rows provided" msgstr "没有提供数据行" -#: InvenTree/serializers.py:743 +#: InvenTree/serializers.py:772 msgid "No data columns supplied" msgstr "没有提供数据列" -#: InvenTree/serializers.py:809 +#: InvenTree/serializers.py:838 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "缺少必需的列:'{name}'" -#: InvenTree/serializers.py:818 +#: InvenTree/serializers.py:847 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "重复列: '{col}'" -#: InvenTree/serializers.py:857 +#: InvenTree/serializers.py:886 msgid "Remote Image" msgstr "远程图片" -#: InvenTree/serializers.py:858 +#: InvenTree/serializers.py:887 msgid "URL of remote image file" msgstr "远程图片文件的 URL" -#: InvenTree/serializers.py:876 +#: InvenTree/serializers.py:905 msgid "Downloading images from remote URL is not enabled" msgstr "未启用从远程 URL下载图片" -#: InvenTree/status.py:65 part/serializers.py:1267 +#: InvenTree/status.py:65 part/serializers.py:1265 msgid "Background worker check failed" msgstr "后台执行器检查失败" @@ -735,7 +735,7 @@ msgstr "上層生產工單" #: build/api.py:59 msgid "Ancestor Build" -msgstr "" +msgstr "可测试部分" #: build/api.py:78 order/api.py:92 templates/js/translated/table_filters.js:101 #: templates/js/translated/table_filters.js:549 @@ -753,13 +753,13 @@ msgstr "发布者" #: build/api.py:114 msgid "Assigned To" -msgstr "" +msgstr "已分配到" #: build/api.py:275 msgid "Build must be cancelled before it can be deleted" msgstr "工單必須被取消才能被刪除" -#: build/api.py:319 build/serializers.py:1332 part/models.py:4278 +#: build/api.py:319 build/serializers.py:1332 part/models.py:4265 #: templates/js/translated/bom.js:997 templates/js/translated/bom.js:1037 #: templates/js/translated/build.js:2705 #: templates/js/translated/table_filters.js:197 @@ -767,7 +767,7 @@ msgstr "工單必須被取消才能被刪除" msgid "Consumable" msgstr "耗材" -#: build/api.py:320 build/serializers.py:1333 part/models.py:4272 +#: build/api.py:320 build/serializers.py:1333 part/models.py:4259 #: part/templates/part/upload_bom.html:58 templates/js/translated/bom.js:1001 #: templates/js/translated/bom.js:1028 templates/js/translated/build.js:2696 #: templates/js/translated/table_filters.js:193 @@ -777,7 +777,7 @@ msgid "Optional" msgstr "非必須項目" #: build/api.py:321 common/models.py:1491 part/admin.py:91 part/admin.py:428 -#: part/models.py:1166 part/serializers.py:1596 +#: part/models.py:1166 part/serializers.py:1594 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:337 #: templates/js/translated/table_filters.js:729 @@ -793,7 +793,7 @@ msgstr "追蹤中" #: templates/js/translated/table_filters.js:146 #: templates/js/translated/table_filters.js:779 msgid "Testable" -msgstr "" +msgstr "可测试" #: build/api.py:325 part/admin.py:144 templates/js/translated/build.js:1920 #: templates/js/translated/build.js:2823 @@ -816,7 +816,7 @@ msgstr "已分配" msgid "Available" msgstr "可用數量" -#: build/models.py:87 build/templates/build/build_base.html:9 +#: build/models.py:88 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_report.html:105 #: stock/serializers.py:85 templates/email/build_order_completed.html:16 @@ -825,7 +825,7 @@ msgstr "可用數量" msgid "Build Order" msgstr "生產工單" -#: build/models.py:88 build/templates/build/build_base.html:13 +#: build/models.py:89 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:111 #: order/templates/order/so_sidebar.html:13 @@ -866,7 +866,7 @@ msgstr "生產工單代號" #: build/models.py:243 build/serializers.py:1331 order/models.py:468 #: order/models.py:979 order/models.py:1366 order/models.py:2128 -#: part/admin.py:414 part/models.py:4293 part/templates/part/upload_bom.html:54 +#: part/admin.py:414 part/models.py:4280 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 @@ -892,11 +892,11 @@ msgstr "這張生產工單對應的上層生產工單" #: build/templates/build/build_base.html:105 #: build/templates/build/detail.html:29 company/models.py:1043 order/api.py:761 #: order/models.py:1496 order/models.py:1651 order/models.py:1652 -#: part/api.py:1506 part/api.py:1806 part/models.py:419 part/models.py:3138 -#: part/models.py:3282 part/models.py:3430 part/models.py:3451 -#: part/models.py:3473 part/models.py:3609 part/models.py:3951 -#: part/models.py:4114 part/models.py:4244 part/models.py:4602 -#: part/serializers.py:1213 part/serializers.py:1857 +#: part/api.py:1506 part/api.py:1806 part/models.py:419 part/models.py:3125 +#: part/models.py:3269 part/models.py:3417 part/models.py:3438 +#: part/models.py:3460 part/models.py:3596 part/models.py:3938 +#: part/models.py:4101 part/models.py:4231 part/models.py:4595 +#: part/serializers.py:1211 part/serializers.py:1855 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -1063,12 +1063,12 @@ msgstr "負責此生產工單的使用者或群組" #: order/templates/order/return_order_base.html:148 #: order/templates/order/sales_order_base.html:187 #: part/templates/part/part_base.html:399 stock/models.py:859 -#: stock/templates/stock/item_base.html:200 +#: stock/templates/stock/item_base.html:196 #: templates/js/translated/company.js:1019 msgid "External Link" msgstr "外部連結" -#: build/models.py:378 common/models.py:3272 part/models.py:1070 +#: build/models.py:378 common/models.py:3273 part/models.py:1070 #: stock/models.py:859 msgid "Link to external URL" msgstr "外部URL連結" @@ -1110,7 +1110,7 @@ msgstr "生產工單 {build} 已經完成" msgid "A build order has been completed" msgstr "一張生產工單已經完成" -#: build/models.py:968 build/models.py:1056 +#: build/models.py:968 build/models.py:1057 msgid "No build output specified" msgstr "未指定产出" @@ -1122,37 +1122,37 @@ msgstr "产出已完成" msgid "Build output does not match Build Order" msgstr "产出与生产订单不匹配" -#: build/models.py:1060 build/serializers.py:279 build/serializers.py:328 +#: build/models.py:1061 build/serializers.py:279 build/serializers.py:328 #: build/serializers.py:959 order/models.py:565 order/serializers.py:500 -#: order/serializers.py:666 part/serializers.py:1590 part/serializers.py:2019 +#: order/serializers.py:666 part/serializers.py:1588 part/serializers.py:2017 #: stock/models.py:704 stock/models.py:1515 stock/serializers.py:676 msgid "Quantity must be greater than zero" msgstr "數量必須大於零" -#: build/models.py:1065 build/serializers.py:284 +#: build/models.py:1066 build/serializers.py:284 msgid "Quantity cannot be greater than the output quantity" msgstr "数量不能大于输出数量" -#: build/models.py:1125 build/serializers.py:607 +#: build/models.py:1126 build/serializers.py:607 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "产出 {serial} 未通过所有必要测试" -#: build/models.py:1466 +#: build/models.py:1477 msgid "Build Order Line Item" msgstr "生产订单行项目" -#: build/models.py:1491 +#: build/models.py:1502 msgid "Build object" msgstr "生产对象" -#: build/models.py:1505 build/models.py:1761 build/serializers.py:266 +#: build/models.py:1516 build/models.py:1775 build/serializers.py:266 #: build/serializers.py:313 build/serializers.py:1339 #: build/templates/build/build_base.html:110 -#: build/templates/build/detail.html:34 common/models.py:2581 +#: build/templates/build/detail.html:34 common/models.py:2582 #: order/models.py:1349 order/models.py:2034 order/serializers.py:1464 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:413 -#: part/forms.py:48 part/models.py:3296 part/models.py:4266 +#: part/forms.py:48 part/models.py:3283 part/models.py:4253 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1163,9 +1163,9 @@ msgstr "生产对象" #: report/templates/report/inventree_test_report.html:90 #: report/templates/report/inventree_test_report.html:169 stock/admin.py:160 #: stock/serializers.py:128 stock/serializers.py:168 stock/serializers.py:667 -#: stock/templates/stock/item_base.html:287 -#: stock/templates/stock/item_base.html:295 -#: stock/templates/stock/item_base.html:342 +#: stock/templates/stock/item_base.html:283 +#: stock/templates/stock/item_base.html:291 +#: stock/templates/stock/item_base.html:338 #: templates/email/build_order_completed.html:18 #: templates/js/translated/barcode.js:579 templates/js/translated/bom.js:771 #: templates/js/translated/bom.js:981 templates/js/translated/build.js:525 @@ -1194,41 +1194,41 @@ msgstr "生产对象" msgid "Quantity" msgstr "數量" -#: build/models.py:1506 +#: build/models.py:1517 msgid "Required quantity for build order" msgstr "生產工單所需數量" -#: build/models.py:1586 +#: build/models.py:1597 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "生产项必须指定产出,因为主零件已经被标记为可追踪的" -#: build/models.py:1595 +#: build/models.py:1606 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "分配的數量({q})不能超過可用的庫存數量({a})" -#: build/models.py:1605 order/models.py:1985 +#: build/models.py:1616 order/models.py:1985 msgid "Stock item is over-allocated" msgstr "庫存品項超額分配" -#: build/models.py:1611 order/models.py:1988 +#: build/models.py:1622 order/models.py:1988 msgid "Allocation quantity must be greater than zero" msgstr "分配的數量必須大於零" -#: build/models.py:1617 +#: build/models.py:1628 msgid "Quantity must be 1 for serialized stock" msgstr "有序號的品項數量必須為1" -#: build/models.py:1676 +#: build/models.py:1687 msgid "Selected stock item does not match BOM line" msgstr "選擇的庫存品項和BOM的項目不符" -#: build/models.py:1748 build/serializers.py:939 order/serializers.py:1301 +#: build/models.py:1762 build/serializers.py:939 order/serializers.py:1301 #: order/serializers.py:1322 stock/models.py:381 stock/serializers.py:94 #: stock/serializers.py:770 stock/serializers.py:1288 stock/serializers.py:1400 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 -#: stock/templates/stock/item_base.html:194 +#: stock/templates/stock/item_base.html:190 #: templates/js/translated/build.js:1921 #: templates/js/translated/sales_order.js:301 #: templates/js/translated/sales_order.js:1234 @@ -1241,28 +1241,28 @@ msgstr "選擇的庫存品項和BOM的項目不符" msgid "Stock Item" msgstr "庫存品項" -#: build/models.py:1749 +#: build/models.py:1763 msgid "Source stock item" msgstr "來源庫存項目" -#: build/models.py:1762 +#: build/models.py:1776 msgid "Stock quantity to allocate to build" msgstr "要分配的庫存數量" -#: build/models.py:1770 +#: build/models.py:1784 msgid "Install into" msgstr "安裝到" -#: build/models.py:1771 +#: build/models.py:1785 msgid "Destination stock item" msgstr "目的庫存品項" #: build/serializers.py:107 msgid "Build Level" -msgstr "" +msgstr "构建等级" #: build/serializers.py:115 build/serializers.py:1234 build/serializers.py:1323 -#: part/admin.py:41 part/admin.py:408 part/models.py:4116 part/stocktake.py:219 +#: part/admin.py:41 part/admin.py:408 part/models.py:4103 part/stocktake.py:219 #: stock/admin.py:157 msgid "Part Name" msgstr "零件名称" @@ -1273,7 +1273,7 @@ msgstr "项目编码标签" #: build/serializers.py:133 msgid "Create Child Builds" -msgstr "" +msgstr "新建子版本" #: build/serializers.py:134 msgid "Automatically generate child build orders" @@ -1323,10 +1323,10 @@ msgid "Enter serial numbers for build outputs" msgstr "输出产出的序列号" #: build/serializers.py:359 build/serializers.py:500 build/serializers.py:572 -#: order/serializers.py:655 order/serializers.py:778 order/serializers.py:1789 -#: part/serializers.py:1233 stock/serializers.py:103 stock/serializers.py:698 +#: order/serializers.py:655 order/serializers.py:778 order/serializers.py:1797 +#: part/serializers.py:1231 stock/serializers.py:103 stock/serializers.py:698 #: stock/serializers.py:858 stock/serializers.py:984 stock/serializers.py:1432 -#: stock/serializers.py:1688 stock/templates/stock/item_base.html:394 +#: stock/serializers.py:1688 stock/templates/stock/item_base.html:390 #: templates/js/translated/barcode.js:578 #: templates/js/translated/barcode.js:826 templates/js/translated/build.js:1035 #: templates/js/translated/build.js:1177 templates/js/translated/build.js:2547 @@ -1390,7 +1390,7 @@ msgstr "已完成删除的库存地点" #: build/templates/build/detail.html:62 order/models.py:477 #: order/models.py:1003 order/models.py:2152 order/serializers.py:687 #: stock/admin.py:165 stock/serializers.py:1035 stock/serializers.py:1576 -#: stock/templates/stock/item_base.html:427 +#: stock/templates/stock/item_base.html:423 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2366 #: templates/js/translated/purchase_order.js:1371 #: templates/js/translated/purchase_order.js:1792 @@ -1522,7 +1522,7 @@ msgstr "对于被追踪的零件的分配,必须指定生产产出" msgid "Build output cannot be specified for allocation of untracked parts" msgstr "对于未被追踪的零件,无法指定生产产出" -#: build/serializers.py:1030 order/serializers.py:1614 +#: build/serializers.py:1030 order/serializers.py:1622 msgid "Allocation items must be provided" msgstr "必须提供分配项目" @@ -1590,7 +1590,7 @@ msgstr "物料清单参考" #: build/serializers.py:1230 company/models.py:849 #: company/templates/company/supplier_part.html:160 order/serializers.py:691 #: stock/admin.py:229 stock/models.py:822 stock/serializers.py:1586 -#: stock/templates/stock/item_base.html:240 +#: stock/templates/stock/item_base.html:236 #: templates/js/translated/company.js:1646 #: templates/js/translated/purchase_order.js:1169 #: templates/js/translated/purchase_order.js:1332 @@ -1600,12 +1600,12 @@ msgid "Packaging" msgstr "打包" #: build/serializers.py:1233 part/admin.py:39 part/admin.py:398 -#: part/models.py:4115 part/stocktake.py:218 stock/admin.py:153 +#: part/models.py:4102 part/stocktake.py:218 stock/admin.py:153 msgid "Part ID" msgstr "零件编号" #: build/serializers.py:1235 build/serializers.py:1324 part/admin.py:402 -#: part/models.py:4117 +#: part/models.py:4104 msgid "Part IPN" msgstr "零件的内部零件号" @@ -1625,7 +1625,7 @@ msgstr "物料清单零件名称" #: build/serializers.py:1243 #: report/templates/report/inventree_return_order_report.html:25 #: report/templates/report/inventree_test_report.html:88 stock/models.py:849 -#: stock/serializers.py:152 stock/templates/stock/item_base.html:311 +#: stock/serializers.py:152 stock/templates/stock/item_base.html:307 #: templates/js/translated/build.js:523 templates/js/translated/build.js:1543 #: templates/js/translated/build.js:2530 #: templates/js/translated/model_renderers.js:231 @@ -1644,7 +1644,7 @@ msgstr "序列号" msgid "Allocated Quantity" msgstr "已分配数量" -#: build/serializers.py:1257 stock/templates/stock/item_base.html:340 +#: build/serializers.py:1257 stock/templates/stock/item_base.html:336 msgid "Available Quantity" msgstr "可用数量" @@ -1667,13 +1667,13 @@ msgstr "可追踪" msgid "Inherited" msgstr "已继承的" -#: build/serializers.py:1337 part/models.py:4326 +#: build/serializers.py:1337 part/models.py:4313 #: part/templates/part/upload_bom.html:56 templates/js/translated/bom.js:1046 #: templates/js/translated/build.js:2714 msgid "Allow Variants" msgstr "允许变体" -#: build/serializers.py:1341 part/models.py:4124 part/models.py:4594 +#: build/serializers.py:1341 part/models.py:4111 part/models.py:4587 #: stock/api.py:793 msgid "BOM Item" msgstr "物料清单项" @@ -1684,7 +1684,7 @@ msgid "Allocated Stock" msgstr "分配库存" #: build/serializers.py:1355 order/serializers.py:1179 part/admin.py:132 -#: part/bom.py:186 part/serializers.py:920 part/serializers.py:1623 +#: part/bom.py:186 part/serializers.py:918 part/serializers.py:1621 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 #: templates/js/translated/build.js:2807 templates/js/translated/part.js:712 #: templates/js/translated/part.js:2155 @@ -1692,13 +1692,13 @@ msgstr "分配库存" msgid "On Order" msgstr "已订购" -#: build/serializers.py:1360 order/serializers.py:1180 part/serializers.py:1625 +#: build/serializers.py:1360 order/serializers.py:1180 part/serializers.py:1623 #: templates/js/translated/build.js:2811 #: templates/js/translated/table_filters.js:367 msgid "In Production" msgstr "生产中" -#: build/serializers.py:1365 part/bom.py:185 part/serializers.py:1650 +#: build/serializers.py:1365 part/bom.py:185 part/serializers.py:1648 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" @@ -1716,7 +1716,7 @@ msgstr "可用的变体库存" msgid "Total Available Stock" msgstr "全部可用库存" -#: build/serializers.py:1372 part/serializers.py:927 +#: build/serializers.py:1372 part/serializers.py:925 msgid "External Stock" msgstr "外部库存" @@ -1745,7 +1745,7 @@ msgstr "已取消" #: importer/status_codes.py:27 order/status_codes.py:15 #: order/status_codes.py:50 order/status_codes.py:81 #: order/templates/order/order_base.html:163 -#: order/templates/order/sales_order_base.html:168 report/models.py:443 +#: order/templates/order/sales_order_base.html:168 report/models.py:451 msgid "Complete" msgstr "完成" @@ -1849,9 +1849,6 @@ msgid "Delete Build" msgstr "删除生产操作" #: build/templates/build/build_base.html:87 -msgid "Isueue Build" -msgstr "" - #: build/templates/build/build_base.html:88 msgid "Issue Build" msgstr "发布生产" @@ -1931,7 +1928,7 @@ msgstr "产出已完成" #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_report.html:135 #: report/templates/report/inventree_sales_order_report.html:14 -#: stock/templates/stock/item_base.html:369 +#: stock/templates/stock/item_base.html:365 #: templates/email/overdue_sales_order.html:15 #: templates/js/translated/pricing.js:929 #: templates/js/translated/sales_order.js:805 @@ -1991,7 +1988,7 @@ msgid "Allocated Parts" msgstr "已分配的零件" #: build/templates/build/detail.html:80 stock/admin.py:163 -#: stock/templates/stock/item_base.html:162 +#: stock/templates/stock/item_base.html:158 #: templates/js/translated/build.js:1556 #: templates/js/translated/model_renderers.js:242 #: templates/js/translated/purchase_order.js:1326 @@ -2148,19 +2145,19 @@ msgstr "未完成的产出" msgid "Test Statistics" msgstr "测试统计" -#: common/api.py:692 +#: common/api.py:725 msgid "Is Link" msgstr "是否链接" -#: common/api.py:700 +#: common/api.py:733 msgid "Is File" msgstr "是否为文件" -#: common/api.py:743 +#: common/api.py:776 msgid "User does not have permission to delete these attachments" msgstr "用户没有权限删除此附件" -#: common/api.py:760 +#: common/api.py:793 msgid "User does not have permission to delete this attachment" msgstr "用户没有权限删除此附件" @@ -2352,8 +2349,8 @@ msgstr "检查更新的频率(设置为零以禁用)" #: common/models.py:1297 common/models.py:1353 common/models.py:1366 #: common/models.py:1374 common/models.py:1383 common/models.py:1392 -#: common/models.py:1629 common/models.py:1651 common/models.py:1766 -#: common/models.py:2148 +#: common/models.py:1629 common/models.py:1651 common/models.py:1752 +#: common/models.py:2141 msgid "days" msgstr "天" @@ -2581,9 +2578,9 @@ msgstr "复制类别参数模板" msgid "Copy category parameter templates when creating a part" msgstr "创建零件时复制类别参数模板" -#: common/models.py:1485 part/admin.py:108 part/models.py:3959 -#: report/models.py:293 report/models.py:360 report/serializers.py:90 -#: report/serializers.py:131 stock/serializers.py:233 +#: common/models.py:1485 part/admin.py:108 part/models.py:3946 +#: report/models.py:301 report/models.py:368 report/serializers.py:91 +#: report/serializers.py:132 stock/serializers.py:233 #: templates/js/translated/table_filters.js:138 #: templates/js/translated/table_filters.js:775 msgid "Template" @@ -2598,7 +2595,7 @@ msgid "Parts can be assembled from other components by default" msgstr "默认情况下,元件可由其他零件组装而成" #: common/models.py:1497 part/admin.py:95 part/models.py:1172 -#: part/serializers.py:1617 templates/js/translated/table_filters.js:737 +#: part/serializers.py:1615 templates/js/translated/table_filters.js:737 msgid "Component" msgstr "组件" @@ -2823,7 +2820,7 @@ msgid "Log errors which occur when generating reports" msgstr "记录生成报告时出现的错误" #: common/models.py:1702 plugin/builtin/labels/label_sheet.py:28 -#: report/models.py:301 +#: report/models.py:309 msgid "Page Size" msgstr "页面大小" @@ -2832,914 +2829,914 @@ msgid "Default page size for PDF reports" msgstr "PDF 报告默认页面大小" #: common/models.py:1708 -msgid "Enable Test Reports" -msgstr "启用测试报告" - -#: common/models.py:1709 -msgid "Enable generation of test reports" -msgstr "启用生成测试报表" - -#: common/models.py:1714 -msgid "Attach Test Reports" -msgstr "添加测试报告" - -#: common/models.py:1716 -msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" -msgstr "在打印测试报告时,将测试报告副本附加到相关的库存项" - -#: common/models.py:1722 msgid "Globally Unique Serials" msgstr "全局唯一序列号" -#: common/models.py:1723 +#: common/models.py:1709 msgid "Serial numbers for stock items must be globally unique" msgstr "库存项的序列号必须全局唯一" -#: common/models.py:1728 +#: common/models.py:1714 msgid "Autofill Serial Numbers" msgstr "自动填充序列号" -#: common/models.py:1729 +#: common/models.py:1715 msgid "Autofill serial numbers in forms" msgstr "在表格中自动填充序列号" -#: common/models.py:1734 +#: common/models.py:1720 msgid "Delete Depleted Stock" msgstr "删除已耗尽的库存" -#: common/models.py:1736 +#: common/models.py:1722 msgid "Determines default behavior when a stock item is depleted" msgstr "设置库存耗尽时的默认行为" -#: common/models.py:1742 +#: common/models.py:1728 msgid "Batch Code Template" msgstr "批号模板" -#: common/models.py:1744 +#: common/models.py:1730 msgid "Template for generating default batch codes for stock items" msgstr "为库存项生成默认批号的模板" -#: common/models.py:1749 +#: common/models.py:1735 msgid "Stock Expiry" msgstr "库存过期" -#: common/models.py:1750 +#: common/models.py:1736 msgid "Enable stock expiry functionality" msgstr "启用库存过期功能" -#: common/models.py:1755 +#: common/models.py:1741 msgid "Sell Expired Stock" msgstr "销售过期库存" -#: common/models.py:1756 +#: common/models.py:1742 msgid "Allow sale of expired stock" msgstr "允许销售过期库存" -#: common/models.py:1761 +#: common/models.py:1747 msgid "Stock Stale Time" msgstr "库存过期时间" -#: common/models.py:1763 +#: common/models.py:1749 msgid "Number of days stock items are considered stale before expiring" msgstr "库存项在到期前被视为过期的天数" -#: common/models.py:1770 +#: common/models.py:1756 msgid "Build Expired Stock" msgstr "生产过期库存" -#: common/models.py:1771 +#: common/models.py:1757 msgid "Allow building with expired stock" msgstr "允许用过期的库存生产" -#: common/models.py:1776 +#: common/models.py:1762 msgid "Stock Ownership Control" msgstr "库存所有权控制" -#: common/models.py:1777 +#: common/models.py:1763 msgid "Enable ownership control over stock locations and items" msgstr "启用库存地点和项目的所有权控制" -#: common/models.py:1782 +#: common/models.py:1768 msgid "Stock Location Default Icon" msgstr "库存地点默认图标" -#: common/models.py:1783 +#: common/models.py:1769 msgid "Stock location default icon (empty means no icon)" msgstr "库存地点默认图标 (空表示没有图标)" -#: common/models.py:1788 +#: common/models.py:1774 msgid "Show Installed Stock Items" msgstr "显示已安装的库存项" -#: common/models.py:1789 +#: common/models.py:1775 msgid "Display installed stock items in stock tables" msgstr "在库存表中显示已安装的库存项" -#: common/models.py:1794 +#: common/models.py:1780 msgid "Check BOM when installing items" msgstr "在安装项目时检查物料清单" -#: common/models.py:1796 +#: common/models.py:1782 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "已安装的库存项目必须存在于上级零件的物料清单中" -#: common/models.py:1802 +#: common/models.py:1788 msgid "Allow Out of Stock Transfer" msgstr "允许超出库存转移" -#: common/models.py:1804 +#: common/models.py:1790 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "允许非库存的库存项目在库存位置之间转移" -#: common/models.py:1810 +#: common/models.py:1796 msgid "Build Order Reference Pattern" msgstr "生产订单参考模式" -#: common/models.py:1812 +#: common/models.py:1798 msgid "Required pattern for generating Build Order reference field" msgstr "生成生产订单参考字段所需的模式" -#: common/models.py:1818 common/models.py:1874 common/models.py:1896 -#: common/models.py:1932 +#: common/models.py:1804 common/models.py:1860 common/models.py:1882 +#: common/models.py:1918 msgid "Require Responsible Owner" msgstr "要求负责人" -#: common/models.py:1819 common/models.py:1875 common/models.py:1897 -#: common/models.py:1933 +#: common/models.py:1805 common/models.py:1861 common/models.py:1883 +#: common/models.py:1919 msgid "A responsible owner must be assigned to each order" msgstr "必须为每个订单分配一个负责人" -#: common/models.py:1824 +#: common/models.py:1810 msgid "Require Active Part" msgstr "需要活动零件" -#: common/models.py:1825 +#: common/models.py:1811 msgid "Prevent build order creation for inactive parts" msgstr "防止为非活动零件创建生产订单" -#: common/models.py:1830 +#: common/models.py:1816 msgid "Require Locked Part" msgstr "需要锁定零件" -#: common/models.py:1831 +#: common/models.py:1817 msgid "Prevent build order creation for unlocked parts" msgstr "防止为未锁定的零件创建生产订单" -#: common/models.py:1836 +#: common/models.py:1822 msgid "Require Valid BOM" msgstr "需要有效的物料清单" -#: common/models.py:1838 +#: common/models.py:1824 msgid "Prevent build order creation unless BOM has been validated" msgstr "除非物料清单已验证,否则禁止创建生产订单" -#: common/models.py:1844 +#: common/models.py:1830 msgid "Require Closed Child Orders" msgstr "需要关闭子订单" -#: common/models.py:1846 +#: common/models.py:1832 msgid "Prevent build order completion until all child orders are closed" msgstr "在所有子订单关闭之前,阻止生产订单的完成" -#: common/models.py:1852 +#: common/models.py:1838 msgid "Block Until Tests Pass" msgstr "阻止直到测试通过" -#: common/models.py:1854 +#: common/models.py:1840 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "在所有必要的测试通过之前,阻止产出完成" -#: common/models.py:1860 +#: common/models.py:1846 msgid "Enable Return Orders" msgstr "启用订单退货" -#: common/models.py:1861 +#: common/models.py:1847 msgid "Enable return order functionality in the user interface" msgstr "在用户界面中启用订单退货功能" -#: common/models.py:1866 +#: common/models.py:1852 msgid "Return Order Reference Pattern" msgstr "退货订单参考模式" -#: common/models.py:1868 +#: common/models.py:1854 msgid "Required pattern for generating Return Order reference field" msgstr "生成退货订单参考字段所需的模式" -#: common/models.py:1880 +#: common/models.py:1866 msgid "Edit Completed Return Orders" msgstr "编辑已完成的退货订单" -#: common/models.py:1882 +#: common/models.py:1868 msgid "Allow editing of return orders after they have been completed" msgstr "允许编辑已完成的退货订单" -#: common/models.py:1888 +#: common/models.py:1874 msgid "Sales Order Reference Pattern" msgstr "销售订单参考模式" -#: common/models.py:1890 +#: common/models.py:1876 msgid "Required pattern for generating Sales Order reference field" msgstr "生成销售订单参考字段所需参照模式" -#: common/models.py:1902 +#: common/models.py:1888 msgid "Sales Order Default Shipment" msgstr "销售订单默认配送方式" -#: common/models.py:1903 +#: common/models.py:1889 msgid "Enable creation of default shipment with sales orders" msgstr "启用创建销售订单的默认配送功能" -#: common/models.py:1908 +#: common/models.py:1894 msgid "Edit Completed Sales Orders" msgstr "编辑已完成的销售订单" -#: common/models.py:1910 +#: common/models.py:1896 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "允许在订单配送或完成后编辑销售订单" -#: common/models.py:1916 +#: common/models.py:1902 msgid "Mark Shipped Orders as Complete" msgstr "标记该订单为已完成?" -#: common/models.py:1918 +#: common/models.py:1904 msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status" msgstr "标记为已发货的销售订单将自动完成,绕过“已发货”状态" -#: common/models.py:1924 +#: common/models.py:1910 msgid "Purchase Order Reference Pattern" msgstr "采购订单参考模式" -#: common/models.py:1926 +#: common/models.py:1912 msgid "Required pattern for generating Purchase Order reference field" msgstr "生成采购订单参考字段所需的模式" -#: common/models.py:1938 +#: common/models.py:1924 msgid "Edit Completed Purchase Orders" msgstr "编辑已完成的采购订单" -#: common/models.py:1940 +#: common/models.py:1926 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "允许在采购订单已配送或完成后编辑订单" -#: common/models.py:1946 +#: common/models.py:1932 msgid "Auto Complete Purchase Orders" msgstr "自动完成采购订单" -#: common/models.py:1948 +#: common/models.py:1934 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "当收到所有行项目时,自动将采购订单标记为完成" -#: common/models.py:1955 +#: common/models.py:1941 msgid "Enable password forgot" msgstr "忘记启用密码" -#: common/models.py:1956 +#: common/models.py:1942 msgid "Enable password forgot function on the login pages" msgstr "在登录页面上启用忘记密码功能" -#: common/models.py:1961 +#: common/models.py:1947 msgid "Enable registration" msgstr "启用注册" -#: common/models.py:1962 +#: common/models.py:1948 msgid "Enable self-registration for users on the login pages" msgstr "在登录页面为用户启用自行注册功能" -#: common/models.py:1967 +#: common/models.py:1953 msgid "Enable SSO" msgstr "启用单点登录" -#: common/models.py:1968 +#: common/models.py:1954 msgid "Enable SSO on the login pages" msgstr "在登录界面启用单点登录" -#: common/models.py:1973 +#: common/models.py:1959 msgid "Enable SSO registration" msgstr "启用单点登录注册" -#: common/models.py:1975 +#: common/models.py:1961 msgid "Enable self-registration via SSO for users on the login pages" msgstr "允许登录页面上的用户通过 SSO 进行自我注册" -#: common/models.py:1981 +#: common/models.py:1967 msgid "Enable SSO group sync" msgstr "启用单点登录群组同步" -#: common/models.py:1983 +#: common/models.py:1969 msgid "Enable synchronizing InvenTree groups with groups provided by the IdP" msgstr "启用库存管理系统组和由身份提供者提供的组的同步功能" -#: common/models.py:1989 +#: common/models.py:1975 msgid "SSO group key" msgstr "单点登录系统组密钥" -#: common/models.py:1991 +#: common/models.py:1977 msgid "The name of the groups claim attribute provided by the IdP" msgstr "由身份提供者提供的组声明属性名称" -#: common/models.py:1997 +#: common/models.py:1983 msgid "SSO group map" msgstr "单点登录系统组地图" -#: common/models.py:1999 +#: common/models.py:1985 msgid "A mapping from SSO groups to local InvenTree groups. If the local group does not exist, it will be created." msgstr "从单点登录系统组组到本地库存管理系统组的映射。如果本地组不存在,它将被创建。" -#: common/models.py:2005 +#: common/models.py:1991 msgid "Remove groups outside of SSO" msgstr "移除单点登录系统以外的群组" -#: common/models.py:2007 +#: common/models.py:1993 msgid "Whether groups assigned to the user should be removed if they are not backend by the IdP. Disabling this setting might cause security issues" msgstr "如果分配给用户的组不是身份提供者的后端,是否应该删除它们。禁用此设置可能会造成安全问题" -#: common/models.py:2013 +#: common/models.py:1999 msgid "Email required" msgstr "需要邮箱地址" -#: common/models.py:2014 +#: common/models.py:2000 msgid "Require user to supply mail on signup" msgstr "要求用户在注册时提供邮件" -#: common/models.py:2019 +#: common/models.py:2005 msgid "Auto-fill SSO users" msgstr "自动填充单点登录系统用户" -#: common/models.py:2021 +#: common/models.py:2007 msgid "Automatically fill out user-details from SSO account-data" msgstr "自动使用单点登录系统账户的数据填写用户详细信息" -#: common/models.py:2027 +#: common/models.py:2013 msgid "Mail twice" msgstr "发两次邮件" -#: common/models.py:2028 +#: common/models.py:2014 msgid "On signup ask users twice for their mail" msgstr "注册时询问用户他们的电子邮件两次" -#: common/models.py:2033 +#: common/models.py:2019 msgid "Password twice" msgstr "两次输入密码" -#: common/models.py:2034 +#: common/models.py:2020 msgid "On signup ask users twice for their password" msgstr "当注册时请用户输入密码两次" -#: common/models.py:2039 +#: common/models.py:2025 msgid "Allowed domains" msgstr "域名白名单" -#: common/models.py:2041 +#: common/models.py:2027 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "限制注册到某些域名 (逗号分隔,以 @ 开头)" -#: common/models.py:2047 +#: common/models.py:2033 msgid "Group on signup" msgstr "注册群组" -#: common/models.py:2049 +#: common/models.py:2035 msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP." msgstr "注册时分配给新用户的组。 如果启用了单点登录系统群组同步,此群组仅在无法从 IdP 分配任何群组的情况下才被设置。" -#: common/models.py:2055 +#: common/models.py:2041 msgid "Enforce MFA" msgstr "强制启用多因素安全认证" -#: common/models.py:2056 +#: common/models.py:2042 msgid "Users must use multifactor security." msgstr "用户必须使用多因素安全认证。" -#: common/models.py:2061 +#: common/models.py:2047 msgid "Check plugins on startup" msgstr "启动时检查插件" -#: common/models.py:2063 +#: common/models.py:2049 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "启动时检查全部插件是否已安装 - 在容器环境中启用" -#: common/models.py:2071 +#: common/models.py:2057 msgid "Check for plugin updates" msgstr "检查插件更新" -#: common/models.py:2072 +#: common/models.py:2058 msgid "Enable periodic checks for updates to installed plugins" msgstr "启用定期检查已安装插件的更新" -#: common/models.py:2078 +#: common/models.py:2064 msgid "Enable URL integration" msgstr "启用统一资源定位符集成" -#: common/models.py:2079 +#: common/models.py:2065 msgid "Enable plugins to add URL routes" msgstr "启用插件以添加统一资源定位符路由" -#: common/models.py:2085 +#: common/models.py:2071 msgid "Enable navigation integration" msgstr "启用导航集成" -#: common/models.py:2086 +#: common/models.py:2072 msgid "Enable plugins to integrate into navigation" msgstr "启用插件以集成到导航中" -#: common/models.py:2092 +#: common/models.py:2078 msgid "Enable app integration" msgstr "启用应用集成" -#: common/models.py:2093 +#: common/models.py:2079 msgid "Enable plugins to add apps" msgstr "启用插件添加应用" -#: common/models.py:2099 +#: common/models.py:2085 msgid "Enable schedule integration" msgstr "启用调度集成" -#: common/models.py:2100 +#: common/models.py:2086 msgid "Enable plugins to run scheduled tasks" msgstr "启用插件来运行预定任务" -#: common/models.py:2106 +#: common/models.py:2092 msgid "Enable event integration" msgstr "启用事件集成" -#: common/models.py:2107 +#: common/models.py:2093 msgid "Enable plugins to respond to internal events" msgstr "启用插件响应内部事件" -#: common/models.py:2113 +#: common/models.py:2099 +msgid "Enable interface integration" +msgstr "" + +#: common/models.py:2100 +msgid "Enable plugins to integrate into the user interface" +msgstr "" + +#: common/models.py:2106 msgid "Enable project codes" msgstr "启用项目编码" -#: common/models.py:2114 +#: common/models.py:2107 msgid "Enable project codes for tracking projects" msgstr "启用项目编码来跟踪项目" -#: common/models.py:2119 +#: common/models.py:2112 msgid "Stocktake Functionality" msgstr "盘点功能" -#: common/models.py:2121 +#: common/models.py:2114 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "启用盘点功能以记录库存水平和计算库存值" -#: common/models.py:2127 +#: common/models.py:2120 msgid "Exclude External Locations" msgstr "排除外部地点" -#: common/models.py:2129 +#: common/models.py:2122 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "从盘点计算中排除外部地点的库存项" -#: common/models.py:2135 +#: common/models.py:2128 msgid "Automatic Stocktake Period" msgstr "自动盘点周期" -#: common/models.py:2137 +#: common/models.py:2130 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "自动盘点记录之间的天数 (设置为零以禁用)" -#: common/models.py:2143 +#: common/models.py:2136 msgid "Report Deletion Interval" msgstr "报告删除间隔" -#: common/models.py:2145 +#: common/models.py:2138 msgid "Stocktake reports will be deleted after specified number of days" msgstr "盘点报告将在指定天数后删除" -#: common/models.py:2152 +#: common/models.py:2145 msgid "Display Users full names" msgstr "显示用户全名" -#: common/models.py:2153 +#: common/models.py:2146 msgid "Display Users full names instead of usernames" msgstr "显示用户全名而不是用户名" -#: common/models.py:2158 +#: common/models.py:2151 msgid "Enable Test Station Data" msgstr "启用测试站数据" -#: common/models.py:2159 +#: common/models.py:2152 msgid "Enable test station data collection for test results" msgstr "启用测试站数据收集以获取测试结果" -#: common/models.py:2171 common/models.py:2551 +#: common/models.py:2157 +msgid "Create Template on Upload" +msgstr "" + +#: common/models.py:2159 +msgid "Create a new test template when uploading test data which does not match an existing template" +msgstr "" + +#: common/models.py:2172 common/models.py:2552 msgid "Settings key (must be unique - case insensitive" msgstr "设置键 (必须是唯一的,不区分大小写" -#: common/models.py:2214 +#: common/models.py:2215 msgid "Hide inactive parts" msgstr "隐藏非活动零件" -#: common/models.py:2216 +#: common/models.py:2217 msgid "Hide inactive parts in results displayed on the homepage" msgstr "隐藏主页上显示的结果中的非活动零件" -#: common/models.py:2222 +#: common/models.py:2223 msgid "Show subscribed parts" msgstr "显示已订阅的零件" -#: common/models.py:2223 +#: common/models.py:2224 msgid "Show subscribed parts on the homepage" msgstr "在主页上显示已订阅的零件" -#: common/models.py:2228 +#: common/models.py:2229 msgid "Show subscribed categories" msgstr "显示已订阅的类别" -#: common/models.py:2229 +#: common/models.py:2230 msgid "Show subscribed part categories on the homepage" msgstr "在主页上显示已订阅的零件类别" -#: common/models.py:2234 +#: common/models.py:2235 msgid "Show latest parts" msgstr "显示最新零件" -#: common/models.py:2235 +#: common/models.py:2236 msgid "Show latest parts on the homepage" msgstr "在主页上显示最新零件" -#: common/models.py:2240 +#: common/models.py:2241 msgid "Show invalid BOMs" msgstr "显示无效的物料清单" -#: common/models.py:2241 +#: common/models.py:2242 msgid "Show BOMs that await validation on the homepage" msgstr "在主页上显示等待验证的物料清单" -#: common/models.py:2246 +#: common/models.py:2247 msgid "Show recent stock changes" msgstr "显示最近的库存变动" -#: common/models.py:2247 +#: common/models.py:2248 msgid "Show recently changed stock items on the homepage" msgstr "在主页上显示最近更改的库存项目" -#: common/models.py:2252 +#: common/models.py:2253 msgid "Show low stock" msgstr "显示低库存" -#: common/models.py:2253 +#: common/models.py:2254 msgid "Show low stock items on the homepage" msgstr "在主页上显示低库存商品" -#: common/models.py:2258 +#: common/models.py:2259 msgid "Show depleted stock" msgstr "显示已耗尽的库存" -#: common/models.py:2259 +#: common/models.py:2260 msgid "Show depleted stock items on the homepage" msgstr "在主页上显示已耗尽的库存项目" -#: common/models.py:2264 +#: common/models.py:2265 msgid "Show needed stock" msgstr "显示所需库存" -#: common/models.py:2265 +#: common/models.py:2266 msgid "Show stock items needed for builds on the homepage" msgstr "在主页上显示构建所需的库存项目" -#: common/models.py:2270 +#: common/models.py:2271 msgid "Show expired stock" msgstr "显示过期库存" -#: common/models.py:2271 +#: common/models.py:2272 msgid "Show expired stock items on the homepage" msgstr "在主页上显示过期的库存项目" -#: common/models.py:2276 +#: common/models.py:2277 msgid "Show stale stock" msgstr "显示过期库存" -#: common/models.py:2277 +#: common/models.py:2278 msgid "Show stale stock items on the homepage" msgstr "在主页上显示过期库存商品" -#: common/models.py:2282 +#: common/models.py:2283 msgid "Show pending builds" msgstr "显示待处理的构建" -#: common/models.py:2283 +#: common/models.py:2284 msgid "Show pending builds on the homepage" msgstr "在主页上显示待处理的构建" -#: common/models.py:2288 +#: common/models.py:2289 msgid "Show overdue builds" msgstr "显示过期的构建" -#: common/models.py:2289 +#: common/models.py:2290 msgid "Show overdue builds on the homepage" msgstr "在主页上显示过期的构建" -#: common/models.py:2294 +#: common/models.py:2295 msgid "Show outstanding POs" msgstr "显示出色的PO" -#: common/models.py:2295 +#: common/models.py:2296 msgid "Show outstanding POs on the homepage" msgstr "在主页上显示优秀的PO" -#: common/models.py:2300 +#: common/models.py:2301 msgid "Show overdue POs" msgstr "显示过期订单" -#: common/models.py:2301 +#: common/models.py:2302 msgid "Show overdue POs on the homepage" msgstr "在主页上显示逾期订单" -#: common/models.py:2306 +#: common/models.py:2307 msgid "Show outstanding SOs" msgstr "展示杰出的SO" -#: common/models.py:2307 +#: common/models.py:2308 msgid "Show outstanding SOs on the homepage" msgstr "在主页上显示优秀的SO" -#: common/models.py:2312 +#: common/models.py:2313 msgid "Show overdue SOs" msgstr "显示过期的SO" -#: common/models.py:2313 +#: common/models.py:2314 msgid "Show overdue SOs on the homepage" msgstr "在主页上显示过期的SO" -#: common/models.py:2318 +#: common/models.py:2319 msgid "Show pending SO shipments" msgstr "显示待处理的SO发货" -#: common/models.py:2319 +#: common/models.py:2320 msgid "Show pending SO shipments on the homepage" msgstr "在主页上显示待处理的SO发货" -#: common/models.py:2324 +#: common/models.py:2325 msgid "Show News" msgstr "显示新闻" -#: common/models.py:2325 +#: common/models.py:2326 msgid "Show news on the homepage" msgstr "在主页上显示新闻" -#: common/models.py:2330 +#: common/models.py:2331 msgid "Inline label display" msgstr "内联标签显示" -#: common/models.py:2332 +#: common/models.py:2333 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "在浏览器中显示PDF标签,而不是作为文件下载" -#: common/models.py:2338 +#: common/models.py:2339 msgid "Default label printer" msgstr "默认标签打印机" -#: common/models.py:2340 +#: common/models.py:2341 msgid "Configure which label printer should be selected by default" msgstr "配置默认情况下应选择哪个标签打印机" -#: common/models.py:2346 +#: common/models.py:2347 msgid "Inline report display" msgstr "内联报告显示" -#: common/models.py:2348 +#: common/models.py:2349 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "在浏览器中显示PDF报告,而不是作为文件下载" -#: common/models.py:2354 +#: common/models.py:2355 msgid "Search Parts" msgstr "搜索零件" -#: common/models.py:2355 +#: common/models.py:2356 msgid "Display parts in search preview window" msgstr "在搜索预览窗口中显示零件" -#: common/models.py:2360 +#: common/models.py:2361 msgid "Search Supplier Parts" msgstr "搜索供应商零件" -#: common/models.py:2361 +#: common/models.py:2362 msgid "Display supplier parts in search preview window" msgstr "在搜索预览窗口中显示供应商零件" -#: common/models.py:2366 +#: common/models.py:2367 msgid "Search Manufacturer Parts" msgstr "搜索制造商零件" -#: common/models.py:2367 +#: common/models.py:2368 msgid "Display manufacturer parts in search preview window" msgstr "在搜索预览窗口中显示制造商零件" -#: common/models.py:2372 +#: common/models.py:2373 msgid "Hide Inactive Parts" msgstr "隐藏非活动零件" -#: common/models.py:2373 +#: common/models.py:2374 msgid "Excluded inactive parts from search preview window" msgstr "从搜索预览窗口中排除非活动零件" -#: common/models.py:2378 +#: common/models.py:2379 msgid "Search Categories" msgstr "搜索分类" -#: common/models.py:2379 +#: common/models.py:2380 msgid "Display part categories in search preview window" msgstr "在搜索预览窗口中显示零件类别" -#: common/models.py:2384 +#: common/models.py:2385 msgid "Search Stock" msgstr "搜索库存" -#: common/models.py:2385 +#: common/models.py:2386 msgid "Display stock items in search preview window" msgstr "在搜索预览窗口中显示库存项目" -#: common/models.py:2390 +#: common/models.py:2391 msgid "Hide Unavailable Stock Items" msgstr "隐藏不可用的库存项目" -#: common/models.py:2392 +#: common/models.py:2393 msgid "Exclude stock items which are not available from the search preview window" msgstr "排除搜索预览窗口中不可用的库存项目" -#: common/models.py:2398 +#: common/models.py:2399 msgid "Search Locations" msgstr "搜索地点" -#: common/models.py:2399 +#: common/models.py:2400 msgid "Display stock locations in search preview window" msgstr "在搜索预览窗口中显示库存位置" -#: common/models.py:2404 +#: common/models.py:2405 msgid "Search Companies" msgstr "搜索公司" -#: common/models.py:2405 +#: common/models.py:2406 msgid "Display companies in search preview window" msgstr "在搜索预览窗口中显示公司" -#: common/models.py:2410 +#: common/models.py:2411 msgid "Search Build Orders" msgstr "搜索生产订单" -#: common/models.py:2411 +#: common/models.py:2412 msgid "Display build orders in search preview window" msgstr "在搜索预览窗口中显示生产订单" -#: common/models.py:2416 +#: common/models.py:2417 msgid "Search Purchase Orders" msgstr "搜索采购订单" -#: common/models.py:2417 +#: common/models.py:2418 msgid "Display purchase orders in search preview window" msgstr "在搜索预览窗口中显示采购订单" -#: common/models.py:2422 +#: common/models.py:2423 msgid "Exclude Inactive Purchase Orders" msgstr "排除未激活的采购订单" -#: common/models.py:2424 +#: common/models.py:2425 msgid "Exclude inactive purchase orders from search preview window" msgstr "从搜索预览窗口中排除不活动的采购订单" -#: common/models.py:2430 +#: common/models.py:2431 msgid "Search Sales Orders" msgstr "搜索销售订单" -#: common/models.py:2431 +#: common/models.py:2432 msgid "Display sales orders in search preview window" msgstr "在搜索预览窗口中显示销售订单" -#: common/models.py:2436 +#: common/models.py:2437 msgid "Exclude Inactive Sales Orders" msgstr "排除未激活的销售订单" -#: common/models.py:2438 +#: common/models.py:2439 msgid "Exclude inactive sales orders from search preview window" msgstr "从搜索预览窗口中排除不活动的销售订单" -#: common/models.py:2444 +#: common/models.py:2445 msgid "Search Return Orders" msgstr "搜索退货订单" -#: common/models.py:2445 +#: common/models.py:2446 msgid "Display return orders in search preview window" msgstr "在搜索预览窗口中显示退货订单" -#: common/models.py:2450 +#: common/models.py:2451 msgid "Exclude Inactive Return Orders" msgstr "排除未激活的退货订单" -#: common/models.py:2452 +#: common/models.py:2453 msgid "Exclude inactive return orders from search preview window" msgstr "从搜索预览窗口中排除不活动的退货订单" -#: common/models.py:2458 +#: common/models.py:2459 msgid "Search Preview Results" msgstr "搜索预览结果" -#: common/models.py:2460 +#: common/models.py:2461 msgid "Number of results to show in each section of the search preview window" msgstr "在搜索预览窗口的每个部分中显示的结果数" -#: common/models.py:2466 +#: common/models.py:2467 msgid "Regex Search" msgstr "正则表达式搜索" -#: common/models.py:2467 +#: common/models.py:2468 msgid "Enable regular expressions in search queries" msgstr "在搜索查询中启用正则表达式" -#: common/models.py:2472 +#: common/models.py:2473 msgid "Whole Word Search" msgstr "整词搜索" -#: common/models.py:2473 +#: common/models.py:2474 msgid "Search queries return results for whole word matches" msgstr "搜索查询返回整词匹配的结果" -#: common/models.py:2478 +#: common/models.py:2479 msgid "Show Quantity in Forms" msgstr "在表格中显示数量" -#: common/models.py:2479 +#: common/models.py:2480 msgid "Display available part quantity in some forms" msgstr "以某些形式显示可用零件数量" -#: common/models.py:2484 +#: common/models.py:2485 msgid "Escape Key Closes Forms" msgstr "Esc键关闭窗体" -#: common/models.py:2485 +#: common/models.py:2486 msgid "Use the escape key to close modal forms" msgstr "使用ESC键关闭模态窗体" -#: common/models.py:2490 +#: common/models.py:2491 msgid "Fixed Navbar" msgstr "固定导航栏" -#: common/models.py:2491 +#: common/models.py:2492 msgid "The navbar position is fixed to the top of the screen" msgstr "导航栏位置固定在屏幕顶部" -#: common/models.py:2496 +#: common/models.py:2497 msgid "Date Format" msgstr "时间格式" -#: common/models.py:2497 +#: common/models.py:2498 msgid "Preferred format for displaying dates" msgstr "显示时间的首选格式" -#: common/models.py:2510 part/templates/part/detail.html:41 +#: common/models.py:2511 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "零件调度" -#: common/models.py:2511 +#: common/models.py:2512 msgid "Display part scheduling information" msgstr "显示零件排程信息" -#: common/models.py:2516 part/templates/part/detail.html:62 +#: common/models.py:2517 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "零件盘点" -#: common/models.py:2518 +#: common/models.py:2519 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "显示零件盘点信息 (如果启用了盘点功能)" -#: common/models.py:2524 +#: common/models.py:2525 msgid "Table String Length" msgstr "表字符串长度" -#: common/models.py:2526 +#: common/models.py:2527 msgid "Maximum length limit for strings displayed in table views" msgstr "表视图中显示的字符串的最大长度限制" -#: common/models.py:2532 +#: common/models.py:2533 msgid "Receive error reports" msgstr "接收错误报告" -#: common/models.py:2533 +#: common/models.py:2534 msgid "Receive notifications for system errors" msgstr "接收系统错误通知" -#: common/models.py:2538 +#: common/models.py:2539 msgid "Last used printing machines" msgstr "上次使用的打印设备" -#: common/models.py:2539 +#: common/models.py:2540 msgid "Save the last used printing machines for a user" msgstr "为用户保存上次使用的打印设备" -#: common/models.py:2559 common/models.py:2560 common/models.py:2717 -#: common/models.py:2718 common/models.py:2963 common/models.py:2964 -#: common/models.py:3287 common/models.py:3288 importer/models.py:89 -#: part/models.py:3319 part/models.py:3406 part/models.py:3480 -#: part/models.py:3508 plugin/models.py:274 plugin/models.py:275 +#: common/models.py:2560 common/models.py:2561 common/models.py:2718 +#: common/models.py:2719 common/models.py:2964 common/models.py:2965 +#: common/models.py:3288 common/models.py:3289 importer/models.py:89 +#: part/models.py:3306 part/models.py:3393 part/models.py:3467 +#: part/models.py:3495 plugin/models.py:274 plugin/models.py:275 #: report/templates/report/inventree_test_report.html:105 #: templates/js/translated/stock.js:3121 users/models.py:111 msgid "User" msgstr "使用者" -#: common/models.py:2582 +#: common/models.py:2583 msgid "Price break quantity" msgstr "批发价数量" -#: common/models.py:2589 company/serializers.py:517 order/admin.py:42 +#: common/models.py:2590 company/serializers.py:517 order/admin.py:42 #: order/models.py:1423 order/models.py:2410 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1892 #: templates/js/translated/pricing.js:621 @@ -3747,96 +3744,96 @@ msgstr "批发价数量" msgid "Price" msgstr "价格" -#: common/models.py:2590 +#: common/models.py:2591 msgid "Unit price at specified quantity" msgstr "指定数量的单位价格" -#: common/models.py:2694 common/models.py:2879 +#: common/models.py:2695 common/models.py:2880 msgid "Endpoint" msgstr "端点" -#: common/models.py:2695 +#: common/models.py:2696 msgid "Endpoint at which this webhook is received" msgstr "接收此网络钩子的端点" -#: common/models.py:2705 +#: common/models.py:2706 msgid "Name for this webhook" msgstr "此网络钩子的名称" -#: common/models.py:2709 +#: common/models.py:2710 msgid "Is this webhook active" msgstr "网络钩子是否已启用" -#: common/models.py:2725 users/models.py:159 +#: common/models.py:2726 users/models.py:159 msgid "Token" msgstr "令牌" -#: common/models.py:2726 +#: common/models.py:2727 msgid "Token for access" msgstr "访问令牌" -#: common/models.py:2734 +#: common/models.py:2735 msgid "Secret" msgstr "密钥" -#: common/models.py:2735 +#: common/models.py:2736 msgid "Shared secret for HMAC" msgstr "HMAC共享密钥" -#: common/models.py:2843 +#: common/models.py:2844 msgid "Message ID" msgstr "消息ID" -#: common/models.py:2844 +#: common/models.py:2845 msgid "Unique identifier for this message" msgstr "此邮件的唯一标识符" -#: common/models.py:2852 +#: common/models.py:2853 msgid "Host" msgstr "主机" -#: common/models.py:2853 +#: common/models.py:2854 msgid "Host from which this message was received" msgstr "接收此消息的主机" -#: common/models.py:2861 +#: common/models.py:2862 msgid "Header" msgstr "标题" -#: common/models.py:2862 +#: common/models.py:2863 msgid "Header of this message" msgstr "此消息的标题" -#: common/models.py:2869 +#: common/models.py:2870 msgid "Body" msgstr "正文" -#: common/models.py:2870 +#: common/models.py:2871 msgid "Body of this message" msgstr "此消息的正文" -#: common/models.py:2880 +#: common/models.py:2881 msgid "Endpoint on which this message was received" msgstr "接收此消息的终点" -#: common/models.py:2885 +#: common/models.py:2886 msgid "Worked on" msgstr "工作于" -#: common/models.py:2886 +#: common/models.py:2887 msgid "Was the work on this message finished?" msgstr "这条消息的工作完成了吗?" -#: common/models.py:3012 +#: common/models.py:3013 msgid "Id" msgstr "标识" -#: common/models.py:3014 templates/js/translated/company.js:965 +#: common/models.py:3015 templates/js/translated/company.js:965 #: templates/js/translated/news.js:44 msgid "Title" msgstr "标题" -#: common/models.py:3016 common/models.py:3271 company/models.py:146 +#: common/models.py:3017 common/models.py:3272 company/models.py:146 #: company/models.py:443 company/models.py:509 company/models.py:815 #: order/models.py:303 order/models.py:1378 order/models.py:1810 #: part/admin.py:55 part/models.py:1069 @@ -3853,217 +3850,217 @@ msgstr "标题" msgid "Link" msgstr "連結" -#: common/models.py:3018 templates/js/translated/news.js:60 +#: common/models.py:3019 templates/js/translated/news.js:60 msgid "Published" msgstr "已发布" -#: common/models.py:3020 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:3021 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:103 msgid "Author" msgstr "作者" -#: common/models.py:3022 templates/js/translated/news.js:52 +#: common/models.py:3023 templates/js/translated/news.js:52 msgid "Summary" msgstr "摘要" -#: common/models.py:3025 +#: common/models.py:3026 msgid "Read" msgstr "阅读" -#: common/models.py:3025 +#: common/models.py:3026 msgid "Was this news item read?" msgstr "这条新闻被阅读了吗?" -#: common/models.py:3042 company/models.py:156 part/models.py:1079 +#: common/models.py:3043 company/models.py:156 part/models.py:1079 #: 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.html:35 -#: stock/templates/stock/item_base.html:133 templates/503.html:31 +#: stock/templates/stock/item_base.html:129 templates/503.html:31 #: templates/hover_image.html:7 templates/hover_image.html:9 #: templates/modals.html:6 msgid "Image" msgstr "图像" -#: common/models.py:3042 +#: common/models.py:3043 msgid "Image file" msgstr "图像文件" -#: common/models.py:3054 common/models.py:3255 +#: common/models.py:3055 common/models.py:3256 msgid "Target model type for this image" msgstr "此图像的目标模型类型" -#: common/models.py:3058 +#: common/models.py:3059 msgid "Target model ID for this image" msgstr "此图像的目标型号ID" -#: common/models.py:3080 +#: common/models.py:3081 msgid "Custom Unit" msgstr "自定义单位" -#: common/models.py:3098 +#: common/models.py:3099 msgid "Unit symbol must be unique" msgstr "单位符号必须唯一" -#: common/models.py:3113 +#: common/models.py:3114 msgid "Unit name must be a valid identifier" msgstr "单位名称必须是有效的标识符" -#: common/models.py:3132 +#: common/models.py:3133 msgid "Unit name" msgstr "单位名称" -#: common/models.py:3139 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3140 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "符号" -#: common/models.py:3140 +#: common/models.py:3141 msgid "Optional unit symbol" msgstr "可选单位符号" -#: common/models.py:3146 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3147 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "定义" -#: common/models.py:3147 +#: common/models.py:3148 msgid "Unit definition" msgstr "单位定义" -#: common/models.py:3205 common/models.py:3262 stock/models.py:2552 +#: common/models.py:3206 common/models.py:3263 stock/models.py:2547 #: stock/serializers.py:244 templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:345 msgid "Attachment" msgstr "附件" -#: common/models.py:3217 +#: common/models.py:3218 msgid "Missing file" msgstr "缺少檔案" -#: common/models.py:3218 +#: common/models.py:3219 msgid "Missing external link" msgstr "缺少外部連結" -#: common/models.py:3263 +#: common/models.py:3264 msgid "Select file to attach" msgstr "選擇附件" -#: common/models.py:3278 templates/js/translated/attachment.js:120 +#: common/models.py:3279 templates/js/translated/attachment.js:120 #: templates/js/translated/attachment.js:360 msgid "Comment" msgstr "註解" -#: common/models.py:3279 +#: common/models.py:3280 msgid "Attachment comment" msgstr "附件评论" -#: common/models.py:3295 +#: common/models.py:3296 msgid "Upload date" msgstr "上传日期" -#: common/models.py:3296 +#: common/models.py:3297 msgid "Date the file was uploaded" msgstr "上传文件的日期" -#: common/models.py:3300 +#: common/models.py:3301 msgid "File size" msgstr "文件大小" -#: common/models.py:3300 +#: common/models.py:3301 msgid "File size in bytes" msgstr "文件大小,以字节为单位" -#: common/models.py:3338 common/serializers.py:588 +#: common/models.py:3339 common/serializers.py:604 msgid "Invalid model type specified for attachment" msgstr "为附件指定的模型类型无效" -#: common/models.py:3347 plugin/models.py:43 users/models.py:100 +#: common/models.py:3348 plugin/models.py:43 users/models.py:100 msgid "Key" msgstr "键" -#: common/models.py:3348 +#: common/models.py:3349 msgid "Value that will be saved in the models database" -msgstr "" +msgstr "将保存到模型数据库中的值" -#: common/models.py:3351 +#: common/models.py:3352 msgid "Name of the state" msgstr "" -#: common/models.py:3355 +#: common/models.py:3356 msgid "Label" msgstr "" -#: common/models.py:3356 +#: common/models.py:3357 msgid "Label that will be displayed in the frontend" msgstr "" -#: common/models.py:3362 +#: common/models.py:3363 msgid "Color" msgstr "" -#: common/models.py:3363 +#: common/models.py:3364 msgid "Color that will be displayed in the frontend" msgstr "" -#: common/models.py:3366 +#: common/models.py:3367 msgid "Logical Key" msgstr "" -#: common/models.py:3368 +#: common/models.py:3369 msgid "State logical key that is equal to this custom state in business logic" msgstr "" -#: common/models.py:3376 +#: common/models.py:3377 msgid "Model" msgstr "" -#: common/models.py:3377 +#: common/models.py:3378 msgid "Model this state is associated with" msgstr "" -#: common/models.py:3381 +#: common/models.py:3382 msgid "Reference Status Set" msgstr "" -#: common/models.py:3382 +#: common/models.py:3383 msgid "Status set that is extended with this custom state" msgstr "" -#: common/models.py:3388 +#: common/models.py:3389 msgid "Custom State" msgstr "" -#: common/models.py:3389 +#: common/models.py:3390 msgid "Custom States" msgstr "" -#: common/models.py:3404 +#: common/models.py:3405 msgid "Model must be selected" msgstr "" -#: common/models.py:3407 +#: common/models.py:3408 msgid "Key must be selected" msgstr "" -#: common/models.py:3410 +#: common/models.py:3411 msgid "Logical key must be selected" msgstr "" -#: common/models.py:3414 +#: common/models.py:3415 msgid "Key must be different from logical key" msgstr "" -#: common/models.py:3418 +#: common/models.py:3419 msgid "Reference status must be selected" msgstr "" -#: common/models.py:3430 +#: common/models.py:3431 msgid "Reference status set not found" msgstr "" -#: common/models.py:3436 +#: common/models.py:3437 msgid "Key must be different from the logical keys of the reference status" msgstr "" -#: common/models.py:3442 +#: common/models.py:3443 msgid "Logical key must be in the logical keys of the reference status" msgstr "" @@ -4101,75 +4098,75 @@ msgstr "已收到退货订单中的物品" msgid "Error raised by plugin" msgstr "插件引发的错误" -#: common/serializers.py:402 +#: common/serializers.py:418 msgid "Is Running" msgstr "正在运行" -#: common/serializers.py:408 +#: common/serializers.py:424 msgid "Pending Tasks" msgstr "等待完成的任务" -#: common/serializers.py:414 +#: common/serializers.py:430 msgid "Scheduled Tasks" msgstr "预定的任务" -#: common/serializers.py:420 +#: common/serializers.py:436 msgid "Failed Tasks" msgstr "失败的任务" -#: common/serializers.py:435 +#: common/serializers.py:451 msgid "Task ID" msgstr "任务ID" -#: common/serializers.py:435 +#: common/serializers.py:451 msgid "Unique task ID" msgstr "唯一任务ID" -#: common/serializers.py:437 +#: common/serializers.py:453 msgid "Lock" msgstr "锁定" -#: common/serializers.py:437 +#: common/serializers.py:453 msgid "Lock time" msgstr "锁定时间" -#: common/serializers.py:439 +#: common/serializers.py:455 msgid "Task name" msgstr "任务名称" -#: common/serializers.py:441 +#: common/serializers.py:457 msgid "Function" msgstr "功能" -#: common/serializers.py:441 +#: common/serializers.py:457 msgid "Function name" msgstr "功能名称" -#: common/serializers.py:443 +#: common/serializers.py:459 msgid "Arguments" msgstr "参数" -#: common/serializers.py:443 +#: common/serializers.py:459 msgid "Task arguments" msgstr "任务参数" -#: common/serializers.py:446 +#: common/serializers.py:462 msgid "Keyword Arguments" msgstr "关键字参数" -#: common/serializers.py:446 +#: common/serializers.py:462 msgid "Task keyword arguments" msgstr "任务关键词参数" -#: common/serializers.py:556 +#: common/serializers.py:572 msgid "Filename" msgstr "檔案名稱" -#: common/serializers.py:563 report/api.py:100 report/serializers.py:53 +#: common/serializers.py:579 report/api.py:100 report/serializers.py:54 msgid "Model Type" msgstr "模型类型" -#: common/serializers.py:591 +#: common/serializers.py:607 msgid "User does not have permission to create or edit attachments for this model" msgstr "用户无权为此模式创建或编辑附件" @@ -4447,12 +4444,12 @@ msgstr "链接地址信息 (外部)" #: company/models.py:467 company/models.py:584 company/models.py:808 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 -#: stock/templates/stock/item_base.html:217 +#: stock/templates/stock/item_base.html:213 msgid "Manufacturer Part" msgstr "制造商零件" #: company/models.py:484 company/models.py:776 stock/models.py:791 -#: stock/serializers.py:452 stock/templates/stock/item_base.html:142 +#: stock/serializers.py:452 stock/templates/stock/item_base.html:138 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "基础零件" @@ -4463,8 +4460,8 @@ msgstr "选择零件" #: company/models.py:495 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:567 -#: stock/templates/stock/item_base.html:207 +#: company/templates/company/supplier_part.html:145 part/serializers.py:565 +#: stock/templates/stock/item_base.html:203 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 #: templates/js/translated/company.js:1296 @@ -4479,7 +4476,7 @@ msgstr "选择制造商" #: company/models.py:502 company/templates/company/manufacturer_part.html:101 #: company/templates/company/supplier_part.html:153 order/serializers.py:557 -#: part/serializers.py:577 templates/js/translated/company.js:351 +#: part/serializers.py:575 templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 #: templates/js/translated/company.js:1630 templates/js/translated/part.js:1807 @@ -4505,7 +4502,7 @@ msgid "Parameter name" msgstr "参数名称" #: company/models.py:597 report/templates/report/inventree_test_report.html:104 -#: stock/models.py:2544 templates/js/translated/company.js:1166 +#: stock/models.py:2539 templates/js/translated/company.js:1166 #: templates/js/translated/company.js:1419 templates/js/translated/part.js:1499 #: templates/js/translated/stock.js:1607 msgid "Value" @@ -4516,7 +4513,7 @@ msgid "Parameter value" msgstr "参数值" #: company/models.py:605 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1159 part/models.py:3783 +#: part/admin.py:57 part/models.py:1159 part/models.py:3770 #: part/templates/part/part_base.html:300 #: templates/js/translated/company.js:1425 templates/js/translated/part.js:1518 #: templates/js/translated/part.js:1622 templates/js/translated/part.js:2376 @@ -4530,7 +4527,7 @@ msgstr "参数单位" #: company/models.py:659 company/templates/company/supplier_part.html:7 #: company/templates/company/supplier_part.html:24 order/api.py:440 #: order/serializers.py:492 stock/models.py:802 -#: stock/templates/stock/item_base.html:233 +#: stock/templates/stock/item_base.html:229 #: templates/js/translated/build.js:1055 #: templates/js/translated/company.js:1600 #: templates/js/translated/purchase_order.js:752 @@ -4553,9 +4550,9 @@ msgstr "链接的制造商零件必须引用相同的基础零件" #: company/models.py:786 company/templates/company/company_base.html:87 #: company/templates/company/supplier_part.html:129 order/models.py:492 #: order/templates/order/order_base.html:141 part/bom.py:279 part/bom.py:314 -#: part/serializers.py:551 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:549 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 -#: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 +#: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:220 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:511 @@ -4570,7 +4567,7 @@ msgstr "供应商" msgid "Select supplier" msgstr "选择供应商" -#: company/models.py:793 part/serializers.py:562 +#: company/models.py:793 part/serializers.py:560 msgid "Supplier stock keeping unit" msgstr "供应商库存管理单位" @@ -4591,7 +4588,7 @@ msgid "Supplier part description" msgstr "供应商零件说明" #: company/models.py:832 company/templates/company/supplier_part.html:187 -#: order/serializers.py:699 part/admin.py:415 part/models.py:4301 +#: order/serializers.py:699 part/admin.py:415 part/models.py:4288 #: part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 @@ -4603,11 +4600,11 @@ msgstr "供应商零件说明" msgid "Note" msgstr "备注" -#: company/models.py:841 part/models.py:2129 +#: company/models.py:841 part/models.py:2128 msgid "base cost" msgstr "基本费用" -#: company/models.py:842 part/models.py:2130 +#: company/models.py:842 part/models.py:2129 msgid "Minimum charge (e.g. stocking fee)" msgstr "最低费用(例如库存费)" @@ -4629,7 +4626,7 @@ msgstr "包装数量" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "单包供应的总数量。为单个项目留空。" -#: company/models.py:876 part/models.py:2136 +#: company/models.py:876 part/models.py:2135 msgid "multiple" msgstr "多个" @@ -4661,7 +4658,7 @@ msgstr "此供应商使用的默认货币" msgid "Company Name" msgstr "公司名称" -#: company/serializers.py:397 part/admin.py:126 part/serializers.py:919 +#: company/serializers.py:397 part/admin.py:126 part/serializers.py:917 #: part/templates/part/part_base.html:197 #: templates/js/translated/company.js:1689 #: templates/js/translated/table_filters.js:362 @@ -4735,7 +4732,7 @@ msgstr "删除图像" #: order/models.py:2140 order/templates/order/return_order_base.html:134 #: order/templates/order/sales_order_base.html:151 stock/models.py:844 #: stock/models.py:845 stock/serializers.py:1336 -#: stock/templates/stock/item_base.html:405 +#: stock/templates/stock/item_base.html:401 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 #: templates/js/translated/return_order.js:295 @@ -4939,7 +4936,7 @@ msgstr "没有可用的制造商信息" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:925 +#: part/admin.py:122 part/serializers.py:923 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -5030,7 +5027,7 @@ msgid "No supplier information available" msgstr "没有可用的供应商信息" #: company/templates/company/supplier_part.html:139 order/serializers.py:554 -#: part/bom.py:286 part/bom.py:315 part/serializers.py:561 +#: part/bom.py:286 part/bom.py:315 part/serializers.py:559 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1793 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1920 @@ -5084,7 +5081,7 @@ msgid "Update Part Availability" msgstr "更新零件可用性" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:923 part/stocktake.py:223 +#: part/serializers.py:921 part/stocktake.py:223 #: part/templates/part/category.html:180 #: part/templates/part/category_sidebar.html:17 stock/admin.py:68 #: stock/serializers.py:1021 stock/serializers.py:1199 @@ -5215,7 +5212,7 @@ msgstr "行索引" msgid "Original row data" msgstr "原始行数据" -#: importer/models.py:504 part/models.py:3965 +#: importer/models.py:504 part/models.py:3952 msgid "Data" msgstr "数据" @@ -5473,7 +5470,7 @@ msgstr "订单待定" #: order/models.py:1592 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_purchase_order_report.html:14 -#: stock/serializers.py:121 stock/templates/stock/item_base.html:176 +#: stock/serializers.py:121 stock/templates/stock/item_base.html:172 #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/part.js:1752 templates/js/translated/pricing.js:804 #: templates/js/translated/purchase_order.js:168 @@ -5694,7 +5691,7 @@ msgid "Number of items received" msgstr "收到的物品数量" #: order/models.py:1513 stock/models.py:963 stock/serializers.py:617 -#: stock/templates/stock/item_base.html:183 +#: stock/templates/stock/item_base.html:179 #: templates/js/translated/stock.js:2397 msgid "Purchase Price" msgstr "采购价格" @@ -5768,7 +5765,7 @@ msgid "User who checked this shipment" msgstr "检查此装运的用户" #: order/models.py:1788 order/models.py:2011 order/serializers.py:1479 -#: order/serializers.py:1589 templates/js/translated/model_renderers.js:455 +#: order/serializers.py:1597 templates/js/translated/model_renderers.js:455 msgid "Shipment" msgstr "配送" @@ -5982,7 +5979,7 @@ msgstr "行项目" msgid "Line item does not match purchase order" msgstr "行项目与采购订单不匹配" -#: order/serializers.py:656 order/serializers.py:779 order/serializers.py:1790 +#: order/serializers.py:656 order/serializers.py:779 order/serializers.py:1798 msgid "Select destination location for received items" msgstr "为收到的物品选择目的地位置" @@ -6019,7 +6016,7 @@ msgstr "条形码已被使用" msgid "An integer quantity must be provided for trackable parts" msgstr "必须为可跟踪零件提供整数数量" -#: order/serializers.py:795 order/serializers.py:1806 +#: order/serializers.py:795 order/serializers.py:1814 msgid "Line items must be provided" msgstr "必须提供行项目" @@ -6051,39 +6048,39 @@ msgstr "数量必须为正" msgid "Enter serial numbers to allocate" msgstr "输入要分配的序列号" -#: order/serializers.py:1491 order/serializers.py:1597 +#: order/serializers.py:1491 order/serializers.py:1605 msgid "Shipment has already been shipped" msgstr "货物已发出" -#: order/serializers.py:1494 order/serializers.py:1600 +#: order/serializers.py:1494 order/serializers.py:1608 msgid "Shipment is not associated with this order" msgstr "发货与此订单无关" -#: order/serializers.py:1541 +#: order/serializers.py:1549 msgid "No match found for the following serial numbers" msgstr "未找到以下序列号的匹配项" -#: order/serializers.py:1548 -msgid "The following serial numbers are already allocated" -msgstr "以下序列号已分配" +#: order/serializers.py:1556 +msgid "The following serial numbers are unavailable" +msgstr "" -#: order/serializers.py:1760 +#: order/serializers.py:1768 msgid "Return order line item" msgstr "退货订单行项目" -#: order/serializers.py:1766 +#: order/serializers.py:1774 msgid "Line item does not match return order" msgstr "行项目与退货订单不匹配" -#: order/serializers.py:1769 +#: order/serializers.py:1777 msgid "Line item has already been received" msgstr "行项目已收到" -#: order/serializers.py:1798 +#: order/serializers.py:1806 msgid "Items can only be received against orders which are in progress" msgstr "只能根据正在进行的订单接收物品" -#: order/serializers.py:1881 +#: order/serializers.py:1889 msgid "Line price currency" msgstr "行价格货币" @@ -6510,7 +6507,7 @@ msgstr "更新零件{part} 单价到{price}" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "更新零件 {part} 单价到 {price} 且更新数量到 {qty}" -#: part/admin.py:48 part/models.py:1044 part/serializers.py:908 +#: part/admin.py:48 part/models.py:1044 part/serializers.py:906 #: part/templates/part/part_base.html:276 #: report/templates/report/inventree_stock_location_report.html:103 #: templates/js/translated/part.js:1233 templates/js/translated/part.js:2347 @@ -6537,7 +6534,7 @@ msgstr "零件图像" msgid "Category ID" msgstr "类别 ID" -#: part/admin.py:67 part/admin.py:304 part/serializers.py:893 +#: part/admin.py:67 part/admin.py:304 part/serializers.py:891 #: part/stocktake.py:222 msgid "Category Name" msgstr "类别名称" @@ -6562,18 +6559,18 @@ msgstr "最低库存" msgid "Used In" msgstr "用于" -#: part/admin.py:150 part/serializers.py:918 +#: part/admin.py:150 part/serializers.py:916 #: part/templates/part/part_base.html:248 stock/admin.py:236 #: templates/js/translated/part.js:717 templates/js/translated/part.js:2159 msgid "Building" msgstr "正在生产" -#: part/admin.py:155 part/models.py:3214 part/models.py:3228 +#: part/admin.py:155 part/models.py:3201 part/models.py:3215 #: templates/js/translated/part.js:976 msgid "Minimum Cost" msgstr "最低成本" -#: part/admin.py:158 part/models.py:3221 part/models.py:3235 +#: part/admin.py:158 part/models.py:3208 part/models.py:3222 #: templates/js/translated/part.js:986 msgid "Maximum Cost" msgstr "最高成本" @@ -6592,7 +6589,7 @@ msgid "Category Path" msgstr "类别路径" #: part/admin.py:325 part/models.py:420 part/serializers.py:130 -#: part/serializers.py:290 part/serializers.py:428 +#: part/serializers.py:290 part/serializers.py:426 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:20 #: part/templates/part/category.html:138 part/templates/part/category.html:158 #: part/templates/part/category_sidebar.html:9 @@ -6619,13 +6616,13 @@ msgstr "父类内部零件号" msgid "Part Revision" msgstr "零件修订版本" -#: part/admin.py:418 part/serializers.py:1367 +#: part/admin.py:418 part/serializers.py:1365 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "最低价格" -#: part/admin.py:423 part/serializers.py:1382 +#: part/admin.py:423 part/serializers.py:1380 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -6719,8 +6716,8 @@ msgstr "有修订版本" msgid "BOM Valid" msgstr "物料清单合规" -#: part/api.py:1520 part/models.py:1036 part/models.py:3501 part/models.py:4060 -#: part/serializers.py:443 part/serializers.py:1223 +#: part/api.py:1520 part/models.py:1036 part/models.py:3488 part/models.py:4047 +#: part/serializers.py:441 part/serializers.py:1221 #: part/templates/part/part_base.html:267 stock/api.py:780 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 @@ -6746,7 +6743,7 @@ msgstr "使用" msgid "Default Location" msgstr "默认位置" -#: part/bom.py:184 part/serializers.py:926 +#: part/bom.py:184 part/serializers.py:924 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "库存总量" @@ -6755,7 +6752,7 @@ msgstr "库存总量" msgid "Input quantity for price calculation" msgstr "输入用于价格计算的数量" -#: part/models.py:89 part/models.py:4061 part/templates/part/category.html:16 +#: part/models.py:89 part/models.py:4048 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "零件类别" @@ -6878,7 +6875,7 @@ msgstr "有这个名字,内部零件号,和修订版本的零件已经存在 msgid "Parts cannot be assigned to structural part categories!" msgstr "零件不能分配到结构性零件类别!" -#: part/models.py:995 part/models.py:4116 +#: part/models.py:995 part/models.py:4103 msgid "Part name" msgstr "零件名称" @@ -6906,7 +6903,7 @@ msgstr "提高搜索结果可见性的零件关键字" msgid "Part category" msgstr "零件类别" -#: part/models.py:1052 part/serializers.py:360 +#: part/models.py:1052 msgid "Part revision or version number" msgstr "零件修订版本或版本号" @@ -7012,164 +7009,164 @@ msgid "Owner responsible for this part" msgstr "此零件的负责人" #: part/models.py:1264 part/templates/part/part_base.html:355 -#: stock/templates/stock/item_base.html:451 +#: stock/templates/stock/item_base.html:447 #: templates/js/translated/part.js:2490 msgid "Last Stocktake" msgstr "最近库存盘点" -#: part/models.py:2137 +#: part/models.py:2136 msgid "Sell multiple" msgstr "出售多个" -#: part/models.py:3128 +#: part/models.py:3115 msgid "Currency used to cache pricing calculations" msgstr "用于缓存定价计算的货币" -#: part/models.py:3144 +#: part/models.py:3131 msgid "Minimum BOM Cost" msgstr "最低物料清单成本" -#: part/models.py:3145 +#: part/models.py:3132 msgid "Minimum cost of component parts" msgstr "元件的最低成本" -#: part/models.py:3151 +#: part/models.py:3138 msgid "Maximum BOM Cost" msgstr "物料清单的最高成本" -#: part/models.py:3152 +#: part/models.py:3139 msgid "Maximum cost of component parts" msgstr "元件的最高成本" -#: part/models.py:3158 +#: part/models.py:3145 msgid "Minimum Purchase Cost" msgstr "最低购买成本" -#: part/models.py:3159 +#: part/models.py:3146 msgid "Minimum historical purchase cost" msgstr "最高历史购买成本" -#: part/models.py:3165 +#: part/models.py:3152 msgid "Maximum Purchase Cost" msgstr "最大购买成本" -#: part/models.py:3166 +#: part/models.py:3153 msgid "Maximum historical purchase cost" msgstr "最高历史购买成本" -#: part/models.py:3172 +#: part/models.py:3159 msgid "Minimum Internal Price" msgstr "最低内部价格" -#: part/models.py:3173 +#: part/models.py:3160 msgid "Minimum cost based on internal price breaks" msgstr "基于内部批发价的最低成本" -#: part/models.py:3179 +#: part/models.py:3166 msgid "Maximum Internal Price" msgstr "最大内部价格" -#: part/models.py:3180 +#: part/models.py:3167 msgid "Maximum cost based on internal price breaks" msgstr "基于内部批发价的最高成本" -#: part/models.py:3186 +#: part/models.py:3173 msgid "Minimum Supplier Price" msgstr "供应商最低价格" -#: part/models.py:3187 +#: part/models.py:3174 msgid "Minimum price of part from external suppliers" msgstr "外部供应商零件的最低价格" -#: part/models.py:3193 +#: part/models.py:3180 msgid "Maximum Supplier Price" msgstr "供应商最高价格" -#: part/models.py:3194 +#: part/models.py:3181 msgid "Maximum price of part from external suppliers" msgstr "来自外部供应商的商零件的最高价格" -#: part/models.py:3200 +#: part/models.py:3187 msgid "Minimum Variant Cost" msgstr "最小变体成本" -#: part/models.py:3201 +#: part/models.py:3188 msgid "Calculated minimum cost of variant parts" msgstr "计算出的变体零件的最低成本" -#: part/models.py:3207 +#: part/models.py:3194 msgid "Maximum Variant Cost" msgstr "最大变体成本" -#: part/models.py:3208 +#: part/models.py:3195 msgid "Calculated maximum cost of variant parts" msgstr "计算出的变体零件的最大成本" -#: part/models.py:3215 +#: part/models.py:3202 msgid "Override minimum cost" msgstr "覆盖最低成本" -#: part/models.py:3222 +#: part/models.py:3209 msgid "Override maximum cost" msgstr "覆盖最大成本" -#: part/models.py:3229 +#: part/models.py:3216 msgid "Calculated overall minimum cost" msgstr "计算总最低成本" -#: part/models.py:3236 +#: part/models.py:3223 msgid "Calculated overall maximum cost" msgstr "计算总最大成本" -#: part/models.py:3242 +#: part/models.py:3229 msgid "Minimum Sale Price" msgstr "最低售出价格" -#: part/models.py:3243 +#: part/models.py:3230 msgid "Minimum sale price based on price breaks" msgstr "基于批发价的最低售出价格" -#: part/models.py:3249 +#: part/models.py:3236 msgid "Maximum Sale Price" msgstr "最高售出价格" -#: part/models.py:3250 +#: part/models.py:3237 msgid "Maximum sale price based on price breaks" msgstr "基于批发价的最大售出价格" -#: part/models.py:3256 +#: part/models.py:3243 msgid "Minimum Sale Cost" msgstr "最低销售成本" -#: part/models.py:3257 +#: part/models.py:3244 msgid "Minimum historical sale price" msgstr "历史最低售出价格" -#: part/models.py:3263 +#: part/models.py:3250 msgid "Maximum Sale Cost" msgstr "最高销售成本" -#: part/models.py:3264 +#: part/models.py:3251 msgid "Maximum historical sale price" msgstr "历史最高售出价格" -#: part/models.py:3283 +#: part/models.py:3270 msgid "Part for stocktake" msgstr "用于盘点的零件" -#: part/models.py:3288 +#: part/models.py:3275 msgid "Item Count" msgstr "物品数量" -#: part/models.py:3289 +#: part/models.py:3276 msgid "Number of individual stock entries at time of stocktake" msgstr "盘点时的个别库存条目数" -#: part/models.py:3297 +#: part/models.py:3284 msgid "Total available stock at time of stocktake" msgstr "盘点时可用库存总额" -#: part/models.py:3301 part/models.py:3384 +#: part/models.py:3288 part/models.py:3371 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -7181,363 +7178,363 @@ msgstr "盘点时可用库存总额" msgid "Date" msgstr "日期" -#: part/models.py:3302 +#: part/models.py:3289 msgid "Date stocktake was performed" msgstr "进行盘点的日期" -#: part/models.py:3310 +#: part/models.py:3297 msgid "Additional notes" msgstr "附加注释" -#: part/models.py:3320 +#: part/models.py:3307 msgid "User who performed this stocktake" msgstr "进行此盘点的用户" -#: part/models.py:3326 +#: part/models.py:3313 msgid "Minimum Stock Cost" msgstr "最低库存成本" -#: part/models.py:3327 +#: part/models.py:3314 msgid "Estimated minimum cost of stock on hand" msgstr "现有存库存最低成本估算" -#: part/models.py:3333 +#: part/models.py:3320 msgid "Maximum Stock Cost" msgstr "最高库存成本" -#: part/models.py:3334 +#: part/models.py:3321 msgid "Estimated maximum cost of stock on hand" msgstr "目前库存最高成本估算" -#: part/models.py:3390 templates/InvenTree/settings/settings_staff_js.html:532 +#: part/models.py:3377 templates/InvenTree/settings/settings_staff_js.html:532 msgid "Report" msgstr "报告" -#: part/models.py:3391 +#: part/models.py:3378 msgid "Stocktake report file (generated internally)" msgstr "盘点报告文件(内部生成)" -#: part/models.py:3396 templates/InvenTree/settings/settings_staff_js.html:539 +#: part/models.py:3383 templates/InvenTree/settings/settings_staff_js.html:539 msgid "Part Count" msgstr "零件计数" -#: part/models.py:3397 +#: part/models.py:3384 msgid "Number of parts covered by stocktake" msgstr "盘点涵盖的零件数量" -#: part/models.py:3407 +#: part/models.py:3394 msgid "User who requested this stocktake report" msgstr "请求此盘点报告的用户" -#: part/models.py:3417 +#: part/models.py:3404 msgid "Part Sale Price Break" msgstr "零件售出价格折扣" -#: part/models.py:3529 +#: part/models.py:3516 msgid "Part Test Template" msgstr "零件测试模板" -#: part/models.py:3555 +#: part/models.py:3542 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "模板名称无效 - 必须包含至少一个字母或者数字" -#: part/models.py:3576 part/models.py:3745 +#: part/models.py:3563 part/models.py:3732 msgid "Choices must be unique" msgstr "选择必须是唯一的" -#: part/models.py:3587 +#: part/models.py:3574 msgid "Test templates can only be created for testable parts" msgstr "" -#: part/models.py:3598 +#: part/models.py:3585 msgid "Test template with the same key already exists for part" msgstr "零件已存在具有相同主键的测试模板" -#: part/models.py:3615 templates/js/translated/part.js:2898 +#: part/models.py:3602 templates/js/translated/part.js:2898 msgid "Test Name" msgstr "测试名" -#: part/models.py:3616 +#: part/models.py:3603 msgid "Enter a name for the test" msgstr "输入测试的名称" -#: part/models.py:3622 +#: part/models.py:3609 msgid "Test Key" msgstr "测试主键" -#: part/models.py:3623 +#: part/models.py:3610 msgid "Simplified key for the test" msgstr "简化测试主键" -#: part/models.py:3630 +#: part/models.py:3617 msgid "Test Description" msgstr "测试说明" -#: part/models.py:3631 +#: part/models.py:3618 msgid "Enter description for this test" msgstr "输入测试的描述" -#: part/models.py:3635 report/models.py:208 +#: part/models.py:3622 report/models.py:216 #: templates/js/translated/part.js:2919 #: templates/js/translated/table_filters.js:502 msgid "Enabled" msgstr "已启用" -#: part/models.py:3635 +#: part/models.py:3622 msgid "Is this test enabled?" msgstr "此测试是否已启用?" -#: part/models.py:3640 templates/js/translated/part.js:2927 +#: part/models.py:3627 templates/js/translated/part.js:2927 #: templates/js/translated/table_filters.js:498 msgid "Required" msgstr "必须的" -#: part/models.py:3641 +#: part/models.py:3628 msgid "Is this test required to pass?" msgstr "需要此测试才能通过吗?" -#: part/models.py:3646 templates/js/translated/part.js:2935 +#: part/models.py:3633 templates/js/translated/part.js:2935 msgid "Requires Value" msgstr "需要值" -#: part/models.py:3647 +#: part/models.py:3634 msgid "Does this test require a value when adding a test result?" msgstr "添加测试结果时是否需要一个值?" -#: part/models.py:3652 templates/js/translated/part.js:2942 +#: part/models.py:3639 templates/js/translated/part.js:2942 msgid "Requires Attachment" msgstr "需要附件" -#: part/models.py:3654 +#: part/models.py:3641 msgid "Does this test require a file attachment when adding a test result?" msgstr "添加测试结果时是否需要文件附件?" -#: part/models.py:3660 part/models.py:3804 templates/js/translated/part.js:1643 +#: part/models.py:3647 part/models.py:3791 templates/js/translated/part.js:1643 msgid "Choices" msgstr "选项" -#: part/models.py:3661 +#: part/models.py:3648 msgid "Valid choices for this test (comma-separated)" msgstr "此测试的有效选择 (逗号分隔)" -#: part/models.py:3693 +#: part/models.py:3680 msgid "Part Parameter Template" msgstr "零件参数模板" -#: part/models.py:3720 +#: part/models.py:3707 msgid "Checkbox parameters cannot have units" msgstr "勾选框参数不能有单位" -#: part/models.py:3725 +#: part/models.py:3712 msgid "Checkbox parameters cannot have choices" msgstr "复选框参数不能有选项" -#: part/models.py:3762 +#: part/models.py:3749 msgid "Parameter template name must be unique" msgstr "参数模板名称必须是唯一的" -#: part/models.py:3777 +#: part/models.py:3764 msgid "Parameter Name" msgstr "参数名称" -#: part/models.py:3784 +#: part/models.py:3771 msgid "Physical units for this parameter" msgstr "此参数的物理单位" -#: part/models.py:3792 +#: part/models.py:3779 msgid "Parameter description" msgstr "参数说明" -#: part/models.py:3798 templates/js/translated/part.js:1634 +#: part/models.py:3785 templates/js/translated/part.js:1634 #: templates/js/translated/table_filters.js:837 msgid "Checkbox" msgstr "勾选框" -#: part/models.py:3799 +#: part/models.py:3786 msgid "Is this parameter a checkbox?" msgstr "此参数是否为勾选框?" -#: part/models.py:3805 +#: part/models.py:3792 msgid "Valid choices for this parameter (comma-separated)" msgstr "此参数的有效选择 (逗号分隔)" -#: part/models.py:3839 +#: part/models.py:3826 msgid "Part Parameter" msgstr "零件参数" -#: part/models.py:3865 +#: part/models.py:3852 msgid "Parameter cannot be modified - part is locked" msgstr "参数不能被修改 - 零件被锁定" -#: part/models.py:3903 +#: part/models.py:3890 msgid "Invalid choice for parameter value" msgstr "无效的参数值选择" -#: part/models.py:3952 +#: part/models.py:3939 msgid "Parent Part" msgstr "父零件" -#: part/models.py:3960 part/models.py:4068 part/models.py:4069 +#: part/models.py:3947 part/models.py:4055 part/models.py:4056 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "参数模板" -#: part/models.py:3966 +#: part/models.py:3953 msgid "Parameter Value" msgstr "参数值" -#: part/models.py:4016 +#: part/models.py:4003 msgid "Part Category Parameter Template" msgstr "零件类别参数模板" -#: part/models.py:4075 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:4062 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "默认值" -#: part/models.py:4076 +#: part/models.py:4063 msgid "Default Parameter Value" msgstr "默认参数值" -#: part/models.py:4114 +#: part/models.py:4101 msgid "Part ID or part name" msgstr "零件ID或零件名称" -#: part/models.py:4115 +#: part/models.py:4102 msgid "Unique part ID value" msgstr "唯一零件ID值" -#: part/models.py:4117 +#: part/models.py:4104 msgid "Part IPN value" msgstr "零件内部零件号" -#: part/models.py:4118 +#: part/models.py:4105 msgid "Level" msgstr "级" -#: part/models.py:4118 +#: part/models.py:4105 msgid "BOM level" msgstr "物料清单级别" -#: part/models.py:4228 +#: part/models.py:4215 msgid "BOM item cannot be modified - assembly is locked" msgstr "物料清单项目不能被修改 - 装配已锁定" -#: part/models.py:4235 +#: part/models.py:4222 msgid "BOM item cannot be modified - variant assembly is locked" msgstr "物料清单项目不能修改 - 变体装配已锁定" -#: part/models.py:4245 +#: part/models.py:4232 msgid "Select parent part" msgstr "选择父零件" -#: part/models.py:4255 +#: part/models.py:4242 msgid "Sub part" msgstr "子零件" -#: part/models.py:4256 +#: part/models.py:4243 msgid "Select part to be used in BOM" msgstr "选择要用于物料清单的零件" -#: part/models.py:4267 +#: part/models.py:4254 msgid "BOM quantity for this BOM item" msgstr "此物料清单项目的数量" -#: part/models.py:4273 +#: part/models.py:4260 msgid "This BOM item is optional" msgstr "此物料清单项目是可选的" -#: part/models.py:4279 +#: part/models.py:4266 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "这个物料清单项目是耗材 (它没有在生产订单中被追踪)" -#: part/models.py:4286 part/templates/part/upload_bom.html:55 +#: part/models.py:4273 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "超量" -#: part/models.py:4287 +#: part/models.py:4274 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "估计生产物浪费量(绝对值或百分比)" -#: part/models.py:4294 +#: part/models.py:4281 msgid "BOM item reference" msgstr "物料清单项目引用" -#: part/models.py:4302 +#: part/models.py:4289 msgid "BOM item notes" msgstr "物料清单项目注释" -#: part/models.py:4308 +#: part/models.py:4295 msgid "Checksum" msgstr "校验和" -#: part/models.py:4309 +#: part/models.py:4296 msgid "BOM line checksum" msgstr "物料清单行校验和" -#: part/models.py:4314 templates/js/translated/table_filters.js:181 +#: part/models.py:4301 templates/js/translated/table_filters.js:181 msgid "Validated" msgstr "已验证" -#: part/models.py:4315 +#: part/models.py:4302 msgid "This BOM item has been validated" msgstr "此物料清单项目已验证" -#: part/models.py:4320 part/templates/part/upload_bom.html:57 +#: part/models.py:4307 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:185 #: templates/js/translated/table_filters.js:218 msgid "Gets inherited" msgstr "获取继承的" -#: part/models.py:4321 +#: part/models.py:4308 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "此物料清单项目是由物料清单继承的变体零件" -#: part/models.py:4327 +#: part/models.py:4314 msgid "Stock items for variant parts can be used for this BOM item" msgstr "变体零件的库存项可以用于此物料清单项目" -#: part/models.py:4412 stock/models.py:689 +#: part/models.py:4399 stock/models.py:689 msgid "Quantity must be integer value for trackable parts" msgstr "可追踪零件的数量必须是整数" -#: part/models.py:4422 part/models.py:4424 +#: part/models.py:4409 part/models.py:4411 msgid "Sub part must be specified" msgstr "必须指定子零件" -#: part/models.py:4561 +#: part/models.py:4554 msgid "BOM Item Substitute" msgstr "物料清单项目替代品" -#: part/models.py:4582 +#: part/models.py:4575 msgid "Substitute part cannot be the same as the master part" msgstr "替代品零件不能与主零件相同" -#: part/models.py:4595 +#: part/models.py:4588 msgid "Parent BOM item" msgstr "上级物料清单项目" -#: part/models.py:4603 +#: part/models.py:4596 msgid "Substitute part" msgstr "替代品零件" -#: part/models.py:4619 +#: part/models.py:4612 msgid "Part 1" msgstr "零件 1" -#: part/models.py:4627 +#: part/models.py:4620 msgid "Part 2" msgstr "零件2" -#: part/models.py:4628 +#: part/models.py:4621 msgid "Select Related Part" msgstr "选择相关的零件" -#: part/models.py:4647 +#: part/models.py:4640 msgid "Part relationship cannot be created between a part and itself" msgstr "零件关系不能在零件和自身之间创建" -#: part/models.py:4652 +#: part/models.py:4645 msgid "Duplicate relationship already exists" msgstr "复制关系已经存在" @@ -7571,326 +7568,326 @@ msgstr "购买此库存项的货币" msgid "Number of parts using this template" msgstr "使用此模板的零件数" -#: part/serializers.py:434 +#: part/serializers.py:432 msgid "No parts selected" msgstr "没有选定零件" -#: part/serializers.py:444 +#: part/serializers.py:442 msgid "Select category" msgstr "选择类别" -#: part/serializers.py:479 +#: part/serializers.py:477 msgid "Original Part" msgstr "原始零件" -#: part/serializers.py:480 +#: part/serializers.py:478 msgid "Select original part to duplicate" msgstr "选择要复制的原始零件" -#: part/serializers.py:485 +#: part/serializers.py:483 msgid "Copy Image" msgstr "复制图片" -#: part/serializers.py:486 +#: part/serializers.py:484 msgid "Copy image from original part" msgstr "从原零件复制图片" -#: part/serializers.py:492 part/templates/part/detail.html:293 +#: part/serializers.py:490 part/templates/part/detail.html:293 msgid "Copy BOM" msgstr "复制物料清单" -#: part/serializers.py:493 +#: part/serializers.py:491 msgid "Copy bill of materials from original part" msgstr "从原始零件复制材料清单" -#: part/serializers.py:499 +#: part/serializers.py:497 msgid "Copy Parameters" msgstr "复制参数" -#: part/serializers.py:500 +#: part/serializers.py:498 msgid "Copy parameter data from original part" msgstr "从原始零件复制参数数据" -#: part/serializers.py:506 +#: part/serializers.py:504 msgid "Copy Notes" msgstr "复制备注" -#: part/serializers.py:507 +#: part/serializers.py:505 msgid "Copy notes from original part" msgstr "从原始零件复制备注" -#: part/serializers.py:525 +#: part/serializers.py:523 msgid "Initial Stock Quantity" msgstr "初始化库存数量" -#: part/serializers.py:527 +#: part/serializers.py:525 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "指定此零件的初始库存数量。如果数量为零,则不添加任何库存。" -#: part/serializers.py:534 +#: part/serializers.py:532 msgid "Initial Stock Location" msgstr "初始化库存地点" -#: part/serializers.py:535 +#: part/serializers.py:533 msgid "Specify initial stock location for this Part" msgstr "初始化指定此零件的库存地点" -#: part/serializers.py:552 +#: part/serializers.py:550 msgid "Select supplier (or leave blank to skip)" msgstr "选择供应商(或为空以跳过)" -#: part/serializers.py:568 +#: part/serializers.py:566 msgid "Select manufacturer (or leave blank to skip)" msgstr "选择制造商(或为空)" -#: part/serializers.py:578 +#: part/serializers.py:576 msgid "Manufacturer part number" msgstr "制造商零件号" -#: part/serializers.py:585 +#: part/serializers.py:583 msgid "Selected company is not a valid supplier" msgstr "所选公司不是一个有效的供应商" -#: part/serializers.py:594 +#: part/serializers.py:592 msgid "Selected company is not a valid manufacturer" msgstr "所选公司不是一个有效的制造商" -#: part/serializers.py:605 +#: part/serializers.py:603 msgid "Manufacturer part matching this MPN already exists" msgstr "与此制造商零件编号 (MPN) 的相匹配的制造商零件已存在" -#: part/serializers.py:612 +#: part/serializers.py:610 msgid "Supplier part matching this SKU already exists" msgstr "匹配此库存单位 (SKU) 的供应商零件已存在" -#: part/serializers.py:924 +#: part/serializers.py:922 msgid "Revisions" msgstr "修订" -#: part/serializers.py:929 +#: part/serializers.py:927 msgid "Unallocated Stock" msgstr "未分配的库存" -#: part/serializers.py:932 +#: part/serializers.py:930 msgid "Variant Stock" msgstr "变体库存" -#: part/serializers.py:962 part/templates/part/copy_part.html:9 +#: part/serializers.py:960 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:474 msgid "Duplicate Part" msgstr "重复零件" -#: part/serializers.py:963 +#: part/serializers.py:961 msgid "Copy initial data from another Part" msgstr "从另一个零件复制初始数据" -#: part/serializers.py:969 templates/js/translated/part.js:103 +#: part/serializers.py:967 templates/js/translated/part.js:103 msgid "Initial Stock" msgstr "初始库存" -#: part/serializers.py:970 +#: part/serializers.py:968 msgid "Create Part with initial stock quantity" msgstr "创建具有初始库存数量的零件" -#: part/serializers.py:976 +#: part/serializers.py:974 msgid "Supplier Information" msgstr "供应商信息" -#: part/serializers.py:977 +#: part/serializers.py:975 msgid "Add initial supplier information for this part" msgstr "添加此零件的初始供应商信息" -#: part/serializers.py:985 +#: part/serializers.py:983 msgid "Copy Category Parameters" msgstr "复制类别参数" -#: part/serializers.py:986 +#: part/serializers.py:984 msgid "Copy parameter templates from selected part category" msgstr "从选择的零件复制参数模版" -#: part/serializers.py:991 +#: part/serializers.py:989 msgid "Existing Image" msgstr "现有的图片" -#: part/serializers.py:992 +#: part/serializers.py:990 msgid "Filename of an existing part image" msgstr "现有零件图片的文件名" -#: part/serializers.py:1009 +#: part/serializers.py:1007 msgid "Image file does not exist" msgstr "图片不存在" -#: part/serializers.py:1215 +#: part/serializers.py:1213 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "限制盘点报告到某个特定零件以及任何变体零件" -#: part/serializers.py:1225 +#: part/serializers.py:1223 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "限制盘点报告到某个特定零件类别以及任何子类别" -#: part/serializers.py:1235 +#: part/serializers.py:1233 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "限制盘点报告到某个特定零件库存地点以及任何子位置" -#: part/serializers.py:1241 +#: part/serializers.py:1239 msgid "Exclude External Stock" msgstr "排除外部库存" -#: part/serializers.py:1242 +#: part/serializers.py:1240 msgid "Exclude stock items in external locations" msgstr "排除外部位置的库存项" -#: part/serializers.py:1247 +#: part/serializers.py:1245 msgid "Generate Report" msgstr "生成报告" -#: part/serializers.py:1248 +#: part/serializers.py:1246 msgid "Generate report file containing calculated stocktake data" msgstr "生成包含计算出来的盘点数据的报告文件" -#: part/serializers.py:1253 +#: part/serializers.py:1251 msgid "Update Parts" msgstr "更新零件" -#: part/serializers.py:1254 +#: part/serializers.py:1252 msgid "Update specified parts with calculated stocktake data" msgstr "使用计算出的盘点数据更新指定零件" -#: part/serializers.py:1262 +#: part/serializers.py:1260 msgid "Stocktake functionality is not enabled" msgstr "盘点功能未启用" -#: part/serializers.py:1368 +#: part/serializers.py:1366 msgid "Override calculated value for minimum price" msgstr "覆盖已计算的最低价格值" -#: part/serializers.py:1375 +#: part/serializers.py:1373 msgid "Minimum price currency" msgstr "最低价格货币" -#: part/serializers.py:1383 +#: part/serializers.py:1381 msgid "Override calculated value for maximum price" msgstr "覆盖已计算的最高价格值" -#: part/serializers.py:1390 +#: part/serializers.py:1388 msgid "Maximum price currency" msgstr "最高价格货币" -#: part/serializers.py:1419 +#: part/serializers.py:1417 msgid "Update" msgstr "更新" -#: part/serializers.py:1420 +#: part/serializers.py:1418 msgid "Update pricing for this part" msgstr "更新这个零件的价格" -#: part/serializers.py:1443 +#: part/serializers.py:1441 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "无法将所提供的货币转换为 {default_currency}" -#: part/serializers.py:1450 +#: part/serializers.py:1448 msgid "Minimum price must not be greater than maximum price" msgstr "最低价格不能高于最高价格。" -#: part/serializers.py:1453 +#: part/serializers.py:1451 msgid "Maximum price must not be less than minimum price" msgstr "最高价格不能低于最低价格" -#: part/serializers.py:1597 +#: part/serializers.py:1595 msgid "Select the parent assembly" msgstr "选择父装配" -#: part/serializers.py:1606 +#: part/serializers.py:1604 msgid "Component Name" msgstr "元件名称" -#: part/serializers.py:1609 +#: part/serializers.py:1607 msgid "Component IPN" msgstr "元件内部零件号" -#: part/serializers.py:1612 +#: part/serializers.py:1610 msgid "Component Description" msgstr "元件描述" -#: part/serializers.py:1618 +#: part/serializers.py:1616 msgid "Select the component part" msgstr "选择零部件" -#: part/serializers.py:1627 part/templates/part/part_base.html:242 +#: part/serializers.py:1625 part/templates/part/part_base.html:242 #: templates/js/translated/bom.js:1219 msgid "Can Build" msgstr "可以创建" -#: part/serializers.py:1858 +#: part/serializers.py:1856 msgid "Select part to copy BOM from" msgstr "选择要复制物料清单的零件" -#: part/serializers.py:1866 +#: part/serializers.py:1864 msgid "Remove Existing Data" msgstr "移除现有数据" -#: part/serializers.py:1867 +#: part/serializers.py:1865 msgid "Remove existing BOM items before copying" msgstr "复制前删除现有的物料清单项目" -#: part/serializers.py:1872 +#: part/serializers.py:1870 msgid "Include Inherited" msgstr "包含继承的" -#: part/serializers.py:1873 +#: part/serializers.py:1871 msgid "Include BOM items which are inherited from templated parts" msgstr "包含从模板零件继承的物料清单项目" -#: part/serializers.py:1878 +#: part/serializers.py:1876 msgid "Skip Invalid Rows" msgstr "跳过无效行" -#: part/serializers.py:1879 +#: part/serializers.py:1877 msgid "Enable this option to skip invalid rows" msgstr "启用此选项以跳过无效行" -#: part/serializers.py:1884 +#: part/serializers.py:1882 msgid "Copy Substitute Parts" msgstr "复制替代品零件" -#: part/serializers.py:1885 +#: part/serializers.py:1883 msgid "Copy substitute parts when duplicate BOM items" msgstr "复制物料清单项目时复制替代品零件" -#: part/serializers.py:1922 +#: part/serializers.py:1920 msgid "Clear Existing BOM" msgstr "清除现有的物料清单" -#: part/serializers.py:1923 +#: part/serializers.py:1921 msgid "Delete existing BOM items before uploading" msgstr "上传前删除现有的物料清单项目" -#: part/serializers.py:1955 +#: part/serializers.py:1953 msgid "No part column specified" msgstr "未指定零件列" -#: part/serializers.py:1999 +#: part/serializers.py:1997 msgid "Multiple matching parts found" msgstr "找到多个匹配的零件。" -#: part/serializers.py:2002 +#: part/serializers.py:2000 msgid "No matching part found" msgstr "没有找到匹配的零件" -#: part/serializers.py:2004 +#: part/serializers.py:2002 msgid "Part is not designated as a component" msgstr "零件未指定为元件" -#: part/serializers.py:2013 +#: part/serializers.py:2011 msgid "Quantity not provided" msgstr "未提供数量" -#: part/serializers.py:2021 +#: part/serializers.py:2019 msgid "Invalid quantity" msgstr "无效的数量" -#: part/serializers.py:2044 +#: part/serializers.py:2042 msgid "At least one BOM item is required" msgstr "至少需要一个物料清单项目" @@ -8216,7 +8213,7 @@ msgid "Subscribe to notifications for this part" msgstr "订阅此零件的通知" #: part/templates/part/part_base.html:52 -#: stock/templates/stock/item_base.html:62 +#: stock/templates/stock/item_base.html:61 #: stock/templates/stock/location.html:71 templates/js/translated/label.js:136 msgid "Print Label" msgstr "打印标签" @@ -8226,7 +8223,7 @@ msgid "Show pricing information" msgstr "显示定价信息" #: part/templates/part/part_base.html:63 -#: stock/templates/stock/item_base.html:110 +#: stock/templates/stock/item_base.html:106 #: stock/templates/stock/location.html:80 msgid "Stock actions" msgstr "库存操作" @@ -8297,12 +8294,12 @@ msgid "Required for Orders" msgstr "" #: part/templates/part/part_base.html:225 -#: stock/templates/stock/item_base.html:388 +#: stock/templates/stock/item_base.html:384 msgid "Allocated to Build Orders" msgstr "分配到生产订单" #: part/templates/part/part_base.html:234 -#: stock/templates/stock/item_base.html:381 +#: stock/templates/stock/item_base.html:377 msgid "Allocated to Sales Orders" msgstr "分配到销售订单" @@ -8322,7 +8319,7 @@ msgid "Latest Serial Number" msgstr "最新序列号" #: part/templates/part/part_base.html:372 -#: stock/templates/stock/item_base.html:322 +#: stock/templates/stock/item_base.html:318 msgid "Search for serial number" msgstr "搜索序列号" @@ -8449,7 +8446,7 @@ msgid "Edit" msgstr "编辑" #: part/templates/part/prices.html:28 stock/admin.py:252 -#: stock/templates/stock/item_base.html:446 +#: stock/templates/stock/item_base.html:442 #: templates/js/translated/company.js:1703 #: templates/js/translated/company.js:1713 #: templates/js/translated/stock.js:2332 @@ -8604,7 +8601,7 @@ msgstr "未找到零件图片" msgid "Part Pricing" msgstr "零件价格" -#: plugin/api.py:172 +#: plugin/api.py:174 msgid "Plugin cannot be deleted as it is currently active" msgstr "插件不能被删除,因为它当前处于激活状态" @@ -8940,7 +8937,7 @@ msgstr "边框" msgid "Print a border around each label" msgstr "打印每个标签的边框" -#: plugin/builtin/labels/label_sheet.py:47 report/models.py:307 +#: plugin/builtin/labels/label_sheet.py:47 report/models.py:315 msgid "Landscape" msgstr "横屏模式" @@ -9012,44 +9009,44 @@ msgstr "为扫描 TME 条形码提供支持" msgid "The Supplier which acts as 'TME'" msgstr "作为‘TME’的供应商" -#: plugin/installer.py:194 plugin/installer.py:274 +#: plugin/installer.py:199 plugin/installer.py:282 msgid "Only staff users can administer plugins" msgstr "只有员工用户可以管理插件" -#: plugin/installer.py:197 +#: plugin/installer.py:202 msgid "Plugin installation is disabled" msgstr "插件安装已禁用" -#: plugin/installer.py:241 +#: plugin/installer.py:246 msgid "Installed plugin successfully" msgstr "插件安装成功" -#: plugin/installer.py:246 +#: plugin/installer.py:251 #, python-brace-format msgid "Installed plugin into {path}" msgstr "插件安装到 {path}" -#: plugin/installer.py:265 +#: plugin/installer.py:273 msgid "Plugin was not found in registry" msgstr "在插件仓库中找不到插件" -#: plugin/installer.py:268 +#: plugin/installer.py:276 msgid "Plugin is not a packaged plugin" msgstr "插件不是一个打包的插件" -#: plugin/installer.py:271 +#: plugin/installer.py:279 msgid "Plugin package name not found" msgstr "找不到插件包名称" -#: plugin/installer.py:291 +#: plugin/installer.py:299 msgid "Plugin uninstalling is disabled" msgstr "插件卸载已禁用" -#: plugin/installer.py:295 +#: plugin/installer.py:303 msgid "Plugin cannot be uninstalled as it is currently active" msgstr "插件无法卸载,因为它目前处于激活状态" -#: plugin/installer.py:308 +#: plugin/installer.py:316 msgid "Uninstalled plugin successfully" msgstr "插件卸载成功" @@ -9098,7 +9095,7 @@ msgstr "内置插件" msgid "Package Plugin" msgstr "软件包插件" -#: plugin/models.py:220 report/models.py:474 +#: plugin/models.py:220 report/models.py:482 #: templates/InvenTree/settings/plugin_settings.html:9 #: templates/js/translated/plugin.js:51 msgid "Plugin" @@ -9167,6 +9164,38 @@ msgstr "货币兑换插件示例" msgid "InvenTree Contributors" msgstr "InvenTree 贡献者" +#: plugin/samples/integration/user_interface_sample.py:22 +msgid "Enable Part Panels" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:23 +msgid "Enable custom panels for Part views" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:28 +msgid "Enable Purchase Order Panels" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:29 +msgid "Enable custom panels for Purchase Order views" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:34 +msgid "Enable Broken Panels" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:35 +msgid "Enable broken panels for testing" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:40 +msgid "Enable Dynamic Panel" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:41 +msgid "Enable dynamic panels for testing" +msgstr "" + #: plugin/serializers.py:81 msgid "Source URL" msgstr "源URL" @@ -9245,12 +9274,36 @@ msgstr "删除配置" msgid "Delete the plugin configuration from the database" msgstr "从数据库中删除插件配置" +#: plugin/serializers.py:324 +msgid "Plugin Key" +msgstr "" + +#: plugin/serializers.py:328 +msgid "Panel Name" +msgstr "" + +#: plugin/serializers.py:332 +msgid "Panel Title" +msgstr "" + +#: plugin/serializers.py:337 +msgid "Panel Icon" +msgstr "" + +#: plugin/serializers.py:341 +msgid "Panel Content (HTML)" +msgstr "" + +#: plugin/serializers.py:345 +msgid "Panel Source (javascript)" +msgstr "" + #: report/api.py:88 msgid "No valid objects provided to template" msgstr "没有为模板提供有效对象" -#: report/api.py:103 report/models.py:438 report/serializers.py:98 -#: report/serializers.py:148 templates/js/translated/purchase_order.js:1817 +#: report/api.py:103 report/models.py:446 report/serializers.py:99 +#: report/serializers.py:149 templates/js/translated/purchase_order.js:1817 #: templates/js/translated/return_order.js:353 #: templates/js/translated/sales_order.js:887 #: templates/js/translated/sales_order.js:1047 @@ -9281,7 +9334,11 @@ msgstr "没有有效的项目提供到模板" msgid "Error printing label" msgstr "打印标签出错" -#: report/api.py:375 report/api.py:411 +#: report/api.py:358 +msgid "Report saved at time of printing" +msgstr "" + +#: report/api.py:384 report/api.py:420 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "模板文件'{template}' 丢失或不存在" @@ -9318,135 +9375,143 @@ msgstr "模板说明" msgid "Revision number (auto-increments)" msgstr "修订编号 (自动增量)" -#: report/models.py:202 +#: report/models.py:168 +msgid "Attach to Model on Print" +msgstr "" + +#: report/models.py:170 +msgid "Save report output as an attachment against linked model instance when printing" +msgstr "" + +#: report/models.py:210 msgid "Filename Pattern" msgstr "文件名样式" -#: report/models.py:203 +#: report/models.py:211 msgid "Pattern for generating filenames" msgstr "生成文件名模式" -#: report/models.py:208 +#: report/models.py:216 msgid "Template is enabled" msgstr "模板已启用" -#: report/models.py:214 +#: report/models.py:222 msgid "Target model type for template" msgstr "模版的目标模型类型" -#: report/models.py:234 +#: report/models.py:242 msgid "Filters" msgstr "筛选器" -#: report/models.py:235 +#: report/models.py:243 msgid "Template query filters (comma-separated list of key=value pairs)" msgstr "模版查询筛选器 (逗号分隔的键值对列表)" -#: report/models.py:294 report/models.py:361 +#: report/models.py:302 report/models.py:369 msgid "Template file" msgstr "模板包文件" -#: report/models.py:302 +#: report/models.py:310 msgid "Page size for PDF reports" msgstr "PDF 报告的页面大小" -#: report/models.py:308 +#: report/models.py:316 msgid "Render report in landscape orientation" msgstr "横向渲染报告" -#: report/models.py:367 +#: report/models.py:375 msgid "Width [mm]" msgstr "宽度 [mm]" -#: report/models.py:368 +#: report/models.py:376 msgid "Label width, specified in mm" msgstr "标签宽度,以毫米为单位。" -#: report/models.py:374 +#: report/models.py:382 msgid "Height [mm]" msgstr "高度 [mm]" -#: report/models.py:375 +#: report/models.py:383 msgid "Label height, specified in mm" msgstr "标签高度,以毫米为单位。" -#: report/models.py:438 +#: report/models.py:446 msgid "Number of items to process" msgstr "要处理的项目数量" -#: report/models.py:444 +#: report/models.py:452 msgid "Report generation is complete" msgstr "报告生成完成" -#: report/models.py:448 templates/js/translated/build.js:2352 +#: report/models.py:456 templates/js/translated/build.js:2352 msgid "Progress" msgstr "进度" -#: report/models.py:448 +#: report/models.py:456 msgid "Report generation progress" msgstr "报告生成进度" -#: report/models.py:456 +#: report/models.py:464 msgid "Report Template" msgstr "报告模板" -#: report/models.py:463 report/models.py:486 +#: report/models.py:471 report/models.py:494 msgid "Output File" msgstr "输出文件" -#: report/models.py:464 report/models.py:487 +#: report/models.py:472 report/models.py:495 msgid "Generated output file" msgstr "生成输出文件" -#: report/models.py:475 +#: report/models.py:483 msgid "Label output plugin" msgstr "标签输出插件" -#: report/models.py:479 +#: report/models.py:487 msgid "Label Template" msgstr "标签模板" -#: report/models.py:502 +#: report/models.py:510 msgid "Snippet" msgstr "代码片段" -#: report/models.py:503 +#: report/models.py:511 msgid "Report snippet file" msgstr "报告代码片段文件" -#: report/models.py:510 +#: report/models.py:518 msgid "Snippet file description" msgstr "代码片段文件描述" -#: report/models.py:528 +#: report/models.py:536 msgid "Asset" msgstr "资产" -#: report/models.py:529 +#: report/models.py:537 msgid "Report asset file" msgstr "报告资产文件" -#: report/models.py:536 +#: report/models.py:544 msgid "Asset file description" msgstr "资产文件描述" -#: report/serializers.py:91 +#: report/serializers.py:92 msgid "Select report template" msgstr "选择报表模板" -#: report/serializers.py:99 report/serializers.py:149 +#: report/serializers.py:100 report/serializers.py:150 msgid "List of item primary keys to include in the report" msgstr "要包含在报告中的项目主键列表" -#: report/serializers.py:132 +#: report/serializers.py:133 msgid "Select label template" msgstr "选择标签模板" -#: report/serializers.py:140 +#: report/serializers.py:141 msgid "Printing Plugin" msgstr "打印插件" -#: report/serializers.py:141 +#: report/serializers.py:142 msgid "Select plugin to use for label printing" msgstr "选择用于标签打印的插件" @@ -9517,7 +9582,7 @@ msgstr "测试结果" msgid "Test" msgstr "测试" -#: report/templates/report/inventree_test_report.html:103 stock/models.py:2538 +#: report/templates/report/inventree_test_report.html:103 stock/models.py:2533 msgid "Result" msgstr "结果" @@ -9598,7 +9663,7 @@ msgid "Customer ID" msgstr "客户 ID" #: stock/admin.py:206 stock/models.py:829 -#: stock/templates/stock/item_base.html:354 +#: stock/templates/stock/item_base.html:350 msgid "Installed In" msgstr "安装于" @@ -9623,7 +9688,7 @@ msgid "Delete on Deplete" msgstr "在消耗品上删除" #: stock/admin.py:261 stock/models.py:923 -#: stock/templates/stock/item_base.html:433 +#: stock/templates/stock/item_base.html:429 #: templates/js/translated/stock.js:2316 users/models.py:124 msgid "Expiry Date" msgstr "有效期至" @@ -9665,7 +9730,7 @@ msgid "Expiry date after" msgstr "过期日期后" #: stock/api.py:839 stock/serializers.py:611 -#: stock/templates/stock/item_base.html:439 +#: stock/templates/stock/item_base.html:435 #: templates/js/translated/table_filters.js:448 msgid "Stale" msgstr "过期" @@ -9715,7 +9780,7 @@ msgid "Stock Locations" msgstr "库存地点" #: stock/models.py:185 stock/models.py:972 -#: stock/templates/stock/item_base.html:247 +#: stock/templates/stock/item_base.html:243 msgid "Owner" msgstr "所有者" @@ -9826,7 +9891,7 @@ msgstr "源代码构建" msgid "Build for this stock item" msgstr "为此库存项目构建" -#: stock/models.py:892 stock/templates/stock/item_base.html:363 +#: stock/models.py:892 stock/templates/stock/item_base.html:359 msgid "Consumed By" msgstr "消费者" @@ -9891,7 +9956,7 @@ msgstr "数量不匹配序列号" msgid "Serial numbers already exist" msgstr "序列号已存在" -#: stock/models.py:1636 +#: stock/models.py:1636 stock/models.py:2436 msgid "Test template does not exist" msgstr "测试模板不存在" @@ -9939,67 +10004,67 @@ msgstr "库存状态码必须匹配" msgid "StockItem cannot be moved as it is not in stock" msgstr "库存项不能移动,因为它没有库存" -#: stock/models.py:2337 +#: stock/models.py:2335 msgid "Stock Item Tracking" msgstr "库存项跟踪" -#: stock/models.py:2370 +#: stock/models.py:2368 msgid "Entry notes" msgstr "条目注释" -#: stock/models.py:2410 +#: stock/models.py:2408 msgid "Stock Item Test Result" msgstr "库存项测试结果" -#: stock/models.py:2443 +#: stock/models.py:2439 msgid "Value must be provided for this test" msgstr "必须为此测试提供值" -#: stock/models.py:2448 +#: stock/models.py:2443 msgid "Attachment must be uploaded for this test" msgstr "测试附件必须上传" -#: stock/models.py:2453 +#: stock/models.py:2448 msgid "Invalid value for this test" msgstr "此测试的值无效" -#: stock/models.py:2538 +#: stock/models.py:2533 msgid "Test result" msgstr "测试结果" -#: stock/models.py:2545 +#: stock/models.py:2540 msgid "Test output value" msgstr "测试输出值" -#: stock/models.py:2553 stock/serializers.py:245 +#: stock/models.py:2548 stock/serializers.py:245 msgid "Test result attachment" msgstr "测验结果附件" -#: stock/models.py:2557 +#: stock/models.py:2552 msgid "Test notes" msgstr "测试备注" -#: stock/models.py:2565 templates/js/translated/stock.js:1633 +#: stock/models.py:2560 templates/js/translated/stock.js:1633 msgid "Test station" msgstr "测试站" -#: stock/models.py:2566 +#: stock/models.py:2561 msgid "The identifier of the test station where the test was performed" msgstr "进行测试的测试站的标识符" -#: stock/models.py:2572 +#: stock/models.py:2567 msgid "Started" msgstr "已开始" -#: stock/models.py:2573 +#: stock/models.py:2568 msgid "The timestamp of the test start" msgstr "测试开始的时间戳" -#: stock/models.py:2579 +#: stock/models.py:2574 msgid "Finished" msgstr "已完成" -#: stock/models.py:2580 +#: stock/models.py:2575 msgid "The timestamp of the test finish" msgstr "测试结束的时间戳" @@ -10059,7 +10124,7 @@ msgstr "测试完成时间不能早于测试开始时间" msgid "Serial number is too large" msgstr "序列号太大" -#: stock/serializers.py:459 stock/templates/stock/item_base.html:193 +#: stock/serializers.py:459 stock/templates/stock/item_base.html:189 msgid "Parent Item" msgstr "父项" @@ -10071,7 +10136,7 @@ msgstr "父库存项" msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "添加时使用包装尺寸:定义的数量是包装的数量" -#: stock/serializers.py:603 stock/templates/stock/item_base.html:437 +#: stock/serializers.py:603 stock/templates/stock/item_base.html:433 #: templates/js/translated/table_filters.js:442 users/models.py:174 msgid "Expired" msgstr "已过期" @@ -10410,7 +10475,7 @@ msgstr "此库存商品没有任何子商品" msgid "Test Data" msgstr "测试数据" -#: stock/templates/stock/item.html:85 stock/templates/stock/item_base.html:65 +#: stock/templates/stock/item.html:85 msgid "Test Report" msgstr "测试报告" @@ -10450,200 +10515,204 @@ msgstr "查找库存项目" msgid "Scan to Location" msgstr "扫描到位置" -#: stock/templates/stock/item_base.html:59 +#: stock/templates/stock/item_base.html:58 #: stock/templates/stock/location.html:67 #: templates/js/translated/filters.js:434 msgid "Printing actions" msgstr "打印操作" -#: stock/templates/stock/item_base.html:75 +#: stock/templates/stock/item_base.html:63 templates/js/translated/report.js:49 +msgid "Print Report" +msgstr "打印报告" + +#: stock/templates/stock/item_base.html:71 msgid "Stock adjustment actions" msgstr "库存调整操作" -#: stock/templates/stock/item_base.html:79 +#: stock/templates/stock/item_base.html:75 #: stock/templates/stock/location.html:87 templates/js/translated/stock.js:1909 msgid "Count stock" msgstr "清点库存" -#: stock/templates/stock/item_base.html:81 +#: stock/templates/stock/item_base.html:77 #: templates/js/translated/stock.js:1891 msgid "Add stock" msgstr "增加库存" -#: stock/templates/stock/item_base.html:82 +#: stock/templates/stock/item_base.html:78 #: templates/js/translated/stock.js:1900 msgid "Remove stock" msgstr "移除库存" -#: stock/templates/stock/item_base.html:85 +#: stock/templates/stock/item_base.html:81 msgid "Serialize stock" msgstr "序列化库存" -#: stock/templates/stock/item_base.html:88 +#: stock/templates/stock/item_base.html:84 #: stock/templates/stock/location.html:93 templates/js/translated/stock.js:1918 msgid "Transfer stock" msgstr "转移库存" -#: stock/templates/stock/item_base.html:91 +#: stock/templates/stock/item_base.html:87 #: templates/js/translated/stock.js:1973 msgid "Assign to customer" msgstr "分配给客户" -#: stock/templates/stock/item_base.html:94 +#: stock/templates/stock/item_base.html:90 msgid "Return to stock" msgstr "返回库存" -#: stock/templates/stock/item_base.html:97 +#: stock/templates/stock/item_base.html:93 msgid "Uninstall stock item" msgstr "卸载库存项目" -#: stock/templates/stock/item_base.html:97 +#: stock/templates/stock/item_base.html:93 msgid "Uninstall" msgstr "卸载" -#: stock/templates/stock/item_base.html:101 +#: stock/templates/stock/item_base.html:97 msgid "Install stock item" msgstr "安装库存项" -#: stock/templates/stock/item_base.html:101 +#: stock/templates/stock/item_base.html:97 msgid "Install" msgstr "安装" -#: stock/templates/stock/item_base.html:115 +#: stock/templates/stock/item_base.html:111 msgid "Convert to variant" msgstr "转换为变体" -#: stock/templates/stock/item_base.html:118 +#: stock/templates/stock/item_base.html:114 msgid "Duplicate stock item" msgstr "复制库存项目" -#: stock/templates/stock/item_base.html:120 +#: stock/templates/stock/item_base.html:116 msgid "Edit stock item" msgstr "编辑库存项" -#: stock/templates/stock/item_base.html:123 +#: stock/templates/stock/item_base.html:119 msgid "Delete stock item" msgstr "删除库存项" -#: stock/templates/stock/item_base.html:169 templates/InvenTree/search.html:139 +#: stock/templates/stock/item_base.html:165 templates/InvenTree/search.html:139 #: templates/js/translated/build.js:2298 templates/navbar.html:38 msgid "Build" msgstr "生产" -#: stock/templates/stock/item_base.html:211 +#: stock/templates/stock/item_base.html:207 msgid "No manufacturer set" msgstr "未设置制造商" -#: stock/templates/stock/item_base.html:251 +#: stock/templates/stock/item_base.html:247 msgid "You are not in the list of owners of this item. This stock item cannot be edited." msgstr "您不在此项目的所有者列表中。此库存项目不可编辑。" -#: stock/templates/stock/item_base.html:252 +#: stock/templates/stock/item_base.html:248 #: stock/templates/stock/location.html:146 msgid "Read only" msgstr "只读" -#: stock/templates/stock/item_base.html:265 +#: stock/templates/stock/item_base.html:261 msgid "This stock item is unavailable" msgstr "此库存项不可用" -#: stock/templates/stock/item_base.html:271 +#: stock/templates/stock/item_base.html:267 msgid "This stock item is in production and cannot be edited." msgstr "此库存项目正在生产中,无法编辑。" -#: stock/templates/stock/item_base.html:272 +#: stock/templates/stock/item_base.html:268 msgid "Edit the stock item from the build view." msgstr "从构建视图中编辑库存项目。" -#: stock/templates/stock/item_base.html:287 +#: stock/templates/stock/item_base.html:283 msgid "This stock item is allocated to Sales Order" msgstr "此库存项目已分配给销售订单" -#: stock/templates/stock/item_base.html:295 +#: stock/templates/stock/item_base.html:291 msgid "This stock item is allocated to Build Order" msgstr "此库存项目已分配给生产订单" -#: stock/templates/stock/item_base.html:311 +#: stock/templates/stock/item_base.html:307 msgid "This stock item is serialized. It has a unique serial number and the quantity cannot be adjusted" msgstr "此库存商品已序列化。它有一个唯一的序列号,数量无法调整" -#: stock/templates/stock/item_base.html:317 +#: stock/templates/stock/item_base.html:313 msgid "previous page" msgstr "上一页" -#: stock/templates/stock/item_base.html:317 +#: stock/templates/stock/item_base.html:313 msgid "Navigate to previous serial number" msgstr "导航到上一个序列号" -#: stock/templates/stock/item_base.html:326 +#: stock/templates/stock/item_base.html:322 msgid "next page" msgstr "下一页" -#: stock/templates/stock/item_base.html:326 +#: stock/templates/stock/item_base.html:322 msgid "Navigate to next serial number" msgstr "导航到下一个序列号" -#: stock/templates/stock/item_base.html:398 +#: stock/templates/stock/item_base.html:394 #: templates/js/translated/build.js:2555 msgid "No location set" msgstr "未设置位置" -#: stock/templates/stock/item_base.html:413 +#: stock/templates/stock/item_base.html:409 msgid "Tests" msgstr "测试" -#: stock/templates/stock/item_base.html:419 +#: stock/templates/stock/item_base.html:415 msgid "This stock item has not passed all required tests" msgstr "此库存项目未通过所有要求的测试" -#: stock/templates/stock/item_base.html:437 +#: stock/templates/stock/item_base.html:433 #, python-format msgid "This StockItem expired on %(item.expiry_date)s" msgstr "此库存项在 %(item.expiry_date)s 过期" -#: stock/templates/stock/item_base.html:439 +#: stock/templates/stock/item_base.html:435 #, python-format msgid "This StockItem expires on %(item.expiry_date)s" msgstr "此库存项在 %(item.expiry_date)s 过期" -#: stock/templates/stock/item_base.html:455 +#: stock/templates/stock/item_base.html:451 msgid "No stocktake performed" msgstr "未进行盘点" -#: stock/templates/stock/item_base.html:504 +#: stock/templates/stock/item_base.html:500 #: templates/js/translated/stock.js:2038 msgid "stock item" msgstr "库存项" -#: stock/templates/stock/item_base.html:527 +#: stock/templates/stock/item_base.html:523 msgid "Edit Stock Status" msgstr "编辑库存状态" -#: stock/templates/stock/item_base.html:536 +#: stock/templates/stock/item_base.html:532 msgid "Stock Item QR Code" msgstr "库存项二维码" -#: stock/templates/stock/item_base.html:547 +#: stock/templates/stock/item_base.html:543 msgid "Link Barcode to Stock Item" msgstr "将条形码链接到库存项" -#: stock/templates/stock/item_base.html:611 +#: stock/templates/stock/item_base.html:607 msgid "Select one of the part variants listed below." msgstr "选择下面列出的零件变体之一。" -#: stock/templates/stock/item_base.html:614 +#: stock/templates/stock/item_base.html:610 msgid "Warning" msgstr "警告" -#: stock/templates/stock/item_base.html:615 +#: stock/templates/stock/item_base.html:611 msgid "This action cannot be easily undone" msgstr "此操作不易撤消" -#: stock/templates/stock/item_base.html:623 +#: stock/templates/stock/item_base.html:619 msgid "Convert Stock Item" msgstr "转换库存项目" -#: stock/templates/stock/item_base.html:656 +#: stock/templates/stock/item_base.html:652 msgid "Return to Stock" msgstr "返回到库存" @@ -11310,7 +11379,7 @@ msgid "Delete Location Type" msgstr "删除地点类型" #: templates/InvenTree/settings/settings_staff_js.html:503 -#: templates/InvenTree/settings/stock.html:38 +#: templates/InvenTree/settings/stock.html:39 msgid "New Location Type" msgstr "新建位置类型" @@ -11367,7 +11436,7 @@ msgstr "销售订单设置" msgid "Stock Settings" msgstr "库存设置" -#: templates/InvenTree/settings/stock.html:34 +#: templates/InvenTree/settings/stock.html:35 msgid "Stock Location Types" msgstr "库存地点类型" @@ -11852,23 +11921,23 @@ msgstr "添加附件" msgid "Barcode Identifier" msgstr "条形码验证器" -#: templates/base.html:103 +#: templates/base.html:102 msgid "Server Restart Required" msgstr "需要重新启动服务器" -#: templates/base.html:106 +#: templates/base.html:105 msgid "A configuration option has been changed which requires a server restart" msgstr "配置选项已更改,需要重新启动服务器" -#: templates/base.html:106 templates/base.html:116 +#: templates/base.html:105 templates/base.html:115 msgid "Contact your system administrator for further information" msgstr "有关详细信息,请与系统管理员联系" -#: templates/base.html:113 +#: templates/base.html:112 msgid "Pending Database Migrations" msgstr "待处理的数据库迁移" -#: templates/base.html:116 +#: templates/base.html:115 msgid "There are pending database migrations which require attention" msgstr "有一些待处理的数据库迁移需要注意" @@ -13946,10 +14015,6 @@ msgstr "编辑行项目" msgid "Delete line item" msgstr "删除行项目" -#: templates/js/translated/report.js:49 -msgid "Print Report" -msgstr "打印报告" - #: templates/js/translated/report.js:68 msgid "Report print successful" msgstr "报告打印成功" @@ -14728,7 +14793,7 @@ msgstr "订单状态" #: templates/js/translated/table_filters.js:161 msgid "Testable Part" -msgstr "" +msgstr "可测试部分" #: templates/js/translated/table_filters.js:165 msgid "Trackable Part" diff --git a/src/backend/InvenTree/locale/zh_Hant/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/zh_Hant/LC_MESSAGES/django.po index cf67d4d0bb4a..c52a442966a9 100644 --- a/src/backend/InvenTree/locale/zh_Hant/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/zh_Hant/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-08-29 07:07+0000\n" -"PO-Revision-Date: 2024-08-29 07:10\n" +"POT-Creation-Date: 2024-09-16 00:37+0000\n" +"PO-Revision-Date: 2024-09-16 00:40\n" "Last-Translator: \n" "Language-Team: Chinese Traditional\n" "Language: zh_TW\n" @@ -65,9 +65,9 @@ msgstr "" #: 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:59 -#: part/models.py:3309 part/templates/part/part_sidebar.html:65 +#: part/models.py:3296 part/templates/part/part_sidebar.html:65 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/admin.py:231 stock/models.py:2369 stock/models.py:2557 +#: stock/admin.py:231 stock/models.py:2367 stock/models.py:2552 #: stock/serializers.py:705 stock/serializers.py:863 stock/serializers.py:989 #: stock/serializers.py:1039 stock/serializers.py:1350 #: stock/serializers.py:1439 stock/serializers.py:1604 @@ -364,7 +364,7 @@ msgstr "" msgid "[{site_name}] Log in to the app" msgstr "" -#: InvenTree/magic_login.py:38 InvenTree/serializers.py:413 +#: InvenTree/magic_login.py:38 InvenTree/serializers.py:416 #: company/models.py:133 company/templates/company/company_base.html:138 #: templates/InvenTree/settings/user.html:49 #: templates/js/translated/company.js:677 @@ -419,9 +419,9 @@ msgstr "" msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:767 common/models.py:2704 common/models.py:3131 -#: common/models.py:3351 common/serializers.py:439 company/models.py:590 -#: machine/models.py:24 part/models.py:995 part/models.py:3776 +#: InvenTree/models.py:767 common/models.py:2705 common/models.py:3132 +#: common/models.py:3352 common/serializers.py:455 company/models.py:590 +#: machine/models.py:24 part/models.py:995 part/models.py:3763 #: plugin/models.py:51 report/models.py:149 stock/models.py:82 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -446,10 +446,10 @@ msgstr "" #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 order/models.py:289 #: order/models.py:1406 part/admin.py:305 part/admin.py:411 part/models.py:1018 -#: part/models.py:3791 part/templates/part/category.html:79 +#: part/models.py:3778 part/templates/part/category.html:79 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:155 -#: report/models.py:509 report/models.py:535 +#: report/models.py:517 report/models.py:543 #: report/templates/report/inventree_build_order_report.html:117 #: stock/admin.py:54 stock/models.py:88 stock/templates/stock/location.html:122 #: templates/InvenTree/settings/notifications.html:19 @@ -517,12 +517,12 @@ msgstr "" msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:63 part/models.py:4400 +#: InvenTree/serializers.py:63 part/models.py:4387 msgid "Must be a valid number" msgstr "" #: InvenTree/serializers.py:100 company/models.py:183 -#: company/templates/company/company_base.html:112 part/models.py:3127 +#: company/templates/company/company_base.html:112 part/models.py:3114 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -536,43 +536,43 @@ msgstr "" msgid "Username" msgstr "" -#: InvenTree/serializers.py:407 templates/InvenTree/settings/user.html:37 +#: InvenTree/serializers.py:408 templates/InvenTree/settings/user.html:37 msgid "First Name" msgstr "" -#: InvenTree/serializers.py:407 +#: InvenTree/serializers.py:408 msgid "First name of the user" msgstr "" -#: InvenTree/serializers.py:410 templates/InvenTree/settings/user.html:41 +#: InvenTree/serializers.py:412 templates/InvenTree/settings/user.html:41 msgid "Last Name" msgstr "" -#: InvenTree/serializers.py:410 +#: InvenTree/serializers.py:412 msgid "Last name of the user" msgstr "" -#: InvenTree/serializers.py:413 +#: InvenTree/serializers.py:416 msgid "Email address of the user" msgstr "" -#: InvenTree/serializers.py:438 +#: InvenTree/serializers.py:441 msgid "Staff" msgstr "" -#: InvenTree/serializers.py:438 +#: InvenTree/serializers.py:441 msgid "Does this user have staff permissions" msgstr "" -#: InvenTree/serializers.py:441 +#: InvenTree/serializers.py:445 msgid "Superuser" msgstr "" -#: InvenTree/serializers.py:441 +#: InvenTree/serializers.py:445 msgid "Is this user a superuser" msgstr "" -#: InvenTree/serializers.py:444 common/models.py:2709 company/models.py:160 +#: InvenTree/serializers.py:449 common/models.py:2710 company/models.py:160 #: company/models.py:798 machine/models.py:39 part/admin.py:88 #: part/models.py:1201 plugin/models.py:66 #: templates/js/translated/company.js:523 @@ -585,89 +585,89 @@ msgstr "" msgid "Active" msgstr "" -#: InvenTree/serializers.py:444 +#: InvenTree/serializers.py:449 msgid "Is this user account active" msgstr "" -#: InvenTree/serializers.py:462 +#: InvenTree/serializers.py:467 msgid "You do not have permission to change this user role." msgstr "" -#: InvenTree/serializers.py:474 +#: InvenTree/serializers.py:503 msgid "Only superusers can create new users" msgstr "" -#: InvenTree/serializers.py:493 +#: InvenTree/serializers.py:522 msgid "Your account has been created." msgstr "" -#: InvenTree/serializers.py:495 +#: InvenTree/serializers.py:524 msgid "Please use the password reset function to login" msgstr "" -#: InvenTree/serializers.py:502 +#: InvenTree/serializers.py:531 msgid "Welcome to InvenTree" msgstr "" -#: InvenTree/serializers.py:560 +#: InvenTree/serializers.py:589 msgid "Invalid value" msgstr "" -#: InvenTree/serializers.py:580 importer/models.py:64 +#: InvenTree/serializers.py:609 importer/models.py:64 msgid "Data File" msgstr "" -#: InvenTree/serializers.py:581 +#: InvenTree/serializers.py:610 msgid "Select data file for upload" msgstr "" -#: InvenTree/serializers.py:598 +#: InvenTree/serializers.py:627 msgid "Unsupported file type" msgstr "" -#: InvenTree/serializers.py:604 +#: InvenTree/serializers.py:633 msgid "File is too large" msgstr "" -#: InvenTree/serializers.py:625 +#: InvenTree/serializers.py:654 msgid "No columns found in file" msgstr "" -#: InvenTree/serializers.py:628 +#: InvenTree/serializers.py:657 msgid "No data rows found in file" msgstr "" -#: InvenTree/serializers.py:740 +#: InvenTree/serializers.py:769 msgid "No data rows provided" msgstr "" -#: InvenTree/serializers.py:743 +#: InvenTree/serializers.py:772 msgid "No data columns supplied" msgstr "" -#: InvenTree/serializers.py:809 +#: InvenTree/serializers.py:838 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "" -#: InvenTree/serializers.py:818 +#: InvenTree/serializers.py:847 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "" -#: InvenTree/serializers.py:857 +#: InvenTree/serializers.py:886 msgid "Remote Image" msgstr "" -#: InvenTree/serializers.py:858 +#: InvenTree/serializers.py:887 msgid "URL of remote image file" msgstr "" -#: InvenTree/serializers.py:876 +#: InvenTree/serializers.py:905 msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/status.py:65 part/serializers.py:1267 +#: InvenTree/status.py:65 part/serializers.py:1265 msgid "Background worker check failed" msgstr "" @@ -759,7 +759,7 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:319 build/serializers.py:1332 part/models.py:4278 +#: build/api.py:319 build/serializers.py:1332 part/models.py:4265 #: templates/js/translated/bom.js:997 templates/js/translated/bom.js:1037 #: templates/js/translated/build.js:2705 #: templates/js/translated/table_filters.js:197 @@ -767,7 +767,7 @@ msgstr "" msgid "Consumable" msgstr "" -#: build/api.py:320 build/serializers.py:1333 part/models.py:4272 +#: build/api.py:320 build/serializers.py:1333 part/models.py:4259 #: part/templates/part/upload_bom.html:58 templates/js/translated/bom.js:1001 #: templates/js/translated/bom.js:1028 templates/js/translated/build.js:2696 #: templates/js/translated/table_filters.js:193 @@ -777,7 +777,7 @@ msgid "Optional" msgstr "" #: build/api.py:321 common/models.py:1491 part/admin.py:91 part/admin.py:428 -#: part/models.py:1166 part/serializers.py:1596 +#: part/models.py:1166 part/serializers.py:1594 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:337 #: templates/js/translated/table_filters.js:729 @@ -816,7 +816,7 @@ msgstr "" msgid "Available" msgstr "" -#: build/models.py:87 build/templates/build/build_base.html:9 +#: build/models.py:88 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_report.html:105 #: stock/serializers.py:85 templates/email/build_order_completed.html:16 @@ -825,7 +825,7 @@ msgstr "" msgid "Build Order" msgstr "" -#: build/models.py:88 build/templates/build/build_base.html:13 +#: build/models.py:89 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:111 #: order/templates/order/so_sidebar.html:13 @@ -866,7 +866,7 @@ msgstr "" #: build/models.py:243 build/serializers.py:1331 order/models.py:468 #: order/models.py:979 order/models.py:1366 order/models.py:2128 -#: part/admin.py:414 part/models.py:4293 part/templates/part/upload_bom.html:54 +#: part/admin.py:414 part/models.py:4280 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 @@ -892,11 +892,11 @@ msgstr "" #: build/templates/build/build_base.html:105 #: build/templates/build/detail.html:29 company/models.py:1043 order/api.py:761 #: order/models.py:1496 order/models.py:1651 order/models.py:1652 -#: part/api.py:1506 part/api.py:1806 part/models.py:419 part/models.py:3138 -#: part/models.py:3282 part/models.py:3430 part/models.py:3451 -#: part/models.py:3473 part/models.py:3609 part/models.py:3951 -#: part/models.py:4114 part/models.py:4244 part/models.py:4602 -#: part/serializers.py:1213 part/serializers.py:1857 +#: part/api.py:1506 part/api.py:1806 part/models.py:419 part/models.py:3125 +#: part/models.py:3269 part/models.py:3417 part/models.py:3438 +#: part/models.py:3460 part/models.py:3596 part/models.py:3938 +#: part/models.py:4101 part/models.py:4231 part/models.py:4595 +#: part/serializers.py:1211 part/serializers.py:1855 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -1063,12 +1063,12 @@ msgstr "" #: order/templates/order/return_order_base.html:148 #: order/templates/order/sales_order_base.html:187 #: part/templates/part/part_base.html:399 stock/models.py:859 -#: stock/templates/stock/item_base.html:200 +#: stock/templates/stock/item_base.html:196 #: templates/js/translated/company.js:1019 msgid "External Link" msgstr "" -#: build/models.py:378 common/models.py:3272 part/models.py:1070 +#: build/models.py:378 common/models.py:3273 part/models.py:1070 #: stock/models.py:859 msgid "Link to external URL" msgstr "" @@ -1110,7 +1110,7 @@ msgstr "" msgid "A build order has been completed" msgstr "" -#: build/models.py:968 build/models.py:1056 +#: build/models.py:968 build/models.py:1057 msgid "No build output specified" msgstr "" @@ -1122,37 +1122,37 @@ msgstr "" msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:1060 build/serializers.py:279 build/serializers.py:328 +#: build/models.py:1061 build/serializers.py:279 build/serializers.py:328 #: build/serializers.py:959 order/models.py:565 order/serializers.py:500 -#: order/serializers.py:666 part/serializers.py:1590 part/serializers.py:2019 +#: order/serializers.py:666 part/serializers.py:1588 part/serializers.py:2017 #: stock/models.py:704 stock/models.py:1515 stock/serializers.py:676 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:1065 build/serializers.py:284 +#: build/models.py:1066 build/serializers.py:284 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1125 build/serializers.py:607 +#: build/models.py:1126 build/serializers.py:607 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "" -#: build/models.py:1466 +#: build/models.py:1477 msgid "Build Order Line Item" msgstr "" -#: build/models.py:1491 +#: build/models.py:1502 msgid "Build object" msgstr "" -#: build/models.py:1505 build/models.py:1761 build/serializers.py:266 +#: build/models.py:1516 build/models.py:1775 build/serializers.py:266 #: build/serializers.py:313 build/serializers.py:1339 #: build/templates/build/build_base.html:110 -#: build/templates/build/detail.html:34 common/models.py:2581 +#: build/templates/build/detail.html:34 common/models.py:2582 #: order/models.py:1349 order/models.py:2034 order/serializers.py:1464 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:413 -#: part/forms.py:48 part/models.py:3296 part/models.py:4266 +#: part/forms.py:48 part/models.py:3283 part/models.py:4253 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1163,9 +1163,9 @@ msgstr "" #: report/templates/report/inventree_test_report.html:90 #: report/templates/report/inventree_test_report.html:169 stock/admin.py:160 #: stock/serializers.py:128 stock/serializers.py:168 stock/serializers.py:667 -#: stock/templates/stock/item_base.html:287 -#: stock/templates/stock/item_base.html:295 -#: stock/templates/stock/item_base.html:342 +#: stock/templates/stock/item_base.html:283 +#: stock/templates/stock/item_base.html:291 +#: stock/templates/stock/item_base.html:338 #: templates/email/build_order_completed.html:18 #: templates/js/translated/barcode.js:579 templates/js/translated/bom.js:771 #: templates/js/translated/bom.js:981 templates/js/translated/build.js:525 @@ -1194,41 +1194,41 @@ msgstr "" msgid "Quantity" msgstr "" -#: build/models.py:1506 +#: build/models.py:1517 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1586 +#: build/models.py:1597 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1595 +#: build/models.py:1606 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1605 order/models.py:1985 +#: build/models.py:1616 order/models.py:1985 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1611 order/models.py:1988 +#: build/models.py:1622 order/models.py:1988 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1617 +#: build/models.py:1628 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1676 +#: build/models.py:1687 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1748 build/serializers.py:939 order/serializers.py:1301 +#: build/models.py:1762 build/serializers.py:939 order/serializers.py:1301 #: order/serializers.py:1322 stock/models.py:381 stock/serializers.py:94 #: stock/serializers.py:770 stock/serializers.py:1288 stock/serializers.py:1400 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 -#: stock/templates/stock/item_base.html:194 +#: stock/templates/stock/item_base.html:190 #: templates/js/translated/build.js:1921 #: templates/js/translated/sales_order.js:301 #: templates/js/translated/sales_order.js:1234 @@ -1241,19 +1241,19 @@ msgstr "" msgid "Stock Item" msgstr "" -#: build/models.py:1749 +#: build/models.py:1763 msgid "Source stock item" msgstr "" -#: build/models.py:1762 +#: build/models.py:1776 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1770 +#: build/models.py:1784 msgid "Install into" msgstr "" -#: build/models.py:1771 +#: build/models.py:1785 msgid "Destination stock item" msgstr "" @@ -1262,7 +1262,7 @@ msgid "Build Level" msgstr "" #: build/serializers.py:115 build/serializers.py:1234 build/serializers.py:1323 -#: part/admin.py:41 part/admin.py:408 part/models.py:4116 part/stocktake.py:219 +#: part/admin.py:41 part/admin.py:408 part/models.py:4103 part/stocktake.py:219 #: stock/admin.py:157 msgid "Part Name" msgstr "" @@ -1323,10 +1323,10 @@ msgid "Enter serial numbers for build outputs" msgstr "" #: build/serializers.py:359 build/serializers.py:500 build/serializers.py:572 -#: order/serializers.py:655 order/serializers.py:778 order/serializers.py:1789 -#: part/serializers.py:1233 stock/serializers.py:103 stock/serializers.py:698 +#: order/serializers.py:655 order/serializers.py:778 order/serializers.py:1797 +#: part/serializers.py:1231 stock/serializers.py:103 stock/serializers.py:698 #: stock/serializers.py:858 stock/serializers.py:984 stock/serializers.py:1432 -#: stock/serializers.py:1688 stock/templates/stock/item_base.html:394 +#: stock/serializers.py:1688 stock/templates/stock/item_base.html:390 #: templates/js/translated/barcode.js:578 #: templates/js/translated/barcode.js:826 templates/js/translated/build.js:1035 #: templates/js/translated/build.js:1177 templates/js/translated/build.js:2547 @@ -1390,7 +1390,7 @@ msgstr "" #: build/templates/build/detail.html:62 order/models.py:477 #: order/models.py:1003 order/models.py:2152 order/serializers.py:687 #: stock/admin.py:165 stock/serializers.py:1035 stock/serializers.py:1576 -#: stock/templates/stock/item_base.html:427 +#: stock/templates/stock/item_base.html:423 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2366 #: templates/js/translated/purchase_order.js:1371 #: templates/js/translated/purchase_order.js:1792 @@ -1522,7 +1522,7 @@ msgstr "" msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:1030 order/serializers.py:1614 +#: build/serializers.py:1030 order/serializers.py:1622 msgid "Allocation items must be provided" msgstr "" @@ -1590,7 +1590,7 @@ msgstr "" #: build/serializers.py:1230 company/models.py:849 #: company/templates/company/supplier_part.html:160 order/serializers.py:691 #: stock/admin.py:229 stock/models.py:822 stock/serializers.py:1586 -#: stock/templates/stock/item_base.html:240 +#: stock/templates/stock/item_base.html:236 #: templates/js/translated/company.js:1646 #: templates/js/translated/purchase_order.js:1169 #: templates/js/translated/purchase_order.js:1332 @@ -1600,12 +1600,12 @@ msgid "Packaging" msgstr "" #: build/serializers.py:1233 part/admin.py:39 part/admin.py:398 -#: part/models.py:4115 part/stocktake.py:218 stock/admin.py:153 +#: part/models.py:4102 part/stocktake.py:218 stock/admin.py:153 msgid "Part ID" msgstr "" #: build/serializers.py:1235 build/serializers.py:1324 part/admin.py:402 -#: part/models.py:4117 +#: part/models.py:4104 msgid "Part IPN" msgstr "" @@ -1625,7 +1625,7 @@ msgstr "" #: build/serializers.py:1243 #: report/templates/report/inventree_return_order_report.html:25 #: report/templates/report/inventree_test_report.html:88 stock/models.py:849 -#: stock/serializers.py:152 stock/templates/stock/item_base.html:311 +#: stock/serializers.py:152 stock/templates/stock/item_base.html:307 #: templates/js/translated/build.js:523 templates/js/translated/build.js:1543 #: templates/js/translated/build.js:2530 #: templates/js/translated/model_renderers.js:231 @@ -1644,7 +1644,7 @@ msgstr "" msgid "Allocated Quantity" msgstr "" -#: build/serializers.py:1257 stock/templates/stock/item_base.html:340 +#: build/serializers.py:1257 stock/templates/stock/item_base.html:336 msgid "Available Quantity" msgstr "" @@ -1667,13 +1667,13 @@ msgstr "" msgid "Inherited" msgstr "" -#: build/serializers.py:1337 part/models.py:4326 +#: build/serializers.py:1337 part/models.py:4313 #: part/templates/part/upload_bom.html:56 templates/js/translated/bom.js:1046 #: templates/js/translated/build.js:2714 msgid "Allow Variants" msgstr "" -#: build/serializers.py:1341 part/models.py:4124 part/models.py:4594 +#: build/serializers.py:1341 part/models.py:4111 part/models.py:4587 #: stock/api.py:793 msgid "BOM Item" msgstr "" @@ -1684,7 +1684,7 @@ msgid "Allocated Stock" msgstr "" #: build/serializers.py:1355 order/serializers.py:1179 part/admin.py:132 -#: part/bom.py:186 part/serializers.py:920 part/serializers.py:1623 +#: part/bom.py:186 part/serializers.py:918 part/serializers.py:1621 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 #: templates/js/translated/build.js:2807 templates/js/translated/part.js:712 #: templates/js/translated/part.js:2155 @@ -1692,13 +1692,13 @@ msgstr "" msgid "On Order" msgstr "" -#: build/serializers.py:1360 order/serializers.py:1180 part/serializers.py:1625 +#: build/serializers.py:1360 order/serializers.py:1180 part/serializers.py:1623 #: templates/js/translated/build.js:2811 #: templates/js/translated/table_filters.js:367 msgid "In Production" msgstr "" -#: build/serializers.py:1365 part/bom.py:185 part/serializers.py:1650 +#: build/serializers.py:1365 part/bom.py:185 part/serializers.py:1648 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" @@ -1716,7 +1716,7 @@ msgstr "" msgid "Total Available Stock" msgstr "" -#: build/serializers.py:1372 part/serializers.py:927 +#: build/serializers.py:1372 part/serializers.py:925 msgid "External Stock" msgstr "" @@ -1745,7 +1745,7 @@ msgstr "" #: importer/status_codes.py:27 order/status_codes.py:15 #: order/status_codes.py:50 order/status_codes.py:81 #: order/templates/order/order_base.html:163 -#: order/templates/order/sales_order_base.html:168 report/models.py:443 +#: order/templates/order/sales_order_base.html:168 report/models.py:451 msgid "Complete" msgstr "" @@ -1849,9 +1849,6 @@ msgid "Delete Build" msgstr "" #: build/templates/build/build_base.html:87 -msgid "Isueue Build" -msgstr "" - #: build/templates/build/build_base.html:88 msgid "Issue Build" msgstr "" @@ -1931,7 +1928,7 @@ msgstr "" #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_report.html:135 #: report/templates/report/inventree_sales_order_report.html:14 -#: stock/templates/stock/item_base.html:369 +#: stock/templates/stock/item_base.html:365 #: templates/email/overdue_sales_order.html:15 #: templates/js/translated/pricing.js:929 #: templates/js/translated/sales_order.js:805 @@ -1991,7 +1988,7 @@ msgid "Allocated Parts" msgstr "" #: build/templates/build/detail.html:80 stock/admin.py:163 -#: stock/templates/stock/item_base.html:162 +#: stock/templates/stock/item_base.html:158 #: templates/js/translated/build.js:1556 #: templates/js/translated/model_renderers.js:242 #: templates/js/translated/purchase_order.js:1326 @@ -2148,19 +2145,19 @@ msgstr "" msgid "Test Statistics" msgstr "" -#: common/api.py:692 +#: common/api.py:725 msgid "Is Link" msgstr "" -#: common/api.py:700 +#: common/api.py:733 msgid "Is File" msgstr "" -#: common/api.py:743 +#: common/api.py:776 msgid "User does not have permission to delete these attachments" msgstr "" -#: common/api.py:760 +#: common/api.py:793 msgid "User does not have permission to delete this attachment" msgstr "" @@ -2352,8 +2349,8 @@ msgstr "" #: common/models.py:1297 common/models.py:1353 common/models.py:1366 #: common/models.py:1374 common/models.py:1383 common/models.py:1392 -#: common/models.py:1629 common/models.py:1651 common/models.py:1766 -#: common/models.py:2148 +#: common/models.py:1629 common/models.py:1651 common/models.py:1752 +#: common/models.py:2141 msgid "days" msgstr "" @@ -2581,9 +2578,9 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1485 part/admin.py:108 part/models.py:3959 -#: report/models.py:293 report/models.py:360 report/serializers.py:90 -#: report/serializers.py:131 stock/serializers.py:233 +#: common/models.py:1485 part/admin.py:108 part/models.py:3946 +#: report/models.py:301 report/models.py:368 report/serializers.py:91 +#: report/serializers.py:132 stock/serializers.py:233 #: templates/js/translated/table_filters.js:138 #: templates/js/translated/table_filters.js:775 msgid "Template" @@ -2598,7 +2595,7 @@ msgid "Parts can be assembled from other components by default" msgstr "" #: common/models.py:1497 part/admin.py:95 part/models.py:1172 -#: part/serializers.py:1617 templates/js/translated/table_filters.js:737 +#: part/serializers.py:1615 templates/js/translated/table_filters.js:737 msgid "Component" msgstr "" @@ -2823,7 +2820,7 @@ msgid "Log errors which occur when generating reports" msgstr "" #: common/models.py:1702 plugin/builtin/labels/label_sheet.py:28 -#: report/models.py:301 +#: report/models.py:309 msgid "Page Size" msgstr "" @@ -2832,914 +2829,914 @@ msgid "Default page size for PDF reports" msgstr "" #: common/models.py:1708 -msgid "Enable Test Reports" -msgstr "" - -#: common/models.py:1709 -msgid "Enable generation of test reports" -msgstr "" - -#: common/models.py:1714 -msgid "Attach Test Reports" -msgstr "" - -#: common/models.py:1716 -msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" -msgstr "" - -#: common/models.py:1722 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1723 +#: common/models.py:1709 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1728 +#: common/models.py:1714 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1729 +#: common/models.py:1715 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1734 +#: common/models.py:1720 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1736 +#: common/models.py:1722 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/models.py:1742 +#: common/models.py:1728 msgid "Batch Code Template" msgstr "" -#: common/models.py:1744 +#: common/models.py:1730 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1749 +#: common/models.py:1735 msgid "Stock Expiry" msgstr "" -#: common/models.py:1750 +#: common/models.py:1736 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1755 +#: common/models.py:1741 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1756 +#: common/models.py:1742 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1761 +#: common/models.py:1747 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1763 +#: common/models.py:1749 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1770 +#: common/models.py:1756 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1771 +#: common/models.py:1757 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1776 +#: common/models.py:1762 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1777 +#: common/models.py:1763 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1782 +#: common/models.py:1768 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1783 +#: common/models.py:1769 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1788 +#: common/models.py:1774 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1789 +#: common/models.py:1775 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1794 +#: common/models.py:1780 msgid "Check BOM when installing items" msgstr "" -#: common/models.py:1796 +#: common/models.py:1782 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/models.py:1802 +#: common/models.py:1788 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/models.py:1804 +#: common/models.py:1790 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/models.py:1810 +#: common/models.py:1796 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1812 +#: common/models.py:1798 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1818 common/models.py:1874 common/models.py:1896 -#: common/models.py:1932 +#: common/models.py:1804 common/models.py:1860 common/models.py:1882 +#: common/models.py:1918 msgid "Require Responsible Owner" msgstr "" -#: common/models.py:1819 common/models.py:1875 common/models.py:1897 -#: common/models.py:1933 +#: common/models.py:1805 common/models.py:1861 common/models.py:1883 +#: common/models.py:1919 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/models.py:1824 +#: common/models.py:1810 msgid "Require Active Part" msgstr "" -#: common/models.py:1825 +#: common/models.py:1811 msgid "Prevent build order creation for inactive parts" msgstr "" -#: common/models.py:1830 +#: common/models.py:1816 msgid "Require Locked Part" msgstr "" -#: common/models.py:1831 +#: common/models.py:1817 msgid "Prevent build order creation for unlocked parts" msgstr "" -#: common/models.py:1836 +#: common/models.py:1822 msgid "Require Valid BOM" msgstr "" -#: common/models.py:1838 +#: common/models.py:1824 msgid "Prevent build order creation unless BOM has been validated" msgstr "" -#: common/models.py:1844 +#: common/models.py:1830 msgid "Require Closed Child Orders" msgstr "" -#: common/models.py:1846 +#: common/models.py:1832 msgid "Prevent build order completion until all child orders are closed" msgstr "" -#: common/models.py:1852 +#: common/models.py:1838 msgid "Block Until Tests Pass" msgstr "" -#: common/models.py:1854 +#: common/models.py:1840 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "" -#: common/models.py:1860 +#: common/models.py:1846 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1861 +#: common/models.py:1847 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1866 +#: common/models.py:1852 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1868 +#: common/models.py:1854 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1880 +#: common/models.py:1866 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1882 +#: common/models.py:1868 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1888 +#: common/models.py:1874 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1890 +#: common/models.py:1876 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1902 +#: common/models.py:1888 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1903 +#: common/models.py:1889 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1908 +#: common/models.py:1894 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1910 +#: common/models.py:1896 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1916 +#: common/models.py:1902 msgid "Mark Shipped Orders as Complete" msgstr "" -#: common/models.py:1918 +#: common/models.py:1904 msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status" msgstr "" -#: common/models.py:1924 +#: common/models.py:1910 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1926 +#: common/models.py:1912 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1938 +#: common/models.py:1924 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1940 +#: common/models.py:1926 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1946 +#: common/models.py:1932 msgid "Auto Complete Purchase Orders" msgstr "" -#: common/models.py:1948 +#: common/models.py:1934 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/models.py:1955 +#: common/models.py:1941 msgid "Enable password forgot" msgstr "" -#: common/models.py:1956 +#: common/models.py:1942 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1961 +#: common/models.py:1947 msgid "Enable registration" msgstr "" -#: common/models.py:1962 +#: common/models.py:1948 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1967 +#: common/models.py:1953 msgid "Enable SSO" msgstr "" -#: common/models.py:1968 +#: common/models.py:1954 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1973 +#: common/models.py:1959 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1975 +#: common/models.py:1961 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1981 +#: common/models.py:1967 msgid "Enable SSO group sync" msgstr "" -#: common/models.py:1983 +#: common/models.py:1969 msgid "Enable synchronizing InvenTree groups with groups provided by the IdP" msgstr "" -#: common/models.py:1989 +#: common/models.py:1975 msgid "SSO group key" msgstr "" -#: common/models.py:1991 +#: common/models.py:1977 msgid "The name of the groups claim attribute provided by the IdP" msgstr "" -#: common/models.py:1997 +#: common/models.py:1983 msgid "SSO group map" msgstr "" -#: common/models.py:1999 +#: common/models.py:1985 msgid "A mapping from SSO groups to local InvenTree groups. If the local group does not exist, it will be created." msgstr "" -#: common/models.py:2005 +#: common/models.py:1991 msgid "Remove groups outside of SSO" msgstr "" -#: common/models.py:2007 +#: common/models.py:1993 msgid "Whether groups assigned to the user should be removed if they are not backend by the IdP. Disabling this setting might cause security issues" msgstr "" -#: common/models.py:2013 +#: common/models.py:1999 msgid "Email required" msgstr "" -#: common/models.py:2014 +#: common/models.py:2000 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:2019 +#: common/models.py:2005 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:2021 +#: common/models.py:2007 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:2027 +#: common/models.py:2013 msgid "Mail twice" msgstr "" -#: common/models.py:2028 +#: common/models.py:2014 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:2033 +#: common/models.py:2019 msgid "Password twice" msgstr "" -#: common/models.py:2034 +#: common/models.py:2020 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:2039 +#: common/models.py:2025 msgid "Allowed domains" msgstr "" -#: common/models.py:2041 +#: common/models.py:2027 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:2047 +#: common/models.py:2033 msgid "Group on signup" msgstr "" -#: common/models.py:2049 +#: common/models.py:2035 msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP." msgstr "" -#: common/models.py:2055 +#: common/models.py:2041 msgid "Enforce MFA" msgstr "" -#: common/models.py:2056 +#: common/models.py:2042 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:2061 +#: common/models.py:2047 msgid "Check plugins on startup" msgstr "" -#: common/models.py:2063 +#: common/models.py:2049 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:2071 +#: common/models.py:2057 msgid "Check for plugin updates" msgstr "" -#: common/models.py:2072 +#: common/models.py:2058 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:2078 +#: common/models.py:2064 msgid "Enable URL integration" msgstr "" -#: common/models.py:2079 +#: common/models.py:2065 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:2085 +#: common/models.py:2071 msgid "Enable navigation integration" msgstr "" -#: common/models.py:2086 +#: common/models.py:2072 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:2092 +#: common/models.py:2078 msgid "Enable app integration" msgstr "" -#: common/models.py:2093 +#: common/models.py:2079 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:2099 +#: common/models.py:2085 msgid "Enable schedule integration" msgstr "" -#: common/models.py:2100 +#: common/models.py:2086 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:2106 +#: common/models.py:2092 msgid "Enable event integration" msgstr "" -#: common/models.py:2107 +#: common/models.py:2093 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:2113 +#: common/models.py:2099 +msgid "Enable interface integration" +msgstr "" + +#: common/models.py:2100 +msgid "Enable plugins to integrate into the user interface" +msgstr "" + +#: common/models.py:2106 msgid "Enable project codes" msgstr "" -#: common/models.py:2114 +#: common/models.py:2107 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:2119 +#: common/models.py:2112 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:2121 +#: common/models.py:2114 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:2127 +#: common/models.py:2120 msgid "Exclude External Locations" msgstr "" -#: common/models.py:2129 +#: common/models.py:2122 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/models.py:2135 +#: common/models.py:2128 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:2137 +#: common/models.py:2130 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:2143 +#: common/models.py:2136 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:2145 +#: common/models.py:2138 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:2152 +#: common/models.py:2145 msgid "Display Users full names" msgstr "" -#: common/models.py:2153 +#: common/models.py:2146 msgid "Display Users full names instead of usernames" msgstr "" -#: common/models.py:2158 +#: common/models.py:2151 msgid "Enable Test Station Data" msgstr "" -#: common/models.py:2159 +#: common/models.py:2152 msgid "Enable test station data collection for test results" msgstr "" -#: common/models.py:2171 common/models.py:2551 +#: common/models.py:2157 +msgid "Create Template on Upload" +msgstr "" + +#: common/models.py:2159 +msgid "Create a new test template when uploading test data which does not match an existing template" +msgstr "" + +#: common/models.py:2172 common/models.py:2552 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:2214 +#: common/models.py:2215 msgid "Hide inactive parts" msgstr "" -#: common/models.py:2216 +#: common/models.py:2217 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:2222 +#: common/models.py:2223 msgid "Show subscribed parts" msgstr "" -#: common/models.py:2223 +#: common/models.py:2224 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:2228 +#: common/models.py:2229 msgid "Show subscribed categories" msgstr "" -#: common/models.py:2229 +#: common/models.py:2230 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:2234 +#: common/models.py:2235 msgid "Show latest parts" msgstr "" -#: common/models.py:2235 +#: common/models.py:2236 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:2240 +#: common/models.py:2241 msgid "Show invalid BOMs" msgstr "" -#: common/models.py:2241 +#: common/models.py:2242 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:2246 +#: common/models.py:2247 msgid "Show recent stock changes" msgstr "" -#: common/models.py:2247 +#: common/models.py:2248 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:2252 +#: common/models.py:2253 msgid "Show low stock" msgstr "" -#: common/models.py:2253 +#: common/models.py:2254 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:2258 +#: common/models.py:2259 msgid "Show depleted stock" msgstr "" -#: common/models.py:2259 +#: common/models.py:2260 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:2264 +#: common/models.py:2265 msgid "Show needed stock" msgstr "" -#: common/models.py:2265 +#: common/models.py:2266 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:2270 +#: common/models.py:2271 msgid "Show expired stock" msgstr "" -#: common/models.py:2271 +#: common/models.py:2272 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:2276 +#: common/models.py:2277 msgid "Show stale stock" msgstr "" -#: common/models.py:2277 +#: common/models.py:2278 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:2282 +#: common/models.py:2283 msgid "Show pending builds" msgstr "" -#: common/models.py:2283 +#: common/models.py:2284 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:2288 +#: common/models.py:2289 msgid "Show overdue builds" msgstr "" -#: common/models.py:2289 +#: common/models.py:2290 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:2294 +#: common/models.py:2295 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2295 +#: common/models.py:2296 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2300 +#: common/models.py:2301 msgid "Show overdue POs" msgstr "" -#: common/models.py:2301 +#: common/models.py:2302 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2306 +#: common/models.py:2307 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2307 +#: common/models.py:2308 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2312 +#: common/models.py:2313 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2313 +#: common/models.py:2314 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2318 +#: common/models.py:2319 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2319 +#: common/models.py:2320 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2324 +#: common/models.py:2325 msgid "Show News" msgstr "" -#: common/models.py:2325 +#: common/models.py:2326 msgid "Show news on the homepage" msgstr "" -#: common/models.py:2330 +#: common/models.py:2331 msgid "Inline label display" msgstr "" -#: common/models.py:2332 +#: common/models.py:2333 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2338 +#: common/models.py:2339 msgid "Default label printer" msgstr "" -#: common/models.py:2340 +#: common/models.py:2341 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2346 +#: common/models.py:2347 msgid "Inline report display" msgstr "" -#: common/models.py:2348 +#: common/models.py:2349 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2354 +#: common/models.py:2355 msgid "Search Parts" msgstr "" -#: common/models.py:2355 +#: common/models.py:2356 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2360 +#: common/models.py:2361 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2361 +#: common/models.py:2362 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2366 +#: common/models.py:2367 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2367 +#: common/models.py:2368 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2372 +#: common/models.py:2373 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2373 +#: common/models.py:2374 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2378 +#: common/models.py:2379 msgid "Search Categories" msgstr "" -#: common/models.py:2379 +#: common/models.py:2380 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2384 +#: common/models.py:2385 msgid "Search Stock" msgstr "" -#: common/models.py:2385 +#: common/models.py:2386 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2390 +#: common/models.py:2391 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2392 +#: common/models.py:2393 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2398 +#: common/models.py:2399 msgid "Search Locations" msgstr "" -#: common/models.py:2399 +#: common/models.py:2400 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2404 +#: common/models.py:2405 msgid "Search Companies" msgstr "" -#: common/models.py:2405 +#: common/models.py:2406 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2410 +#: common/models.py:2411 msgid "Search Build Orders" msgstr "" -#: common/models.py:2411 +#: common/models.py:2412 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2416 +#: common/models.py:2417 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2417 +#: common/models.py:2418 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2422 +#: common/models.py:2423 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2424 +#: common/models.py:2425 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2430 +#: common/models.py:2431 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2431 +#: common/models.py:2432 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2436 +#: common/models.py:2437 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2438 +#: common/models.py:2439 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2444 +#: common/models.py:2445 msgid "Search Return Orders" msgstr "" -#: common/models.py:2445 +#: common/models.py:2446 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2450 +#: common/models.py:2451 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2452 +#: common/models.py:2453 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2458 +#: common/models.py:2459 msgid "Search Preview Results" msgstr "" -#: common/models.py:2460 +#: common/models.py:2461 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2466 +#: common/models.py:2467 msgid "Regex Search" msgstr "" -#: common/models.py:2467 +#: common/models.py:2468 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2472 +#: common/models.py:2473 msgid "Whole Word Search" msgstr "" -#: common/models.py:2473 +#: common/models.py:2474 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2478 +#: common/models.py:2479 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2479 +#: common/models.py:2480 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2484 +#: common/models.py:2485 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2485 +#: common/models.py:2486 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2490 +#: common/models.py:2491 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2491 +#: common/models.py:2492 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2496 +#: common/models.py:2497 msgid "Date Format" msgstr "" -#: common/models.py:2497 +#: common/models.py:2498 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2510 part/templates/part/detail.html:41 +#: common/models.py:2511 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2511 +#: common/models.py:2512 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2516 part/templates/part/detail.html:62 +#: common/models.py:2517 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2518 +#: common/models.py:2519 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2524 +#: common/models.py:2525 msgid "Table String Length" msgstr "" -#: common/models.py:2526 +#: common/models.py:2527 msgid "Maximum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2532 +#: common/models.py:2533 msgid "Receive error reports" msgstr "" -#: common/models.py:2533 +#: common/models.py:2534 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2538 +#: common/models.py:2539 msgid "Last used printing machines" msgstr "" -#: common/models.py:2539 +#: common/models.py:2540 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2559 common/models.py:2560 common/models.py:2717 -#: common/models.py:2718 common/models.py:2963 common/models.py:2964 -#: common/models.py:3287 common/models.py:3288 importer/models.py:89 -#: part/models.py:3319 part/models.py:3406 part/models.py:3480 -#: part/models.py:3508 plugin/models.py:274 plugin/models.py:275 +#: common/models.py:2560 common/models.py:2561 common/models.py:2718 +#: common/models.py:2719 common/models.py:2964 common/models.py:2965 +#: common/models.py:3288 common/models.py:3289 importer/models.py:89 +#: part/models.py:3306 part/models.py:3393 part/models.py:3467 +#: part/models.py:3495 plugin/models.py:274 plugin/models.py:275 #: report/templates/report/inventree_test_report.html:105 #: templates/js/translated/stock.js:3121 users/models.py:111 msgid "User" msgstr "" -#: common/models.py:2582 +#: common/models.py:2583 msgid "Price break quantity" msgstr "" -#: common/models.py:2589 company/serializers.py:517 order/admin.py:42 +#: common/models.py:2590 company/serializers.py:517 order/admin.py:42 #: order/models.py:1423 order/models.py:2410 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1892 #: templates/js/translated/pricing.js:621 @@ -3747,96 +3744,96 @@ msgstr "" msgid "Price" msgstr "" -#: common/models.py:2590 +#: common/models.py:2591 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2694 common/models.py:2879 +#: common/models.py:2695 common/models.py:2880 msgid "Endpoint" msgstr "" -#: common/models.py:2695 +#: common/models.py:2696 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2705 +#: common/models.py:2706 msgid "Name for this webhook" msgstr "" -#: common/models.py:2709 +#: common/models.py:2710 msgid "Is this webhook active" msgstr "" -#: common/models.py:2725 users/models.py:159 +#: common/models.py:2726 users/models.py:159 msgid "Token" msgstr "" -#: common/models.py:2726 +#: common/models.py:2727 msgid "Token for access" msgstr "" -#: common/models.py:2734 +#: common/models.py:2735 msgid "Secret" msgstr "" -#: common/models.py:2735 +#: common/models.py:2736 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2843 +#: common/models.py:2844 msgid "Message ID" msgstr "" -#: common/models.py:2844 +#: common/models.py:2845 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2852 +#: common/models.py:2853 msgid "Host" msgstr "" -#: common/models.py:2853 +#: common/models.py:2854 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2861 +#: common/models.py:2862 msgid "Header" msgstr "" -#: common/models.py:2862 +#: common/models.py:2863 msgid "Header of this message" msgstr "" -#: common/models.py:2869 +#: common/models.py:2870 msgid "Body" msgstr "" -#: common/models.py:2870 +#: common/models.py:2871 msgid "Body of this message" msgstr "" -#: common/models.py:2880 +#: common/models.py:2881 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2885 +#: common/models.py:2886 msgid "Worked on" msgstr "" -#: common/models.py:2886 +#: common/models.py:2887 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:3012 +#: common/models.py:3013 msgid "Id" msgstr "" -#: common/models.py:3014 templates/js/translated/company.js:965 +#: common/models.py:3015 templates/js/translated/company.js:965 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:3016 common/models.py:3271 company/models.py:146 +#: common/models.py:3017 common/models.py:3272 company/models.py:146 #: company/models.py:443 company/models.py:509 company/models.py:815 #: order/models.py:303 order/models.py:1378 order/models.py:1810 #: part/admin.py:55 part/models.py:1069 @@ -3853,217 +3850,217 @@ msgstr "" msgid "Link" msgstr "" -#: common/models.py:3018 templates/js/translated/news.js:60 +#: common/models.py:3019 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:3020 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:3021 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:103 msgid "Author" msgstr "" -#: common/models.py:3022 templates/js/translated/news.js:52 +#: common/models.py:3023 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:3025 +#: common/models.py:3026 msgid "Read" msgstr "" -#: common/models.py:3025 +#: common/models.py:3026 msgid "Was this news item read?" msgstr "" -#: common/models.py:3042 company/models.py:156 part/models.py:1079 +#: common/models.py:3043 company/models.py:156 part/models.py:1079 #: 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.html:35 -#: stock/templates/stock/item_base.html:133 templates/503.html:31 +#: stock/templates/stock/item_base.html:129 templates/503.html:31 #: templates/hover_image.html:7 templates/hover_image.html:9 #: templates/modals.html:6 msgid "Image" msgstr "" -#: common/models.py:3042 +#: common/models.py:3043 msgid "Image file" msgstr "" -#: common/models.py:3054 common/models.py:3255 +#: common/models.py:3055 common/models.py:3256 msgid "Target model type for this image" msgstr "" -#: common/models.py:3058 +#: common/models.py:3059 msgid "Target model ID for this image" msgstr "" -#: common/models.py:3080 +#: common/models.py:3081 msgid "Custom Unit" msgstr "" -#: common/models.py:3098 +#: common/models.py:3099 msgid "Unit symbol must be unique" msgstr "" -#: common/models.py:3113 +#: common/models.py:3114 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:3132 +#: common/models.py:3133 msgid "Unit name" msgstr "" -#: common/models.py:3139 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3140 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:3140 +#: common/models.py:3141 msgid "Optional unit symbol" msgstr "" -#: common/models.py:3146 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3147 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:3147 +#: common/models.py:3148 msgid "Unit definition" msgstr "" -#: common/models.py:3205 common/models.py:3262 stock/models.py:2552 +#: common/models.py:3206 common/models.py:3263 stock/models.py:2547 #: stock/serializers.py:244 templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:345 msgid "Attachment" msgstr "" -#: common/models.py:3217 +#: common/models.py:3218 msgid "Missing file" msgstr "" -#: common/models.py:3218 +#: common/models.py:3219 msgid "Missing external link" msgstr "" -#: common/models.py:3263 +#: common/models.py:3264 msgid "Select file to attach" msgstr "" -#: common/models.py:3278 templates/js/translated/attachment.js:120 +#: common/models.py:3279 templates/js/translated/attachment.js:120 #: templates/js/translated/attachment.js:360 msgid "Comment" msgstr "" -#: common/models.py:3279 +#: common/models.py:3280 msgid "Attachment comment" msgstr "" -#: common/models.py:3295 +#: common/models.py:3296 msgid "Upload date" msgstr "" -#: common/models.py:3296 +#: common/models.py:3297 msgid "Date the file was uploaded" msgstr "" -#: common/models.py:3300 +#: common/models.py:3301 msgid "File size" msgstr "" -#: common/models.py:3300 +#: common/models.py:3301 msgid "File size in bytes" msgstr "" -#: common/models.py:3338 common/serializers.py:588 +#: common/models.py:3339 common/serializers.py:604 msgid "Invalid model type specified for attachment" msgstr "" -#: common/models.py:3347 plugin/models.py:43 users/models.py:100 +#: common/models.py:3348 plugin/models.py:43 users/models.py:100 msgid "Key" msgstr "" -#: common/models.py:3348 +#: common/models.py:3349 msgid "Value that will be saved in the models database" msgstr "" -#: common/models.py:3351 +#: common/models.py:3352 msgid "Name of the state" msgstr "" -#: common/models.py:3355 +#: common/models.py:3356 msgid "Label" msgstr "" -#: common/models.py:3356 +#: common/models.py:3357 msgid "Label that will be displayed in the frontend" msgstr "" -#: common/models.py:3362 +#: common/models.py:3363 msgid "Color" msgstr "" -#: common/models.py:3363 +#: common/models.py:3364 msgid "Color that will be displayed in the frontend" msgstr "" -#: common/models.py:3366 +#: common/models.py:3367 msgid "Logical Key" msgstr "" -#: common/models.py:3368 +#: common/models.py:3369 msgid "State logical key that is equal to this custom state in business logic" msgstr "" -#: common/models.py:3376 +#: common/models.py:3377 msgid "Model" msgstr "" -#: common/models.py:3377 +#: common/models.py:3378 msgid "Model this state is associated with" msgstr "" -#: common/models.py:3381 +#: common/models.py:3382 msgid "Reference Status Set" msgstr "" -#: common/models.py:3382 +#: common/models.py:3383 msgid "Status set that is extended with this custom state" msgstr "" -#: common/models.py:3388 +#: common/models.py:3389 msgid "Custom State" msgstr "" -#: common/models.py:3389 +#: common/models.py:3390 msgid "Custom States" msgstr "" -#: common/models.py:3404 +#: common/models.py:3405 msgid "Model must be selected" msgstr "" -#: common/models.py:3407 +#: common/models.py:3408 msgid "Key must be selected" msgstr "" -#: common/models.py:3410 +#: common/models.py:3411 msgid "Logical key must be selected" msgstr "" -#: common/models.py:3414 +#: common/models.py:3415 msgid "Key must be different from logical key" msgstr "" -#: common/models.py:3418 +#: common/models.py:3419 msgid "Reference status must be selected" msgstr "" -#: common/models.py:3430 +#: common/models.py:3431 msgid "Reference status set not found" msgstr "" -#: common/models.py:3436 +#: common/models.py:3437 msgid "Key must be different from the logical keys of the reference status" msgstr "" -#: common/models.py:3442 +#: common/models.py:3443 msgid "Logical key must be in the logical keys of the reference status" msgstr "" @@ -4101,75 +4098,75 @@ msgstr "" msgid "Error raised by plugin" msgstr "" -#: common/serializers.py:402 +#: common/serializers.py:418 msgid "Is Running" msgstr "" -#: common/serializers.py:408 +#: common/serializers.py:424 msgid "Pending Tasks" msgstr "" -#: common/serializers.py:414 +#: common/serializers.py:430 msgid "Scheduled Tasks" msgstr "" -#: common/serializers.py:420 +#: common/serializers.py:436 msgid "Failed Tasks" msgstr "" -#: common/serializers.py:435 +#: common/serializers.py:451 msgid "Task ID" msgstr "" -#: common/serializers.py:435 +#: common/serializers.py:451 msgid "Unique task ID" msgstr "" -#: common/serializers.py:437 +#: common/serializers.py:453 msgid "Lock" msgstr "" -#: common/serializers.py:437 +#: common/serializers.py:453 msgid "Lock time" msgstr "" -#: common/serializers.py:439 +#: common/serializers.py:455 msgid "Task name" msgstr "" -#: common/serializers.py:441 +#: common/serializers.py:457 msgid "Function" msgstr "" -#: common/serializers.py:441 +#: common/serializers.py:457 msgid "Function name" msgstr "" -#: common/serializers.py:443 +#: common/serializers.py:459 msgid "Arguments" msgstr "" -#: common/serializers.py:443 +#: common/serializers.py:459 msgid "Task arguments" msgstr "" -#: common/serializers.py:446 +#: common/serializers.py:462 msgid "Keyword Arguments" msgstr "" -#: common/serializers.py:446 +#: common/serializers.py:462 msgid "Task keyword arguments" msgstr "" -#: common/serializers.py:556 +#: common/serializers.py:572 msgid "Filename" msgstr "" -#: common/serializers.py:563 report/api.py:100 report/serializers.py:53 +#: common/serializers.py:579 report/api.py:100 report/serializers.py:54 msgid "Model Type" msgstr "" -#: common/serializers.py:591 +#: common/serializers.py:607 msgid "User does not have permission to create or edit attachments for this model" msgstr "" @@ -4447,12 +4444,12 @@ msgstr "" #: company/models.py:467 company/models.py:584 company/models.py:808 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 -#: stock/templates/stock/item_base.html:217 +#: stock/templates/stock/item_base.html:213 msgid "Manufacturer Part" msgstr "" #: company/models.py:484 company/models.py:776 stock/models.py:791 -#: stock/serializers.py:452 stock/templates/stock/item_base.html:142 +#: stock/serializers.py:452 stock/templates/stock/item_base.html:138 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" @@ -4463,8 +4460,8 @@ msgstr "" #: company/models.py:495 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:567 -#: stock/templates/stock/item_base.html:207 +#: company/templates/company/supplier_part.html:145 part/serializers.py:565 +#: stock/templates/stock/item_base.html:203 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 #: templates/js/translated/company.js:1296 @@ -4479,7 +4476,7 @@ msgstr "" #: company/models.py:502 company/templates/company/manufacturer_part.html:101 #: company/templates/company/supplier_part.html:153 order/serializers.py:557 -#: part/serializers.py:577 templates/js/translated/company.js:351 +#: part/serializers.py:575 templates/js/translated/company.js:351 #: templates/js/translated/company.js:1117 #: templates/js/translated/company.js:1312 #: templates/js/translated/company.js:1630 templates/js/translated/part.js:1807 @@ -4505,7 +4502,7 @@ msgid "Parameter name" msgstr "" #: company/models.py:597 report/templates/report/inventree_test_report.html:104 -#: stock/models.py:2544 templates/js/translated/company.js:1166 +#: stock/models.py:2539 templates/js/translated/company.js:1166 #: templates/js/translated/company.js:1419 templates/js/translated/part.js:1499 #: templates/js/translated/stock.js:1607 msgid "Value" @@ -4516,7 +4513,7 @@ msgid "Parameter value" msgstr "" #: company/models.py:605 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1159 part/models.py:3783 +#: part/admin.py:57 part/models.py:1159 part/models.py:3770 #: part/templates/part/part_base.html:300 #: templates/js/translated/company.js:1425 templates/js/translated/part.js:1518 #: templates/js/translated/part.js:1622 templates/js/translated/part.js:2376 @@ -4530,7 +4527,7 @@ msgstr "" #: company/models.py:659 company/templates/company/supplier_part.html:7 #: company/templates/company/supplier_part.html:24 order/api.py:440 #: order/serializers.py:492 stock/models.py:802 -#: stock/templates/stock/item_base.html:233 +#: stock/templates/stock/item_base.html:229 #: templates/js/translated/build.js:1055 #: templates/js/translated/company.js:1600 #: templates/js/translated/purchase_order.js:752 @@ -4553,9 +4550,9 @@ msgstr "" #: company/models.py:786 company/templates/company/company_base.html:87 #: company/templates/company/supplier_part.html:129 order/models.py:492 #: order/templates/order/order_base.html:141 part/bom.py:279 part/bom.py:314 -#: part/serializers.py:551 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:549 plugin/builtin/suppliers/digikey.py:25 #: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 -#: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 +#: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:220 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:511 @@ -4570,7 +4567,7 @@ msgstr "" msgid "Select supplier" msgstr "" -#: company/models.py:793 part/serializers.py:562 +#: company/models.py:793 part/serializers.py:560 msgid "Supplier stock keeping unit" msgstr "" @@ -4591,7 +4588,7 @@ msgid "Supplier part description" msgstr "" #: company/models.py:832 company/templates/company/supplier_part.html:187 -#: order/serializers.py:699 part/admin.py:415 part/models.py:4301 +#: order/serializers.py:699 part/admin.py:415 part/models.py:4288 #: part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 @@ -4603,11 +4600,11 @@ msgstr "" msgid "Note" msgstr "" -#: company/models.py:841 part/models.py:2129 +#: company/models.py:841 part/models.py:2128 msgid "base cost" msgstr "" -#: company/models.py:842 part/models.py:2130 +#: company/models.py:842 part/models.py:2129 msgid "Minimum charge (e.g. stocking fee)" msgstr "" @@ -4629,7 +4626,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:876 part/models.py:2136 +#: company/models.py:876 part/models.py:2135 msgid "multiple" msgstr "" @@ -4661,7 +4658,7 @@ msgstr "" msgid "Company Name" msgstr "" -#: company/serializers.py:397 part/admin.py:126 part/serializers.py:919 +#: company/serializers.py:397 part/admin.py:126 part/serializers.py:917 #: part/templates/part/part_base.html:197 #: templates/js/translated/company.js:1689 #: templates/js/translated/table_filters.js:362 @@ -4735,7 +4732,7 @@ msgstr "" #: order/models.py:2140 order/templates/order/return_order_base.html:134 #: order/templates/order/sales_order_base.html:151 stock/models.py:844 #: stock/models.py:845 stock/serializers.py:1336 -#: stock/templates/stock/item_base.html:405 +#: stock/templates/stock/item_base.html:401 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:503 #: templates/js/translated/return_order.js:295 @@ -4939,7 +4936,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 -#: part/admin.py:122 part/serializers.py:925 +#: part/admin.py:122 part/serializers.py:923 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -5030,7 +5027,7 @@ msgid "No supplier information available" msgstr "" #: company/templates/company/supplier_part.html:139 order/serializers.py:554 -#: part/bom.py:286 part/bom.py:315 part/serializers.py:561 +#: part/bom.py:286 part/bom.py:315 part/serializers.py:559 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1793 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1920 @@ -5084,7 +5081,7 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:923 part/stocktake.py:223 +#: part/serializers.py:921 part/stocktake.py:223 #: part/templates/part/category.html:180 #: part/templates/part/category_sidebar.html:17 stock/admin.py:68 #: stock/serializers.py:1021 stock/serializers.py:1199 @@ -5215,7 +5212,7 @@ msgstr "" msgid "Original row data" msgstr "" -#: importer/models.py:504 part/models.py:3965 +#: importer/models.py:504 part/models.py:3952 msgid "Data" msgstr "" @@ -5473,7 +5470,7 @@ msgstr "" #: order/models.py:1592 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_purchase_order_report.html:14 -#: stock/serializers.py:121 stock/templates/stock/item_base.html:176 +#: stock/serializers.py:121 stock/templates/stock/item_base.html:172 #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/part.js:1752 templates/js/translated/pricing.js:804 #: templates/js/translated/purchase_order.js:168 @@ -5694,7 +5691,7 @@ msgid "Number of items received" msgstr "" #: order/models.py:1513 stock/models.py:963 stock/serializers.py:617 -#: stock/templates/stock/item_base.html:183 +#: stock/templates/stock/item_base.html:179 #: templates/js/translated/stock.js:2397 msgid "Purchase Price" msgstr "" @@ -5768,7 +5765,7 @@ msgid "User who checked this shipment" msgstr "" #: order/models.py:1788 order/models.py:2011 order/serializers.py:1479 -#: order/serializers.py:1589 templates/js/translated/model_renderers.js:455 +#: order/serializers.py:1597 templates/js/translated/model_renderers.js:455 msgid "Shipment" msgstr "" @@ -5982,7 +5979,7 @@ msgstr "" msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:656 order/serializers.py:779 order/serializers.py:1790 +#: order/serializers.py:656 order/serializers.py:779 order/serializers.py:1798 msgid "Select destination location for received items" msgstr "" @@ -6019,7 +6016,7 @@ msgstr "" msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:795 order/serializers.py:1806 +#: order/serializers.py:795 order/serializers.py:1814 msgid "Line items must be provided" msgstr "" @@ -6051,39 +6048,39 @@ msgstr "" msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1491 order/serializers.py:1597 +#: order/serializers.py:1491 order/serializers.py:1605 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1494 order/serializers.py:1600 +#: order/serializers.py:1494 order/serializers.py:1608 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1541 +#: order/serializers.py:1549 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1548 -msgid "The following serial numbers are already allocated" +#: order/serializers.py:1556 +msgid "The following serial numbers are unavailable" msgstr "" -#: order/serializers.py:1760 +#: order/serializers.py:1768 msgid "Return order line item" msgstr "" -#: order/serializers.py:1766 +#: order/serializers.py:1774 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1769 +#: order/serializers.py:1777 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1798 +#: order/serializers.py:1806 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1881 +#: order/serializers.py:1889 msgid "Line price currency" msgstr "" @@ -6510,7 +6507,7 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:48 part/models.py:1044 part/serializers.py:908 +#: part/admin.py:48 part/models.py:1044 part/serializers.py:906 #: part/templates/part/part_base.html:276 #: report/templates/report/inventree_stock_location_report.html:103 #: templates/js/translated/part.js:1233 templates/js/translated/part.js:2347 @@ -6537,7 +6534,7 @@ msgstr "" msgid "Category ID" msgstr "" -#: part/admin.py:67 part/admin.py:304 part/serializers.py:893 +#: part/admin.py:67 part/admin.py:304 part/serializers.py:891 #: part/stocktake.py:222 msgid "Category Name" msgstr "" @@ -6562,18 +6559,18 @@ msgstr "" msgid "Used In" msgstr "" -#: part/admin.py:150 part/serializers.py:918 +#: part/admin.py:150 part/serializers.py:916 #: part/templates/part/part_base.html:248 stock/admin.py:236 #: templates/js/translated/part.js:717 templates/js/translated/part.js:2159 msgid "Building" msgstr "" -#: part/admin.py:155 part/models.py:3214 part/models.py:3228 +#: part/admin.py:155 part/models.py:3201 part/models.py:3215 #: templates/js/translated/part.js:976 msgid "Minimum Cost" msgstr "" -#: part/admin.py:158 part/models.py:3221 part/models.py:3235 +#: part/admin.py:158 part/models.py:3208 part/models.py:3222 #: templates/js/translated/part.js:986 msgid "Maximum Cost" msgstr "" @@ -6592,7 +6589,7 @@ msgid "Category Path" msgstr "" #: part/admin.py:325 part/models.py:420 part/serializers.py:130 -#: part/serializers.py:290 part/serializers.py:428 +#: part/serializers.py:290 part/serializers.py:426 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:20 #: part/templates/part/category.html:138 part/templates/part/category.html:158 #: part/templates/part/category_sidebar.html:9 @@ -6619,13 +6616,13 @@ msgstr "" msgid "Part Revision" msgstr "" -#: part/admin.py:418 part/serializers.py:1367 +#: part/admin.py:418 part/serializers.py:1365 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:423 part/serializers.py:1382 +#: part/admin.py:423 part/serializers.py:1380 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -6719,8 +6716,8 @@ msgstr "" msgid "BOM Valid" msgstr "" -#: part/api.py:1520 part/models.py:1036 part/models.py:3501 part/models.py:4060 -#: part/serializers.py:443 part/serializers.py:1223 +#: part/api.py:1520 part/models.py:1036 part/models.py:3488 part/models.py:4047 +#: part/serializers.py:441 part/serializers.py:1221 #: part/templates/part/part_base.html:267 stock/api.py:780 #: templates/InvenTree/settings/settings_staff_js.html:300 #: templates/js/translated/notification.js:60 @@ -6746,7 +6743,7 @@ msgstr "" msgid "Default Location" msgstr "" -#: part/bom.py:184 part/serializers.py:926 +#: part/bom.py:184 part/serializers.py:924 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -6755,7 +6752,7 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:89 part/models.py:4061 part/templates/part/category.html:16 +#: part/models.py:89 part/models.py:4048 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -6878,7 +6875,7 @@ msgstr "" msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:995 part/models.py:4116 +#: part/models.py:995 part/models.py:4103 msgid "Part name" msgstr "" @@ -6906,7 +6903,7 @@ msgstr "" msgid "Part category" msgstr "" -#: part/models.py:1052 part/serializers.py:360 +#: part/models.py:1052 msgid "Part revision or version number" msgstr "" @@ -7012,164 +7009,164 @@ msgid "Owner responsible for this part" msgstr "" #: part/models.py:1264 part/templates/part/part_base.html:355 -#: stock/templates/stock/item_base.html:451 +#: stock/templates/stock/item_base.html:447 #: templates/js/translated/part.js:2490 msgid "Last Stocktake" msgstr "" -#: part/models.py:2137 +#: part/models.py:2136 msgid "Sell multiple" msgstr "" -#: part/models.py:3128 +#: part/models.py:3115 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3144 +#: part/models.py:3131 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3145 +#: part/models.py:3132 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3151 +#: part/models.py:3138 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3152 +#: part/models.py:3139 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3158 +#: part/models.py:3145 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3159 +#: part/models.py:3146 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3165 +#: part/models.py:3152 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3166 +#: part/models.py:3153 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3172 +#: part/models.py:3159 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3173 +#: part/models.py:3160 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3179 +#: part/models.py:3166 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3180 +#: part/models.py:3167 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3186 +#: part/models.py:3173 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3187 +#: part/models.py:3174 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3193 +#: part/models.py:3180 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3194 +#: part/models.py:3181 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3200 +#: part/models.py:3187 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3201 +#: part/models.py:3188 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3207 +#: part/models.py:3194 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3208 +#: part/models.py:3195 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3215 +#: part/models.py:3202 msgid "Override minimum cost" msgstr "" -#: part/models.py:3222 +#: part/models.py:3209 msgid "Override maximum cost" msgstr "" -#: part/models.py:3229 +#: part/models.py:3216 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3236 +#: part/models.py:3223 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3242 +#: part/models.py:3229 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3243 +#: part/models.py:3230 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3249 +#: part/models.py:3236 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3250 +#: part/models.py:3237 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3256 +#: part/models.py:3243 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3257 +#: part/models.py:3244 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3263 +#: part/models.py:3250 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3264 +#: part/models.py:3251 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3283 +#: part/models.py:3270 msgid "Part for stocktake" msgstr "" -#: part/models.py:3288 +#: part/models.py:3275 msgid "Item Count" msgstr "" -#: part/models.py:3289 +#: part/models.py:3276 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3297 +#: part/models.py:3284 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3301 part/models.py:3384 +#: part/models.py:3288 part/models.py:3371 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -7181,363 +7178,363 @@ msgstr "" msgid "Date" msgstr "" -#: part/models.py:3302 +#: part/models.py:3289 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3310 +#: part/models.py:3297 msgid "Additional notes" msgstr "" -#: part/models.py:3320 +#: part/models.py:3307 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3326 +#: part/models.py:3313 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3327 +#: part/models.py:3314 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3333 +#: part/models.py:3320 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3334 +#: part/models.py:3321 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3390 templates/InvenTree/settings/settings_staff_js.html:532 +#: part/models.py:3377 templates/InvenTree/settings/settings_staff_js.html:532 msgid "Report" msgstr "" -#: part/models.py:3391 +#: part/models.py:3378 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3396 templates/InvenTree/settings/settings_staff_js.html:539 +#: part/models.py:3383 templates/InvenTree/settings/settings_staff_js.html:539 msgid "Part Count" msgstr "" -#: part/models.py:3397 +#: part/models.py:3384 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3407 +#: part/models.py:3394 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3417 +#: part/models.py:3404 msgid "Part Sale Price Break" msgstr "" -#: part/models.py:3529 +#: part/models.py:3516 msgid "Part Test Template" msgstr "" -#: part/models.py:3555 +#: part/models.py:3542 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3576 part/models.py:3745 +#: part/models.py:3563 part/models.py:3732 msgid "Choices must be unique" msgstr "" -#: part/models.py:3587 +#: part/models.py:3574 msgid "Test templates can only be created for testable parts" msgstr "" -#: part/models.py:3598 +#: part/models.py:3585 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3615 templates/js/translated/part.js:2898 +#: part/models.py:3602 templates/js/translated/part.js:2898 msgid "Test Name" msgstr "" -#: part/models.py:3616 +#: part/models.py:3603 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3622 +#: part/models.py:3609 msgid "Test Key" msgstr "" -#: part/models.py:3623 +#: part/models.py:3610 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3630 +#: part/models.py:3617 msgid "Test Description" msgstr "" -#: part/models.py:3631 +#: part/models.py:3618 msgid "Enter description for this test" msgstr "" -#: part/models.py:3635 report/models.py:208 +#: part/models.py:3622 report/models.py:216 #: templates/js/translated/part.js:2919 #: templates/js/translated/table_filters.js:502 msgid "Enabled" msgstr "" -#: part/models.py:3635 +#: part/models.py:3622 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3640 templates/js/translated/part.js:2927 +#: part/models.py:3627 templates/js/translated/part.js:2927 #: templates/js/translated/table_filters.js:498 msgid "Required" msgstr "" -#: part/models.py:3641 +#: part/models.py:3628 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3646 templates/js/translated/part.js:2935 +#: part/models.py:3633 templates/js/translated/part.js:2935 msgid "Requires Value" msgstr "" -#: part/models.py:3647 +#: part/models.py:3634 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3652 templates/js/translated/part.js:2942 +#: part/models.py:3639 templates/js/translated/part.js:2942 msgid "Requires Attachment" msgstr "" -#: part/models.py:3654 +#: part/models.py:3641 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3660 part/models.py:3804 templates/js/translated/part.js:1643 +#: part/models.py:3647 part/models.py:3791 templates/js/translated/part.js:1643 msgid "Choices" msgstr "" -#: part/models.py:3661 +#: part/models.py:3648 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3693 +#: part/models.py:3680 msgid "Part Parameter Template" msgstr "" -#: part/models.py:3720 +#: part/models.py:3707 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3725 +#: part/models.py:3712 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3762 +#: part/models.py:3749 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3777 +#: part/models.py:3764 msgid "Parameter Name" msgstr "" -#: part/models.py:3784 +#: part/models.py:3771 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3792 +#: part/models.py:3779 msgid "Parameter description" msgstr "" -#: part/models.py:3798 templates/js/translated/part.js:1634 +#: part/models.py:3785 templates/js/translated/part.js:1634 #: templates/js/translated/table_filters.js:837 msgid "Checkbox" msgstr "" -#: part/models.py:3799 +#: part/models.py:3786 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3805 +#: part/models.py:3792 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3839 +#: part/models.py:3826 msgid "Part Parameter" msgstr "" -#: part/models.py:3865 +#: part/models.py:3852 msgid "Parameter cannot be modified - part is locked" msgstr "" -#: part/models.py:3903 +#: part/models.py:3890 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3952 +#: part/models.py:3939 msgid "Parent Part" msgstr "" -#: part/models.py:3960 part/models.py:4068 part/models.py:4069 +#: part/models.py:3947 part/models.py:4055 part/models.py:4056 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3966 +#: part/models.py:3953 msgid "Parameter Value" msgstr "" -#: part/models.py:4016 +#: part/models.py:4003 msgid "Part Category Parameter Template" msgstr "" -#: part/models.py:4075 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:4062 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:4076 +#: part/models.py:4063 msgid "Default Parameter Value" msgstr "" -#: part/models.py:4114 +#: part/models.py:4101 msgid "Part ID or part name" msgstr "" -#: part/models.py:4115 +#: part/models.py:4102 msgid "Unique part ID value" msgstr "" -#: part/models.py:4117 +#: part/models.py:4104 msgid "Part IPN value" msgstr "" -#: part/models.py:4118 +#: part/models.py:4105 msgid "Level" msgstr "" -#: part/models.py:4118 +#: part/models.py:4105 msgid "BOM level" msgstr "" -#: part/models.py:4228 +#: part/models.py:4215 msgid "BOM item cannot be modified - assembly is locked" msgstr "" -#: part/models.py:4235 +#: part/models.py:4222 msgid "BOM item cannot be modified - variant assembly is locked" msgstr "" -#: part/models.py:4245 +#: part/models.py:4232 msgid "Select parent part" msgstr "" -#: part/models.py:4255 +#: part/models.py:4242 msgid "Sub part" msgstr "" -#: part/models.py:4256 +#: part/models.py:4243 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4267 +#: part/models.py:4254 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4273 +#: part/models.py:4260 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4279 +#: part/models.py:4266 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4286 part/templates/part/upload_bom.html:55 +#: part/models.py:4273 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4287 +#: part/models.py:4274 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4294 +#: part/models.py:4281 msgid "BOM item reference" msgstr "" -#: part/models.py:4302 +#: part/models.py:4289 msgid "BOM item notes" msgstr "" -#: part/models.py:4308 +#: part/models.py:4295 msgid "Checksum" msgstr "" -#: part/models.py:4309 +#: part/models.py:4296 msgid "BOM line checksum" msgstr "" -#: part/models.py:4314 templates/js/translated/table_filters.js:181 +#: part/models.py:4301 templates/js/translated/table_filters.js:181 msgid "Validated" msgstr "" -#: part/models.py:4315 +#: part/models.py:4302 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4320 part/templates/part/upload_bom.html:57 +#: part/models.py:4307 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:185 #: templates/js/translated/table_filters.js:218 msgid "Gets inherited" msgstr "" -#: part/models.py:4321 +#: part/models.py:4308 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4327 +#: part/models.py:4314 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4412 stock/models.py:689 +#: part/models.py:4399 stock/models.py:689 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4422 part/models.py:4424 +#: part/models.py:4409 part/models.py:4411 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4561 +#: part/models.py:4554 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4582 +#: part/models.py:4575 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4595 +#: part/models.py:4588 msgid "Parent BOM item" msgstr "" -#: part/models.py:4603 +#: part/models.py:4596 msgid "Substitute part" msgstr "" -#: part/models.py:4619 +#: part/models.py:4612 msgid "Part 1" msgstr "" -#: part/models.py:4627 +#: part/models.py:4620 msgid "Part 2" msgstr "" -#: part/models.py:4628 +#: part/models.py:4621 msgid "Select Related Part" msgstr "" -#: part/models.py:4647 +#: part/models.py:4640 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4652 +#: part/models.py:4645 msgid "Duplicate relationship already exists" msgstr "" @@ -7571,326 +7568,326 @@ msgstr "" msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:434 +#: part/serializers.py:432 msgid "No parts selected" msgstr "" -#: part/serializers.py:444 +#: part/serializers.py:442 msgid "Select category" msgstr "" -#: part/serializers.py:479 +#: part/serializers.py:477 msgid "Original Part" msgstr "" -#: part/serializers.py:480 +#: part/serializers.py:478 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:485 +#: part/serializers.py:483 msgid "Copy Image" msgstr "" -#: part/serializers.py:486 +#: part/serializers.py:484 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:492 part/templates/part/detail.html:293 +#: part/serializers.py:490 part/templates/part/detail.html:293 msgid "Copy BOM" msgstr "" -#: part/serializers.py:493 +#: part/serializers.py:491 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:499 +#: part/serializers.py:497 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:500 +#: part/serializers.py:498 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:506 +#: part/serializers.py:504 msgid "Copy Notes" msgstr "" -#: part/serializers.py:507 +#: part/serializers.py:505 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:525 +#: part/serializers.py:523 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:527 +#: part/serializers.py:525 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:534 +#: part/serializers.py:532 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:535 +#: part/serializers.py:533 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:552 +#: part/serializers.py:550 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:568 +#: part/serializers.py:566 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:578 +#: part/serializers.py:576 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:585 +#: part/serializers.py:583 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:594 +#: part/serializers.py:592 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:605 +#: part/serializers.py:603 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:612 +#: part/serializers.py:610 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:924 +#: part/serializers.py:922 msgid "Revisions" msgstr "" -#: part/serializers.py:929 +#: part/serializers.py:927 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:932 +#: part/serializers.py:930 msgid "Variant Stock" msgstr "" -#: part/serializers.py:962 part/templates/part/copy_part.html:9 +#: part/serializers.py:960 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:474 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:963 +#: part/serializers.py:961 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:969 templates/js/translated/part.js:103 +#: part/serializers.py:967 templates/js/translated/part.js:103 msgid "Initial Stock" msgstr "" -#: part/serializers.py:970 +#: part/serializers.py:968 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:976 +#: part/serializers.py:974 msgid "Supplier Information" msgstr "" -#: part/serializers.py:977 +#: part/serializers.py:975 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:985 +#: part/serializers.py:983 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:986 +#: part/serializers.py:984 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:991 +#: part/serializers.py:989 msgid "Existing Image" msgstr "" -#: part/serializers.py:992 +#: part/serializers.py:990 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:1009 +#: part/serializers.py:1007 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1215 +#: part/serializers.py:1213 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1225 +#: part/serializers.py:1223 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1235 +#: part/serializers.py:1233 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1241 +#: part/serializers.py:1239 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1242 +#: part/serializers.py:1240 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1247 +#: part/serializers.py:1245 msgid "Generate Report" msgstr "" -#: part/serializers.py:1248 +#: part/serializers.py:1246 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1253 +#: part/serializers.py:1251 msgid "Update Parts" msgstr "" -#: part/serializers.py:1254 +#: part/serializers.py:1252 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1262 +#: part/serializers.py:1260 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1368 +#: part/serializers.py:1366 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1375 +#: part/serializers.py:1373 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1383 +#: part/serializers.py:1381 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1390 +#: part/serializers.py:1388 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1419 +#: part/serializers.py:1417 msgid "Update" msgstr "" -#: part/serializers.py:1420 +#: part/serializers.py:1418 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1443 +#: part/serializers.py:1441 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1450 +#: part/serializers.py:1448 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1453 +#: part/serializers.py:1451 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1597 +#: part/serializers.py:1595 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1606 +#: part/serializers.py:1604 msgid "Component Name" msgstr "" -#: part/serializers.py:1609 +#: part/serializers.py:1607 msgid "Component IPN" msgstr "" -#: part/serializers.py:1612 +#: part/serializers.py:1610 msgid "Component Description" msgstr "" -#: part/serializers.py:1618 +#: part/serializers.py:1616 msgid "Select the component part" msgstr "" -#: part/serializers.py:1627 part/templates/part/part_base.html:242 +#: part/serializers.py:1625 part/templates/part/part_base.html:242 #: templates/js/translated/bom.js:1219 msgid "Can Build" msgstr "" -#: part/serializers.py:1858 +#: part/serializers.py:1856 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1866 +#: part/serializers.py:1864 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1867 +#: part/serializers.py:1865 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1872 +#: part/serializers.py:1870 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1873 +#: part/serializers.py:1871 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1878 +#: part/serializers.py:1876 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1879 +#: part/serializers.py:1877 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1884 +#: part/serializers.py:1882 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1885 +#: part/serializers.py:1883 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1922 +#: part/serializers.py:1920 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1923 +#: part/serializers.py:1921 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1955 +#: part/serializers.py:1953 msgid "No part column specified" msgstr "" -#: part/serializers.py:1999 +#: part/serializers.py:1997 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:2002 +#: part/serializers.py:2000 msgid "No matching part found" msgstr "" -#: part/serializers.py:2004 +#: part/serializers.py:2002 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:2013 +#: part/serializers.py:2011 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:2021 +#: part/serializers.py:2019 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:2044 +#: part/serializers.py:2042 msgid "At least one BOM item is required" msgstr "" @@ -8216,7 +8213,7 @@ msgid "Subscribe to notifications for this part" msgstr "" #: part/templates/part/part_base.html:52 -#: stock/templates/stock/item_base.html:62 +#: stock/templates/stock/item_base.html:61 #: stock/templates/stock/location.html:71 templates/js/translated/label.js:136 msgid "Print Label" msgstr "" @@ -8226,7 +8223,7 @@ msgid "Show pricing information" msgstr "" #: part/templates/part/part_base.html:63 -#: stock/templates/stock/item_base.html:110 +#: stock/templates/stock/item_base.html:106 #: stock/templates/stock/location.html:80 msgid "Stock actions" msgstr "" @@ -8297,12 +8294,12 @@ msgid "Required for Orders" msgstr "" #: part/templates/part/part_base.html:225 -#: stock/templates/stock/item_base.html:388 +#: stock/templates/stock/item_base.html:384 msgid "Allocated to Build Orders" msgstr "" #: part/templates/part/part_base.html:234 -#: stock/templates/stock/item_base.html:381 +#: stock/templates/stock/item_base.html:377 msgid "Allocated to Sales Orders" msgstr "" @@ -8322,7 +8319,7 @@ msgid "Latest Serial Number" msgstr "" #: part/templates/part/part_base.html:372 -#: stock/templates/stock/item_base.html:322 +#: stock/templates/stock/item_base.html:318 msgid "Search for serial number" msgstr "" @@ -8449,7 +8446,7 @@ msgid "Edit" msgstr "" #: part/templates/part/prices.html:28 stock/admin.py:252 -#: stock/templates/stock/item_base.html:446 +#: stock/templates/stock/item_base.html:442 #: templates/js/translated/company.js:1703 #: templates/js/translated/company.js:1713 #: templates/js/translated/stock.js:2332 @@ -8604,7 +8601,7 @@ msgstr "" msgid "Part Pricing" msgstr "" -#: plugin/api.py:172 +#: plugin/api.py:174 msgid "Plugin cannot be deleted as it is currently active" msgstr "" @@ -8940,7 +8937,7 @@ msgstr "" msgid "Print a border around each label" msgstr "" -#: plugin/builtin/labels/label_sheet.py:47 report/models.py:307 +#: plugin/builtin/labels/label_sheet.py:47 report/models.py:315 msgid "Landscape" msgstr "" @@ -9012,44 +9009,44 @@ msgstr "" msgid "The Supplier which acts as 'TME'" msgstr "" -#: plugin/installer.py:194 plugin/installer.py:274 +#: plugin/installer.py:199 plugin/installer.py:282 msgid "Only staff users can administer plugins" msgstr "" -#: plugin/installer.py:197 +#: plugin/installer.py:202 msgid "Plugin installation is disabled" msgstr "" -#: plugin/installer.py:241 +#: plugin/installer.py:246 msgid "Installed plugin successfully" msgstr "" -#: plugin/installer.py:246 +#: plugin/installer.py:251 #, python-brace-format msgid "Installed plugin into {path}" msgstr "" -#: plugin/installer.py:265 +#: plugin/installer.py:273 msgid "Plugin was not found in registry" msgstr "" -#: plugin/installer.py:268 +#: plugin/installer.py:276 msgid "Plugin is not a packaged plugin" msgstr "" -#: plugin/installer.py:271 +#: plugin/installer.py:279 msgid "Plugin package name not found" msgstr "" -#: plugin/installer.py:291 +#: plugin/installer.py:299 msgid "Plugin uninstalling is disabled" msgstr "" -#: plugin/installer.py:295 +#: plugin/installer.py:303 msgid "Plugin cannot be uninstalled as it is currently active" msgstr "" -#: plugin/installer.py:308 +#: plugin/installer.py:316 msgid "Uninstalled plugin successfully" msgstr "" @@ -9098,7 +9095,7 @@ msgstr "" msgid "Package Plugin" msgstr "" -#: plugin/models.py:220 report/models.py:474 +#: plugin/models.py:220 report/models.py:482 #: templates/InvenTree/settings/plugin_settings.html:9 #: templates/js/translated/plugin.js:51 msgid "Plugin" @@ -9167,6 +9164,38 @@ msgstr "" msgid "InvenTree Contributors" msgstr "" +#: plugin/samples/integration/user_interface_sample.py:22 +msgid "Enable Part Panels" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:23 +msgid "Enable custom panels for Part views" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:28 +msgid "Enable Purchase Order Panels" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:29 +msgid "Enable custom panels for Purchase Order views" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:34 +msgid "Enable Broken Panels" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:35 +msgid "Enable broken panels for testing" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:40 +msgid "Enable Dynamic Panel" +msgstr "" + +#: plugin/samples/integration/user_interface_sample.py:41 +msgid "Enable dynamic panels for testing" +msgstr "" + #: plugin/serializers.py:81 msgid "Source URL" msgstr "" @@ -9245,12 +9274,36 @@ msgstr "" msgid "Delete the plugin configuration from the database" msgstr "" +#: plugin/serializers.py:324 +msgid "Plugin Key" +msgstr "" + +#: plugin/serializers.py:328 +msgid "Panel Name" +msgstr "" + +#: plugin/serializers.py:332 +msgid "Panel Title" +msgstr "" + +#: plugin/serializers.py:337 +msgid "Panel Icon" +msgstr "" + +#: plugin/serializers.py:341 +msgid "Panel Content (HTML)" +msgstr "" + +#: plugin/serializers.py:345 +msgid "Panel Source (javascript)" +msgstr "" + #: report/api.py:88 msgid "No valid objects provided to template" msgstr "" -#: report/api.py:103 report/models.py:438 report/serializers.py:98 -#: report/serializers.py:148 templates/js/translated/purchase_order.js:1817 +#: report/api.py:103 report/models.py:446 report/serializers.py:99 +#: report/serializers.py:149 templates/js/translated/purchase_order.js:1817 #: templates/js/translated/return_order.js:353 #: templates/js/translated/sales_order.js:887 #: templates/js/translated/sales_order.js:1047 @@ -9281,7 +9334,11 @@ msgstr "" msgid "Error printing label" msgstr "" -#: report/api.py:375 report/api.py:411 +#: report/api.py:358 +msgid "Report saved at time of printing" +msgstr "" + +#: report/api.py:384 report/api.py:420 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" @@ -9318,135 +9375,143 @@ msgstr "" msgid "Revision number (auto-increments)" msgstr "" -#: report/models.py:202 +#: report/models.py:168 +msgid "Attach to Model on Print" +msgstr "" + +#: report/models.py:170 +msgid "Save report output as an attachment against linked model instance when printing" +msgstr "" + +#: report/models.py:210 msgid "Filename Pattern" msgstr "" -#: report/models.py:203 +#: report/models.py:211 msgid "Pattern for generating filenames" msgstr "" -#: report/models.py:208 +#: report/models.py:216 msgid "Template is enabled" msgstr "" -#: report/models.py:214 +#: report/models.py:222 msgid "Target model type for template" msgstr "" -#: report/models.py:234 +#: report/models.py:242 msgid "Filters" msgstr "" -#: report/models.py:235 +#: report/models.py:243 msgid "Template query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:294 report/models.py:361 +#: report/models.py:302 report/models.py:369 msgid "Template file" msgstr "" -#: report/models.py:302 +#: report/models.py:310 msgid "Page size for PDF reports" msgstr "" -#: report/models.py:308 +#: report/models.py:316 msgid "Render report in landscape orientation" msgstr "" -#: report/models.py:367 +#: report/models.py:375 msgid "Width [mm]" msgstr "" -#: report/models.py:368 +#: report/models.py:376 msgid "Label width, specified in mm" msgstr "" -#: report/models.py:374 +#: report/models.py:382 msgid "Height [mm]" msgstr "" -#: report/models.py:375 +#: report/models.py:383 msgid "Label height, specified in mm" msgstr "" -#: report/models.py:438 +#: report/models.py:446 msgid "Number of items to process" msgstr "" -#: report/models.py:444 +#: report/models.py:452 msgid "Report generation is complete" msgstr "" -#: report/models.py:448 templates/js/translated/build.js:2352 +#: report/models.py:456 templates/js/translated/build.js:2352 msgid "Progress" msgstr "" -#: report/models.py:448 +#: report/models.py:456 msgid "Report generation progress" msgstr "" -#: report/models.py:456 +#: report/models.py:464 msgid "Report Template" msgstr "" -#: report/models.py:463 report/models.py:486 +#: report/models.py:471 report/models.py:494 msgid "Output File" msgstr "" -#: report/models.py:464 report/models.py:487 +#: report/models.py:472 report/models.py:495 msgid "Generated output file" msgstr "" -#: report/models.py:475 +#: report/models.py:483 msgid "Label output plugin" msgstr "" -#: report/models.py:479 +#: report/models.py:487 msgid "Label Template" msgstr "" -#: report/models.py:502 +#: report/models.py:510 msgid "Snippet" msgstr "" -#: report/models.py:503 +#: report/models.py:511 msgid "Report snippet file" msgstr "" -#: report/models.py:510 +#: report/models.py:518 msgid "Snippet file description" msgstr "" -#: report/models.py:528 +#: report/models.py:536 msgid "Asset" msgstr "" -#: report/models.py:529 +#: report/models.py:537 msgid "Report asset file" msgstr "" -#: report/models.py:536 +#: report/models.py:544 msgid "Asset file description" msgstr "" -#: report/serializers.py:91 +#: report/serializers.py:92 msgid "Select report template" msgstr "" -#: report/serializers.py:99 report/serializers.py:149 +#: report/serializers.py:100 report/serializers.py:150 msgid "List of item primary keys to include in the report" msgstr "" -#: report/serializers.py:132 +#: report/serializers.py:133 msgid "Select label template" msgstr "" -#: report/serializers.py:140 +#: report/serializers.py:141 msgid "Printing Plugin" msgstr "" -#: report/serializers.py:141 +#: report/serializers.py:142 msgid "Select plugin to use for label printing" msgstr "" @@ -9517,7 +9582,7 @@ msgstr "" msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report.html:103 stock/models.py:2538 +#: report/templates/report/inventree_test_report.html:103 stock/models.py:2533 msgid "Result" msgstr "" @@ -9598,7 +9663,7 @@ msgid "Customer ID" msgstr "" #: stock/admin.py:206 stock/models.py:829 -#: stock/templates/stock/item_base.html:354 +#: stock/templates/stock/item_base.html:350 msgid "Installed In" msgstr "" @@ -9623,7 +9688,7 @@ msgid "Delete on Deplete" msgstr "" #: stock/admin.py:261 stock/models.py:923 -#: stock/templates/stock/item_base.html:433 +#: stock/templates/stock/item_base.html:429 #: templates/js/translated/stock.js:2316 users/models.py:124 msgid "Expiry Date" msgstr "" @@ -9665,7 +9730,7 @@ msgid "Expiry date after" msgstr "" #: stock/api.py:839 stock/serializers.py:611 -#: stock/templates/stock/item_base.html:439 +#: stock/templates/stock/item_base.html:435 #: templates/js/translated/table_filters.js:448 msgid "Stale" msgstr "" @@ -9715,7 +9780,7 @@ msgid "Stock Locations" msgstr "" #: stock/models.py:185 stock/models.py:972 -#: stock/templates/stock/item_base.html:247 +#: stock/templates/stock/item_base.html:243 msgid "Owner" msgstr "" @@ -9826,7 +9891,7 @@ msgstr "" msgid "Build for this stock item" msgstr "" -#: stock/models.py:892 stock/templates/stock/item_base.html:363 +#: stock/models.py:892 stock/templates/stock/item_base.html:359 msgid "Consumed By" msgstr "" @@ -9891,7 +9956,7 @@ msgstr "" msgid "Serial numbers already exist" msgstr "" -#: stock/models.py:1636 +#: stock/models.py:1636 stock/models.py:2436 msgid "Test template does not exist" msgstr "" @@ -9939,67 +10004,67 @@ msgstr "" msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2337 +#: stock/models.py:2335 msgid "Stock Item Tracking" msgstr "" -#: stock/models.py:2370 +#: stock/models.py:2368 msgid "Entry notes" msgstr "" -#: stock/models.py:2410 +#: stock/models.py:2408 msgid "Stock Item Test Result" msgstr "" -#: stock/models.py:2443 +#: stock/models.py:2439 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2448 +#: stock/models.py:2443 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2453 +#: stock/models.py:2448 msgid "Invalid value for this test" msgstr "" -#: stock/models.py:2538 +#: stock/models.py:2533 msgid "Test result" msgstr "" -#: stock/models.py:2545 +#: stock/models.py:2540 msgid "Test output value" msgstr "" -#: stock/models.py:2553 stock/serializers.py:245 +#: stock/models.py:2548 stock/serializers.py:245 msgid "Test result attachment" msgstr "" -#: stock/models.py:2557 +#: stock/models.py:2552 msgid "Test notes" msgstr "" -#: stock/models.py:2565 templates/js/translated/stock.js:1633 +#: stock/models.py:2560 templates/js/translated/stock.js:1633 msgid "Test station" msgstr "" -#: stock/models.py:2566 +#: stock/models.py:2561 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2572 +#: stock/models.py:2567 msgid "Started" msgstr "" -#: stock/models.py:2573 +#: stock/models.py:2568 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2579 +#: stock/models.py:2574 msgid "Finished" msgstr "" -#: stock/models.py:2580 +#: stock/models.py:2575 msgid "The timestamp of the test finish" msgstr "" @@ -10059,7 +10124,7 @@ msgstr "" msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:459 stock/templates/stock/item_base.html:193 +#: stock/serializers.py:459 stock/templates/stock/item_base.html:189 msgid "Parent Item" msgstr "" @@ -10071,7 +10136,7 @@ msgstr "" msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:603 stock/templates/stock/item_base.html:437 +#: stock/serializers.py:603 stock/templates/stock/item_base.html:433 #: templates/js/translated/table_filters.js:442 users/models.py:174 msgid "Expired" msgstr "" @@ -10410,7 +10475,7 @@ msgstr "" msgid "Test Data" msgstr "" -#: stock/templates/stock/item.html:85 stock/templates/stock/item_base.html:65 +#: stock/templates/stock/item.html:85 msgid "Test Report" msgstr "" @@ -10450,200 +10515,204 @@ msgstr "" msgid "Scan to Location" msgstr "" -#: stock/templates/stock/item_base.html:59 +#: stock/templates/stock/item_base.html:58 #: stock/templates/stock/location.html:67 #: templates/js/translated/filters.js:434 msgid "Printing actions" msgstr "" -#: stock/templates/stock/item_base.html:75 +#: stock/templates/stock/item_base.html:63 templates/js/translated/report.js:49 +msgid "Print Report" +msgstr "" + +#: stock/templates/stock/item_base.html:71 msgid "Stock adjustment actions" msgstr "" -#: stock/templates/stock/item_base.html:79 +#: stock/templates/stock/item_base.html:75 #: stock/templates/stock/location.html:87 templates/js/translated/stock.js:1909 msgid "Count stock" msgstr "" -#: stock/templates/stock/item_base.html:81 +#: stock/templates/stock/item_base.html:77 #: templates/js/translated/stock.js:1891 msgid "Add stock" msgstr "" -#: stock/templates/stock/item_base.html:82 +#: stock/templates/stock/item_base.html:78 #: templates/js/translated/stock.js:1900 msgid "Remove stock" msgstr "" -#: stock/templates/stock/item_base.html:85 +#: stock/templates/stock/item_base.html:81 msgid "Serialize stock" msgstr "" -#: stock/templates/stock/item_base.html:88 +#: stock/templates/stock/item_base.html:84 #: stock/templates/stock/location.html:93 templates/js/translated/stock.js:1918 msgid "Transfer stock" msgstr "" -#: stock/templates/stock/item_base.html:91 +#: stock/templates/stock/item_base.html:87 #: templates/js/translated/stock.js:1973 msgid "Assign to customer" msgstr "" -#: stock/templates/stock/item_base.html:94 +#: stock/templates/stock/item_base.html:90 msgid "Return to stock" msgstr "" -#: stock/templates/stock/item_base.html:97 +#: stock/templates/stock/item_base.html:93 msgid "Uninstall stock item" msgstr "" -#: stock/templates/stock/item_base.html:97 +#: stock/templates/stock/item_base.html:93 msgid "Uninstall" msgstr "" -#: stock/templates/stock/item_base.html:101 +#: stock/templates/stock/item_base.html:97 msgid "Install stock item" msgstr "" -#: stock/templates/stock/item_base.html:101 +#: stock/templates/stock/item_base.html:97 msgid "Install" msgstr "" -#: stock/templates/stock/item_base.html:115 +#: stock/templates/stock/item_base.html:111 msgid "Convert to variant" msgstr "" -#: stock/templates/stock/item_base.html:118 +#: stock/templates/stock/item_base.html:114 msgid "Duplicate stock item" msgstr "" -#: stock/templates/stock/item_base.html:120 +#: stock/templates/stock/item_base.html:116 msgid "Edit stock item" msgstr "" -#: stock/templates/stock/item_base.html:123 +#: stock/templates/stock/item_base.html:119 msgid "Delete stock item" msgstr "" -#: stock/templates/stock/item_base.html:169 templates/InvenTree/search.html:139 +#: stock/templates/stock/item_base.html:165 templates/InvenTree/search.html:139 #: templates/js/translated/build.js:2298 templates/navbar.html:38 msgid "Build" msgstr "" -#: stock/templates/stock/item_base.html:211 +#: stock/templates/stock/item_base.html:207 msgid "No manufacturer set" msgstr "" -#: stock/templates/stock/item_base.html:251 +#: stock/templates/stock/item_base.html:247 msgid "You are not in the list of owners of this item. This stock item cannot be edited." msgstr "" -#: stock/templates/stock/item_base.html:252 +#: stock/templates/stock/item_base.html:248 #: stock/templates/stock/location.html:146 msgid "Read only" msgstr "" -#: stock/templates/stock/item_base.html:265 +#: stock/templates/stock/item_base.html:261 msgid "This stock item is unavailable" msgstr "" -#: stock/templates/stock/item_base.html:271 +#: stock/templates/stock/item_base.html:267 msgid "This stock item is in production and cannot be edited." msgstr "" -#: stock/templates/stock/item_base.html:272 +#: stock/templates/stock/item_base.html:268 msgid "Edit the stock item from the build view." msgstr "" -#: stock/templates/stock/item_base.html:287 +#: stock/templates/stock/item_base.html:283 msgid "This stock item is allocated to Sales Order" msgstr "" -#: stock/templates/stock/item_base.html:295 +#: stock/templates/stock/item_base.html:291 msgid "This stock item is allocated to Build Order" msgstr "" -#: stock/templates/stock/item_base.html:311 +#: stock/templates/stock/item_base.html:307 msgid "This stock item is serialized. It has a unique serial number and the quantity cannot be adjusted" msgstr "" -#: stock/templates/stock/item_base.html:317 +#: stock/templates/stock/item_base.html:313 msgid "previous page" msgstr "" -#: stock/templates/stock/item_base.html:317 +#: stock/templates/stock/item_base.html:313 msgid "Navigate to previous serial number" msgstr "" -#: stock/templates/stock/item_base.html:326 +#: stock/templates/stock/item_base.html:322 msgid "next page" msgstr "" -#: stock/templates/stock/item_base.html:326 +#: stock/templates/stock/item_base.html:322 msgid "Navigate to next serial number" msgstr "" -#: stock/templates/stock/item_base.html:398 +#: stock/templates/stock/item_base.html:394 #: templates/js/translated/build.js:2555 msgid "No location set" msgstr "" -#: stock/templates/stock/item_base.html:413 +#: stock/templates/stock/item_base.html:409 msgid "Tests" msgstr "" -#: stock/templates/stock/item_base.html:419 +#: stock/templates/stock/item_base.html:415 msgid "This stock item has not passed all required tests" msgstr "" -#: stock/templates/stock/item_base.html:437 +#: stock/templates/stock/item_base.html:433 #, python-format msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:439 +#: stock/templates/stock/item_base.html:435 #, python-format msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:455 +#: stock/templates/stock/item_base.html:451 msgid "No stocktake performed" msgstr "" -#: stock/templates/stock/item_base.html:504 +#: stock/templates/stock/item_base.html:500 #: templates/js/translated/stock.js:2038 msgid "stock item" msgstr "" -#: stock/templates/stock/item_base.html:527 +#: stock/templates/stock/item_base.html:523 msgid "Edit Stock Status" msgstr "" -#: stock/templates/stock/item_base.html:536 +#: stock/templates/stock/item_base.html:532 msgid "Stock Item QR Code" msgstr "" -#: stock/templates/stock/item_base.html:547 +#: stock/templates/stock/item_base.html:543 msgid "Link Barcode to Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:611 +#: stock/templates/stock/item_base.html:607 msgid "Select one of the part variants listed below." msgstr "" -#: stock/templates/stock/item_base.html:614 +#: stock/templates/stock/item_base.html:610 msgid "Warning" msgstr "" -#: stock/templates/stock/item_base.html:615 +#: stock/templates/stock/item_base.html:611 msgid "This action cannot be easily undone" msgstr "" -#: stock/templates/stock/item_base.html:623 +#: stock/templates/stock/item_base.html:619 msgid "Convert Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:656 +#: stock/templates/stock/item_base.html:652 msgid "Return to Stock" msgstr "" @@ -11310,7 +11379,7 @@ msgid "Delete Location Type" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:503 -#: templates/InvenTree/settings/stock.html:38 +#: templates/InvenTree/settings/stock.html:39 msgid "New Location Type" msgstr "" @@ -11367,7 +11436,7 @@ msgstr "" msgid "Stock Settings" msgstr "" -#: templates/InvenTree/settings/stock.html:34 +#: templates/InvenTree/settings/stock.html:35 msgid "Stock Location Types" msgstr "" @@ -11852,23 +11921,23 @@ msgstr "" msgid "Barcode Identifier" msgstr "" -#: templates/base.html:103 +#: templates/base.html:102 msgid "Server Restart Required" msgstr "" -#: templates/base.html:106 +#: templates/base.html:105 msgid "A configuration option has been changed which requires a server restart" msgstr "" -#: templates/base.html:106 templates/base.html:116 +#: templates/base.html:105 templates/base.html:115 msgid "Contact your system administrator for further information" msgstr "" -#: templates/base.html:113 +#: templates/base.html:112 msgid "Pending Database Migrations" msgstr "" -#: templates/base.html:116 +#: templates/base.html:115 msgid "There are pending database migrations which require attention" msgstr "" @@ -13946,10 +14015,6 @@ msgstr "" msgid "Delete line item" msgstr "" -#: templates/js/translated/report.js:49 -msgid "Print Report" -msgstr "" - #: templates/js/translated/report.js:68 msgid "Report print successful" msgstr "" diff --git a/src/backend/InvenTree/part/models.py b/src/backend/InvenTree/part/models.py index 246d71080ce9..bfc499d61172 100644 --- a/src/backend/InvenTree/part/models.py +++ b/src/backend/InvenTree/part/models.py @@ -1949,7 +1949,7 @@ def pricing(self): return pricing - def schedule_pricing_update(self, create: bool = False, test: bool = False): + def schedule_pricing_update(self, create: bool = False): """Helper function to schedule a pricing update. Importantly, catches any errors which may occur during deletion of related objects, @@ -1959,7 +1959,6 @@ def schedule_pricing_update(self, create: bool = False, test: bool = False): 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: self.refresh_from_db() @@ -1970,7 +1969,7 @@ def schedule_pricing_update(self, create: bool = False, test: bool = False): pricing = self.pricing if create or pricing.pk: - pricing.schedule_for_update(test=test) + pricing.schedule_for_update() except IntegrityError: # If this part instance has been deleted, # some post-delete or post-save signals may still be fired @@ -2550,7 +2549,8 @@ class PartPricing(common.models.MetaMixin): - Detailed pricing information is very context specific in any case """ - price_modified = False + # When calculating assembly pricing, we limit the depth of the calculation + MAX_PRICING_DEPTH = 50 @property def is_valid(self): @@ -2579,14 +2579,10 @@ def convert(self, money): return result - def schedule_for_update(self, counter: int = 0, test: bool = False): + def schedule_for_update(self, counter: int = 0): """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 @@ -2630,7 +2626,7 @@ def schedule_for_update(self, counter: int = 0, test: bool = False): logger.debug('Pricing for %s already scheduled for update - skipping', p) return - if counter > 25: + if counter > self.MAX_PRICING_DEPTH: # Prevent infinite recursion / stack depth issues logger.debug( counter, f'Skipping pricing update for {p} - maximum depth exceeded' @@ -2649,16 +2645,36 @@ def schedule_for_update(self, counter: int = 0, test: bool = False): import part.tasks as part_tasks + # Pricing calculations are performed in the background, + # unless the TESTING_PRICING flag is set + background = not settings.TESTING or not settings.TESTING_PRICING + # Offload task to update the pricing - # Force async, to prevent running in the foreground + # Force async, to prevent running in the foreground (unless in testing mode) InvenTree.tasks.offload_task( - part_tasks.update_part_pricing, self, counter=counter, force_async=True + part_tasks.update_part_pricing, + self, + counter=counter, + force_async=background, ) - 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 + def update_pricing( + self, + counter: int = 0, + cascade: bool = True, + previous_min=None, + previous_max=None, + ): + """Recalculate all cost data for the referenced Part instance. + + Arguments: + counter: Recursion counter (used to prevent infinite recursion) + cascade: If True, update pricing for all assemblies and templates which use this part + previous_min: Previous minimum price (used to prevent further updates if unchanged) + previous_max: Previous maximum price (used to prevent further updates if unchanged) + """ + # If importing data, skip pricing update if InvenTree.ready.isImportingData(): return @@ -2689,18 +2705,25 @@ def update_pricing(self, counter: int = 0, cascade: bool = True): # Background worker processes may try to concurrently update pass + pricing_changed = False + + # Without previous pricing data, we assume that the pricing has changed + if previous_min != self.overall_min or previous_max != self.overall_max: + pricing_changed = True + # Update parent assemblies and templates - if cascade and self.price_modified: + if pricing_changed and cascade: self.update_assemblies(counter) self.update_templates(counter) def update_assemblies(self, counter: int = 0): """Schedule updates for any assemblies which use this part.""" # If the linked Part is used in any assemblies, schedule a pricing update for those assemblies + used_in_parts = self.part.get_used_in() for p in used_in_parts: - p.pricing.schedule_for_update(counter + 1) + p.pricing.schedule_for_update(counter=counter + 1) def update_templates(self, counter: int = 0): """Schedule updates for any template parts above this part.""" @@ -2716,13 +2739,13 @@ def save(self, *args, **kwargs): try: self.update_overall_cost() - except IntegrityError: + except Exception: # If something has happened to the Part model, might throw an error pass try: super().save(*args, **kwargs) - except IntegrityError: + except Exception: # This error may be thrown if there is already duplicate pricing data pass @@ -2790,9 +2813,6 @@ def update_bom_cost(self, save=True): any_max_elements = True - old_bom_cost_min = self.bom_cost_min - old_bom_cost_max = self.bom_cost_max - if any_min_elements: self.bom_cost_min = cumulative_min else: @@ -2803,12 +2823,6 @@ def update_bom_cost(self, save=True): else: self.bom_cost_max = None - if ( - old_bom_cost_min != self.bom_cost_min - or old_bom_cost_max != self.bom_cost_max - ): - self.price_modified = True - if save: self.save() @@ -2872,12 +2886,6 @@ def update_purchase_cost(self, save=True): if purchase_max is None or cost > purchase_max: purchase_max = cost - if ( - self.purchase_cost_min != purchase_min - or self.purchase_cost_max != purchase_max - ): - self.price_modified = True - self.purchase_cost_min = purchase_min self.purchase_cost_max = purchase_max @@ -2904,12 +2912,6 @@ def update_internal_cost(self, save=True): if max_int_cost is None or cost > max_int_cost: max_int_cost = cost - if ( - self.internal_cost_min != min_int_cost - or self.internal_cost_max != max_int_cost - ): - self.price_modified = True - self.internal_cost_min = min_int_cost self.internal_cost_max = max_int_cost @@ -2945,12 +2947,6 @@ def update_supplier_cost(self, save=True): if max_sup_cost is None or cost > max_sup_cost: max_sup_cost = cost - if ( - self.supplier_price_min != min_sup_cost - or self.supplier_price_max != max_sup_cost - ): - self.price_modified = True - self.supplier_price_min = min_sup_cost self.supplier_price_max = max_sup_cost @@ -2986,9 +2982,6 @@ def update_variant_cost(self, save=True): if variant_max is None or v_max > variant_max: variant_max = v_max - if self.variant_cost_min != variant_min or self.variant_cost_max != variant_max: - self.price_modified = True - self.variant_cost_min = variant_min self.variant_cost_max = variant_max @@ -3109,12 +3102,6 @@ def update_sale_cost(self, save=True): if max_sell_history is None or cost > max_sell_history: max_sell_history = cost - if ( - self.sale_history_min != min_sell_history - or self.sale_history_max != max_sell_history - ): - self.price_modified = True - self.sale_history_min = min_sell_history self.sale_history_max = max_sell_history @@ -4525,7 +4512,10 @@ def update_bom_build_lines(sender, instance, created, **kwargs): def update_pricing_after_edit(sender, instance, created, **kwargs): """Callback function when a part price break is created or updated.""" # Update part pricing *unless* we are importing data - if InvenTree.ready.canAppAccessDatabase() and not InvenTree.ready.isImportingData(): + if ( + InvenTree.ready.canAppAccessDatabase(allow_test=settings.TESTING_PRICING) + and not InvenTree.ready.isImportingData() + ): if instance.part: instance.part.schedule_pricing_update(create=True) @@ -4542,7 +4532,10 @@ def update_pricing_after_edit(sender, instance, created, **kwargs): def update_pricing_after_delete(sender, instance, **kwargs): """Callback function when a part price break is deleted.""" # Update part pricing *unless* we are importing data - if InvenTree.ready.canAppAccessDatabase() and not InvenTree.ready.isImportingData(): + if ( + InvenTree.ready.canAppAccessDatabase(allow_test=settings.TESTING_PRICING) + and not InvenTree.ready.isImportingData() + ): if instance.part: instance.part.schedule_pricing_update(create=False) diff --git a/src/backend/InvenTree/part/tasks.py b/src/backend/InvenTree/part/tasks.py index ec30fdfdb0f4..8ea76fd6a9cd 100644 --- a/src/backend/InvenTree/part/tasks.py +++ b/src/backend/InvenTree/part/tasks.py @@ -73,7 +73,11 @@ def update_part_pricing(pricing: part.models.PartPricing, counter: int = 0): """ logger.info('Updating part pricing for %s', pricing.part) - pricing.update_pricing(counter=counter) + pricing.update_pricing( + counter=counter, + previous_min=pricing.overall_min, + previous_max=pricing.overall_max, + ) @scheduled_task(ScheduledTask.DAILY) diff --git a/src/backend/InvenTree/part/test_pricing.py b/src/backend/InvenTree/part/test_pricing.py index 4abb6bcf6692..c7dca0f1690a 100644 --- a/src/backend/InvenTree/part/test_pricing.py +++ b/src/backend/InvenTree/part/test_pricing.py @@ -1,6 +1,7 @@ """Unit tests for Part pricing calculations.""" from django.core.exceptions import ObjectDoesNotExist +from django.test.utils import override_settings from djmoney.contrib.exchange.models import convert_money from djmoney.money import Money @@ -88,6 +89,7 @@ def create_price_breaks(self): part=self.sp_2, quantity=10, price=4.55, price_currency='GBP' ) + @override_settings(TESTING_PRICING=True) def test_pricing_data(self): """Test link between Part and PartPricing model.""" # Initially there is no associated Pricing data @@ -112,6 +114,7 @@ def test_pricing_data(self): def test_invalid_rate(self): """Ensure that conversion behaves properly with missing rates.""" + @override_settings(TESTING_PRICING=True) def test_simple(self): """Tests for hard-coded values.""" pricing = self.part.pricing @@ -143,6 +146,7 @@ def test_simple(self): self.assertEqual(pricing.overall_min, Money('0.111111', 'USD')) self.assertEqual(pricing.overall_max, Money('25', 'USD')) + @override_settings(TESTING_PRICING=True) def test_supplier_part_pricing(self): """Test for supplier part pricing.""" pricing = self.part.pricing @@ -156,19 +160,22 @@ def test_supplier_part_pricing(self): # Creating price breaks will cause the pricing to be updated self.create_price_breaks() - pricing.update_pricing() + pricing = self.part.pricing + pricing.refresh_from_db() self.assertAlmostEqual(float(pricing.overall_min.amount), 2.015, places=2) self.assertAlmostEqual(float(pricing.overall_max.amount), 3.06, places=2) # Delete all supplier parts and re-calculate self.part.supplier_parts.all().delete() - pricing.update_pricing() + + pricing = self.part.pricing pricing.refresh_from_db() self.assertIsNone(pricing.supplier_price_min) self.assertIsNone(pricing.supplier_price_max) + @override_settings(TESTING_PRICING=True) def test_internal_pricing(self): """Tests for internal price breaks.""" # Ensure internal pricing is enabled @@ -188,7 +195,8 @@ def test_internal_pricing(self): part=self.part, quantity=ii + 1, price=10 - ii, price_currency=currency ) - pricing.update_internal_cost() + pricing = self.part.pricing + pricing.refresh_from_db() # Expected money value m_expected = Money(10 - ii, currency) @@ -201,6 +209,7 @@ def test_internal_pricing(self): self.assertEqual(pricing.internal_cost_max, Money(10, currency)) self.assertEqual(pricing.overall_max, Money(10, currency)) + @override_settings(TESTING_PRICING=True) def test_stock_item_pricing(self): """Test for stock item pricing data.""" # Create a part @@ -243,6 +252,7 @@ def test_stock_item_pricing(self): self.assertEqual(pricing.overall_min, Money(1.176471, 'USD')) self.assertEqual(pricing.overall_max, Money(6.666667, 'USD')) + @override_settings(TESTING_PRICING=True) def test_bom_pricing(self): """Unit test for BOM pricing calculations.""" pricing = self.part.pricing @@ -252,7 +262,8 @@ def test_bom_pricing(self): currency = 'AUD' - for ii in range(10): + # Create pricing out of order, to ensure min/max values are calculated correctly + for ii in range(5): # Create a new part for the BOM sub_part = part.models.Part.objects.create( name=f'Sub Part {ii}', @@ -273,15 +284,21 @@ def test_bom_pricing(self): part=self.part, sub_part=sub_part, quantity=5 ) - pricing.update_bom_cost() - # Check that the values have been updated correctly self.assertEqual(pricing.currency, 'USD') + # Price range should have been automatically updated + self.part.refresh_from_db() + pricing = self.part.pricing + + expected_min = 100 + expected_max = 150 + # Final overall pricing checks - self.assertEqual(pricing.overall_min, Money('366.666665', 'USD')) - self.assertEqual(pricing.overall_max, Money('550', 'USD')) + self.assertEqual(pricing.overall_min, Money(expected_min, 'USD')) + self.assertEqual(pricing.overall_max, Money(expected_max, 'USD')) + @override_settings(TESTING_PRICING=True) def test_purchase_pricing(self): """Unit tests for historical purchase pricing.""" self.create_price_breaks() @@ -349,6 +366,7 @@ def test_purchase_pricing(self): # Max cost in USD self.assertAlmostEqual(float(pricing.purchase_cost_max.amount), 6.95, places=2) + @override_settings(TESTING_PRICING=True) def test_delete_with_pricing(self): """Test for deleting a part which has pricing information.""" # Create some pricing data @@ -373,6 +391,7 @@ def test_delete_with_pricing(self): with self.assertRaises(part.models.PartPricing.DoesNotExist): pricing.refresh_from_db() + @override_settings(TESTING_PRICING=True) def test_delete_without_pricing(self): """Test that we can delete a part which does not have pricing information.""" pricing = self.part.pricing @@ -388,6 +407,7 @@ def test_delete_without_pricing(self): with self.assertRaises(part.models.Part.DoesNotExist): self.part.refresh_from_db() + @override_settings(TESTING_PRICING=True) def test_check_missing_pricing(self): """Tests for check_missing_pricing background task. @@ -411,6 +431,7 @@ def test_check_missing_pricing(self): # Check that PartPricing objects have been created self.assertEqual(part.models.PartPricing.objects.count(), 101) + @override_settings(TESTING_PRICING=True) def test_delete_part_with_stock_items(self): """Test deleting a part instance with stock items. @@ -431,7 +452,7 @@ def test_delete_part_with_stock_items(self): ) # Manually schedule a pricing update (does not happen automatically in testing) - p.schedule_pricing_update(create=True, test=True) + p.schedule_pricing_update(create=True) # Check that a PartPricing object exists self.assertTrue(part.models.PartPricing.objects.filter(part=p).exists()) @@ -443,5 +464,84 @@ def test_delete_part_with_stock_items(self): 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, test=True) + p.schedule_pricing_update(create=False) self.assertFalse(part.models.PartPricing.objects.filter(part=p).exists()) + + @override_settings(TESTING_PRICING=True) + def test_multi_level_bom(self): + """Test that pricing for multi-level BOMs is calculated correctly.""" + # Create some parts + A1 = part.models.Part.objects.create( + name='A1', description='A1', assembly=True, component=True + ) + B1 = part.models.Part.objects.create( + name='B1', description='B1', assembly=True, component=True + ) + C1 = part.models.Part.objects.create( + name='C1', description='C1', assembly=True, component=True + ) + D1 = part.models.Part.objects.create( + name='D1', description='D1', assembly=True, component=True + ) + D2 = part.models.Part.objects.create( + name='D2', description='D2', assembly=True, component=True + ) + D3 = part.models.Part.objects.create( + name='D3', description='D3', assembly=True, component=True + ) + + # BOM Items + part.models.BomItem.objects.create(part=A1, sub_part=B1, quantity=10) + part.models.BomItem.objects.create(part=B1, sub_part=C1, quantity=2) + part.models.BomItem.objects.create(part=C1, sub_part=D1, quantity=3) + part.models.BomItem.objects.create(part=C1, sub_part=D2, quantity=4) + part.models.BomItem.objects.create(part=C1, sub_part=D3, quantity=5) + + # Pricing data (only for low-level D parts) + P1 = D1.pricing + P1.override_min = 4.50 + P1.override_max = 5.50 + P1.save() + P1.update_pricing() + + P2 = D2.pricing + P2.override_min = 6.50 + P2.override_max = 7.50 + P2.save() + P2.update_pricing() + + P3 = D3.pricing + P3.override_min = 8.50 + P3.override_max = 9.50 + P3.save() + P3.update_pricing() + + # Simple checks for low-level BOM items + self.assertEqual(D1.pricing.overall_min, Money(4.50, 'USD')) + self.assertEqual(D1.pricing.overall_max, Money(5.50, 'USD')) + + self.assertEqual(D2.pricing.overall_min, Money(6.50, 'USD')) + self.assertEqual(D2.pricing.overall_max, Money(7.50, 'USD')) + + self.assertEqual(D3.pricing.overall_min, Money(8.50, 'USD')) + self.assertEqual(D3.pricing.overall_max, Money(9.50, 'USD')) + + # Calculate pricing for "C" level part + c_min = 3 * 4.50 + 4 * 6.50 + 5 * 8.50 + c_max = 3 * 5.50 + 4 * 7.50 + 5 * 9.50 + + self.assertEqual(C1.pricing.overall_min, Money(c_min, 'USD')) + self.assertEqual(C1.pricing.overall_max, Money(c_max, 'USD')) + + # Calculate pricing for "A" and "B" level parts + b_min = 2 * c_min + b_max = 2 * c_max + + a_min = 10 * b_min + a_max = 10 * b_max + + self.assertEqual(B1.pricing.overall_min, Money(b_min, 'USD')) + self.assertEqual(B1.pricing.overall_max, Money(b_max, 'USD')) + + self.assertEqual(A1.pricing.overall_min, Money(a_min, 'USD')) + self.assertEqual(A1.pricing.overall_max, Money(a_max, 'USD')) diff --git a/src/backend/InvenTree/plugin/api.py b/src/backend/InvenTree/plugin/api.py index 1d3f6763f875..a8a9cb1c48de 100644 --- a/src/backend/InvenTree/plugin/api.py +++ b/src/backend/InvenTree/plugin/api.py @@ -11,11 +11,13 @@ from drf_spectacular.utils import extend_schema from rest_framework import permissions, status from rest_framework.exceptions import NotFound +from rest_framework.permissions import IsAuthenticated from rest_framework.response import Response from rest_framework.views import APIView import plugin.serializers as PluginSerializers from common.api import GlobalSettingsPermissions +from common.settings import get_global_setting from InvenTree.api import MetadataView from InvenTree.filters import SEARCH_ORDER_FILTER from InvenTree.mixins import ( @@ -414,6 +416,38 @@ def get(self, request): return Response(result) +class PluginPanelList(APIView): + """API endpoint for listing all available plugin panels.""" + + permission_classes = [IsAuthenticated] + serializer_class = PluginSerializers.PluginPanelSerializer + + @extend_schema(responses={200: PluginSerializers.PluginPanelSerializer(many=True)}) + def get(self, request): + """Show available plugin panels.""" + target_model = request.query_params.get('target_model', None) + target_id = request.query_params.get('target_id', None) + + panels = [] + + if get_global_setting('ENABLE_PLUGINS_INTERFACE'): + # Extract all plugins from the registry which provide custom panels + for _plugin in registry.with_mixin('ui', active=True): + # Allow plugins to fill this data out + plugin_panels = _plugin.get_custom_panels( + target_model, target_id, request + ) + + if plugin_panels and type(plugin_panels) is list: + for panel in plugin_panels: + panel['plugin'] = _plugin.slug + + # TODO: Validate each panel before inserting + panels.append(panel) + + return Response(PluginSerializers.PluginPanelSerializer(panels, many=True).data) + + class PluginMetadataView(MetadataView): """Metadata API endpoint for the PluginConfig model.""" @@ -428,6 +462,21 @@ class PluginMetadataView(MetadataView): path( 'plugins/', include([ + path( + 'ui/', + include([ + path( + 'panels/', + include([ + path( + '', + PluginPanelList.as_view(), + name='api-plugin-panel-list', + ) + ]), + ) + ]), + ), # Plugin management path('reload/', PluginReload.as_view(), name='api-plugin-reload'), path('install/', PluginInstall.as_view(), name='api-plugin-install'), diff --git a/src/backend/InvenTree/plugin/base/integration/UserInterfaceMixin.py b/src/backend/InvenTree/plugin/base/integration/UserInterfaceMixin.py new file mode 100644 index 000000000000..252c18705bcd --- /dev/null +++ b/src/backend/InvenTree/plugin/base/integration/UserInterfaceMixin.py @@ -0,0 +1,76 @@ +"""UserInterfaceMixin class definition. + +Allows integration of custom UI elements into the React user interface. +""" + +import logging +from typing import TypedDict + +from rest_framework.request import Request + +logger = logging.getLogger('inventree') + + +class CustomPanel(TypedDict): + """Type definition for a custom panel. + + Attributes: + name: The name of the panel (required, used as a DOM identifier). + label: The label of the panel (required, human readable). + icon: The icon of the panel (optional, must be a valid icon identifier). + content: The content of the panel (optional, raw HTML). + source: The source of the panel (optional, path to a JavaScript file). + """ + + name: str + label: str + icon: str + content: str + source: str + + +class UserInterfaceMixin: + """Plugin mixin class which handles injection of custom elements into the front-end interface. + + - All content is accessed via the API, as requested by the user interface. + - This means that content can be dynamically generated, based on the current state of the system. + """ + + class MixinMeta: + """Metaclass for this plugin mixin.""" + + MIXIN_NAME = 'ui' + + def __init__(self): + """Register mixin.""" + super().__init__() + self.add_mixin('ui', True, __class__) + + def get_custom_panels( + self, instance_type: str, instance_id: int, request: Request + ) -> list[CustomPanel]: + """Return a list of custom panels to be injected into the UI. + + Args: + instance_type: The type of object being viewed (e.g. 'part') + instance_id: The ID of the object being viewed (e.g. 123) + request: HTTPRequest object (including user information) + + Returns: + list: A list of custom panels to be injected into the UI + + - The returned list should contain a dict for each custom panel to be injected into the UI: + - The following keys can be specified: + { + 'name': 'panel_name', # The name of the panel (required, must be unique) + 'label': 'Panel Title', # The title of the panel (required, human readable) + 'icon': 'icon-name', # Icon name (optional, must be a valid icon identifier) + 'content': '

Panel content

', # HTML content to be rendered in the panel (optional) + 'source': 'static/plugin/panel.js', # Path to a JavaScript file to be loaded (optional) + } + + - Either 'source' or 'content' must be provided + + """ + # Default implementation returns an empty list + return [] diff --git a/src/backend/InvenTree/plugin/base/integration/test_mixins.py b/src/backend/InvenTree/plugin/base/integration/test_mixins.py index 43bd7b9d1fc1..83caccad30e9 100644 --- a/src/backend/InvenTree/plugin/base/integration/test_mixins.py +++ b/src/backend/InvenTree/plugin/base/integration/test_mixins.py @@ -8,7 +8,8 @@ from error_report.models import Error -from InvenTree.unit_test import InvenTreeTestCase +from common.models import InvenTreeSetting +from InvenTree.unit_test import InvenTreeAPITestCase, InvenTreeTestCase from plugin import InvenTreePlugin from plugin.base.integration.PanelMixin import PanelMixin from plugin.helpers import MixinNotImplementedError @@ -341,7 +342,10 @@ def test_function_errors(self): class PanelMixinTests(InvenTreeTestCase): - """Test that the PanelMixin plugin operates correctly.""" + """Test that the PanelMixin plugin operates correctly. + + TODO: This class will be removed in the future, as the PanelMixin is deprecated. + """ fixtures = ['category', 'part', 'location', 'stock'] @@ -475,3 +479,100 @@ class Wrong(PanelMixin, InvenTreePlugin): plugin = Wrong() plugin.get_custom_panels('abc', 'abc') + + +class UserInterfaceMixinTests(InvenTreeAPITestCase): + """Test the UserInterfaceMixin plugin mixin class.""" + + roles = 'all' + + fixtures = ['part', 'category', 'location', 'stock'] + + @classmethod + def setUpTestData(cls): + """Set up the test case.""" + super().setUpTestData() + + # Ensure that the 'sampleui' plugin is installed and active + registry.set_plugin_state('sampleui', True) + + # Ensure that UI plugins are enabled + InvenTreeSetting.set_setting('ENABLE_PLUGINS_INTERFACE', True, change_user=None) + + def test_installed(self): + """Test that the sample UI plugin is installed and active.""" + plugin = registry.get_plugin('sampleui') + self.assertTrue(plugin.is_active()) + + plugins = registry.with_mixin('ui') + self.assertGreater(len(plugins), 0) + + def test_panels(self): + """Test that the sample UI plugin provides custom panels.""" + from part.models import Part + + plugin = registry.get_plugin('sampleui') + + _part = Part.objects.first() + + # Ensure that the part is active + _part.active = True + _part.save() + + url = reverse('api-plugin-panel-list') + + query_data = {'target_model': 'part', 'target_id': _part.pk} + + # Enable *all* plugin settings + plugin.set_setting('ENABLE_PART_PANELS', True) + plugin.set_setting('ENABLE_PURCHASE_ORDER_PANELS', True) + plugin.set_setting('ENABLE_BROKEN_PANELS', True) + plugin.set_setting('ENABLE_DYNAMIC_PANEL', True) + + # Request custom panel information for a part instance + response = self.get(url, data=query_data) + + # There should be 4 active panels for the part by default + self.assertEqual(4, len(response.data)) + + _part.active = False + _part.save() + + response = self.get(url, data=query_data) + + # As the part is not active, only 3 panels left + self.assertEqual(3, len(response.data)) + + # Disable the "ENABLE_PART_PANELS" setting, and try again + plugin.set_setting('ENABLE_PART_PANELS', False) + + response = self.get(url, data=query_data) + + # There should still be 3 panels + self.assertEqual(3, len(response.data)) + + # Check for the correct panel names + self.assertEqual(response.data[0]['name'], 'sample_panel') + self.assertIn('content', response.data[0]) + self.assertNotIn('source', response.data[0]) + + self.assertEqual(response.data[1]['name'], 'broken_panel') + self.assertEqual(response.data[1]['source'], '/this/does/not/exist.js') + self.assertNotIn('content', response.data[1]) + + self.assertEqual(response.data[2]['name'], 'dynamic_panel') + self.assertEqual(response.data[2]['source'], '/static/plugin/sample_panel.js') + self.assertNotIn('content', response.data[2]) + + # Next, disable the global setting for UI integration + InvenTreeSetting.set_setting( + 'ENABLE_PLUGINS_INTERFACE', False, change_user=None + ) + + response = self.get(url, data=query_data) + + # There should be no panels available + self.assertEqual(0, len(response.data)) + + # Set the setting back to True for subsequent tests + InvenTreeSetting.set_setting('ENABLE_PLUGINS_INTERFACE', True, change_user=None) diff --git a/src/backend/InvenTree/plugin/installer.py b/src/backend/InvenTree/plugin/installer.py index c8b0094ae3eb..4d706aaad238 100644 --- a/src/backend/InvenTree/plugin/installer.py +++ b/src/backend/InvenTree/plugin/installer.py @@ -10,6 +10,7 @@ from django.utils.translation import gettext_lazy as _ import plugin.models +import plugin.staticfiles from InvenTree.exceptions import log_error logger = logging.getLogger('inventree') @@ -119,6 +120,10 @@ def install_plugins_file(): log_error('pip') return False + # Update static files + plugin.staticfiles.collect_plugins_static_files() + plugin.staticfiles.clear_plugins_static_files() + # At this point, the plugins file has been installed return True @@ -256,6 +261,9 @@ def install_plugin(url=None, packagename=None, user=None, version=None): registry.reload_plugins(full_reload=True, force_reload=True, collect=True) + # Update static files + plugin.staticfiles.collect_plugins_static_files() + return ret @@ -320,6 +328,9 @@ def uninstall_plugin(cfg: plugin.models.PluginConfig, user=None, delete_config=T # Remove the plugin configuration from the database cfg.delete() + # Remove static files associated with this plugin + plugin.staticfiles.clear_plugin_static_files(cfg.key) + # Reload the plugin registry registry.reload_plugins(full_reload=True, force_reload=True, collect=True) diff --git a/src/backend/InvenTree/plugin/mixins/__init__.py b/src/backend/InvenTree/plugin/mixins/__init__.py index 1fa960c306b4..1de17d613d57 100644 --- a/src/backend/InvenTree/plugin/mixins/__init__.py +++ b/src/backend/InvenTree/plugin/mixins/__init__.py @@ -14,6 +14,7 @@ from plugin.base.integration.ScheduleMixin import ScheduleMixin from plugin.base.integration.SettingsMixin import SettingsMixin from plugin.base.integration.UrlsMixin import UrlsMixin +from plugin.base.integration.UserInterfaceMixin import UserInterfaceMixin from plugin.base.integration.ValidationMixin import ValidationMixin from plugin.base.label.mixins import LabelPrintingMixin from plugin.base.locate.mixins import LocateMixin @@ -38,5 +39,7 @@ 'SingleNotificationMethod', 'SupplierBarcodeMixin', 'UrlsMixin', + 'UrlsMixin', + 'UserInterfaceMixin', 'ValidationMixin', ] diff --git a/src/backend/InvenTree/plugin/registry.py b/src/backend/InvenTree/plugin/registry.py index 4b49eb54333d..65166a79213d 100644 --- a/src/backend/InvenTree/plugin/registry.py +++ b/src/backend/InvenTree/plugin/registry.py @@ -742,11 +742,12 @@ def update_plugin_hash(self): def plugin_settings_keys(self): """A list of keys which are used to store plugin settings.""" return [ - 'ENABLE_PLUGINS_URL', - 'ENABLE_PLUGINS_NAVIGATION', 'ENABLE_PLUGINS_APP', - 'ENABLE_PLUGINS_SCHEDULE', 'ENABLE_PLUGINS_EVENTS', + 'ENABLE_PLUGINS_INTERFACE', + 'ENABLE_PLUGINS_NAVIGATION', + 'ENABLE_PLUGINS_SCHEDULE', + 'ENABLE_PLUGINS_URL', ] def calculate_plugin_hash(self): @@ -768,7 +769,7 @@ def calculate_plugin_hash(self): for k in self.plugin_settings_keys(): try: - val = get_global_setting(k) + val = get_global_setting(k, create=False) msg = f'{k}-{val}' data.update(msg.encode()) diff --git a/src/backend/InvenTree/plugin/samples/integration/templates/uidemo/custom_part_panel.html b/src/backend/InvenTree/plugin/samples/integration/templates/uidemo/custom_part_panel.html new file mode 100644 index 000000000000..72815ed67e88 --- /dev/null +++ b/src/backend/InvenTree/plugin/samples/integration/templates/uidemo/custom_part_panel.html @@ -0,0 +1,30 @@ +{% load i18n %} + +

Custom Plugin Panel

+ +

+This content has been rendered by a custom plugin, and will be displayed for any "part" instance +(as long as the plugin is enabled). +This content has been rendered on the server, using the django templating system. +

+ +
Part Details
+ + + + + + + + + + + + + + + + + + +
Part Name{{ part.name }}
Part Description{{ part.description }}
Part Category{{ part.category.pathstring }}
Part IPN{% if part.IPN %}{{ part.IPN }}{% else %}No IPN specified{% endif %}
diff --git a/src/backend/InvenTree/plugin/samples/integration/user_interface_sample.py b/src/backend/InvenTree/plugin/samples/integration/user_interface_sample.py new file mode 100644 index 000000000000..5b0fbf2f77b7 --- /dev/null +++ b/src/backend/InvenTree/plugin/samples/integration/user_interface_sample.py @@ -0,0 +1,124 @@ +"""Sample plugin which demonstrates user interface integrations.""" + +from django.utils.translation import gettext_lazy as _ + +from part.models import Part +from plugin import InvenTreePlugin +from plugin.helpers import render_template, render_text +from plugin.mixins import SettingsMixin, UserInterfaceMixin + + +class SampleUserInterfacePlugin(SettingsMixin, UserInterfaceMixin, InvenTreePlugin): + """A sample plugin which demonstrates user interface integrations.""" + + NAME = 'SampleUI' + SLUG = 'sampleui' + TITLE = 'Sample User Interface Plugin' + DESCRIPTION = 'A sample plugin which demonstrates user interface integrations' + VERSION = '1.0' + + SETTINGS = { + 'ENABLE_PART_PANELS': { + 'name': _('Enable Part Panels'), + 'description': _('Enable custom panels for Part views'), + 'default': True, + 'validator': bool, + }, + 'ENABLE_PURCHASE_ORDER_PANELS': { + 'name': _('Enable Purchase Order Panels'), + 'description': _('Enable custom panels for Purchase Order views'), + 'default': False, + 'validator': bool, + }, + 'ENABLE_BROKEN_PANELS': { + 'name': _('Enable Broken Panels'), + 'description': _('Enable broken panels for testing'), + 'default': True, + 'validator': bool, + }, + 'ENABLE_DYNAMIC_PANEL': { + 'name': _('Enable Dynamic Panel'), + 'description': _('Enable dynamic panels for testing'), + 'default': True, + 'validator': bool, + }, + } + + def get_custom_panels(self, instance_type: str, instance_id: int, request): + """Return a list of custom panels to be injected into the UI.""" + panels = [] + + # First, add a custom panel which will appear on every type of page + # This panel will contain a simple message + + content = render_text( + """ + This is a sample panel which appears on every page. + It renders a simple string of HTML content. + +
+
Instance Details:
+ + """, + context={'instance_type': instance_type, 'instance_id': instance_id}, + ) + + panels.append({ + 'name': 'sample_panel', + 'label': 'Sample Panel', + 'content': content, + }) + + # A broken panel which tries to load a non-existent JS file + if self.get_setting('ENABLE_BROKEN_PANElS'): + panels.append({ + 'name': 'broken_panel', + 'label': 'Broken Panel', + 'source': '/this/does/not/exist.js', + }) + + # A dynamic panel which will be injected into the UI (loaded from external file) + if self.get_setting('ENABLE_DYNAMIC_PANEL'): + panels.append({ + 'name': 'dynamic_panel', + 'label': 'Dynamic Part Panel', + 'source': '/static/plugin/sample_panel.js', + 'icon': 'part', + }) + + # Next, add a custom panel which will appear on the 'part' page + # Note that this content is rendered from a template file, + # using the django templating system + if self.get_setting('ENABLE_PART_PANELS') and instance_type == 'part': + try: + part = Part.objects.get(pk=instance_id) + except (Part.DoesNotExist, ValueError): + part = None + + # Note: This panel will *only* be available if the part is active + if part and part.active: + content = render_template( + self, 'uidemo/custom_part_panel.html', context={'part': part} + ) + + panels.append({ + 'name': 'part_panel', + 'label': 'Part Panel', + 'content': content, + }) + + # Next, add a custom panel which will appear on the 'purchaseorder' page + if ( + self.get_setting('ENABLE_PURCHASE_ORDER_PANELS') + and instance_type == 'purchaseorder' + ): + panels.append({ + 'name': 'purchase_order_panel', + 'label': 'Purchase Order Panel', + 'content': 'This is a custom panel which appears on the Purchase Order view page.', + }) + + return panels diff --git a/src/backend/InvenTree/plugin/samples/static/plugin/sample_panel.js b/src/backend/InvenTree/plugin/samples/static/plugin/sample_panel.js new file mode 100644 index 000000000000..c0a0f5d1f4eb --- /dev/null +++ b/src/backend/InvenTree/plugin/samples/static/plugin/sample_panel.js @@ -0,0 +1,47 @@ +/** + * A sample panel plugin for InvenTree. + * + * This plugin file is dynamically loaded, + * as specified in the plugin/samples/integration/user_interface_sample.py + * + * It provides a simple example of how panels can be dynamically rendered, + * as well as dynamically hidden, based on the provided context. + */ + +export function renderPanel(target, context) { + + if (!target) { + console.error("No target provided to renderPanel"); + return; + } + + target.innerHTML = ` +

Dynamic Panel Content

+ +

This panel has been dynamically rendered by the plugin system.

+

It can be hidden or displayed based on the provided context.

+ +
+
Context:
+ +