diff --git a/InvenTree/InvenTree/forms.py b/InvenTree/InvenTree/forms.py index 7112c2a88b..8b4b87637c 100644 --- a/InvenTree/InvenTree/forms.py +++ b/InvenTree/InvenTree/forms.py @@ -13,7 +13,12 @@ from crispy_forms.helper import FormHelper from crispy_forms.layout import Layout, Field from crispy_forms.bootstrap import PrependedText, AppendedText, PrependedAppendedText, StrictButton, Div +from allauth.account.forms import SignupForm, set_form_field_order +from allauth.account.adapter import DefaultAccountAdapter +from allauth.socialaccount.adapter import DefaultSocialAccountAdapter + from part.models import PartCategory +from common.models import InvenTreeSetting class HelperForm(forms.ModelForm): @@ -144,7 +149,6 @@ class EditUserForm(HelperForm): 'username', 'first_name', 'last_name', - 'email' ] @@ -204,3 +208,76 @@ class SettingCategorySelectForm(forms.ModelForm): css_class='row', ), ) + + +# override allauth +class CustomSignupForm(SignupForm): + """ + Override to use dynamic settings + """ + def __init__(self, *args, **kwargs): + kwargs['email_required'] = InvenTreeSetting.get_setting('LOGIN_MAIL_REQUIRED') + + super().__init__(*args, **kwargs) + + # check for two mail fields + if InvenTreeSetting.get_setting('LOGIN_SIGNUP_MAIL_TWICE'): + self.fields["email2"] = forms.EmailField( + label=_("E-mail (again)"), + widget=forms.TextInput( + attrs={ + "type": "email", + "placeholder": _("E-mail address confirmation"), + } + ), + ) + + # check for two password fields + if not InvenTreeSetting.get_setting('LOGIN_SIGNUP_PWD_TWICE'): + self.fields.pop("password2") + + # reorder fields + set_form_field_order(self, ["username", "email", "email2", "password1", "password2", ]) + + def clean(self): + cleaned_data = super().clean() + + # check for two mail fields + if InvenTreeSetting.get_setting('LOGIN_SIGNUP_MAIL_TWICE'): + email = cleaned_data.get("email") + email2 = cleaned_data.get("email2") + if (email and email2) and email != email2: + self.add_error("email2", _("You must type the same email each time.")) + + return cleaned_data + + +class RegistratonMixin: + """ + Mixin to check if registration should be enabled + """ + def is_open_for_signup(self, request): + if InvenTreeSetting.get_setting('EMAIL_HOST', None) and InvenTreeSetting.get_setting('LOGIN_ENABLE_REG', True): + return super().is_open_for_signup(request) + return False + + +class CustomAccountAdapter(RegistratonMixin, DefaultAccountAdapter): + """ + Override of adapter to use dynamic settings + """ + def send_mail(self, template_prefix, email, context): + """only send mail if backend configured""" + if InvenTreeSetting.get_setting('EMAIL_HOST', None): + return super().send_mail(template_prefix, email, context) + return False + + +class CustomSocialAccountAdapter(RegistratonMixin, DefaultSocialAccountAdapter): + """ + Override of adapter to use dynamic settings + """ + def is_auto_signup_allowed(self, request, sociallogin): + if InvenTreeSetting.get_setting('LOGIN_SIGNUP_SSO_AUTO', True): + return super().is_auto_signup_allowed(request, sociallogin) + return False diff --git a/InvenTree/InvenTree/middleware.py b/InvenTree/InvenTree/middleware.py index 3cd5aa74f7..2df90bc5b7 100644 --- a/InvenTree/InvenTree/middleware.py +++ b/InvenTree/InvenTree/middleware.py @@ -64,15 +64,15 @@ class AuthRequiredMiddleware(object): # No authorization was found for the request if not authorized: # A logout request will redirect the user to the login screen - if request.path_info == reverse_lazy('logout'): - return HttpResponseRedirect(reverse_lazy('login')) + if request.path_info == reverse_lazy('account_logout'): + return HttpResponseRedirect(reverse_lazy('account_login')) path = request.path_info # List of URL endpoints we *do not* want to redirect to urls = [ - reverse_lazy('login'), - reverse_lazy('logout'), + reverse_lazy('account_login'), + reverse_lazy('account_logout'), reverse_lazy('admin:login'), reverse_lazy('admin:logout'), ] @@ -80,7 +80,7 @@ class AuthRequiredMiddleware(object): if path not in urls and not path.startswith('/api/'): # Save the 'next' parameter to pass through to the login view - return redirect('%s?next=%s' % (reverse_lazy('login'), request.path)) + return redirect('%s?next=%s' % (reverse_lazy('account_login'), request.path)) response = self.get_response(request) diff --git a/InvenTree/InvenTree/settings.py b/InvenTree/InvenTree/settings.py index f3c166df88..a07324ec84 100644 --- a/InvenTree/InvenTree/settings.py +++ b/InvenTree/InvenTree/settings.py @@ -249,6 +249,7 @@ INSTALLED_APPS = [ 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', + 'django.contrib.sites', # InvenTree apps 'build.apps.BuildConfig', @@ -279,6 +280,10 @@ INSTALLED_APPS = [ 'error_report', # Error reporting in the admin interface 'django_q', 'formtools', # Form wizard tools + + 'allauth', # Base app for SSO + 'allauth.account', # Extend user with accounts + 'allauth.socialaccount', # Use 'social' providers ] MIDDLEWARE = CONFIG.get('middleware', [ @@ -298,7 +303,8 @@ MIDDLEWARE = CONFIG.get('middleware', [ MIDDLEWARE.append('error_report.middleware.ExceptionProcessor') AUTHENTICATION_BACKENDS = CONFIG.get('authentication_backends', [ - 'django.contrib.auth.backends.ModelBackend' + 'django.contrib.auth.backends.ModelBackend', + 'allauth.account.auth_backends.AuthenticationBackend', # SSO login via external providers ]) # If the debug toolbar is enabled, add the modules @@ -646,3 +652,34 @@ MESSAGE_TAGS = { messages.ERROR: 'alert alert-block alert-danger', messages.INFO: 'alert alert-block alert-info', } + +SITE_ID = 1 + +# Load the allauth social backends +SOCIAL_BACKENDS = CONFIG.get('social_backends', []) +for app in SOCIAL_BACKENDS: + INSTALLED_APPS.append(app) + +SOCIALACCOUNT_PROVIDERS = CONFIG.get('social_providers', []) + +# settings for allauth +ACCOUNT_EMAIL_CONFIRMATION_EXPIRE_DAYS = get_setting('INVENTREE_LOGIN_CONFIRM_DAYS', CONFIG.get('login_confirm_days', 3)) + +ACCOUNT_LOGIN_ATTEMPTS_LIMIT = get_setting('INVENTREE_LOGIN_ATTEMPTS', CONFIG.get('login_attempts', 5)) + +ACCOUNT_LOGOUT_ON_PASSWORD_CHANGE = True + +# override forms / adapters +ACCOUNT_FORMS = { + 'login': 'allauth.account.forms.LoginForm', + 'signup': 'InvenTree.forms.CustomSignupForm', + 'add_email': 'allauth.account.forms.AddEmailForm', + 'change_password': 'allauth.account.forms.ChangePasswordForm', + 'set_password': 'allauth.account.forms.SetPasswordForm', + 'reset_password': 'allauth.account.forms.ResetPasswordForm', + 'reset_password_from_key': 'allauth.account.forms.ResetPasswordKeyForm', + 'disconnect': 'allauth.socialaccount.forms.DisconnectForm', +} + +SOCIALACCOUNT_ADAPTER = 'InvenTree.forms.CustomSocialAccountAdapter' +ACCOUNT_ADAPTER = 'InvenTree.forms.CustomAccountAdapter' diff --git a/InvenTree/InvenTree/tasks.py b/InvenTree/InvenTree/tasks.py index 3889f108af..aa17ef8603 100644 --- a/InvenTree/InvenTree/tasks.py +++ b/InvenTree/InvenTree/tasks.py @@ -301,7 +301,9 @@ def send_email(subject, body, recipients, from_email=None): offload_task( 'django.core.mail.send_mail', - subject, body, + subject, + body, from_email, recipients, + fail_silently=False, ) diff --git a/InvenTree/InvenTree/test_urls.py b/InvenTree/InvenTree/test_urls.py index 0723332d7d..042f43b6eb 100644 --- a/InvenTree/InvenTree/test_urls.py +++ b/InvenTree/InvenTree/test_urls.py @@ -111,6 +111,10 @@ class URLTest(TestCase): if url.startswith("admin:"): return + # TODO can this be more elegant? + if url.startswith("account_"): + return + if pk: # We will assume that there is at least one item in the database reverse(url, kwargs={"pk": 1}) diff --git a/InvenTree/InvenTree/urls.py b/InvenTree/InvenTree/urls.py index 7d51c6a4cf..77a0e06a0c 100644 --- a/InvenTree/InvenTree/urls.py +++ b/InvenTree/InvenTree/urls.py @@ -8,7 +8,6 @@ Passes URL lookup downstream to each app as required. from django.conf.urls import url, include from django.urls import path from django.contrib import admin -from django.contrib.auth import views as auth_views from company.urls import company_urls from company.urls import manufacturer_part_urls @@ -38,7 +37,7 @@ from rest_framework.documentation import include_docs_urls from .views import auth_request from .views import IndexView, SearchView, DatabaseStatsView -from .views import SettingsView, EditUserView, SetPasswordView +from .views import SettingsView, EditUserView, SetPasswordView, CustomEmailView, CustomConnectionsView, CustomPasswordResetFromKeyView from .views import CurrencyRefreshView from .views import AppearanceSelectView, SettingCategorySelectView from .views import DynamicJsView @@ -143,9 +142,6 @@ urlpatterns = [ url(r'^auth/', include('rest_framework.urls', namespace='rest_framework')), - url(r'^login/?', auth_views.LoginView.as_view(), name='login'), - url(r'^logout/', auth_views.LogoutView.as_view(template_name='registration/logged_out.html'), name='logout'), - url(r'^settings/', include(settings_urls)), url(r'^edit-user/', EditUserView.as_view(), name='edit-user'), @@ -154,7 +150,6 @@ urlpatterns = [ url(r'^admin/error_log/', include('error_report.urls')), url(r'^admin/shell/', include('django_admin_shell.urls')), url(r'^admin/', admin.site.urls, name='inventree-admin'), - url(r'accounts/', include('django.contrib.auth.urls')), url(r'^index/', IndexView.as_view(), name='index'), url(r'^search/', SearchView.as_view(), name='search'), @@ -166,6 +161,13 @@ urlpatterns = [ url(r'^api-doc/', include_docs_urls(title='InvenTree API')), url(r'^markdownx/', include('markdownx.urls')), + + # Single Sign On / allauth + # overrides of urlpatterns + url(r'^accounts/email/', CustomEmailView.as_view(), name='account_email'), + url(r'^accounts/social/connections/', CustomConnectionsView.as_view(), name='socialaccount_connections'), + url(r"^accounts/password/reset/key/(?P[0-9A-Za-z]+)-(?P.+)/$", CustomPasswordResetFromKeyView.as_view(), name="account_reset_password_from_key"), + url(r'^accounts/', include('allauth.urls')), # included urlpatterns ] # Server running in "DEBUG" mode? diff --git a/InvenTree/InvenTree/version.py b/InvenTree/InvenTree/version.py index ac3c6178ff..5bbae8565e 100644 --- a/InvenTree/InvenTree/version.py +++ b/InvenTree/InvenTree/version.py @@ -8,8 +8,10 @@ import re import common.models +# InvenTree software version INVENTREE_SW_VERSION = "0.6.0 dev" +# InvenTree API version INVENTREE_API_VERSION = 15 """ @@ -115,9 +117,7 @@ def inventreeDocsVersion(): if isInvenTreeDevelopmentVersion(): return "latest" else: - major, minor, patch = inventreeVersionTuple() - - return f"{major}.{minor}.{patch}" + return INVENTREE_SW_VERSION def isInvenTreeUpToDate(): diff --git a/InvenTree/InvenTree/views.py b/InvenTree/InvenTree/views.py index 0528c6c694..af97877933 100644 --- a/InvenTree/InvenTree/views.py +++ b/InvenTree/InvenTree/views.py @@ -17,13 +17,19 @@ from django.urls import reverse_lazy from django.shortcuts import redirect from django.conf import settings -from django.contrib.auth.mixins import PermissionRequiredMixin +from django.contrib.auth.mixins import LoginRequiredMixin, PermissionRequiredMixin from django.views import View from django.views.generic import ListView, DetailView, CreateView, FormView, DeleteView, UpdateView from django.views.generic.base import RedirectView, TemplateView from djmoney.contrib.exchange.models import ExchangeBackend, Rate +from allauth.account.forms import AddEmailForm +from allauth.socialaccount.forms import DisconnectForm +from allauth.account.models import EmailAddress +from allauth.account.views import EmailView, PasswordResetFromKeyView +from allauth.socialaccount.views import ConnectionsView + from common.settings import currency_code_default, currency_codes from part.models import Part, PartCategory @@ -810,9 +816,47 @@ class SettingsView(TemplateView): except: ctx["locale_stats"] = {} + # Forms and context for allauth + ctx['add_email_form'] = AddEmailForm + ctx["can_add_email"] = EmailAddress.objects.can_add_email(self.request.user) + + # Form and context for allauth social-accounts + ctx["request"] = self.request + ctx['social_form'] = DisconnectForm(request=self.request) + return ctx +class AllauthOverrides(LoginRequiredMixin): + """ + Override allauths views to always redirect to success_url + """ + def get(self, request, *args, **kwargs): + # always redirect to settings + return HttpResponseRedirect(self.success_url) + + +class CustomEmailView(AllauthOverrides, EmailView): + """ + Override of allauths EmailView to always show the settings but leave the functions allow + """ + success_url = reverse_lazy("settings") + + +class CustomConnectionsView(AllauthOverrides, ConnectionsView): + """ + Override of allauths ConnectionsView to always show the settings but leave the functions allow + """ + success_url = reverse_lazy("settings") + + +class CustomPasswordResetFromKeyView(PasswordResetFromKeyView): + """ + Override of allauths PasswordResetFromKeyView to always show the settings but leave the functions allow + """ + success_url = reverse_lazy("account_login") + + class CurrencyRefreshView(RedirectView): """ POST endpoint to refresh / update exchange rates diff --git a/InvenTree/common/models.py b/InvenTree/common/models.py index 9a9373d5c3..b9b7d9e20d 100644 --- a/InvenTree/common/models.py +++ b/InvenTree/common/models.py @@ -830,6 +830,50 @@ class InvenTreeSetting(BaseInvenTreeSetting): 'default': True, 'validator': bool, }, + + # login / SSO + 'LOGIN_ENABLE_PWD_FORGOT': { + 'name': _('Enable password forgot'), + 'description': _('Enable password forgot function on the login-pages'), + 'default': True, + 'validator': bool, + }, + 'LOGIN_ENABLE_REG': { + 'name': _('Enable registration'), + 'description': _('Enable self-registration for users on the login-pages'), + 'default': False, + 'validator': bool, + }, + 'LOGIN_ENABLE_SSO': { + 'name': _('Enable SSO'), + 'description': _('Enable SSO on the login-pages'), + 'default': False, + 'validator': bool, + }, + 'LOGIN_MAIL_REQUIRED': { + 'name': _('E-Mail required'), + 'description': _('Require user to supply mail on signup'), + 'default': False, + 'validator': bool, + }, + 'LOGIN_SIGNUP_SSO_AUTO': { + 'name': _('Auto-fill SSO users'), + 'description': _('Automatically fill out user-details from SSO account-data'), + 'default': True, + 'validator': bool, + }, + 'LOGIN_SIGNUP_MAIL_TWICE': { + 'name': _('Mail twice'), + 'description': _('On signup ask users twice for their mail'), + 'default': False, + 'validator': bool, + }, + 'LOGIN_SIGNUP_PWD_TWICE': { + 'name': _('Password twice'), + 'description': _('On signup ask users twice for their password'), + 'default': True, + 'validator': bool, + }, } class Meta: @@ -981,6 +1025,13 @@ class InvenTreeUserSetting(BaseInvenTreeSetting): 'default': True, 'validator': bool, }, + + 'FORMS_CLOSE_USING_ESCAPE': { + 'name': _('Escape Key Closes Forms'), + 'description': _('Use the escape key to close modal forms'), + 'default': False, + 'validator': bool, + } } class Meta: diff --git a/InvenTree/config_template.yaml b/InvenTree/config_template.yaml index 0e6232d270..3472a37d8e 100644 --- a/InvenTree/config_template.yaml +++ b/InvenTree/config_template.yaml @@ -141,6 +141,14 @@ static_root: '/home/inventree/data/static' # - git # - ssh +# Login configuration +# How long do confirmation mail last? +# Use environment variable INVENTREE_LOGIN_CONFIRM_DAYS +#login_confirm_days: 3 +# How many wrong login attempts are permitted? +# Use environment variable INVENTREE_LOGIN_ATTEMPTS +#login_attempts: 5 + # Permit custom authentication backends #authentication_backends: # - 'django.contrib.auth.backends.ModelBackend' @@ -157,3 +165,14 @@ static_root: '/home/inventree/data/static' # - 'django.contrib.messages.middleware.MessageMiddleware' # - 'django.middleware.clickjacking.XFrameOptionsMiddleware' # - 'InvenTree.middleware.AuthRequiredMiddleware' + +# Add SSO login-backends +# social_backends: +# - 'allauth.socialaccount.providers.keycloak' + +# Add specific settings +# social_providers: +# keycloak: +# KEYCLOAK_URL: 'https://keycloak.custom/auth' +# KEYCLOAK_REALM: 'master' + diff --git a/InvenTree/locale/de/LC_MESSAGES/django.po b/InvenTree/locale/de/LC_MESSAGES/django.po index 410e78911d..549ecdddf9 100644 --- a/InvenTree/locale/de/LC_MESSAGES/django.po +++ b/InvenTree/locale/de/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-09-12 13:15+0000\n" -"PO-Revision-Date: 2021-09-12 13:44\n" +"POT-Creation-Date: 2021-10-11 06:21+0000\n" +"PO-Revision-Date: 2021-10-11 06:29\n" "Last-Translator: \n" "Language-Team: German\n" "Language: de_DE\n" @@ -33,48 +33,61 @@ msgstr "Keine passende Aktion gefunden" msgid "Enter date" msgstr "Datum eingeben" -#: InvenTree/forms.py:111 build/forms.py:102 build/forms.py:123 -#: build/forms.py:145 build/forms.py:169 build/forms.py:185 build/forms.py:227 -#: order/forms.py:30 order/forms.py:41 order/forms.py:52 order/forms.py:63 -#: order/forms.py:74 part/forms.py:108 templates/js/translated/forms.js:564 +#: InvenTree/forms.py:116 build/forms.py:102 build/forms.py:123 +#: build/forms.py:145 build/forms.py:173 build/forms.py:215 order/forms.py:27 +#: order/forms.py:38 order/forms.py:49 order/forms.py:60 order/forms.py:71 +#: part/forms.py:108 templates/account/email_confirm.html:20 +#: templates/js/translated/forms.js:564 msgid "Confirm" msgstr "Bestätigen" -#: InvenTree/forms.py:127 +#: InvenTree/forms.py:132 msgid "Confirm delete" msgstr "Löschung bestätigen" -#: InvenTree/forms.py:128 +#: InvenTree/forms.py:133 msgid "Confirm item deletion" msgstr "Löschung von Position bestätigen" -#: InvenTree/forms.py:160 templates/registration/login.html:76 +#: InvenTree/forms.py:164 msgid "Enter password" msgstr "Passwort eingeben" -#: InvenTree/forms.py:161 +#: InvenTree/forms.py:165 msgid "Enter new password" msgstr "Neues Passwort eingeben" -#: InvenTree/forms.py:168 +#: InvenTree/forms.py:172 msgid "Confirm password" msgstr "Passwort wiederholen" -#: InvenTree/forms.py:169 +#: InvenTree/forms.py:173 msgid "Confirm new password" msgstr "Neues Passwort bestätigen" -#: InvenTree/forms.py:201 +#: InvenTree/forms.py:205 msgid "Select Category" msgstr "Kategorie auswählen" +#: InvenTree/forms.py:226 +msgid "E-mail (again)" +msgstr "" + +#: InvenTree/forms.py:230 +msgid "E-mail address confirmation" +msgstr "" + +#: InvenTree/forms.py:250 +msgid "You must type the same email each time." +msgstr "" + #: InvenTree/helpers.py:401 #, python-brace-format msgid "Duplicate serial: {n}" msgstr "Doppelte Seriennummer: {n}" -#: InvenTree/helpers.py:408 order/models.py:315 order/models.py:430 -#: stock/views.py:1363 +#: InvenTree/helpers.py:408 order/models.py:315 order/models.py:437 +#: stock/views.py:1340 msgid "Invalid quantity provided" msgstr "Keine gültige Menge" @@ -102,7 +115,7 @@ msgstr "Keine Seriennummern gefunden" msgid "Number of unique serial number ({s}) must match quantity ({q})" msgstr "Anzahl der eindeutigen Seriennummern ({s}) muss mit der Anzahl ({q}) übereinstimmen" -#: InvenTree/models.py:66 stock/models.py:1826 +#: InvenTree/models.py:66 stock/models.py:1823 msgid "Attachment" msgstr "Anhang" @@ -118,10 +131,10 @@ msgstr "Kommentar" msgid "File comment" msgstr "Datei-Kommentar" -#: InvenTree/models.py:75 InvenTree/models.py:76 common/models.py:993 -#: common/models.py:994 part/models.py:2051 +#: InvenTree/models.py:75 InvenTree/models.py:76 common/models.py:1055 +#: common/models.py:1056 part/models.py:2055 #: report/templates/report/inventree_test_report_base.html:91 -#: templates/js/translated/stock.js:1690 +#: templates/js/translated/stock.js:1669 msgid "User" msgstr "Benutzer" @@ -158,37 +171,34 @@ msgstr "Fehler beim Umbenennen" msgid "Invalid choice" msgstr "Ungültige Auswahl" -#: InvenTree/models.py:200 InvenTree/models.py:201 company/models.py:414 -#: label/models.py:112 part/models.py:658 part/models.py:2212 +#: InvenTree/models.py:200 InvenTree/models.py:201 company/models.py:415 +#: label/models.py:112 part/models.py:659 part/models.py:2216 #: part/templates/part/part_base.html:241 report/models.py:181 -#: templates/InvenTree/search.html:137 templates/InvenTree/search.html:289 -#: templates/js/translated/company.js:636 templates/js/translated/part.js:466 -#: templates/js/translated/part.js:603 templates/js/translated/part.js:1130 -#: templates/js/translated/stock.js:1483 +#: templates/js/translated/company.js:637 templates/js/translated/part.js:477 +#: templates/js/translated/part.js:614 templates/js/translated/part.js:1141 +#: templates/js/translated/stock.js:1462 msgid "Name" msgstr "Name" -#: InvenTree/models.py:207 build/models.py:187 -#: build/templates/build/detail.html:24 company/models.py:353 -#: company/models.py:569 company/templates/company/manufacturer_part.html:76 +#: InvenTree/models.py:207 build/models.py:189 +#: build/templates/build/detail.html:24 company/models.py:354 +#: company/models.py:570 company/templates/company/manufacturer_part.html:76 #: company/templates/company/supplier_part.html:75 label/models.py:119 -#: order/models.py:158 part/models.py:681 +#: order/models.py:158 part/models.py:682 #: part/templates/part/part_base.html:246 #: part/templates/part/set_category.html:14 report/models.py:194 #: report/models.py:551 report/models.py:590 #: report/templates/report/inventree_build_order_base.html:118 -#: templates/InvenTree/search.html:144 templates/InvenTree/search.html:224 -#: templates/InvenTree/search.html:296 #: templates/InvenTree/settings/header.html:9 -#: templates/js/translated/bom.js:230 templates/js/translated/build.js:891 -#: templates/js/translated/build.js:1179 templates/js/translated/company.js:344 -#: templates/js/translated/company.js:546 -#: templates/js/translated/company.js:834 templates/js/translated/order.js:341 -#: templates/js/translated/order.js:486 templates/js/translated/order.js:710 -#: templates/js/translated/part.js:525 templates/js/translated/part.js:713 -#: templates/js/translated/part.js:902 templates/js/translated/part.js:1142 -#: templates/js/translated/part.js:1210 templates/js/translated/stock.js:840 -#: templates/js/translated/stock.js:1495 templates/js/translated/stock.js:1540 +#: templates/js/translated/bom.js:249 templates/js/translated/build.js:1217 +#: templates/js/translated/build.js:1505 templates/js/translated/company.js:344 +#: templates/js/translated/company.js:547 +#: templates/js/translated/company.js:836 templates/js/translated/order.js:672 +#: templates/js/translated/order.js:832 templates/js/translated/order.js:1056 +#: templates/js/translated/part.js:536 templates/js/translated/part.js:724 +#: templates/js/translated/part.js:913 templates/js/translated/part.js:1153 +#: templates/js/translated/part.js:1221 templates/js/translated/stock.js:819 +#: templates/js/translated/stock.js:1474 templates/js/translated/stock.js:1519 msgid "Description" msgstr "Beschreibung" @@ -200,7 +210,7 @@ msgstr "Beschreibung (optional)" msgid "parent" msgstr "Eltern" -#: InvenTree/serializers.py:55 part/models.py:2454 +#: InvenTree/serializers.py:55 part/models.py:2475 msgid "Must be a valid number" msgstr "Muss eine gültige Nummer sein" @@ -208,75 +218,75 @@ msgstr "Muss eine gültige Nummer sein" msgid "Filename" msgstr "Dateiname" -#: InvenTree/settings.py:523 +#: InvenTree/settings.py:529 msgid "German" msgstr "Deutsch" -#: InvenTree/settings.py:524 +#: InvenTree/settings.py:530 msgid "Greek" msgstr "Griechisch" -#: InvenTree/settings.py:525 +#: InvenTree/settings.py:531 msgid "English" msgstr "Englisch" -#: InvenTree/settings.py:526 +#: InvenTree/settings.py:532 msgid "Spanish" msgstr "Spanisch" -#: InvenTree/settings.py:527 +#: InvenTree/settings.py:533 msgid "French" msgstr "Französisch" -#: InvenTree/settings.py:528 +#: InvenTree/settings.py:534 msgid "Hebrew" msgstr "Hebräisch" -#: InvenTree/settings.py:529 +#: InvenTree/settings.py:535 msgid "Italian" msgstr "Italienisch" -#: InvenTree/settings.py:530 +#: InvenTree/settings.py:536 msgid "Japanese" msgstr "Japanisch" -#: InvenTree/settings.py:531 +#: InvenTree/settings.py:537 msgid "Korean" msgstr "Koreanisch" -#: InvenTree/settings.py:532 +#: InvenTree/settings.py:538 msgid "Dutch" msgstr "Niederländisch" -#: InvenTree/settings.py:533 +#: InvenTree/settings.py:539 msgid "Norwegian" msgstr "Norwegisch" -#: InvenTree/settings.py:534 +#: InvenTree/settings.py:540 msgid "Polish" msgstr "Polnisch" -#: InvenTree/settings.py:535 +#: InvenTree/settings.py:541 msgid "Russian" msgstr "Russisch" -#: InvenTree/settings.py:536 +#: InvenTree/settings.py:542 msgid "Swedish" msgstr "Schwedisch" -#: InvenTree/settings.py:537 +#: InvenTree/settings.py:543 msgid "Thai" msgstr "Thailändisch" -#: InvenTree/settings.py:538 +#: InvenTree/settings.py:544 msgid "Turkish" msgstr "Türkisch" -#: InvenTree/settings.py:539 +#: InvenTree/settings.py:545 msgid "Vietnamese" msgstr "Vietnamesisch" -#: InvenTree/settings.py:540 +#: InvenTree/settings.py:546 msgid "Chinese" msgstr "Chinesisch" @@ -321,7 +331,7 @@ msgid "Returned" msgstr "Zurückgegeben" #: InvenTree/status_codes.py:146 -#: order/templates/order/sales_order_base.html:126 +#: order/templates/order/sales_order_base.html:131 msgid "Shipped" msgstr "Versendet" @@ -461,27 +471,27 @@ msgstr "Überschuss darf 100% nicht überschreiten" msgid "Overage must be an integer value or a percentage" msgstr "Überschuss muss eine Ganzzahl oder ein Prozentwert sein" -#: InvenTree/views.py:610 +#: InvenTree/views.py:616 msgid "Delete Item" msgstr "Element löschen" -#: InvenTree/views.py:659 +#: InvenTree/views.py:665 msgid "Check box to confirm item deletion" msgstr "Häkchen setzen um Löschung von Objekt zu bestätigen" -#: InvenTree/views.py:674 templates/InvenTree/settings/user.html:14 +#: InvenTree/views.py:680 templates/InvenTree/settings/user.html:18 msgid "Edit User Information" msgstr "Benutzerinformationen bearbeiten" -#: InvenTree/views.py:685 templates/InvenTree/settings/user.html:18 +#: InvenTree/views.py:691 templates/InvenTree/settings/user.html:22 msgid "Set Password" msgstr "Passwort eingeben" -#: InvenTree/views.py:704 +#: InvenTree/views.py:710 msgid "Password fields must match" msgstr "Passwörter stimmen nicht überein" -#: InvenTree/views.py:910 templates/navbar.html:105 +#: InvenTree/views.py:954 templates/navbar.html:97 msgid "System Information" msgstr "Systeminformationen" @@ -525,6 +535,10 @@ msgstr "Barcode ist bereits BestandsObjekt zugeordnet" msgid "Barcode associated with StockItem" msgstr "Barcode zugeordnet zu BestandsObjekt" +#: build/api.py:213 +msgid "Matching build order does not exist" +msgstr "Es existiert kein passender Build-Auftrag" + #: build/forms.py:37 msgid "Build Order reference" msgstr "Bauauftrags-Referenz" @@ -536,33 +550,28 @@ msgstr "geplantes Bestelldatum" #: build/forms.py:42 build/templates/build/build_base.html:146 #: build/templates/build/detail.html:124 #: order/templates/order/order_base.html:124 -#: order/templates/order/sales_order_base.html:119 +#: order/templates/order/sales_order_base.html:124 #: report/templates/report/inventree_build_order_base.html:126 -#: templates/js/translated/build.js:962 templates/js/translated/order.js:358 -#: templates/js/translated/order.js:728 +#: templates/js/translated/build.js:1288 templates/js/translated/order.js:689 +#: templates/js/translated/order.js:1074 msgid "Target Date" msgstr "Zieldatum" -#: build/forms.py:43 build/models.py:277 +#: build/forms.py:43 build/models.py:279 msgid "Target date for build completion. Build will be overdue after this date." msgstr "Zieldatum für Bauauftrag-Fertigstellung." -#: build/forms.py:48 build/forms.py:90 build/forms.py:266 build/models.py:1402 +#: build/forms.py:48 build/forms.py:90 build/models.py:1281 #: build/templates/build/allocation_card.html:23 -#: build/templates/build/auto_allocate.html:17 #: build/templates/build/build_base.html:133 -#: build/templates/build/detail.html:34 common/models.py:1025 +#: build/templates/build/detail.html:34 common/models.py:1087 #: company/forms.py:42 company/templates/company/supplier_part.html:226 -#: order/forms.py:120 order/forms.py:142 order/forms.py:159 order/models.py:712 -#: order/models.py:964 order/templates/order/order_wizard/match_parts.html:30 -#: order/templates/order/order_wizard/select_parts.html:34 -#: order/templates/order/sales_order_detail.html:201 -#: order/templates/order/sales_order_detail.html:208 -#: order/templates/order/sales_order_detail.html:293 -#: order/templates/order/sales_order_detail.html:365 part/forms.py:249 -#: part/forms.py:265 part/forms.py:281 part/models.py:2356 +#: order/forms.py:101 order/forms.py:123 order/models.py:720 +#: order/models.py:982 order/templates/order/order_wizard/match_parts.html:30 +#: order/templates/order/order_wizard/select_parts.html:34 part/forms.py:249 +#: part/forms.py:265 part/forms.py:281 part/models.py:2377 #: part/templates/part/bom_upload/match_parts.html:31 -#: part/templates/part/detail.html:973 part/templates/part/detail.html:1059 +#: part/templates/part/detail.html:944 part/templates/part/detail.html:1030 #: part/templates/part/part_pricing.html:16 #: report/templates/report/inventree_build_order_base.html:114 #: report/templates/report/inventree_po_report.html:91 @@ -570,14 +579,16 @@ msgstr "Zieldatum für Bauauftrag-Fertigstellung." #: report/templates/report/inventree_test_report_base.html:77 #: stock/forms.py:140 stock/templates/stock/item_base.html:269 #: stock/templates/stock/stock_adjust.html:18 -#: templates/js/translated/barcode.js:386 templates/js/translated/bom.js:245 -#: templates/js/translated/build.js:298 templates/js/translated/build.js:629 -#: templates/js/translated/build.js:1189 -#: templates/js/translated/model_renderers.js:59 -#: templates/js/translated/order.js:522 templates/js/translated/order.js:824 -#: templates/js/translated/part.js:1317 templates/js/translated/part.js:1440 -#: templates/js/translated/part.js:1518 templates/js/translated/stock.js:1675 -#: templates/js/translated/stock.js:1850 +#: templates/js/translated/barcode.js:386 templates/js/translated/bom.js:264 +#: templates/js/translated/build.js:314 templates/js/translated/build.js:638 +#: templates/js/translated/build.js:977 templates/js/translated/build.js:1515 +#: templates/js/translated/model_renderers.js:74 +#: templates/js/translated/order.js:868 templates/js/translated/order.js:1170 +#: templates/js/translated/order.js:1248 templates/js/translated/order.js:1255 +#: templates/js/translated/order.js:1344 templates/js/translated/order.js:1444 +#: templates/js/translated/part.js:1364 templates/js/translated/part.js:1487 +#: templates/js/translated/part.js:1565 templates/js/translated/stock.js:1654 +#: templates/js/translated/stock.js:1829 msgid "Quantity" msgstr "Anzahl" @@ -589,7 +600,7 @@ msgstr "Anzahl der zu bauenden Teile" msgid "Enter quantity for build output" msgstr "Menge der Endprodukte angeben" -#: build/forms.py:95 order/forms.py:114 stock/forms.py:83 +#: build/forms.py:95 order/forms.py:95 stock/forms.py:83 msgid "Serial Numbers" msgstr "Seriennummer" @@ -609,246 +620,238 @@ msgstr "Löschen des Endprodukt bestätigen" msgid "Confirm unallocation of stock" msgstr "Aufhebung der BestandsZuordnung bestätigen" -#: build/forms.py:169 -msgid "Confirm stock allocation" -msgstr "Bestandszuordnung bestätigen" - -#: build/forms.py:186 +#: build/forms.py:174 msgid "Mark build as complete" msgstr "Bauauftrag als vollständig markieren" -#: build/forms.py:210 build/templates/build/auto_allocate.html:18 -#: order/serializers.py:216 order/serializers.py:275 stock/forms.py:280 +#: build/forms.py:198 order/serializers.py:217 order/serializers.py:284 +#: stock/forms.py:280 stock/serializers.py:553 #: stock/templates/stock/item_base.html:299 #: stock/templates/stock/stock_adjust.html:17 -#: templates/InvenTree/search.html:260 templates/js/translated/barcode.js:385 -#: templates/js/translated/barcode.js:555 templates/js/translated/build.js:283 -#: templates/js/translated/build.js:643 templates/js/translated/order.js:809 -#: templates/js/translated/part.js:174 templates/js/translated/stock.js:203 -#: templates/js/translated/stock.js:329 templates/js/translated/stock.js:942 -#: templates/js/translated/stock.js:1567 +#: templates/js/translated/barcode.js:385 +#: templates/js/translated/barcode.js:555 templates/js/translated/build.js:299 +#: templates/js/translated/build.js:650 templates/js/translated/order.js:347 +#: templates/js/translated/order.js:1155 templates/js/translated/order.js:1263 +#: templates/js/translated/order.js:1269 templates/js/translated/part.js:179 +#: templates/js/translated/stock.js:183 templates/js/translated/stock.js:921 +#: templates/js/translated/stock.js:1546 msgid "Location" msgstr "Lagerort" -#: build/forms.py:211 +#: build/forms.py:199 msgid "Location of completed parts" msgstr "Lagerort der Endprodukte" -#: build/forms.py:215 build/templates/build/build_base.html:138 -#: build/templates/build/detail.html:62 order/models.py:555 -#: order/serializers.py:230 order/templates/order/receive_parts.html:24 -#: stock/templates/stock/item_base.html:422 templates/InvenTree/search.html:252 -#: templates/js/translated/barcode.js:141 templates/js/translated/build.js:925 -#: templates/js/translated/order.js:345 templates/js/translated/order.js:715 -#: templates/js/translated/stock.js:917 templates/js/translated/stock.js:1644 -#: templates/js/translated/stock.js:1866 +#: build/forms.py:203 build/templates/build/build_base.html:138 +#: build/templates/build/detail.html:62 order/models.py:563 +#: order/serializers.py:238 stock/templates/stock/item_base.html:422 +#: templates/js/translated/barcode.js:141 templates/js/translated/build.js:1251 +#: templates/js/translated/order.js:430 templates/js/translated/order.js:676 +#: templates/js/translated/order.js:1061 templates/js/translated/stock.js:896 +#: templates/js/translated/stock.js:1623 templates/js/translated/stock.js:1845 msgid "Status" msgstr "Status" -#: build/forms.py:216 +#: build/forms.py:204 msgid "Build output stock status" msgstr "Bestands-Status der Endprodukte" -#: build/forms.py:223 +#: build/forms.py:211 msgid "Confirm incomplete" msgstr "Bauauftrag nicht fertiggestellt" -#: build/forms.py:224 +#: build/forms.py:212 msgid "Confirm completion with incomplete stock allocation" msgstr "Fertigstellung mit nicht kompletter Bestandszuordnung bestätigen" -#: build/forms.py:227 +#: build/forms.py:215 msgid "Confirm build completion" msgstr "Bauauftrag-Fertigstellung bestätigen" -#: build/forms.py:252 +#: build/forms.py:240 msgid "Confirm cancel" msgstr "Abbruch bestätigen" -#: build/forms.py:252 build/views.py:65 +#: build/forms.py:240 build/views.py:65 msgid "Confirm build cancellation" msgstr "Bauabbruch bestätigen" -#: build/forms.py:266 -msgid "Select quantity of stock to allocate" -msgstr "Menge der BestandsObjekte für Zuordnung auswählen" - -#: build/models.py:113 +#: build/models.py:115 msgid "Invalid choice for parent build" msgstr "Ungültige Wahl für übergeordneten Bauauftrag" -#: build/models.py:117 build/templates/build/build_base.html:9 +#: build/models.py:119 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:73 #: report/templates/report/inventree_build_order_base.html:106 -#: templates/js/translated/build.js:260 +#: templates/js/translated/build.js:276 msgid "Build Order" msgstr "Bauauftrag" -#: build/models.py:118 build/templates/build/index.html:8 +#: build/models.py:120 build/templates/build/index.html:8 #: build/templates/build/index.html:15 #: order/templates/order/sales_order_detail.html:34 #: order/templates/order/so_navbar.html:19 #: order/templates/order/so_navbar.html:22 part/templates/part/navbar.html:50 #: part/templates/part/navbar.html:53 templates/InvenTree/index.html:229 -#: templates/InvenTree/search.html:185 -#: templates/InvenTree/settings/navbar.html:101 -#: templates/InvenTree/settings/navbar.html:103 users/models.py:44 +#: templates/InvenTree/search.html:171 +#: templates/InvenTree/settings/navbar.html:113 +#: templates/InvenTree/settings/navbar.html:115 users/models.py:44 msgid "Build Orders" msgstr "Bauaufträge" -#: build/models.py:178 +#: build/models.py:180 msgid "Build Order Reference" msgstr "Bauauftragsreferenz" -#: build/models.py:179 order/models.py:246 order/models.py:539 -#: order/models.py:719 order/templates/order/sales_order_detail.html:360 -#: part/models.py:2365 part/templates/part/bom_upload/match_parts.html:30 +#: build/models.py:181 order/models.py:246 order/models.py:547 +#: order/models.py:727 part/models.py:2386 +#: part/templates/part/bom_upload/match_parts.html:30 #: report/templates/report/inventree_po_report.html:92 #: report/templates/report/inventree_so_report.html:92 -#: templates/js/translated/bom.js:237 templates/js/translated/build.js:718 -#: templates/js/translated/build.js:1183 templates/js/translated/order.js:517 +#: templates/js/translated/bom.js:256 templates/js/translated/build.js:734 +#: templates/js/translated/build.js:1509 templates/js/translated/order.js:863 +#: templates/js/translated/order.js:1438 msgid "Reference" msgstr "Referenz" -#: build/models.py:190 +#: build/models.py:192 msgid "Brief description of the build" msgstr "Kurze Beschreibung des Baus" -#: build/models.py:199 build/templates/build/build_base.html:163 +#: build/models.py:201 build/templates/build/build_base.html:163 #: build/templates/build/detail.html:80 msgid "Parent Build" msgstr "Eltern-Bauauftrag" -#: build/models.py:200 +#: build/models.py:202 msgid "BuildOrder to which this build is allocated" msgstr "Bauauftrag, zu dem dieser Bauauftrag zugwiesen ist" -#: build/models.py:205 build/templates/build/auto_allocate.html:16 -#: build/templates/build/build_base.html:128 -#: build/templates/build/detail.html:29 company/models.py:704 -#: order/models.py:772 order/models.py:837 -#: order/templates/order/order_wizard/select_parts.html:32 -#: order/templates/order/receive_parts.html:19 -#: order/templates/order/sales_order_detail.html:345 part/models.py:297 -#: part/models.py:1996 part/models.py:2012 part/models.py:2031 -#: part/models.py:2049 part/models.py:2128 part/models.py:2250 -#: part/models.py:2340 part/templates/part/detail.html:199 +#: build/models.py:207 build/templates/build/build_base.html:128 +#: build/templates/build/detail.html:29 company/models.py:705 +#: order/models.py:780 order/models.py:851 +#: order/templates/order/order_wizard/select_parts.html:32 part/models.py:298 +#: part/models.py:2000 part/models.py:2016 part/models.py:2035 +#: part/models.py:2053 part/models.py:2132 part/models.py:2254 +#: part/models.py:2361 part/templates/part/detail.html:199 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/set_category.html:13 #: report/templates/report/inventree_build_order_base.html:110 #: report/templates/report/inventree_po_report.html:90 #: report/templates/report/inventree_so_report.html:90 -#: templates/InvenTree/search.html:112 templates/InvenTree/search.html:210 -#: templates/js/translated/barcode.js:384 templates/js/translated/bom.js:203 -#: templates/js/translated/build.js:609 templates/js/translated/build.js:896 -#: templates/js/translated/build.js:1156 templates/js/translated/company.js:487 -#: templates/js/translated/company.js:743 templates/js/translated/order.js:471 -#: templates/js/translated/part.js:694 templates/js/translated/part.js:864 -#: templates/js/translated/stock.js:201 templates/js/translated/stock.js:797 -#: templates/js/translated/stock.js:1838 +#: templates/InvenTree/search.html:112 templates/js/translated/barcode.js:384 +#: templates/js/translated/bom.js:222 templates/js/translated/build.js:611 +#: templates/js/translated/build.js:974 templates/js/translated/build.js:1222 +#: templates/js/translated/build.js:1482 templates/js/translated/company.js:488 +#: templates/js/translated/company.js:745 templates/js/translated/order.js:425 +#: templates/js/translated/order.js:817 templates/js/translated/order.js:1422 +#: templates/js/translated/part.js:705 templates/js/translated/part.js:875 +#: templates/js/translated/stock.js:181 templates/js/translated/stock.js:776 +#: templates/js/translated/stock.js:1817 msgid "Part" msgstr "Teil" -#: build/models.py:213 +#: build/models.py:215 msgid "Select part to build" msgstr "Teil für den Bauauftrag wählen" -#: build/models.py:218 +#: build/models.py:220 msgid "Sales Order Reference" msgstr "Auftrag Referenz" -#: build/models.py:222 +#: build/models.py:224 msgid "SalesOrder to which this build is allocated" msgstr "Bestellung, die diesem Bauauftrag zugewiesen ist" -#: build/models.py:227 +#: build/models.py:229 templates/js/translated/build.js:962 msgid "Source Location" msgstr "Quell-Lagerort" -#: build/models.py:231 +#: build/models.py:233 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "Entnahme-Lagerort für diesen Bauauftrag wählen (oder leer lassen für einen beliebigen Lagerort)" -#: build/models.py:236 +#: build/models.py:238 msgid "Destination Location" msgstr "Ziel-Lagerort" -#: build/models.py:240 +#: build/models.py:242 msgid "Select location where the completed items will be stored" msgstr "Lagerort an dem fertige Objekte gelagert werden auswählen" -#: build/models.py:244 +#: build/models.py:246 msgid "Build Quantity" msgstr "Bau-Anzahl" -#: build/models.py:247 +#: build/models.py:249 msgid "Number of stock items to build" msgstr "Anzahl der zu bauenden BestandsObjekt" -#: build/models.py:251 +#: build/models.py:253 msgid "Completed items" msgstr "Fertiggestellte Teile" -#: build/models.py:253 +#: build/models.py:255 msgid "Number of stock items which have been completed" msgstr "Anzahl der fertigen BestandsObjekte" -#: build/models.py:257 part/templates/part/part_base.html:198 +#: build/models.py:259 part/templates/part/part_base.html:198 msgid "Build Status" msgstr "Bauauftrags-Status" -#: build/models.py:261 +#: build/models.py:263 msgid "Build status code" msgstr "Bau-Statuscode" -#: build/models.py:265 stock/models.py:513 +#: build/models.py:267 stock/models.py:513 msgid "Batch Code" msgstr "Losnummer" -#: build/models.py:269 +#: build/models.py:271 msgid "Batch code for this build output" msgstr "Losnummer für dieses Endprodukt" -#: build/models.py:272 order/models.py:162 part/models.py:853 -#: part/templates/part/part_base.html:272 templates/js/translated/order.js:723 +#: build/models.py:274 order/models.py:162 part/models.py:854 +#: part/templates/part/part_base.html:272 templates/js/translated/order.js:1069 msgid "Creation Date" msgstr "Erstelldatum" -#: build/models.py:276 order/models.py:561 +#: build/models.py:278 order/models.py:569 msgid "Target completion date" msgstr "geplantes Fertigstellungsdatum" -#: build/models.py:280 order/models.py:288 templates/js/translated/build.js:967 +#: build/models.py:282 order/models.py:288 +#: templates/js/translated/build.js:1293 msgid "Completion Date" msgstr "Fertigstellungsdatum" -#: build/models.py:286 +#: build/models.py:288 msgid "completed by" msgstr "Fertiggestellt von" -#: build/models.py:294 templates/js/translated/build.js:938 +#: build/models.py:296 templates/js/translated/build.js:1264 msgid "Issued by" msgstr "Aufgegeben von" -#: build/models.py:295 +#: build/models.py:297 msgid "User who issued this build order" msgstr "Nutzer der diesen Bauauftrag erstellt hat" -#: build/models.py:303 build/templates/build/build_base.html:184 +#: build/models.py:305 build/templates/build/build_base.html:184 #: build/templates/build/detail.html:108 order/models.py:176 #: order/templates/order/order_base.html:138 -#: order/templates/order/sales_order_base.html:140 part/models.py:857 +#: order/templates/order/sales_order_base.html:145 part/models.py:858 #: report/templates/report/inventree_build_order_base.html:159 -#: templates/js/translated/build.js:950 +#: templates/js/translated/build.js:1276 msgid "Responsible" msgstr "Verantwortlicher Benutzer" -#: build/models.py:304 +#: build/models.py:306 msgid "User responsible for this build order" msgstr "Nutzer der für diesen Bauauftrag zuständig ist" -#: build/models.py:309 build/templates/build/detail.html:94 +#: build/models.py:311 build/templates/build/detail.html:94 #: company/templates/company/manufacturer_part.html:83 #: company/templates/company/supplier_part.html:82 #: part/templates/part/part_base.html:266 stock/models.py:507 @@ -856,140 +859,157 @@ msgstr "Nutzer der für diesen Bauauftrag zuständig ist" msgid "External Link" msgstr "Externer Link" -#: build/models.py:310 part/models.py:715 stock/models.py:509 +#: build/models.py:312 part/models.py:716 stock/models.py:509 msgid "Link to external URL" msgstr "Link zu einer externen URL" -#: build/models.py:314 build/templates/build/navbar.html:52 -#: company/models.py:141 company/models.py:576 +#: build/models.py:316 build/templates/build/navbar.html:52 +#: company/models.py:142 company/models.py:577 #: company/templates/company/navbar.html:69 #: company/templates/company/navbar.html:72 order/models.py:180 -#: order/models.py:721 order/templates/order/po_navbar.html:38 +#: order/models.py:729 order/templates/order/po_navbar.html:38 #: order/templates/order/po_navbar.html:41 -#: order/templates/order/sales_order_detail.html:440 #: order/templates/order/so_navbar.html:33 -#: order/templates/order/so_navbar.html:36 part/models.py:842 +#: order/templates/order/so_navbar.html:36 part/models.py:843 #: part/templates/part/detail.html:105 part/templates/part/navbar.html:120 #: part/templates/part/navbar.html:123 #: report/templates/report/inventree_build_order_base.html:173 #: stock/forms.py:138 stock/forms.py:250 stock/forms.py:282 stock/models.py:579 -#: stock/models.py:1726 stock/models.py:1832 +#: stock/models.py:1723 stock/models.py:1829 stock/serializers.py:451 #: stock/templates/stock/navbar.html:57 templates/js/translated/barcode.js:59 -#: templates/js/translated/bom.js:385 templates/js/translated/company.js:839 -#: templates/js/translated/order.js:604 templates/js/translated/stock.js:338 -#: templates/js/translated/stock.js:580 templates/js/translated/stock.js:1061 +#: templates/js/translated/bom.js:406 templates/js/translated/company.js:841 +#: templates/js/translated/order.js:950 templates/js/translated/order.js:1540 +#: templates/js/translated/stock.js:559 templates/js/translated/stock.js:1040 msgid "Notes" msgstr "Notizen" -#: build/models.py:315 +#: build/models.py:317 msgid "Extra build notes" msgstr "Extranotizen für den Bauauftrag" -#: build/models.py:792 +#: build/models.py:714 msgid "No build output specified" msgstr "kein Endprodukt angegeben" -#: build/models.py:795 +#: build/models.py:717 msgid "Build output is already completed" msgstr "Endprodukt bereits hergstellt" -#: build/models.py:798 +#: build/models.py:720 msgid "Build output does not match Build Order" msgstr "Endprodukt stimmt nicht mit dem Bauauftrag überein" -#: build/models.py:1208 -msgid "BuildItem must be unique for build, stock_item and install_into" -msgstr "Bauauftrags-Objekt muss für Bauauftrag, Lager-Objekt und installiert_in eindeutig sein" - -#: build/models.py:1233 +#: build/models.py:1102 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:1237 +#: build/models.py:1111 #, python-brace-format -msgid "Allocated quantity ({n}) must not exceed available quantity ({q})" -msgstr "Reserviermenge ({n}) muss kleiner Bestandsmenge ({q}) sein. Zugewiesene Anzahl ({n}) darf nicht die verfügbare ({q}) Anzahl überschreiten" +msgid "Allocated quantity ({q}) must not execed available stock quantity ({a})" +msgstr "" -#: build/models.py:1244 order/models.py:938 -msgid "StockItem is over-allocated" -msgstr "Zu viele BestandsObjekt zugewiesen" +#: build/models.py:1121 +msgid "Stock item is over-allocated" +msgstr "BestandObjekt ist zu oft zugewiesen" -#: build/models.py:1248 order/models.py:941 +#: build/models.py:1127 order/models.py:955 msgid "Allocation quantity must be greater than zero" msgstr "Reserviermenge muss größer null sein" -#: build/models.py:1252 +#: build/models.py:1133 msgid "Quantity must be 1 for serialized stock" msgstr "Anzahl muss 1 für Objekte mit Seriennummer sein" -#: build/models.py:1312 -#, python-brace-format -msgid "Selected stock item not found in BOM for part '{p}'" -msgstr "Ausgewähltes BestandsObjekt nicht Stückliste für Teil '{p}' gefunden" +#: build/models.py:1191 +msgid "Selected stock item not found in BOM" +msgstr "" -#: build/models.py:1372 stock/templates/stock/item_base.html:331 -#: templates/InvenTree/search.html:183 templates/js/translated/build.js:869 +#: build/models.py:1251 stock/templates/stock/item_base.html:331 +#: templates/InvenTree/search.html:169 templates/js/translated/build.js:1195 #: templates/navbar.html:35 msgid "Build" msgstr "Bauauftrag" -#: build/models.py:1373 +#: build/models.py:1252 msgid "Build to allocate parts" msgstr "Bauauftrag starten um Teile zuzuweisen" -#: build/models.py:1389 stock/templates/stock/item_base.html:8 +#: build/models.py:1268 build/serializers.py:151 +#: stock/templates/stock/item_base.html:8 #: stock/templates/stock/item_base.html:31 #: stock/templates/stock/item_base.html:353 #: stock/templates/stock/stock_adjust.html:16 -#: templates/js/translated/build.js:271 templates/js/translated/build.js:276 -#: templates/js/translated/build.js:1012 templates/js/translated/order.js:797 -#: templates/js/translated/order.js:802 templates/js/translated/stock.js:1626 +#: templates/js/translated/build.js:287 templates/js/translated/build.js:292 +#: templates/js/translated/build.js:976 templates/js/translated/build.js:1338 +#: templates/js/translated/order.js:1143 templates/js/translated/order.js:1148 +#: templates/js/translated/stock.js:1605 msgid "Stock Item" msgstr "BestandsObjekt" -#: build/models.py:1390 +#: build/models.py:1269 msgid "Source stock item" msgstr "Quell-BestandsObjekt" -#: build/models.py:1403 +#: build/models.py:1282 msgid "Stock quantity to allocate to build" msgstr "BestandsObjekt-Anzahl dem Bauauftrag zuweisen" -#: build/models.py:1411 +#: build/models.py:1290 msgid "Install into" msgstr "Installiere in" -#: build/models.py:1412 +#: build/models.py:1291 msgid "Destination stock item" msgstr "Ziel-BestandsObjekt" +#: build/serializers.py:133 part/models.py:2501 +msgid "BOM Item" +msgstr "Stücklisten-Position" + +#: build/serializers.py:142 +msgid "bom_item.part must point to the same part as the build order" +msgstr "" + +#: build/serializers.py:157 +msgid "Item must be in stock" +msgstr "Teil muss auf Lager sein" + +#: build/serializers.py:171 order/models.py:313 order/serializers.py:231 +#: stock/models.py:351 stock/models.py:1072 +msgid "Quantity must be greater than zero" +msgstr "Anzahl muss größer Null sein" + +#: build/serializers.py:180 +msgid "Build Output" +msgstr "Endprodukt" + +#: build/serializers.py:213 +#, python-brace-format +msgid "Available quantity ({q}) exceeded" +msgstr "Verfügbare Menge ({q}) überschritten" + +#: build/serializers.py:219 +msgid "Build output must be specified for allocation of tracked parts" +msgstr "" + +#: build/serializers.py:226 +msgid "Build output cannot be specified for allocation of untracked parts" +msgstr "" + +#: build/serializers.py:254 +msgid "Allocation items must be provided" +msgstr "" + #: build/templates/build/allocation_card.html:21 #: build/templates/build/complete_output.html:46 -#: order/templates/order/sales_order_detail.html:206 -#: order/templates/order/sales_order_detail.html:291 #: report/templates/report/inventree_test_report_base.html:75 #: stock/models.py:501 stock/templates/stock/item_base.html:251 -#: templates/js/translated/build.js:627 -#: templates/js/translated/model_renderers.js:57 +#: templates/js/translated/build.js:636 +#: templates/js/translated/model_renderers.js:72 +#: templates/js/translated/order.js:1253 templates/js/translated/order.js:1342 msgid "Serial Number" msgstr "Seriennummer" -#: build/templates/build/auto_allocate.html:9 -msgid "Automatically Allocate Stock" -msgstr "Lagerbestand automatisch zuweisen" - -#: build/templates/build/auto_allocate.html:10 -msgid "The following stock items will be allocated to the specified build output" -msgstr "Die folgenden BestandsObjekte werden den ausgewählten Endprodukten zugeordnet" - -#: build/templates/build/auto_allocate.html:37 -msgid "No stock items found that can be automatically allocated to this build" -msgstr "Keine BestandsObjekte gefunden, die diesem Endprodukt automatisch zugewiesen werden können" - -#: build/templates/build/auto_allocate.html:39 -msgid "Stock items will have to be manually allocated" -msgstr "BestandsObjekte müssen manuell zugewiesen werden" - #: build/templates/build/build_base.html:18 #, python-format msgid "This Build Order is allocated to Sales Order %(link)s" @@ -1033,10 +1053,10 @@ msgstr "Admin" #: order/templates/order/order_base.html:32 #: order/templates/order/order_base.html:86 #: order/templates/order/sales_order_base.html:43 -#: order/templates/order/sales_order_base.html:88 +#: order/templates/order/sales_order_base.html:93 #: templates/js/translated/table_filters.js:272 -#: templates/js/translated/table_filters.js:291 -#: templates/js/translated/table_filters.js:308 +#: templates/js/translated/table_filters.js:300 +#: templates/js/translated/table_filters.js:317 msgid "Overdue" msgstr "Überfällig" @@ -1086,14 +1106,14 @@ msgid "Progress" msgstr "Fortschritt" #: build/templates/build/build_base.html:170 -#: build/templates/build/detail.html:87 order/models.py:835 +#: build/templates/build/detail.html:87 order/models.py:848 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:35 #: order/templates/order/sales_order_ship.html:25 #: report/templates/report/inventree_build_order_base.html:136 #: report/templates/report/inventree_so_report.html:77 #: stock/templates/stock/item_base.html:293 -#: templates/js/translated/order.js:670 +#: templates/js/translated/order.js:1016 msgid "Sales Order" msgstr "Auftrag" @@ -1171,28 +1191,6 @@ msgstr "verfolgte Teile wurden nicht vollständig zugewiesen" msgid "The following items will be created" msgstr "Die folgenden Objekte werden erstellt" -#: build/templates/build/create_build_item.html:7 -msgid "Select a stock item to allocate to the selected build output" -msgstr "BestandsObjekt zur Zuordnung zum ausgewählten Endprodukt auswählen" - -#: build/templates/build/create_build_item.html:11 -#, python-format -msgid "The allocated stock will be installed into the following build output:
%(output)s" -msgstr "Der zugeordnete Bestand wird in den folgenden Endprodukten verbaut werden:
%(output)s" - -#: build/templates/build/create_build_item.html:17 -#, python-format -msgid "No stock available for %(part)s" -msgstr "Kein Bestand verfügbar für %(part)s" - -#: build/templates/build/delete_build_item.html:8 -msgid "Are you sure you want to unallocate this stock?" -msgstr "Sind Sie sicher, dass sie die folgenden Bestands-Zuordnung entfernen möchten?" - -#: build/templates/build/delete_build_item.html:11 -msgid "The selected stock will be unallocated from the build output" -msgstr "Der ausgeählte Bestand wird von den Endprodukten zurückgenommen werden" - #: build/templates/build/detail.html:38 msgid "Stock Source" msgstr "Ausgangs-Lager" @@ -1201,9 +1199,8 @@ msgstr "Ausgangs-Lager" msgid "Stock can be taken from any available location." msgstr "Bestand kann jedem verfügbaren Lagerort entnommen werden." -#: build/templates/build/detail.html:49 order/forms.py:88 order/models.py:794 -#: order/templates/order/receive_parts.html:25 stock/forms.py:134 -#: templates/js/translated/order.js:593 +#: build/templates/build/detail.html:49 order/models.py:802 stock/forms.py:134 +#: templates/js/translated/order.js:431 templates/js/translated/order.js:939 msgid "Destination" msgstr "Ziel-Lager" @@ -1213,7 +1210,7 @@ msgstr "Ziel-Lagerort nicht angegeben" #: build/templates/build/detail.html:73 #: stock/templates/stock/item_base.html:317 -#: templates/js/translated/stock.js:931 templates/js/translated/stock.js:1873 +#: templates/js/translated/stock.js:910 templates/js/translated/stock.js:1852 #: templates/js/translated/table_filters.js:129 #: templates/js/translated/table_filters.js:211 msgid "Batch" @@ -1221,8 +1218,8 @@ msgstr "Losnummer" #: build/templates/build/detail.html:119 #: order/templates/order/order_base.html:111 -#: order/templates/order/sales_order_base.html:113 -#: templates/js/translated/build.js:933 +#: order/templates/order/sales_order_base.html:118 +#: templates/js/translated/build.js:1259 msgid "Created" msgstr "Erstellt" @@ -1230,7 +1227,8 @@ msgstr "Erstellt" msgid "No target date set" msgstr "Kein Ziel-Datum gesetzt" -#: build/templates/build/detail.html:135 templates/js/translated/build.js:911 +#: build/templates/build/detail.html:135 templates/js/translated/build.js:1237 +#: templates/js/translated/table_filters.js:282 msgid "Completed" msgstr "Fertig" @@ -1250,15 +1248,16 @@ msgstr "Lagerbestand Bauauftrag zuweisen" msgid "Allocate stock to build" msgstr "Lagerbestand Bauauftrag zuweisen" -#: build/templates/build/detail.html:173 -msgid "Auto Allocate" -msgstr "Automatisch zuweisen" +#: build/templates/build/detail.html:173 build/templates/build/navbar.html:20 +#: build/templates/build/navbar.html:23 +msgid "Allocate Stock" +msgstr "Lagerbestand zuweisen" -#: build/templates/build/detail.html:175 templates/js/translated/build.js:801 +#: build/templates/build/detail.html:175 templates/js/translated/build.js:817 msgid "Unallocate stock" msgstr "Bestandszuordnung aufheben" -#: build/templates/build/detail.html:176 build/views.py:318 build/views.py:638 +#: build/templates/build/detail.html:176 build/views.py:257 msgid "Unallocate Stock" msgstr "Bestandszuordnung aufheben" @@ -1268,7 +1267,7 @@ msgstr "Benötigte Teile bestellen" #: build/templates/build/detail.html:180 #: company/templates/company/detail.html:32 -#: company/templates/company/detail.html:72 order/views.py:679 +#: company/templates/company/detail.html:72 order/views.py:509 #: part/templates/part/category.html:140 msgid "Order Parts" msgstr "Teile bestellen" @@ -1282,38 +1281,42 @@ msgid "Untracked stock has not been fully allocated for this Build Order" msgstr "Nicht verfolgter Lagerbestand wurde Bauauftrag noch nicht vollständig zugewiesen" #: build/templates/build/detail.html:197 +msgid "Allocate selected items" +msgstr "" + +#: build/templates/build/detail.html:209 msgid "This Build Order does not have any associated untracked BOM items" msgstr "Dieser Bauauftrag hat keine zugeordneten Stücklisten-Einträge" -#: build/templates/build/detail.html:206 +#: build/templates/build/detail.html:218 msgid "Incomplete Build Outputs" msgstr "Unfertige Endprodukte" -#: build/templates/build/detail.html:211 +#: build/templates/build/detail.html:223 msgid "Create new build output" msgstr "Neues Endprodukt anlegen" -#: build/templates/build/detail.html:212 +#: build/templates/build/detail.html:224 msgid "Create New Output" msgstr "Neues Endprodukt anlegen" -#: build/templates/build/detail.html:225 +#: build/templates/build/detail.html:237 msgid "Create a new build output" msgstr "Neues Endprodukt anlegen" -#: build/templates/build/detail.html:226 +#: build/templates/build/detail.html:238 msgid "No incomplete build outputs remain." msgstr "Keine unfertigen Endprodukte verbleibend." -#: build/templates/build/detail.html:227 +#: build/templates/build/detail.html:239 msgid "Create a new build output using the button above" msgstr "Neues Endprodukt mit der Schaltfläche oberhalb anlegen" -#: build/templates/build/detail.html:235 +#: build/templates/build/detail.html:247 msgid "Completed Build Outputs" msgstr "Fertiggestellte Endprodukte" -#: build/templates/build/detail.html:246 build/templates/build/navbar.html:42 +#: build/templates/build/detail.html:258 build/templates/build/navbar.html:42 #: build/templates/build/navbar.html:45 order/templates/order/po_navbar.html:35 #: order/templates/order/sales_order_detail.html:43 #: order/templates/order/so_navbar.html:29 part/templates/part/detail.html:173 @@ -1323,15 +1326,15 @@ msgstr "Fertiggestellte Endprodukte" msgid "Attachments" msgstr "Anhänge" -#: build/templates/build/detail.html:257 +#: build/templates/build/detail.html:269 msgid "Build Notes" msgstr "Bauauftrags-Notizen" -#: build/templates/build/detail.html:261 build/templates/build/detail.html:398 +#: build/templates/build/detail.html:273 build/templates/build/detail.html:414 #: company/templates/company/detail.html:169 #: company/templates/company/detail.html:196 -#: order/templates/order/purchase_order_detail.html:62 -#: order/templates/order/purchase_order_detail.html:95 +#: order/templates/order/purchase_order_detail.html:71 +#: order/templates/order/purchase_order_detail.html:104 #: order/templates/order/sales_order_detail.html:58 #: order/templates/order/sales_order_detail.html:85 #: part/templates/part/detail.html:109 stock/templates/stock/item.html:103 @@ -1339,39 +1342,48 @@ msgstr "Bauauftrags-Notizen" msgid "Edit Notes" msgstr "Anmerkungen bearbeiten" -#: build/templates/build/detail.html:357 +#: build/templates/build/detail.html:373 #: order/templates/order/po_attachments.html:79 -#: order/templates/order/purchase_order_detail.html:157 +#: order/templates/order/purchase_order_detail.html:166 #: order/templates/order/sales_order_detail.html:146 -#: part/templates/part/detail.html:920 stock/templates/stock/item.html:253 +#: part/templates/part/detail.html:891 stock/templates/stock/item.html:253 #: templates/attachment_table.html:6 msgid "Add Attachment" msgstr "Anhang hinzufügen" -#: build/templates/build/detail.html:376 +#: build/templates/build/detail.html:392 #: order/templates/order/po_attachments.html:51 -#: order/templates/order/purchase_order_detail.html:129 +#: order/templates/order/purchase_order_detail.html:138 #: order/templates/order/sales_order_detail.html:119 -#: part/templates/part/detail.html:874 stock/templates/stock/item.html:221 +#: part/templates/part/detail.html:845 stock/templates/stock/item.html:221 msgid "Edit Attachment" msgstr "Anhang bearbeiten" -#: build/templates/build/detail.html:383 +#: build/templates/build/detail.html:399 #: order/templates/order/po_attachments.html:58 -#: order/templates/order/purchase_order_detail.html:136 +#: order/templates/order/purchase_order_detail.html:145 #: order/templates/order/sales_order_detail.html:125 -#: part/templates/part/detail.html:883 stock/templates/stock/item.html:230 +#: part/templates/part/detail.html:854 stock/templates/stock/item.html:230 +#: templates/js/translated/order.js:1230 msgid "Confirm Delete Operation" msgstr "Löschvorgang bestätigen" -#: build/templates/build/detail.html:384 +#: build/templates/build/detail.html:400 #: order/templates/order/po_attachments.html:59 -#: order/templates/order/purchase_order_detail.html:137 +#: order/templates/order/purchase_order_detail.html:146 #: order/templates/order/sales_order_detail.html:126 -#: part/templates/part/detail.html:884 stock/templates/stock/item.html:231 +#: part/templates/part/detail.html:855 stock/templates/stock/item.html:231 msgid "Delete Attachment" msgstr "Anhang löschen" +#: build/templates/build/detail.html:443 +msgid "Allocation Complete" +msgstr "Zuordnung abgeschlossen" + +#: build/templates/build/detail.html:444 +msgid "All untracked stock items have been allocated" +msgstr "" + #: build/templates/build/edit_build_item.html:7 msgid "Alter the quantity of stock allocated to the build output" msgstr "Anzahl des zugeordneten Bestands für die Endprodukte ändern" @@ -1401,15 +1413,10 @@ msgid "Build Order Details" msgstr "Bauauftrag-details" #: build/templates/build/navbar.html:15 order/templates/order/po_navbar.html:15 -#: templates/js/translated/stock.js:1555 +#: templates/js/translated/stock.js:1534 msgid "Details" msgstr "Details" -#: build/templates/build/navbar.html:20 build/templates/build/navbar.html:23 -#: build/views.py:90 -msgid "Allocate Stock" -msgstr "Lagerbestand zuweisen" - #: build/templates/build/navbar.html:28 build/templates/build/navbar.html:31 msgid "Build Outputs" msgstr "Endprodukte" @@ -1434,120 +1441,82 @@ msgstr "Alle unvollständigen Bestandszuordnungen werden vom Endprodukt entfernt msgid "Build was cancelled" msgstr "Bauauftrag wurde abgebrochen" -#: build/views.py:137 -msgid "Allocated stock to build output" -msgstr "Bestand dem Endprodukt zuweisen" - -#: build/views.py:149 +#: build/views.py:88 msgid "Create Build Output" msgstr "Endprodukt anlegen" -#: build/views.py:167 +#: build/views.py:106 msgid "Maximum output quantity is " msgstr "Maximale Endproduktmenge ist " -#: build/views.py:183 stock/views.py:1389 +#: build/views.py:122 stock/views.py:1366 msgid "Serial numbers already exist" msgstr "Seriennummern existieren bereits" -#: build/views.py:192 +#: build/views.py:131 msgid "Serial numbers required for trackable build output" msgstr "Seriennummern für verfolgbare Endprodukte benötigt" -#: build/views.py:258 +#: build/views.py:197 msgid "Delete Build Output" msgstr "Endprodukt entfernen" -#: build/views.py:279 build/views.py:369 +#: build/views.py:218 build/views.py:308 msgid "Confirm unallocation of build stock" msgstr "Entfernung von Bestands-Zuordnung bestätigen" -#: build/views.py:280 build/views.py:370 stock/views.py:404 +#: build/views.py:219 build/views.py:309 stock/views.py:381 msgid "Check the confirmation box" msgstr "Bestätigungsbox bestätigen" -#: build/views.py:292 +#: build/views.py:231 msgid "Build output does not match build" msgstr "Endprodukt stimmt nicht mit Bauauftrag überein" -#: build/views.py:294 build/views.py:495 +#: build/views.py:233 build/views.py:434 msgid "Build output must be specified" msgstr "Endprodukt muss angegeben sein" -#: build/views.py:306 +#: build/views.py:245 msgid "Build output deleted" msgstr "Endprodukt gelöscht" -#: build/views.py:404 +#: build/views.py:343 msgid "Complete Build Order" msgstr "Bauauftrag fertigstellen" -#: build/views.py:410 +#: build/views.py:349 msgid "Build order cannot be completed - incomplete outputs remain" msgstr "Bauauftrag kann nicht abgeschlossen werden, es gibt noch unvollständige Endprodukte" -#: build/views.py:421 +#: build/views.py:360 msgid "Completed build order" msgstr "Bauauftrag fertiggestellt" -#: build/views.py:437 +#: build/views.py:376 msgid "Complete Build Output" msgstr "Endprodukt fertigstellen" -#: build/views.py:479 +#: build/views.py:418 msgid "Invalid stock status value selected" msgstr "Ungültiger Lagerbestands-Status ausgewählt" -#: build/views.py:486 +#: build/views.py:425 msgid "Quantity to complete cannot exceed build output quantity" msgstr "Fertigzustellende Anzahl darf nicht die geplante Endprodukt-Anzahl überschreiten" -#: build/views.py:492 +#: build/views.py:431 msgid "Confirm completion of incomplete build" msgstr "Endprodukt-Fertigstellung bestätigen" -#: build/views.py:591 +#: build/views.py:530 msgid "Build output completed" msgstr "Endprodukt fertiggestellt" -#: build/views.py:628 +#: build/views.py:567 msgid "Delete Build Order" msgstr "Bauauftrag löschen" -#: build/views.py:643 -msgid "Removed parts from build allocation" -msgstr "Teile von Bauzuordnung entfernt" - -#: build/views.py:655 -msgid "Allocate stock to build output" -msgstr "Bestand dem Endprodukt zuweisen" - -#: build/views.py:698 -msgid "Item must be currently in stock" -msgstr "Teil muss aktuell im Bestand sein" - -#: build/views.py:704 -msgid "Stock item is over-allocated" -msgstr "BestandObjekt ist zu oft zugewiesen" - -#: build/views.py:705 templates/js/translated/bom.js:269 -#: templates/js/translated/build.js:728 templates/js/translated/build.js:1019 -#: templates/js/translated/build.js:1196 -msgid "Available" -msgstr "Verfügbar" - -#: build/views.py:707 -msgid "Stock item must be selected" -msgstr "BestandsObjekt muss ausgewählt sein" - -#: build/views.py:870 -msgid "Edit Stock Allocation" -msgstr "Bestandszuordnung bearbeiten" - -#: build/views.py:874 -msgid "Updated Build Item" -msgstr "Bauobjekt aktualisiert" - #: common/files.py:67 msgid "Unsupported file format: {ext.upper()}" msgstr "Dateiformat nicht unterstützt: {ext.upper()}" @@ -1585,7 +1554,7 @@ msgstr "{name.title()} Datei" msgid "Select {name} file to upload" msgstr "{name} Datei zum Hochladen auswählen" -#: common/models.py:308 common/models.py:839 common/models.py:986 +#: common/models.py:308 common/models.py:887 common/models.py:1048 msgid "Settings key (must be unique - case insensitive" msgstr "Einstellungs-Schlüssel (muss einzigartig sein, Groß-/ Kleinschreibung wird nicht beachtet)" @@ -1625,7 +1594,7 @@ msgstr "Name der Instanz verwenden" msgid "Use the instance name in the title-bar" msgstr "Den Namen der Instanz in der Titelleiste verwenden" -#: common/models.py:522 company/models.py:99 company/models.py:100 +#: common/models.py:522 company/models.py:100 company/models.py:101 msgid "Company name" msgstr "Firmenname" @@ -1721,9 +1690,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:603 part/models.py:2252 report/models.py:187 +#: common/models.py:603 part/models.py:2256 report/models.py:187 #: stock/forms.py:224 templates/js/translated/table_filters.js:38 -#: templates/js/translated/table_filters.js:342 +#: templates/js/translated/table_filters.js:351 msgid "Template" msgstr "Vorlage" @@ -1731,9 +1700,9 @@ msgstr "Vorlage" msgid "Parts are templates by default" msgstr "Teile sind standardmäßig Vorlagen" -#: common/models.py:610 part/models.py:805 +#: common/models.py:610 part/models.py:806 #: templates/js/translated/table_filters.js:146 -#: templates/js/translated/table_filters.js:354 +#: templates/js/translated/table_filters.js:363 msgid "Assembly" msgstr "Baugruppe" @@ -1741,8 +1710,8 @@ msgstr "Baugruppe" msgid "Parts can be assembled from other components by default" msgstr "Teile können standardmäßig aus anderen Teilen angefertigt werden" -#: common/models.py:617 part/models.py:811 -#: templates/js/translated/table_filters.js:358 +#: common/models.py:617 part/models.py:812 +#: templates/js/translated/table_filters.js:367 msgid "Component" msgstr "Komponente" @@ -1750,7 +1719,7 @@ msgstr "Komponente" msgid "Parts can be used as sub-components by default" msgstr "Teile können standardmäßig in Baugruppen benutzt werden" -#: common/models.py:624 part/models.py:822 +#: common/models.py:624 part/models.py:823 msgid "Purchaseable" msgstr "Kaufbar" @@ -1758,8 +1727,8 @@ msgstr "Kaufbar" msgid "Parts are purchaseable by default" msgstr "Artikel sind grundsätzlich kaufbar" -#: common/models.py:631 part/models.py:827 -#: templates/js/translated/table_filters.js:366 +#: common/models.py:631 part/models.py:828 +#: templates/js/translated/table_filters.js:375 msgid "Salable" msgstr "Verkäuflich" @@ -1767,9 +1736,9 @@ msgstr "Verkäuflich" msgid "Parts are salable by default" msgstr "Artikel sind grundsätzlich verkaufbar" -#: common/models.py:638 part/models.py:817 +#: common/models.py:638 part/models.py:818 #: templates/js/translated/table_filters.js:46 -#: templates/js/translated/table_filters.js:370 +#: templates/js/translated/table_filters.js:379 msgid "Trackable" msgstr "Nachverfolgbar" @@ -1777,7 +1746,7 @@ msgstr "Nachverfolgbar" msgid "Parts are trackable by default" msgstr "Artikel sind grundsätzlich verfolgbar" -#: common/models.py:645 part/models.py:837 +#: common/models.py:645 part/models.py:838 #: part/templates/part/part_base.html:66 #: templates/js/translated/table_filters.js:42 msgid "Virtual" @@ -1787,392 +1756,464 @@ msgstr "Virtuell" msgid "Parts are virtual by default" msgstr "Teile sind grundsätzlich virtuell" -#: common/models.py:653 -msgid "Show Quantity in Forms" -msgstr "zeige Bestand in Eingabemasken" - -#: common/models.py:654 -msgid "Display available part quantity in some forms" -msgstr "Zeige den verfügbaren Bestand in einigen Eingabemasken" - -#: common/models.py:660 +#: common/models.py:652 msgid "Show Import in Views" msgstr "Import in Ansichten anzeigen" -#: common/models.py:661 +#: common/models.py:653 msgid "Display the import wizard in some part views" msgstr "Importassistent in einigen Teil-Ansichten anzeigen" -#: common/models.py:667 +#: common/models.py:659 msgid "Show Price in Forms" msgstr "Preis in Formularen anzeigen" -#: common/models.py:668 +#: common/models.py:660 msgid "Display part price in some forms" msgstr "Teilpreis in einigen Formularen anzeigen" -#: common/models.py:674 +#: common/models.py:671 +msgid "Show Price in BOM" +msgstr "" + +#: common/models.py:672 +msgid "Include pricing information in BOM tables" +msgstr "" + +#: common/models.py:678 msgid "Show related parts" msgstr "Verwandte Teile anzeigen" -#: common/models.py:675 +#: common/models.py:679 msgid "Display related parts for a part" msgstr "Verwandte Teile eines Teils anzeigen" -#: common/models.py:681 +#: common/models.py:685 msgid "Create initial stock" msgstr "Ausgangsbestand erstellen" -#: common/models.py:682 +#: common/models.py:686 msgid "Create initial stock on part creation" msgstr "Ausgangsbestand beim Erstellen von Teilen erstellen" -#: common/models.py:688 +#: common/models.py:692 msgid "Internal Prices" msgstr "Interne Preise" -#: common/models.py:689 +#: common/models.py:693 msgid "Enable internal prices for parts" msgstr "Interne Preise für Teile aktivieren" -#: common/models.py:695 +#: common/models.py:699 msgid "Internal Price as BOM-Price" msgstr "Interner Preis als Stückliste-Preis" -#: common/models.py:696 +#: common/models.py:700 msgid "Use the internal price (if set) in BOM-price calculations" msgstr "Interner Preis (falls vorhanden) in Stücklisten-Preisberechnungen verwenden" -#: common/models.py:702 templates/stats.html:25 +#: common/models.py:706 templates/stats.html:25 msgid "Debug Mode" msgstr "Entwickler-Modus" -#: common/models.py:703 +#: common/models.py:707 msgid "Generate reports in debug mode (HTML output)" msgstr "Berichte im Entwickler-Modus generieren (als HTML)" -#: common/models.py:709 +#: common/models.py:713 msgid "Page Size" msgstr "Seitengröße" -#: common/models.py:710 +#: common/models.py:714 msgid "Default page size for PDF reports" msgstr "Standardseitenformat für PDF-Bericht" -#: common/models.py:720 +#: common/models.py:724 msgid "Test Reports" msgstr "Test-Berichte" -#: common/models.py:721 +#: common/models.py:725 msgid "Enable generation of test reports" msgstr "Erstellung von Test-Berichten aktivieren" -#: common/models.py:727 +#: common/models.py:731 msgid "Stock Expiry" msgstr "Bestands-Ablauf" -#: common/models.py:728 +#: common/models.py:732 msgid "Enable stock expiry functionality" msgstr "Ablaufen von Bestand ermöglichen" -#: common/models.py:734 +#: common/models.py:738 msgid "Sell Expired Stock" msgstr "Abgelaufenen Bestand verkaufen" -#: common/models.py:735 +#: common/models.py:739 msgid "Allow sale of expired stock" msgstr "Verkauf von abgelaufenem Bestand erlaubt" -#: common/models.py:741 +#: common/models.py:745 msgid "Stock Stale Time" msgstr "Bestands-Stehzeit" -#: common/models.py:742 +#: common/models.py:746 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:744 +#: common/models.py:748 msgid "days" msgstr "Tage" -#: common/models.py:749 +#: common/models.py:753 msgid "Build Expired Stock" msgstr "Abgelaufenen Bestand verbauen" -#: common/models.py:750 +#: common/models.py:754 msgid "Allow building with expired stock" msgstr "Verbauen von abgelaufenen Bestand erlaubt" -#: common/models.py:756 +#: common/models.py:760 msgid "Stock Ownership Control" msgstr "Bestands-Eigentümerkontrolle" -#: common/models.py:757 +#: common/models.py:761 msgid "Enable ownership control over stock locations and items" msgstr "Eigentümerkontrolle für Lagerorte und Teile aktivieren" -#: common/models.py:763 +#: common/models.py:767 msgid "Group by Part" msgstr "Gruppieren nach Teil" -#: common/models.py:764 +#: common/models.py:768 msgid "Group stock items by part reference in table views" msgstr "Bestand in Tabellen anhand von Teil-Referenz gruppieren" -#: common/models.py:770 +#: common/models.py:774 msgid "Build Order Reference Prefix" msgstr "Bauauftrag-Referenz Präfix" -#: common/models.py:771 +#: common/models.py:775 msgid "Prefix value for build order reference" msgstr "Präfix für Bauauftrag-Referenz" -#: common/models.py:776 +#: common/models.py:780 msgid "Build Order Reference Regex" msgstr "Bauauftrag-Referenz RegEx" -#: common/models.py:777 +#: common/models.py:781 msgid "Regular expression pattern for matching build order reference" msgstr "RegEx Muster für die Zuordnung von Bauauftrag-Referenzen" -#: common/models.py:781 +#: common/models.py:785 msgid "Sales Order Reference Prefix" msgstr "Auftrags-Referenz Präfix" -#: common/models.py:782 +#: common/models.py:786 msgid "Prefix value for sales order reference" msgstr "Präfix für Auftrags-Referenz" -#: common/models.py:787 +#: common/models.py:791 msgid "Purchase Order Reference Prefix" msgstr "Bestellungs-Referenz Präfix" -#: common/models.py:788 +#: common/models.py:792 msgid "Prefix value for purchase order reference" msgstr "Präfix für Bestellungs-Referenz" -#: common/models.py:794 +#: common/models.py:798 msgid "Enable build" -msgstr "" +msgstr "Bauaufträge aktivieren" -#: common/models.py:795 +#: common/models.py:799 msgid "Enable build functionality in InvenTree interface" -msgstr "" +msgstr "Bau-Funktionalität in InvenTree aktivieren" -#: common/models.py:800 +#: common/models.py:804 msgid "Enable buy" -msgstr "" +msgstr "Kaufen aktivieren" -#: common/models.py:801 +#: common/models.py:805 msgid "Enable buy functionality in InvenTree interface" -msgstr "" +msgstr "Kauf-Funktionalität in InvenTree aktivieren" -#: common/models.py:806 +#: common/models.py:810 msgid "Enable sell" -msgstr "" +msgstr "Verkauf aktivieren" -#: common/models.py:807 +#: common/models.py:811 msgid "Enable sell functionality in InvenTree interface" -msgstr "" +msgstr "Verkaufs-Funktionalität in InvenTree aktivieren" -#: common/models.py:812 +#: common/models.py:816 msgid "Enable stock" -msgstr "" +msgstr "Lagerbestand aktivieren" -#: common/models.py:813 +#: common/models.py:817 msgid "Enable stock functionality in InvenTree interface" msgstr "" -#: common/models.py:818 +#: common/models.py:822 msgid "Enable SO" -msgstr "" +msgstr "Aufträge aktivieren" -#: common/models.py:819 +#: common/models.py:823 msgid "Enable SO functionality in InvenTree interface" msgstr "" -#: common/models.py:824 +#: common/models.py:828 msgid "Enable PO" -msgstr "" +msgstr "Bestellungen aktivieren" -#: common/models.py:825 +#: common/models.py:829 msgid "Enable PO functionality in InvenTree interface" msgstr "" -#: common/models.py:850 +#: common/models.py:836 +msgid "Enable password forgot" +msgstr "" + +#: common/models.py:837 +msgid "Enable password forgot function on the login-pages" +msgstr "" + +#: common/models.py:842 +msgid "Enable registration" +msgstr "" + +#: common/models.py:843 +msgid "Enable self-registration for users on the login-pages" +msgstr "" + +#: common/models.py:848 +msgid "Enable SSO" +msgstr "" + +#: common/models.py:849 +msgid "Enable SSO on the login-pages" +msgstr "" + +#: common/models.py:854 +msgid "E-Mail required" +msgstr "" + +#: common/models.py:855 +msgid "Require user to supply mail on signup" +msgstr "" + +#: common/models.py:860 +msgid "Auto-fill SSO users" +msgstr "" + +#: common/models.py:861 +msgid "Automatically fill out user-details from SSO account-data" +msgstr "" + +#: common/models.py:866 +msgid "Mail twice" +msgstr "" + +#: common/models.py:867 +msgid "On signup ask users twice for their mail" +msgstr "" + +#: common/models.py:872 +msgid "Password twice" +msgstr "" + +#: common/models.py:873 +msgid "On signup ask users twice for their password" +msgstr "" + +#: common/models.py:898 msgid "Show starred parts" msgstr "Markierte Teile anzeigen" -#: common/models.py:851 +#: common/models.py:899 msgid "Show starred parts on the homepage" msgstr "Zeige markierte Teile auf der Startseite" -#: common/models.py:856 +#: common/models.py:904 msgid "Show latest parts" msgstr "Neueste Teile anzeigen" -#: common/models.py:857 +#: common/models.py:905 msgid "Show latest parts on the homepage" msgstr "Zeige neueste Teile auf der Startseite" -#: common/models.py:862 +#: common/models.py:910 msgid "Recent Part Count" msgstr "Aktuelle Teile-Stände" -#: common/models.py:863 +#: common/models.py:911 msgid "Number of recent parts to display on index page" msgstr "Anzahl der neusten Teile auf der Startseite" -#: common/models.py:869 +#: common/models.py:917 msgid "Show unvalidated BOMs" msgstr "Nicht validierte Stücklisten anzeigen" -#: common/models.py:870 +#: common/models.py:918 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:875 +#: common/models.py:923 msgid "Show recent stock changes" msgstr "Neueste Lagerbestand Änderungen anzeigen" -#: common/models.py:876 +#: common/models.py:924 msgid "Show recently changed stock items on the homepage" msgstr "Zeige zuletzt geänderte Lagerbestände auf der Startseite" -#: common/models.py:881 +#: common/models.py:929 msgid "Recent Stock Count" msgstr "aktueller Bestand" -#: common/models.py:882 +#: common/models.py:930 msgid "Number of recent stock items to display on index page" msgstr "Anzahl des geänderten Bestands auf der Startseite" -#: common/models.py:887 +#: common/models.py:935 msgid "Show low stock" msgstr "Niedrigen Bestand anzeigen" -#: common/models.py:888 +#: common/models.py:936 msgid "Show low stock items on the homepage" msgstr "Zeige geringen Lagerbestand auf der Startseite" -#: common/models.py:893 +#: common/models.py:941 msgid "Show depleted stock" -msgstr "" +msgstr "Lerren Bestand anzeigen" -#: common/models.py:894 +#: common/models.py:942 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:899 +#: common/models.py:947 msgid "Show needed stock" msgstr "Benötigten Bestand anzeigen" -#: common/models.py:900 +#: common/models.py:948 msgid "Show stock items needed for builds on the homepage" msgstr "Zeige Bestand für Bauaufträge auf der Startseite" -#: common/models.py:905 +#: common/models.py:953 msgid "Show expired stock" msgstr "Abgelaufenen Bestand anzeigen" -#: common/models.py:906 +#: common/models.py:954 msgid "Show expired stock items on the homepage" msgstr "Zeige Abgelaufene Lagerbestände auf der Startseite" -#: common/models.py:911 +#: common/models.py:959 msgid "Show stale stock" -msgstr "" +msgstr "Alten Bestand anzeigen" -#: common/models.py:912 +#: common/models.py:960 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:917 +#: common/models.py:965 msgid "Show pending builds" msgstr "Ausstehende Bauaufträge anzeigen" -#: common/models.py:918 +#: common/models.py:966 msgid "Show pending builds on the homepage" msgstr "Zeige ausstehende Bauaufträge auf der Startseite" -#: common/models.py:923 +#: common/models.py:971 msgid "Show overdue builds" msgstr "Zeige überfällige Bauaufträge" -#: common/models.py:924 +#: common/models.py:972 msgid "Show overdue builds on the homepage" msgstr "Zeige überfällige Bauaufträge auf der Startseite" -#: common/models.py:929 +#: common/models.py:977 msgid "Show outstanding POs" msgstr "Ausstehende POs anzeigen" -#: common/models.py:930 +#: common/models.py:978 msgid "Show outstanding POs on the homepage" msgstr "Ausstehende POs auf der Startseite anzeigen" -#: common/models.py:935 +#: common/models.py:983 msgid "Show overdue POs" msgstr "Überfällige POs anzeigen" -#: common/models.py:936 +#: common/models.py:984 msgid "Show overdue POs on the homepage" msgstr "Überfällige POs auf der Startseite anzeigen" -#: common/models.py:941 +#: common/models.py:989 msgid "Show outstanding SOs" msgstr "Ausstehende SOs anzeigen" -#: common/models.py:942 +#: common/models.py:990 msgid "Show outstanding SOs on the homepage" msgstr "Ausstehende SOs auf der Startseite anzeigen" -#: common/models.py:947 +#: common/models.py:995 msgid "Show overdue SOs" msgstr "Überfällige SOs anzeigen" -#: common/models.py:948 +#: common/models.py:996 msgid "Show overdue SOs on the homepage" msgstr "Überfällige SOs auf der Startseite anzeigen" -#: common/models.py:954 +#: common/models.py:1002 msgid "Inline label display" -msgstr "" +msgstr "Label inline anzeigen" -#: common/models.py:955 +#: common/models.py:1003 msgid "Display PDF labels in the browser, instead of downloading as a file" -msgstr "" +msgstr "PDF-Labels im Browser anzeigen, anstatt als Datei herunterzuladen" -#: common/models.py:961 +#: common/models.py:1009 msgid "Inline report display" msgstr "Berichte inline anzeigen" -#: common/models.py:962 +#: common/models.py:1010 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:968 +#: common/models.py:1016 msgid "Search Preview Results" msgstr "Anzahl Suchergebnisse" -#: common/models.py:969 +#: common/models.py:1017 msgid "Number of results to show in search preview window" msgstr "Anzahl der Ergebnisse, die in der Vorschau angezeigt werden sollen" -#: common/models.py:1026 company/forms.py:43 +#: common/models.py:1023 +msgid "Show Quantity in Forms" +msgstr "zeige Bestand in Eingabemasken" + +#: common/models.py:1024 +msgid "Display available part quantity in some forms" +msgstr "Zeige den verfügbaren Bestand in einigen Eingabemasken" + +#: common/models.py:1030 +msgid "Escape Key Closes Forms" +msgstr "" + +#: common/models.py:1031 +msgid "Use the escape key to close modal forms" +msgstr "" + +#: common/models.py:1088 company/forms.py:43 msgid "Price break quantity" msgstr "Preisstaffelungs Anzahl" -#: common/models.py:1033 company/templates/company/supplier_part.html:231 -#: templates/js/translated/part.js:1322 +#: common/models.py:1095 company/templates/company/supplier_part.html:231 +#: templates/js/translated/part.js:1369 msgid "Price" msgstr "Preis" -#: common/models.py:1034 +#: common/models.py:1096 msgid "Unit price at specified quantity" msgstr "Stückpreis für die angegebene Anzahl" -#: common/models.py:1127 +#: common/models.py:1189 msgid "Default" msgstr "Standard" @@ -2199,7 +2240,7 @@ msgstr "Benutzereinstellungen ändern" #: common/views.py:213 order/templates/order/order_wizard/po_upload.html:42 #: order/templates/order/po_navbar.html:19 #: order/templates/order/po_navbar.html:22 -#: order/templates/order/purchase_order_detail.html:26 order/views.py:290 +#: order/templates/order/purchase_order_detail.html:27 order/views.py:289 #: part/templates/part/bom_upload/upload_file.html:65 #: part/templates/part/import_wizard/part_upload.html:45 part/views.py:268 #: part/views.py:882 @@ -2207,7 +2248,7 @@ msgid "Upload File" msgstr "Datei hochgeladen" #: common/views.py:214 order/templates/order/order_wizard/match_fields.html:52 -#: order/views.py:291 part/templates/part/bom_upload/match_fields.html:52 +#: order/views.py:290 part/templates/part/bom_upload/match_fields.html:52 #: part/templates/part/import_wizard/ajax_match_fields.html:45 #: part/templates/part/import_wizard/match_fields.html:52 part/views.py:269 #: part/views.py:883 @@ -2246,249 +2287,249 @@ msgstr "URL" msgid "Image URL" msgstr "Bild-URL" -#: company/models.py:104 +#: company/models.py:105 msgid "Company description" msgstr "Firmenbeschreibung" -#: company/models.py:105 +#: company/models.py:106 msgid "Description of the company" msgstr "Firmenbeschreibung" -#: company/models.py:111 company/templates/company/company_base.html:70 +#: company/models.py:112 company/templates/company/company_base.html:70 #: templates/js/translated/company.js:348 msgid "Website" msgstr "Website" -#: company/models.py:112 +#: company/models.py:113 msgid "Company website URL" msgstr "Firmenwebsite Adresse/URL" -#: company/models.py:116 company/templates/company/company_base.html:88 +#: company/models.py:117 company/templates/company/company_base.html:88 msgid "Address" msgstr "Adresse" -#: company/models.py:117 +#: company/models.py:118 msgid "Company address" msgstr "Firmenadresse" -#: company/models.py:120 +#: company/models.py:121 msgid "Phone number" msgstr "Kontakt-Tel." -#: company/models.py:121 +#: company/models.py:122 msgid "Contact phone number" msgstr "Kontakt-Telefon" -#: company/models.py:124 company/templates/company/company_base.html:102 +#: company/models.py:125 company/templates/company/company_base.html:102 msgid "Email" msgstr "Email" -#: company/models.py:124 +#: company/models.py:125 msgid "Contact email address" msgstr "Kontakt-Email" -#: company/models.py:127 company/templates/company/company_base.html:109 +#: company/models.py:128 company/templates/company/company_base.html:109 msgid "Contact" msgstr "Kontakt" -#: company/models.py:128 +#: company/models.py:129 msgid "Point of contact" msgstr "Anlaufstelle" -#: company/models.py:130 company/models.py:347 company/models.py:563 -#: order/models.py:160 part/models.py:714 +#: company/models.py:131 company/models.py:348 company/models.py:564 +#: order/models.py:160 part/models.py:715 #: report/templates/report/inventree_build_order_base.html:165 -#: templates/js/translated/company.js:535 -#: templates/js/translated/company.js:823 templates/js/translated/part.js:972 +#: templates/js/translated/company.js:536 +#: templates/js/translated/company.js:825 templates/js/translated/part.js:983 msgid "Link" msgstr "Link" -#: company/models.py:130 +#: company/models.py:131 msgid "Link to external company information" msgstr "Link auf externe Firmeninformation" -#: company/models.py:138 part/models.py:724 +#: company/models.py:139 part/models.py:725 msgid "Image" msgstr "Bild" -#: company/models.py:143 +#: company/models.py:144 msgid "is customer" msgstr "ist Kunde" -#: company/models.py:143 +#: company/models.py:144 msgid "Do you sell items to this company?" msgstr "Verkaufen Sie Teile an diese Firma?" -#: company/models.py:145 +#: company/models.py:146 msgid "is supplier" msgstr "ist Zulieferer" -#: company/models.py:145 +#: company/models.py:146 msgid "Do you purchase items from this company?" msgstr "Kaufen Sie Teile von dieser Firma?" -#: company/models.py:147 +#: company/models.py:148 msgid "is manufacturer" msgstr "ist Hersteller" -#: company/models.py:147 +#: company/models.py:148 msgid "Does this company manufacture parts?" msgstr "Produziert diese Firma Teile?" -#: company/models.py:151 company/serializers.py:264 -#: company/templates/company/company_base.html:76 stock/serializers.py:155 +#: company/models.py:152 company/serializers.py:264 +#: company/templates/company/company_base.html:76 stock/serializers.py:158 msgid "Currency" msgstr "Währung" -#: company/models.py:154 +#: company/models.py:155 msgid "Default currency used for this company" msgstr "Standard-Währung für diese Firma" -#: company/models.py:319 company/models.py:534 stock/models.py:454 +#: company/models.py:320 company/models.py:535 stock/models.py:454 #: stock/templates/stock/item_base.html:237 msgid "Base Part" msgstr "Basisteil" -#: company/models.py:323 company/models.py:538 order/views.py:1082 +#: company/models.py:324 company/models.py:539 order/views.py:912 msgid "Select part" msgstr "Teil auswählen" -#: company/models.py:334 company/templates/company/company_base.html:116 +#: company/models.py:335 company/templates/company/company_base.html:116 #: company/templates/company/manufacturer_part.html:89 #: company/templates/company/supplier_part.html:98 part/bom.py:170 -#: part/bom.py:241 stock/templates/stock/item_base.html:366 +#: part/bom.py:247 stock/templates/stock/item_base.html:366 #: templates/js/translated/company.js:332 -#: templates/js/translated/company.js:512 -#: templates/js/translated/company.js:794 templates/js/translated/part.js:222 +#: templates/js/translated/company.js:513 +#: templates/js/translated/company.js:796 templates/js/translated/part.js:227 msgid "Manufacturer" msgstr "Hersteller" -#: company/models.py:335 templates/js/translated/part.js:223 +#: company/models.py:336 templates/js/translated/part.js:228 msgid "Select manufacturer" msgstr "Hersteller auswählen" -#: company/models.py:341 company/templates/company/manufacturer_part.html:93 +#: company/models.py:342 company/templates/company/manufacturer_part.html:93 #: company/templates/company/supplier_part.html:106 part/bom.py:171 -#: part/bom.py:242 templates/js/translated/company.js:528 -#: templates/js/translated/company.js:812 templates/js/translated/order.js:505 -#: templates/js/translated/part.js:233 +#: part/bom.py:248 templates/js/translated/company.js:529 +#: templates/js/translated/company.js:814 templates/js/translated/order.js:851 +#: templates/js/translated/part.js:238 msgid "MPN" msgstr "MPN" -#: company/models.py:342 templates/js/translated/part.js:234 +#: company/models.py:343 templates/js/translated/part.js:239 msgid "Manufacturer Part Number" msgstr "Hersteller-Teilenummer" -#: company/models.py:348 +#: company/models.py:349 msgid "URL for external manufacturer part link" msgstr "Externe URL für das Herstellerteil" -#: company/models.py:354 +#: company/models.py:355 msgid "Manufacturer part description" msgstr "Teilbeschreibung des Herstellers" -#: company/models.py:408 company/models.py:557 +#: company/models.py:409 company/models.py:558 #: company/templates/company/manufacturer_part.html:6 #: company/templates/company/manufacturer_part.html:23 #: stock/templates/stock/item_base.html:376 msgid "Manufacturer Part" msgstr "Herstellerteil" -#: company/models.py:415 +#: company/models.py:416 msgid "Parameter name" msgstr "Parametername" -#: company/models.py:421 +#: company/models.py:422 #: report/templates/report/inventree_test_report_base.html:90 -#: stock/models.py:1819 templates/InvenTree/settings/header.html:8 -#: templates/js/translated/company.js:642 templates/js/translated/part.js:612 -#: templates/js/translated/stock.js:576 +#: stock/models.py:1816 templates/InvenTree/settings/header.html:8 +#: templates/js/translated/company.js:643 templates/js/translated/part.js:623 +#: templates/js/translated/stock.js:555 msgid "Value" msgstr "Wert" -#: company/models.py:422 +#: company/models.py:423 msgid "Parameter value" msgstr "Parameterwert" -#: company/models.py:428 part/models.py:799 part/models.py:2220 -#: templates/js/translated/company.js:648 templates/js/translated/part.js:618 +#: company/models.py:429 part/models.py:800 part/models.py:2224 +#: templates/js/translated/company.js:649 templates/js/translated/part.js:629 msgid "Units" msgstr "Einheiten" -#: company/models.py:429 +#: company/models.py:430 msgid "Parameter units" msgstr "Parametereinheit" -#: company/models.py:501 +#: company/models.py:502 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:544 company/templates/company/company_base.html:121 +#: company/models.py:545 company/templates/company/company_base.html:121 #: company/templates/company/supplier_part.html:88 order/models.py:260 #: order/templates/order/order_base.html:92 #: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:175 -#: part/bom.py:286 stock/templates/stock/item_base.html:383 +#: part/bom.py:292 stock/templates/stock/item_base.html:383 #: templates/js/translated/company.js:336 -#: templates/js/translated/company.js:768 templates/js/translated/order.js:328 -#: templates/js/translated/part.js:203 +#: templates/js/translated/company.js:770 templates/js/translated/order.js:659 +#: templates/js/translated/part.js:208 msgid "Supplier" msgstr "Zulieferer" -#: company/models.py:545 templates/js/translated/part.js:204 +#: company/models.py:546 templates/js/translated/part.js:209 msgid "Select supplier" msgstr "Zulieferer auswählen" -#: company/models.py:550 company/templates/company/supplier_part.html:92 -#: part/bom.py:176 part/bom.py:287 templates/js/translated/order.js:492 -#: templates/js/translated/part.js:214 +#: company/models.py:551 company/templates/company/supplier_part.html:92 +#: part/bom.py:176 part/bom.py:293 templates/js/translated/order.js:838 +#: templates/js/translated/part.js:219 msgid "SKU" msgstr "SKU (Lagerbestandseinheit)" -#: company/models.py:551 templates/js/translated/part.js:215 +#: company/models.py:552 templates/js/translated/part.js:220 msgid "Supplier stock keeping unit" msgstr "Lagerbestandseinheit (SKU) des Zulieferers" -#: company/models.py:558 +#: company/models.py:559 msgid "Select manufacturer part" msgstr "Herstellerteil auswählen" -#: company/models.py:564 +#: company/models.py:565 msgid "URL for external supplier part link" msgstr "Teil-URL des Zulieferers" -#: company/models.py:570 +#: company/models.py:571 msgid "Supplier part description" msgstr "Zuliefererbeschreibung des Teils" -#: company/models.py:575 company/templates/company/supplier_part.html:120 -#: part/models.py:2368 report/templates/report/inventree_po_report.html:93 +#: company/models.py:576 company/templates/company/supplier_part.html:120 +#: part/models.py:2389 report/templates/report/inventree_po_report.html:93 #: report/templates/report/inventree_so_report.html:93 msgid "Note" msgstr "Notiz" -#: company/models.py:579 part/models.py:1599 +#: company/models.py:580 part/models.py:1603 msgid "base cost" msgstr "Basiskosten" -#: company/models.py:579 part/models.py:1599 +#: company/models.py:580 part/models.py:1603 msgid "Minimum charge (e.g. stocking fee)" msgstr "Mindestpreis" -#: company/models.py:581 company/templates/company/supplier_part.html:113 +#: company/models.py:582 company/templates/company/supplier_part.html:113 #: stock/models.py:478 stock/templates/stock/item_base.html:324 -#: templates/js/translated/company.js:844 templates/js/translated/stock.js:1057 +#: templates/js/translated/company.js:846 templates/js/translated/stock.js:1036 msgid "Packaging" msgstr "Verpackungen" -#: company/models.py:581 +#: company/models.py:582 msgid "Part packaging" msgstr "Teile-Verpackungen" -#: company/models.py:583 part/models.py:1601 +#: company/models.py:584 part/models.py:1605 msgid "multiple" msgstr "Vielfache" -#: company/models.py:583 +#: company/models.py:584 msgid "Order multiple" msgstr "Mehrere bestellen" @@ -2502,7 +2543,7 @@ msgstr "Währungscode" #: company/templates/company/company_base.html:9 #: company/templates/company/company_base.html:35 -#: templates/InvenTree/search.html:304 templates/js/translated/company.js:321 +#: templates/InvenTree/search.html:208 templates/js/translated/company.js:321 msgid "Company" msgstr "Firma" @@ -2517,7 +2558,7 @@ msgid "Download image from URL" msgstr "Bild von URL herunterladen" #: company/templates/company/company_base.html:46 -#: templates/js/translated/order.js:117 +#: templates/js/translated/order.js:120 msgid "Create Purchase Order" msgstr "Bestellung anlegen" @@ -2542,22 +2583,22 @@ msgstr "verwendet Standard-Währung" msgid "Phone" msgstr "Telefon" -#: company/templates/company/company_base.html:126 order/models.py:550 -#: order/templates/order/sales_order_base.html:94 stock/models.py:496 +#: company/templates/company/company_base.html:126 order/models.py:558 +#: order/templates/order/sales_order_base.html:99 stock/models.py:496 #: stock/models.py:497 stock/templates/stock/item_base.html:276 -#: templates/js/translated/company.js:328 templates/js/translated/order.js:692 -#: templates/js/translated/stock.js:1608 +#: templates/js/translated/company.js:328 templates/js/translated/order.js:1038 +#: templates/js/translated/stock.js:1587 msgid "Customer" msgstr "Kunde" -#: company/templates/company/company_base.html:193 -#: part/templates/part/part_base.html:418 +#: company/templates/company/company_base.html:199 +#: part/templates/part/part_base.html:424 msgid "Upload Image" msgstr "Bild hochladen" #: company/templates/company/detail.html:14 #: company/templates/company/manufacturer_part_navbar.html:18 -#: templates/InvenTree/search.html:164 +#: templates/InvenTree/search.html:150 msgid "Supplier Parts" msgstr "Zuliefererteile" @@ -2597,7 +2638,7 @@ msgstr "Teile löschen" msgid "Delete Parts" msgstr "Teile löschen" -#: company/templates/company/detail.html:54 templates/InvenTree/search.html:149 +#: company/templates/company/detail.html:54 templates/InvenTree/search.html:135 msgid "Manufacturer Parts" msgstr "Herstellerteile" @@ -2620,9 +2661,9 @@ msgstr "Zulieferer-Bestand" #: order/templates/order/purchase_orders.html:13 #: part/templates/part/detail.html:50 part/templates/part/navbar.html:82 #: part/templates/part/navbar.html:85 templates/InvenTree/index.html:260 -#: templates/InvenTree/search.html:325 -#: templates/InvenTree/settings/navbar.html:107 -#: templates/InvenTree/settings/navbar.html:109 templates/navbar.html:44 +#: templates/InvenTree/search.html:229 +#: templates/InvenTree/settings/navbar.html:119 +#: templates/InvenTree/settings/navbar.html:121 templates/navbar.html:44 #: users/models.py:45 msgid "Purchase Orders" msgstr "Bestellungen" @@ -2644,9 +2685,9 @@ msgstr "Neue Bestellung" #: order/templates/order/sales_orders.html:13 #: part/templates/part/detail.html:71 part/templates/part/navbar.html:91 #: part/templates/part/navbar.html:94 templates/InvenTree/index.html:291 -#: templates/InvenTree/search.html:345 -#: templates/InvenTree/settings/navbar.html:113 -#: templates/InvenTree/settings/navbar.html:115 templates/navbar.html:55 +#: templates/InvenTree/search.html:249 +#: templates/InvenTree/settings/navbar.html:125 +#: templates/InvenTree/settings/navbar.html:127 templates/navbar.html:55 #: users/models.py:46 msgid "Sales Orders" msgstr "Aufträge" @@ -2664,7 +2705,7 @@ msgstr "Neuer Auftrag" #: company/templates/company/detail.html:147 #: company/templates/company/navbar.html:61 #: company/templates/company/navbar.html:64 -#: templates/js/translated/build.js:620 +#: templates/js/translated/build.js:622 msgid "Assigned Stock" msgstr "Zugeordneter Bestand" @@ -2696,12 +2737,12 @@ msgid "Order part" msgstr "Teil bestellen" #: company/templates/company/manufacturer_part.html:45 -#: templates/js/translated/company.js:560 +#: templates/js/translated/company.js:561 msgid "Edit manufacturer part" msgstr "Herstellerteil bearbeiten" #: company/templates/company/manufacturer_part.html:49 -#: templates/js/translated/company.js:561 +#: templates/js/translated/company.js:562 msgid "Delete manufacturer part" msgstr "Herstellerteil löschen" @@ -2718,7 +2759,7 @@ msgstr "Internes Teil" #: company/templates/company/manufacturer_part_navbar.html:21 #: company/views.py:49 part/templates/part/navbar.html:75 #: part/templates/part/navbar.html:78 part/templates/part/prices.html:163 -#: templates/InvenTree/search.html:316 templates/navbar.html:41 +#: templates/InvenTree/search.html:220 templates/navbar.html:41 msgid "Suppliers" msgstr "Zulieferer" @@ -2732,7 +2773,7 @@ msgstr "Zuliefererteil entfernen" #: company/templates/company/manufacturer_part.html:239 #: part/templates/part/detail.html:214 part/templates/part/detail.html:294 #: part/templates/part/detail.html:317 templates/js/translated/company.js:424 -#: templates/js/translated/helpers.js:31 users/models.py:194 +#: templates/js/translated/helpers.js:31 users/models.py:199 msgid "Delete" msgstr "Löschen" @@ -2758,7 +2799,7 @@ msgid "Delete parameters" msgstr "Parameter löschen" #: company/templates/company/manufacturer_part.html:176 -#: part/templates/part/detail.html:834 +#: part/templates/part/detail.html:805 msgid "Add Parameter" msgstr "Parameter hinzufügen" @@ -2777,16 +2818,15 @@ msgstr "Herstellerteil-Bestand" #: company/templates/company/manufacturer_part_navbar.html:29 #: company/templates/company/navbar.html:39 #: company/templates/company/supplier_part_navbar.html:15 -#: part/templates/part/navbar.html:38 stock/api.py:54 +#: part/templates/part/navbar.html:38 stock/api.py:52 #: stock/templates/stock/loc_link.html:7 stock/templates/stock/location.html:36 #: stock/templates/stock/stock_app_base.html:10 -#: templates/InvenTree/index.html:150 templates/InvenTree/search.html:196 -#: templates/InvenTree/search.html:232 -#: templates/InvenTree/settings/navbar.html:95 -#: templates/InvenTree/settings/navbar.html:97 -#: templates/js/translated/part.js:529 templates/js/translated/part.js:758 -#: templates/js/translated/part.js:934 templates/js/translated/stock.js:202 -#: templates/js/translated/stock.js:850 templates/navbar.html:32 +#: templates/InvenTree/index.html:150 templates/InvenTree/search.html:182 +#: templates/InvenTree/settings/navbar.html:107 +#: templates/InvenTree/settings/navbar.html:109 +#: templates/js/translated/part.js:540 templates/js/translated/part.js:769 +#: templates/js/translated/part.js:945 templates/js/translated/stock.js:182 +#: templates/js/translated/stock.js:829 templates/navbar.html:32 msgid "Stock" msgstr "Lagerbestand" @@ -2815,7 +2855,7 @@ msgstr "Zuliefererteile" #: stock/templates/stock/location.html:148 #: stock/templates/stock/location_navbar.html:18 #: stock/templates/stock/location_navbar.html:21 -#: templates/InvenTree/search.html:198 templates/js/translated/stock.js:1507 +#: templates/InvenTree/search.html:184 templates/js/translated/stock.js:1486 #: templates/stats.html:93 templates/stats.html:102 users/models.py:43 msgid "Stock Items" msgstr "Teilbestand" @@ -2823,17 +2863,17 @@ msgstr "Teilbestand" #: company/templates/company/supplier_part.html:7 #: company/templates/company/supplier_part.html:24 stock/models.py:463 #: stock/templates/stock/item_base.html:388 -#: templates/js/translated/company.js:784 templates/js/translated/stock.js:1014 +#: templates/js/translated/company.js:786 templates/js/translated/stock.js:993 msgid "Supplier Part" msgstr "Zuliefererteil" #: company/templates/company/supplier_part.html:44 -#: templates/js/translated/company.js:857 +#: templates/js/translated/company.js:859 msgid "Edit supplier part" msgstr "Zuliefererteil bearbeiten" #: company/templates/company/supplier_part.html:48 -#: templates/js/translated/company.js:858 +#: templates/js/translated/company.js:860 msgid "Delete supplier part" msgstr "Zuliefererteil entfernen" @@ -2900,7 +2940,7 @@ msgid "New Supplier" msgstr "Neuer Zulieferer" #: company/views.py:55 part/templates/part/prices.html:167 -#: templates/InvenTree/search.html:306 templates/navbar.html:42 +#: templates/InvenTree/search.html:210 templates/navbar.html:42 msgid "Manufacturers" msgstr "Hersteller" @@ -2908,7 +2948,7 @@ msgstr "Hersteller" msgid "New Manufacturer" msgstr "Neuer Hersteller" -#: company/views.py:61 templates/InvenTree/search.html:336 +#: company/views.py:61 templates/InvenTree/search.html:240 #: templates/navbar.html:53 msgid "Customers" msgstr "Kunden" @@ -3011,36 +3051,32 @@ msgstr "Abfragefilter (kommagetrennte Liste mit Schlüssel=Wert-Paaren)" msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" -#: order/api.py:302 -msgid "Destination location must be specified" +#: order/api.py:250 +msgid "Matching purchase order does not exist" msgstr "" -#: order/forms.py:30 order/templates/order/order_base.html:47 +#: order/forms.py:27 order/templates/order/order_base.html:50 msgid "Place order" msgstr "Bestellung aufgeben" -#: order/forms.py:41 order/templates/order/order_base.html:54 +#: order/forms.py:38 order/templates/order/order_base.html:57 msgid "Mark order as complete" msgstr "Bestellung als vollständig markieren" -#: order/forms.py:52 order/forms.py:63 order/templates/order/order_base.html:59 -#: order/templates/order/sales_order_base.html:61 +#: order/forms.py:49 order/forms.py:60 order/templates/order/order_base.html:62 +#: order/templates/order/sales_order_base.html:64 msgid "Cancel order" msgstr "Bestellung stornieren" -#: order/forms.py:74 order/templates/order/sales_order_base.html:58 +#: order/forms.py:71 order/templates/order/sales_order_base.html:61 msgid "Ship order" msgstr "Bestellung versenden" -#: order/forms.py:89 -msgid "Set all received parts listed above to this location (if left blank, use \"Destination\" column value in above table)" -msgstr "" - -#: order/forms.py:116 +#: order/forms.py:97 msgid "Enter stock item serial numbers" msgstr "Seriennummern für BestandsObjekt eingeben" -#: order/forms.py:122 +#: order/forms.py:103 msgid "Enter quantity of stock items" msgstr "Menge der BestandsObjekt eingeben" @@ -3064,11 +3100,11 @@ msgstr "Nutzer oder Gruppe der/die für diesen Auftrag zuständig ist/sind" msgid "Order notes" msgstr "Bestell-Notizen" -#: order/models.py:247 order/models.py:540 +#: order/models.py:247 order/models.py:548 msgid "Order reference" msgstr "Bestell-Referenz" -#: order/models.py:252 order/models.py:555 +#: order/models.py:252 order/models.py:563 msgid "Purchase order status" msgstr "Bestellungs-Status" @@ -3077,7 +3113,7 @@ msgid "Company from which the items are being ordered" msgstr "Firma bei der die Teile bestellt werden" #: order/models.py:264 order/templates/order/order_base.html:98 -#: templates/js/translated/order.js:337 +#: templates/js/translated/order.js:668 msgid "Supplier Reference" msgstr "Zulieferer-Referenz" @@ -3109,190 +3145,190 @@ msgstr "Geplantes Lieferdatum für Auftrag." msgid "Date order was completed" msgstr "Datum an dem der Auftrag fertigstellt wurde" -#: order/models.py:313 stock/models.py:351 stock/models.py:1072 -msgid "Quantity must be greater than zero" -msgstr "Anzahl muss größer Null sein" - #: order/models.py:318 msgid "Part supplier must match PO supplier" msgstr "Teile-Zulieferer muss dem Zulieferer der Bestellung entsprechen" -#: order/models.py:421 -msgid "Lines can only be received against an order marked as 'Placed'" -msgstr "Nur Teile aufgegebener Bestllungen können empfangen werden" - -#: order/models.py:425 +#: order/models.py:428 msgid "Quantity must be an integer" msgstr "Anzahl muss eine Ganzzahl sein" -#: order/models.py:427 +#: order/models.py:432 msgid "Quantity must be a positive number" msgstr "Anzahl muss eine positive Zahl sein" -#: order/models.py:551 +#: order/models.py:559 msgid "Company to which the items are being sold" msgstr "Firma an die die Teile verkauft werden" -#: order/models.py:557 +#: order/models.py:565 msgid "Customer Reference " msgstr "Kundenreferenz" -#: order/models.py:557 +#: order/models.py:565 msgid "Customer order reference code" msgstr "Bestellreferenz" -#: order/models.py:562 +#: order/models.py:570 msgid "Target date for order completion. Order will be overdue after this date." msgstr "Zieldatum für Auftrags-Fertigstellung." -#: order/models.py:565 templates/js/translated/order.js:733 +#: order/models.py:573 templates/js/translated/order.js:1079 msgid "Shipment Date" msgstr "Versanddatum" -#: order/models.py:572 +#: order/models.py:580 msgid "shipped by" msgstr "Versand von" -#: order/models.py:616 +#: order/models.py:624 msgid "SalesOrder cannot be shipped as it is not currently pending" msgstr "Bestellung kann nicht versendet werden weil er nicht anhängig ist" -#: order/models.py:713 +#: order/models.py:721 msgid "Item quantity" msgstr "Anzahl" -#: order/models.py:719 +#: order/models.py:727 msgid "Line item reference" msgstr "Position - Referenz" -#: order/models.py:721 +#: order/models.py:729 msgid "Line item notes" msgstr "Position - Notizen" -#: order/models.py:751 order/models.py:835 templates/js/translated/order.js:785 +#: order/models.py:759 order/models.py:847 +#: templates/js/translated/order.js:1131 msgid "Order" msgstr "Bestellung" -#: order/models.py:752 order/templates/order/order_base.html:9 +#: order/models.py:760 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:24 #: report/templates/report/inventree_po_report.html:77 #: stock/templates/stock/item_base.html:338 -#: templates/js/translated/order.js:306 templates/js/translated/stock.js:991 -#: templates/js/translated/stock.js:1589 +#: templates/js/translated/order.js:637 templates/js/translated/stock.js:970 +#: templates/js/translated/stock.js:1568 msgid "Purchase Order" msgstr "Bestellung" -#: order/models.py:773 +#: order/models.py:781 msgid "Supplier part" msgstr "Zuliefererteil" -#: order/models.py:780 order/templates/order/order_base.html:131 -#: order/templates/order/receive_parts.html:22 -#: order/templates/order/sales_order_base.html:133 -#: templates/js/translated/order.js:573 +#: order/models.py:788 order/templates/order/order_base.html:131 +#: order/templates/order/sales_order_base.html:138 +#: templates/js/translated/order.js:428 templates/js/translated/order.js:919 msgid "Received" msgstr "Empfangen" -#: order/models.py:781 +#: order/models.py:789 msgid "Number of items received" msgstr "Empfangene Objekt-Anzahl" -#: order/models.py:788 part/templates/part/prices.html:176 stock/models.py:588 -#: stock/serializers.py:147 stock/templates/stock/item_base.html:345 -#: templates/js/translated/stock.js:1045 +#: order/models.py:796 part/templates/part/prices.html:176 stock/models.py:588 +#: stock/serializers.py:150 stock/templates/stock/item_base.html:345 +#: templates/js/translated/stock.js:1024 msgid "Purchase Price" msgstr "Preis" -#: order/models.py:789 +#: order/models.py:797 msgid "Unit purchase price" msgstr "Preis pro Einheit" -#: order/models.py:797 +#: order/models.py:805 msgid "Where does the Purchaser want this item to be stored?" msgstr "Wo möchte der Käufer diesen Artikel gelagert haben?" -#: order/models.py:843 part/templates/part/part_pricing.html:112 +#: order/models.py:857 part/templates/part/part_pricing.html:112 #: part/templates/part/prices.html:116 part/templates/part/prices.html:284 msgid "Sale Price" msgstr "Verkaufspreis" -#: order/models.py:844 +#: order/models.py:858 msgid "Unit sale price" msgstr "Stückverkaufspreis" -#: order/models.py:923 order/models.py:925 +#: order/models.py:937 order/models.py:939 msgid "Stock item has not been assigned" msgstr "BestandsObjekt wurde nicht zugewiesen" -#: order/models.py:929 +#: order/models.py:943 msgid "Cannot allocate stock item to a line with a different part" msgstr "Kann BestandsObjekt keiner Zeile mit einem anderen Teil hinzufügen" -#: order/models.py:931 +#: order/models.py:945 msgid "Cannot allocate stock to a line without a part" msgstr "Kann BestandsObjekt keiner Zeile ohne Teil hinzufügen" -#: order/models.py:934 +#: order/models.py:948 msgid "Allocation quantity cannot exceed stock quantity" msgstr "Die zugeordnete Anzahl darf nicht die verfügbare Anzahl überschreiten" -#: order/models.py:944 +#: order/models.py:952 +msgid "StockItem is over-allocated" +msgstr "Zu viele BestandsObjekt zugewiesen" + +#: order/models.py:958 msgid "Quantity must be 1 for serialized stock item" msgstr "Anzahl für BestandsObjekt mit Seriennummer muss 1 sein" -#: order/models.py:949 +#: order/models.py:966 msgid "Line" msgstr "Position" -#: order/models.py:960 +#: order/models.py:978 msgid "Item" msgstr "Position" -#: order/models.py:961 +#: order/models.py:979 msgid "Select stock item to allocate" msgstr "BestandsObjekt für Zuordnung auswählen" -#: order/models.py:964 +#: order/models.py:982 msgid "Enter stock allocation quantity" msgstr "Anzahl für Bestandszuordnung eingeben" -#: order/serializers.py:166 +#: order/serializers.py:167 msgid "Purchase price currency" msgstr "Kaufpreiswährung" -#: order/serializers.py:201 +#: order/serializers.py:202 msgid "Line Item" -msgstr "" +msgstr "Position" -#: order/serializers.py:207 +#: order/serializers.py:208 msgid "Line item does not match purchase order" -msgstr "" +msgstr "Position stimmt nicht mit Kaufauftrag überein" -#: order/serializers.py:217 order/serializers.py:276 +#: order/serializers.py:218 order/serializers.py:285 msgid "Select destination location for received items" -msgstr "" +msgstr "Zielort für empfangene Teile auswählen" -#: order/serializers.py:234 +#: order/serializers.py:242 msgid "Barcode Hash" -msgstr "" +msgstr "Barcode-Hash" -#: order/serializers.py:235 +#: order/serializers.py:243 msgid "Unique identifier field" -msgstr "" +msgstr "Einzigartiger Identifikator" -#: order/serializers.py:250 +#: order/serializers.py:259 msgid "Barcode is already in use" -msgstr "" +msgstr "Barcode ist bereits in Verwendung" -#: order/serializers.py:289 +#: order/serializers.py:297 msgid "Line items must be provided" -msgstr "" +msgstr "Positionen müssen angegeben werden" -#: order/serializers.py:299 +#: order/serializers.py:314 +msgid "Destination location must be specified" +msgstr "Ziel-Lagerort muss angegeben werden" + +#: order/serializers.py:325 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:514 +#: order/serializers.py:569 msgid "Sale price currency" msgstr "Verkaufspreis-Währung" @@ -3307,31 +3343,32 @@ msgstr "Sind Sie sicher, dass Sie diesen Anhang löschen wollen?" msgid "Print" msgstr "Drucken" -#: order/templates/order/order_base.html:43 -#: order/templates/order/sales_order_base.html:54 +#: order/templates/order/order_base.html:42 +#: order/templates/order/sales_order_base.html:53 +msgid "Export order to file" +msgstr "Exportiere Bestellung in Datei" + +#: order/templates/order/order_base.html:46 +#: order/templates/order/sales_order_base.html:57 msgid "Edit order information" msgstr "Bestellung bearbeiten" -#: order/templates/order/order_base.html:51 +#: order/templates/order/order_base.html:54 msgid "Receive items" msgstr "Elemente empfangen" -#: order/templates/order/order_base.html:64 -msgid "Export order to file" -msgstr "Exportiere Bestellung in Datei" - #: order/templates/order/order_base.html:72 #: order/templates/order/po_navbar.html:12 msgid "Purchase Order Details" msgstr "Bestellungs-Details" #: order/templates/order/order_base.html:77 -#: order/templates/order/sales_order_base.html:79 +#: order/templates/order/sales_order_base.html:84 msgid "Order Reference" msgstr "Bestellreferenz" #: order/templates/order/order_base.html:82 -#: order/templates/order/sales_order_base.html:84 +#: order/templates/order/sales_order_base.html:89 msgid "Order Status" msgstr "Bestellstatus" @@ -3344,16 +3381,6 @@ msgstr "Aufgegeben" msgid "Edit Purchase Order" msgstr "Bestellung bearbeiten" -#: order/templates/order/order_base.html:196 -#: stock/templates/stock/location.html:250 templates/js/translated/order.js:437 -msgid "New Location" -msgstr "Neuer Lagerort" - -#: order/templates/order/order_base.html:197 -#: stock/templates/stock/location.html:42 templates/js/translated/order.js:438 -msgid "Create new stock location" -msgstr "Neuen Lagerort anlegen" - #: order/templates/order/order_cancel.html:8 msgid "Cancelling this order means that the order and line items will no longer be editable." msgstr "Abbruch dieser Bestellung bedeutet, dass sie und ihre Positionen nicht länger bearbeitbar sind." @@ -3426,6 +3453,7 @@ msgstr "Auswahl duplizieren" #: part/templates/part/import_wizard/ajax_match_references.html:42 #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 +#: templates/js/translated/build.js:869 templates/js/translated/order.js:376 msgid "Remove row" msgstr "Zeile entfernen" @@ -3502,7 +3530,7 @@ msgid "Select existing purchase orders, or create new orders." msgstr "Bestellungen auswählen oder anlegen." #: order/templates/order/order_wizard/select_pos.html:31 -#: templates/js/translated/order.js:363 templates/js/translated/order.js:738 +#: templates/js/translated/order.js:694 templates/js/translated/order.js:1084 msgid "Items" msgstr "Positionen" @@ -3522,7 +3550,7 @@ msgstr "Bestellung für %(name)s auswählen" #: order/templates/order/po_attachments.html:12 #: order/templates/order/po_navbar.html:32 -#: order/templates/order/purchase_order_detail.html:47 +#: order/templates/order/purchase_order_detail.html:56 msgid "Purchase Order Attachments" msgstr "Bestellungs-Anhänge" @@ -3532,7 +3560,7 @@ msgstr "BestandsObjekte empfangen" #: order/templates/order/po_navbar.html:29 #: order/templates/order/po_received_items.html:12 -#: order/templates/order/purchase_order_detail.html:38 +#: order/templates/order/purchase_order_detail.html:47 msgid "Received Items" msgstr "Empfangene Teile" @@ -3540,14 +3568,22 @@ msgstr "Empfangene Teile" msgid "Purchase Order Items" msgstr "Bestellungs-Positionen" -#: order/templates/order/purchase_order_detail.html:23 -#: order/templates/order/purchase_order_detail.html:203 +#: order/templates/order/purchase_order_detail.html:24 +#: order/templates/order/purchase_order_detail.html:212 #: order/templates/order/sales_order_detail.html:23 #: order/templates/order/sales_order_detail.html:177 msgid "Add Line Item" msgstr "Position hinzufügen" -#: order/templates/order/purchase_order_detail.html:58 +#: order/templates/order/purchase_order_detail.html:30 +msgid "Receive selected items" +msgstr "Ausgewählte Positionen erhalten" + +#: order/templates/order/purchase_order_detail.html:31 +msgid "Receive Items" +msgstr "Teile empfangen" + +#: order/templates/order/purchase_order_detail.html:67 #: order/templates/order/sales_order_detail.html:54 msgid "Order Notes" msgstr "Notizen zur Bestellung" @@ -3557,67 +3593,24 @@ msgstr "Notizen zur Bestellung" msgid "Print Order Reports" msgstr "Berichte drucken" -#: order/templates/order/receive_parts.html:8 -#, python-format -msgid "Receive outstanding parts for %(order)s - %(desc)s" -msgstr "Ausstehende Teile für %(order)s - %(desc)s empfangen" - -#: order/templates/order/receive_parts.html:14 part/api.py:54 -#: part/models.py:298 part/templates/part/cat_link.html:7 -#: part/templates/part/category.html:108 part/templates/part/category.html:122 -#: part/templates/part/category_navbar.html:21 -#: part/templates/part/category_navbar.html:24 -#: templates/InvenTree/index.html:102 templates/InvenTree/search.html:114 -#: templates/InvenTree/settings/navbar.html:83 -#: templates/InvenTree/settings/navbar.html:85 -#: templates/js/translated/part.js:1154 templates/navbar.html:29 -#: templates/stats.html:80 templates/stats.html:89 users/models.py:41 -msgid "Parts" -msgstr "Teile" - -#: order/templates/order/receive_parts.html:15 -msgid "Fill out number of parts received, the status and destination" -msgstr "" - -#: order/templates/order/receive_parts.html:20 -msgid "Order Code" -msgstr "Bestellnummer" - -#: order/templates/order/receive_parts.html:21 -#: part/templates/part/part_base.html:167 templates/js/translated/part.js:949 -msgid "On Order" -msgstr "Bestellt" - -#: order/templates/order/receive_parts.html:23 -msgid "Receive" -msgstr "Empfangen" - -#: order/templates/order/receive_parts.html:37 -msgid "Error: Referenced part has been removed" -msgstr "Fehler: verknüpftes Teil wurde gelöscht" - -#: order/templates/order/receive_parts.html:68 -msgid "Remove line" -msgstr "Position entfernen" - #: order/templates/order/sales_order_base.html:16 msgid "This Sales Order has not been fully allocated" msgstr "Dieser Auftrag ist nicht vollständig zugeordnet" -#: order/templates/order/sales_order_base.html:66 +#: order/templates/order/sales_order_base.html:70 msgid "Packing List" msgstr "Packliste" -#: order/templates/order/sales_order_base.html:74 +#: order/templates/order/sales_order_base.html:79 msgid "Sales Order Details" msgstr "Auftragsdetails" -#: order/templates/order/sales_order_base.html:100 -#: templates/js/translated/order.js:705 +#: order/templates/order/sales_order_base.html:105 +#: templates/js/translated/order.js:1051 msgid "Customer Reference" msgstr "Kundenreferenz" -#: order/templates/order/sales_order_base.html:178 +#: order/templates/order/sales_order_base.html:183 msgid "Edit Sales Order" msgstr "Auftrag bearbeiten" @@ -3636,105 +3629,6 @@ msgstr "Abbruch dieser Bestellung bedeutet, dass sie nicht länger bearbeitbar i msgid "Sales Order Items" msgstr "Auftrags-Positionen" -#: order/templates/order/sales_order_detail.html:226 -#: templates/js/translated/bom.js:394 templates/js/translated/build.js:782 -#: templates/js/translated/build.js:1219 -msgid "Actions" -msgstr "Aktionen" - -#: order/templates/order/sales_order_detail.html:233 -#: templates/js/translated/build.js:668 templates/js/translated/build.js:1030 -msgid "Edit stock allocation" -msgstr "Bestands-Zuordnung bearbeiten" - -#: order/templates/order/sales_order_detail.html:234 -#: templates/js/translated/build.js:670 templates/js/translated/build.js:1031 -msgid "Delete stock allocation" -msgstr "Bestands-Zuordnung löschen" - -#: order/templates/order/sales_order_detail.html:307 -msgid "No matching line items" -msgstr "Keine passenden Positionen gefunden" - -#: order/templates/order/sales_order_detail.html:337 -msgid "ID" -msgstr "ID" - -#: order/templates/order/sales_order_detail.html:354 -#: templates/js/translated/order.js:481 -msgid "Total" -msgstr "Summe" - -#: order/templates/order/sales_order_detail.html:377 -#: templates/js/translated/order.js:534 templates/js/translated/part.js:1296 -#: templates/js/translated/part.js:1507 -msgid "Unit Price" -msgstr "Stück-Preis" - -#: order/templates/order/sales_order_detail.html:384 -#: templates/js/translated/order.js:543 -msgid "Total price" -msgstr "Gesamtpreis" - -#: order/templates/order/sales_order_detail.html:405 -#: templates/js/translated/build.js:733 templates/js/translated/build.js:1026 -msgid "Allocated" -msgstr "Zugeordnet" - -#: order/templates/order/sales_order_detail.html:407 -msgid "Fulfilled" -msgstr "Erledigt" - -#: order/templates/order/sales_order_detail.html:444 -msgid "PO" -msgstr "PO" - -#: order/templates/order/sales_order_detail.html:474 -msgid "Allocate serial numbers" -msgstr "Seriennummern zuweisen" - -#: order/templates/order/sales_order_detail.html:477 -#: templates/js/translated/build.js:796 -msgid "Allocate stock" -msgstr "Lagerbestand zuweisen" - -#: order/templates/order/sales_order_detail.html:480 -msgid "Purchase stock" -msgstr "Lagerbestand kaufen" - -#: order/templates/order/sales_order_detail.html:484 -#: templates/js/translated/build.js:789 templates/js/translated/build.js:1227 -msgid "Build stock" -msgstr "Lagerbestand bauen" - -#: order/templates/order/sales_order_detail.html:487 -#: order/templates/order/sales_order_detail.html:606 -msgid "Calculate price" -msgstr "Preis berechnen" - -#: order/templates/order/sales_order_detail.html:490 -#: templates/js/translated/order.js:616 -msgid "Edit line item" -msgstr "Position bearbeiten" - -#: order/templates/order/sales_order_detail.html:491 -msgid "Delete line item " -msgstr "Position löschen " - -#: order/templates/order/sales_order_detail.html:519 -#: templates/js/translated/order.js:403 -msgid "Edit Line Item" -msgstr "Position bearbeiten" - -#: order/templates/order/sales_order_detail.html:529 -#: templates/js/translated/order.js:415 -msgid "Delete Line Item" -msgstr "Position löschen" - -#: order/templates/order/sales_order_detail.html:612 -msgid "Update Unit Price" -msgstr "Stückpreis aktualisieren" - #: order/templates/order/sales_order_ship.html:10 msgid "This order has not been fully allocated. If the order is marked as shipped, it can no longer be adjusted." msgstr "Dieser Auftrag ist nicht vollständig zugeordnet. Wenn der Auftrag als versendet markiert wird, kann er nicht mehr geändert werden." @@ -3759,10 +3653,6 @@ msgstr "Versenden dieses Auftrags bedeutet, dass der Auftrag nicht mehr bearbeit msgid "Allocate stock items by serial number" msgstr "Teilebestand per Seriennummer zuweisen" -#: order/templates/order/so_allocation_delete.html:7 -msgid "This action will unallocate the following stock from the Sales Order" -msgstr "Diese Aktion wird die folgenden BestandsObjekt vom Auftrag entfernen" - #: order/templates/order/so_navbar.html:12 msgid "Sales Order Line Items" msgstr "Auftragspositionen" @@ -3775,149 +3665,129 @@ msgstr "Auftragspositionen" msgid "Sales Order Attachments" msgstr "Auftrags-Anhänge" -#: order/views.py:104 +#: order/views.py:103 msgid "Cancel Order" msgstr "Bestellung stornieren" -#: order/views.py:113 order/views.py:139 +#: order/views.py:112 order/views.py:138 msgid "Confirm order cancellation" msgstr "Bestellstornierung bestätigen" -#: order/views.py:116 order/views.py:142 +#: order/views.py:115 order/views.py:141 msgid "Order cannot be cancelled" msgstr "Bestellung kann nicht verworfen werden" -#: order/views.py:130 +#: order/views.py:129 msgid "Cancel sales order" msgstr "Auftrag stornieren" -#: order/views.py:156 +#: order/views.py:155 msgid "Issue Order" msgstr "Bestellung aufgeben" -#: order/views.py:165 +#: order/views.py:164 msgid "Confirm order placement" msgstr "Bestellungstätigung bestätigen" -#: order/views.py:175 +#: order/views.py:174 msgid "Purchase order issued" msgstr "Bestellung plaziert" -#: order/views.py:186 +#: order/views.py:185 msgid "Complete Order" msgstr "Auftrag fertigstellen" -#: order/views.py:202 +#: order/views.py:201 msgid "Confirm order completion" msgstr "Fertigstellung bestätigen" -#: order/views.py:213 +#: order/views.py:212 msgid "Purchase order completed" msgstr "Bestellung als vollständig markieren" -#: order/views.py:223 +#: order/views.py:222 msgid "Ship Order" msgstr "Versenden" -#: order/views.py:239 +#: order/views.py:238 msgid "Confirm order shipment" msgstr "Versand bestätigen" -#: order/views.py:245 +#: order/views.py:244 msgid "Could not ship order" msgstr "Versand fehlgeschlagen" -#: order/views.py:292 +#: order/views.py:291 msgid "Match Supplier Parts" msgstr "Zuliefererteile zuordnen" -#: order/views.py:480 -msgid "Receive Parts" -msgstr "Teile empfangen" - -#: order/views.py:552 -msgid "Items received" -msgstr "Anzahl empfangener Positionen" - -#: order/views.py:620 -msgid "Error converting quantity to number" -msgstr "Fehler beim Konvertieren zu Zahl" - -#: order/views.py:626 -msgid "Receive quantity less than zero" -msgstr "Anzahl kleiner null empfangen" - -#: order/views.py:632 -msgid "No lines specified" -msgstr "Keine Zeilen angegeben" - -#: order/views.py:705 +#: order/views.py:535 msgid "Update prices" msgstr "Preise aktualisieren" -#: order/views.py:963 +#: order/views.py:793 #, python-brace-format msgid "Ordered {n} parts" msgstr "{n} Teile bestellt" -#: order/views.py:1016 +#: order/views.py:846 msgid "Allocate Serial Numbers" msgstr "Seriennummern zuweisen" -#: order/views.py:1061 +#: order/views.py:891 #, python-brace-format msgid "Allocated {n} items" msgstr "{n} Positionen zugeordnet" -#: order/views.py:1077 +#: order/views.py:907 msgid "Select line item" msgstr "Position auswählen" -#: order/views.py:1108 +#: order/views.py:938 #, python-brace-format msgid "No matching item for serial {serial}" msgstr "Kein passends Teil für Seriennummer {serial} gefunden" -#: order/views.py:1118 +#: order/views.py:948 #, python-brace-format msgid "{serial} is not in stock" msgstr "{serial} ist nicht auf Lager" -#: order/views.py:1126 +#: order/views.py:956 #, python-brace-format msgid "{serial} already allocated to an order" msgstr "{serial} bereits einem Auftrag zugeordnet" -#: order/views.py:1180 -msgid "Allocate Stock to Order" -msgstr "Lagerbestand dem Auftrag zuweisen" - -#: order/views.py:1254 -msgid "Edit Allocation Quantity" -msgstr "Zuordnung bearbeiten" - -#: order/views.py:1269 -msgid "Remove allocation" -msgstr "Zuordnung entfernen" - -#: order/views.py:1341 +#: order/views.py:1072 msgid "Sales order not found" msgstr "Auftrag nicht gefunden" -#: order/views.py:1347 +#: order/views.py:1078 msgid "Price not found" msgstr "Preis nicht gefunden" -#: order/views.py:1350 +#: order/views.py:1081 #, python-brace-format msgid "Updated {part} unit-price to {price}" msgstr "Stückpreis für {part} auf {price} aktualisiert" -#: order/views.py:1355 +#: order/views.py:1086 #, python-brace-format msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "{part} Stückpreis auf {price} und Menge auf {qty} aktualisiert" +#: part/api.py:54 part/models.py:299 part/templates/part/cat_link.html:7 +#: part/templates/part/category.html:108 part/templates/part/category.html:122 +#: part/templates/part/category_navbar.html:21 +#: part/templates/part/category_navbar.html:24 +#: templates/InvenTree/index.html:102 templates/InvenTree/search.html:114 +#: templates/InvenTree/settings/navbar.html:95 +#: templates/InvenTree/settings/navbar.html:97 +#: templates/js/translated/part.js:1165 templates/navbar.html:29 +#: templates/stats.html:80 templates/stats.html:89 users/models.py:41 +msgid "Parts" +msgstr "Teile" + #: part/api.py:700 msgid "Must be greater than zero" msgstr "Muss größer als 0 sein" @@ -3934,7 +3804,7 @@ msgstr "Standort für anfänglichen Bestand angeben" msgid "This field is required" msgstr "Dieses Feld ist erforderlich" -#: part/bom.py:133 part/models.py:75 part/models.py:733 +#: part/bom.py:133 part/models.py:76 part/models.py:734 #: part/templates/part/category.html:75 part/templates/part/part_base.html:290 msgid "Default Location" msgstr "Standard-Lagerort" @@ -3999,7 +3869,7 @@ msgstr "Zulieferer einschließen" msgid "Include part supplier data in exported BOM" msgstr "Zulieferer-Daten in Stückliste-Export einschließen" -#: part/forms.py:96 part/models.py:2250 +#: part/forms.py:96 part/models.py:2254 msgid "Parent Part" msgstr "Ausgangsteil" @@ -4043,391 +3913,387 @@ msgstr "Parameter-Vorlage zu allen Kategorien hinzufügen" msgid "Input quantity for price calculation" msgstr "Menge für die Preisberechnung" -#: part/models.py:76 +#: part/models.py:77 msgid "Default location for parts in this category" msgstr "Standard-Lagerort für Teile dieser Kategorie" -#: part/models.py:79 +#: part/models.py:80 msgid "Default keywords" msgstr "Standard Stichwörter" -#: part/models.py:79 +#: part/models.py:80 msgid "Default keywords for parts in this category" msgstr "Standard-Stichworte für Teile dieser Kategorie" -#: part/models.py:89 part/models.py:2296 +#: part/models.py:90 part/models.py:2300 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "Teil-Kategorie" -#: part/models.py:90 part/templates/part/category.html:32 +#: part/models.py:91 part/templates/part/category.html:32 #: part/templates/part/category.html:103 templates/InvenTree/search.html:127 #: templates/stats.html:84 users/models.py:40 msgid "Part Categories" msgstr "Teil-Kategorien" -#: part/models.py:383 +#: part/models.py:384 msgid "Invalid choice for parent part" msgstr "Ungültige Auswahl für übergeordnetes Teil" -#: part/models.py:435 part/models.py:447 +#: part/models.py:436 part/models.py:448 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "Teil '{p1}' wird in Stückliste für Teil '{p2}' benutzt (rekursiv)" -#: part/models.py:544 +#: part/models.py:545 msgid "Next available serial numbers are" msgstr "Nächste verfügbare Seriennummern wären" -#: part/models.py:548 +#: part/models.py:549 msgid "Next available serial number is" msgstr "Nächste verfügbare Seriennummer ist" -#: part/models.py:553 +#: part/models.py:554 msgid "Most recent serial number is" msgstr "Die neuste Seriennummer ist" -#: part/models.py:632 +#: part/models.py:633 msgid "Duplicate IPN not allowed in part settings" msgstr "Doppelte IPN in den Teil-Einstellungen nicht erlaubt" -#: part/models.py:657 +#: part/models.py:658 msgid "Part name" msgstr "Name des Teils" -#: part/models.py:664 +#: part/models.py:665 msgid "Is Template" msgstr "Ist eine Vorlage" -#: part/models.py:665 +#: part/models.py:666 msgid "Is this part a template part?" msgstr "Ist dieses Teil eine Vorlage?" -#: part/models.py:675 +#: part/models.py:676 msgid "Is this part a variant of another part?" msgstr "Ist dieses Teil eine Variante eines anderen Teils?" -#: part/models.py:676 +#: part/models.py:677 msgid "Variant Of" msgstr "Variante von" -#: part/models.py:682 +#: part/models.py:683 msgid "Part description" msgstr "Beschreibung des Teils" -#: part/models.py:687 part/templates/part/category.html:82 +#: part/models.py:688 part/templates/part/category.html:82 #: part/templates/part/part_base.html:259 msgid "Keywords" msgstr "Schlüsselwörter" -#: part/models.py:688 +#: part/models.py:689 msgid "Part keywords to improve visibility in search results" msgstr "Schlüsselworte um die Sichtbarkeit in Suchergebnissen zu verbessern" -#: part/models.py:695 part/models.py:2295 +#: part/models.py:696 part/models.py:2299 #: part/templates/part/set_category.html:15 -#: templates/InvenTree/settings/settings.html:167 -#: templates/js/translated/part.js:916 +#: templates/InvenTree/settings/settings.html:169 +#: templates/js/translated/part.js:927 msgid "Category" msgstr "Kategorie" -#: part/models.py:696 +#: part/models.py:697 msgid "Part category" msgstr "Teile-Kategorie" -#: part/models.py:701 part/templates/part/part_base.html:235 -#: templates/js/translated/part.js:517 templates/js/translated/part.js:749 +#: part/models.py:702 part/templates/part/part_base.html:235 +#: templates/js/translated/part.js:528 templates/js/translated/part.js:760 msgid "IPN" msgstr "IPN (Interne Produktnummer)" -#: part/models.py:702 +#: part/models.py:703 msgid "Internal Part Number" msgstr "Interne Teilenummer" -#: part/models.py:708 +#: part/models.py:709 msgid "Part revision or version number" msgstr "Revisions- oder Versionsnummer" -#: part/models.py:709 part/templates/part/part_base.html:252 -#: report/models.py:200 templates/js/translated/part.js:521 +#: part/models.py:710 part/templates/part/part_base.html:252 +#: report/models.py:200 templates/js/translated/part.js:532 msgid "Revision" msgstr "Revision" -#: part/models.py:731 +#: part/models.py:732 msgid "Where is this item normally stored?" msgstr "Wo wird dieses Teil normalerweise gelagert?" -#: part/models.py:778 part/templates/part/part_base.html:297 +#: part/models.py:779 part/templates/part/part_base.html:297 msgid "Default Supplier" msgstr "Standard Zulieferer" -#: part/models.py:779 +#: part/models.py:780 msgid "Default supplier part" msgstr "Standard Zuliefererteil" -#: part/models.py:786 +#: part/models.py:787 msgid "Default Expiry" msgstr "Standard Ablaufzeit" -#: part/models.py:787 +#: part/models.py:788 msgid "Expiry time (in days) for stock items of this part" msgstr "Ablauf-Zeit (in Tagen) für Lagerbestand dieses Teils" -#: part/models.py:792 +#: part/models.py:793 msgid "Minimum Stock" msgstr "Minimaler Lagerbestand" -#: part/models.py:793 +#: part/models.py:794 msgid "Minimum allowed stock level" msgstr "Minimal zulässiger Lagerbestand" -#: part/models.py:800 +#: part/models.py:801 msgid "Stock keeping units for this part" msgstr "Stock Keeping Units (SKU) für dieses Teil" -#: part/models.py:806 +#: part/models.py:807 msgid "Can this part be built from other parts?" msgstr "Kann dieses Teil aus anderen Teilen angefertigt werden?" -#: part/models.py:812 +#: part/models.py:813 msgid "Can this part be used to build other parts?" msgstr "Kann dieses Teil zum Bauauftrag von anderen genutzt werden?" -#: part/models.py:818 +#: part/models.py:819 msgid "Does this part have tracking for unique items?" msgstr "Hat dieses Teil Tracking für einzelne Objekte?" -#: part/models.py:823 +#: part/models.py:824 msgid "Can this part be purchased from external suppliers?" msgstr "Kann dieses Teil von externen Zulieferern gekauft werden?" -#: part/models.py:828 +#: part/models.py:829 msgid "Can this part be sold to customers?" msgstr "Kann dieses Teil an Kunden verkauft werden?" -#: part/models.py:832 templates/js/translated/table_filters.js:34 +#: part/models.py:833 templates/js/translated/table_filters.js:34 #: templates/js/translated/table_filters.js:82 #: templates/js/translated/table_filters.js:268 -#: templates/js/translated/table_filters.js:337 +#: templates/js/translated/table_filters.js:346 msgid "Active" msgstr "Aktiv" -#: part/models.py:833 +#: part/models.py:834 msgid "Is this part active?" msgstr "Ist dieses Teil aktiv?" -#: part/models.py:838 +#: part/models.py:839 msgid "Is this a virtual part, such as a software product or license?" msgstr "Ist dieses Teil virtuell, wie zum Beispiel eine Software oder Lizenz?" -#: part/models.py:843 +#: part/models.py:844 msgid "Part notes - supports Markdown formatting" msgstr "Bemerkungen - unterstüzt Markdown-Formatierung" -#: part/models.py:846 +#: part/models.py:847 msgid "BOM checksum" msgstr "Prüfsumme der Stückliste" -#: part/models.py:846 +#: part/models.py:847 msgid "Stored BOM checksum" msgstr "Prüfsumme der Stückliste gespeichert" -#: part/models.py:849 +#: part/models.py:850 msgid "BOM checked by" msgstr "Stückliste kontrolliert von" -#: part/models.py:851 +#: part/models.py:852 msgid "BOM checked date" msgstr "BOM Kontrolldatum" -#: part/models.py:855 +#: part/models.py:856 msgid "Creation User" msgstr "Erstellungs-Nutzer" -#: part/models.py:1601 +#: part/models.py:1605 msgid "Sell multiple" msgstr "Mehrere verkaufen" -#: part/models.py:2096 +#: part/models.py:2100 msgid "Test templates can only be created for trackable parts" msgstr "Test-Vorlagen können nur für verfolgbare Teile angelegt werden" -#: part/models.py:2113 +#: part/models.py:2117 msgid "Test with this name already exists for this part" msgstr "Ein Test mit diesem Namen besteht bereits für dieses Teil" -#: part/models.py:2133 templates/js/translated/part.js:1205 -#: templates/js/translated/stock.js:556 +#: part/models.py:2137 templates/js/translated/part.js:1216 +#: templates/js/translated/stock.js:535 msgid "Test Name" msgstr "Test-Name" -#: part/models.py:2134 +#: part/models.py:2138 msgid "Enter a name for the test" msgstr "Namen für diesen Test eingeben" -#: part/models.py:2139 +#: part/models.py:2143 msgid "Test Description" msgstr "Test-Beschreibung" -#: part/models.py:2140 +#: part/models.py:2144 msgid "Enter description for this test" msgstr "Beschreibung für diesen Test eingeben" -#: part/models.py:2145 templates/js/translated/part.js:1214 +#: part/models.py:2149 templates/js/translated/part.js:1225 #: templates/js/translated/table_filters.js:254 msgid "Required" msgstr "Benötigt" -#: part/models.py:2146 +#: part/models.py:2150 msgid "Is this test required to pass?" msgstr "Muss dieser Test erfolgreich sein?" -#: part/models.py:2151 templates/js/translated/part.js:1222 +#: part/models.py:2155 templates/js/translated/part.js:1233 msgid "Requires Value" msgstr "Erfordert Wert" -#: part/models.py:2152 +#: part/models.py:2156 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:2157 templates/js/translated/part.js:1229 +#: part/models.py:2161 templates/js/translated/part.js:1240 msgid "Requires Attachment" msgstr "Anhang muss eingegeben werden" -#: part/models.py:2158 +#: part/models.py:2162 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:2169 +#: part/models.py:2173 #, python-brace-format msgid "Illegal character in template name ({c})" msgstr "Ungültiges Zeichen im Vorlagename ({c})" -#: part/models.py:2205 +#: part/models.py:2209 msgid "Parameter template name must be unique" msgstr "Vorlagen-Name des Parameters muss eindeutig sein" -#: part/models.py:2213 +#: part/models.py:2217 msgid "Parameter Name" msgstr "Name des Parameters" -#: part/models.py:2220 +#: part/models.py:2224 msgid "Parameter Units" msgstr "Einheit des Parameters" -#: part/models.py:2252 part/models.py:2301 part/models.py:2302 -#: templates/InvenTree/settings/settings.html:162 +#: part/models.py:2256 part/models.py:2305 part/models.py:2306 +#: templates/InvenTree/settings/settings.html:164 msgid "Parameter Template" msgstr "Parameter Vorlage" -#: part/models.py:2254 +#: part/models.py:2258 msgid "Data" msgstr "Wert" -#: part/models.py:2254 +#: part/models.py:2258 msgid "Parameter Value" msgstr "Parameter Wert" -#: part/models.py:2306 templates/InvenTree/settings/settings.html:171 +#: part/models.py:2310 templates/InvenTree/settings/settings.html:173 msgid "Default Value" msgstr "Standard-Wert" -#: part/models.py:2307 +#: part/models.py:2311 msgid "Default Parameter Value" msgstr "Standard Parameter Wert" -#: part/models.py:2341 +#: part/models.py:2362 msgid "Select parent part" msgstr "Ausgangsteil auswählen" -#: part/models.py:2349 +#: part/models.py:2370 msgid "Sub part" msgstr "Untergeordnetes Teil" -#: part/models.py:2350 +#: part/models.py:2371 msgid "Select part to be used in BOM" msgstr "Teil für die Nutzung in der Stückliste auswählen" -#: part/models.py:2356 +#: part/models.py:2377 msgid "BOM quantity for this BOM item" msgstr "Stücklisten-Anzahl für dieses Stücklisten-Teil" -#: part/models.py:2358 templates/js/translated/bom.js:256 -#: templates/js/translated/bom.js:314 +#: part/models.py:2379 templates/js/translated/bom.js:275 +#: templates/js/translated/bom.js:335 msgid "Optional" msgstr "Optional" -#: part/models.py:2358 +#: part/models.py:2379 msgid "This BOM item is optional" msgstr "Diese Stücklisten-Position ist optional" -#: part/models.py:2361 +#: part/models.py:2382 msgid "Overage" msgstr "Überschuss" -#: part/models.py:2362 +#: part/models.py:2383 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "Geschätzter Ausschuss (absolut oder prozentual)" -#: part/models.py:2365 +#: part/models.py:2386 msgid "BOM item reference" msgstr "Referenz der Postion auf der Stückliste" -#: part/models.py:2368 +#: part/models.py:2389 msgid "BOM item notes" msgstr "Notizen zur Stücklisten-Position" -#: part/models.py:2370 +#: part/models.py:2391 msgid "Checksum" msgstr "Prüfsumme" -#: part/models.py:2370 +#: part/models.py:2391 msgid "BOM line checksum" msgstr "Prüfsumme der Stückliste" -#: part/models.py:2374 templates/js/translated/bom.js:331 -#: templates/js/translated/bom.js:338 +#: part/models.py:2395 templates/js/translated/bom.js:352 +#: templates/js/translated/bom.js:359 #: templates/js/translated/table_filters.js:68 msgid "Inherited" msgstr "Geerbt" -#: part/models.py:2375 +#: part/models.py:2396 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:2380 templates/js/translated/bom.js:323 +#: part/models.py:2401 templates/js/translated/bom.js:344 msgid "Allow Variants" msgstr "Varianten zulassen" -#: part/models.py:2381 +#: part/models.py:2402 msgid "Stock items for variant parts can be used for this BOM item" msgstr "Lagerbestand von Varianten kann für diese Stücklisten-Position verwendet werden" -#: part/models.py:2466 stock/models.py:341 +#: part/models.py:2487 stock/models.py:341 msgid "Quantity must be integer value for trackable parts" msgstr "Menge muss eine Ganzzahl sein" -#: part/models.py:2475 part/models.py:2477 +#: part/models.py:2496 part/models.py:2498 msgid "Sub part must be specified" msgstr "Zuliefererteil muss festgelegt sein" -#: part/models.py:2480 -msgid "BOM Item" -msgstr "Stücklisten-Position" - -#: part/models.py:2599 +#: part/models.py:2620 msgid "Part 1" msgstr "Teil 1" -#: part/models.py:2603 +#: part/models.py:2624 msgid "Part 2" msgstr "Teil 2" -#: part/models.py:2603 +#: part/models.py:2624 msgid "Select Related Part" msgstr "verknüpftes Teil auswählen" -#: part/models.py:2635 +#: part/models.py:2656 msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique" msgstr "Fehler bei Verwandschaft: Ist das Teil mit sich selbst verwandt oder ist das die Verwandtschaft nicht eindeutig?" @@ -4578,7 +4444,7 @@ msgstr "Exportieren" msgid "Create new part" msgstr "Neues Teil anlegen" -#: part/templates/part/category.html:131 +#: part/templates/part/category.html:131 templates/js/translated/bom.js:39 msgid "New Part" msgstr "Neues Teil" @@ -4658,7 +4524,7 @@ msgstr "Wenn diese Kat. gelöscht wird, werden diese Teile in die oberste Kat. v msgid "Import Parts" msgstr "Teile importieren" -#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:352 +#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:363 msgid "Duplicate Part" msgstr "Teil duplizieren" @@ -4785,34 +4651,26 @@ msgstr "Stücklisten-Position anlegen" msgid "Add Test Result Template" msgstr "Testergebnis-Vorlage hinzufügen" -#: part/templates/part/detail.html:716 -msgid "Edit Test Result Template" -msgstr "Testergebnis-Vorlage bearbeiten" - -#: part/templates/part/detail.html:728 -msgid "Delete Test Result Template" -msgstr "Testergebnis-Vorlage löschen" - -#: part/templates/part/detail.html:784 +#: part/templates/part/detail.html:755 msgid "Edit Part Notes" msgstr "Teilenotizen bearbeiten" -#: part/templates/part/detail.html:936 +#: part/templates/part/detail.html:907 #, python-format msgid "Purchase Unit Price - %(currency)s" msgstr "Stückpreis Einkauf - %(currency)s" -#: part/templates/part/detail.html:948 +#: part/templates/part/detail.html:919 #, python-format msgid "Unit Price-Cost Difference - %(currency)s" msgstr "Stückpreis Differenz - %(currency)s" -#: part/templates/part/detail.html:960 +#: part/templates/part/detail.html:931 #, python-format msgid "Supplier Unit Cost - %(currency)s" msgstr "Stückpreis Zulieferer - %(currency)s" -#: part/templates/part/detail.html:1049 +#: part/templates/part/detail.html:1020 #, python-format msgid "Unit Price - %(currency)s" msgstr "Stückpreis - %(currency)s" @@ -4874,9 +4732,9 @@ msgstr "Teil kann an Kunden verkauft werden" msgid "Part is virtual (not a physical part)" msgstr "Teil ist virtuell (kein physisches Teil)" -#: part/templates/part/part_base.html:58 templates/js/translated/company.js:503 -#: templates/js/translated/company.js:759 templates/js/translated/part.js:432 -#: templates/js/translated/part.js:509 +#: part/templates/part/part_base.html:58 templates/js/translated/company.js:504 +#: templates/js/translated/company.js:761 templates/js/translated/part.js:443 +#: templates/js/translated/part.js:520 msgid "Inactive" msgstr "Inaktiv" @@ -4942,10 +4800,16 @@ msgid "This part is a variant of %(link)s" msgstr "Dieses Teil ist eine Variante von %(link)s" #: part/templates/part/part_base.html:161 +#: templates/js/translated/model_renderers.js:169 +#: templates/js/translated/order.js:1503 #: templates/js/translated/table_filters.js:166 msgid "In Stock" msgstr "Auf Lager" +#: part/templates/part/part_base.html:167 templates/js/translated/part.js:960 +msgid "On Order" +msgstr "Bestellt" + #: part/templates/part/part_base.html:174 templates/InvenTree/index.html:186 msgid "Required for Build Orders" msgstr "Für Bauaufträge benötigt" @@ -4958,18 +4822,18 @@ msgstr "Benötigt für Aufträge" msgid "Allocated to Orders" msgstr "Zu Bauaufträgen zugeordnet" -#: part/templates/part/part_base.html:203 templates/js/translated/bom.js:352 +#: part/templates/part/part_base.html:203 templates/js/translated/bom.js:373 msgid "Can Build" msgstr "Herstellbar" -#: part/templates/part/part_base.html:209 templates/js/translated/part.js:765 -#: templates/js/translated/part.js:953 +#: part/templates/part/part_base.html:209 templates/js/translated/part.js:776 +#: templates/js/translated/part.js:964 msgid "Building" msgstr "Im Bau" #: part/templates/part/part_base.html:223 -#: part/templates/part/part_base.html:524 -#: part/templates/part/part_base.html:550 +#: part/templates/part/part_base.html:531 +#: part/templates/part/part_base.html:557 msgid "Show Part Details" msgstr "Teildetails anzeigen" @@ -4977,16 +4841,16 @@ msgstr "Teildetails anzeigen" msgid "Latest Serial Number" msgstr "letzte Seriennummer" -#: part/templates/part/part_base.html:396 part/templates/part/prices.html:144 +#: part/templates/part/part_base.html:402 part/templates/part/prices.html:144 msgid "Calculate" msgstr "Berechnen" -#: part/templates/part/part_base.html:439 +#: part/templates/part/part_base.html:445 msgid "No matching images found" msgstr "Keine passenden Bilder gefunden" -#: part/templates/part/part_base.html:519 -#: part/templates/part/part_base.html:544 +#: part/templates/part/part_base.html:526 +#: part/templates/part/part_base.html:551 msgid "Hide Part Details" msgstr "Teildetails ausblenden" @@ -5013,7 +4877,7 @@ msgid "Total Cost" msgstr "Gesamtkosten" #: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:40 -#: templates/js/translated/bom.js:307 +#: templates/js/translated/bom.js:327 msgid "No supplier pricing available" msgstr "Keine Zulieferer-Preise verfügbar" @@ -5051,32 +4915,41 @@ msgstr "Keine Preise für dieses Teil verfügbar" msgid "Select from existing images" msgstr "Aus vorhandenen Bildern auswählen" -#: part/templates/part/partial_delete.html:7 +#: part/templates/part/partial_delete.html:9 +#, python-format +msgid "Part '%(full_name)s' cannot be deleted as it is still marked as active.\n" +"
Disable the \"Active\" part attribute and re-try.\n" +" " +msgstr "Teil '%(full_name)s' kann nicht gelöscht werden, da er noch als aktivmarkiert ist.\n" +"
Deaktivieren Sie das Attribut \"Aktiv\" und versuchen Sie es erneut.\n" +" " + +#: part/templates/part/partial_delete.html:17 #, python-format msgid "Are you sure you want to delete part '%(full_name)s'?" msgstr "Sind Sie sicher, dass Sie das Teil '%(full_name)s' löschen wollen?" -#: part/templates/part/partial_delete.html:12 +#: part/templates/part/partial_delete.html:22 #, python-format msgid "This part is used in BOMs for %(count)s other parts. If you delete this part, the BOMs for the following parts will be updated" msgstr "Dieser Teil wird in Stücklisten für %(count)s andere Teile verwendet. Wenn Sie dieses Teil löschen, werden die Stücklisten für die folgenden Teile aktualisiert" -#: part/templates/part/partial_delete.html:22 +#: part/templates/part/partial_delete.html:32 #, python-format msgid "There are %(count)s stock entries defined for this part. If you delete this part, the following stock entries will also be deleted:" msgstr "Es sind %(count)s BestandsObjekte für diesen Teil definiert. Wenn Sie diesen Teil löschen, werden auch die folgenden Bestandseinträge gelöscht:" -#: part/templates/part/partial_delete.html:33 +#: part/templates/part/partial_delete.html:43 #, python-format msgid "There are %(count)s manufacturers defined for this part. If you delete this part, the following manufacturer parts will also be deleted:" msgstr "Es sind %(count)s Hersteller für diesen Teil definiert. Wenn Sie diesen Teil löschen, werden auch die folgenden Herstellerteile gelöscht:" -#: part/templates/part/partial_delete.html:44 +#: part/templates/part/partial_delete.html:54 #, python-format msgid "There are %(count)s suppliers defined for this part. If you delete this part, the following supplier parts will also be deleted:" msgstr "Es sind %(count)s Zulieferer für diesen Teil definiert. Wenn Sie diesen Teil löschen, werden auch die folgenden Zuliefererteile gelöscht:" -#: part/templates/part/partial_delete.html:55 +#: part/templates/part/partial_delete.html:65 #, python-format msgid "There are %(count)s unique parts tracked for '%(full_name)s'. Deleting this part will permanently remove this tracking information." msgstr "Es gibt %(count)s einzigartige Teile, die für '%(full_name)s' verfolgt werden. Das Löschen dieses Teils wird diese Tracking-Informationen dauerhaft entfernen." @@ -5109,7 +4982,7 @@ msgstr "Verkaufspreis anzeigen" msgid "Calculation parameters" msgstr "Berechnungsparameter" -#: part/templates/part/prices.html:155 templates/js/translated/bom.js:301 +#: part/templates/part/prices.html:155 templates/js/translated/bom.js:321 msgid "Supplier Cost" msgstr "Zuliefererkosten" @@ -5151,8 +5024,9 @@ msgstr "Keine Verkaufsgeschichte für diesen Teil verfügbar." msgid "Set category for the following parts" msgstr "Kategorie für Teile setzen" -#: part/templates/part/stock_count.html:7 templates/js/translated/bom.js:278 -#: templates/js/translated/part.js:755 templates/js/translated/part.js:957 +#: part/templates/part/stock_count.html:7 templates/js/translated/bom.js:297 +#: templates/js/translated/model_renderers.js:167 +#: templates/js/translated/part.js:766 templates/js/translated/part.js:968 msgid "No Stock" msgstr "Kein Bestand" @@ -5262,7 +5136,7 @@ msgstr "Teilparametervorlage bearbeiten" msgid "Delete Part Parameter Template" msgstr "Teilparametervorlage löschen" -#: part/views.py:1502 templates/js/translated/part.js:303 +#: part/views.py:1502 templates/js/translated/part.js:308 msgid "Edit Part Category" msgstr "Teil-Kategorie bearbeiten" @@ -5400,17 +5274,17 @@ msgid "Test Results" msgstr "Testergebnisse" #: report/templates/report/inventree_test_report_base.html:88 -#: stock/models.py:1807 +#: stock/models.py:1804 msgid "Test" msgstr "Test" #: report/templates/report/inventree_test_report_base.html:89 -#: stock/models.py:1813 +#: stock/models.py:1810 msgid "Result" msgstr "Ergebnis" #: report/templates/report/inventree_test_report_base.html:92 -#: templates/js/translated/order.js:353 templates/js/translated/stock.js:1523 +#: templates/js/translated/order.js:684 templates/js/translated/stock.js:1502 msgid "Date" msgstr "Datum" @@ -5422,51 +5296,9 @@ msgstr "bestanden" msgid "Fail" msgstr "fehlgeschlagen" -#: stock/api.py:146 -msgid "Request must contain list of stock items" -msgstr "" - -#: stock/api.py:154 -msgid "Improperly formatted data" -msgstr "Falsch formatierte Daten" - -#: stock/api.py:162 -msgid "Each entry must contain a valid integer primary-key" -msgstr "" - -#: stock/api.py:168 -msgid "Primary key does not match valid stock item" -msgstr "" - -#: stock/api.py:178 -msgid "Invalid quantity value" -msgstr "Ungültige Menge" - -#: stock/api.py:183 -msgid "Quantity must not be less than zero" -msgstr "Menge muss größer als Null sein" - -#: stock/api.py:211 -#, python-brace-format -msgid "Updated stock for {n} items" -msgstr "Bestand für {n} Objekte geändert" - -#: stock/api.py:247 stock/api.py:280 -msgid "Specified quantity exceeds stock quantity" -msgstr "Die angegebene Menge überschreitet die Lagermenge" - -#: stock/api.py:270 -msgid "Valid location must be specified" -msgstr "Gültiger Standort muss angegeben werden" - -#: stock/api.py:290 -#, python-brace-format -msgid "Moved {n} parts to {loc}" -msgstr "{n} Teile nach {loc} bewegt" - #: stock/forms.py:79 stock/forms.py:307 stock/models.py:556 #: stock/templates/stock/item_base.html:395 -#: templates/js/translated/stock.js:967 +#: templates/js/translated/stock.js:946 msgid "Expiry Date" msgstr "Ablaufdatum" @@ -5642,11 +5474,11 @@ msgstr "Preis für eine Einheit bei Einkauf" #: stock/models.py:599 msgid "Scheduled for deletion" -msgstr "" +msgstr "Zur Löschung vorgesehen" #: stock/models.py:600 msgid "This StockItem will be deleted by the background worker" -msgstr "" +msgstr "Dieser Lagerbestand wird vom Hintergrund-Prozess gelöscht" #: stock/models.py:1063 msgid "Part is not set as trackable" @@ -5678,38 +5510,54 @@ msgstr "Seriennummern {exists} existieren bereits" msgid "StockItem cannot be moved as it is not in stock" msgstr "BestandsObjekt kann nicht bewegt werden, da kein Bestand vorhanden ist" -#: stock/models.py:1727 +#: stock/models.py:1724 msgid "Entry notes" msgstr "Eintrags-Notizen" -#: stock/models.py:1784 +#: stock/models.py:1781 msgid "Value must be provided for this test" msgstr "Wert muss für diesen Test angegeben werden" -#: stock/models.py:1790 +#: stock/models.py:1787 msgid "Attachment must be uploaded for this test" msgstr "Anhang muss für diesen Test hochgeladen werden" -#: stock/models.py:1808 +#: stock/models.py:1805 msgid "Test name" msgstr "Name des Tests" -#: stock/models.py:1814 templates/js/translated/table_filters.js:244 +#: stock/models.py:1811 templates/js/translated/table_filters.js:244 msgid "Test result" msgstr "Testergebnis" -#: stock/models.py:1820 +#: stock/models.py:1817 msgid "Test output value" msgstr "Test Ausgabe Wert" -#: stock/models.py:1827 +#: stock/models.py:1824 msgid "Test result attachment" msgstr "Test Ergebnis Anhang" -#: stock/models.py:1833 +#: stock/models.py:1830 msgid "Test notes" msgstr "Test Notizen" +#: stock/serializers.py:424 +msgid "StockItem primary key value" +msgstr "" + +#: stock/serializers.py:452 +msgid "Stock transaction notes" +msgstr "Bestandsbewegungsnotizen" + +#: stock/serializers.py:462 +msgid "A list of stock items must be provided" +msgstr "Eine Liste der Lagerbestände muss angegeben werden" + +#: stock/serializers.py:554 +msgid "Destination stock location" +msgstr "Ziel-Lagerbestand" + #: stock/templates/stock/item.html:17 msgid "Stock Tracking Information" msgstr "Informationen zum Lagerbestands-Tracking" @@ -5747,7 +5595,7 @@ msgstr "Test-Bericht" msgid "Installed Stock Items" msgstr "Installierte BestandsObjekte" -#: stock/templates/stock/item.html:125 stock/views.py:534 +#: stock/templates/stock/item.html:125 stock/views.py:511 msgid "Install Stock Item" msgstr "BestandsObjekt installiert" @@ -5910,7 +5758,7 @@ msgid "next page" msgstr "nächste Seite" #: stock/templates/stock/item_base.html:303 -#: templates/js/translated/build.js:651 +#: templates/js/translated/build.js:658 msgid "No location set" msgstr "Kein Lagerort gesetzt" @@ -5937,7 +5785,7 @@ msgid "This StockItem expires on %(item.expiry_date)s" msgstr "Dieses BestandsObjekt läuft am %(item.expiry_date)s ab" #: stock/templates/stock/item_base.html:408 -#: templates/js/translated/stock.js:980 +#: templates/js/translated/stock.js:959 msgid "Last Updated" msgstr "Zuletzt aktualisiert" @@ -6019,6 +5867,10 @@ msgstr "Sie sind nicht auf der Liste der Besitzer dieses Lagerorts. Der Bestands msgid "All stock items" msgstr "Alle BestandsObjekte" +#: stock/templates/stock/location.html:42 +msgid "Create new stock location" +msgstr "Neuen Lagerort anlegen" + #: stock/templates/stock/location.html:55 msgid "Check-in Items" msgstr "Teile einchecken" @@ -6058,7 +5910,7 @@ msgstr "Unter-Lagerorte" msgid "Stock Details" msgstr "Objekt-Details" -#: stock/templates/stock/location.html:129 templates/InvenTree/search.html:279 +#: stock/templates/stock/location.html:129 templates/InvenTree/search.html:196 #: templates/stats.html:97 users/models.py:42 msgid "Stock Locations" msgstr "Bestand-Lagerorte" @@ -6071,6 +5923,10 @@ msgstr "Druck Aktionen" msgid "Print labels" msgstr "Label drucken" +#: stock/templates/stock/location.html:250 +msgid "New Location" +msgstr "Neuer Lagerort" + #: stock/templates/stock/location.html:251 msgid "Create new location" msgstr "Neuen Lagerort anlegen" @@ -6111,7 +5967,7 @@ msgstr "Lade..." msgid "The following stock items will be uninstalled" msgstr "Die folgenden BestandsObjekte werden nicht mehr verbaut" -#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:932 +#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:909 msgid "Convert Stock Item" msgstr "BestandsObjekt umwandeln" @@ -6132,104 +5988,104 @@ msgstr "Diese Aktion kann nicht einfach rückgängig gemacht werden" msgid "Are you sure you want to delete this stock tracking entry?" msgstr "Sind Sie sicher, dass Sie diesen BestandsObjekt-Verfolgungs-Eintrag löschen wollen?" -#: stock/views.py:181 +#: stock/views.py:158 msgid "Edit Stock Location" msgstr "BestandsObjekt-Lagerort bearbeiten" -#: stock/views.py:288 stock/views.py:911 stock/views.py:1033 -#: stock/views.py:1398 +#: stock/views.py:265 stock/views.py:888 stock/views.py:1010 +#: stock/views.py:1375 msgid "Owner is required (ownership control is enabled)" msgstr "Eigentümer notwendig (Eigentümerkontrolle aktiv)" -#: stock/views.py:303 +#: stock/views.py:280 msgid "Stock Location QR code" msgstr "QR-Code für diesen Lagerort" -#: stock/views.py:322 +#: stock/views.py:299 msgid "Assign to Customer" msgstr "Kunden zuweisen" -#: stock/views.py:331 +#: stock/views.py:308 msgid "Customer must be specified" msgstr "Kunde muss angegeben werden" -#: stock/views.py:355 +#: stock/views.py:332 msgid "Return to Stock" msgstr "zurück ins Lager" -#: stock/views.py:364 +#: stock/views.py:341 msgid "Specify a valid location" msgstr "gültigen Lagerort angeben" -#: stock/views.py:375 +#: stock/views.py:352 msgid "Stock item returned from customer" msgstr "BestandsObjekt retoure vom Kunden" -#: stock/views.py:386 +#: stock/views.py:363 msgid "Delete All Test Data" msgstr "alle Testdaten löschen" -#: stock/views.py:403 +#: stock/views.py:380 msgid "Confirm test data deletion" msgstr "Löschen Testdaten bestätigen" -#: stock/views.py:508 +#: stock/views.py:485 msgid "Stock Item QR Code" msgstr "BestandsObjekt-QR-Code" -#: stock/views.py:683 +#: stock/views.py:660 msgid "Uninstall Stock Items" msgstr "BestandsObjekte deinstallieren" -#: stock/views.py:780 templates/js/translated/stock.js:353 +#: stock/views.py:757 templates/js/translated/stock.js:321 msgid "Confirm stock adjustment" msgstr "Bestands-Anpassung bestätigen" -#: stock/views.py:791 +#: stock/views.py:768 msgid "Uninstalled stock items" msgstr "BestandsObjekte deinstalliert" -#: stock/views.py:813 +#: stock/views.py:790 msgid "Edit Stock Item" msgstr "BestandsObjekt bearbeiten" -#: stock/views.py:959 +#: stock/views.py:936 msgid "Create new Stock Location" msgstr "Neuen Lagerort erstellen" -#: stock/views.py:1050 +#: stock/views.py:1027 msgid "Serialize Stock" msgstr "Lagerbestand erfassen" -#: stock/views.py:1143 templates/js/translated/build.js:392 +#: stock/views.py:1120 msgid "Create new Stock Item" msgstr "Neues BestandsObjekt hinzufügen" -#: stock/views.py:1285 +#: stock/views.py:1262 msgid "Duplicate Stock Item" msgstr "Bestand duplizieren" -#: stock/views.py:1367 +#: stock/views.py:1344 msgid "Quantity cannot be negative" msgstr "Anzahl kann nicht negativ sein" -#: stock/views.py:1467 +#: stock/views.py:1444 msgid "Delete Stock Location" msgstr "Bestand-Lagerort löschen" -#: stock/views.py:1480 +#: stock/views.py:1457 msgid "Delete Stock Item" msgstr "BestandsObjekt löschen" -#: stock/views.py:1491 +#: stock/views.py:1468 msgid "Delete Stock Tracking Entry" msgstr "Lagerbestands-Tracking-Eintrag löschen" -#: stock/views.py:1498 +#: stock/views.py:1475 msgid "Edit Stock Tracking Entry" msgstr "Lagerbestands-Tracking-Eintrag bearbeiten" -#: stock/views.py:1507 +#: stock/views.py:1484 msgid "Add Stock Tracking Entry" msgstr "Lagerbestands-Tracking-Eintrag hinzufügen" @@ -6313,14 +6169,6 @@ msgstr "Suchergebnisse" msgid "Enter a search query" msgstr "Eine Sucheanfrage eingeben" -#: templates/InvenTree/search.html:268 templates/js/translated/stock.js:699 -msgid "Shipped to customer" -msgstr "an Kunde versand" - -#: templates/InvenTree/search.html:271 templates/js/translated/stock.js:709 -msgid "No stock location set" -msgstr "Kein Lagerort gesetzt" - #: templates/InvenTree/settings/barcode.html:8 msgid "Barcode Settings" msgstr "Barcode-Einstellungen" @@ -6365,6 +6213,14 @@ msgstr "Server Einstellungen" msgid "Setting" msgstr "Einstellungen" +#: templates/InvenTree/settings/login.html:9 +msgid "Login Settings" +msgstr "" + +#: templates/InvenTree/settings/login.html:22 templates/account/signup.html:5 +msgid "Signup" +msgstr "" + #: templates/InvenTree/settings/navbar.html:12 #: templates/InvenTree/settings/user_settings.html:9 msgid "User Settings" @@ -6382,7 +6238,7 @@ msgstr "Startseite" #: templates/InvenTree/settings/navbar.html:27 #: templates/InvenTree/settings/navbar.html:29 -#: templates/js/translated/tables.js:366 templates/search_form.html:6 +#: templates/js/translated/tables.js:375 templates/search_form.html:6 #: templates/search_form.html:8 msgid "Search" msgstr "Suche" @@ -6397,38 +6253,48 @@ msgstr "Labels" msgid "Reports" msgstr "Berichte" -#: templates/InvenTree/settings/navbar.html:46 -#: templates/InvenTree/settings/navbar.html:48 -#: templates/InvenTree/settings/settings.html:8 templates/navbar.html:94 +#: templates/InvenTree/settings/navbar.html:45 +#: templates/InvenTree/settings/navbar.html:47 +msgid "Forms" +msgstr "Formulare" + +#: templates/InvenTree/settings/navbar.html:52 +#: templates/InvenTree/settings/navbar.html:54 +#: templates/InvenTree/settings/settings.html:8 templates/navbar.html:90 msgid "Settings" msgstr "Einstellungen" -#: templates/InvenTree/settings/navbar.html:56 +#: templates/InvenTree/settings/navbar.html:62 msgid "InvenTree Settings" msgstr "InvenTree-Einstellungen" -#: templates/InvenTree/settings/navbar.html:59 -#: templates/InvenTree/settings/navbar.html:61 templates/stats.html:9 +#: templates/InvenTree/settings/navbar.html:65 +#: templates/InvenTree/settings/navbar.html:67 templates/stats.html:9 msgid "Server" msgstr "Server" -#: templates/InvenTree/settings/navbar.html:65 -#: templates/InvenTree/settings/navbar.html:67 -msgid "Barcodes" -msgstr "Barcodes" - #: templates/InvenTree/settings/navbar.html:71 -#: templates/InvenTree/settings/navbar.html:73 -msgid "Currencies" -msgstr "Währungen" +#: templates/InvenTree/settings/navbar.html:73 templates/navbar.html:87 +msgid "Login" +msgstr "Einloggen" #: templates/InvenTree/settings/navbar.html:77 #: templates/InvenTree/settings/navbar.html:79 -msgid "Reporting" -msgstr "Berichte" +msgid "Barcodes" +msgstr "Barcodes" + +#: templates/InvenTree/settings/navbar.html:83 +#: templates/InvenTree/settings/navbar.html:85 +msgid "Currencies" +msgstr "Währungen" #: templates/InvenTree/settings/navbar.html:89 #: templates/InvenTree/settings/navbar.html:91 +msgid "Reporting" +msgstr "Berichte" + +#: templates/InvenTree/settings/navbar.html:101 +#: templates/InvenTree/settings/navbar.html:103 msgid "Categories" msgstr "Kategorien" @@ -6469,21 +6335,21 @@ msgstr "Kein Wert angegeben" msgid "Edit setting" msgstr "Einstellungen ändern" -#: templates/InvenTree/settings/settings.html:152 +#: templates/InvenTree/settings/settings.html:154 msgid "No category parameter templates found" msgstr "Keine Kategorie-Parametervorlagen gefunden" -#: templates/InvenTree/settings/settings.html:174 -#: templates/InvenTree/settings/settings.html:273 +#: templates/InvenTree/settings/settings.html:176 +#: templates/InvenTree/settings/settings.html:275 msgid "Edit Template" msgstr "Vorlage bearbeiten" -#: templates/InvenTree/settings/settings.html:175 -#: templates/InvenTree/settings/settings.html:274 +#: templates/InvenTree/settings/settings.html:177 +#: templates/InvenTree/settings/settings.html:276 msgid "Delete Template" msgstr "Vorlage löschen" -#: templates/InvenTree/settings/settings.html:253 +#: templates/InvenTree/settings/settings.html:255 msgid "No part parameter templates found" msgstr "Keine Teilparametervorlagen gefunden" @@ -6495,70 +6361,140 @@ msgstr "Auftrags-Einstellungen" msgid "Stock Settings" msgstr "Bestands-Einstellungen" -#: templates/InvenTree/settings/user.html:9 +#: templates/InvenTree/settings/user.html:11 msgid "Account Settings" msgstr "Kontoeinstellungen" -#: templates/InvenTree/settings/user.html:15 +#: templates/InvenTree/settings/user.html:19 #: templates/js/translated/helpers.js:26 msgid "Edit" msgstr "Bearbeiten" -#: templates/InvenTree/settings/user.html:17 +#: templates/InvenTree/settings/user.html:21 +#: templates/account/password_reset_from_key.html:4 +#: templates/account/password_reset_from_key.html:7 msgid "Change Password" msgstr "Passwort ändern" -#: templates/InvenTree/settings/user.html:24 -#: templates/registration/login.html:58 +#: templates/InvenTree/settings/user.html:28 msgid "Username" msgstr "Benutzername" -#: templates/InvenTree/settings/user.html:28 +#: templates/InvenTree/settings/user.html:32 msgid "First Name" msgstr "Vorname" -#: templates/InvenTree/settings/user.html:32 +#: templates/InvenTree/settings/user.html:36 msgid "Last Name" msgstr "Nachname" -#: templates/InvenTree/settings/user.html:36 -msgid "Email Address" -msgstr "Mail-Adresse" - #: templates/InvenTree/settings/user.html:42 +msgid "E-Mail" +msgstr "" + +#: templates/InvenTree/settings/user.html:47 +msgid "The following e-mail addresses are associated with your account:" +msgstr "" + +#: templates/InvenTree/settings/user.html:61 +msgid "Verified" +msgstr "" + +#: templates/InvenTree/settings/user.html:63 +msgid "Unverified" +msgstr "" + +#: templates/InvenTree/settings/user.html:65 +msgid "Primary" +msgstr "" + +#: templates/InvenTree/settings/user.html:71 +msgid "Make Primary" +msgstr "" + +#: templates/InvenTree/settings/user.html:72 +msgid "Re-send Verification" +msgstr "" + +#: templates/InvenTree/settings/user.html:73 +#: templates/InvenTree/settings/user.html:130 +msgid "Remove" +msgstr "" + +#: templates/InvenTree/settings/user.html:80 +msgid "Warning:" +msgstr "" + +#: templates/InvenTree/settings/user.html:81 +msgid "You currently do not have any e-mail address set up. You should really add an e-mail address so you can receive notifications, reset your password, etc." +msgstr "" + +#: templates/InvenTree/settings/user.html:88 +msgid "Add E-mail Address" +msgstr "" + +#: templates/InvenTree/settings/user.html:93 +msgid "Add E-mail" +msgstr "" + +#: templates/InvenTree/settings/user.html:100 +msgid "Social Accounts" +msgstr "" + +#: templates/InvenTree/settings/user.html:105 +msgid "You can sign in to your account using any of the following third party accounts:" +msgstr "" + +#: templates/InvenTree/settings/user.html:138 +msgid "You currently have no social network accounts connected to this account." +msgstr "" + +#: templates/InvenTree/settings/user.html:142 +msgid "Add a 3rd Party Account" +msgstr "" + +#: templates/InvenTree/settings/user.html:153 msgid "Theme Settings" msgstr "Anzeige-Einstellungen" -#: templates/InvenTree/settings/user.html:63 +#: templates/InvenTree/settings/user.html:174 msgid "Set Theme" msgstr "Design auswählen" -#: templates/InvenTree/settings/user.html:70 +#: templates/InvenTree/settings/user.html:181 msgid "Language Settings" msgstr "Spracheinstellung" -#: templates/InvenTree/settings/user.html:89 +#: templates/InvenTree/settings/user.html:200 #, python-format msgid "%(lang_translated)s%% translated" msgstr "%(lang_translated)s%% übersetzt" -#: templates/InvenTree/settings/user.html:91 +#: templates/InvenTree/settings/user.html:202 msgid "No translations available" msgstr "Keine Übersetzungen verfügbar" -#: templates/InvenTree/settings/user.html:98 +#: templates/InvenTree/settings/user.html:209 msgid "Set Language" msgstr "Sprache festlegen" -#: templates/InvenTree/settings/user.html:103 +#: templates/InvenTree/settings/user.html:214 msgid "Help the translation efforts!" msgstr "Hilf bei der Übersetzung!" -#: templates/InvenTree/settings/user.html:104 +#: templates/InvenTree/settings/user.html:215 #, python-format msgid "Native language translation of the InvenTree web application is community contributed via crowdin. Contributions are welcomed and encouraged." msgstr "Die Übersetzung von InvenTree wird von Nutzern mit Crowdin betrieben. Wir ermutigen zur und freuen uns über jeden Mithilfe!" +#: templates/InvenTree/settings/user.html:223 +msgid "Do you really want to remove the selected e-mail address?" +msgstr "" + +#: templates/InvenTree/settings/user_forms.html:9 +msgid "Form Settings" +msgstr "Formulareinstellungen" + #: templates/InvenTree/settings/user_homepage.html:9 msgid "Home Page Settings" msgstr "Startseite-Einstellungen" @@ -6581,7 +6517,7 @@ msgstr "InvenTree-Version" #: templates/about.html:27 msgid "Development Version" -msgstr "" +msgstr "Entwicklungsversion" #: templates/about.html:30 msgid "Up to Date" @@ -6641,11 +6577,108 @@ msgstr "Versionsinformationen kopieren" #: templates/about.html:107 templates/js/translated/modals.js:50 #: templates/js/translated/modals.js:584 templates/js/translated/modals.js:678 -#: templates/js/translated/modals.js:971 templates/modals.html:29 +#: templates/js/translated/modals.js:982 templates/modals.html:29 #: templates/modals.html:54 msgid "Close" msgstr "Schliessen" +#: templates/account/email_confirm.html:6 +#: templates/account/email_confirm.html:10 +msgid "Confirm E-mail Address" +msgstr "" + +#: templates/account/email_confirm.html:16 +#, python-format +msgid "Please confirm that %(email)s is an e-mail address for user %(user_display)s." +msgstr "" + +#: templates/account/email_confirm.html:27 +#, python-format +msgid "This e-mail confirmation link expired or is invalid. Please issue a new e-mail confirmation request." +msgstr "" + +#: templates/account/login.html:5 templates/account/login.html:14 +#: templates/account/login.html:36 +msgid "Sign In" +msgstr "" + +#: templates/account/login.html:19 +#, python-format +msgid "Please sign in with one\n" +"of your existing third party accounts or sign up\n" +"for a account and sign in below:" +msgstr "" + +#: templates/account/login.html:23 +#, python-format +msgid "If you have not created an account yet, then please\n" +"sign up first." +msgstr "" + +#: templates/account/login.html:38 +msgid "Forgot Password?" +msgstr "" + +#: templates/account/login.html:45 +msgid "or use SSO" +msgstr "" + +#: templates/account/logout.html:5 templates/account/logout.html:8 +#: templates/account/logout.html:17 +msgid "Sign Out" +msgstr "" + +#: templates/account/logout.html:10 +msgid "Are you sure you want to sign out?" +msgstr "" + +#: templates/account/password_reset.html:5 +#: templates/account/password_reset.html:12 +msgid "Password Reset" +msgstr "" + +#: templates/account/password_reset.html:18 +msgid "Forgotten your password? Enter your e-mail address below, and we'll send you an e-mail allowing you to reset it." +msgstr "" + +#: templates/account/password_reset.html:23 +msgid "Reset My Password" +msgstr "" + +#: templates/account/password_reset.html:27 templates/account/signup.html:36 +msgid "This function is currently disabled. Please contact an administrator." +msgstr "" + +#: templates/account/password_reset_from_key.html:7 +msgid "Bad Token" +msgstr "" + +#: templates/account/password_reset_from_key.html:11 +#, python-format +msgid "The password reset link was invalid, possibly because it has already been used. Please request a new password reset." +msgstr "" + +#: templates/account/password_reset_from_key.html:17 +msgid "change password" +msgstr "" + +#: templates/account/password_reset_from_key.html:20 +msgid "Your password is now changed." +msgstr "" + +#: templates/account/signup.html:11 templates/account/signup.html:22 +msgid "Sign Up" +msgstr "" + +#: templates/account/signup.html:13 +#, python-format +msgid "Already have an account? Then please sign in." +msgstr "" + +#: templates/account/signup.html:27 +msgid "Or use a SSO-provider for signup" +msgstr "" + #: templates/image_download.html:8 msgid "Specify URL for downloading image" msgstr "URL für Bild-Donwload angeben" @@ -6675,7 +6708,7 @@ msgid "Select Test Report Template" msgstr "Test-Bericht-Vorlage auswählen" #: templates/js/report.js:98 templates/js/translated/label.js:29 -#: templates/js/translated/report.js:118 templates/js/translated/stock.js:313 +#: templates/js/translated/report.js:118 templates/js/translated/stock.js:297 msgid "Select Stock Items" msgstr "BestandsObjekte auswählen" @@ -6707,8 +6740,8 @@ msgstr "Bauauftrag muss vor dem Berichtsdruck ausgewählt werden" msgid "No report templates found which match selected build(s)" msgstr "Keine Berichtvorlagen für ausgewählten Bauauftrag gefunden" -#: templates/js/report.js:205 templates/js/translated/label.js:134 -#: templates/js/translated/report.js:225 +#: templates/js/report.js:205 templates/js/translated/build.js:948 +#: templates/js/translated/label.js:134 templates/js/translated/report.js:225 msgid "Select Parts" msgstr "Teile auswählen" @@ -6741,11 +6774,11 @@ msgstr "Aufträge auswählen" msgid "Sales Order(s) must be selected before printing report" msgstr "Auftrag muss vor dem Berichtsdruck ausgewählt werden" -#: templates/js/translated/api.js:174 templates/js/translated/modals.js:1041 +#: templates/js/translated/api.js:174 templates/js/translated/modals.js:1052 msgid "No Response" msgstr "Keine Antwort" -#: templates/js/translated/api.js:175 templates/js/translated/modals.js:1042 +#: templates/js/translated/api.js:175 templates/js/translated/modals.js:1053 msgid "No response from the InvenTree server" msgstr "keine Antwort vom InvenTree Server" @@ -6757,35 +6790,35 @@ msgstr "Fehler 400: Fehlerhafte Anfrage" msgid "API request returned error code 400" msgstr "Fehler-Code 400 zurückgegeben" -#: templates/js/translated/api.js:186 templates/js/translated/modals.js:1051 +#: templates/js/translated/api.js:186 templates/js/translated/modals.js:1062 msgid "Error 401: Not Authenticated" msgstr "Fehler 401: Nicht Angemeldet" -#: templates/js/translated/api.js:187 templates/js/translated/modals.js:1052 +#: templates/js/translated/api.js:187 templates/js/translated/modals.js:1063 msgid "Authentication credentials not supplied" msgstr "Authentication Kredentials nicht angegeben" -#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1056 +#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1067 msgid "Error 403: Permission Denied" msgstr "Fehler 403: keine Berechtigung" -#: templates/js/translated/api.js:192 templates/js/translated/modals.js:1057 +#: templates/js/translated/api.js:192 templates/js/translated/modals.js:1068 msgid "You do not have the required permissions to access this function" msgstr "Fehlende Berechtigung für diese Aktion" -#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1061 +#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1072 msgid "Error 404: Resource Not Found" msgstr "Fehler 404: Ressource nicht gefunden" -#: templates/js/translated/api.js:197 templates/js/translated/modals.js:1062 +#: templates/js/translated/api.js:197 templates/js/translated/modals.js:1073 msgid "The requested resource could not be located on the server" msgstr "Die angefragte Ressource kann auf diesem Server nicht gefunden werden" -#: templates/js/translated/api.js:201 templates/js/translated/modals.js:1066 +#: templates/js/translated/api.js:201 templates/js/translated/modals.js:1077 msgid "Error 408: Timeout" msgstr "Fehler 408: Zeitüberschreitung" -#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1067 +#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1078 msgid "Connection timeout while requesting data from server" msgstr "Verbindungszeitüberschreitung bei der Datenanforderung" @@ -6842,7 +6875,7 @@ msgid "Unknown response from server" msgstr "Unbekannte Antwort von Server erhalten" #: templates/js/translated/barcode.js:141 -#: templates/js/translated/modals.js:1031 +#: templates/js/translated/modals.js:1042 msgid "Invalid server response" msgstr "Ungültige Antwort von Server" @@ -6870,7 +6903,7 @@ msgstr "Dadurch wird die Verknüpfung zwischen diesem BestandsObjekt und dem Bar msgid "Unlink" msgstr "Entfernen" -#: templates/js/translated/barcode.js:398 templates/js/translated/stock.js:289 +#: templates/js/translated/barcode.js:398 templates/js/translated/stock.js:273 msgid "Remove stock item" msgstr "BestandsObjekt entfernen" @@ -6912,115 +6945,181 @@ msgstr "In Lagerorten buchen" msgid "Barcode does not match a valid location" msgstr "Barcode entspricht keinem Lagerort" -#: templates/js/translated/bom.js:215 templates/js/translated/build.js:1169 +#: templates/js/translated/bom.js:234 templates/js/translated/build.js:1495 msgid "Open subassembly" msgstr "Unterbaugruppe öffnen" -#: templates/js/translated/bom.js:287 +#: templates/js/translated/bom.js:288 templates/js/translated/build.js:744 +#: templates/js/translated/build.js:1345 templates/js/translated/build.js:1522 +msgid "Available" +msgstr "Verfügbar" + +#: templates/js/translated/bom.js:307 msgid "Purchase Price Range" msgstr "Kaufpreisspanne" -#: templates/js/translated/bom.js:294 +#: templates/js/translated/bom.js:314 msgid "Purchase Price Average" msgstr "Durchschnittlicher Kaufpreis" -#: templates/js/translated/bom.js:342 templates/js/translated/bom.js:428 +#: templates/js/translated/bom.js:363 templates/js/translated/bom.js:449 msgid "View BOM" msgstr "Stückliste anzeigen" -#: templates/js/translated/bom.js:402 +#: templates/js/translated/bom.js:415 templates/js/translated/build.js:798 +#: templates/js/translated/build.js:1545 templates/js/translated/order.js:1285 +msgid "Actions" +msgstr "Aktionen" + +#: templates/js/translated/bom.js:423 msgid "Validate BOM Item" msgstr "Stücklisten-Position kontrollieren" -#: templates/js/translated/bom.js:404 +#: templates/js/translated/bom.js:425 msgid "This line has been validated" msgstr "Diese Position wurde kontrolliert" -#: templates/js/translated/bom.js:406 templates/js/translated/bom.js:569 +#: templates/js/translated/bom.js:427 templates/js/translated/bom.js:590 msgid "Edit BOM Item" msgstr "Stücklisten-Position bearbeiten" -#: templates/js/translated/bom.js:408 templates/js/translated/bom.js:554 +#: templates/js/translated/bom.js:429 templates/js/translated/bom.js:575 msgid "Delete BOM Item" msgstr "Stücklisten-Position löschen" -#: templates/js/translated/bom.js:499 templates/js/translated/build.js:483 -#: templates/js/translated/build.js:1267 +#: templates/js/translated/bom.js:520 templates/js/translated/build.js:485 +#: templates/js/translated/build.js:1593 msgid "No BOM items found" msgstr "Keine Stücklisten-Position(en) gefunden" -#: templates/js/translated/build.js:69 +#: templates/js/translated/build.js:71 msgid "Edit Build Order" msgstr "Bauauftrag bearbeiten" -#: templates/js/translated/build.js:95 +#: templates/js/translated/build.js:105 msgid "Create Build Order" msgstr "Bauauftrag erstellen" -#: templates/js/translated/build.js:127 -msgid "Auto-allocate stock items to this output" -msgstr "Teilbestand automatisch Endprodukt zuweisen" +#: templates/js/translated/build.js:138 +msgid "Allocate stock items to this build output" +msgstr "" -#: templates/js/translated/build.js:135 +#: templates/js/translated/build.js:146 msgid "Unallocate stock from build output" msgstr "Bestand von Endpordukt zurücknehmen" -#: templates/js/translated/build.js:145 +#: templates/js/translated/build.js:155 msgid "Complete build output" msgstr "Endprodukt fertigstellen" -#: templates/js/translated/build.js:154 +#: templates/js/translated/build.js:164 msgid "Delete build output" msgstr "Endprodukt entfernen" -#: templates/js/translated/build.js:249 +#: templates/js/translated/build.js:265 msgid "No build order allocations found" -msgstr "" +msgstr "Keine Allokationen für Bauauftrag gefunden" -#: templates/js/translated/build.js:287 templates/js/translated/order.js:813 +#: templates/js/translated/build.js:303 templates/js/translated/order.js:1159 msgid "Location not specified" msgstr "Standort nicht angegeben" -#: templates/js/translated/build.js:391 templates/stock_table.html:20 -msgid "New Stock Item" -msgstr "Neues BestandsObjekt" +#: templates/js/translated/build.js:675 templates/js/translated/build.js:1356 +#: templates/js/translated/order.js:1292 +msgid "Edit stock allocation" +msgstr "Bestands-Zuordnung bearbeiten" -#: templates/js/translated/build.js:702 +#: templates/js/translated/build.js:677 templates/js/translated/build.js:1357 +#: templates/js/translated/order.js:1293 +msgid "Delete stock allocation" +msgstr "Bestands-Zuordnung löschen" + +#: templates/js/translated/build.js:695 +msgid "Edit Allocation" +msgstr "Zuordnung bearbeiten" + +#: templates/js/translated/build.js:705 +msgid "Remove Allocation" +msgstr "Zuordnung entfernen" + +#: templates/js/translated/build.js:718 msgid "Required Part" msgstr "benötigtes Teil" -#: templates/js/translated/build.js:723 +#: templates/js/translated/build.js:739 msgid "Quantity Per" msgstr "Anzahl pro" -#: templates/js/translated/build.js:793 templates/js/translated/build.js:1231 +#: templates/js/translated/build.js:749 templates/js/translated/build.js:975 +#: templates/js/translated/build.js:1352 templates/js/translated/order.js:1514 +msgid "Allocated" +msgstr "Zugeordnet" + +#: templates/js/translated/build.js:805 templates/js/translated/build.js:1553 +#: templates/js/translated/order.js:1567 +msgid "Build stock" +msgstr "Lagerbestand bauen" + +#: templates/js/translated/build.js:809 templates/js/translated/build.js:1557 #: templates/stock_table.html:59 msgid "Order stock" msgstr "Bestand bestellen" -#: templates/js/translated/build.js:846 +#: templates/js/translated/build.js:812 templates/js/translated/order.js:1560 +msgid "Allocate stock" +msgstr "Lagerbestand zuweisen" + +#: templates/js/translated/build.js:880 +msgid "Specify stock allocation quantity" +msgstr "Anzahl für Bestandszuordnung eingeben" + +#: templates/js/translated/build.js:949 +msgid "You must select at least one part to allocate" +msgstr "Sie müssen mindestens ein Teil auswählen" + +#: templates/js/translated/build.js:963 +msgid "Select source location (leave blank to take from all locations)" +msgstr "Wählen Sie den Quellort aus (leer lassen um von allen Standorten zu nehmen)" + +#: templates/js/translated/build.js:992 +msgid "Confirm stock allocation" +msgstr "Bestandszuordnung bestätigen" + +#: templates/js/translated/build.js:993 +msgid "Allocate Stock Items to Build Order" +msgstr "Lagerbestand für Bauauftrag zuweisen" + +#: templates/js/translated/build.js:1004 +msgid "No matching stock locations" +msgstr "Keine passenden Lagerstandorte" + +#: templates/js/translated/build.js:1048 +msgid "No matching stock items" +msgstr "Keine passenden Lagerbestände" + +#: templates/js/translated/build.js:1172 msgid "No builds matching query" msgstr "Keine Bauaufträge passen zur Anfrage" -#: templates/js/translated/build.js:863 templates/js/translated/part.js:845 -#: templates/js/translated/part.js:1123 templates/js/translated/stock.js:783 -#: templates/js/translated/stock.js:1477 +#: templates/js/translated/build.js:1189 templates/js/translated/part.js:856 +#: templates/js/translated/part.js:1134 templates/js/translated/stock.js:762 +#: templates/js/translated/stock.js:1456 msgid "Select" msgstr "Auswählen" -#: templates/js/translated/build.js:883 +#: templates/js/translated/build.js:1209 msgid "Build order is overdue" msgstr "Bauauftrag ist überfällig" -#: templates/js/translated/build.js:944 templates/js/translated/stock.js:1696 +#: templates/js/translated/build.js:1270 templates/js/translated/stock.js:1675 msgid "No user information" msgstr "Keine Benutzerinformation" -#: templates/js/translated/build.js:956 +#: templates/js/translated/build.js:1282 msgid "No information" msgstr "Keine Information" -#: templates/js/translated/build.js:1007 +#: templates/js/translated/build.js:1333 msgid "No parts allocated for" msgstr "Keine Teile zugeordnet zu" @@ -7040,7 +7139,7 @@ msgstr "Herstellerteil ändern" msgid "Delete Manufacturer Part" msgstr "Herstellerteil löschen" -#: templates/js/translated/company.js:164 templates/js/translated/order.js:86 +#: templates/js/translated/company.js:164 templates/js/translated/order.js:89 msgid "Add Supplier" msgstr "Zulieferer hinzufügen" @@ -7084,53 +7183,53 @@ msgstr "Die folgenden Herstellerteile werden gelöscht" msgid "Delete Manufacturer Parts" msgstr "Herstellerteile löschen" -#: templates/js/translated/company.js:475 +#: templates/js/translated/company.js:476 msgid "No manufacturer parts found" msgstr "Keine Herstellerteile gefunden" -#: templates/js/translated/company.js:495 -#: templates/js/translated/company.js:751 templates/js/translated/part.js:416 -#: templates/js/translated/part.js:501 +#: templates/js/translated/company.js:496 +#: templates/js/translated/company.js:753 templates/js/translated/part.js:427 +#: templates/js/translated/part.js:512 msgid "Template part" msgstr "Vorlagenteil" -#: templates/js/translated/company.js:499 -#: templates/js/translated/company.js:755 templates/js/translated/part.js:420 -#: templates/js/translated/part.js:505 +#: templates/js/translated/company.js:500 +#: templates/js/translated/company.js:757 templates/js/translated/part.js:431 +#: templates/js/translated/part.js:516 msgid "Assembled part" msgstr "Baugruppe" -#: templates/js/translated/company.js:626 templates/js/translated/part.js:593 +#: templates/js/translated/company.js:627 templates/js/translated/part.js:604 msgid "No parameters found" msgstr "Keine Parameter gefunden" -#: templates/js/translated/company.js:663 templates/js/translated/part.js:635 +#: templates/js/translated/company.js:664 templates/js/translated/part.js:646 msgid "Edit parameter" msgstr "Parameter bearbeiten" -#: templates/js/translated/company.js:664 templates/js/translated/part.js:636 +#: templates/js/translated/company.js:665 templates/js/translated/part.js:647 msgid "Delete parameter" msgstr "Parameter löschen" -#: templates/js/translated/company.js:683 templates/js/translated/part.js:653 +#: templates/js/translated/company.js:684 templates/js/translated/part.js:664 msgid "Edit Parameter" msgstr "Parameter bearbeiten" -#: templates/js/translated/company.js:694 templates/js/translated/part.js:665 +#: templates/js/translated/company.js:695 templates/js/translated/part.js:676 msgid "Delete Parameter" msgstr "Parameter löschen" -#: templates/js/translated/company.js:731 +#: templates/js/translated/company.js:733 msgid "No supplier parts found" msgstr "Keine Zuliefererteile gefunden" #: templates/js/translated/filters.js:178 -#: templates/js/translated/filters.js:402 +#: templates/js/translated/filters.js:407 msgid "true" msgstr "ja" #: templates/js/translated/filters.js:182 -#: templates/js/translated/filters.js:403 +#: templates/js/translated/filters.js:408 msgid "false" msgstr "nein" @@ -7138,19 +7237,19 @@ msgstr "nein" msgid "Select filter" msgstr "Filter auswählen" -#: templates/js/translated/filters.js:279 +#: templates/js/translated/filters.js:284 msgid "Reload data" msgstr "Daten neu laden" -#: templates/js/translated/filters.js:281 +#: templates/js/translated/filters.js:286 msgid "Add new filter" msgstr "Filter hinzufügen" -#: templates/js/translated/filters.js:284 +#: templates/js/translated/filters.js:289 msgid "Clear all filters" msgstr "Filter entfernen" -#: templates/js/translated/filters.js:312 +#: templates/js/translated/filters.js:317 msgid "Create filter" msgstr "Filter anlegen" @@ -7175,16 +7274,20 @@ msgstr "Löschvorgang nicht erlaubt" msgid "View operation not allowed" msgstr "Anzeigevorgang nicht erlaubt" -#: templates/js/translated/forms.js:889 templates/modals.html:21 +#: templates/js/translated/forms.js:968 templates/modals.html:21 #: templates/modals.html:47 msgid "Form errors exist" msgstr "Fehler in Formular" -#: templates/js/translated/forms.js:1379 +#: templates/js/translated/forms.js:1323 +msgid "No results found" +msgstr "Keine Ergebnisse gefunden" + +#: templates/js/translated/forms.js:1525 msgid "Searching" msgstr "Suche" -#: templates/js/translated/forms.js:1593 +#: templates/js/translated/forms.js:1742 msgid "Clear input" msgstr "Eingabe leeren" @@ -7247,7 +7350,7 @@ msgid "Cancel" msgstr "Abbrechen" #: templates/js/translated/modals.js:77 templates/js/translated/modals.js:119 -#: templates/js/translated/modals.js:677 templates/js/translated/modals.js:970 +#: templates/js/translated/modals.js:677 templates/js/translated/modals.js:981 #: templates/modals.html:30 templates/modals.html:55 msgid "Submit" msgstr "Abschicken" @@ -7272,31 +7375,31 @@ msgstr "Akzeptieren" msgid "Loading Data" msgstr "Lade Daten" -#: templates/js/translated/modals.js:922 +#: templates/js/translated/modals.js:933 msgid "Invalid response from server" msgstr "ungültige Antwort vom Server" -#: templates/js/translated/modals.js:922 +#: templates/js/translated/modals.js:933 msgid "Form data missing from server response" msgstr "Formulardaten fehlen bei Serverantwort" -#: templates/js/translated/modals.js:934 +#: templates/js/translated/modals.js:945 msgid "Error posting form data" msgstr "Formulardaten fehlerhaft" -#: templates/js/translated/modals.js:1031 +#: templates/js/translated/modals.js:1042 msgid "JSON response missing form data" msgstr "JSON Antwort enthält keine Formulardaten" -#: templates/js/translated/modals.js:1046 +#: templates/js/translated/modals.js:1057 msgid "Error 400: Bad Request" msgstr "Fehler 400: Ungültige Anfrage" -#: templates/js/translated/modals.js:1047 +#: templates/js/translated/modals.js:1058 msgid "Server returned error code 400" msgstr "Fehler 400 von Server erhalten" -#: templates/js/translated/modals.js:1070 +#: templates/js/translated/modals.js:1081 msgid "Error requesting form data" msgstr "Fehler bei Formulardaten-Anfrage" @@ -7304,69 +7407,194 @@ msgstr "Fehler bei Formulardaten-Anfrage" msgid "Company ID" msgstr "Firmen-ID" -#: templates/js/translated/model_renderers.js:82 +#: templates/js/translated/model_renderers.js:90 +msgid "Stock ID" +msgstr "Bestands-ID" + +#: templates/js/translated/model_renderers.js:125 msgid "Location ID" msgstr "Standort-ID" -#: templates/js/translated/model_renderers.js:99 +#: templates/js/translated/model_renderers.js:142 msgid "Build ID" msgstr "Bauauftrag-ID" -#: templates/js/translated/model_renderers.js:119 +#: templates/js/translated/model_renderers.js:177 msgid "Part ID" msgstr "Teil-ID" -#: templates/js/translated/model_renderers.js:171 +#: templates/js/translated/model_renderers.js:231 +msgid "Order ID" +msgstr "Bestell-ID" + +#: templates/js/translated/model_renderers.js:251 msgid "Category ID" msgstr "Kategorie-ID" -#: templates/js/translated/model_renderers.js:208 +#: templates/js/translated/model_renderers.js:288 msgid "Manufacturer Part ID" msgstr "Herstellerteil-ID" -#: templates/js/translated/model_renderers.js:237 +#: templates/js/translated/model_renderers.js:317 msgid "Supplier Part ID" msgstr "Zuliefererteil-ID" -#: templates/js/translated/order.js:45 +#: templates/js/translated/order.js:48 msgid "Add Customer" msgstr "Kunden hinzufügen" -#: templates/js/translated/order.js:70 +#: templates/js/translated/order.js:73 msgid "Create Sales Order" msgstr "Auftrag anlegen" -#: templates/js/translated/order.js:295 +#: templates/js/translated/order.js:207 +msgid "Export Order" +msgstr "Bestellung exportieren" + +#: templates/js/translated/order.js:210 templates/js/translated/stock.js:96 +msgid "Format" +msgstr "Format" + +#: templates/js/translated/order.js:211 templates/js/translated/stock.js:97 +msgid "Select file format" +msgstr "Dateiformat auswählen" + +#: templates/js/translated/order.js:299 +msgid "Select Line Items" +msgstr "Positionen auswählen" + +#: templates/js/translated/order.js:300 +msgid "At least one line item must be selected" +msgstr "Mindestens eine Position muss ausgewählt werden" + +#: templates/js/translated/order.js:325 +msgid "Quantity to receive" +msgstr "Zu erhaltende Menge" + +#: templates/js/translated/order.js:359 templates/js/translated/stock.js:1343 +msgid "Stock Status" +msgstr "Status" + +#: templates/js/translated/order.js:426 +msgid "Order Code" +msgstr "Bestellnummer" + +#: templates/js/translated/order.js:427 +msgid "Ordered" +msgstr "Bestellt" + +#: templates/js/translated/order.js:429 +msgid "Receive" +msgstr "Empfangen" + +#: templates/js/translated/order.js:448 +msgid "Confirm receipt of items" +msgstr "Empfang der Teile bestätigen" + +#: templates/js/translated/order.js:449 +msgid "Receive Purchase Order Items" +msgstr "Bestellpositionen erhalten" + +#: templates/js/translated/order.js:626 msgid "No purchase orders found" msgstr "Keine Bestellungen gefunden" -#: templates/js/translated/order.js:320 templates/js/translated/order.js:682 +#: templates/js/translated/order.js:651 templates/js/translated/order.js:1028 msgid "Order is overdue" msgstr "Bestellung überfällig" -#: templates/js/translated/order.js:452 +#: templates/js/translated/order.js:749 templates/js/translated/order.js:1602 +msgid "Edit Line Item" +msgstr "Position bearbeiten" + +#: templates/js/translated/order.js:761 templates/js/translated/order.js:1613 +msgid "Delete Line Item" +msgstr "Position löschen" + +#: templates/js/translated/order.js:800 msgid "No line items found" msgstr "Keine Positionen gefunden" -#: templates/js/translated/order.js:617 +#: templates/js/translated/order.js:827 templates/js/translated/order.js:1432 +msgid "Total" +msgstr "Summe" + +#: templates/js/translated/order.js:880 templates/js/translated/order.js:1457 +#: templates/js/translated/part.js:1343 templates/js/translated/part.js:1554 +msgid "Unit Price" +msgstr "Stück-Preis" + +#: templates/js/translated/order.js:889 templates/js/translated/order.js:1464 +msgid "Total price" +msgstr "Gesamtpreis" + +#: templates/js/translated/order.js:962 templates/js/translated/order.js:1573 +msgid "Edit line item" +msgstr "Position bearbeiten" + +#: templates/js/translated/order.js:963 msgid "Delete line item" msgstr "Position löschen" -#: templates/js/translated/order.js:621 +#: templates/js/translated/order.js:967 msgid "Receive line item" msgstr "Position empfangen" -#: templates/js/translated/order.js:658 +#: templates/js/translated/order.js:1004 msgid "No sales orders found" msgstr "Keine Aufträge gefunden" -#: templates/js/translated/order.js:696 +#: templates/js/translated/order.js:1042 msgid "Invalid Customer" msgstr "Ungültiger Kunde" -#: templates/js/translated/order.js:774 +#: templates/js/translated/order.js:1120 msgid "No sales order allocations found" -msgstr "" +msgstr "Keine Allokationen für Verkaufsaufträge gefunden" + +#: templates/js/translated/order.js:1213 +msgid "Edit Stock Allocation" +msgstr "Bestandszuordnung bearbeiten" + +#: templates/js/translated/order.js:1231 +msgid "Delete Stock Allocation" +msgstr "Bestands-Zuordnung löschen" + +#: templates/js/translated/order.js:1273 +msgid "Stock location not specified" +msgstr "Lagerstandort nicht angegeben" + +#: templates/js/translated/order.js:1514 +msgid "Fulfilled" +msgstr "Erledigt" + +#: templates/js/translated/order.js:1557 +msgid "Allocate serial numbers" +msgstr "Seriennummern zuweisen" + +#: templates/js/translated/order.js:1563 +msgid "Purchase stock" +msgstr "Lagerbestand kaufen" + +#: templates/js/translated/order.js:1570 templates/js/translated/order.js:1725 +msgid "Calculate price" +msgstr "Preis berechnen" + +#: templates/js/translated/order.js:1574 +msgid "Delete line item " +msgstr "Position löschen " + +#: templates/js/translated/order.js:1673 +msgid "Allocate Stock Item" +msgstr "Lagerbestand zuweisen" + +#: templates/js/translated/order.js:1733 +msgid "Update Unit Price" +msgstr "Stückpreis aktualisieren" + +#: templates/js/translated/order.js:1747 +msgid "No matching line items" +msgstr "Keine passenden Positionen gefunden" #: templates/js/translated/part.js:49 msgid "Part Attributes" @@ -7388,396 +7616,396 @@ msgstr "Zuliefereroptionen" msgid "Add Part Category" msgstr "Teil-Kategorie hinzufügen" -#: templates/js/translated/part.js:159 +#: templates/js/translated/part.js:164 msgid "Create Initial Stock" msgstr "Anfänglichen Bestand erstellen" -#: templates/js/translated/part.js:160 +#: templates/js/translated/part.js:165 msgid "Create an initial stock item for this part" msgstr "Anfänglichen Bestand für dieses Teil erstellen" -#: templates/js/translated/part.js:167 +#: templates/js/translated/part.js:172 msgid "Initial Stock Quantity" msgstr "Start-Bestandsmenge" -#: templates/js/translated/part.js:168 +#: templates/js/translated/part.js:173 msgid "Specify initial stock quantity for this part" msgstr "Menge des anfänglichen Bestands für dieses Teil angeben" -#: templates/js/translated/part.js:175 templates/js/translated/stock.js:330 +#: templates/js/translated/part.js:180 msgid "Select destination stock location" msgstr "Zielstandort auswählen" -#: templates/js/translated/part.js:186 +#: templates/js/translated/part.js:191 msgid "Copy Category Parameters" msgstr "Kategorieparameter kopieren" -#: templates/js/translated/part.js:187 +#: templates/js/translated/part.js:192 msgid "Copy parameter templates from selected part category" -msgstr "" +msgstr "Parametervorlagen aus der ausgewählten Bauteilkategorie kopieren" -#: templates/js/translated/part.js:195 +#: templates/js/translated/part.js:200 msgid "Add Supplier Data" msgstr "Zuliefererdaten hinzufügen" -#: templates/js/translated/part.js:196 +#: templates/js/translated/part.js:201 msgid "Create initial supplier data for this part" -msgstr "" +msgstr "Erstelle ersten Lieferanten für dieses Teil" -#: templates/js/translated/part.js:252 +#: templates/js/translated/part.js:257 msgid "Copy Image" msgstr "Bild kopieren" -#: templates/js/translated/part.js:253 +#: templates/js/translated/part.js:258 msgid "Copy image from original part" msgstr "Bild vom Originalteil kopieren" -#: templates/js/translated/part.js:260 +#: templates/js/translated/part.js:265 msgid "Copy BOM" msgstr "Stückliste kopieren" -#: templates/js/translated/part.js:261 +#: templates/js/translated/part.js:266 msgid "Copy bill of materials from original part" msgstr "Stückliste vom Originalteil kopieren" -#: templates/js/translated/part.js:268 +#: templates/js/translated/part.js:273 msgid "Copy Parameters" msgstr "Parameter kopieren" -#: templates/js/translated/part.js:269 +#: templates/js/translated/part.js:274 msgid "Copy parameter data from original part" msgstr "Parameterdaten vom Originalteil kopieren" -#: templates/js/translated/part.js:282 +#: templates/js/translated/part.js:287 msgid "Parent part category" msgstr "Übergeordnete Teilkategorie" -#: templates/js/translated/part.js:323 +#: templates/js/translated/part.js:331 msgid "Edit Part" msgstr "Teil bearbeiten" -#: templates/js/translated/part.js:408 templates/js/translated/part.js:493 +#: templates/js/translated/part.js:419 templates/js/translated/part.js:504 msgid "Trackable part" msgstr "Nachverfolgbares Teil" -#: templates/js/translated/part.js:412 templates/js/translated/part.js:497 +#: templates/js/translated/part.js:423 templates/js/translated/part.js:508 msgid "Virtual part" msgstr "virtuelles Teil" -#: templates/js/translated/part.js:424 +#: templates/js/translated/part.js:435 msgid "Starred part" msgstr "Favoritenteil" -#: templates/js/translated/part.js:428 +#: templates/js/translated/part.js:439 msgid "Salable part" msgstr "Verkäufliches Teil" -#: templates/js/translated/part.js:543 +#: templates/js/translated/part.js:554 msgid "No variants found" msgstr "Keine Varianten gefunden" -#: templates/js/translated/part.js:732 templates/js/translated/part.js:994 +#: templates/js/translated/part.js:743 templates/js/translated/part.js:1005 msgid "No parts found" msgstr "Keine Teile gefunden" -#: templates/js/translated/part.js:921 +#: templates/js/translated/part.js:932 msgid "No category" msgstr "Keine Kategorie" -#: templates/js/translated/part.js:944 -#: templates/js/translated/table_filters.js:350 +#: templates/js/translated/part.js:955 +#: templates/js/translated/table_filters.js:359 msgid "Low stock" msgstr "Bestand niedrig" -#: templates/js/translated/part.js:1148 templates/js/translated/stock.js:1501 +#: templates/js/translated/part.js:1159 templates/js/translated/stock.js:1480 msgid "Path" msgstr "Pfad" -#: templates/js/translated/part.js:1191 +#: templates/js/translated/part.js:1202 msgid "No test templates matching query" msgstr "Keine zur Anfrage passenden Testvorlagen" -#: templates/js/translated/part.js:1242 templates/js/translated/stock.js:514 +#: templates/js/translated/part.js:1253 templates/js/translated/stock.js:493 msgid "Edit test result" msgstr "Testergebnis bearbeiten" -#: templates/js/translated/part.js:1243 templates/js/translated/stock.js:515 +#: templates/js/translated/part.js:1254 templates/js/translated/stock.js:494 msgid "Delete test result" msgstr "Testergebnis löschen" -#: templates/js/translated/part.js:1249 +#: templates/js/translated/part.js:1260 msgid "This test is defined for a parent part" msgstr "Dieses Testergebnis ist für ein Hauptteil" -#: templates/js/translated/part.js:1274 +#: templates/js/translated/part.js:1282 +msgid "Edit Test Result Template" +msgstr "Testergebnis-Vorlage bearbeiten" + +#: templates/js/translated/part.js:1296 +msgid "Delete Test Result Template" +msgstr "Testergebnis-Vorlage löschen" + +#: templates/js/translated/part.js:1321 #, python-brace-format msgid "No ${human_name} information found" msgstr "Keine ${human_name} Informationen gefunden" -#: templates/js/translated/part.js:1329 +#: templates/js/translated/part.js:1376 #, python-brace-format msgid "Edit ${human_name}" msgstr "${human_name} bearbeiten" -#: templates/js/translated/part.js:1330 +#: templates/js/translated/part.js:1377 #, python-brace-format msgid "Delete ${human_name}" msgstr "${human_name} löschen" -#: templates/js/translated/part.js:1431 +#: templates/js/translated/part.js:1478 msgid "Single Price" msgstr "Einzelpreis" -#: templates/js/translated/part.js:1450 +#: templates/js/translated/part.js:1497 msgid "Single Price Difference" msgstr "Einzelpreisdifferenz" -#: templates/js/translated/stock.js:66 +#: templates/js/translated/stock.js:63 msgid "Parent stock location" msgstr "Übergeordneter Lagerort" -#: templates/js/translated/stock.js:96 +#: templates/js/translated/stock.js:93 msgid "Export Stock" msgstr "Bestand exportieren" -#: templates/js/translated/stock.js:99 -msgid "Format" -msgstr "Format" - -#: templates/js/translated/stock.js:100 -msgid "Select file format" -msgstr "Dateiformat auswählen" - -#: templates/js/translated/stock.js:124 +#: templates/js/translated/stock.js:104 msgid "Include Sublocations" msgstr "Einschließlich Unterstandorte" -#: templates/js/translated/stock.js:125 +#: templates/js/translated/stock.js:105 msgid "Include stock items in sublocations" -msgstr "" +msgstr "Bestand in untergeordneten Lagerorten einschließen" -#: templates/js/translated/stock.js:167 +#: templates/js/translated/stock.js:147 msgid "Transfer Stock" msgstr "Bestand verschieben" -#: templates/js/translated/stock.js:168 +#: templates/js/translated/stock.js:148 msgid "Move" msgstr "Verschieben" -#: templates/js/translated/stock.js:174 +#: templates/js/translated/stock.js:154 msgid "Count Stock" msgstr "Bestand zählen" -#: templates/js/translated/stock.js:175 +#: templates/js/translated/stock.js:155 msgid "Count" msgstr "Anzahl" -#: templates/js/translated/stock.js:179 +#: templates/js/translated/stock.js:159 msgid "Remove Stock" msgstr "Bestand entfernen" -#: templates/js/translated/stock.js:180 +#: templates/js/translated/stock.js:160 msgid "Take" msgstr "Entfernen" -#: templates/js/translated/stock.js:184 +#: templates/js/translated/stock.js:164 msgid "Add Stock" msgstr "Bestand hinzufügen" -#: templates/js/translated/stock.js:185 users/models.py:190 +#: templates/js/translated/stock.js:165 users/models.py:195 msgid "Add" msgstr "Hinzufügen" -#: templates/js/translated/stock.js:189 templates/stock_table.html:63 +#: templates/js/translated/stock.js:169 templates/stock_table.html:63 msgid "Delete Stock" msgstr "Bestand löschen" -#: templates/js/translated/stock.js:278 +#: templates/js/translated/stock.js:258 msgid "Quantity cannot be adjusted for serialized stock" msgstr "Menge von serialisiertem Bestand kann nicht bearbeitet werden" -#: templates/js/translated/stock.js:278 +#: templates/js/translated/stock.js:258 msgid "Specify stock quantity" msgstr "Bestandsanzahl angeben" -#: templates/js/translated/stock.js:314 +#: templates/js/translated/stock.js:298 msgid "You must select at least one available stock item" msgstr "Sie müssen mindestens einen Lagerbestand auswählen" -#: templates/js/translated/stock.js:339 -msgid "Stock transaction notes" -msgstr "Bestandsbewegungsnotizen" - -#: templates/js/translated/stock.js:477 +#: templates/js/translated/stock.js:456 msgid "PASS" msgstr "ERFOLGREICH" -#: templates/js/translated/stock.js:479 +#: templates/js/translated/stock.js:458 msgid "FAIL" msgstr "FEHLGESCHLAGEN" -#: templates/js/translated/stock.js:484 +#: templates/js/translated/stock.js:463 msgid "NO RESULT" msgstr "KEIN ERGEBNIS" -#: templates/js/translated/stock.js:510 +#: templates/js/translated/stock.js:489 msgid "Add test result" msgstr "Testergebnis hinzufügen" -#: templates/js/translated/stock.js:536 +#: templates/js/translated/stock.js:515 msgid "No test results found" msgstr "Keine Testergebnisse gefunden" -#: templates/js/translated/stock.js:584 +#: templates/js/translated/stock.js:563 msgid "Test Date" msgstr "Testdatum" -#: templates/js/translated/stock.js:691 +#: templates/js/translated/stock.js:670 msgid "In production" msgstr "In Arbeit" -#: templates/js/translated/stock.js:695 +#: templates/js/translated/stock.js:674 msgid "Installed in Stock Item" msgstr "In BestandsObjekt installiert" -#: templates/js/translated/stock.js:703 +#: templates/js/translated/stock.js:678 +msgid "Shipped to customer" +msgstr "an Kunde versand" + +#: templates/js/translated/stock.js:682 msgid "Assigned to Sales Order" msgstr "Auftrag zugewiesen" -#: templates/js/translated/stock.js:865 +#: templates/js/translated/stock.js:688 +msgid "No stock location set" +msgstr "Kein Lagerort gesetzt" + +#: templates/js/translated/stock.js:844 msgid "Stock item is in production" msgstr "BestandsObjekt wird produziert" -#: templates/js/translated/stock.js:870 +#: templates/js/translated/stock.js:849 msgid "Stock item assigned to sales order" msgstr "BestandsObjekt wurde Auftrag zugewiesen" -#: templates/js/translated/stock.js:873 +#: templates/js/translated/stock.js:852 msgid "Stock item assigned to customer" msgstr "BestandsObjekt wurde Kunden zugewiesen" -#: templates/js/translated/stock.js:877 +#: templates/js/translated/stock.js:856 msgid "Stock item has expired" msgstr "BestandsObjekt ist abgelaufen" -#: templates/js/translated/stock.js:879 +#: templates/js/translated/stock.js:858 msgid "Stock item will expire soon" msgstr "BestandsObjekt läuft demnächst ab" -#: templates/js/translated/stock.js:883 +#: templates/js/translated/stock.js:862 msgid "Stock item has been allocated" msgstr "BestandsObjekt zugewiesen" -#: templates/js/translated/stock.js:887 +#: templates/js/translated/stock.js:866 msgid "Stock item has been installed in another item" msgstr "BestandsObjekt in anderem Element verbaut" -#: templates/js/translated/stock.js:894 +#: templates/js/translated/stock.js:873 msgid "Stock item has been rejected" msgstr "BestandsObjekt abgewiesen" -#: templates/js/translated/stock.js:896 +#: templates/js/translated/stock.js:875 msgid "Stock item is lost" msgstr "BestandsObjekt verloren" -#: templates/js/translated/stock.js:898 +#: templates/js/translated/stock.js:877 msgid "Stock item is destroyed" msgstr "BestandsObjekt zerstört" -#: templates/js/translated/stock.js:902 +#: templates/js/translated/stock.js:881 #: templates/js/translated/table_filters.js:161 msgid "Depleted" msgstr "gelöscht" -#: templates/js/translated/stock.js:956 +#: templates/js/translated/stock.js:935 msgid "Stocktake" msgstr "Inventur" -#: templates/js/translated/stock.js:1029 +#: templates/js/translated/stock.js:1008 msgid "Supplier part not specified" -msgstr "" +msgstr "Zuliefererteil nicht angegeben" -#: templates/js/translated/stock.js:1067 +#: templates/js/translated/stock.js:1046 msgid "No stock items matching query" msgstr "Keine zur Anfrage passenden BestandsObjekte" -#: templates/js/translated/stock.js:1088 templates/js/translated/stock.js:1136 +#: templates/js/translated/stock.js:1067 templates/js/translated/stock.js:1115 msgid "items" msgstr "Teile" -#: templates/js/translated/stock.js:1176 +#: templates/js/translated/stock.js:1155 msgid "batches" msgstr "lose" -#: templates/js/translated/stock.js:1203 +#: templates/js/translated/stock.js:1182 msgid "locations" msgstr "Lagerorte" -#: templates/js/translated/stock.js:1205 +#: templates/js/translated/stock.js:1184 msgid "Undefined location" msgstr "unbekannter Lagerort" -#: templates/js/translated/stock.js:1364 -msgid "Stock Status" -msgstr "Status" - -#: templates/js/translated/stock.js:1379 +#: templates/js/translated/stock.js:1358 msgid "Set Stock Status" msgstr "Status setzen" -#: templates/js/translated/stock.js:1393 +#: templates/js/translated/stock.js:1372 msgid "Select Status Code" msgstr "Status Code setzen" -#: templates/js/translated/stock.js:1394 +#: templates/js/translated/stock.js:1373 msgid "Status code must be selected" msgstr "Status Code muss ausgewählt werden" -#: templates/js/translated/stock.js:1533 +#: templates/js/translated/stock.js:1512 msgid "Invalid date" msgstr "Ungültiges Datum" -#: templates/js/translated/stock.js:1580 +#: templates/js/translated/stock.js:1559 msgid "Location no longer exists" msgstr "Standort nicht mehr vorhanden" -#: templates/js/translated/stock.js:1599 +#: templates/js/translated/stock.js:1578 msgid "Purchase order no longer exists" msgstr "Bestellung existiert nicht mehr" -#: templates/js/translated/stock.js:1618 +#: templates/js/translated/stock.js:1597 msgid "Customer no longer exists" msgstr "Kunde existiert nicht mehr" -#: templates/js/translated/stock.js:1636 +#: templates/js/translated/stock.js:1615 msgid "Stock item no longer exists" msgstr "Lagerbestand existiert nicht mehr" -#: templates/js/translated/stock.js:1659 +#: templates/js/translated/stock.js:1638 msgid "Added" msgstr "Hinzugefügt" -#: templates/js/translated/stock.js:1667 +#: templates/js/translated/stock.js:1646 msgid "Removed" msgstr "Entfernt" -#: templates/js/translated/stock.js:1708 +#: templates/js/translated/stock.js:1687 msgid "Edit tracking entry" msgstr "Tracking-Eintrag bearbeiten" -#: templates/js/translated/stock.js:1709 +#: templates/js/translated/stock.js:1688 msgid "Delete tracking entry" msgstr "Tracking-Eintrag löschen" -#: templates/js/translated/stock.js:1833 +#: templates/js/translated/stock.js:1812 msgid "No installed items" msgstr "Keine installierten Elemente" -#: templates/js/translated/stock.js:1856 +#: templates/js/translated/stock.js:1835 msgid "Serial" msgstr "Seriennummer" -#: templates/js/translated/stock.js:1884 +#: templates/js/translated/stock.js:1863 msgid "Uninstall Stock Item" msgstr "Lagerbestand entfernen" @@ -7808,7 +8036,7 @@ msgstr "Lagerorte einschließen" #: templates/js/translated/table_filters.js:103 #: templates/js/translated/table_filters.js:104 -#: templates/js/translated/table_filters.js:327 +#: templates/js/translated/table_filters.js:336 msgid "Include subcategories" msgstr "Unterkategorien einschließen" @@ -7850,7 +8078,7 @@ msgid "Batch code" msgstr "Losnummer" #: templates/js/translated/table_filters.js:141 -#: templates/js/translated/table_filters.js:317 +#: templates/js/translated/table_filters.js:326 msgid "Active parts" msgstr "Aktive Teile" @@ -7935,89 +8163,89 @@ msgstr "Bestand, der bald ablaufen, anzeigen" msgid "Build status" msgstr "Bauauftrags-Status" -#: templates/js/translated/table_filters.js:282 -#: templates/js/translated/table_filters.js:299 +#: templates/js/translated/table_filters.js:291 +#: templates/js/translated/table_filters.js:308 msgid "Order status" msgstr "Bestellstatus" -#: templates/js/translated/table_filters.js:287 -#: templates/js/translated/table_filters.js:304 +#: templates/js/translated/table_filters.js:296 +#: templates/js/translated/table_filters.js:313 msgid "Outstanding" msgstr "ausstehend" -#: templates/js/translated/table_filters.js:328 +#: templates/js/translated/table_filters.js:337 msgid "Include parts in subcategories" msgstr "Teile in Unterkategorien einschließen" -#: templates/js/translated/table_filters.js:332 +#: templates/js/translated/table_filters.js:341 msgid "Has IPN" msgstr "Hat IPN" -#: templates/js/translated/table_filters.js:333 +#: templates/js/translated/table_filters.js:342 msgid "Part has internal part number" msgstr "Teil hat Interne Teilenummer" -#: templates/js/translated/table_filters.js:338 +#: templates/js/translated/table_filters.js:347 msgid "Show active parts" msgstr "Aktive Teile anzeigen" -#: templates/js/translated/table_filters.js:346 +#: templates/js/translated/table_filters.js:355 msgid "Stock available" msgstr "verfügbarer Lagerbestand" -#: templates/js/translated/table_filters.js:362 +#: templates/js/translated/table_filters.js:371 msgid "Starred" msgstr "Favorit" -#: templates/js/translated/table_filters.js:374 +#: templates/js/translated/table_filters.js:383 msgid "Purchasable" msgstr "Käuflich" -#: templates/js/translated/tables.js:357 +#: templates/js/translated/tables.js:366 msgid "Loading data" msgstr "Lade Daten" -#: templates/js/translated/tables.js:360 +#: templates/js/translated/tables.js:369 msgid "rows per page" msgstr "Zeilen pro Seite" -#: templates/js/translated/tables.js:363 +#: templates/js/translated/tables.js:372 msgid "Showing" msgstr "zeige" -#: templates/js/translated/tables.js:363 +#: templates/js/translated/tables.js:372 msgid "to" msgstr "bis" -#: templates/js/translated/tables.js:363 +#: templates/js/translated/tables.js:372 msgid "of" msgstr "von" -#: templates/js/translated/tables.js:363 +#: templates/js/translated/tables.js:372 msgid "rows" msgstr "Zeilen" -#: templates/js/translated/tables.js:369 +#: templates/js/translated/tables.js:378 msgid "No matching results" msgstr "Keine passenden Ergebnisse gefunden" -#: templates/js/translated/tables.js:372 +#: templates/js/translated/tables.js:381 msgid "Hide/Show pagination" msgstr "Zeige/Verstecke Pagination" -#: templates/js/translated/tables.js:375 +#: templates/js/translated/tables.js:384 msgid "Refresh" msgstr "Neu laden" -#: templates/js/translated/tables.js:378 +#: templates/js/translated/tables.js:387 msgid "Toggle" msgstr "umschalten" -#: templates/js/translated/tables.js:381 +#: templates/js/translated/tables.js:390 msgid "Columns" msgstr "Spalten" -#: templates/js/translated/tables.js:384 +#: templates/js/translated/tables.js:393 msgid "All" msgstr "Alle" @@ -8033,19 +8261,15 @@ msgstr "Kaufen" msgid "Sell" msgstr "Verkaufen" -#: templates/navbar.html:87 users/models.py:39 +#: templates/navbar.html:83 users/models.py:39 msgid "Admin" msgstr "Admin" -#: templates/navbar.html:89 +#: templates/navbar.html:85 msgid "Logout" msgstr "Ausloggen" -#: templates/navbar.html:91 templates/registration/login.html:89 -msgid "Login" -msgstr "Einloggen" - -#: templates/navbar.html:114 +#: templates/navbar.html:106 msgid "About InvenTree" msgstr "Über InvenTree" @@ -8053,69 +8277,13 @@ msgstr "Über InvenTree" msgid "QR data not provided" msgstr "QR Daten nicht angegeben" -#: templates/registration/logged_out.html:50 -msgid "You have been logged out" -msgstr "Sie wurden abgemeldet" +#: templates/registration/logged_out.html:6 +msgid "You were logged out successfully." +msgstr "" -#: templates/registration/logged_out.html:51 -#: templates/registration/password_reset_complete.html:51 -#: templates/registration/password_reset_done.html:58 -msgid "Return to login screen" -msgstr "Zurück zur Anmeldeseite" - -#: templates/registration/login.html:64 -msgid "Enter username" -msgstr "Benutzername eingeben" - -#: templates/registration/login.html:70 -msgid "Password" -msgstr "Passwort" - -#: templates/registration/login.html:83 -msgid "Username / password combination is incorrect" -msgstr "Benutzername / Passwort Kombination ist falsch" - -#: templates/registration/login.html:95 -#: templates/registration/password_reset_form.html:51 -msgid "Forgotten your password?" -msgstr "Passwort vergessen?" - -#: templates/registration/login.html:95 -msgid "Click here to reset" -msgstr "Hier klicken zum Zurücksetzen" - -#: templates/registration/password_reset_complete.html:50 -msgid "Password reset complete" -msgstr "Passwort erfolgreich zurückgesetzt" - -#: templates/registration/password_reset_confirm.html:52 -#: templates/registration/password_reset_confirm.html:56 -msgid "Change password" -msgstr "Passwort ändern" - -#: templates/registration/password_reset_confirm.html:60 -msgid "The password reset link was invalid, possibly because it has already been used. Please request a new password reset." -msgstr "Der Link zum Zurücksetzen des Kennworts war ungültig, möglicherweise, weil er bereits verwendet wurde. Bitte fordern Sie eine neue Passwortwiederherstellung an." - -#: templates/registration/password_reset_done.html:51 -msgid "We've emailed you instructions for setting your password, if an account exists with the email you entered. You should receive them shortly." -msgstr "Wir haben Ihnen per E-Mail Anweisungen zum Setzen Ihres Passworts zugeschickt, falls ein Konto mit der von Ihnen eingegebenen E-Mail existiert. Sie sollten diese in Kürze erhalten." - -#: templates/registration/password_reset_done.html:54 -msgid "If you don't receive an email, please make sure you've entered the address you registered with, and check your spam folder." -msgstr "Wenn Sie keine E-Mail erhalten, stellen Sie sicher, dass Sie die E-Mail Adresse eingegeben haben, mit der Sie sich registriert haben, und überprüfen Sie Ihren Spam-Ordner." - -#: templates/registration/password_reset_form.html:52 -msgid "Enter your email address below." -msgstr "Geben Sie Ihre E-Mail-Adresse ein." - -#: templates/registration/password_reset_form.html:53 -msgid "An email will be sent with password reset instructions." -msgstr "Eine E-Mail mit Anweisungen zum Zurücksetzen des Passworts wird gesendet." - -#: templates/registration/password_reset_form.html:58 -msgid "Send email" -msgstr "E-Mail senden" +#: templates/registration/logged_out.html:8 +msgid "Log in again" +msgstr "" #: templates/stats.html:13 msgid "Instance Name" @@ -8169,6 +8337,10 @@ msgstr "E-Mail-Einstellungen nicht konfiguriert" msgid "Export Stock Information" msgstr "Aktuellen Bestand exportieren" +#: templates/stock_table.html:20 +msgid "New Stock Item" +msgstr "Neues BestandsObjekt" + #: templates/stock_table.html:27 msgid "Barcode Actions" msgstr "Barcode Aktionen" @@ -8249,35 +8421,35 @@ msgstr "Berechtigungen" msgid "Important dates" msgstr "wichtige Daten" -#: users/models.py:177 +#: users/models.py:182 msgid "Permission set" msgstr "Berechtigung geändert" -#: users/models.py:185 +#: users/models.py:190 msgid "Group" msgstr "Gruppe" -#: users/models.py:188 +#: users/models.py:193 msgid "View" msgstr "Ansicht" -#: users/models.py:188 +#: users/models.py:193 msgid "Permission to view items" msgstr "Berechtigung Einträge anzuzeigen" -#: users/models.py:190 +#: users/models.py:195 msgid "Permission to add items" msgstr "Berechtigung Einträge zu erstellen" -#: users/models.py:192 +#: users/models.py:197 msgid "Change" msgstr "Ändern" -#: users/models.py:192 +#: users/models.py:197 msgid "Permissions to edit items" msgstr "Berechtigungen Einträge zu ändern" -#: users/models.py:194 +#: users/models.py:199 msgid "Permission to delete items" msgstr "Berechtigung Einträge zu löschen" diff --git a/InvenTree/locale/el/LC_MESSAGES/django.po b/InvenTree/locale/el/LC_MESSAGES/django.po index b9d642169d..880c7b29d6 100644 --- a/InvenTree/locale/el/LC_MESSAGES/django.po +++ b/InvenTree/locale/el/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-09-12 13:15+0000\n" -"PO-Revision-Date: 2021-09-12 13:44\n" +"POT-Creation-Date: 2021-10-11 06:21+0000\n" +"PO-Revision-Date: 2021-10-11 06:29\n" "Last-Translator: \n" "Language-Team: Greek\n" "Language: el_GR\n" @@ -33,48 +33,61 @@ msgstr "" msgid "Enter date" msgstr "" -#: InvenTree/forms.py:111 build/forms.py:102 build/forms.py:123 -#: build/forms.py:145 build/forms.py:169 build/forms.py:185 build/forms.py:227 -#: order/forms.py:30 order/forms.py:41 order/forms.py:52 order/forms.py:63 -#: order/forms.py:74 part/forms.py:108 templates/js/translated/forms.js:564 +#: InvenTree/forms.py:116 build/forms.py:102 build/forms.py:123 +#: build/forms.py:145 build/forms.py:173 build/forms.py:215 order/forms.py:27 +#: order/forms.py:38 order/forms.py:49 order/forms.py:60 order/forms.py:71 +#: part/forms.py:108 templates/account/email_confirm.html:20 +#: templates/js/translated/forms.js:564 msgid "Confirm" msgstr "" -#: InvenTree/forms.py:127 +#: InvenTree/forms.py:132 msgid "Confirm delete" msgstr "" -#: InvenTree/forms.py:128 +#: InvenTree/forms.py:133 msgid "Confirm item deletion" msgstr "" -#: InvenTree/forms.py:160 templates/registration/login.html:76 +#: InvenTree/forms.py:164 msgid "Enter password" msgstr "" -#: InvenTree/forms.py:161 +#: InvenTree/forms.py:165 msgid "Enter new password" msgstr "" -#: InvenTree/forms.py:168 +#: InvenTree/forms.py:172 msgid "Confirm password" msgstr "" -#: InvenTree/forms.py:169 +#: InvenTree/forms.py:173 msgid "Confirm new password" msgstr "" -#: InvenTree/forms.py:201 +#: InvenTree/forms.py:205 msgid "Select Category" msgstr "" +#: InvenTree/forms.py:226 +msgid "E-mail (again)" +msgstr "" + +#: InvenTree/forms.py:230 +msgid "E-mail address confirmation" +msgstr "" + +#: InvenTree/forms.py:250 +msgid "You must type the same email each time." +msgstr "" + #: InvenTree/helpers.py:401 #, python-brace-format msgid "Duplicate serial: {n}" msgstr "" -#: InvenTree/helpers.py:408 order/models.py:315 order/models.py:430 -#: stock/views.py:1363 +#: InvenTree/helpers.py:408 order/models.py:315 order/models.py:437 +#: stock/views.py:1340 msgid "Invalid quantity provided" msgstr "" @@ -102,7 +115,7 @@ msgstr "" msgid "Number of unique serial number ({s}) must match quantity ({q})" msgstr "" -#: InvenTree/models.py:66 stock/models.py:1826 +#: InvenTree/models.py:66 stock/models.py:1823 msgid "Attachment" msgstr "" @@ -118,10 +131,10 @@ msgstr "" msgid "File comment" msgstr "" -#: InvenTree/models.py:75 InvenTree/models.py:76 common/models.py:993 -#: common/models.py:994 part/models.py:2051 +#: InvenTree/models.py:75 InvenTree/models.py:76 common/models.py:1055 +#: common/models.py:1056 part/models.py:2055 #: report/templates/report/inventree_test_report_base.html:91 -#: templates/js/translated/stock.js:1690 +#: templates/js/translated/stock.js:1669 msgid "User" msgstr "" @@ -158,37 +171,34 @@ msgstr "" msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:200 InvenTree/models.py:201 company/models.py:414 -#: label/models.py:112 part/models.py:658 part/models.py:2212 +#: InvenTree/models.py:200 InvenTree/models.py:201 company/models.py:415 +#: label/models.py:112 part/models.py:659 part/models.py:2216 #: part/templates/part/part_base.html:241 report/models.py:181 -#: templates/InvenTree/search.html:137 templates/InvenTree/search.html:289 -#: templates/js/translated/company.js:636 templates/js/translated/part.js:466 -#: templates/js/translated/part.js:603 templates/js/translated/part.js:1130 -#: templates/js/translated/stock.js:1483 +#: templates/js/translated/company.js:637 templates/js/translated/part.js:477 +#: templates/js/translated/part.js:614 templates/js/translated/part.js:1141 +#: templates/js/translated/stock.js:1462 msgid "Name" msgstr "" -#: InvenTree/models.py:207 build/models.py:187 -#: build/templates/build/detail.html:24 company/models.py:353 -#: company/models.py:569 company/templates/company/manufacturer_part.html:76 +#: InvenTree/models.py:207 build/models.py:189 +#: build/templates/build/detail.html:24 company/models.py:354 +#: company/models.py:570 company/templates/company/manufacturer_part.html:76 #: company/templates/company/supplier_part.html:75 label/models.py:119 -#: order/models.py:158 part/models.py:681 +#: order/models.py:158 part/models.py:682 #: part/templates/part/part_base.html:246 #: part/templates/part/set_category.html:14 report/models.py:194 #: report/models.py:551 report/models.py:590 #: report/templates/report/inventree_build_order_base.html:118 -#: templates/InvenTree/search.html:144 templates/InvenTree/search.html:224 -#: templates/InvenTree/search.html:296 #: templates/InvenTree/settings/header.html:9 -#: templates/js/translated/bom.js:230 templates/js/translated/build.js:891 -#: templates/js/translated/build.js:1179 templates/js/translated/company.js:344 -#: templates/js/translated/company.js:546 -#: templates/js/translated/company.js:834 templates/js/translated/order.js:341 -#: templates/js/translated/order.js:486 templates/js/translated/order.js:710 -#: templates/js/translated/part.js:525 templates/js/translated/part.js:713 -#: templates/js/translated/part.js:902 templates/js/translated/part.js:1142 -#: templates/js/translated/part.js:1210 templates/js/translated/stock.js:840 -#: templates/js/translated/stock.js:1495 templates/js/translated/stock.js:1540 +#: templates/js/translated/bom.js:249 templates/js/translated/build.js:1217 +#: templates/js/translated/build.js:1505 templates/js/translated/company.js:344 +#: templates/js/translated/company.js:547 +#: templates/js/translated/company.js:836 templates/js/translated/order.js:672 +#: templates/js/translated/order.js:832 templates/js/translated/order.js:1056 +#: templates/js/translated/part.js:536 templates/js/translated/part.js:724 +#: templates/js/translated/part.js:913 templates/js/translated/part.js:1153 +#: templates/js/translated/part.js:1221 templates/js/translated/stock.js:819 +#: templates/js/translated/stock.js:1474 templates/js/translated/stock.js:1519 msgid "Description" msgstr "" @@ -200,7 +210,7 @@ msgstr "" msgid "parent" msgstr "" -#: InvenTree/serializers.py:55 part/models.py:2454 +#: InvenTree/serializers.py:55 part/models.py:2475 msgid "Must be a valid number" msgstr "" @@ -208,75 +218,75 @@ msgstr "" msgid "Filename" msgstr "" -#: InvenTree/settings.py:523 +#: InvenTree/settings.py:529 msgid "German" msgstr "" -#: InvenTree/settings.py:524 +#: InvenTree/settings.py:530 msgid "Greek" msgstr "" -#: InvenTree/settings.py:525 +#: InvenTree/settings.py:531 msgid "English" msgstr "" -#: InvenTree/settings.py:526 +#: InvenTree/settings.py:532 msgid "Spanish" msgstr "" -#: InvenTree/settings.py:527 +#: InvenTree/settings.py:533 msgid "French" msgstr "" -#: InvenTree/settings.py:528 +#: InvenTree/settings.py:534 msgid "Hebrew" msgstr "" -#: InvenTree/settings.py:529 +#: InvenTree/settings.py:535 msgid "Italian" msgstr "" -#: InvenTree/settings.py:530 +#: InvenTree/settings.py:536 msgid "Japanese" msgstr "" -#: InvenTree/settings.py:531 +#: InvenTree/settings.py:537 msgid "Korean" msgstr "" -#: InvenTree/settings.py:532 +#: InvenTree/settings.py:538 msgid "Dutch" msgstr "" -#: InvenTree/settings.py:533 +#: InvenTree/settings.py:539 msgid "Norwegian" msgstr "" -#: InvenTree/settings.py:534 +#: InvenTree/settings.py:540 msgid "Polish" msgstr "" -#: InvenTree/settings.py:535 +#: InvenTree/settings.py:541 msgid "Russian" msgstr "" -#: InvenTree/settings.py:536 +#: InvenTree/settings.py:542 msgid "Swedish" msgstr "" -#: InvenTree/settings.py:537 +#: InvenTree/settings.py:543 msgid "Thai" msgstr "" -#: InvenTree/settings.py:538 +#: InvenTree/settings.py:544 msgid "Turkish" msgstr "" -#: InvenTree/settings.py:539 +#: InvenTree/settings.py:545 msgid "Vietnamese" msgstr "" -#: InvenTree/settings.py:540 +#: InvenTree/settings.py:546 msgid "Chinese" msgstr "" @@ -321,7 +331,7 @@ msgid "Returned" msgstr "" #: InvenTree/status_codes.py:146 -#: order/templates/order/sales_order_base.html:126 +#: order/templates/order/sales_order_base.html:131 msgid "Shipped" msgstr "" @@ -461,27 +471,27 @@ msgstr "" msgid "Overage must be an integer value or a percentage" msgstr "" -#: InvenTree/views.py:610 +#: InvenTree/views.py:616 msgid "Delete Item" msgstr "" -#: InvenTree/views.py:659 +#: InvenTree/views.py:665 msgid "Check box to confirm item deletion" msgstr "" -#: InvenTree/views.py:674 templates/InvenTree/settings/user.html:14 +#: InvenTree/views.py:680 templates/InvenTree/settings/user.html:18 msgid "Edit User Information" msgstr "" -#: InvenTree/views.py:685 templates/InvenTree/settings/user.html:18 +#: InvenTree/views.py:691 templates/InvenTree/settings/user.html:22 msgid "Set Password" msgstr "" -#: InvenTree/views.py:704 +#: InvenTree/views.py:710 msgid "Password fields must match" msgstr "" -#: InvenTree/views.py:910 templates/navbar.html:105 +#: InvenTree/views.py:954 templates/navbar.html:97 msgid "System Information" msgstr "" @@ -525,6 +535,10 @@ msgstr "" msgid "Barcode associated with StockItem" msgstr "" +#: build/api.py:213 +msgid "Matching build order does not exist" +msgstr "" + #: build/forms.py:37 msgid "Build Order reference" msgstr "" @@ -536,33 +550,28 @@ msgstr "" #: build/forms.py:42 build/templates/build/build_base.html:146 #: build/templates/build/detail.html:124 #: order/templates/order/order_base.html:124 -#: order/templates/order/sales_order_base.html:119 +#: order/templates/order/sales_order_base.html:124 #: report/templates/report/inventree_build_order_base.html:126 -#: templates/js/translated/build.js:962 templates/js/translated/order.js:358 -#: templates/js/translated/order.js:728 +#: templates/js/translated/build.js:1288 templates/js/translated/order.js:689 +#: templates/js/translated/order.js:1074 msgid "Target Date" msgstr "" -#: build/forms.py:43 build/models.py:277 +#: build/forms.py:43 build/models.py:279 msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/forms.py:48 build/forms.py:90 build/forms.py:266 build/models.py:1402 +#: build/forms.py:48 build/forms.py:90 build/models.py:1281 #: build/templates/build/allocation_card.html:23 -#: build/templates/build/auto_allocate.html:17 #: build/templates/build/build_base.html:133 -#: build/templates/build/detail.html:34 common/models.py:1025 +#: build/templates/build/detail.html:34 common/models.py:1087 #: company/forms.py:42 company/templates/company/supplier_part.html:226 -#: order/forms.py:120 order/forms.py:142 order/forms.py:159 order/models.py:712 -#: order/models.py:964 order/templates/order/order_wizard/match_parts.html:30 -#: order/templates/order/order_wizard/select_parts.html:34 -#: order/templates/order/sales_order_detail.html:201 -#: order/templates/order/sales_order_detail.html:208 -#: order/templates/order/sales_order_detail.html:293 -#: order/templates/order/sales_order_detail.html:365 part/forms.py:249 -#: part/forms.py:265 part/forms.py:281 part/models.py:2356 +#: order/forms.py:101 order/forms.py:123 order/models.py:720 +#: order/models.py:982 order/templates/order/order_wizard/match_parts.html:30 +#: order/templates/order/order_wizard/select_parts.html:34 part/forms.py:249 +#: part/forms.py:265 part/forms.py:281 part/models.py:2377 #: part/templates/part/bom_upload/match_parts.html:31 -#: part/templates/part/detail.html:973 part/templates/part/detail.html:1059 +#: part/templates/part/detail.html:944 part/templates/part/detail.html:1030 #: part/templates/part/part_pricing.html:16 #: report/templates/report/inventree_build_order_base.html:114 #: report/templates/report/inventree_po_report.html:91 @@ -570,14 +579,16 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:77 #: stock/forms.py:140 stock/templates/stock/item_base.html:269 #: stock/templates/stock/stock_adjust.html:18 -#: templates/js/translated/barcode.js:386 templates/js/translated/bom.js:245 -#: templates/js/translated/build.js:298 templates/js/translated/build.js:629 -#: templates/js/translated/build.js:1189 -#: templates/js/translated/model_renderers.js:59 -#: templates/js/translated/order.js:522 templates/js/translated/order.js:824 -#: templates/js/translated/part.js:1317 templates/js/translated/part.js:1440 -#: templates/js/translated/part.js:1518 templates/js/translated/stock.js:1675 -#: templates/js/translated/stock.js:1850 +#: templates/js/translated/barcode.js:386 templates/js/translated/bom.js:264 +#: templates/js/translated/build.js:314 templates/js/translated/build.js:638 +#: templates/js/translated/build.js:977 templates/js/translated/build.js:1515 +#: templates/js/translated/model_renderers.js:74 +#: templates/js/translated/order.js:868 templates/js/translated/order.js:1170 +#: templates/js/translated/order.js:1248 templates/js/translated/order.js:1255 +#: templates/js/translated/order.js:1344 templates/js/translated/order.js:1444 +#: templates/js/translated/part.js:1364 templates/js/translated/part.js:1487 +#: templates/js/translated/part.js:1565 templates/js/translated/stock.js:1654 +#: templates/js/translated/stock.js:1829 msgid "Quantity" msgstr "" @@ -589,7 +600,7 @@ msgstr "" msgid "Enter quantity for build output" msgstr "" -#: build/forms.py:95 order/forms.py:114 stock/forms.py:83 +#: build/forms.py:95 order/forms.py:95 stock/forms.py:83 msgid "Serial Numbers" msgstr "" @@ -609,246 +620,238 @@ msgstr "" msgid "Confirm unallocation of stock" msgstr "" -#: build/forms.py:169 -msgid "Confirm stock allocation" -msgstr "" - -#: build/forms.py:186 +#: build/forms.py:174 msgid "Mark build as complete" msgstr "" -#: build/forms.py:210 build/templates/build/auto_allocate.html:18 -#: order/serializers.py:216 order/serializers.py:275 stock/forms.py:280 +#: build/forms.py:198 order/serializers.py:217 order/serializers.py:284 +#: stock/forms.py:280 stock/serializers.py:553 #: stock/templates/stock/item_base.html:299 #: stock/templates/stock/stock_adjust.html:17 -#: templates/InvenTree/search.html:260 templates/js/translated/barcode.js:385 -#: templates/js/translated/barcode.js:555 templates/js/translated/build.js:283 -#: templates/js/translated/build.js:643 templates/js/translated/order.js:809 -#: templates/js/translated/part.js:174 templates/js/translated/stock.js:203 -#: templates/js/translated/stock.js:329 templates/js/translated/stock.js:942 -#: templates/js/translated/stock.js:1567 +#: templates/js/translated/barcode.js:385 +#: templates/js/translated/barcode.js:555 templates/js/translated/build.js:299 +#: templates/js/translated/build.js:650 templates/js/translated/order.js:347 +#: templates/js/translated/order.js:1155 templates/js/translated/order.js:1263 +#: templates/js/translated/order.js:1269 templates/js/translated/part.js:179 +#: templates/js/translated/stock.js:183 templates/js/translated/stock.js:921 +#: templates/js/translated/stock.js:1546 msgid "Location" msgstr "" -#: build/forms.py:211 +#: build/forms.py:199 msgid "Location of completed parts" msgstr "" -#: build/forms.py:215 build/templates/build/build_base.html:138 -#: build/templates/build/detail.html:62 order/models.py:555 -#: order/serializers.py:230 order/templates/order/receive_parts.html:24 -#: stock/templates/stock/item_base.html:422 templates/InvenTree/search.html:252 -#: templates/js/translated/barcode.js:141 templates/js/translated/build.js:925 -#: templates/js/translated/order.js:345 templates/js/translated/order.js:715 -#: templates/js/translated/stock.js:917 templates/js/translated/stock.js:1644 -#: templates/js/translated/stock.js:1866 +#: build/forms.py:203 build/templates/build/build_base.html:138 +#: build/templates/build/detail.html:62 order/models.py:563 +#: order/serializers.py:238 stock/templates/stock/item_base.html:422 +#: templates/js/translated/barcode.js:141 templates/js/translated/build.js:1251 +#: templates/js/translated/order.js:430 templates/js/translated/order.js:676 +#: templates/js/translated/order.js:1061 templates/js/translated/stock.js:896 +#: templates/js/translated/stock.js:1623 templates/js/translated/stock.js:1845 msgid "Status" msgstr "" -#: build/forms.py:216 +#: build/forms.py:204 msgid "Build output stock status" msgstr "" -#: build/forms.py:223 +#: build/forms.py:211 msgid "Confirm incomplete" msgstr "" -#: build/forms.py:224 +#: build/forms.py:212 msgid "Confirm completion with incomplete stock allocation" msgstr "" -#: build/forms.py:227 +#: build/forms.py:215 msgid "Confirm build completion" msgstr "" -#: build/forms.py:252 +#: build/forms.py:240 msgid "Confirm cancel" msgstr "" -#: build/forms.py:252 build/views.py:65 +#: build/forms.py:240 build/views.py:65 msgid "Confirm build cancellation" msgstr "" -#: build/forms.py:266 -msgid "Select quantity of stock to allocate" -msgstr "" - -#: build/models.py:113 +#: build/models.py:115 msgid "Invalid choice for parent build" msgstr "" -#: build/models.py:117 build/templates/build/build_base.html:9 +#: build/models.py:119 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:73 #: report/templates/report/inventree_build_order_base.html:106 -#: templates/js/translated/build.js:260 +#: templates/js/translated/build.js:276 msgid "Build Order" msgstr "" -#: build/models.py:118 build/templates/build/index.html:8 +#: build/models.py:120 build/templates/build/index.html:8 #: build/templates/build/index.html:15 #: order/templates/order/sales_order_detail.html:34 #: order/templates/order/so_navbar.html:19 #: order/templates/order/so_navbar.html:22 part/templates/part/navbar.html:50 #: part/templates/part/navbar.html:53 templates/InvenTree/index.html:229 -#: templates/InvenTree/search.html:185 -#: templates/InvenTree/settings/navbar.html:101 -#: templates/InvenTree/settings/navbar.html:103 users/models.py:44 +#: templates/InvenTree/search.html:171 +#: templates/InvenTree/settings/navbar.html:113 +#: templates/InvenTree/settings/navbar.html:115 users/models.py:44 msgid "Build Orders" msgstr "" -#: build/models.py:178 +#: build/models.py:180 msgid "Build Order Reference" msgstr "" -#: build/models.py:179 order/models.py:246 order/models.py:539 -#: order/models.py:719 order/templates/order/sales_order_detail.html:360 -#: part/models.py:2365 part/templates/part/bom_upload/match_parts.html:30 +#: build/models.py:181 order/models.py:246 order/models.py:547 +#: order/models.py:727 part/models.py:2386 +#: part/templates/part/bom_upload/match_parts.html:30 #: report/templates/report/inventree_po_report.html:92 #: report/templates/report/inventree_so_report.html:92 -#: templates/js/translated/bom.js:237 templates/js/translated/build.js:718 -#: templates/js/translated/build.js:1183 templates/js/translated/order.js:517 +#: templates/js/translated/bom.js:256 templates/js/translated/build.js:734 +#: templates/js/translated/build.js:1509 templates/js/translated/order.js:863 +#: templates/js/translated/order.js:1438 msgid "Reference" msgstr "" -#: build/models.py:190 +#: build/models.py:192 msgid "Brief description of the build" msgstr "" -#: build/models.py:199 build/templates/build/build_base.html:163 +#: build/models.py:201 build/templates/build/build_base.html:163 #: build/templates/build/detail.html:80 msgid "Parent Build" msgstr "" -#: build/models.py:200 +#: build/models.py:202 msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:205 build/templates/build/auto_allocate.html:16 -#: build/templates/build/build_base.html:128 -#: build/templates/build/detail.html:29 company/models.py:704 -#: order/models.py:772 order/models.py:837 -#: order/templates/order/order_wizard/select_parts.html:32 -#: order/templates/order/receive_parts.html:19 -#: order/templates/order/sales_order_detail.html:345 part/models.py:297 -#: part/models.py:1996 part/models.py:2012 part/models.py:2031 -#: part/models.py:2049 part/models.py:2128 part/models.py:2250 -#: part/models.py:2340 part/templates/part/detail.html:199 +#: build/models.py:207 build/templates/build/build_base.html:128 +#: build/templates/build/detail.html:29 company/models.py:705 +#: order/models.py:780 order/models.py:851 +#: order/templates/order/order_wizard/select_parts.html:32 part/models.py:298 +#: part/models.py:2000 part/models.py:2016 part/models.py:2035 +#: part/models.py:2053 part/models.py:2132 part/models.py:2254 +#: part/models.py:2361 part/templates/part/detail.html:199 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/set_category.html:13 #: report/templates/report/inventree_build_order_base.html:110 #: report/templates/report/inventree_po_report.html:90 #: report/templates/report/inventree_so_report.html:90 -#: templates/InvenTree/search.html:112 templates/InvenTree/search.html:210 -#: templates/js/translated/barcode.js:384 templates/js/translated/bom.js:203 -#: templates/js/translated/build.js:609 templates/js/translated/build.js:896 -#: templates/js/translated/build.js:1156 templates/js/translated/company.js:487 -#: templates/js/translated/company.js:743 templates/js/translated/order.js:471 -#: templates/js/translated/part.js:694 templates/js/translated/part.js:864 -#: templates/js/translated/stock.js:201 templates/js/translated/stock.js:797 -#: templates/js/translated/stock.js:1838 +#: templates/InvenTree/search.html:112 templates/js/translated/barcode.js:384 +#: templates/js/translated/bom.js:222 templates/js/translated/build.js:611 +#: templates/js/translated/build.js:974 templates/js/translated/build.js:1222 +#: templates/js/translated/build.js:1482 templates/js/translated/company.js:488 +#: templates/js/translated/company.js:745 templates/js/translated/order.js:425 +#: templates/js/translated/order.js:817 templates/js/translated/order.js:1422 +#: templates/js/translated/part.js:705 templates/js/translated/part.js:875 +#: templates/js/translated/stock.js:181 templates/js/translated/stock.js:776 +#: templates/js/translated/stock.js:1817 msgid "Part" msgstr "" -#: build/models.py:213 +#: build/models.py:215 msgid "Select part to build" msgstr "" -#: build/models.py:218 +#: build/models.py:220 msgid "Sales Order Reference" msgstr "" -#: build/models.py:222 +#: build/models.py:224 msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:227 +#: build/models.py:229 templates/js/translated/build.js:962 msgid "Source Location" msgstr "" -#: build/models.py:231 +#: build/models.py:233 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "" -#: build/models.py:236 +#: build/models.py:238 msgid "Destination Location" msgstr "" -#: build/models.py:240 +#: build/models.py:242 msgid "Select location where the completed items will be stored" msgstr "" -#: build/models.py:244 +#: build/models.py:246 msgid "Build Quantity" msgstr "" -#: build/models.py:247 +#: build/models.py:249 msgid "Number of stock items to build" msgstr "" -#: build/models.py:251 +#: build/models.py:253 msgid "Completed items" msgstr "" -#: build/models.py:253 +#: build/models.py:255 msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:257 part/templates/part/part_base.html:198 +#: build/models.py:259 part/templates/part/part_base.html:198 msgid "Build Status" msgstr "" -#: build/models.py:261 +#: build/models.py:263 msgid "Build status code" msgstr "" -#: build/models.py:265 stock/models.py:513 +#: build/models.py:267 stock/models.py:513 msgid "Batch Code" msgstr "" -#: build/models.py:269 +#: build/models.py:271 msgid "Batch code for this build output" msgstr "" -#: build/models.py:272 order/models.py:162 part/models.py:853 -#: part/templates/part/part_base.html:272 templates/js/translated/order.js:723 +#: build/models.py:274 order/models.py:162 part/models.py:854 +#: part/templates/part/part_base.html:272 templates/js/translated/order.js:1069 msgid "Creation Date" msgstr "" -#: build/models.py:276 order/models.py:561 +#: build/models.py:278 order/models.py:569 msgid "Target completion date" msgstr "" -#: build/models.py:280 order/models.py:288 templates/js/translated/build.js:967 +#: build/models.py:282 order/models.py:288 +#: templates/js/translated/build.js:1293 msgid "Completion Date" msgstr "" -#: build/models.py:286 +#: build/models.py:288 msgid "completed by" msgstr "" -#: build/models.py:294 templates/js/translated/build.js:938 +#: build/models.py:296 templates/js/translated/build.js:1264 msgid "Issued by" msgstr "" -#: build/models.py:295 +#: build/models.py:297 msgid "User who issued this build order" msgstr "" -#: build/models.py:303 build/templates/build/build_base.html:184 +#: build/models.py:305 build/templates/build/build_base.html:184 #: build/templates/build/detail.html:108 order/models.py:176 #: order/templates/order/order_base.html:138 -#: order/templates/order/sales_order_base.html:140 part/models.py:857 +#: order/templates/order/sales_order_base.html:145 part/models.py:858 #: report/templates/report/inventree_build_order_base.html:159 -#: templates/js/translated/build.js:950 +#: templates/js/translated/build.js:1276 msgid "Responsible" msgstr "" -#: build/models.py:304 +#: build/models.py:306 msgid "User responsible for this build order" msgstr "" -#: build/models.py:309 build/templates/build/detail.html:94 +#: build/models.py:311 build/templates/build/detail.html:94 #: company/templates/company/manufacturer_part.html:83 #: company/templates/company/supplier_part.html:82 #: part/templates/part/part_base.html:266 stock/models.py:507 @@ -856,140 +859,157 @@ msgstr "" msgid "External Link" msgstr "" -#: build/models.py:310 part/models.py:715 stock/models.py:509 +#: build/models.py:312 part/models.py:716 stock/models.py:509 msgid "Link to external URL" msgstr "" -#: build/models.py:314 build/templates/build/navbar.html:52 -#: company/models.py:141 company/models.py:576 +#: build/models.py:316 build/templates/build/navbar.html:52 +#: company/models.py:142 company/models.py:577 #: company/templates/company/navbar.html:69 #: company/templates/company/navbar.html:72 order/models.py:180 -#: order/models.py:721 order/templates/order/po_navbar.html:38 +#: order/models.py:729 order/templates/order/po_navbar.html:38 #: order/templates/order/po_navbar.html:41 -#: order/templates/order/sales_order_detail.html:440 #: order/templates/order/so_navbar.html:33 -#: order/templates/order/so_navbar.html:36 part/models.py:842 +#: order/templates/order/so_navbar.html:36 part/models.py:843 #: part/templates/part/detail.html:105 part/templates/part/navbar.html:120 #: part/templates/part/navbar.html:123 #: report/templates/report/inventree_build_order_base.html:173 #: stock/forms.py:138 stock/forms.py:250 stock/forms.py:282 stock/models.py:579 -#: stock/models.py:1726 stock/models.py:1832 +#: stock/models.py:1723 stock/models.py:1829 stock/serializers.py:451 #: stock/templates/stock/navbar.html:57 templates/js/translated/barcode.js:59 -#: templates/js/translated/bom.js:385 templates/js/translated/company.js:839 -#: templates/js/translated/order.js:604 templates/js/translated/stock.js:338 -#: templates/js/translated/stock.js:580 templates/js/translated/stock.js:1061 +#: templates/js/translated/bom.js:406 templates/js/translated/company.js:841 +#: templates/js/translated/order.js:950 templates/js/translated/order.js:1540 +#: templates/js/translated/stock.js:559 templates/js/translated/stock.js:1040 msgid "Notes" msgstr "" -#: build/models.py:315 +#: build/models.py:317 msgid "Extra build notes" msgstr "" -#: build/models.py:792 +#: build/models.py:714 msgid "No build output specified" msgstr "" -#: build/models.py:795 +#: build/models.py:717 msgid "Build output is already completed" msgstr "" -#: build/models.py:798 +#: build/models.py:720 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:1208 -msgid "BuildItem must be unique for build, stock_item and install_into" -msgstr "" - -#: build/models.py:1233 +#: build/models.py:1102 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1237 +#: build/models.py:1111 #, python-brace-format -msgid "Allocated quantity ({n}) must not exceed available quantity ({q})" +msgid "Allocated quantity ({q}) must not execed available stock quantity ({a})" msgstr "" -#: build/models.py:1244 order/models.py:938 -msgid "StockItem is over-allocated" +#: build/models.py:1121 +msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1248 order/models.py:941 +#: build/models.py:1127 order/models.py:955 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1252 +#: build/models.py:1133 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1312 -#, python-brace-format -msgid "Selected stock item not found in BOM for part '{p}'" +#: build/models.py:1191 +msgid "Selected stock item not found in BOM" msgstr "" -#: build/models.py:1372 stock/templates/stock/item_base.html:331 -#: templates/InvenTree/search.html:183 templates/js/translated/build.js:869 +#: build/models.py:1251 stock/templates/stock/item_base.html:331 +#: templates/InvenTree/search.html:169 templates/js/translated/build.js:1195 #: templates/navbar.html:35 msgid "Build" msgstr "" -#: build/models.py:1373 +#: build/models.py:1252 msgid "Build to allocate parts" msgstr "" -#: build/models.py:1389 stock/templates/stock/item_base.html:8 +#: build/models.py:1268 build/serializers.py:151 +#: stock/templates/stock/item_base.html:8 #: stock/templates/stock/item_base.html:31 #: stock/templates/stock/item_base.html:353 #: stock/templates/stock/stock_adjust.html:16 -#: templates/js/translated/build.js:271 templates/js/translated/build.js:276 -#: templates/js/translated/build.js:1012 templates/js/translated/order.js:797 -#: templates/js/translated/order.js:802 templates/js/translated/stock.js:1626 +#: templates/js/translated/build.js:287 templates/js/translated/build.js:292 +#: templates/js/translated/build.js:976 templates/js/translated/build.js:1338 +#: templates/js/translated/order.js:1143 templates/js/translated/order.js:1148 +#: templates/js/translated/stock.js:1605 msgid "Stock Item" msgstr "" -#: build/models.py:1390 +#: build/models.py:1269 msgid "Source stock item" msgstr "" -#: build/models.py:1403 +#: build/models.py:1282 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1411 +#: build/models.py:1290 msgid "Install into" msgstr "" -#: build/models.py:1412 +#: build/models.py:1291 msgid "Destination stock item" msgstr "" +#: build/serializers.py:133 part/models.py:2501 +msgid "BOM Item" +msgstr "" + +#: build/serializers.py:142 +msgid "bom_item.part must point to the same part as the build order" +msgstr "" + +#: build/serializers.py:157 +msgid "Item must be in stock" +msgstr "" + +#: build/serializers.py:171 order/models.py:313 order/serializers.py:231 +#: stock/models.py:351 stock/models.py:1072 +msgid "Quantity must be greater than zero" +msgstr "" + +#: build/serializers.py:180 +msgid "Build Output" +msgstr "" + +#: build/serializers.py:213 +#, python-brace-format +msgid "Available quantity ({q}) exceeded" +msgstr "" + +#: build/serializers.py:219 +msgid "Build output must be specified for allocation of tracked parts" +msgstr "" + +#: build/serializers.py:226 +msgid "Build output cannot be specified for allocation of untracked parts" +msgstr "" + +#: build/serializers.py:254 +msgid "Allocation items must be provided" +msgstr "" + #: build/templates/build/allocation_card.html:21 #: build/templates/build/complete_output.html:46 -#: order/templates/order/sales_order_detail.html:206 -#: order/templates/order/sales_order_detail.html:291 #: report/templates/report/inventree_test_report_base.html:75 #: stock/models.py:501 stock/templates/stock/item_base.html:251 -#: templates/js/translated/build.js:627 -#: templates/js/translated/model_renderers.js:57 +#: templates/js/translated/build.js:636 +#: templates/js/translated/model_renderers.js:72 +#: templates/js/translated/order.js:1253 templates/js/translated/order.js:1342 msgid "Serial Number" msgstr "" -#: build/templates/build/auto_allocate.html:9 -msgid "Automatically Allocate Stock" -msgstr "" - -#: build/templates/build/auto_allocate.html:10 -msgid "The following stock items will be allocated to the specified build output" -msgstr "" - -#: build/templates/build/auto_allocate.html:37 -msgid "No stock items found that can be automatically allocated to this build" -msgstr "" - -#: build/templates/build/auto_allocate.html:39 -msgid "Stock items will have to be manually allocated" -msgstr "" - #: build/templates/build/build_base.html:18 #, python-format msgid "This Build Order is allocated to Sales Order %(link)s" @@ -1033,10 +1053,10 @@ msgstr "" #: order/templates/order/order_base.html:32 #: order/templates/order/order_base.html:86 #: order/templates/order/sales_order_base.html:43 -#: order/templates/order/sales_order_base.html:88 +#: order/templates/order/sales_order_base.html:93 #: templates/js/translated/table_filters.js:272 -#: templates/js/translated/table_filters.js:291 -#: templates/js/translated/table_filters.js:308 +#: templates/js/translated/table_filters.js:300 +#: templates/js/translated/table_filters.js:317 msgid "Overdue" msgstr "" @@ -1086,14 +1106,14 @@ msgid "Progress" msgstr "" #: build/templates/build/build_base.html:170 -#: build/templates/build/detail.html:87 order/models.py:835 +#: build/templates/build/detail.html:87 order/models.py:848 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:35 #: order/templates/order/sales_order_ship.html:25 #: report/templates/report/inventree_build_order_base.html:136 #: report/templates/report/inventree_so_report.html:77 #: stock/templates/stock/item_base.html:293 -#: templates/js/translated/order.js:670 +#: templates/js/translated/order.js:1016 msgid "Sales Order" msgstr "" @@ -1171,28 +1191,6 @@ msgstr "" msgid "The following items will be created" msgstr "" -#: build/templates/build/create_build_item.html:7 -msgid "Select a stock item to allocate to the selected build output" -msgstr "" - -#: build/templates/build/create_build_item.html:11 -#, python-format -msgid "The allocated stock will be installed into the following build output:
%(output)s" -msgstr "" - -#: build/templates/build/create_build_item.html:17 -#, python-format -msgid "No stock available for %(part)s" -msgstr "" - -#: build/templates/build/delete_build_item.html:8 -msgid "Are you sure you want to unallocate this stock?" -msgstr "" - -#: build/templates/build/delete_build_item.html:11 -msgid "The selected stock will be unallocated from the build output" -msgstr "" - #: build/templates/build/detail.html:38 msgid "Stock Source" msgstr "" @@ -1201,9 +1199,8 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/forms.py:88 order/models.py:794 -#: order/templates/order/receive_parts.html:25 stock/forms.py:134 -#: templates/js/translated/order.js:593 +#: build/templates/build/detail.html:49 order/models.py:802 stock/forms.py:134 +#: templates/js/translated/order.js:431 templates/js/translated/order.js:939 msgid "Destination" msgstr "" @@ -1213,7 +1210,7 @@ msgstr "" #: build/templates/build/detail.html:73 #: stock/templates/stock/item_base.html:317 -#: templates/js/translated/stock.js:931 templates/js/translated/stock.js:1873 +#: templates/js/translated/stock.js:910 templates/js/translated/stock.js:1852 #: templates/js/translated/table_filters.js:129 #: templates/js/translated/table_filters.js:211 msgid "Batch" @@ -1221,8 +1218,8 @@ msgstr "" #: build/templates/build/detail.html:119 #: order/templates/order/order_base.html:111 -#: order/templates/order/sales_order_base.html:113 -#: templates/js/translated/build.js:933 +#: order/templates/order/sales_order_base.html:118 +#: templates/js/translated/build.js:1259 msgid "Created" msgstr "" @@ -1230,7 +1227,8 @@ msgstr "" msgid "No target date set" msgstr "" -#: build/templates/build/detail.html:135 templates/js/translated/build.js:911 +#: build/templates/build/detail.html:135 templates/js/translated/build.js:1237 +#: templates/js/translated/table_filters.js:282 msgid "Completed" msgstr "" @@ -1250,15 +1248,16 @@ msgstr "" msgid "Allocate stock to build" msgstr "" -#: build/templates/build/detail.html:173 -msgid "Auto Allocate" +#: build/templates/build/detail.html:173 build/templates/build/navbar.html:20 +#: build/templates/build/navbar.html:23 +msgid "Allocate Stock" msgstr "" -#: build/templates/build/detail.html:175 templates/js/translated/build.js:801 +#: build/templates/build/detail.html:175 templates/js/translated/build.js:817 msgid "Unallocate stock" msgstr "" -#: build/templates/build/detail.html:176 build/views.py:318 build/views.py:638 +#: build/templates/build/detail.html:176 build/views.py:257 msgid "Unallocate Stock" msgstr "" @@ -1268,7 +1267,7 @@ msgstr "" #: build/templates/build/detail.html:180 #: company/templates/company/detail.html:32 -#: company/templates/company/detail.html:72 order/views.py:679 +#: company/templates/company/detail.html:72 order/views.py:509 #: part/templates/part/category.html:140 msgid "Order Parts" msgstr "" @@ -1282,38 +1281,42 @@ msgid "Untracked stock has not been fully allocated for this Build Order" msgstr "" #: build/templates/build/detail.html:197 +msgid "Allocate selected items" +msgstr "" + +#: build/templates/build/detail.html:209 msgid "This Build Order does not have any associated untracked BOM items" msgstr "" -#: build/templates/build/detail.html:206 +#: build/templates/build/detail.html:218 msgid "Incomplete Build Outputs" msgstr "" -#: build/templates/build/detail.html:211 +#: build/templates/build/detail.html:223 msgid "Create new build output" msgstr "" -#: build/templates/build/detail.html:212 +#: build/templates/build/detail.html:224 msgid "Create New Output" msgstr "" -#: build/templates/build/detail.html:225 +#: build/templates/build/detail.html:237 msgid "Create a new build output" msgstr "" -#: build/templates/build/detail.html:226 +#: build/templates/build/detail.html:238 msgid "No incomplete build outputs remain." msgstr "" -#: build/templates/build/detail.html:227 +#: build/templates/build/detail.html:239 msgid "Create a new build output using the button above" msgstr "" -#: build/templates/build/detail.html:235 +#: build/templates/build/detail.html:247 msgid "Completed Build Outputs" msgstr "" -#: build/templates/build/detail.html:246 build/templates/build/navbar.html:42 +#: build/templates/build/detail.html:258 build/templates/build/navbar.html:42 #: build/templates/build/navbar.html:45 order/templates/order/po_navbar.html:35 #: order/templates/order/sales_order_detail.html:43 #: order/templates/order/so_navbar.html:29 part/templates/part/detail.html:173 @@ -1323,15 +1326,15 @@ msgstr "" msgid "Attachments" msgstr "" -#: build/templates/build/detail.html:257 +#: build/templates/build/detail.html:269 msgid "Build Notes" msgstr "" -#: build/templates/build/detail.html:261 build/templates/build/detail.html:398 +#: build/templates/build/detail.html:273 build/templates/build/detail.html:414 #: company/templates/company/detail.html:169 #: company/templates/company/detail.html:196 -#: order/templates/order/purchase_order_detail.html:62 -#: order/templates/order/purchase_order_detail.html:95 +#: order/templates/order/purchase_order_detail.html:71 +#: order/templates/order/purchase_order_detail.html:104 #: order/templates/order/sales_order_detail.html:58 #: order/templates/order/sales_order_detail.html:85 #: part/templates/part/detail.html:109 stock/templates/stock/item.html:103 @@ -1339,39 +1342,48 @@ msgstr "" msgid "Edit Notes" msgstr "" -#: build/templates/build/detail.html:357 +#: build/templates/build/detail.html:373 #: order/templates/order/po_attachments.html:79 -#: order/templates/order/purchase_order_detail.html:157 +#: order/templates/order/purchase_order_detail.html:166 #: order/templates/order/sales_order_detail.html:146 -#: part/templates/part/detail.html:920 stock/templates/stock/item.html:253 +#: part/templates/part/detail.html:891 stock/templates/stock/item.html:253 #: templates/attachment_table.html:6 msgid "Add Attachment" msgstr "" -#: build/templates/build/detail.html:376 +#: build/templates/build/detail.html:392 #: order/templates/order/po_attachments.html:51 -#: order/templates/order/purchase_order_detail.html:129 +#: order/templates/order/purchase_order_detail.html:138 #: order/templates/order/sales_order_detail.html:119 -#: part/templates/part/detail.html:874 stock/templates/stock/item.html:221 +#: part/templates/part/detail.html:845 stock/templates/stock/item.html:221 msgid "Edit Attachment" msgstr "" -#: build/templates/build/detail.html:383 +#: build/templates/build/detail.html:399 #: order/templates/order/po_attachments.html:58 -#: order/templates/order/purchase_order_detail.html:136 +#: order/templates/order/purchase_order_detail.html:145 #: order/templates/order/sales_order_detail.html:125 -#: part/templates/part/detail.html:883 stock/templates/stock/item.html:230 +#: part/templates/part/detail.html:854 stock/templates/stock/item.html:230 +#: templates/js/translated/order.js:1230 msgid "Confirm Delete Operation" msgstr "" -#: build/templates/build/detail.html:384 +#: build/templates/build/detail.html:400 #: order/templates/order/po_attachments.html:59 -#: order/templates/order/purchase_order_detail.html:137 +#: order/templates/order/purchase_order_detail.html:146 #: order/templates/order/sales_order_detail.html:126 -#: part/templates/part/detail.html:884 stock/templates/stock/item.html:231 +#: part/templates/part/detail.html:855 stock/templates/stock/item.html:231 msgid "Delete Attachment" msgstr "" +#: build/templates/build/detail.html:443 +msgid "Allocation Complete" +msgstr "" + +#: build/templates/build/detail.html:444 +msgid "All untracked stock items have been allocated" +msgstr "" + #: build/templates/build/edit_build_item.html:7 msgid "Alter the quantity of stock allocated to the build output" msgstr "" @@ -1401,15 +1413,10 @@ msgid "Build Order Details" msgstr "" #: build/templates/build/navbar.html:15 order/templates/order/po_navbar.html:15 -#: templates/js/translated/stock.js:1555 +#: templates/js/translated/stock.js:1534 msgid "Details" msgstr "" -#: build/templates/build/navbar.html:20 build/templates/build/navbar.html:23 -#: build/views.py:90 -msgid "Allocate Stock" -msgstr "" - #: build/templates/build/navbar.html:28 build/templates/build/navbar.html:31 msgid "Build Outputs" msgstr "" @@ -1434,120 +1441,82 @@ msgstr "" msgid "Build was cancelled" msgstr "" -#: build/views.py:137 -msgid "Allocated stock to build output" -msgstr "" - -#: build/views.py:149 +#: build/views.py:88 msgid "Create Build Output" msgstr "" -#: build/views.py:167 +#: build/views.py:106 msgid "Maximum output quantity is " msgstr "" -#: build/views.py:183 stock/views.py:1389 +#: build/views.py:122 stock/views.py:1366 msgid "Serial numbers already exist" msgstr "" -#: build/views.py:192 +#: build/views.py:131 msgid "Serial numbers required for trackable build output" msgstr "" -#: build/views.py:258 +#: build/views.py:197 msgid "Delete Build Output" msgstr "" -#: build/views.py:279 build/views.py:369 +#: build/views.py:218 build/views.py:308 msgid "Confirm unallocation of build stock" msgstr "" -#: build/views.py:280 build/views.py:370 stock/views.py:404 +#: build/views.py:219 build/views.py:309 stock/views.py:381 msgid "Check the confirmation box" msgstr "" -#: build/views.py:292 +#: build/views.py:231 msgid "Build output does not match build" msgstr "" -#: build/views.py:294 build/views.py:495 +#: build/views.py:233 build/views.py:434 msgid "Build output must be specified" msgstr "" -#: build/views.py:306 +#: build/views.py:245 msgid "Build output deleted" msgstr "" -#: build/views.py:404 +#: build/views.py:343 msgid "Complete Build Order" msgstr "" -#: build/views.py:410 +#: build/views.py:349 msgid "Build order cannot be completed - incomplete outputs remain" msgstr "" -#: build/views.py:421 +#: build/views.py:360 msgid "Completed build order" msgstr "" -#: build/views.py:437 +#: build/views.py:376 msgid "Complete Build Output" msgstr "" -#: build/views.py:479 +#: build/views.py:418 msgid "Invalid stock status value selected" msgstr "" -#: build/views.py:486 +#: build/views.py:425 msgid "Quantity to complete cannot exceed build output quantity" msgstr "" -#: build/views.py:492 +#: build/views.py:431 msgid "Confirm completion of incomplete build" msgstr "" -#: build/views.py:591 +#: build/views.py:530 msgid "Build output completed" msgstr "" -#: build/views.py:628 +#: build/views.py:567 msgid "Delete Build Order" msgstr "" -#: build/views.py:643 -msgid "Removed parts from build allocation" -msgstr "" - -#: build/views.py:655 -msgid "Allocate stock to build output" -msgstr "" - -#: build/views.py:698 -msgid "Item must be currently in stock" -msgstr "" - -#: build/views.py:704 -msgid "Stock item is over-allocated" -msgstr "" - -#: build/views.py:705 templates/js/translated/bom.js:269 -#: templates/js/translated/build.js:728 templates/js/translated/build.js:1019 -#: templates/js/translated/build.js:1196 -msgid "Available" -msgstr "" - -#: build/views.py:707 -msgid "Stock item must be selected" -msgstr "" - -#: build/views.py:870 -msgid "Edit Stock Allocation" -msgstr "" - -#: build/views.py:874 -msgid "Updated Build Item" -msgstr "" - #: common/files.py:67 msgid "Unsupported file format: {ext.upper()}" msgstr "" @@ -1585,7 +1554,7 @@ msgstr "" msgid "Select {name} file to upload" msgstr "" -#: common/models.py:308 common/models.py:839 common/models.py:986 +#: common/models.py:308 common/models.py:887 common/models.py:1048 msgid "Settings key (must be unique - case insensitive" msgstr "" @@ -1625,7 +1594,7 @@ msgstr "" msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:522 company/models.py:99 company/models.py:100 +#: common/models.py:522 company/models.py:100 company/models.py:101 msgid "Company name" msgstr "" @@ -1721,9 +1690,9 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:603 part/models.py:2252 report/models.py:187 +#: common/models.py:603 part/models.py:2256 report/models.py:187 #: stock/forms.py:224 templates/js/translated/table_filters.js:38 -#: templates/js/translated/table_filters.js:342 +#: templates/js/translated/table_filters.js:351 msgid "Template" msgstr "" @@ -1731,9 +1700,9 @@ msgstr "" msgid "Parts are templates by default" msgstr "" -#: common/models.py:610 part/models.py:805 +#: common/models.py:610 part/models.py:806 #: templates/js/translated/table_filters.js:146 -#: templates/js/translated/table_filters.js:354 +#: templates/js/translated/table_filters.js:363 msgid "Assembly" msgstr "" @@ -1741,8 +1710,8 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:617 part/models.py:811 -#: templates/js/translated/table_filters.js:358 +#: common/models.py:617 part/models.py:812 +#: templates/js/translated/table_filters.js:367 msgid "Component" msgstr "" @@ -1750,7 +1719,7 @@ msgstr "" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:624 part/models.py:822 +#: common/models.py:624 part/models.py:823 msgid "Purchaseable" msgstr "" @@ -1758,8 +1727,8 @@ msgstr "" msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:631 part/models.py:827 -#: templates/js/translated/table_filters.js:366 +#: common/models.py:631 part/models.py:828 +#: templates/js/translated/table_filters.js:375 msgid "Salable" msgstr "" @@ -1767,9 +1736,9 @@ msgstr "" msgid "Parts are salable by default" msgstr "" -#: common/models.py:638 part/models.py:817 +#: common/models.py:638 part/models.py:818 #: templates/js/translated/table_filters.js:46 -#: templates/js/translated/table_filters.js:370 +#: templates/js/translated/table_filters.js:379 msgid "Trackable" msgstr "" @@ -1777,7 +1746,7 @@ msgstr "" msgid "Parts are trackable by default" msgstr "" -#: common/models.py:645 part/models.py:837 +#: common/models.py:645 part/models.py:838 #: part/templates/part/part_base.html:66 #: templates/js/translated/table_filters.js:42 msgid "Virtual" @@ -1787,392 +1756,464 @@ msgstr "" msgid "Parts are virtual by default" msgstr "" -#: common/models.py:653 -msgid "Show Quantity in Forms" -msgstr "" - -#: common/models.py:654 -msgid "Display available part quantity in some forms" -msgstr "" - -#: common/models.py:660 +#: common/models.py:652 msgid "Show Import in Views" msgstr "" -#: common/models.py:661 +#: common/models.py:653 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:667 +#: common/models.py:659 msgid "Show Price in Forms" msgstr "" -#: common/models.py:668 +#: common/models.py:660 msgid "Display part price in some forms" msgstr "" -#: common/models.py:674 +#: common/models.py:671 +msgid "Show Price in BOM" +msgstr "" + +#: common/models.py:672 +msgid "Include pricing information in BOM tables" +msgstr "" + +#: common/models.py:678 msgid "Show related parts" msgstr "" -#: common/models.py:675 +#: common/models.py:679 msgid "Display related parts for a part" msgstr "" -#: common/models.py:681 +#: common/models.py:685 msgid "Create initial stock" msgstr "" -#: common/models.py:682 +#: common/models.py:686 msgid "Create initial stock on part creation" msgstr "" -#: common/models.py:688 +#: common/models.py:692 msgid "Internal Prices" msgstr "" -#: common/models.py:689 +#: common/models.py:693 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:695 +#: common/models.py:699 msgid "Internal Price as BOM-Price" msgstr "" -#: common/models.py:696 +#: common/models.py:700 msgid "Use the internal price (if set) in BOM-price calculations" msgstr "" -#: common/models.py:702 templates/stats.html:25 +#: common/models.py:706 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:703 +#: common/models.py:707 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:709 +#: common/models.py:713 msgid "Page Size" msgstr "" -#: common/models.py:710 +#: common/models.py:714 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:720 +#: common/models.py:724 msgid "Test Reports" msgstr "" -#: common/models.py:721 +#: common/models.py:725 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:727 +#: common/models.py:731 msgid "Stock Expiry" msgstr "" -#: common/models.py:728 +#: common/models.py:732 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:734 +#: common/models.py:738 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:735 +#: common/models.py:739 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:741 +#: common/models.py:745 msgid "Stock Stale Time" msgstr "" -#: common/models.py:742 +#: common/models.py:746 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:744 +#: common/models.py:748 msgid "days" msgstr "" -#: common/models.py:749 +#: common/models.py:753 msgid "Build Expired Stock" msgstr "" -#: common/models.py:750 +#: common/models.py:754 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:756 +#: common/models.py:760 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:757 +#: common/models.py:761 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:763 +#: common/models.py:767 msgid "Group by Part" msgstr "" -#: common/models.py:764 +#: common/models.py:768 msgid "Group stock items by part reference in table views" msgstr "" -#: common/models.py:770 +#: common/models.py:774 msgid "Build Order Reference Prefix" msgstr "" -#: common/models.py:771 +#: common/models.py:775 msgid "Prefix value for build order reference" msgstr "" -#: common/models.py:776 +#: common/models.py:780 msgid "Build Order Reference Regex" msgstr "" -#: common/models.py:777 +#: common/models.py:781 msgid "Regular expression pattern for matching build order reference" msgstr "" -#: common/models.py:781 +#: common/models.py:785 msgid "Sales Order Reference Prefix" msgstr "" -#: common/models.py:782 +#: common/models.py:786 msgid "Prefix value for sales order reference" msgstr "" -#: common/models.py:787 +#: common/models.py:791 msgid "Purchase Order Reference Prefix" msgstr "" -#: common/models.py:788 +#: common/models.py:792 msgid "Prefix value for purchase order reference" msgstr "" -#: common/models.py:794 +#: common/models.py:798 msgid "Enable build" msgstr "" -#: common/models.py:795 +#: common/models.py:799 msgid "Enable build functionality in InvenTree interface" msgstr "" -#: common/models.py:800 +#: common/models.py:804 msgid "Enable buy" msgstr "" -#: common/models.py:801 +#: common/models.py:805 msgid "Enable buy functionality in InvenTree interface" msgstr "" -#: common/models.py:806 +#: common/models.py:810 msgid "Enable sell" msgstr "" -#: common/models.py:807 +#: common/models.py:811 msgid "Enable sell functionality in InvenTree interface" msgstr "" -#: common/models.py:812 +#: common/models.py:816 msgid "Enable stock" msgstr "" -#: common/models.py:813 +#: common/models.py:817 msgid "Enable stock functionality in InvenTree interface" msgstr "" -#: common/models.py:818 +#: common/models.py:822 msgid "Enable SO" msgstr "" -#: common/models.py:819 +#: common/models.py:823 msgid "Enable SO functionality in InvenTree interface" msgstr "" -#: common/models.py:824 +#: common/models.py:828 msgid "Enable PO" msgstr "" -#: common/models.py:825 +#: common/models.py:829 msgid "Enable PO functionality in InvenTree interface" msgstr "" -#: common/models.py:850 +#: common/models.py:836 +msgid "Enable password forgot" +msgstr "" + +#: common/models.py:837 +msgid "Enable password forgot function on the login-pages" +msgstr "" + +#: common/models.py:842 +msgid "Enable registration" +msgstr "" + +#: common/models.py:843 +msgid "Enable self-registration for users on the login-pages" +msgstr "" + +#: common/models.py:848 +msgid "Enable SSO" +msgstr "" + +#: common/models.py:849 +msgid "Enable SSO on the login-pages" +msgstr "" + +#: common/models.py:854 +msgid "E-Mail required" +msgstr "" + +#: common/models.py:855 +msgid "Require user to supply mail on signup" +msgstr "" + +#: common/models.py:860 +msgid "Auto-fill SSO users" +msgstr "" + +#: common/models.py:861 +msgid "Automatically fill out user-details from SSO account-data" +msgstr "" + +#: common/models.py:866 +msgid "Mail twice" +msgstr "" + +#: common/models.py:867 +msgid "On signup ask users twice for their mail" +msgstr "" + +#: common/models.py:872 +msgid "Password twice" +msgstr "" + +#: common/models.py:873 +msgid "On signup ask users twice for their password" +msgstr "" + +#: common/models.py:898 msgid "Show starred parts" msgstr "" -#: common/models.py:851 +#: common/models.py:899 msgid "Show starred parts on the homepage" msgstr "" -#: common/models.py:856 +#: common/models.py:904 msgid "Show latest parts" msgstr "" -#: common/models.py:857 +#: common/models.py:905 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:862 +#: common/models.py:910 msgid "Recent Part Count" msgstr "" -#: common/models.py:863 +#: common/models.py:911 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:869 +#: common/models.py:917 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:870 +#: common/models.py:918 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:875 +#: common/models.py:923 msgid "Show recent stock changes" msgstr "" -#: common/models.py:876 +#: common/models.py:924 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:881 +#: common/models.py:929 msgid "Recent Stock Count" msgstr "" -#: common/models.py:882 +#: common/models.py:930 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:887 +#: common/models.py:935 msgid "Show low stock" msgstr "" -#: common/models.py:888 +#: common/models.py:936 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:893 +#: common/models.py:941 msgid "Show depleted stock" msgstr "" -#: common/models.py:894 +#: common/models.py:942 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:899 +#: common/models.py:947 msgid "Show needed stock" msgstr "" -#: common/models.py:900 +#: common/models.py:948 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:905 +#: common/models.py:953 msgid "Show expired stock" msgstr "" -#: common/models.py:906 +#: common/models.py:954 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:911 +#: common/models.py:959 msgid "Show stale stock" msgstr "" -#: common/models.py:912 +#: common/models.py:960 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:917 +#: common/models.py:965 msgid "Show pending builds" msgstr "" -#: common/models.py:918 +#: common/models.py:966 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:923 +#: common/models.py:971 msgid "Show overdue builds" msgstr "" -#: common/models.py:924 +#: common/models.py:972 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:929 +#: common/models.py:977 msgid "Show outstanding POs" msgstr "" -#: common/models.py:930 +#: common/models.py:978 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:935 +#: common/models.py:983 msgid "Show overdue POs" msgstr "" -#: common/models.py:936 +#: common/models.py:984 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:941 +#: common/models.py:989 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:942 +#: common/models.py:990 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:947 +#: common/models.py:995 msgid "Show overdue SOs" msgstr "" -#: common/models.py:948 +#: common/models.py:996 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:954 +#: common/models.py:1002 msgid "Inline label display" msgstr "" -#: common/models.py:955 +#: common/models.py:1003 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:961 +#: common/models.py:1009 msgid "Inline report display" msgstr "" -#: common/models.py:962 +#: common/models.py:1010 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:968 +#: common/models.py:1016 msgid "Search Preview Results" msgstr "" -#: common/models.py:969 +#: common/models.py:1017 msgid "Number of results to show in search preview window" msgstr "" -#: common/models.py:1026 company/forms.py:43 +#: common/models.py:1023 +msgid "Show Quantity in Forms" +msgstr "" + +#: common/models.py:1024 +msgid "Display available part quantity in some forms" +msgstr "" + +#: common/models.py:1030 +msgid "Escape Key Closes Forms" +msgstr "" + +#: common/models.py:1031 +msgid "Use the escape key to close modal forms" +msgstr "" + +#: common/models.py:1088 company/forms.py:43 msgid "Price break quantity" msgstr "" -#: common/models.py:1033 company/templates/company/supplier_part.html:231 -#: templates/js/translated/part.js:1322 +#: common/models.py:1095 company/templates/company/supplier_part.html:231 +#: templates/js/translated/part.js:1369 msgid "Price" msgstr "" -#: common/models.py:1034 +#: common/models.py:1096 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1127 +#: common/models.py:1189 msgid "Default" msgstr "" @@ -2199,7 +2240,7 @@ msgstr "" #: common/views.py:213 order/templates/order/order_wizard/po_upload.html:42 #: order/templates/order/po_navbar.html:19 #: order/templates/order/po_navbar.html:22 -#: order/templates/order/purchase_order_detail.html:26 order/views.py:290 +#: order/templates/order/purchase_order_detail.html:27 order/views.py:289 #: part/templates/part/bom_upload/upload_file.html:65 #: part/templates/part/import_wizard/part_upload.html:45 part/views.py:268 #: part/views.py:882 @@ -2207,7 +2248,7 @@ msgid "Upload File" msgstr "" #: common/views.py:214 order/templates/order/order_wizard/match_fields.html:52 -#: order/views.py:291 part/templates/part/bom_upload/match_fields.html:52 +#: order/views.py:290 part/templates/part/bom_upload/match_fields.html:52 #: part/templates/part/import_wizard/ajax_match_fields.html:45 #: part/templates/part/import_wizard/match_fields.html:52 part/views.py:269 #: part/views.py:883 @@ -2246,249 +2287,249 @@ msgstr "" msgid "Image URL" msgstr "" -#: company/models.py:104 +#: company/models.py:105 msgid "Company description" msgstr "" -#: company/models.py:105 +#: company/models.py:106 msgid "Description of the company" msgstr "" -#: company/models.py:111 company/templates/company/company_base.html:70 +#: company/models.py:112 company/templates/company/company_base.html:70 #: templates/js/translated/company.js:348 msgid "Website" msgstr "" -#: company/models.py:112 +#: company/models.py:113 msgid "Company website URL" msgstr "" -#: company/models.py:116 company/templates/company/company_base.html:88 +#: company/models.py:117 company/templates/company/company_base.html:88 msgid "Address" msgstr "" -#: company/models.py:117 +#: company/models.py:118 msgid "Company address" msgstr "" -#: company/models.py:120 +#: company/models.py:121 msgid "Phone number" msgstr "" -#: company/models.py:121 +#: company/models.py:122 msgid "Contact phone number" msgstr "" -#: company/models.py:124 company/templates/company/company_base.html:102 +#: company/models.py:125 company/templates/company/company_base.html:102 msgid "Email" msgstr "" -#: company/models.py:124 +#: company/models.py:125 msgid "Contact email address" msgstr "" -#: company/models.py:127 company/templates/company/company_base.html:109 +#: company/models.py:128 company/templates/company/company_base.html:109 msgid "Contact" msgstr "" -#: company/models.py:128 +#: company/models.py:129 msgid "Point of contact" msgstr "" -#: company/models.py:130 company/models.py:347 company/models.py:563 -#: order/models.py:160 part/models.py:714 +#: company/models.py:131 company/models.py:348 company/models.py:564 +#: order/models.py:160 part/models.py:715 #: report/templates/report/inventree_build_order_base.html:165 -#: templates/js/translated/company.js:535 -#: templates/js/translated/company.js:823 templates/js/translated/part.js:972 +#: templates/js/translated/company.js:536 +#: templates/js/translated/company.js:825 templates/js/translated/part.js:983 msgid "Link" msgstr "" -#: company/models.py:130 +#: company/models.py:131 msgid "Link to external company information" msgstr "" -#: company/models.py:138 part/models.py:724 +#: company/models.py:139 part/models.py:725 msgid "Image" msgstr "" -#: company/models.py:143 +#: company/models.py:144 msgid "is customer" msgstr "" -#: company/models.py:143 +#: company/models.py:144 msgid "Do you sell items to this company?" msgstr "" -#: company/models.py:145 +#: company/models.py:146 msgid "is supplier" msgstr "" -#: company/models.py:145 +#: company/models.py:146 msgid "Do you purchase items from this company?" msgstr "" -#: company/models.py:147 +#: company/models.py:148 msgid "is manufacturer" msgstr "" -#: company/models.py:147 +#: company/models.py:148 msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:151 company/serializers.py:264 -#: company/templates/company/company_base.html:76 stock/serializers.py:155 +#: company/models.py:152 company/serializers.py:264 +#: company/templates/company/company_base.html:76 stock/serializers.py:158 msgid "Currency" msgstr "" -#: company/models.py:154 +#: company/models.py:155 msgid "Default currency used for this company" msgstr "" -#: company/models.py:319 company/models.py:534 stock/models.py:454 +#: company/models.py:320 company/models.py:535 stock/models.py:454 #: stock/templates/stock/item_base.html:237 msgid "Base Part" msgstr "" -#: company/models.py:323 company/models.py:538 order/views.py:1082 +#: company/models.py:324 company/models.py:539 order/views.py:912 msgid "Select part" msgstr "" -#: company/models.py:334 company/templates/company/company_base.html:116 +#: company/models.py:335 company/templates/company/company_base.html:116 #: company/templates/company/manufacturer_part.html:89 #: company/templates/company/supplier_part.html:98 part/bom.py:170 -#: part/bom.py:241 stock/templates/stock/item_base.html:366 +#: part/bom.py:247 stock/templates/stock/item_base.html:366 #: templates/js/translated/company.js:332 -#: templates/js/translated/company.js:512 -#: templates/js/translated/company.js:794 templates/js/translated/part.js:222 +#: templates/js/translated/company.js:513 +#: templates/js/translated/company.js:796 templates/js/translated/part.js:227 msgid "Manufacturer" msgstr "" -#: company/models.py:335 templates/js/translated/part.js:223 +#: company/models.py:336 templates/js/translated/part.js:228 msgid "Select manufacturer" msgstr "" -#: company/models.py:341 company/templates/company/manufacturer_part.html:93 +#: company/models.py:342 company/templates/company/manufacturer_part.html:93 #: company/templates/company/supplier_part.html:106 part/bom.py:171 -#: part/bom.py:242 templates/js/translated/company.js:528 -#: templates/js/translated/company.js:812 templates/js/translated/order.js:505 -#: templates/js/translated/part.js:233 +#: part/bom.py:248 templates/js/translated/company.js:529 +#: templates/js/translated/company.js:814 templates/js/translated/order.js:851 +#: templates/js/translated/part.js:238 msgid "MPN" msgstr "" -#: company/models.py:342 templates/js/translated/part.js:234 +#: company/models.py:343 templates/js/translated/part.js:239 msgid "Manufacturer Part Number" msgstr "" -#: company/models.py:348 +#: company/models.py:349 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:354 +#: company/models.py:355 msgid "Manufacturer part description" msgstr "" -#: company/models.py:408 company/models.py:557 +#: company/models.py:409 company/models.py:558 #: company/templates/company/manufacturer_part.html:6 #: company/templates/company/manufacturer_part.html:23 #: stock/templates/stock/item_base.html:376 msgid "Manufacturer Part" msgstr "" -#: company/models.py:415 +#: company/models.py:416 msgid "Parameter name" msgstr "" -#: company/models.py:421 +#: company/models.py:422 #: report/templates/report/inventree_test_report_base.html:90 -#: stock/models.py:1819 templates/InvenTree/settings/header.html:8 -#: templates/js/translated/company.js:642 templates/js/translated/part.js:612 -#: templates/js/translated/stock.js:576 +#: stock/models.py:1816 templates/InvenTree/settings/header.html:8 +#: templates/js/translated/company.js:643 templates/js/translated/part.js:623 +#: templates/js/translated/stock.js:555 msgid "Value" msgstr "" -#: company/models.py:422 +#: company/models.py:423 msgid "Parameter value" msgstr "" -#: company/models.py:428 part/models.py:799 part/models.py:2220 -#: templates/js/translated/company.js:648 templates/js/translated/part.js:618 +#: company/models.py:429 part/models.py:800 part/models.py:2224 +#: templates/js/translated/company.js:649 templates/js/translated/part.js:629 msgid "Units" msgstr "" -#: company/models.py:429 +#: company/models.py:430 msgid "Parameter units" msgstr "" -#: company/models.py:501 +#: company/models.py:502 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:544 company/templates/company/company_base.html:121 +#: company/models.py:545 company/templates/company/company_base.html:121 #: company/templates/company/supplier_part.html:88 order/models.py:260 #: order/templates/order/order_base.html:92 #: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:175 -#: part/bom.py:286 stock/templates/stock/item_base.html:383 +#: part/bom.py:292 stock/templates/stock/item_base.html:383 #: templates/js/translated/company.js:336 -#: templates/js/translated/company.js:768 templates/js/translated/order.js:328 -#: templates/js/translated/part.js:203 +#: templates/js/translated/company.js:770 templates/js/translated/order.js:659 +#: templates/js/translated/part.js:208 msgid "Supplier" msgstr "" -#: company/models.py:545 templates/js/translated/part.js:204 +#: company/models.py:546 templates/js/translated/part.js:209 msgid "Select supplier" msgstr "" -#: company/models.py:550 company/templates/company/supplier_part.html:92 -#: part/bom.py:176 part/bom.py:287 templates/js/translated/order.js:492 -#: templates/js/translated/part.js:214 +#: company/models.py:551 company/templates/company/supplier_part.html:92 +#: part/bom.py:176 part/bom.py:293 templates/js/translated/order.js:838 +#: templates/js/translated/part.js:219 msgid "SKU" msgstr "" -#: company/models.py:551 templates/js/translated/part.js:215 +#: company/models.py:552 templates/js/translated/part.js:220 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:558 +#: company/models.py:559 msgid "Select manufacturer part" msgstr "" -#: company/models.py:564 +#: company/models.py:565 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:570 +#: company/models.py:571 msgid "Supplier part description" msgstr "" -#: company/models.py:575 company/templates/company/supplier_part.html:120 -#: part/models.py:2368 report/templates/report/inventree_po_report.html:93 +#: company/models.py:576 company/templates/company/supplier_part.html:120 +#: part/models.py:2389 report/templates/report/inventree_po_report.html:93 #: report/templates/report/inventree_so_report.html:93 msgid "Note" msgstr "" -#: company/models.py:579 part/models.py:1599 +#: company/models.py:580 part/models.py:1603 msgid "base cost" msgstr "" -#: company/models.py:579 part/models.py:1599 +#: company/models.py:580 part/models.py:1603 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:581 company/templates/company/supplier_part.html:113 +#: company/models.py:582 company/templates/company/supplier_part.html:113 #: stock/models.py:478 stock/templates/stock/item_base.html:324 -#: templates/js/translated/company.js:844 templates/js/translated/stock.js:1057 +#: templates/js/translated/company.js:846 templates/js/translated/stock.js:1036 msgid "Packaging" msgstr "" -#: company/models.py:581 +#: company/models.py:582 msgid "Part packaging" msgstr "" -#: company/models.py:583 part/models.py:1601 +#: company/models.py:584 part/models.py:1605 msgid "multiple" msgstr "" -#: company/models.py:583 +#: company/models.py:584 msgid "Order multiple" msgstr "" @@ -2502,7 +2543,7 @@ msgstr "" #: company/templates/company/company_base.html:9 #: company/templates/company/company_base.html:35 -#: templates/InvenTree/search.html:304 templates/js/translated/company.js:321 +#: templates/InvenTree/search.html:208 templates/js/translated/company.js:321 msgid "Company" msgstr "" @@ -2517,7 +2558,7 @@ msgid "Download image from URL" msgstr "" #: company/templates/company/company_base.html:46 -#: templates/js/translated/order.js:117 +#: templates/js/translated/order.js:120 msgid "Create Purchase Order" msgstr "" @@ -2542,22 +2583,22 @@ msgstr "" msgid "Phone" msgstr "" -#: company/templates/company/company_base.html:126 order/models.py:550 -#: order/templates/order/sales_order_base.html:94 stock/models.py:496 +#: company/templates/company/company_base.html:126 order/models.py:558 +#: order/templates/order/sales_order_base.html:99 stock/models.py:496 #: stock/models.py:497 stock/templates/stock/item_base.html:276 -#: templates/js/translated/company.js:328 templates/js/translated/order.js:692 -#: templates/js/translated/stock.js:1608 +#: templates/js/translated/company.js:328 templates/js/translated/order.js:1038 +#: templates/js/translated/stock.js:1587 msgid "Customer" msgstr "" -#: company/templates/company/company_base.html:193 -#: part/templates/part/part_base.html:418 +#: company/templates/company/company_base.html:199 +#: part/templates/part/part_base.html:424 msgid "Upload Image" msgstr "" #: company/templates/company/detail.html:14 #: company/templates/company/manufacturer_part_navbar.html:18 -#: templates/InvenTree/search.html:164 +#: templates/InvenTree/search.html:150 msgid "Supplier Parts" msgstr "" @@ -2597,7 +2638,7 @@ msgstr "" msgid "Delete Parts" msgstr "" -#: company/templates/company/detail.html:54 templates/InvenTree/search.html:149 +#: company/templates/company/detail.html:54 templates/InvenTree/search.html:135 msgid "Manufacturer Parts" msgstr "" @@ -2620,9 +2661,9 @@ msgstr "" #: order/templates/order/purchase_orders.html:13 #: part/templates/part/detail.html:50 part/templates/part/navbar.html:82 #: part/templates/part/navbar.html:85 templates/InvenTree/index.html:260 -#: templates/InvenTree/search.html:325 -#: templates/InvenTree/settings/navbar.html:107 -#: templates/InvenTree/settings/navbar.html:109 templates/navbar.html:44 +#: templates/InvenTree/search.html:229 +#: templates/InvenTree/settings/navbar.html:119 +#: templates/InvenTree/settings/navbar.html:121 templates/navbar.html:44 #: users/models.py:45 msgid "Purchase Orders" msgstr "" @@ -2644,9 +2685,9 @@ msgstr "" #: order/templates/order/sales_orders.html:13 #: part/templates/part/detail.html:71 part/templates/part/navbar.html:91 #: part/templates/part/navbar.html:94 templates/InvenTree/index.html:291 -#: templates/InvenTree/search.html:345 -#: templates/InvenTree/settings/navbar.html:113 -#: templates/InvenTree/settings/navbar.html:115 templates/navbar.html:55 +#: templates/InvenTree/search.html:249 +#: templates/InvenTree/settings/navbar.html:125 +#: templates/InvenTree/settings/navbar.html:127 templates/navbar.html:55 #: users/models.py:46 msgid "Sales Orders" msgstr "" @@ -2664,7 +2705,7 @@ msgstr "" #: company/templates/company/detail.html:147 #: company/templates/company/navbar.html:61 #: company/templates/company/navbar.html:64 -#: templates/js/translated/build.js:620 +#: templates/js/translated/build.js:622 msgid "Assigned Stock" msgstr "" @@ -2696,12 +2737,12 @@ msgid "Order part" msgstr "" #: company/templates/company/manufacturer_part.html:45 -#: templates/js/translated/company.js:560 +#: templates/js/translated/company.js:561 msgid "Edit manufacturer part" msgstr "" #: company/templates/company/manufacturer_part.html:49 -#: templates/js/translated/company.js:561 +#: templates/js/translated/company.js:562 msgid "Delete manufacturer part" msgstr "" @@ -2718,7 +2759,7 @@ msgstr "" #: company/templates/company/manufacturer_part_navbar.html:21 #: company/views.py:49 part/templates/part/navbar.html:75 #: part/templates/part/navbar.html:78 part/templates/part/prices.html:163 -#: templates/InvenTree/search.html:316 templates/navbar.html:41 +#: templates/InvenTree/search.html:220 templates/navbar.html:41 msgid "Suppliers" msgstr "" @@ -2732,7 +2773,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:239 #: part/templates/part/detail.html:214 part/templates/part/detail.html:294 #: part/templates/part/detail.html:317 templates/js/translated/company.js:424 -#: templates/js/translated/helpers.js:31 users/models.py:194 +#: templates/js/translated/helpers.js:31 users/models.py:199 msgid "Delete" msgstr "" @@ -2758,7 +2799,7 @@ msgid "Delete parameters" msgstr "" #: company/templates/company/manufacturer_part.html:176 -#: part/templates/part/detail.html:834 +#: part/templates/part/detail.html:805 msgid "Add Parameter" msgstr "" @@ -2777,16 +2818,15 @@ msgstr "" #: company/templates/company/manufacturer_part_navbar.html:29 #: company/templates/company/navbar.html:39 #: company/templates/company/supplier_part_navbar.html:15 -#: part/templates/part/navbar.html:38 stock/api.py:54 +#: part/templates/part/navbar.html:38 stock/api.py:52 #: stock/templates/stock/loc_link.html:7 stock/templates/stock/location.html:36 #: stock/templates/stock/stock_app_base.html:10 -#: templates/InvenTree/index.html:150 templates/InvenTree/search.html:196 -#: templates/InvenTree/search.html:232 -#: templates/InvenTree/settings/navbar.html:95 -#: templates/InvenTree/settings/navbar.html:97 -#: templates/js/translated/part.js:529 templates/js/translated/part.js:758 -#: templates/js/translated/part.js:934 templates/js/translated/stock.js:202 -#: templates/js/translated/stock.js:850 templates/navbar.html:32 +#: templates/InvenTree/index.html:150 templates/InvenTree/search.html:182 +#: templates/InvenTree/settings/navbar.html:107 +#: templates/InvenTree/settings/navbar.html:109 +#: templates/js/translated/part.js:540 templates/js/translated/part.js:769 +#: templates/js/translated/part.js:945 templates/js/translated/stock.js:182 +#: templates/js/translated/stock.js:829 templates/navbar.html:32 msgid "Stock" msgstr "" @@ -2815,7 +2855,7 @@ msgstr "" #: stock/templates/stock/location.html:148 #: stock/templates/stock/location_navbar.html:18 #: stock/templates/stock/location_navbar.html:21 -#: templates/InvenTree/search.html:198 templates/js/translated/stock.js:1507 +#: templates/InvenTree/search.html:184 templates/js/translated/stock.js:1486 #: templates/stats.html:93 templates/stats.html:102 users/models.py:43 msgid "Stock Items" msgstr "" @@ -2823,17 +2863,17 @@ msgstr "" #: company/templates/company/supplier_part.html:7 #: company/templates/company/supplier_part.html:24 stock/models.py:463 #: stock/templates/stock/item_base.html:388 -#: templates/js/translated/company.js:784 templates/js/translated/stock.js:1014 +#: templates/js/translated/company.js:786 templates/js/translated/stock.js:993 msgid "Supplier Part" msgstr "" #: company/templates/company/supplier_part.html:44 -#: templates/js/translated/company.js:857 +#: templates/js/translated/company.js:859 msgid "Edit supplier part" msgstr "" #: company/templates/company/supplier_part.html:48 -#: templates/js/translated/company.js:858 +#: templates/js/translated/company.js:860 msgid "Delete supplier part" msgstr "" @@ -2900,7 +2940,7 @@ msgid "New Supplier" msgstr "" #: company/views.py:55 part/templates/part/prices.html:167 -#: templates/InvenTree/search.html:306 templates/navbar.html:42 +#: templates/InvenTree/search.html:210 templates/navbar.html:42 msgid "Manufacturers" msgstr "" @@ -2908,7 +2948,7 @@ msgstr "" msgid "New Manufacturer" msgstr "" -#: company/views.py:61 templates/InvenTree/search.html:336 +#: company/views.py:61 templates/InvenTree/search.html:240 #: templates/navbar.html:53 msgid "Customers" msgstr "" @@ -3011,36 +3051,32 @@ msgstr "" msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" -#: order/api.py:302 -msgid "Destination location must be specified" +#: order/api.py:250 +msgid "Matching purchase order does not exist" msgstr "" -#: order/forms.py:30 order/templates/order/order_base.html:47 +#: order/forms.py:27 order/templates/order/order_base.html:50 msgid "Place order" msgstr "" -#: order/forms.py:41 order/templates/order/order_base.html:54 +#: order/forms.py:38 order/templates/order/order_base.html:57 msgid "Mark order as complete" msgstr "" -#: order/forms.py:52 order/forms.py:63 order/templates/order/order_base.html:59 -#: order/templates/order/sales_order_base.html:61 +#: order/forms.py:49 order/forms.py:60 order/templates/order/order_base.html:62 +#: order/templates/order/sales_order_base.html:64 msgid "Cancel order" msgstr "" -#: order/forms.py:74 order/templates/order/sales_order_base.html:58 +#: order/forms.py:71 order/templates/order/sales_order_base.html:61 msgid "Ship order" msgstr "" -#: order/forms.py:89 -msgid "Set all received parts listed above to this location (if left blank, use \"Destination\" column value in above table)" -msgstr "" - -#: order/forms.py:116 +#: order/forms.py:97 msgid "Enter stock item serial numbers" msgstr "" -#: order/forms.py:122 +#: order/forms.py:103 msgid "Enter quantity of stock items" msgstr "" @@ -3064,11 +3100,11 @@ msgstr "" msgid "Order notes" msgstr "" -#: order/models.py:247 order/models.py:540 +#: order/models.py:247 order/models.py:548 msgid "Order reference" msgstr "" -#: order/models.py:252 order/models.py:555 +#: order/models.py:252 order/models.py:563 msgid "Purchase order status" msgstr "" @@ -3077,7 +3113,7 @@ msgid "Company from which the items are being ordered" msgstr "" #: order/models.py:264 order/templates/order/order_base.html:98 -#: templates/js/translated/order.js:337 +#: templates/js/translated/order.js:668 msgid "Supplier Reference" msgstr "" @@ -3109,190 +3145,190 @@ msgstr "" msgid "Date order was completed" msgstr "" -#: order/models.py:313 stock/models.py:351 stock/models.py:1072 -msgid "Quantity must be greater than zero" -msgstr "" - #: order/models.py:318 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:421 -msgid "Lines can only be received against an order marked as 'Placed'" -msgstr "" - -#: order/models.py:425 +#: order/models.py:428 msgid "Quantity must be an integer" msgstr "" -#: order/models.py:427 +#: order/models.py:432 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:551 +#: order/models.py:559 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:557 +#: order/models.py:565 msgid "Customer Reference " msgstr "" -#: order/models.py:557 +#: order/models.py:565 msgid "Customer order reference code" msgstr "" -#: order/models.py:562 +#: order/models.py:570 msgid "Target date for order completion. Order will be overdue after this date." msgstr "" -#: order/models.py:565 templates/js/translated/order.js:733 +#: order/models.py:573 templates/js/translated/order.js:1079 msgid "Shipment Date" msgstr "" -#: order/models.py:572 +#: order/models.py:580 msgid "shipped by" msgstr "" -#: order/models.py:616 +#: order/models.py:624 msgid "SalesOrder cannot be shipped as it is not currently pending" msgstr "" -#: order/models.py:713 +#: order/models.py:721 msgid "Item quantity" msgstr "" -#: order/models.py:719 +#: order/models.py:727 msgid "Line item reference" msgstr "" -#: order/models.py:721 +#: order/models.py:729 msgid "Line item notes" msgstr "" -#: order/models.py:751 order/models.py:835 templates/js/translated/order.js:785 +#: order/models.py:759 order/models.py:847 +#: templates/js/translated/order.js:1131 msgid "Order" msgstr "" -#: order/models.py:752 order/templates/order/order_base.html:9 +#: order/models.py:760 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:24 #: report/templates/report/inventree_po_report.html:77 #: stock/templates/stock/item_base.html:338 -#: templates/js/translated/order.js:306 templates/js/translated/stock.js:991 -#: templates/js/translated/stock.js:1589 +#: templates/js/translated/order.js:637 templates/js/translated/stock.js:970 +#: templates/js/translated/stock.js:1568 msgid "Purchase Order" msgstr "" -#: order/models.py:773 +#: order/models.py:781 msgid "Supplier part" msgstr "" -#: order/models.py:780 order/templates/order/order_base.html:131 -#: order/templates/order/receive_parts.html:22 -#: order/templates/order/sales_order_base.html:133 -#: templates/js/translated/order.js:573 +#: order/models.py:788 order/templates/order/order_base.html:131 +#: order/templates/order/sales_order_base.html:138 +#: templates/js/translated/order.js:428 templates/js/translated/order.js:919 msgid "Received" msgstr "" -#: order/models.py:781 +#: order/models.py:789 msgid "Number of items received" msgstr "" -#: order/models.py:788 part/templates/part/prices.html:176 stock/models.py:588 -#: stock/serializers.py:147 stock/templates/stock/item_base.html:345 -#: templates/js/translated/stock.js:1045 +#: order/models.py:796 part/templates/part/prices.html:176 stock/models.py:588 +#: stock/serializers.py:150 stock/templates/stock/item_base.html:345 +#: templates/js/translated/stock.js:1024 msgid "Purchase Price" msgstr "" -#: order/models.py:789 +#: order/models.py:797 msgid "Unit purchase price" msgstr "" -#: order/models.py:797 +#: order/models.py:805 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:843 part/templates/part/part_pricing.html:112 +#: order/models.py:857 part/templates/part/part_pricing.html:112 #: part/templates/part/prices.html:116 part/templates/part/prices.html:284 msgid "Sale Price" msgstr "" -#: order/models.py:844 +#: order/models.py:858 msgid "Unit sale price" msgstr "" -#: order/models.py:923 order/models.py:925 +#: order/models.py:937 order/models.py:939 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:929 +#: order/models.py:943 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:931 +#: order/models.py:945 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:934 +#: order/models.py:948 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:944 +#: order/models.py:952 +msgid "StockItem is over-allocated" +msgstr "" + +#: order/models.py:958 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:949 +#: order/models.py:966 msgid "Line" msgstr "" -#: order/models.py:960 +#: order/models.py:978 msgid "Item" msgstr "" -#: order/models.py:961 +#: order/models.py:979 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:964 +#: order/models.py:982 msgid "Enter stock allocation quantity" msgstr "" -#: order/serializers.py:166 +#: order/serializers.py:167 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:201 +#: order/serializers.py:202 msgid "Line Item" msgstr "" -#: order/serializers.py:207 +#: order/serializers.py:208 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:217 order/serializers.py:276 +#: order/serializers.py:218 order/serializers.py:285 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:234 +#: order/serializers.py:242 msgid "Barcode Hash" msgstr "" -#: order/serializers.py:235 +#: order/serializers.py:243 msgid "Unique identifier field" msgstr "" -#: order/serializers.py:250 +#: order/serializers.py:259 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:289 +#: order/serializers.py:297 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:299 +#: order/serializers.py:314 +msgid "Destination location must be specified" +msgstr "" + +#: order/serializers.py:325 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:514 +#: order/serializers.py:569 msgid "Sale price currency" msgstr "" @@ -3307,31 +3343,32 @@ msgstr "" msgid "Print" msgstr "" -#: order/templates/order/order_base.html:43 -#: order/templates/order/sales_order_base.html:54 +#: order/templates/order/order_base.html:42 +#: order/templates/order/sales_order_base.html:53 +msgid "Export order to file" +msgstr "" + +#: order/templates/order/order_base.html:46 +#: order/templates/order/sales_order_base.html:57 msgid "Edit order information" msgstr "" -#: order/templates/order/order_base.html:51 +#: order/templates/order/order_base.html:54 msgid "Receive items" msgstr "" -#: order/templates/order/order_base.html:64 -msgid "Export order to file" -msgstr "" - #: order/templates/order/order_base.html:72 #: order/templates/order/po_navbar.html:12 msgid "Purchase Order Details" msgstr "" #: order/templates/order/order_base.html:77 -#: order/templates/order/sales_order_base.html:79 +#: order/templates/order/sales_order_base.html:84 msgid "Order Reference" msgstr "" #: order/templates/order/order_base.html:82 -#: order/templates/order/sales_order_base.html:84 +#: order/templates/order/sales_order_base.html:89 msgid "Order Status" msgstr "" @@ -3344,16 +3381,6 @@ msgstr "" msgid "Edit Purchase Order" msgstr "" -#: order/templates/order/order_base.html:196 -#: stock/templates/stock/location.html:250 templates/js/translated/order.js:437 -msgid "New Location" -msgstr "" - -#: order/templates/order/order_base.html:197 -#: stock/templates/stock/location.html:42 templates/js/translated/order.js:438 -msgid "Create new stock location" -msgstr "" - #: order/templates/order/order_cancel.html:8 msgid "Cancelling this order means that the order and line items will no longer be editable." msgstr "" @@ -3426,6 +3453,7 @@ msgstr "" #: part/templates/part/import_wizard/ajax_match_references.html:42 #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 +#: templates/js/translated/build.js:869 templates/js/translated/order.js:376 msgid "Remove row" msgstr "" @@ -3502,7 +3530,7 @@ msgid "Select existing purchase orders, or create new orders." msgstr "" #: order/templates/order/order_wizard/select_pos.html:31 -#: templates/js/translated/order.js:363 templates/js/translated/order.js:738 +#: templates/js/translated/order.js:694 templates/js/translated/order.js:1084 msgid "Items" msgstr "" @@ -3522,7 +3550,7 @@ msgstr "" #: order/templates/order/po_attachments.html:12 #: order/templates/order/po_navbar.html:32 -#: order/templates/order/purchase_order_detail.html:47 +#: order/templates/order/purchase_order_detail.html:56 msgid "Purchase Order Attachments" msgstr "" @@ -3532,7 +3560,7 @@ msgstr "" #: order/templates/order/po_navbar.html:29 #: order/templates/order/po_received_items.html:12 -#: order/templates/order/purchase_order_detail.html:38 +#: order/templates/order/purchase_order_detail.html:47 msgid "Received Items" msgstr "" @@ -3540,14 +3568,22 @@ msgstr "" msgid "Purchase Order Items" msgstr "" -#: order/templates/order/purchase_order_detail.html:23 -#: order/templates/order/purchase_order_detail.html:203 +#: order/templates/order/purchase_order_detail.html:24 +#: order/templates/order/purchase_order_detail.html:212 #: order/templates/order/sales_order_detail.html:23 #: order/templates/order/sales_order_detail.html:177 msgid "Add Line Item" msgstr "" -#: order/templates/order/purchase_order_detail.html:58 +#: order/templates/order/purchase_order_detail.html:30 +msgid "Receive selected items" +msgstr "" + +#: order/templates/order/purchase_order_detail.html:31 +msgid "Receive Items" +msgstr "" + +#: order/templates/order/purchase_order_detail.html:67 #: order/templates/order/sales_order_detail.html:54 msgid "Order Notes" msgstr "" @@ -3557,67 +3593,24 @@ msgstr "" msgid "Print Order Reports" msgstr "" -#: order/templates/order/receive_parts.html:8 -#, python-format -msgid "Receive outstanding parts for %(order)s - %(desc)s" -msgstr "" - -#: order/templates/order/receive_parts.html:14 part/api.py:54 -#: part/models.py:298 part/templates/part/cat_link.html:7 -#: part/templates/part/category.html:108 part/templates/part/category.html:122 -#: part/templates/part/category_navbar.html:21 -#: part/templates/part/category_navbar.html:24 -#: templates/InvenTree/index.html:102 templates/InvenTree/search.html:114 -#: templates/InvenTree/settings/navbar.html:83 -#: templates/InvenTree/settings/navbar.html:85 -#: templates/js/translated/part.js:1154 templates/navbar.html:29 -#: templates/stats.html:80 templates/stats.html:89 users/models.py:41 -msgid "Parts" -msgstr "" - -#: order/templates/order/receive_parts.html:15 -msgid "Fill out number of parts received, the status and destination" -msgstr "" - -#: order/templates/order/receive_parts.html:20 -msgid "Order Code" -msgstr "" - -#: order/templates/order/receive_parts.html:21 -#: part/templates/part/part_base.html:167 templates/js/translated/part.js:949 -msgid "On Order" -msgstr "" - -#: order/templates/order/receive_parts.html:23 -msgid "Receive" -msgstr "" - -#: order/templates/order/receive_parts.html:37 -msgid "Error: Referenced part has been removed" -msgstr "" - -#: order/templates/order/receive_parts.html:68 -msgid "Remove line" -msgstr "" - #: order/templates/order/sales_order_base.html:16 msgid "This Sales Order has not been fully allocated" msgstr "" -#: order/templates/order/sales_order_base.html:66 +#: order/templates/order/sales_order_base.html:70 msgid "Packing List" msgstr "" -#: order/templates/order/sales_order_base.html:74 +#: order/templates/order/sales_order_base.html:79 msgid "Sales Order Details" msgstr "" -#: order/templates/order/sales_order_base.html:100 -#: templates/js/translated/order.js:705 +#: order/templates/order/sales_order_base.html:105 +#: templates/js/translated/order.js:1051 msgid "Customer Reference" msgstr "" -#: order/templates/order/sales_order_base.html:178 +#: order/templates/order/sales_order_base.html:183 msgid "Edit Sales Order" msgstr "" @@ -3636,105 +3629,6 @@ msgstr "" msgid "Sales Order Items" msgstr "" -#: order/templates/order/sales_order_detail.html:226 -#: templates/js/translated/bom.js:394 templates/js/translated/build.js:782 -#: templates/js/translated/build.js:1219 -msgid "Actions" -msgstr "" - -#: order/templates/order/sales_order_detail.html:233 -#: templates/js/translated/build.js:668 templates/js/translated/build.js:1030 -msgid "Edit stock allocation" -msgstr "" - -#: order/templates/order/sales_order_detail.html:234 -#: templates/js/translated/build.js:670 templates/js/translated/build.js:1031 -msgid "Delete stock allocation" -msgstr "" - -#: order/templates/order/sales_order_detail.html:307 -msgid "No matching line items" -msgstr "" - -#: order/templates/order/sales_order_detail.html:337 -msgid "ID" -msgstr "" - -#: order/templates/order/sales_order_detail.html:354 -#: templates/js/translated/order.js:481 -msgid "Total" -msgstr "" - -#: order/templates/order/sales_order_detail.html:377 -#: templates/js/translated/order.js:534 templates/js/translated/part.js:1296 -#: templates/js/translated/part.js:1507 -msgid "Unit Price" -msgstr "" - -#: order/templates/order/sales_order_detail.html:384 -#: templates/js/translated/order.js:543 -msgid "Total price" -msgstr "" - -#: order/templates/order/sales_order_detail.html:405 -#: templates/js/translated/build.js:733 templates/js/translated/build.js:1026 -msgid "Allocated" -msgstr "" - -#: order/templates/order/sales_order_detail.html:407 -msgid "Fulfilled" -msgstr "" - -#: order/templates/order/sales_order_detail.html:444 -msgid "PO" -msgstr "" - -#: order/templates/order/sales_order_detail.html:474 -msgid "Allocate serial numbers" -msgstr "" - -#: order/templates/order/sales_order_detail.html:477 -#: templates/js/translated/build.js:796 -msgid "Allocate stock" -msgstr "" - -#: order/templates/order/sales_order_detail.html:480 -msgid "Purchase stock" -msgstr "" - -#: order/templates/order/sales_order_detail.html:484 -#: templates/js/translated/build.js:789 templates/js/translated/build.js:1227 -msgid "Build stock" -msgstr "" - -#: order/templates/order/sales_order_detail.html:487 -#: order/templates/order/sales_order_detail.html:606 -msgid "Calculate price" -msgstr "" - -#: order/templates/order/sales_order_detail.html:490 -#: templates/js/translated/order.js:616 -msgid "Edit line item" -msgstr "" - -#: order/templates/order/sales_order_detail.html:491 -msgid "Delete line item " -msgstr "" - -#: order/templates/order/sales_order_detail.html:519 -#: templates/js/translated/order.js:403 -msgid "Edit Line Item" -msgstr "" - -#: order/templates/order/sales_order_detail.html:529 -#: templates/js/translated/order.js:415 -msgid "Delete Line Item" -msgstr "" - -#: order/templates/order/sales_order_detail.html:612 -msgid "Update Unit Price" -msgstr "" - #: order/templates/order/sales_order_ship.html:10 msgid "This order has not been fully allocated. If the order is marked as shipped, it can no longer be adjusted." msgstr "" @@ -3759,10 +3653,6 @@ msgstr "" msgid "Allocate stock items by serial number" msgstr "" -#: order/templates/order/so_allocation_delete.html:7 -msgid "This action will unallocate the following stock from the Sales Order" -msgstr "" - #: order/templates/order/so_navbar.html:12 msgid "Sales Order Line Items" msgstr "" @@ -3775,149 +3665,129 @@ msgstr "" msgid "Sales Order Attachments" msgstr "" -#: order/views.py:104 +#: order/views.py:103 msgid "Cancel Order" msgstr "" -#: order/views.py:113 order/views.py:139 +#: order/views.py:112 order/views.py:138 msgid "Confirm order cancellation" msgstr "" -#: order/views.py:116 order/views.py:142 +#: order/views.py:115 order/views.py:141 msgid "Order cannot be cancelled" msgstr "" -#: order/views.py:130 +#: order/views.py:129 msgid "Cancel sales order" msgstr "" -#: order/views.py:156 +#: order/views.py:155 msgid "Issue Order" msgstr "" -#: order/views.py:165 +#: order/views.py:164 msgid "Confirm order placement" msgstr "" -#: order/views.py:175 +#: order/views.py:174 msgid "Purchase order issued" msgstr "" -#: order/views.py:186 +#: order/views.py:185 msgid "Complete Order" msgstr "" -#: order/views.py:202 +#: order/views.py:201 msgid "Confirm order completion" msgstr "" -#: order/views.py:213 +#: order/views.py:212 msgid "Purchase order completed" msgstr "" -#: order/views.py:223 +#: order/views.py:222 msgid "Ship Order" msgstr "" -#: order/views.py:239 +#: order/views.py:238 msgid "Confirm order shipment" msgstr "" -#: order/views.py:245 +#: order/views.py:244 msgid "Could not ship order" msgstr "" -#: order/views.py:292 +#: order/views.py:291 msgid "Match Supplier Parts" msgstr "" -#: order/views.py:480 -msgid "Receive Parts" -msgstr "" - -#: order/views.py:552 -msgid "Items received" -msgstr "" - -#: order/views.py:620 -msgid "Error converting quantity to number" -msgstr "" - -#: order/views.py:626 -msgid "Receive quantity less than zero" -msgstr "" - -#: order/views.py:632 -msgid "No lines specified" -msgstr "" - -#: order/views.py:705 +#: order/views.py:535 msgid "Update prices" msgstr "" -#: order/views.py:963 +#: order/views.py:793 #, python-brace-format msgid "Ordered {n} parts" msgstr "" -#: order/views.py:1016 +#: order/views.py:846 msgid "Allocate Serial Numbers" msgstr "" -#: order/views.py:1061 +#: order/views.py:891 #, python-brace-format msgid "Allocated {n} items" msgstr "" -#: order/views.py:1077 +#: order/views.py:907 msgid "Select line item" msgstr "" -#: order/views.py:1108 +#: order/views.py:938 #, python-brace-format msgid "No matching item for serial {serial}" msgstr "" -#: order/views.py:1118 +#: order/views.py:948 #, python-brace-format msgid "{serial} is not in stock" msgstr "" -#: order/views.py:1126 +#: order/views.py:956 #, python-brace-format msgid "{serial} already allocated to an order" msgstr "" -#: order/views.py:1180 -msgid "Allocate Stock to Order" -msgstr "" - -#: order/views.py:1254 -msgid "Edit Allocation Quantity" -msgstr "" - -#: order/views.py:1269 -msgid "Remove allocation" -msgstr "" - -#: order/views.py:1341 +#: order/views.py:1072 msgid "Sales order not found" msgstr "" -#: order/views.py:1347 +#: order/views.py:1078 msgid "Price not found" msgstr "" -#: order/views.py:1350 +#: order/views.py:1081 #, python-brace-format msgid "Updated {part} unit-price to {price}" msgstr "" -#: order/views.py:1355 +#: order/views.py:1086 #, python-brace-format msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" +#: part/api.py:54 part/models.py:299 part/templates/part/cat_link.html:7 +#: part/templates/part/category.html:108 part/templates/part/category.html:122 +#: part/templates/part/category_navbar.html:21 +#: part/templates/part/category_navbar.html:24 +#: templates/InvenTree/index.html:102 templates/InvenTree/search.html:114 +#: templates/InvenTree/settings/navbar.html:95 +#: templates/InvenTree/settings/navbar.html:97 +#: templates/js/translated/part.js:1165 templates/navbar.html:29 +#: templates/stats.html:80 templates/stats.html:89 users/models.py:41 +msgid "Parts" +msgstr "" + #: part/api.py:700 msgid "Must be greater than zero" msgstr "" @@ -3934,7 +3804,7 @@ msgstr "" msgid "This field is required" msgstr "" -#: part/bom.py:133 part/models.py:75 part/models.py:733 +#: part/bom.py:133 part/models.py:76 part/models.py:734 #: part/templates/part/category.html:75 part/templates/part/part_base.html:290 msgid "Default Location" msgstr "" @@ -3999,7 +3869,7 @@ msgstr "" msgid "Include part supplier data in exported BOM" msgstr "" -#: part/forms.py:96 part/models.py:2250 +#: part/forms.py:96 part/models.py:2254 msgid "Parent Part" msgstr "" @@ -4043,391 +3913,387 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:76 +#: part/models.py:77 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:79 +#: part/models.py:80 msgid "Default keywords" msgstr "" -#: part/models.py:79 +#: part/models.py:80 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:89 part/models.py:2296 +#: part/models.py:90 part/models.py:2300 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:90 part/templates/part/category.html:32 +#: part/models.py:91 part/templates/part/category.html:32 #: part/templates/part/category.html:103 templates/InvenTree/search.html:127 #: templates/stats.html:84 users/models.py:40 msgid "Part Categories" msgstr "" -#: part/models.py:383 +#: part/models.py:384 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:435 part/models.py:447 +#: part/models.py:436 part/models.py:448 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:544 +#: part/models.py:545 msgid "Next available serial numbers are" msgstr "" -#: part/models.py:548 +#: part/models.py:549 msgid "Next available serial number is" msgstr "" -#: part/models.py:553 +#: part/models.py:554 msgid "Most recent serial number is" msgstr "" -#: part/models.py:632 +#: part/models.py:633 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:657 +#: part/models.py:658 msgid "Part name" msgstr "" -#: part/models.py:664 +#: part/models.py:665 msgid "Is Template" msgstr "" -#: part/models.py:665 +#: part/models.py:666 msgid "Is this part a template part?" msgstr "" -#: part/models.py:675 +#: part/models.py:676 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:676 +#: part/models.py:677 msgid "Variant Of" msgstr "" -#: part/models.py:682 +#: part/models.py:683 msgid "Part description" msgstr "" -#: part/models.py:687 part/templates/part/category.html:82 +#: part/models.py:688 part/templates/part/category.html:82 #: part/templates/part/part_base.html:259 msgid "Keywords" msgstr "" -#: part/models.py:688 +#: part/models.py:689 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:695 part/models.py:2295 +#: part/models.py:696 part/models.py:2299 #: part/templates/part/set_category.html:15 -#: templates/InvenTree/settings/settings.html:167 -#: templates/js/translated/part.js:916 +#: templates/InvenTree/settings/settings.html:169 +#: templates/js/translated/part.js:927 msgid "Category" msgstr "" -#: part/models.py:696 +#: part/models.py:697 msgid "Part category" msgstr "" -#: part/models.py:701 part/templates/part/part_base.html:235 -#: templates/js/translated/part.js:517 templates/js/translated/part.js:749 +#: part/models.py:702 part/templates/part/part_base.html:235 +#: templates/js/translated/part.js:528 templates/js/translated/part.js:760 msgid "IPN" msgstr "" -#: part/models.py:702 +#: part/models.py:703 msgid "Internal Part Number" msgstr "" -#: part/models.py:708 +#: part/models.py:709 msgid "Part revision or version number" msgstr "" -#: part/models.py:709 part/templates/part/part_base.html:252 -#: report/models.py:200 templates/js/translated/part.js:521 +#: part/models.py:710 part/templates/part/part_base.html:252 +#: report/models.py:200 templates/js/translated/part.js:532 msgid "Revision" msgstr "" -#: part/models.py:731 +#: part/models.py:732 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:778 part/templates/part/part_base.html:297 +#: part/models.py:779 part/templates/part/part_base.html:297 msgid "Default Supplier" msgstr "" -#: part/models.py:779 +#: part/models.py:780 msgid "Default supplier part" msgstr "" -#: part/models.py:786 +#: part/models.py:787 msgid "Default Expiry" msgstr "" -#: part/models.py:787 +#: part/models.py:788 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:792 +#: part/models.py:793 msgid "Minimum Stock" msgstr "" -#: part/models.py:793 +#: part/models.py:794 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:800 +#: part/models.py:801 msgid "Stock keeping units for this part" msgstr "" -#: part/models.py:806 +#: part/models.py:807 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:812 +#: part/models.py:813 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:818 +#: part/models.py:819 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:823 +#: part/models.py:824 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:828 +#: part/models.py:829 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:832 templates/js/translated/table_filters.js:34 +#: part/models.py:833 templates/js/translated/table_filters.js:34 #: templates/js/translated/table_filters.js:82 #: templates/js/translated/table_filters.js:268 -#: templates/js/translated/table_filters.js:337 +#: templates/js/translated/table_filters.js:346 msgid "Active" msgstr "" -#: part/models.py:833 +#: part/models.py:834 msgid "Is this part active?" msgstr "" -#: part/models.py:838 +#: part/models.py:839 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:843 +#: part/models.py:844 msgid "Part notes - supports Markdown formatting" msgstr "" -#: part/models.py:846 +#: part/models.py:847 msgid "BOM checksum" msgstr "" -#: part/models.py:846 +#: part/models.py:847 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:849 +#: part/models.py:850 msgid "BOM checked by" msgstr "" -#: part/models.py:851 +#: part/models.py:852 msgid "BOM checked date" msgstr "" -#: part/models.py:855 +#: part/models.py:856 msgid "Creation User" msgstr "" -#: part/models.py:1601 +#: part/models.py:1605 msgid "Sell multiple" msgstr "" -#: part/models.py:2096 +#: part/models.py:2100 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:2113 +#: part/models.py:2117 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:2133 templates/js/translated/part.js:1205 -#: templates/js/translated/stock.js:556 +#: part/models.py:2137 templates/js/translated/part.js:1216 +#: templates/js/translated/stock.js:535 msgid "Test Name" msgstr "" -#: part/models.py:2134 +#: part/models.py:2138 msgid "Enter a name for the test" msgstr "" -#: part/models.py:2139 +#: part/models.py:2143 msgid "Test Description" msgstr "" -#: part/models.py:2140 +#: part/models.py:2144 msgid "Enter description for this test" msgstr "" -#: part/models.py:2145 templates/js/translated/part.js:1214 +#: part/models.py:2149 templates/js/translated/part.js:1225 #: templates/js/translated/table_filters.js:254 msgid "Required" msgstr "" -#: part/models.py:2146 +#: part/models.py:2150 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:2151 templates/js/translated/part.js:1222 +#: part/models.py:2155 templates/js/translated/part.js:1233 msgid "Requires Value" msgstr "" -#: part/models.py:2152 +#: part/models.py:2156 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:2157 templates/js/translated/part.js:1229 +#: part/models.py:2161 templates/js/translated/part.js:1240 msgid "Requires Attachment" msgstr "" -#: part/models.py:2158 +#: part/models.py:2162 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:2169 +#: part/models.py:2173 #, python-brace-format msgid "Illegal character in template name ({c})" msgstr "" -#: part/models.py:2205 +#: part/models.py:2209 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:2213 +#: part/models.py:2217 msgid "Parameter Name" msgstr "" -#: part/models.py:2220 +#: part/models.py:2224 msgid "Parameter Units" msgstr "" -#: part/models.py:2252 part/models.py:2301 part/models.py:2302 -#: templates/InvenTree/settings/settings.html:162 +#: part/models.py:2256 part/models.py:2305 part/models.py:2306 +#: templates/InvenTree/settings/settings.html:164 msgid "Parameter Template" msgstr "" -#: part/models.py:2254 +#: part/models.py:2258 msgid "Data" msgstr "" -#: part/models.py:2254 +#: part/models.py:2258 msgid "Parameter Value" msgstr "" -#: part/models.py:2306 templates/InvenTree/settings/settings.html:171 +#: part/models.py:2310 templates/InvenTree/settings/settings.html:173 msgid "Default Value" msgstr "" -#: part/models.py:2307 +#: part/models.py:2311 msgid "Default Parameter Value" msgstr "" -#: part/models.py:2341 +#: part/models.py:2362 msgid "Select parent part" msgstr "" -#: part/models.py:2349 +#: part/models.py:2370 msgid "Sub part" msgstr "" -#: part/models.py:2350 +#: part/models.py:2371 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:2356 +#: part/models.py:2377 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:2358 templates/js/translated/bom.js:256 -#: templates/js/translated/bom.js:314 +#: part/models.py:2379 templates/js/translated/bom.js:275 +#: templates/js/translated/bom.js:335 msgid "Optional" msgstr "" -#: part/models.py:2358 +#: part/models.py:2379 msgid "This BOM item is optional" msgstr "" -#: part/models.py:2361 +#: part/models.py:2382 msgid "Overage" msgstr "" -#: part/models.py:2362 +#: part/models.py:2383 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:2365 +#: part/models.py:2386 msgid "BOM item reference" msgstr "" -#: part/models.py:2368 +#: part/models.py:2389 msgid "BOM item notes" msgstr "" -#: part/models.py:2370 +#: part/models.py:2391 msgid "Checksum" msgstr "" -#: part/models.py:2370 +#: part/models.py:2391 msgid "BOM line checksum" msgstr "" -#: part/models.py:2374 templates/js/translated/bom.js:331 -#: templates/js/translated/bom.js:338 +#: part/models.py:2395 templates/js/translated/bom.js:352 +#: templates/js/translated/bom.js:359 #: templates/js/translated/table_filters.js:68 msgid "Inherited" msgstr "" -#: part/models.py:2375 +#: part/models.py:2396 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:2380 templates/js/translated/bom.js:323 +#: part/models.py:2401 templates/js/translated/bom.js:344 msgid "Allow Variants" msgstr "" -#: part/models.py:2381 +#: part/models.py:2402 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:2466 stock/models.py:341 +#: part/models.py:2487 stock/models.py:341 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:2475 part/models.py:2477 +#: part/models.py:2496 part/models.py:2498 msgid "Sub part must be specified" msgstr "" -#: part/models.py:2480 -msgid "BOM Item" -msgstr "" - -#: part/models.py:2599 +#: part/models.py:2620 msgid "Part 1" msgstr "" -#: part/models.py:2603 +#: part/models.py:2624 msgid "Part 2" msgstr "" -#: part/models.py:2603 +#: part/models.py:2624 msgid "Select Related Part" msgstr "" -#: part/models.py:2635 +#: part/models.py:2656 msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique" msgstr "" @@ -4578,7 +4444,7 @@ msgstr "" msgid "Create new part" msgstr "" -#: part/templates/part/category.html:131 +#: part/templates/part/category.html:131 templates/js/translated/bom.js:39 msgid "New Part" msgstr "" @@ -4658,7 +4524,7 @@ msgstr "" msgid "Import Parts" msgstr "" -#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:352 +#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:363 msgid "Duplicate Part" msgstr "" @@ -4785,34 +4651,26 @@ msgstr "" msgid "Add Test Result Template" msgstr "" -#: part/templates/part/detail.html:716 -msgid "Edit Test Result Template" -msgstr "" - -#: part/templates/part/detail.html:728 -msgid "Delete Test Result Template" -msgstr "" - -#: part/templates/part/detail.html:784 +#: part/templates/part/detail.html:755 msgid "Edit Part Notes" msgstr "" -#: part/templates/part/detail.html:936 +#: part/templates/part/detail.html:907 #, python-format msgid "Purchase Unit Price - %(currency)s" msgstr "" -#: part/templates/part/detail.html:948 +#: part/templates/part/detail.html:919 #, python-format msgid "Unit Price-Cost Difference - %(currency)s" msgstr "" -#: part/templates/part/detail.html:960 +#: part/templates/part/detail.html:931 #, python-format msgid "Supplier Unit Cost - %(currency)s" msgstr "" -#: part/templates/part/detail.html:1049 +#: part/templates/part/detail.html:1020 #, python-format msgid "Unit Price - %(currency)s" msgstr "" @@ -4874,9 +4732,9 @@ msgstr "" msgid "Part is virtual (not a physical part)" msgstr "" -#: part/templates/part/part_base.html:58 templates/js/translated/company.js:503 -#: templates/js/translated/company.js:759 templates/js/translated/part.js:432 -#: templates/js/translated/part.js:509 +#: part/templates/part/part_base.html:58 templates/js/translated/company.js:504 +#: templates/js/translated/company.js:761 templates/js/translated/part.js:443 +#: templates/js/translated/part.js:520 msgid "Inactive" msgstr "" @@ -4942,10 +4800,16 @@ msgid "This part is a variant of %(link)s" msgstr "" #: part/templates/part/part_base.html:161 +#: templates/js/translated/model_renderers.js:169 +#: templates/js/translated/order.js:1503 #: templates/js/translated/table_filters.js:166 msgid "In Stock" msgstr "" +#: part/templates/part/part_base.html:167 templates/js/translated/part.js:960 +msgid "On Order" +msgstr "" + #: part/templates/part/part_base.html:174 templates/InvenTree/index.html:186 msgid "Required for Build Orders" msgstr "" @@ -4958,18 +4822,18 @@ msgstr "" msgid "Allocated to Orders" msgstr "" -#: part/templates/part/part_base.html:203 templates/js/translated/bom.js:352 +#: part/templates/part/part_base.html:203 templates/js/translated/bom.js:373 msgid "Can Build" msgstr "" -#: part/templates/part/part_base.html:209 templates/js/translated/part.js:765 -#: templates/js/translated/part.js:953 +#: part/templates/part/part_base.html:209 templates/js/translated/part.js:776 +#: templates/js/translated/part.js:964 msgid "Building" msgstr "" #: part/templates/part/part_base.html:223 -#: part/templates/part/part_base.html:524 -#: part/templates/part/part_base.html:550 +#: part/templates/part/part_base.html:531 +#: part/templates/part/part_base.html:557 msgid "Show Part Details" msgstr "" @@ -4977,16 +4841,16 @@ msgstr "" msgid "Latest Serial Number" msgstr "" -#: part/templates/part/part_base.html:396 part/templates/part/prices.html:144 +#: part/templates/part/part_base.html:402 part/templates/part/prices.html:144 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:439 +#: part/templates/part/part_base.html:445 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:519 -#: part/templates/part/part_base.html:544 +#: part/templates/part/part_base.html:526 +#: part/templates/part/part_base.html:551 msgid "Hide Part Details" msgstr "" @@ -5013,7 +4877,7 @@ msgid "Total Cost" msgstr "" #: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:40 -#: templates/js/translated/bom.js:307 +#: templates/js/translated/bom.js:327 msgid "No supplier pricing available" msgstr "" @@ -5051,32 +4915,39 @@ msgstr "" msgid "Select from existing images" msgstr "" -#: part/templates/part/partial_delete.html:7 +#: part/templates/part/partial_delete.html:9 +#, python-format +msgid "Part '%(full_name)s' cannot be deleted as it is still marked as active.\n" +"
Disable the \"Active\" part attribute and re-try.\n" +" " +msgstr "" + +#: part/templates/part/partial_delete.html:17 #, python-format msgid "Are you sure you want to delete part '%(full_name)s'?" msgstr "" -#: part/templates/part/partial_delete.html:12 +#: part/templates/part/partial_delete.html:22 #, python-format msgid "This part is used in BOMs for %(count)s other parts. If you delete this part, the BOMs for the following parts will be updated" msgstr "" -#: part/templates/part/partial_delete.html:22 +#: part/templates/part/partial_delete.html:32 #, python-format msgid "There are %(count)s stock entries defined for this part. If you delete this part, the following stock entries will also be deleted:" msgstr "" -#: part/templates/part/partial_delete.html:33 +#: part/templates/part/partial_delete.html:43 #, python-format msgid "There are %(count)s manufacturers defined for this part. If you delete this part, the following manufacturer parts will also be deleted:" msgstr "" -#: part/templates/part/partial_delete.html:44 +#: part/templates/part/partial_delete.html:54 #, python-format msgid "There are %(count)s suppliers defined for this part. If you delete this part, the following supplier parts will also be deleted:" msgstr "" -#: part/templates/part/partial_delete.html:55 +#: part/templates/part/partial_delete.html:65 #, python-format msgid "There are %(count)s unique parts tracked for '%(full_name)s'. Deleting this part will permanently remove this tracking information." msgstr "" @@ -5109,7 +4980,7 @@ msgstr "" msgid "Calculation parameters" msgstr "" -#: part/templates/part/prices.html:155 templates/js/translated/bom.js:301 +#: part/templates/part/prices.html:155 templates/js/translated/bom.js:321 msgid "Supplier Cost" msgstr "" @@ -5151,8 +5022,9 @@ msgstr "" msgid "Set category for the following parts" msgstr "" -#: part/templates/part/stock_count.html:7 templates/js/translated/bom.js:278 -#: templates/js/translated/part.js:755 templates/js/translated/part.js:957 +#: part/templates/part/stock_count.html:7 templates/js/translated/bom.js:297 +#: templates/js/translated/model_renderers.js:167 +#: templates/js/translated/part.js:766 templates/js/translated/part.js:968 msgid "No Stock" msgstr "" @@ -5262,7 +5134,7 @@ msgstr "" msgid "Delete Part Parameter Template" msgstr "" -#: part/views.py:1502 templates/js/translated/part.js:303 +#: part/views.py:1502 templates/js/translated/part.js:308 msgid "Edit Part Category" msgstr "" @@ -5400,17 +5272,17 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:88 -#: stock/models.py:1807 +#: stock/models.py:1804 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:89 -#: stock/models.py:1813 +#: stock/models.py:1810 msgid "Result" msgstr "" #: report/templates/report/inventree_test_report_base.html:92 -#: templates/js/translated/order.js:353 templates/js/translated/stock.js:1523 +#: templates/js/translated/order.js:684 templates/js/translated/stock.js:1502 msgid "Date" msgstr "" @@ -5422,51 +5294,9 @@ msgstr "" msgid "Fail" msgstr "" -#: stock/api.py:146 -msgid "Request must contain list of stock items" -msgstr "" - -#: stock/api.py:154 -msgid "Improperly formatted data" -msgstr "" - -#: stock/api.py:162 -msgid "Each entry must contain a valid integer primary-key" -msgstr "" - -#: stock/api.py:168 -msgid "Primary key does not match valid stock item" -msgstr "" - -#: stock/api.py:178 -msgid "Invalid quantity value" -msgstr "" - -#: stock/api.py:183 -msgid "Quantity must not be less than zero" -msgstr "" - -#: stock/api.py:211 -#, python-brace-format -msgid "Updated stock for {n} items" -msgstr "" - -#: stock/api.py:247 stock/api.py:280 -msgid "Specified quantity exceeds stock quantity" -msgstr "" - -#: stock/api.py:270 -msgid "Valid location must be specified" -msgstr "" - -#: stock/api.py:290 -#, python-brace-format -msgid "Moved {n} parts to {loc}" -msgstr "" - #: stock/forms.py:79 stock/forms.py:307 stock/models.py:556 #: stock/templates/stock/item_base.html:395 -#: templates/js/translated/stock.js:967 +#: templates/js/translated/stock.js:946 msgid "Expiry Date" msgstr "" @@ -5678,38 +5508,54 @@ msgstr "" msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:1727 +#: stock/models.py:1724 msgid "Entry notes" msgstr "" -#: stock/models.py:1784 +#: stock/models.py:1781 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:1790 +#: stock/models.py:1787 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:1808 +#: stock/models.py:1805 msgid "Test name" msgstr "" -#: stock/models.py:1814 templates/js/translated/table_filters.js:244 +#: stock/models.py:1811 templates/js/translated/table_filters.js:244 msgid "Test result" msgstr "" -#: stock/models.py:1820 +#: stock/models.py:1817 msgid "Test output value" msgstr "" -#: stock/models.py:1827 +#: stock/models.py:1824 msgid "Test result attachment" msgstr "" -#: stock/models.py:1833 +#: stock/models.py:1830 msgid "Test notes" msgstr "" +#: stock/serializers.py:424 +msgid "StockItem primary key value" +msgstr "" + +#: stock/serializers.py:452 +msgid "Stock transaction notes" +msgstr "" + +#: stock/serializers.py:462 +msgid "A list of stock items must be provided" +msgstr "" + +#: stock/serializers.py:554 +msgid "Destination stock location" +msgstr "" + #: stock/templates/stock/item.html:17 msgid "Stock Tracking Information" msgstr "" @@ -5747,7 +5593,7 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:125 stock/views.py:534 +#: stock/templates/stock/item.html:125 stock/views.py:511 msgid "Install Stock Item" msgstr "" @@ -5910,7 +5756,7 @@ msgid "next page" msgstr "" #: stock/templates/stock/item_base.html:303 -#: templates/js/translated/build.js:651 +#: templates/js/translated/build.js:658 msgid "No location set" msgstr "" @@ -5937,7 +5783,7 @@ msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:408 -#: templates/js/translated/stock.js:980 +#: templates/js/translated/stock.js:959 msgid "Last Updated" msgstr "" @@ -6019,6 +5865,10 @@ msgstr "" msgid "All stock items" msgstr "" +#: stock/templates/stock/location.html:42 +msgid "Create new stock location" +msgstr "" + #: stock/templates/stock/location.html:55 msgid "Check-in Items" msgstr "" @@ -6058,7 +5908,7 @@ msgstr "" msgid "Stock Details" msgstr "" -#: stock/templates/stock/location.html:129 templates/InvenTree/search.html:279 +#: stock/templates/stock/location.html:129 templates/InvenTree/search.html:196 #: templates/stats.html:97 users/models.py:42 msgid "Stock Locations" msgstr "" @@ -6071,6 +5921,10 @@ msgstr "" msgid "Print labels" msgstr "" +#: stock/templates/stock/location.html:250 +msgid "New Location" +msgstr "" + #: stock/templates/stock/location.html:251 msgid "Create new location" msgstr "" @@ -6111,7 +5965,7 @@ msgstr "" msgid "The following stock items will be uninstalled" msgstr "" -#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:932 +#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:909 msgid "Convert Stock Item" msgstr "" @@ -6132,104 +5986,104 @@ msgstr "" msgid "Are you sure you want to delete this stock tracking entry?" msgstr "" -#: stock/views.py:181 +#: stock/views.py:158 msgid "Edit Stock Location" msgstr "" -#: stock/views.py:288 stock/views.py:911 stock/views.py:1033 -#: stock/views.py:1398 +#: stock/views.py:265 stock/views.py:888 stock/views.py:1010 +#: stock/views.py:1375 msgid "Owner is required (ownership control is enabled)" msgstr "" -#: stock/views.py:303 +#: stock/views.py:280 msgid "Stock Location QR code" msgstr "" -#: stock/views.py:322 +#: stock/views.py:299 msgid "Assign to Customer" msgstr "" -#: stock/views.py:331 +#: stock/views.py:308 msgid "Customer must be specified" msgstr "" -#: stock/views.py:355 +#: stock/views.py:332 msgid "Return to Stock" msgstr "" -#: stock/views.py:364 +#: stock/views.py:341 msgid "Specify a valid location" msgstr "" -#: stock/views.py:375 +#: stock/views.py:352 msgid "Stock item returned from customer" msgstr "" -#: stock/views.py:386 +#: stock/views.py:363 msgid "Delete All Test Data" msgstr "" -#: stock/views.py:403 +#: stock/views.py:380 msgid "Confirm test data deletion" msgstr "" -#: stock/views.py:508 +#: stock/views.py:485 msgid "Stock Item QR Code" msgstr "" -#: stock/views.py:683 +#: stock/views.py:660 msgid "Uninstall Stock Items" msgstr "" -#: stock/views.py:780 templates/js/translated/stock.js:353 +#: stock/views.py:757 templates/js/translated/stock.js:321 msgid "Confirm stock adjustment" msgstr "" -#: stock/views.py:791 +#: stock/views.py:768 msgid "Uninstalled stock items" msgstr "" -#: stock/views.py:813 +#: stock/views.py:790 msgid "Edit Stock Item" msgstr "" -#: stock/views.py:959 +#: stock/views.py:936 msgid "Create new Stock Location" msgstr "" -#: stock/views.py:1050 +#: stock/views.py:1027 msgid "Serialize Stock" msgstr "" -#: stock/views.py:1143 templates/js/translated/build.js:392 +#: stock/views.py:1120 msgid "Create new Stock Item" msgstr "" -#: stock/views.py:1285 +#: stock/views.py:1262 msgid "Duplicate Stock Item" msgstr "" -#: stock/views.py:1367 +#: stock/views.py:1344 msgid "Quantity cannot be negative" msgstr "" -#: stock/views.py:1467 +#: stock/views.py:1444 msgid "Delete Stock Location" msgstr "" -#: stock/views.py:1480 +#: stock/views.py:1457 msgid "Delete Stock Item" msgstr "" -#: stock/views.py:1491 +#: stock/views.py:1468 msgid "Delete Stock Tracking Entry" msgstr "" -#: stock/views.py:1498 +#: stock/views.py:1475 msgid "Edit Stock Tracking Entry" msgstr "" -#: stock/views.py:1507 +#: stock/views.py:1484 msgid "Add Stock Tracking Entry" msgstr "" @@ -6313,14 +6167,6 @@ msgstr "" msgid "Enter a search query" msgstr "" -#: templates/InvenTree/search.html:268 templates/js/translated/stock.js:699 -msgid "Shipped to customer" -msgstr "" - -#: templates/InvenTree/search.html:271 templates/js/translated/stock.js:709 -msgid "No stock location set" -msgstr "" - #: templates/InvenTree/settings/barcode.html:8 msgid "Barcode Settings" msgstr "" @@ -6365,6 +6211,14 @@ msgstr "" msgid "Setting" msgstr "" +#: templates/InvenTree/settings/login.html:9 +msgid "Login Settings" +msgstr "" + +#: templates/InvenTree/settings/login.html:22 templates/account/signup.html:5 +msgid "Signup" +msgstr "" + #: templates/InvenTree/settings/navbar.html:12 #: templates/InvenTree/settings/user_settings.html:9 msgid "User Settings" @@ -6382,7 +6236,7 @@ msgstr "" #: templates/InvenTree/settings/navbar.html:27 #: templates/InvenTree/settings/navbar.html:29 -#: templates/js/translated/tables.js:366 templates/search_form.html:6 +#: templates/js/translated/tables.js:375 templates/search_form.html:6 #: templates/search_form.html:8 msgid "Search" msgstr "" @@ -6397,38 +6251,48 @@ msgstr "" msgid "Reports" msgstr "" -#: templates/InvenTree/settings/navbar.html:46 -#: templates/InvenTree/settings/navbar.html:48 -#: templates/InvenTree/settings/settings.html:8 templates/navbar.html:94 +#: templates/InvenTree/settings/navbar.html:45 +#: templates/InvenTree/settings/navbar.html:47 +msgid "Forms" +msgstr "" + +#: templates/InvenTree/settings/navbar.html:52 +#: templates/InvenTree/settings/navbar.html:54 +#: templates/InvenTree/settings/settings.html:8 templates/navbar.html:90 msgid "Settings" msgstr "" -#: templates/InvenTree/settings/navbar.html:56 +#: templates/InvenTree/settings/navbar.html:62 msgid "InvenTree Settings" msgstr "" -#: templates/InvenTree/settings/navbar.html:59 -#: templates/InvenTree/settings/navbar.html:61 templates/stats.html:9 +#: templates/InvenTree/settings/navbar.html:65 +#: templates/InvenTree/settings/navbar.html:67 templates/stats.html:9 msgid "Server" msgstr "" -#: templates/InvenTree/settings/navbar.html:65 -#: templates/InvenTree/settings/navbar.html:67 -msgid "Barcodes" -msgstr "" - #: templates/InvenTree/settings/navbar.html:71 -#: templates/InvenTree/settings/navbar.html:73 -msgid "Currencies" +#: templates/InvenTree/settings/navbar.html:73 templates/navbar.html:87 +msgid "Login" msgstr "" #: templates/InvenTree/settings/navbar.html:77 #: templates/InvenTree/settings/navbar.html:79 -msgid "Reporting" +msgid "Barcodes" +msgstr "" + +#: templates/InvenTree/settings/navbar.html:83 +#: templates/InvenTree/settings/navbar.html:85 +msgid "Currencies" msgstr "" #: templates/InvenTree/settings/navbar.html:89 #: templates/InvenTree/settings/navbar.html:91 +msgid "Reporting" +msgstr "" + +#: templates/InvenTree/settings/navbar.html:101 +#: templates/InvenTree/settings/navbar.html:103 msgid "Categories" msgstr "" @@ -6469,21 +6333,21 @@ msgstr "" msgid "Edit setting" msgstr "" -#: templates/InvenTree/settings/settings.html:152 +#: templates/InvenTree/settings/settings.html:154 msgid "No category parameter templates found" msgstr "" -#: templates/InvenTree/settings/settings.html:174 -#: templates/InvenTree/settings/settings.html:273 +#: templates/InvenTree/settings/settings.html:176 +#: templates/InvenTree/settings/settings.html:275 msgid "Edit Template" msgstr "" -#: templates/InvenTree/settings/settings.html:175 -#: templates/InvenTree/settings/settings.html:274 +#: templates/InvenTree/settings/settings.html:177 +#: templates/InvenTree/settings/settings.html:276 msgid "Delete Template" msgstr "" -#: templates/InvenTree/settings/settings.html:253 +#: templates/InvenTree/settings/settings.html:255 msgid "No part parameter templates found" msgstr "" @@ -6495,70 +6359,140 @@ msgstr "" msgid "Stock Settings" msgstr "" -#: templates/InvenTree/settings/user.html:9 +#: templates/InvenTree/settings/user.html:11 msgid "Account Settings" msgstr "" -#: templates/InvenTree/settings/user.html:15 +#: templates/InvenTree/settings/user.html:19 #: templates/js/translated/helpers.js:26 msgid "Edit" msgstr "" -#: templates/InvenTree/settings/user.html:17 +#: templates/InvenTree/settings/user.html:21 +#: templates/account/password_reset_from_key.html:4 +#: templates/account/password_reset_from_key.html:7 msgid "Change Password" msgstr "" -#: templates/InvenTree/settings/user.html:24 -#: templates/registration/login.html:58 +#: templates/InvenTree/settings/user.html:28 msgid "Username" msgstr "" -#: templates/InvenTree/settings/user.html:28 +#: templates/InvenTree/settings/user.html:32 msgid "First Name" msgstr "" -#: templates/InvenTree/settings/user.html:32 +#: templates/InvenTree/settings/user.html:36 msgid "Last Name" msgstr "" -#: templates/InvenTree/settings/user.html:36 -msgid "Email Address" +#: templates/InvenTree/settings/user.html:42 +msgid "E-Mail" msgstr "" -#: templates/InvenTree/settings/user.html:42 -msgid "Theme Settings" +#: templates/InvenTree/settings/user.html:47 +msgid "The following e-mail addresses are associated with your account:" +msgstr "" + +#: templates/InvenTree/settings/user.html:61 +msgid "Verified" msgstr "" #: templates/InvenTree/settings/user.html:63 +msgid "Unverified" +msgstr "" + +#: templates/InvenTree/settings/user.html:65 +msgid "Primary" +msgstr "" + +#: templates/InvenTree/settings/user.html:71 +msgid "Make Primary" +msgstr "" + +#: templates/InvenTree/settings/user.html:72 +msgid "Re-send Verification" +msgstr "" + +#: templates/InvenTree/settings/user.html:73 +#: templates/InvenTree/settings/user.html:130 +msgid "Remove" +msgstr "" + +#: templates/InvenTree/settings/user.html:80 +msgid "Warning:" +msgstr "" + +#: templates/InvenTree/settings/user.html:81 +msgid "You currently do not have any e-mail address set up. You should really add an e-mail address so you can receive notifications, reset your password, etc." +msgstr "" + +#: templates/InvenTree/settings/user.html:88 +msgid "Add E-mail Address" +msgstr "" + +#: templates/InvenTree/settings/user.html:93 +msgid "Add E-mail" +msgstr "" + +#: templates/InvenTree/settings/user.html:100 +msgid "Social Accounts" +msgstr "" + +#: templates/InvenTree/settings/user.html:105 +msgid "You can sign in to your account using any of the following third party accounts:" +msgstr "" + +#: templates/InvenTree/settings/user.html:138 +msgid "You currently have no social network accounts connected to this account." +msgstr "" + +#: templates/InvenTree/settings/user.html:142 +msgid "Add a 3rd Party Account" +msgstr "" + +#: templates/InvenTree/settings/user.html:153 +msgid "Theme Settings" +msgstr "" + +#: templates/InvenTree/settings/user.html:174 msgid "Set Theme" msgstr "" -#: templates/InvenTree/settings/user.html:70 +#: templates/InvenTree/settings/user.html:181 msgid "Language Settings" msgstr "" -#: templates/InvenTree/settings/user.html:89 +#: templates/InvenTree/settings/user.html:200 #, python-format msgid "%(lang_translated)s%% translated" msgstr "" -#: templates/InvenTree/settings/user.html:91 +#: templates/InvenTree/settings/user.html:202 msgid "No translations available" msgstr "" -#: templates/InvenTree/settings/user.html:98 +#: templates/InvenTree/settings/user.html:209 msgid "Set Language" msgstr "" -#: templates/InvenTree/settings/user.html:103 +#: templates/InvenTree/settings/user.html:214 msgid "Help the translation efforts!" msgstr "" -#: templates/InvenTree/settings/user.html:104 +#: templates/InvenTree/settings/user.html:215 #, python-format msgid "Native language translation of the InvenTree web application is community contributed via crowdin. Contributions are welcomed and encouraged." msgstr "" +#: templates/InvenTree/settings/user.html:223 +msgid "Do you really want to remove the selected e-mail address?" +msgstr "" + +#: templates/InvenTree/settings/user_forms.html:9 +msgid "Form Settings" +msgstr "" + #: templates/InvenTree/settings/user_homepage.html:9 msgid "Home Page Settings" msgstr "" @@ -6641,11 +6575,108 @@ msgstr "" #: templates/about.html:107 templates/js/translated/modals.js:50 #: templates/js/translated/modals.js:584 templates/js/translated/modals.js:678 -#: templates/js/translated/modals.js:971 templates/modals.html:29 +#: templates/js/translated/modals.js:982 templates/modals.html:29 #: templates/modals.html:54 msgid "Close" msgstr "" +#: templates/account/email_confirm.html:6 +#: templates/account/email_confirm.html:10 +msgid "Confirm E-mail Address" +msgstr "" + +#: templates/account/email_confirm.html:16 +#, python-format +msgid "Please confirm that %(email)s is an e-mail address for user %(user_display)s." +msgstr "" + +#: templates/account/email_confirm.html:27 +#, python-format +msgid "This e-mail confirmation link expired or is invalid. Please issue a new e-mail confirmation request." +msgstr "" + +#: templates/account/login.html:5 templates/account/login.html:14 +#: templates/account/login.html:36 +msgid "Sign In" +msgstr "" + +#: templates/account/login.html:19 +#, python-format +msgid "Please sign in with one\n" +"of your existing third party accounts or sign up\n" +"for a account and sign in below:" +msgstr "" + +#: templates/account/login.html:23 +#, python-format +msgid "If you have not created an account yet, then please\n" +"sign up first." +msgstr "" + +#: templates/account/login.html:38 +msgid "Forgot Password?" +msgstr "" + +#: templates/account/login.html:45 +msgid "or use SSO" +msgstr "" + +#: templates/account/logout.html:5 templates/account/logout.html:8 +#: templates/account/logout.html:17 +msgid "Sign Out" +msgstr "" + +#: templates/account/logout.html:10 +msgid "Are you sure you want to sign out?" +msgstr "" + +#: templates/account/password_reset.html:5 +#: templates/account/password_reset.html:12 +msgid "Password Reset" +msgstr "" + +#: templates/account/password_reset.html:18 +msgid "Forgotten your password? Enter your e-mail address below, and we'll send you an e-mail allowing you to reset it." +msgstr "" + +#: templates/account/password_reset.html:23 +msgid "Reset My Password" +msgstr "" + +#: templates/account/password_reset.html:27 templates/account/signup.html:36 +msgid "This function is currently disabled. Please contact an administrator." +msgstr "" + +#: templates/account/password_reset_from_key.html:7 +msgid "Bad Token" +msgstr "" + +#: templates/account/password_reset_from_key.html:11 +#, python-format +msgid "The password reset link was invalid, possibly because it has already been used. Please request a new password reset." +msgstr "" + +#: templates/account/password_reset_from_key.html:17 +msgid "change password" +msgstr "" + +#: templates/account/password_reset_from_key.html:20 +msgid "Your password is now changed." +msgstr "" + +#: templates/account/signup.html:11 templates/account/signup.html:22 +msgid "Sign Up" +msgstr "" + +#: templates/account/signup.html:13 +#, python-format +msgid "Already have an account? Then please sign in." +msgstr "" + +#: templates/account/signup.html:27 +msgid "Or use a SSO-provider for signup" +msgstr "" + #: templates/image_download.html:8 msgid "Specify URL for downloading image" msgstr "" @@ -6675,7 +6706,7 @@ msgid "Select Test Report Template" msgstr "" #: templates/js/report.js:98 templates/js/translated/label.js:29 -#: templates/js/translated/report.js:118 templates/js/translated/stock.js:313 +#: templates/js/translated/report.js:118 templates/js/translated/stock.js:297 msgid "Select Stock Items" msgstr "" @@ -6707,8 +6738,8 @@ msgstr "" msgid "No report templates found which match selected build(s)" msgstr "" -#: templates/js/report.js:205 templates/js/translated/label.js:134 -#: templates/js/translated/report.js:225 +#: templates/js/report.js:205 templates/js/translated/build.js:948 +#: templates/js/translated/label.js:134 templates/js/translated/report.js:225 msgid "Select Parts" msgstr "" @@ -6741,11 +6772,11 @@ msgstr "" msgid "Sales Order(s) must be selected before printing report" msgstr "" -#: templates/js/translated/api.js:174 templates/js/translated/modals.js:1041 +#: templates/js/translated/api.js:174 templates/js/translated/modals.js:1052 msgid "No Response" msgstr "" -#: templates/js/translated/api.js:175 templates/js/translated/modals.js:1042 +#: templates/js/translated/api.js:175 templates/js/translated/modals.js:1053 msgid "No response from the InvenTree server" msgstr "" @@ -6757,35 +6788,35 @@ msgstr "" msgid "API request returned error code 400" msgstr "" -#: templates/js/translated/api.js:186 templates/js/translated/modals.js:1051 +#: templates/js/translated/api.js:186 templates/js/translated/modals.js:1062 msgid "Error 401: Not Authenticated" msgstr "" -#: templates/js/translated/api.js:187 templates/js/translated/modals.js:1052 +#: templates/js/translated/api.js:187 templates/js/translated/modals.js:1063 msgid "Authentication credentials not supplied" msgstr "" -#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1056 +#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1067 msgid "Error 403: Permission Denied" msgstr "" -#: templates/js/translated/api.js:192 templates/js/translated/modals.js:1057 +#: templates/js/translated/api.js:192 templates/js/translated/modals.js:1068 msgid "You do not have the required permissions to access this function" msgstr "" -#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1061 +#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1072 msgid "Error 404: Resource Not Found" msgstr "" -#: templates/js/translated/api.js:197 templates/js/translated/modals.js:1062 +#: templates/js/translated/api.js:197 templates/js/translated/modals.js:1073 msgid "The requested resource could not be located on the server" msgstr "" -#: templates/js/translated/api.js:201 templates/js/translated/modals.js:1066 +#: templates/js/translated/api.js:201 templates/js/translated/modals.js:1077 msgid "Error 408: Timeout" msgstr "" -#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1067 +#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1078 msgid "Connection timeout while requesting data from server" msgstr "" @@ -6842,7 +6873,7 @@ msgid "Unknown response from server" msgstr "" #: templates/js/translated/barcode.js:141 -#: templates/js/translated/modals.js:1031 +#: templates/js/translated/modals.js:1042 msgid "Invalid server response" msgstr "" @@ -6870,7 +6901,7 @@ msgstr "" msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:398 templates/js/translated/stock.js:289 +#: templates/js/translated/barcode.js:398 templates/js/translated/stock.js:273 msgid "Remove stock item" msgstr "" @@ -6912,115 +6943,181 @@ msgstr "" msgid "Barcode does not match a valid location" msgstr "" -#: templates/js/translated/bom.js:215 templates/js/translated/build.js:1169 +#: templates/js/translated/bom.js:234 templates/js/translated/build.js:1495 msgid "Open subassembly" msgstr "" -#: templates/js/translated/bom.js:287 +#: templates/js/translated/bom.js:288 templates/js/translated/build.js:744 +#: templates/js/translated/build.js:1345 templates/js/translated/build.js:1522 +msgid "Available" +msgstr "" + +#: templates/js/translated/bom.js:307 msgid "Purchase Price Range" msgstr "" -#: templates/js/translated/bom.js:294 +#: templates/js/translated/bom.js:314 msgid "Purchase Price Average" msgstr "" -#: templates/js/translated/bom.js:342 templates/js/translated/bom.js:428 +#: templates/js/translated/bom.js:363 templates/js/translated/bom.js:449 msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:402 +#: templates/js/translated/bom.js:415 templates/js/translated/build.js:798 +#: templates/js/translated/build.js:1545 templates/js/translated/order.js:1285 +msgid "Actions" +msgstr "" + +#: templates/js/translated/bom.js:423 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:404 +#: templates/js/translated/bom.js:425 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:406 templates/js/translated/bom.js:569 +#: templates/js/translated/bom.js:427 templates/js/translated/bom.js:590 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:408 templates/js/translated/bom.js:554 +#: templates/js/translated/bom.js:429 templates/js/translated/bom.js:575 msgid "Delete BOM Item" msgstr "" -#: templates/js/translated/bom.js:499 templates/js/translated/build.js:483 -#: templates/js/translated/build.js:1267 +#: templates/js/translated/bom.js:520 templates/js/translated/build.js:485 +#: templates/js/translated/build.js:1593 msgid "No BOM items found" msgstr "" -#: templates/js/translated/build.js:69 +#: templates/js/translated/build.js:71 msgid "Edit Build Order" msgstr "" -#: templates/js/translated/build.js:95 +#: templates/js/translated/build.js:105 msgid "Create Build Order" msgstr "" -#: templates/js/translated/build.js:127 -msgid "Auto-allocate stock items to this output" +#: templates/js/translated/build.js:138 +msgid "Allocate stock items to this build output" msgstr "" -#: templates/js/translated/build.js:135 +#: templates/js/translated/build.js:146 msgid "Unallocate stock from build output" msgstr "" -#: templates/js/translated/build.js:145 +#: templates/js/translated/build.js:155 msgid "Complete build output" msgstr "" -#: templates/js/translated/build.js:154 +#: templates/js/translated/build.js:164 msgid "Delete build output" msgstr "" -#: templates/js/translated/build.js:249 +#: templates/js/translated/build.js:265 msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:287 templates/js/translated/order.js:813 +#: templates/js/translated/build.js:303 templates/js/translated/order.js:1159 msgid "Location not specified" msgstr "" -#: templates/js/translated/build.js:391 templates/stock_table.html:20 -msgid "New Stock Item" +#: templates/js/translated/build.js:675 templates/js/translated/build.js:1356 +#: templates/js/translated/order.js:1292 +msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/build.js:702 +#: templates/js/translated/build.js:677 templates/js/translated/build.js:1357 +#: templates/js/translated/order.js:1293 +msgid "Delete stock allocation" +msgstr "" + +#: templates/js/translated/build.js:695 +msgid "Edit Allocation" +msgstr "" + +#: templates/js/translated/build.js:705 +msgid "Remove Allocation" +msgstr "" + +#: templates/js/translated/build.js:718 msgid "Required Part" msgstr "" -#: templates/js/translated/build.js:723 +#: templates/js/translated/build.js:739 msgid "Quantity Per" msgstr "" -#: templates/js/translated/build.js:793 templates/js/translated/build.js:1231 +#: templates/js/translated/build.js:749 templates/js/translated/build.js:975 +#: templates/js/translated/build.js:1352 templates/js/translated/order.js:1514 +msgid "Allocated" +msgstr "" + +#: templates/js/translated/build.js:805 templates/js/translated/build.js:1553 +#: templates/js/translated/order.js:1567 +msgid "Build stock" +msgstr "" + +#: templates/js/translated/build.js:809 templates/js/translated/build.js:1557 #: templates/stock_table.html:59 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:846 +#: templates/js/translated/build.js:812 templates/js/translated/order.js:1560 +msgid "Allocate stock" +msgstr "" + +#: templates/js/translated/build.js:880 +msgid "Specify stock allocation quantity" +msgstr "" + +#: templates/js/translated/build.js:949 +msgid "You must select at least one part to allocate" +msgstr "" + +#: templates/js/translated/build.js:963 +msgid "Select source location (leave blank to take from all locations)" +msgstr "" + +#: templates/js/translated/build.js:992 +msgid "Confirm stock allocation" +msgstr "" + +#: templates/js/translated/build.js:993 +msgid "Allocate Stock Items to Build Order" +msgstr "" + +#: templates/js/translated/build.js:1004 +msgid "No matching stock locations" +msgstr "" + +#: templates/js/translated/build.js:1048 +msgid "No matching stock items" +msgstr "" + +#: templates/js/translated/build.js:1172 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:863 templates/js/translated/part.js:845 -#: templates/js/translated/part.js:1123 templates/js/translated/stock.js:783 -#: templates/js/translated/stock.js:1477 +#: templates/js/translated/build.js:1189 templates/js/translated/part.js:856 +#: templates/js/translated/part.js:1134 templates/js/translated/stock.js:762 +#: templates/js/translated/stock.js:1456 msgid "Select" msgstr "" -#: templates/js/translated/build.js:883 +#: templates/js/translated/build.js:1209 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:944 templates/js/translated/stock.js:1696 +#: templates/js/translated/build.js:1270 templates/js/translated/stock.js:1675 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:956 +#: templates/js/translated/build.js:1282 msgid "No information" msgstr "" -#: templates/js/translated/build.js:1007 +#: templates/js/translated/build.js:1333 msgid "No parts allocated for" msgstr "" @@ -7040,7 +7137,7 @@ msgstr "" msgid "Delete Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:164 templates/js/translated/order.js:86 +#: templates/js/translated/company.js:164 templates/js/translated/order.js:89 msgid "Add Supplier" msgstr "" @@ -7084,53 +7181,53 @@ msgstr "" msgid "Delete Manufacturer Parts" msgstr "" -#: templates/js/translated/company.js:475 +#: templates/js/translated/company.js:476 msgid "No manufacturer parts found" msgstr "" -#: templates/js/translated/company.js:495 -#: templates/js/translated/company.js:751 templates/js/translated/part.js:416 -#: templates/js/translated/part.js:501 +#: templates/js/translated/company.js:496 +#: templates/js/translated/company.js:753 templates/js/translated/part.js:427 +#: templates/js/translated/part.js:512 msgid "Template part" msgstr "" -#: templates/js/translated/company.js:499 -#: templates/js/translated/company.js:755 templates/js/translated/part.js:420 -#: templates/js/translated/part.js:505 +#: templates/js/translated/company.js:500 +#: templates/js/translated/company.js:757 templates/js/translated/part.js:431 +#: templates/js/translated/part.js:516 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:626 templates/js/translated/part.js:593 +#: templates/js/translated/company.js:627 templates/js/translated/part.js:604 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:663 templates/js/translated/part.js:635 +#: templates/js/translated/company.js:664 templates/js/translated/part.js:646 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:664 templates/js/translated/part.js:636 +#: templates/js/translated/company.js:665 templates/js/translated/part.js:647 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:683 templates/js/translated/part.js:653 +#: templates/js/translated/company.js:684 templates/js/translated/part.js:664 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:694 templates/js/translated/part.js:665 +#: templates/js/translated/company.js:695 templates/js/translated/part.js:676 msgid "Delete Parameter" msgstr "" -#: templates/js/translated/company.js:731 +#: templates/js/translated/company.js:733 msgid "No supplier parts found" msgstr "" #: templates/js/translated/filters.js:178 -#: templates/js/translated/filters.js:402 +#: templates/js/translated/filters.js:407 msgid "true" msgstr "" #: templates/js/translated/filters.js:182 -#: templates/js/translated/filters.js:403 +#: templates/js/translated/filters.js:408 msgid "false" msgstr "" @@ -7138,19 +7235,19 @@ msgstr "" msgid "Select filter" msgstr "" -#: templates/js/translated/filters.js:279 +#: templates/js/translated/filters.js:284 msgid "Reload data" msgstr "" -#: templates/js/translated/filters.js:281 +#: templates/js/translated/filters.js:286 msgid "Add new filter" msgstr "" -#: templates/js/translated/filters.js:284 +#: templates/js/translated/filters.js:289 msgid "Clear all filters" msgstr "" -#: templates/js/translated/filters.js:312 +#: templates/js/translated/filters.js:317 msgid "Create filter" msgstr "" @@ -7175,16 +7272,20 @@ msgstr "" msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:889 templates/modals.html:21 +#: templates/js/translated/forms.js:968 templates/modals.html:21 #: templates/modals.html:47 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1379 +#: templates/js/translated/forms.js:1323 +msgid "No results found" +msgstr "" + +#: templates/js/translated/forms.js:1525 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:1593 +#: templates/js/translated/forms.js:1742 msgid "Clear input" msgstr "" @@ -7247,7 +7348,7 @@ msgid "Cancel" msgstr "" #: templates/js/translated/modals.js:77 templates/js/translated/modals.js:119 -#: templates/js/translated/modals.js:677 templates/js/translated/modals.js:970 +#: templates/js/translated/modals.js:677 templates/js/translated/modals.js:981 #: templates/modals.html:30 templates/modals.html:55 msgid "Submit" msgstr "" @@ -7272,31 +7373,31 @@ msgstr "" msgid "Loading Data" msgstr "" -#: templates/js/translated/modals.js:922 +#: templates/js/translated/modals.js:933 msgid "Invalid response from server" msgstr "" -#: templates/js/translated/modals.js:922 +#: templates/js/translated/modals.js:933 msgid "Form data missing from server response" msgstr "" -#: templates/js/translated/modals.js:934 +#: templates/js/translated/modals.js:945 msgid "Error posting form data" msgstr "" -#: templates/js/translated/modals.js:1031 +#: templates/js/translated/modals.js:1042 msgid "JSON response missing form data" msgstr "" -#: templates/js/translated/modals.js:1046 +#: templates/js/translated/modals.js:1057 msgid "Error 400: Bad Request" msgstr "" -#: templates/js/translated/modals.js:1047 +#: templates/js/translated/modals.js:1058 msgid "Server returned error code 400" msgstr "" -#: templates/js/translated/modals.js:1070 +#: templates/js/translated/modals.js:1081 msgid "Error requesting form data" msgstr "" @@ -7304,70 +7405,195 @@ msgstr "" msgid "Company ID" msgstr "" -#: templates/js/translated/model_renderers.js:82 +#: templates/js/translated/model_renderers.js:90 +msgid "Stock ID" +msgstr "" + +#: templates/js/translated/model_renderers.js:125 msgid "Location ID" msgstr "" -#: templates/js/translated/model_renderers.js:99 +#: templates/js/translated/model_renderers.js:142 msgid "Build ID" msgstr "" -#: templates/js/translated/model_renderers.js:119 +#: templates/js/translated/model_renderers.js:177 msgid "Part ID" msgstr "" -#: templates/js/translated/model_renderers.js:171 +#: templates/js/translated/model_renderers.js:231 +msgid "Order ID" +msgstr "" + +#: templates/js/translated/model_renderers.js:251 msgid "Category ID" msgstr "" -#: templates/js/translated/model_renderers.js:208 +#: templates/js/translated/model_renderers.js:288 msgid "Manufacturer Part ID" msgstr "" -#: templates/js/translated/model_renderers.js:237 +#: templates/js/translated/model_renderers.js:317 msgid "Supplier Part ID" msgstr "" -#: templates/js/translated/order.js:45 +#: templates/js/translated/order.js:48 msgid "Add Customer" msgstr "" -#: templates/js/translated/order.js:70 +#: templates/js/translated/order.js:73 msgid "Create Sales Order" msgstr "" -#: templates/js/translated/order.js:295 +#: templates/js/translated/order.js:207 +msgid "Export Order" +msgstr "" + +#: templates/js/translated/order.js:210 templates/js/translated/stock.js:96 +msgid "Format" +msgstr "" + +#: templates/js/translated/order.js:211 templates/js/translated/stock.js:97 +msgid "Select file format" +msgstr "" + +#: templates/js/translated/order.js:299 +msgid "Select Line Items" +msgstr "" + +#: templates/js/translated/order.js:300 +msgid "At least one line item must be selected" +msgstr "" + +#: templates/js/translated/order.js:325 +msgid "Quantity to receive" +msgstr "" + +#: templates/js/translated/order.js:359 templates/js/translated/stock.js:1343 +msgid "Stock Status" +msgstr "" + +#: templates/js/translated/order.js:426 +msgid "Order Code" +msgstr "" + +#: templates/js/translated/order.js:427 +msgid "Ordered" +msgstr "" + +#: templates/js/translated/order.js:429 +msgid "Receive" +msgstr "" + +#: templates/js/translated/order.js:448 +msgid "Confirm receipt of items" +msgstr "" + +#: templates/js/translated/order.js:449 +msgid "Receive Purchase Order Items" +msgstr "" + +#: templates/js/translated/order.js:626 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/order.js:320 templates/js/translated/order.js:682 +#: templates/js/translated/order.js:651 templates/js/translated/order.js:1028 msgid "Order is overdue" msgstr "" -#: templates/js/translated/order.js:452 +#: templates/js/translated/order.js:749 templates/js/translated/order.js:1602 +msgid "Edit Line Item" +msgstr "" + +#: templates/js/translated/order.js:761 templates/js/translated/order.js:1613 +msgid "Delete Line Item" +msgstr "" + +#: templates/js/translated/order.js:800 msgid "No line items found" msgstr "" -#: templates/js/translated/order.js:617 +#: templates/js/translated/order.js:827 templates/js/translated/order.js:1432 +msgid "Total" +msgstr "" + +#: templates/js/translated/order.js:880 templates/js/translated/order.js:1457 +#: templates/js/translated/part.js:1343 templates/js/translated/part.js:1554 +msgid "Unit Price" +msgstr "" + +#: templates/js/translated/order.js:889 templates/js/translated/order.js:1464 +msgid "Total price" +msgstr "" + +#: templates/js/translated/order.js:962 templates/js/translated/order.js:1573 +msgid "Edit line item" +msgstr "" + +#: templates/js/translated/order.js:963 msgid "Delete line item" msgstr "" -#: templates/js/translated/order.js:621 +#: templates/js/translated/order.js:967 msgid "Receive line item" msgstr "" -#: templates/js/translated/order.js:658 +#: templates/js/translated/order.js:1004 msgid "No sales orders found" msgstr "" -#: templates/js/translated/order.js:696 +#: templates/js/translated/order.js:1042 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/order.js:774 +#: templates/js/translated/order.js:1120 msgid "No sales order allocations found" msgstr "" +#: templates/js/translated/order.js:1213 +msgid "Edit Stock Allocation" +msgstr "" + +#: templates/js/translated/order.js:1231 +msgid "Delete Stock Allocation" +msgstr "" + +#: templates/js/translated/order.js:1273 +msgid "Stock location not specified" +msgstr "" + +#: templates/js/translated/order.js:1514 +msgid "Fulfilled" +msgstr "" + +#: templates/js/translated/order.js:1557 +msgid "Allocate serial numbers" +msgstr "" + +#: templates/js/translated/order.js:1563 +msgid "Purchase stock" +msgstr "" + +#: templates/js/translated/order.js:1570 templates/js/translated/order.js:1725 +msgid "Calculate price" +msgstr "" + +#: templates/js/translated/order.js:1574 +msgid "Delete line item " +msgstr "" + +#: templates/js/translated/order.js:1673 +msgid "Allocate Stock Item" +msgstr "" + +#: templates/js/translated/order.js:1733 +msgid "Update Unit Price" +msgstr "" + +#: templates/js/translated/order.js:1747 +msgid "No matching line items" +msgstr "" + #: templates/js/translated/part.js:49 msgid "Part Attributes" msgstr "" @@ -7388,396 +7614,396 @@ msgstr "" msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:159 +#: templates/js/translated/part.js:164 msgid "Create Initial Stock" msgstr "" -#: templates/js/translated/part.js:160 +#: templates/js/translated/part.js:165 msgid "Create an initial stock item for this part" msgstr "" -#: templates/js/translated/part.js:167 +#: templates/js/translated/part.js:172 msgid "Initial Stock Quantity" msgstr "" -#: templates/js/translated/part.js:168 +#: templates/js/translated/part.js:173 msgid "Specify initial stock quantity for this part" msgstr "" -#: templates/js/translated/part.js:175 templates/js/translated/stock.js:330 +#: templates/js/translated/part.js:180 msgid "Select destination stock location" msgstr "" -#: templates/js/translated/part.js:186 +#: templates/js/translated/part.js:191 msgid "Copy Category Parameters" msgstr "" -#: templates/js/translated/part.js:187 +#: templates/js/translated/part.js:192 msgid "Copy parameter templates from selected part category" msgstr "" -#: templates/js/translated/part.js:195 +#: templates/js/translated/part.js:200 msgid "Add Supplier Data" msgstr "" -#: templates/js/translated/part.js:196 +#: templates/js/translated/part.js:201 msgid "Create initial supplier data for this part" msgstr "" -#: templates/js/translated/part.js:252 +#: templates/js/translated/part.js:257 msgid "Copy Image" msgstr "" -#: templates/js/translated/part.js:253 +#: templates/js/translated/part.js:258 msgid "Copy image from original part" msgstr "" -#: templates/js/translated/part.js:260 +#: templates/js/translated/part.js:265 msgid "Copy BOM" msgstr "" -#: templates/js/translated/part.js:261 +#: templates/js/translated/part.js:266 msgid "Copy bill of materials from original part" msgstr "" -#: templates/js/translated/part.js:268 +#: templates/js/translated/part.js:273 msgid "Copy Parameters" msgstr "" -#: templates/js/translated/part.js:269 +#: templates/js/translated/part.js:274 msgid "Copy parameter data from original part" msgstr "" -#: templates/js/translated/part.js:282 +#: templates/js/translated/part.js:287 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:323 +#: templates/js/translated/part.js:331 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:408 templates/js/translated/part.js:493 +#: templates/js/translated/part.js:419 templates/js/translated/part.js:504 msgid "Trackable part" msgstr "" -#: templates/js/translated/part.js:412 templates/js/translated/part.js:497 +#: templates/js/translated/part.js:423 templates/js/translated/part.js:508 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:424 +#: templates/js/translated/part.js:435 msgid "Starred part" msgstr "" -#: templates/js/translated/part.js:428 +#: templates/js/translated/part.js:439 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:543 +#: templates/js/translated/part.js:554 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:732 templates/js/translated/part.js:994 +#: templates/js/translated/part.js:743 templates/js/translated/part.js:1005 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:921 +#: templates/js/translated/part.js:932 msgid "No category" msgstr "" -#: templates/js/translated/part.js:944 -#: templates/js/translated/table_filters.js:350 +#: templates/js/translated/part.js:955 +#: templates/js/translated/table_filters.js:359 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:1148 templates/js/translated/stock.js:1501 +#: templates/js/translated/part.js:1159 templates/js/translated/stock.js:1480 msgid "Path" msgstr "" -#: templates/js/translated/part.js:1191 +#: templates/js/translated/part.js:1202 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:1242 templates/js/translated/stock.js:514 +#: templates/js/translated/part.js:1253 templates/js/translated/stock.js:493 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:1243 templates/js/translated/stock.js:515 +#: templates/js/translated/part.js:1254 templates/js/translated/stock.js:494 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:1249 +#: templates/js/translated/part.js:1260 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:1274 +#: templates/js/translated/part.js:1282 +msgid "Edit Test Result Template" +msgstr "" + +#: templates/js/translated/part.js:1296 +msgid "Delete Test Result Template" +msgstr "" + +#: templates/js/translated/part.js:1321 #, python-brace-format msgid "No ${human_name} information found" msgstr "" -#: templates/js/translated/part.js:1329 +#: templates/js/translated/part.js:1376 #, python-brace-format msgid "Edit ${human_name}" msgstr "" -#: templates/js/translated/part.js:1330 +#: templates/js/translated/part.js:1377 #, python-brace-format msgid "Delete ${human_name}" msgstr "" -#: templates/js/translated/part.js:1431 +#: templates/js/translated/part.js:1478 msgid "Single Price" msgstr "" -#: templates/js/translated/part.js:1450 +#: templates/js/translated/part.js:1497 msgid "Single Price Difference" msgstr "" -#: templates/js/translated/stock.js:66 +#: templates/js/translated/stock.js:63 msgid "Parent stock location" msgstr "" -#: templates/js/translated/stock.js:96 +#: templates/js/translated/stock.js:93 msgid "Export Stock" msgstr "" -#: templates/js/translated/stock.js:99 -msgid "Format" -msgstr "" - -#: templates/js/translated/stock.js:100 -msgid "Select file format" -msgstr "" - -#: templates/js/translated/stock.js:124 +#: templates/js/translated/stock.js:104 msgid "Include Sublocations" msgstr "" -#: templates/js/translated/stock.js:125 +#: templates/js/translated/stock.js:105 msgid "Include stock items in sublocations" msgstr "" -#: templates/js/translated/stock.js:167 +#: templates/js/translated/stock.js:147 msgid "Transfer Stock" msgstr "" -#: templates/js/translated/stock.js:168 +#: templates/js/translated/stock.js:148 msgid "Move" msgstr "" -#: templates/js/translated/stock.js:174 +#: templates/js/translated/stock.js:154 msgid "Count Stock" msgstr "" -#: templates/js/translated/stock.js:175 +#: templates/js/translated/stock.js:155 msgid "Count" msgstr "" -#: templates/js/translated/stock.js:179 +#: templates/js/translated/stock.js:159 msgid "Remove Stock" msgstr "" -#: templates/js/translated/stock.js:180 +#: templates/js/translated/stock.js:160 msgid "Take" msgstr "" -#: templates/js/translated/stock.js:184 +#: templates/js/translated/stock.js:164 msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:185 users/models.py:190 +#: templates/js/translated/stock.js:165 users/models.py:195 msgid "Add" msgstr "" -#: templates/js/translated/stock.js:189 templates/stock_table.html:63 +#: templates/js/translated/stock.js:169 templates/stock_table.html:63 msgid "Delete Stock" msgstr "" -#: templates/js/translated/stock.js:278 +#: templates/js/translated/stock.js:258 msgid "Quantity cannot be adjusted for serialized stock" msgstr "" -#: templates/js/translated/stock.js:278 +#: templates/js/translated/stock.js:258 msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:314 +#: templates/js/translated/stock.js:298 msgid "You must select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:339 -msgid "Stock transaction notes" -msgstr "" - -#: templates/js/translated/stock.js:477 +#: templates/js/translated/stock.js:456 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:479 +#: templates/js/translated/stock.js:458 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:484 +#: templates/js/translated/stock.js:463 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:510 +#: templates/js/translated/stock.js:489 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:536 +#: templates/js/translated/stock.js:515 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:584 +#: templates/js/translated/stock.js:563 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:691 +#: templates/js/translated/stock.js:670 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:695 +#: templates/js/translated/stock.js:674 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:703 +#: templates/js/translated/stock.js:678 +msgid "Shipped to customer" +msgstr "" + +#: templates/js/translated/stock.js:682 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:865 +#: templates/js/translated/stock.js:688 +msgid "No stock location set" +msgstr "" + +#: templates/js/translated/stock.js:844 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:870 +#: templates/js/translated/stock.js:849 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:873 +#: templates/js/translated/stock.js:852 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:877 +#: templates/js/translated/stock.js:856 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:879 +#: templates/js/translated/stock.js:858 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:883 +#: templates/js/translated/stock.js:862 msgid "Stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:887 +#: templates/js/translated/stock.js:866 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:894 +#: templates/js/translated/stock.js:873 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:896 +#: templates/js/translated/stock.js:875 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:898 +#: templates/js/translated/stock.js:877 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:902 +#: templates/js/translated/stock.js:881 #: templates/js/translated/table_filters.js:161 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:956 +#: templates/js/translated/stock.js:935 msgid "Stocktake" msgstr "" -#: templates/js/translated/stock.js:1029 +#: templates/js/translated/stock.js:1008 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:1067 +#: templates/js/translated/stock.js:1046 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:1088 templates/js/translated/stock.js:1136 +#: templates/js/translated/stock.js:1067 templates/js/translated/stock.js:1115 msgid "items" msgstr "" -#: templates/js/translated/stock.js:1176 +#: templates/js/translated/stock.js:1155 msgid "batches" msgstr "" -#: templates/js/translated/stock.js:1203 +#: templates/js/translated/stock.js:1182 msgid "locations" msgstr "" -#: templates/js/translated/stock.js:1205 +#: templates/js/translated/stock.js:1184 msgid "Undefined location" msgstr "" -#: templates/js/translated/stock.js:1364 -msgid "Stock Status" -msgstr "" - -#: templates/js/translated/stock.js:1379 +#: templates/js/translated/stock.js:1358 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:1393 +#: templates/js/translated/stock.js:1372 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:1394 +#: templates/js/translated/stock.js:1373 msgid "Status code must be selected" msgstr "" -#: templates/js/translated/stock.js:1533 +#: templates/js/translated/stock.js:1512 msgid "Invalid date" msgstr "" -#: templates/js/translated/stock.js:1580 +#: templates/js/translated/stock.js:1559 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:1599 +#: templates/js/translated/stock.js:1578 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:1618 +#: templates/js/translated/stock.js:1597 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:1636 +#: templates/js/translated/stock.js:1615 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:1659 +#: templates/js/translated/stock.js:1638 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:1667 +#: templates/js/translated/stock.js:1646 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:1708 +#: templates/js/translated/stock.js:1687 msgid "Edit tracking entry" msgstr "" -#: templates/js/translated/stock.js:1709 +#: templates/js/translated/stock.js:1688 msgid "Delete tracking entry" msgstr "" -#: templates/js/translated/stock.js:1833 +#: templates/js/translated/stock.js:1812 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:1856 +#: templates/js/translated/stock.js:1835 msgid "Serial" msgstr "" -#: templates/js/translated/stock.js:1884 +#: templates/js/translated/stock.js:1863 msgid "Uninstall Stock Item" msgstr "" @@ -7808,7 +8034,7 @@ msgstr "" #: templates/js/translated/table_filters.js:103 #: templates/js/translated/table_filters.js:104 -#: templates/js/translated/table_filters.js:327 +#: templates/js/translated/table_filters.js:336 msgid "Include subcategories" msgstr "" @@ -7850,7 +8076,7 @@ msgid "Batch code" msgstr "" #: templates/js/translated/table_filters.js:141 -#: templates/js/translated/table_filters.js:317 +#: templates/js/translated/table_filters.js:326 msgid "Active parts" msgstr "" @@ -7935,89 +8161,89 @@ msgstr "" msgid "Build status" msgstr "" -#: templates/js/translated/table_filters.js:282 -#: templates/js/translated/table_filters.js:299 +#: templates/js/translated/table_filters.js:291 +#: templates/js/translated/table_filters.js:308 msgid "Order status" msgstr "" -#: templates/js/translated/table_filters.js:287 -#: templates/js/translated/table_filters.js:304 +#: templates/js/translated/table_filters.js:296 +#: templates/js/translated/table_filters.js:313 msgid "Outstanding" msgstr "" -#: templates/js/translated/table_filters.js:328 +#: templates/js/translated/table_filters.js:337 msgid "Include parts in subcategories" msgstr "" -#: templates/js/translated/table_filters.js:332 +#: templates/js/translated/table_filters.js:341 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:333 +#: templates/js/translated/table_filters.js:342 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:338 +#: templates/js/translated/table_filters.js:347 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:346 +#: templates/js/translated/table_filters.js:355 msgid "Stock available" msgstr "" -#: templates/js/translated/table_filters.js:362 +#: templates/js/translated/table_filters.js:371 msgid "Starred" msgstr "" -#: templates/js/translated/table_filters.js:374 +#: templates/js/translated/table_filters.js:383 msgid "Purchasable" msgstr "" -#: templates/js/translated/tables.js:357 +#: templates/js/translated/tables.js:366 msgid "Loading data" msgstr "" -#: templates/js/translated/tables.js:360 +#: templates/js/translated/tables.js:369 msgid "rows per page" msgstr "" -#: templates/js/translated/tables.js:363 +#: templates/js/translated/tables.js:372 msgid "Showing" msgstr "" -#: templates/js/translated/tables.js:363 +#: templates/js/translated/tables.js:372 msgid "to" msgstr "" -#: templates/js/translated/tables.js:363 +#: templates/js/translated/tables.js:372 msgid "of" msgstr "" -#: templates/js/translated/tables.js:363 +#: templates/js/translated/tables.js:372 msgid "rows" msgstr "" -#: templates/js/translated/tables.js:369 +#: templates/js/translated/tables.js:378 msgid "No matching results" msgstr "" -#: templates/js/translated/tables.js:372 +#: templates/js/translated/tables.js:381 msgid "Hide/Show pagination" msgstr "" -#: templates/js/translated/tables.js:375 +#: templates/js/translated/tables.js:384 msgid "Refresh" msgstr "" -#: templates/js/translated/tables.js:378 +#: templates/js/translated/tables.js:387 msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:381 +#: templates/js/translated/tables.js:390 msgid "Columns" msgstr "" -#: templates/js/translated/tables.js:384 +#: templates/js/translated/tables.js:393 msgid "All" msgstr "" @@ -8033,19 +8259,15 @@ msgstr "" msgid "Sell" msgstr "" -#: templates/navbar.html:87 users/models.py:39 +#: templates/navbar.html:83 users/models.py:39 msgid "Admin" msgstr "" -#: templates/navbar.html:89 +#: templates/navbar.html:85 msgid "Logout" msgstr "" -#: templates/navbar.html:91 templates/registration/login.html:89 -msgid "Login" -msgstr "" - -#: templates/navbar.html:114 +#: templates/navbar.html:106 msgid "About InvenTree" msgstr "" @@ -8053,68 +8275,12 @@ msgstr "" msgid "QR data not provided" msgstr "" -#: templates/registration/logged_out.html:50 -msgid "You have been logged out" +#: templates/registration/logged_out.html:6 +msgid "You were logged out successfully." msgstr "" -#: templates/registration/logged_out.html:51 -#: templates/registration/password_reset_complete.html:51 -#: templates/registration/password_reset_done.html:58 -msgid "Return to login screen" -msgstr "" - -#: templates/registration/login.html:64 -msgid "Enter username" -msgstr "" - -#: templates/registration/login.html:70 -msgid "Password" -msgstr "" - -#: templates/registration/login.html:83 -msgid "Username / password combination is incorrect" -msgstr "" - -#: templates/registration/login.html:95 -#: templates/registration/password_reset_form.html:51 -msgid "Forgotten your password?" -msgstr "" - -#: templates/registration/login.html:95 -msgid "Click here to reset" -msgstr "" - -#: templates/registration/password_reset_complete.html:50 -msgid "Password reset complete" -msgstr "" - -#: templates/registration/password_reset_confirm.html:52 -#: templates/registration/password_reset_confirm.html:56 -msgid "Change password" -msgstr "" - -#: templates/registration/password_reset_confirm.html:60 -msgid "The password reset link was invalid, possibly because it has already been used. Please request a new password reset." -msgstr "" - -#: templates/registration/password_reset_done.html:51 -msgid "We've emailed you instructions for setting your password, if an account exists with the email you entered. You should receive them shortly." -msgstr "" - -#: templates/registration/password_reset_done.html:54 -msgid "If you don't receive an email, please make sure you've entered the address you registered with, and check your spam folder." -msgstr "" - -#: templates/registration/password_reset_form.html:52 -msgid "Enter your email address below." -msgstr "" - -#: templates/registration/password_reset_form.html:53 -msgid "An email will be sent with password reset instructions." -msgstr "" - -#: templates/registration/password_reset_form.html:58 -msgid "Send email" +#: templates/registration/logged_out.html:8 +msgid "Log in again" msgstr "" #: templates/stats.html:13 @@ -8169,6 +8335,10 @@ msgstr "" msgid "Export Stock Information" msgstr "" +#: templates/stock_table.html:20 +msgid "New Stock Item" +msgstr "" + #: templates/stock_table.html:27 msgid "Barcode Actions" msgstr "" @@ -8249,35 +8419,35 @@ msgstr "" msgid "Important dates" msgstr "" -#: users/models.py:177 +#: users/models.py:182 msgid "Permission set" msgstr "" -#: users/models.py:185 +#: users/models.py:190 msgid "Group" msgstr "" -#: users/models.py:188 +#: users/models.py:193 msgid "View" msgstr "" -#: users/models.py:188 +#: users/models.py:193 msgid "Permission to view items" msgstr "" -#: users/models.py:190 +#: users/models.py:195 msgid "Permission to add items" msgstr "" -#: users/models.py:192 +#: users/models.py:197 msgid "Change" msgstr "" -#: users/models.py:192 +#: users/models.py:197 msgid "Permissions to edit items" msgstr "" -#: users/models.py:194 +#: users/models.py:199 msgid "Permission to delete items" msgstr "" diff --git a/InvenTree/locale/es/LC_MESSAGES/django.po b/InvenTree/locale/es/LC_MESSAGES/django.po index b66b45bb37..199e95b752 100644 --- a/InvenTree/locale/es/LC_MESSAGES/django.po +++ b/InvenTree/locale/es/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-09-12 13:15+0000\n" -"PO-Revision-Date: 2021-09-12 13:44\n" +"POT-Creation-Date: 2021-10-11 06:21+0000\n" +"PO-Revision-Date: 2021-10-11 06:29\n" "Last-Translator: \n" "Language-Team: Spanish\n" "Language: es_ES\n" @@ -33,48 +33,61 @@ msgstr "No se encontró ninguna acción coincidente" msgid "Enter date" msgstr "Ingrese la fecha" -#: InvenTree/forms.py:111 build/forms.py:102 build/forms.py:123 -#: build/forms.py:145 build/forms.py:169 build/forms.py:185 build/forms.py:227 -#: order/forms.py:30 order/forms.py:41 order/forms.py:52 order/forms.py:63 -#: order/forms.py:74 part/forms.py:108 templates/js/translated/forms.js:564 +#: InvenTree/forms.py:116 build/forms.py:102 build/forms.py:123 +#: build/forms.py:145 build/forms.py:173 build/forms.py:215 order/forms.py:27 +#: order/forms.py:38 order/forms.py:49 order/forms.py:60 order/forms.py:71 +#: part/forms.py:108 templates/account/email_confirm.html:20 +#: templates/js/translated/forms.js:564 msgid "Confirm" msgstr "Confirmar" -#: InvenTree/forms.py:127 +#: InvenTree/forms.py:132 msgid "Confirm delete" msgstr "Confirmar eliminación" -#: InvenTree/forms.py:128 +#: InvenTree/forms.py:133 msgid "Confirm item deletion" msgstr "Confirmar borrado de artículo" -#: InvenTree/forms.py:160 templates/registration/login.html:76 +#: InvenTree/forms.py:164 msgid "Enter password" msgstr "Introduzca contraseña" -#: InvenTree/forms.py:161 +#: InvenTree/forms.py:165 msgid "Enter new password" msgstr "Ingrese su nueva contraseña" -#: InvenTree/forms.py:168 +#: InvenTree/forms.py:172 msgid "Confirm password" msgstr "Confirmar la contraseña" -#: InvenTree/forms.py:169 +#: InvenTree/forms.py:173 msgid "Confirm new password" msgstr "Confirmar contraseña nueva" -#: InvenTree/forms.py:201 +#: InvenTree/forms.py:205 msgid "Select Category" msgstr "Seleccionar Categoría" +#: InvenTree/forms.py:226 +msgid "E-mail (again)" +msgstr "" + +#: InvenTree/forms.py:230 +msgid "E-mail address confirmation" +msgstr "" + +#: InvenTree/forms.py:250 +msgid "You must type the same email each time." +msgstr "" + #: InvenTree/helpers.py:401 #, python-brace-format msgid "Duplicate serial: {n}" msgstr "Número de serie duplicado: {n}" -#: InvenTree/helpers.py:408 order/models.py:315 order/models.py:430 -#: stock/views.py:1363 +#: InvenTree/helpers.py:408 order/models.py:315 order/models.py:437 +#: stock/views.py:1340 msgid "Invalid quantity provided" msgstr "Cantidad proporcionada no válida" @@ -102,7 +115,7 @@ msgstr "Numeros de serie no encontrados" msgid "Number of unique serial number ({s}) must match quantity ({q})" msgstr "El número de números de serie únicos ({s}) debe coincidir con la cantidad ({q})" -#: InvenTree/models.py:66 stock/models.py:1826 +#: InvenTree/models.py:66 stock/models.py:1823 msgid "Attachment" msgstr "Archivo adjunto" @@ -118,10 +131,10 @@ msgstr "Comentario" msgid "File comment" msgstr "Comentario del archivo" -#: InvenTree/models.py:75 InvenTree/models.py:76 common/models.py:993 -#: common/models.py:994 part/models.py:2051 +#: InvenTree/models.py:75 InvenTree/models.py:76 common/models.py:1055 +#: common/models.py:1056 part/models.py:2055 #: report/templates/report/inventree_test_report_base.html:91 -#: templates/js/translated/stock.js:1690 +#: templates/js/translated/stock.js:1669 msgid "User" msgstr "Usuario" @@ -158,37 +171,34 @@ msgstr "Error al cambiar el nombre del archivo" msgid "Invalid choice" msgstr "Selección no válida" -#: InvenTree/models.py:200 InvenTree/models.py:201 company/models.py:414 -#: label/models.py:112 part/models.py:658 part/models.py:2212 +#: InvenTree/models.py:200 InvenTree/models.py:201 company/models.py:415 +#: label/models.py:112 part/models.py:659 part/models.py:2216 #: part/templates/part/part_base.html:241 report/models.py:181 -#: templates/InvenTree/search.html:137 templates/InvenTree/search.html:289 -#: templates/js/translated/company.js:636 templates/js/translated/part.js:466 -#: templates/js/translated/part.js:603 templates/js/translated/part.js:1130 -#: templates/js/translated/stock.js:1483 +#: templates/js/translated/company.js:637 templates/js/translated/part.js:477 +#: templates/js/translated/part.js:614 templates/js/translated/part.js:1141 +#: templates/js/translated/stock.js:1462 msgid "Name" msgstr "Nombre" -#: InvenTree/models.py:207 build/models.py:187 -#: build/templates/build/detail.html:24 company/models.py:353 -#: company/models.py:569 company/templates/company/manufacturer_part.html:76 +#: InvenTree/models.py:207 build/models.py:189 +#: build/templates/build/detail.html:24 company/models.py:354 +#: company/models.py:570 company/templates/company/manufacturer_part.html:76 #: company/templates/company/supplier_part.html:75 label/models.py:119 -#: order/models.py:158 part/models.py:681 +#: order/models.py:158 part/models.py:682 #: part/templates/part/part_base.html:246 #: part/templates/part/set_category.html:14 report/models.py:194 #: report/models.py:551 report/models.py:590 #: report/templates/report/inventree_build_order_base.html:118 -#: templates/InvenTree/search.html:144 templates/InvenTree/search.html:224 -#: templates/InvenTree/search.html:296 #: templates/InvenTree/settings/header.html:9 -#: templates/js/translated/bom.js:230 templates/js/translated/build.js:891 -#: templates/js/translated/build.js:1179 templates/js/translated/company.js:344 -#: templates/js/translated/company.js:546 -#: templates/js/translated/company.js:834 templates/js/translated/order.js:341 -#: templates/js/translated/order.js:486 templates/js/translated/order.js:710 -#: templates/js/translated/part.js:525 templates/js/translated/part.js:713 -#: templates/js/translated/part.js:902 templates/js/translated/part.js:1142 -#: templates/js/translated/part.js:1210 templates/js/translated/stock.js:840 -#: templates/js/translated/stock.js:1495 templates/js/translated/stock.js:1540 +#: templates/js/translated/bom.js:249 templates/js/translated/build.js:1217 +#: templates/js/translated/build.js:1505 templates/js/translated/company.js:344 +#: templates/js/translated/company.js:547 +#: templates/js/translated/company.js:836 templates/js/translated/order.js:672 +#: templates/js/translated/order.js:832 templates/js/translated/order.js:1056 +#: templates/js/translated/part.js:536 templates/js/translated/part.js:724 +#: templates/js/translated/part.js:913 templates/js/translated/part.js:1153 +#: templates/js/translated/part.js:1221 templates/js/translated/stock.js:819 +#: templates/js/translated/stock.js:1474 templates/js/translated/stock.js:1519 msgid "Description" msgstr "Descripción" @@ -200,7 +210,7 @@ msgstr "Descripción (opcional)" msgid "parent" msgstr "padre" -#: InvenTree/serializers.py:55 part/models.py:2454 +#: InvenTree/serializers.py:55 part/models.py:2475 msgid "Must be a valid number" msgstr "Debe ser un numero valido" @@ -208,75 +218,75 @@ msgstr "Debe ser un numero valido" msgid "Filename" msgstr "Nombre de Archivo" -#: InvenTree/settings.py:523 +#: InvenTree/settings.py:529 msgid "German" msgstr "Alemán" -#: InvenTree/settings.py:524 +#: InvenTree/settings.py:530 msgid "Greek" msgstr "Griego" -#: InvenTree/settings.py:525 +#: InvenTree/settings.py:531 msgid "English" msgstr "Inglés" -#: InvenTree/settings.py:526 +#: InvenTree/settings.py:532 msgid "Spanish" msgstr "Español" -#: InvenTree/settings.py:527 +#: InvenTree/settings.py:533 msgid "French" msgstr "Francés" -#: InvenTree/settings.py:528 +#: InvenTree/settings.py:534 msgid "Hebrew" msgstr "Hebreo" -#: InvenTree/settings.py:529 +#: InvenTree/settings.py:535 msgid "Italian" msgstr "Italiano" -#: InvenTree/settings.py:530 +#: InvenTree/settings.py:536 msgid "Japanese" msgstr "Japonés" -#: InvenTree/settings.py:531 +#: InvenTree/settings.py:537 msgid "Korean" msgstr "Coreano" -#: InvenTree/settings.py:532 +#: InvenTree/settings.py:538 msgid "Dutch" msgstr "Holandés" -#: InvenTree/settings.py:533 +#: InvenTree/settings.py:539 msgid "Norwegian" msgstr "Noruego" -#: InvenTree/settings.py:534 +#: InvenTree/settings.py:540 msgid "Polish" msgstr "Polaco" -#: InvenTree/settings.py:535 +#: InvenTree/settings.py:541 msgid "Russian" msgstr "Ruso" -#: InvenTree/settings.py:536 +#: InvenTree/settings.py:542 msgid "Swedish" msgstr "Sueco" -#: InvenTree/settings.py:537 +#: InvenTree/settings.py:543 msgid "Thai" msgstr "Tailandés" -#: InvenTree/settings.py:538 +#: InvenTree/settings.py:544 msgid "Turkish" msgstr "Turco" -#: InvenTree/settings.py:539 +#: InvenTree/settings.py:545 msgid "Vietnamese" msgstr "Vietnamita" -#: InvenTree/settings.py:540 +#: InvenTree/settings.py:546 msgid "Chinese" msgstr "Chino" @@ -321,7 +331,7 @@ msgid "Returned" msgstr "Devuelto" #: InvenTree/status_codes.py:146 -#: order/templates/order/sales_order_base.html:126 +#: order/templates/order/sales_order_base.html:131 msgid "Shipped" msgstr "Enviado" @@ -461,27 +471,27 @@ msgstr "El excedente no debe superar el 100%" msgid "Overage must be an integer value or a percentage" msgstr "El excedente debe ser un valor entero o un porcentaje" -#: InvenTree/views.py:610 +#: InvenTree/views.py:616 msgid "Delete Item" msgstr "Eliminar elemento" -#: InvenTree/views.py:659 +#: InvenTree/views.py:665 msgid "Check box to confirm item deletion" msgstr "Marque la casilla para confirmar la eliminación del artículo" -#: InvenTree/views.py:674 templates/InvenTree/settings/user.html:14 +#: InvenTree/views.py:680 templates/InvenTree/settings/user.html:18 msgid "Edit User Information" msgstr "Editar datos del usuario" -#: InvenTree/views.py:685 templates/InvenTree/settings/user.html:18 +#: InvenTree/views.py:691 templates/InvenTree/settings/user.html:22 msgid "Set Password" msgstr "Configurar Contraseña" -#: InvenTree/views.py:704 +#: InvenTree/views.py:710 msgid "Password fields must match" msgstr "Los campos de contraseña deben coincidir" -#: InvenTree/views.py:910 templates/navbar.html:105 +#: InvenTree/views.py:954 templates/navbar.html:97 msgid "System Information" msgstr "Información del sistema" @@ -525,6 +535,10 @@ msgstr "El código de barras ya está asignado a un objeto de inventario" msgid "Barcode associated with StockItem" msgstr "Código de barras asignado al objeto de inventario" +#: build/api.py:213 +msgid "Matching build order does not exist" +msgstr "" + #: build/forms.py:37 msgid "Build Order reference" msgstr "Número de orden de construcción" @@ -536,33 +550,28 @@ msgstr "Fecha objetivo de pedido" #: build/forms.py:42 build/templates/build/build_base.html:146 #: build/templates/build/detail.html:124 #: order/templates/order/order_base.html:124 -#: order/templates/order/sales_order_base.html:119 +#: order/templates/order/sales_order_base.html:124 #: report/templates/report/inventree_build_order_base.html:126 -#: templates/js/translated/build.js:962 templates/js/translated/order.js:358 -#: templates/js/translated/order.js:728 +#: templates/js/translated/build.js:1288 templates/js/translated/order.js:689 +#: templates/js/translated/order.js:1074 msgid "Target Date" msgstr "Fecha objetivo" -#: build/forms.py:43 build/models.py:277 +#: build/forms.py:43 build/models.py:279 msgid "Target date for build completion. Build will be overdue after this date." msgstr "Fecha límite para la finalización de la construcción. La construcción estará vencida después de esta fecha." -#: build/forms.py:48 build/forms.py:90 build/forms.py:266 build/models.py:1402 +#: build/forms.py:48 build/forms.py:90 build/models.py:1281 #: build/templates/build/allocation_card.html:23 -#: build/templates/build/auto_allocate.html:17 #: build/templates/build/build_base.html:133 -#: build/templates/build/detail.html:34 common/models.py:1025 +#: build/templates/build/detail.html:34 common/models.py:1087 #: company/forms.py:42 company/templates/company/supplier_part.html:226 -#: order/forms.py:120 order/forms.py:142 order/forms.py:159 order/models.py:712 -#: order/models.py:964 order/templates/order/order_wizard/match_parts.html:30 -#: order/templates/order/order_wizard/select_parts.html:34 -#: order/templates/order/sales_order_detail.html:201 -#: order/templates/order/sales_order_detail.html:208 -#: order/templates/order/sales_order_detail.html:293 -#: order/templates/order/sales_order_detail.html:365 part/forms.py:249 -#: part/forms.py:265 part/forms.py:281 part/models.py:2356 +#: order/forms.py:101 order/forms.py:123 order/models.py:720 +#: order/models.py:982 order/templates/order/order_wizard/match_parts.html:30 +#: order/templates/order/order_wizard/select_parts.html:34 part/forms.py:249 +#: part/forms.py:265 part/forms.py:281 part/models.py:2377 #: part/templates/part/bom_upload/match_parts.html:31 -#: part/templates/part/detail.html:973 part/templates/part/detail.html:1059 +#: part/templates/part/detail.html:944 part/templates/part/detail.html:1030 #: part/templates/part/part_pricing.html:16 #: report/templates/report/inventree_build_order_base.html:114 #: report/templates/report/inventree_po_report.html:91 @@ -570,14 +579,16 @@ msgstr "Fecha límite para la finalización de la construcción. La construcció #: report/templates/report/inventree_test_report_base.html:77 #: stock/forms.py:140 stock/templates/stock/item_base.html:269 #: stock/templates/stock/stock_adjust.html:18 -#: templates/js/translated/barcode.js:386 templates/js/translated/bom.js:245 -#: templates/js/translated/build.js:298 templates/js/translated/build.js:629 -#: templates/js/translated/build.js:1189 -#: templates/js/translated/model_renderers.js:59 -#: templates/js/translated/order.js:522 templates/js/translated/order.js:824 -#: templates/js/translated/part.js:1317 templates/js/translated/part.js:1440 -#: templates/js/translated/part.js:1518 templates/js/translated/stock.js:1675 -#: templates/js/translated/stock.js:1850 +#: templates/js/translated/barcode.js:386 templates/js/translated/bom.js:264 +#: templates/js/translated/build.js:314 templates/js/translated/build.js:638 +#: templates/js/translated/build.js:977 templates/js/translated/build.js:1515 +#: templates/js/translated/model_renderers.js:74 +#: templates/js/translated/order.js:868 templates/js/translated/order.js:1170 +#: templates/js/translated/order.js:1248 templates/js/translated/order.js:1255 +#: templates/js/translated/order.js:1344 templates/js/translated/order.js:1444 +#: templates/js/translated/part.js:1364 templates/js/translated/part.js:1487 +#: templates/js/translated/part.js:1565 templates/js/translated/stock.js:1654 +#: templates/js/translated/stock.js:1829 msgid "Quantity" msgstr "Cantidad" @@ -589,7 +600,7 @@ msgstr "Número de elementos para construir" msgid "Enter quantity for build output" msgstr "Ingrese la cantidad para la producción de la construcción" -#: build/forms.py:95 order/forms.py:114 stock/forms.py:83 +#: build/forms.py:95 order/forms.py:95 stock/forms.py:83 msgid "Serial Numbers" msgstr "Números de serie" @@ -609,246 +620,238 @@ msgstr "Confirmar eliminación de salida de construcción" msgid "Confirm unallocation of stock" msgstr "Confirmar la desasignación de stock" -#: build/forms.py:169 -msgid "Confirm stock allocation" -msgstr "Confirmar asignación de stock" - -#: build/forms.py:186 +#: build/forms.py:174 msgid "Mark build as complete" msgstr "Marcar como construcción completa" -#: build/forms.py:210 build/templates/build/auto_allocate.html:18 -#: order/serializers.py:216 order/serializers.py:275 stock/forms.py:280 +#: build/forms.py:198 order/serializers.py:217 order/serializers.py:284 +#: stock/forms.py:280 stock/serializers.py:553 #: stock/templates/stock/item_base.html:299 #: stock/templates/stock/stock_adjust.html:17 -#: templates/InvenTree/search.html:260 templates/js/translated/barcode.js:385 -#: templates/js/translated/barcode.js:555 templates/js/translated/build.js:283 -#: templates/js/translated/build.js:643 templates/js/translated/order.js:809 -#: templates/js/translated/part.js:174 templates/js/translated/stock.js:203 -#: templates/js/translated/stock.js:329 templates/js/translated/stock.js:942 -#: templates/js/translated/stock.js:1567 +#: templates/js/translated/barcode.js:385 +#: templates/js/translated/barcode.js:555 templates/js/translated/build.js:299 +#: templates/js/translated/build.js:650 templates/js/translated/order.js:347 +#: templates/js/translated/order.js:1155 templates/js/translated/order.js:1263 +#: templates/js/translated/order.js:1269 templates/js/translated/part.js:179 +#: templates/js/translated/stock.js:183 templates/js/translated/stock.js:921 +#: templates/js/translated/stock.js:1546 msgid "Location" msgstr "Unicación" -#: build/forms.py:211 +#: build/forms.py:199 msgid "Location of completed parts" msgstr "Ubicación de las partes completadas" -#: build/forms.py:215 build/templates/build/build_base.html:138 -#: build/templates/build/detail.html:62 order/models.py:555 -#: order/serializers.py:230 order/templates/order/receive_parts.html:24 -#: stock/templates/stock/item_base.html:422 templates/InvenTree/search.html:252 -#: templates/js/translated/barcode.js:141 templates/js/translated/build.js:925 -#: templates/js/translated/order.js:345 templates/js/translated/order.js:715 -#: templates/js/translated/stock.js:917 templates/js/translated/stock.js:1644 -#: templates/js/translated/stock.js:1866 +#: build/forms.py:203 build/templates/build/build_base.html:138 +#: build/templates/build/detail.html:62 order/models.py:563 +#: order/serializers.py:238 stock/templates/stock/item_base.html:422 +#: templates/js/translated/barcode.js:141 templates/js/translated/build.js:1251 +#: templates/js/translated/order.js:430 templates/js/translated/order.js:676 +#: templates/js/translated/order.js:1061 templates/js/translated/stock.js:896 +#: templates/js/translated/stock.js:1623 templates/js/translated/stock.js:1845 msgid "Status" msgstr "Estado" -#: build/forms.py:216 +#: build/forms.py:204 msgid "Build output stock status" msgstr "Generar estado de stock de salida" -#: build/forms.py:223 +#: build/forms.py:211 msgid "Confirm incomplete" msgstr "Confirmar incompleta" -#: build/forms.py:224 +#: build/forms.py:212 msgid "Confirm completion with incomplete stock allocation" msgstr "Confirmar la finalización con una asignación de stock incompleta" -#: build/forms.py:227 +#: build/forms.py:215 msgid "Confirm build completion" msgstr "Confirmar la terminación de construcción" -#: build/forms.py:252 +#: build/forms.py:240 msgid "Confirm cancel" msgstr "Confirmar cancelación" -#: build/forms.py:252 build/views.py:65 +#: build/forms.py:240 build/views.py:65 msgid "Confirm build cancellation" msgstr "Confirmar la cancelación de construcción" -#: build/forms.py:266 -msgid "Select quantity of stock to allocate" -msgstr "Seleccione la cantidad de stock para asignar" - -#: build/models.py:113 +#: build/models.py:115 msgid "Invalid choice for parent build" msgstr "Opción no válida para la construcción padre" -#: build/models.py:117 build/templates/build/build_base.html:9 +#: build/models.py:119 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:73 #: report/templates/report/inventree_build_order_base.html:106 -#: templates/js/translated/build.js:260 +#: templates/js/translated/build.js:276 msgid "Build Order" msgstr "Construir órden" -#: build/models.py:118 build/templates/build/index.html:8 +#: build/models.py:120 build/templates/build/index.html:8 #: build/templates/build/index.html:15 #: order/templates/order/sales_order_detail.html:34 #: order/templates/order/so_navbar.html:19 #: order/templates/order/so_navbar.html:22 part/templates/part/navbar.html:50 #: part/templates/part/navbar.html:53 templates/InvenTree/index.html:229 -#: templates/InvenTree/search.html:185 -#: templates/InvenTree/settings/navbar.html:101 -#: templates/InvenTree/settings/navbar.html:103 users/models.py:44 +#: templates/InvenTree/search.html:171 +#: templates/InvenTree/settings/navbar.html:113 +#: templates/InvenTree/settings/navbar.html:115 users/models.py:44 msgid "Build Orders" msgstr "Construir órdenes" -#: build/models.py:178 +#: build/models.py:180 msgid "Build Order Reference" msgstr "" -#: build/models.py:179 order/models.py:246 order/models.py:539 -#: order/models.py:719 order/templates/order/sales_order_detail.html:360 -#: part/models.py:2365 part/templates/part/bom_upload/match_parts.html:30 +#: build/models.py:181 order/models.py:246 order/models.py:547 +#: order/models.py:727 part/models.py:2386 +#: part/templates/part/bom_upload/match_parts.html:30 #: report/templates/report/inventree_po_report.html:92 #: report/templates/report/inventree_so_report.html:92 -#: templates/js/translated/bom.js:237 templates/js/translated/build.js:718 -#: templates/js/translated/build.js:1183 templates/js/translated/order.js:517 +#: templates/js/translated/bom.js:256 templates/js/translated/build.js:734 +#: templates/js/translated/build.js:1509 templates/js/translated/order.js:863 +#: templates/js/translated/order.js:1438 msgid "Reference" msgstr "Referencia" -#: build/models.py:190 +#: build/models.py:192 msgid "Brief description of the build" msgstr "" -#: build/models.py:199 build/templates/build/build_base.html:163 +#: build/models.py:201 build/templates/build/build_base.html:163 #: build/templates/build/detail.html:80 msgid "Parent Build" msgstr "" -#: build/models.py:200 +#: build/models.py:202 msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:205 build/templates/build/auto_allocate.html:16 -#: build/templates/build/build_base.html:128 -#: build/templates/build/detail.html:29 company/models.py:704 -#: order/models.py:772 order/models.py:837 -#: order/templates/order/order_wizard/select_parts.html:32 -#: order/templates/order/receive_parts.html:19 -#: order/templates/order/sales_order_detail.html:345 part/models.py:297 -#: part/models.py:1996 part/models.py:2012 part/models.py:2031 -#: part/models.py:2049 part/models.py:2128 part/models.py:2250 -#: part/models.py:2340 part/templates/part/detail.html:199 +#: build/models.py:207 build/templates/build/build_base.html:128 +#: build/templates/build/detail.html:29 company/models.py:705 +#: order/models.py:780 order/models.py:851 +#: order/templates/order/order_wizard/select_parts.html:32 part/models.py:298 +#: part/models.py:2000 part/models.py:2016 part/models.py:2035 +#: part/models.py:2053 part/models.py:2132 part/models.py:2254 +#: part/models.py:2361 part/templates/part/detail.html:199 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/set_category.html:13 #: report/templates/report/inventree_build_order_base.html:110 #: report/templates/report/inventree_po_report.html:90 #: report/templates/report/inventree_so_report.html:90 -#: templates/InvenTree/search.html:112 templates/InvenTree/search.html:210 -#: templates/js/translated/barcode.js:384 templates/js/translated/bom.js:203 -#: templates/js/translated/build.js:609 templates/js/translated/build.js:896 -#: templates/js/translated/build.js:1156 templates/js/translated/company.js:487 -#: templates/js/translated/company.js:743 templates/js/translated/order.js:471 -#: templates/js/translated/part.js:694 templates/js/translated/part.js:864 -#: templates/js/translated/stock.js:201 templates/js/translated/stock.js:797 -#: templates/js/translated/stock.js:1838 +#: templates/InvenTree/search.html:112 templates/js/translated/barcode.js:384 +#: templates/js/translated/bom.js:222 templates/js/translated/build.js:611 +#: templates/js/translated/build.js:974 templates/js/translated/build.js:1222 +#: templates/js/translated/build.js:1482 templates/js/translated/company.js:488 +#: templates/js/translated/company.js:745 templates/js/translated/order.js:425 +#: templates/js/translated/order.js:817 templates/js/translated/order.js:1422 +#: templates/js/translated/part.js:705 templates/js/translated/part.js:875 +#: templates/js/translated/stock.js:181 templates/js/translated/stock.js:776 +#: templates/js/translated/stock.js:1817 msgid "Part" msgstr "Parte" -#: build/models.py:213 +#: build/models.py:215 msgid "Select part to build" msgstr "" -#: build/models.py:218 +#: build/models.py:220 msgid "Sales Order Reference" msgstr "" -#: build/models.py:222 +#: build/models.py:224 msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:227 +#: build/models.py:229 templates/js/translated/build.js:962 msgid "Source Location" -msgstr "" +msgstr "Ubicación de la fuente" -#: build/models.py:231 +#: build/models.py:233 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "" -#: build/models.py:236 +#: build/models.py:238 msgid "Destination Location" -msgstr "" +msgstr "Ubicación de destino" -#: build/models.py:240 +#: build/models.py:242 msgid "Select location where the completed items will be stored" -msgstr "" +msgstr "Seleccione la ubicación donde se almacenarán los elementos completados" -#: build/models.py:244 +#: build/models.py:246 msgid "Build Quantity" msgstr "Cantidad a crear" -#: build/models.py:247 +#: build/models.py:249 msgid "Number of stock items to build" msgstr "Número de objetos existentes a construir" -#: build/models.py:251 +#: build/models.py:253 msgid "Completed items" msgstr "Elementos completados" -#: build/models.py:253 +#: build/models.py:255 msgid "Number of stock items which have been completed" msgstr "Número de productos en stock que se han completado" -#: build/models.py:257 part/templates/part/part_base.html:198 +#: build/models.py:259 part/templates/part/part_base.html:198 msgid "Build Status" msgstr "Estado de la construcción" -#: build/models.py:261 +#: build/models.py:263 msgid "Build status code" msgstr "Código de estado de construcción" -#: build/models.py:265 stock/models.py:513 +#: build/models.py:267 stock/models.py:513 msgid "Batch Code" msgstr "Numero de lote" -#: build/models.py:269 +#: build/models.py:271 msgid "Batch code for this build output" msgstr "Número de lote de este producto final" -#: build/models.py:272 order/models.py:162 part/models.py:853 -#: part/templates/part/part_base.html:272 templates/js/translated/order.js:723 +#: build/models.py:274 order/models.py:162 part/models.py:854 +#: part/templates/part/part_base.html:272 templates/js/translated/order.js:1069 msgid "Creation Date" msgstr "Fecha de Creación" -#: build/models.py:276 order/models.py:561 +#: build/models.py:278 order/models.py:569 msgid "Target completion date" msgstr "Fecha límite de finalización" -#: build/models.py:280 order/models.py:288 templates/js/translated/build.js:967 +#: build/models.py:282 order/models.py:288 +#: templates/js/translated/build.js:1293 msgid "Completion Date" msgstr "Fecha de finalización" -#: build/models.py:286 +#: build/models.py:288 msgid "completed by" msgstr "terminado por" -#: build/models.py:294 templates/js/translated/build.js:938 +#: build/models.py:296 templates/js/translated/build.js:1264 msgid "Issued by" msgstr "Emitido por" -#: build/models.py:295 +#: build/models.py:297 msgid "User who issued this build order" msgstr "El usuario que emitió esta orden" -#: build/models.py:303 build/templates/build/build_base.html:184 +#: build/models.py:305 build/templates/build/build_base.html:184 #: build/templates/build/detail.html:108 order/models.py:176 #: order/templates/order/order_base.html:138 -#: order/templates/order/sales_order_base.html:140 part/models.py:857 +#: order/templates/order/sales_order_base.html:145 part/models.py:858 #: report/templates/report/inventree_build_order_base.html:159 -#: templates/js/translated/build.js:950 +#: templates/js/translated/build.js:1276 msgid "Responsible" msgstr "Responsable" -#: build/models.py:304 +#: build/models.py:306 msgid "User responsible for this build order" msgstr "Usuario responsable de esta orden" -#: build/models.py:309 build/templates/build/detail.html:94 +#: build/models.py:311 build/templates/build/detail.html:94 #: company/templates/company/manufacturer_part.html:83 #: company/templates/company/supplier_part.html:82 #: part/templates/part/part_base.html:266 stock/models.py:507 @@ -856,140 +859,157 @@ msgstr "Usuario responsable de esta orden" msgid "External Link" msgstr "Link externo" -#: build/models.py:310 part/models.py:715 stock/models.py:509 +#: build/models.py:312 part/models.py:716 stock/models.py:509 msgid "Link to external URL" msgstr "Enlace a URL externa" -#: build/models.py:314 build/templates/build/navbar.html:52 -#: company/models.py:141 company/models.py:576 +#: build/models.py:316 build/templates/build/navbar.html:52 +#: company/models.py:142 company/models.py:577 #: company/templates/company/navbar.html:69 #: company/templates/company/navbar.html:72 order/models.py:180 -#: order/models.py:721 order/templates/order/po_navbar.html:38 +#: order/models.py:729 order/templates/order/po_navbar.html:38 #: order/templates/order/po_navbar.html:41 -#: order/templates/order/sales_order_detail.html:440 #: order/templates/order/so_navbar.html:33 -#: order/templates/order/so_navbar.html:36 part/models.py:842 +#: order/templates/order/so_navbar.html:36 part/models.py:843 #: part/templates/part/detail.html:105 part/templates/part/navbar.html:120 #: part/templates/part/navbar.html:123 #: report/templates/report/inventree_build_order_base.html:173 #: stock/forms.py:138 stock/forms.py:250 stock/forms.py:282 stock/models.py:579 -#: stock/models.py:1726 stock/models.py:1832 +#: stock/models.py:1723 stock/models.py:1829 stock/serializers.py:451 #: stock/templates/stock/navbar.html:57 templates/js/translated/barcode.js:59 -#: templates/js/translated/bom.js:385 templates/js/translated/company.js:839 -#: templates/js/translated/order.js:604 templates/js/translated/stock.js:338 -#: templates/js/translated/stock.js:580 templates/js/translated/stock.js:1061 +#: templates/js/translated/bom.js:406 templates/js/translated/company.js:841 +#: templates/js/translated/order.js:950 templates/js/translated/order.js:1540 +#: templates/js/translated/stock.js:559 templates/js/translated/stock.js:1040 msgid "Notes" msgstr "Notas" -#: build/models.py:315 +#: build/models.py:317 msgid "Extra build notes" msgstr "Notas adicionales de construcción" -#: build/models.py:792 +#: build/models.py:714 msgid "No build output specified" msgstr "No se ha especificado salida de construcción" -#: build/models.py:795 +#: build/models.py:717 msgid "Build output is already completed" msgstr "La construcción de la salida ya está completa" -#: build/models.py:798 +#: build/models.py:720 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:1208 -msgid "BuildItem must be unique for build, stock_item and install_into" -msgstr "" - -#: build/models.py:1233 +#: build/models.py:1102 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1237 +#: build/models.py:1111 #, python-brace-format -msgid "Allocated quantity ({n}) must not exceed available quantity ({q})" +msgid "Allocated quantity ({q}) must not execed available stock quantity ({a})" msgstr "" -#: build/models.py:1244 order/models.py:938 -msgid "StockItem is over-allocated" +#: build/models.py:1121 +msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1248 order/models.py:941 +#: build/models.py:1127 order/models.py:955 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1252 +#: build/models.py:1133 msgid "Quantity must be 1 for serialized stock" +msgstr "La cantidad debe ser 1 para el stock serializado" + +#: build/models.py:1191 +msgid "Selected stock item not found in BOM" msgstr "" -#: build/models.py:1312 -#, python-brace-format -msgid "Selected stock item not found in BOM for part '{p}'" -msgstr "" - -#: build/models.py:1372 stock/templates/stock/item_base.html:331 -#: templates/InvenTree/search.html:183 templates/js/translated/build.js:869 +#: build/models.py:1251 stock/templates/stock/item_base.html:331 +#: templates/InvenTree/search.html:169 templates/js/translated/build.js:1195 #: templates/navbar.html:35 msgid "Build" msgstr "" -#: build/models.py:1373 +#: build/models.py:1252 msgid "Build to allocate parts" msgstr "" -#: build/models.py:1389 stock/templates/stock/item_base.html:8 +#: build/models.py:1268 build/serializers.py:151 +#: stock/templates/stock/item_base.html:8 #: stock/templates/stock/item_base.html:31 #: stock/templates/stock/item_base.html:353 #: stock/templates/stock/stock_adjust.html:16 -#: templates/js/translated/build.js:271 templates/js/translated/build.js:276 -#: templates/js/translated/build.js:1012 templates/js/translated/order.js:797 -#: templates/js/translated/order.js:802 templates/js/translated/stock.js:1626 +#: templates/js/translated/build.js:287 templates/js/translated/build.js:292 +#: templates/js/translated/build.js:976 templates/js/translated/build.js:1338 +#: templates/js/translated/order.js:1143 templates/js/translated/order.js:1148 +#: templates/js/translated/stock.js:1605 msgid "Stock Item" msgstr "" -#: build/models.py:1390 +#: build/models.py:1269 msgid "Source stock item" msgstr "" -#: build/models.py:1403 +#: build/models.py:1282 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1411 +#: build/models.py:1290 msgid "Install into" msgstr "" -#: build/models.py:1412 +#: build/models.py:1291 msgid "Destination stock item" msgstr "" +#: build/serializers.py:133 part/models.py:2501 +msgid "BOM Item" +msgstr "" + +#: build/serializers.py:142 +msgid "bom_item.part must point to the same part as the build order" +msgstr "" + +#: build/serializers.py:157 +msgid "Item must be in stock" +msgstr "" + +#: build/serializers.py:171 order/models.py:313 order/serializers.py:231 +#: stock/models.py:351 stock/models.py:1072 +msgid "Quantity must be greater than zero" +msgstr "" + +#: build/serializers.py:180 +msgid "Build Output" +msgstr "" + +#: build/serializers.py:213 +#, python-brace-format +msgid "Available quantity ({q}) exceeded" +msgstr "" + +#: build/serializers.py:219 +msgid "Build output must be specified for allocation of tracked parts" +msgstr "" + +#: build/serializers.py:226 +msgid "Build output cannot be specified for allocation of untracked parts" +msgstr "" + +#: build/serializers.py:254 +msgid "Allocation items must be provided" +msgstr "" + #: build/templates/build/allocation_card.html:21 #: build/templates/build/complete_output.html:46 -#: order/templates/order/sales_order_detail.html:206 -#: order/templates/order/sales_order_detail.html:291 #: report/templates/report/inventree_test_report_base.html:75 #: stock/models.py:501 stock/templates/stock/item_base.html:251 -#: templates/js/translated/build.js:627 -#: templates/js/translated/model_renderers.js:57 +#: templates/js/translated/build.js:636 +#: templates/js/translated/model_renderers.js:72 +#: templates/js/translated/order.js:1253 templates/js/translated/order.js:1342 msgid "Serial Number" msgstr "Número de serie" -#: build/templates/build/auto_allocate.html:9 -msgid "Automatically Allocate Stock" -msgstr "" - -#: build/templates/build/auto_allocate.html:10 -msgid "The following stock items will be allocated to the specified build output" -msgstr "" - -#: build/templates/build/auto_allocate.html:37 -msgid "No stock items found that can be automatically allocated to this build" -msgstr "" - -#: build/templates/build/auto_allocate.html:39 -msgid "Stock items will have to be manually allocated" -msgstr "" - #: build/templates/build/build_base.html:18 #, python-format msgid "This Build Order is allocated to Sales Order %(link)s" @@ -1033,10 +1053,10 @@ msgstr "" #: order/templates/order/order_base.html:32 #: order/templates/order/order_base.html:86 #: order/templates/order/sales_order_base.html:43 -#: order/templates/order/sales_order_base.html:88 +#: order/templates/order/sales_order_base.html:93 #: templates/js/translated/table_filters.js:272 -#: templates/js/translated/table_filters.js:291 -#: templates/js/translated/table_filters.js:308 +#: templates/js/translated/table_filters.js:300 +#: templates/js/translated/table_filters.js:317 msgid "Overdue" msgstr "" @@ -1086,14 +1106,14 @@ msgid "Progress" msgstr "Progreso" #: build/templates/build/build_base.html:170 -#: build/templates/build/detail.html:87 order/models.py:835 +#: build/templates/build/detail.html:87 order/models.py:848 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:35 #: order/templates/order/sales_order_ship.html:25 #: report/templates/report/inventree_build_order_base.html:136 #: report/templates/report/inventree_so_report.html:77 #: stock/templates/stock/item_base.html:293 -#: templates/js/translated/order.js:670 +#: templates/js/translated/order.js:1016 msgid "Sales Order" msgstr "" @@ -1171,28 +1191,6 @@ msgstr "" msgid "The following items will be created" msgstr "" -#: build/templates/build/create_build_item.html:7 -msgid "Select a stock item to allocate to the selected build output" -msgstr "" - -#: build/templates/build/create_build_item.html:11 -#, python-format -msgid "The allocated stock will be installed into the following build output:
%(output)s" -msgstr "" - -#: build/templates/build/create_build_item.html:17 -#, python-format -msgid "No stock available for %(part)s" -msgstr "" - -#: build/templates/build/delete_build_item.html:8 -msgid "Are you sure you want to unallocate this stock?" -msgstr "" - -#: build/templates/build/delete_build_item.html:11 -msgid "The selected stock will be unallocated from the build output" -msgstr "" - #: build/templates/build/detail.html:38 msgid "Stock Source" msgstr "" @@ -1201,9 +1199,8 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/forms.py:88 order/models.py:794 -#: order/templates/order/receive_parts.html:25 stock/forms.py:134 -#: templates/js/translated/order.js:593 +#: build/templates/build/detail.html:49 order/models.py:802 stock/forms.py:134 +#: templates/js/translated/order.js:431 templates/js/translated/order.js:939 msgid "Destination" msgstr "Destinación" @@ -1213,7 +1210,7 @@ msgstr "" #: build/templates/build/detail.html:73 #: stock/templates/stock/item_base.html:317 -#: templates/js/translated/stock.js:931 templates/js/translated/stock.js:1873 +#: templates/js/translated/stock.js:910 templates/js/translated/stock.js:1852 #: templates/js/translated/table_filters.js:129 #: templates/js/translated/table_filters.js:211 msgid "Batch" @@ -1221,8 +1218,8 @@ msgstr "Lote" #: build/templates/build/detail.html:119 #: order/templates/order/order_base.html:111 -#: order/templates/order/sales_order_base.html:113 -#: templates/js/translated/build.js:933 +#: order/templates/order/sales_order_base.html:118 +#: templates/js/translated/build.js:1259 msgid "Created" msgstr "" @@ -1230,7 +1227,8 @@ msgstr "" msgid "No target date set" msgstr "" -#: build/templates/build/detail.html:135 templates/js/translated/build.js:911 +#: build/templates/build/detail.html:135 templates/js/translated/build.js:1237 +#: templates/js/translated/table_filters.js:282 msgid "Completed" msgstr "Completados" @@ -1250,15 +1248,16 @@ msgstr "" msgid "Allocate stock to build" msgstr "" -#: build/templates/build/detail.html:173 -msgid "Auto Allocate" +#: build/templates/build/detail.html:173 build/templates/build/navbar.html:20 +#: build/templates/build/navbar.html:23 +msgid "Allocate Stock" msgstr "" -#: build/templates/build/detail.html:175 templates/js/translated/build.js:801 +#: build/templates/build/detail.html:175 templates/js/translated/build.js:817 msgid "Unallocate stock" msgstr "" -#: build/templates/build/detail.html:176 build/views.py:318 build/views.py:638 +#: build/templates/build/detail.html:176 build/views.py:257 msgid "Unallocate Stock" msgstr "" @@ -1268,7 +1267,7 @@ msgstr "" #: build/templates/build/detail.html:180 #: company/templates/company/detail.html:32 -#: company/templates/company/detail.html:72 order/views.py:679 +#: company/templates/company/detail.html:72 order/views.py:509 #: part/templates/part/category.html:140 msgid "Order Parts" msgstr "" @@ -1282,38 +1281,42 @@ msgid "Untracked stock has not been fully allocated for this Build Order" msgstr "" #: build/templates/build/detail.html:197 +msgid "Allocate selected items" +msgstr "" + +#: build/templates/build/detail.html:209 msgid "This Build Order does not have any associated untracked BOM items" msgstr "" -#: build/templates/build/detail.html:206 +#: build/templates/build/detail.html:218 msgid "Incomplete Build Outputs" msgstr "" -#: build/templates/build/detail.html:211 +#: build/templates/build/detail.html:223 msgid "Create new build output" msgstr "" -#: build/templates/build/detail.html:212 +#: build/templates/build/detail.html:224 msgid "Create New Output" msgstr "" -#: build/templates/build/detail.html:225 +#: build/templates/build/detail.html:237 msgid "Create a new build output" msgstr "" -#: build/templates/build/detail.html:226 +#: build/templates/build/detail.html:238 msgid "No incomplete build outputs remain." msgstr "" -#: build/templates/build/detail.html:227 +#: build/templates/build/detail.html:239 msgid "Create a new build output using the button above" msgstr "" -#: build/templates/build/detail.html:235 +#: build/templates/build/detail.html:247 msgid "Completed Build Outputs" msgstr "" -#: build/templates/build/detail.html:246 build/templates/build/navbar.html:42 +#: build/templates/build/detail.html:258 build/templates/build/navbar.html:42 #: build/templates/build/navbar.html:45 order/templates/order/po_navbar.html:35 #: order/templates/order/sales_order_detail.html:43 #: order/templates/order/so_navbar.html:29 part/templates/part/detail.html:173 @@ -1323,15 +1326,15 @@ msgstr "" msgid "Attachments" msgstr "" -#: build/templates/build/detail.html:257 +#: build/templates/build/detail.html:269 msgid "Build Notes" msgstr "" -#: build/templates/build/detail.html:261 build/templates/build/detail.html:398 +#: build/templates/build/detail.html:273 build/templates/build/detail.html:414 #: company/templates/company/detail.html:169 #: company/templates/company/detail.html:196 -#: order/templates/order/purchase_order_detail.html:62 -#: order/templates/order/purchase_order_detail.html:95 +#: order/templates/order/purchase_order_detail.html:71 +#: order/templates/order/purchase_order_detail.html:104 #: order/templates/order/sales_order_detail.html:58 #: order/templates/order/sales_order_detail.html:85 #: part/templates/part/detail.html:109 stock/templates/stock/item.html:103 @@ -1339,39 +1342,48 @@ msgstr "" msgid "Edit Notes" msgstr "" -#: build/templates/build/detail.html:357 +#: build/templates/build/detail.html:373 #: order/templates/order/po_attachments.html:79 -#: order/templates/order/purchase_order_detail.html:157 +#: order/templates/order/purchase_order_detail.html:166 #: order/templates/order/sales_order_detail.html:146 -#: part/templates/part/detail.html:920 stock/templates/stock/item.html:253 +#: part/templates/part/detail.html:891 stock/templates/stock/item.html:253 #: templates/attachment_table.html:6 msgid "Add Attachment" msgstr "" -#: build/templates/build/detail.html:376 +#: build/templates/build/detail.html:392 #: order/templates/order/po_attachments.html:51 -#: order/templates/order/purchase_order_detail.html:129 +#: order/templates/order/purchase_order_detail.html:138 #: order/templates/order/sales_order_detail.html:119 -#: part/templates/part/detail.html:874 stock/templates/stock/item.html:221 +#: part/templates/part/detail.html:845 stock/templates/stock/item.html:221 msgid "Edit Attachment" msgstr "" -#: build/templates/build/detail.html:383 +#: build/templates/build/detail.html:399 #: order/templates/order/po_attachments.html:58 -#: order/templates/order/purchase_order_detail.html:136 +#: order/templates/order/purchase_order_detail.html:145 #: order/templates/order/sales_order_detail.html:125 -#: part/templates/part/detail.html:883 stock/templates/stock/item.html:230 +#: part/templates/part/detail.html:854 stock/templates/stock/item.html:230 +#: templates/js/translated/order.js:1230 msgid "Confirm Delete Operation" msgstr "" -#: build/templates/build/detail.html:384 +#: build/templates/build/detail.html:400 #: order/templates/order/po_attachments.html:59 -#: order/templates/order/purchase_order_detail.html:137 +#: order/templates/order/purchase_order_detail.html:146 #: order/templates/order/sales_order_detail.html:126 -#: part/templates/part/detail.html:884 stock/templates/stock/item.html:231 +#: part/templates/part/detail.html:855 stock/templates/stock/item.html:231 msgid "Delete Attachment" msgstr "" +#: build/templates/build/detail.html:443 +msgid "Allocation Complete" +msgstr "" + +#: build/templates/build/detail.html:444 +msgid "All untracked stock items have been allocated" +msgstr "" + #: build/templates/build/edit_build_item.html:7 msgid "Alter the quantity of stock allocated to the build output" msgstr "" @@ -1401,15 +1413,10 @@ msgid "Build Order Details" msgstr "" #: build/templates/build/navbar.html:15 order/templates/order/po_navbar.html:15 -#: templates/js/translated/stock.js:1555 +#: templates/js/translated/stock.js:1534 msgid "Details" msgstr "Detalles" -#: build/templates/build/navbar.html:20 build/templates/build/navbar.html:23 -#: build/views.py:90 -msgid "Allocate Stock" -msgstr "" - #: build/templates/build/navbar.html:28 build/templates/build/navbar.html:31 msgid "Build Outputs" msgstr "" @@ -1434,120 +1441,82 @@ msgstr "" msgid "Build was cancelled" msgstr "" -#: build/views.py:137 -msgid "Allocated stock to build output" -msgstr "" - -#: build/views.py:149 +#: build/views.py:88 msgid "Create Build Output" msgstr "" -#: build/views.py:167 +#: build/views.py:106 msgid "Maximum output quantity is " msgstr "" -#: build/views.py:183 stock/views.py:1389 +#: build/views.py:122 stock/views.py:1366 msgid "Serial numbers already exist" msgstr "" -#: build/views.py:192 +#: build/views.py:131 msgid "Serial numbers required for trackable build output" msgstr "" -#: build/views.py:258 +#: build/views.py:197 msgid "Delete Build Output" msgstr "" -#: build/views.py:279 build/views.py:369 +#: build/views.py:218 build/views.py:308 msgid "Confirm unallocation of build stock" msgstr "" -#: build/views.py:280 build/views.py:370 stock/views.py:404 +#: build/views.py:219 build/views.py:309 stock/views.py:381 msgid "Check the confirmation box" msgstr "" -#: build/views.py:292 +#: build/views.py:231 msgid "Build output does not match build" msgstr "" -#: build/views.py:294 build/views.py:495 +#: build/views.py:233 build/views.py:434 msgid "Build output must be specified" msgstr "" -#: build/views.py:306 +#: build/views.py:245 msgid "Build output deleted" msgstr "" -#: build/views.py:404 +#: build/views.py:343 msgid "Complete Build Order" msgstr "" -#: build/views.py:410 +#: build/views.py:349 msgid "Build order cannot be completed - incomplete outputs remain" msgstr "" -#: build/views.py:421 +#: build/views.py:360 msgid "Completed build order" msgstr "" -#: build/views.py:437 +#: build/views.py:376 msgid "Complete Build Output" msgstr "" -#: build/views.py:479 +#: build/views.py:418 msgid "Invalid stock status value selected" msgstr "" -#: build/views.py:486 +#: build/views.py:425 msgid "Quantity to complete cannot exceed build output quantity" msgstr "" -#: build/views.py:492 +#: build/views.py:431 msgid "Confirm completion of incomplete build" msgstr "" -#: build/views.py:591 +#: build/views.py:530 msgid "Build output completed" msgstr "" -#: build/views.py:628 +#: build/views.py:567 msgid "Delete Build Order" msgstr "" -#: build/views.py:643 -msgid "Removed parts from build allocation" -msgstr "" - -#: build/views.py:655 -msgid "Allocate stock to build output" -msgstr "" - -#: build/views.py:698 -msgid "Item must be currently in stock" -msgstr "" - -#: build/views.py:704 -msgid "Stock item is over-allocated" -msgstr "" - -#: build/views.py:705 templates/js/translated/bom.js:269 -#: templates/js/translated/build.js:728 templates/js/translated/build.js:1019 -#: templates/js/translated/build.js:1196 -msgid "Available" -msgstr "" - -#: build/views.py:707 -msgid "Stock item must be selected" -msgstr "" - -#: build/views.py:870 -msgid "Edit Stock Allocation" -msgstr "" - -#: build/views.py:874 -msgid "Updated Build Item" -msgstr "" - #: common/files.py:67 msgid "Unsupported file format: {ext.upper()}" msgstr "" @@ -1585,7 +1554,7 @@ msgstr "" msgid "Select {name} file to upload" msgstr "" -#: common/models.py:308 common/models.py:839 common/models.py:986 +#: common/models.py:308 common/models.py:887 common/models.py:1048 msgid "Settings key (must be unique - case insensitive" msgstr "" @@ -1625,7 +1594,7 @@ msgstr "" msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:522 company/models.py:99 company/models.py:100 +#: common/models.py:522 company/models.py:100 company/models.py:101 msgid "Company name" msgstr "" @@ -1721,9 +1690,9 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:603 part/models.py:2252 report/models.py:187 +#: common/models.py:603 part/models.py:2256 report/models.py:187 #: stock/forms.py:224 templates/js/translated/table_filters.js:38 -#: templates/js/translated/table_filters.js:342 +#: templates/js/translated/table_filters.js:351 msgid "Template" msgstr "" @@ -1731,9 +1700,9 @@ msgstr "" msgid "Parts are templates by default" msgstr "" -#: common/models.py:610 part/models.py:805 +#: common/models.py:610 part/models.py:806 #: templates/js/translated/table_filters.js:146 -#: templates/js/translated/table_filters.js:354 +#: templates/js/translated/table_filters.js:363 msgid "Assembly" msgstr "" @@ -1741,8 +1710,8 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:617 part/models.py:811 -#: templates/js/translated/table_filters.js:358 +#: common/models.py:617 part/models.py:812 +#: templates/js/translated/table_filters.js:367 msgid "Component" msgstr "" @@ -1750,7 +1719,7 @@ msgstr "" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:624 part/models.py:822 +#: common/models.py:624 part/models.py:823 msgid "Purchaseable" msgstr "" @@ -1758,8 +1727,8 @@ msgstr "" msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:631 part/models.py:827 -#: templates/js/translated/table_filters.js:366 +#: common/models.py:631 part/models.py:828 +#: templates/js/translated/table_filters.js:375 msgid "Salable" msgstr "" @@ -1767,9 +1736,9 @@ msgstr "" msgid "Parts are salable by default" msgstr "" -#: common/models.py:638 part/models.py:817 +#: common/models.py:638 part/models.py:818 #: templates/js/translated/table_filters.js:46 -#: templates/js/translated/table_filters.js:370 +#: templates/js/translated/table_filters.js:379 msgid "Trackable" msgstr "" @@ -1777,7 +1746,7 @@ msgstr "" msgid "Parts are trackable by default" msgstr "" -#: common/models.py:645 part/models.py:837 +#: common/models.py:645 part/models.py:838 #: part/templates/part/part_base.html:66 #: templates/js/translated/table_filters.js:42 msgid "Virtual" @@ -1787,392 +1756,464 @@ msgstr "" msgid "Parts are virtual by default" msgstr "" -#: common/models.py:653 -msgid "Show Quantity in Forms" -msgstr "" - -#: common/models.py:654 -msgid "Display available part quantity in some forms" -msgstr "" - -#: common/models.py:660 +#: common/models.py:652 msgid "Show Import in Views" msgstr "" -#: common/models.py:661 +#: common/models.py:653 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:667 +#: common/models.py:659 msgid "Show Price in Forms" msgstr "" -#: common/models.py:668 +#: common/models.py:660 msgid "Display part price in some forms" msgstr "" -#: common/models.py:674 +#: common/models.py:671 +msgid "Show Price in BOM" +msgstr "" + +#: common/models.py:672 +msgid "Include pricing information in BOM tables" +msgstr "" + +#: common/models.py:678 msgid "Show related parts" msgstr "" -#: common/models.py:675 +#: common/models.py:679 msgid "Display related parts for a part" msgstr "" -#: common/models.py:681 +#: common/models.py:685 msgid "Create initial stock" msgstr "" -#: common/models.py:682 +#: common/models.py:686 msgid "Create initial stock on part creation" msgstr "" -#: common/models.py:688 +#: common/models.py:692 msgid "Internal Prices" msgstr "" -#: common/models.py:689 +#: common/models.py:693 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:695 +#: common/models.py:699 msgid "Internal Price as BOM-Price" msgstr "" -#: common/models.py:696 +#: common/models.py:700 msgid "Use the internal price (if set) in BOM-price calculations" msgstr "" -#: common/models.py:702 templates/stats.html:25 +#: common/models.py:706 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:703 +#: common/models.py:707 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:709 +#: common/models.py:713 msgid "Page Size" msgstr "" -#: common/models.py:710 +#: common/models.py:714 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:720 +#: common/models.py:724 msgid "Test Reports" msgstr "" -#: common/models.py:721 +#: common/models.py:725 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:727 +#: common/models.py:731 msgid "Stock Expiry" msgstr "" -#: common/models.py:728 +#: common/models.py:732 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:734 +#: common/models.py:738 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:735 +#: common/models.py:739 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:741 +#: common/models.py:745 msgid "Stock Stale Time" msgstr "" -#: common/models.py:742 +#: common/models.py:746 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:744 +#: common/models.py:748 msgid "days" msgstr "días" -#: common/models.py:749 +#: common/models.py:753 msgid "Build Expired Stock" msgstr "" -#: common/models.py:750 +#: common/models.py:754 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:756 +#: common/models.py:760 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:757 +#: common/models.py:761 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:763 +#: common/models.py:767 msgid "Group by Part" msgstr "" -#: common/models.py:764 +#: common/models.py:768 msgid "Group stock items by part reference in table views" msgstr "" -#: common/models.py:770 +#: common/models.py:774 msgid "Build Order Reference Prefix" msgstr "" -#: common/models.py:771 +#: common/models.py:775 msgid "Prefix value for build order reference" msgstr "" -#: common/models.py:776 +#: common/models.py:780 msgid "Build Order Reference Regex" msgstr "" -#: common/models.py:777 +#: common/models.py:781 msgid "Regular expression pattern for matching build order reference" msgstr "" -#: common/models.py:781 +#: common/models.py:785 msgid "Sales Order Reference Prefix" msgstr "" -#: common/models.py:782 +#: common/models.py:786 msgid "Prefix value for sales order reference" msgstr "" -#: common/models.py:787 +#: common/models.py:791 msgid "Purchase Order Reference Prefix" msgstr "" -#: common/models.py:788 +#: common/models.py:792 msgid "Prefix value for purchase order reference" msgstr "" -#: common/models.py:794 +#: common/models.py:798 msgid "Enable build" msgstr "" -#: common/models.py:795 +#: common/models.py:799 msgid "Enable build functionality in InvenTree interface" msgstr "" -#: common/models.py:800 +#: common/models.py:804 msgid "Enable buy" msgstr "" -#: common/models.py:801 +#: common/models.py:805 msgid "Enable buy functionality in InvenTree interface" msgstr "" -#: common/models.py:806 +#: common/models.py:810 msgid "Enable sell" msgstr "" -#: common/models.py:807 +#: common/models.py:811 msgid "Enable sell functionality in InvenTree interface" msgstr "" -#: common/models.py:812 +#: common/models.py:816 msgid "Enable stock" msgstr "" -#: common/models.py:813 +#: common/models.py:817 msgid "Enable stock functionality in InvenTree interface" msgstr "" -#: common/models.py:818 +#: common/models.py:822 msgid "Enable SO" msgstr "" -#: common/models.py:819 +#: common/models.py:823 msgid "Enable SO functionality in InvenTree interface" msgstr "" -#: common/models.py:824 +#: common/models.py:828 msgid "Enable PO" msgstr "" -#: common/models.py:825 +#: common/models.py:829 msgid "Enable PO functionality in InvenTree interface" msgstr "" -#: common/models.py:850 +#: common/models.py:836 +msgid "Enable password forgot" +msgstr "" + +#: common/models.py:837 +msgid "Enable password forgot function on the login-pages" +msgstr "" + +#: common/models.py:842 +msgid "Enable registration" +msgstr "" + +#: common/models.py:843 +msgid "Enable self-registration for users on the login-pages" +msgstr "" + +#: common/models.py:848 +msgid "Enable SSO" +msgstr "" + +#: common/models.py:849 +msgid "Enable SSO on the login-pages" +msgstr "" + +#: common/models.py:854 +msgid "E-Mail required" +msgstr "" + +#: common/models.py:855 +msgid "Require user to supply mail on signup" +msgstr "" + +#: common/models.py:860 +msgid "Auto-fill SSO users" +msgstr "" + +#: common/models.py:861 +msgid "Automatically fill out user-details from SSO account-data" +msgstr "" + +#: common/models.py:866 +msgid "Mail twice" +msgstr "" + +#: common/models.py:867 +msgid "On signup ask users twice for their mail" +msgstr "" + +#: common/models.py:872 +msgid "Password twice" +msgstr "" + +#: common/models.py:873 +msgid "On signup ask users twice for their password" +msgstr "" + +#: common/models.py:898 msgid "Show starred parts" msgstr "" -#: common/models.py:851 +#: common/models.py:899 msgid "Show starred parts on the homepage" msgstr "" -#: common/models.py:856 +#: common/models.py:904 msgid "Show latest parts" msgstr "" -#: common/models.py:857 +#: common/models.py:905 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:862 +#: common/models.py:910 msgid "Recent Part Count" msgstr "" -#: common/models.py:863 +#: common/models.py:911 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:869 +#: common/models.py:917 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:870 +#: common/models.py:918 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:875 +#: common/models.py:923 msgid "Show recent stock changes" msgstr "" -#: common/models.py:876 +#: common/models.py:924 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:881 +#: common/models.py:929 msgid "Recent Stock Count" msgstr "" -#: common/models.py:882 +#: common/models.py:930 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:887 +#: common/models.py:935 msgid "Show low stock" msgstr "" -#: common/models.py:888 +#: common/models.py:936 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:893 +#: common/models.py:941 msgid "Show depleted stock" msgstr "" -#: common/models.py:894 +#: common/models.py:942 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:899 +#: common/models.py:947 msgid "Show needed stock" msgstr "" -#: common/models.py:900 +#: common/models.py:948 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:905 +#: common/models.py:953 msgid "Show expired stock" msgstr "" -#: common/models.py:906 +#: common/models.py:954 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:911 +#: common/models.py:959 msgid "Show stale stock" msgstr "" -#: common/models.py:912 +#: common/models.py:960 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:917 +#: common/models.py:965 msgid "Show pending builds" msgstr "" -#: common/models.py:918 +#: common/models.py:966 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:923 +#: common/models.py:971 msgid "Show overdue builds" msgstr "" -#: common/models.py:924 +#: common/models.py:972 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:929 +#: common/models.py:977 msgid "Show outstanding POs" msgstr "" -#: common/models.py:930 +#: common/models.py:978 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:935 +#: common/models.py:983 msgid "Show overdue POs" msgstr "" -#: common/models.py:936 +#: common/models.py:984 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:941 +#: common/models.py:989 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:942 +#: common/models.py:990 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:947 +#: common/models.py:995 msgid "Show overdue SOs" msgstr "" -#: common/models.py:948 +#: common/models.py:996 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:954 +#: common/models.py:1002 msgid "Inline label display" msgstr "" -#: common/models.py:955 +#: common/models.py:1003 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:961 +#: common/models.py:1009 msgid "Inline report display" msgstr "" -#: common/models.py:962 +#: common/models.py:1010 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:968 +#: common/models.py:1016 msgid "Search Preview Results" msgstr "" -#: common/models.py:969 +#: common/models.py:1017 msgid "Number of results to show in search preview window" msgstr "" -#: common/models.py:1026 company/forms.py:43 +#: common/models.py:1023 +msgid "Show Quantity in Forms" +msgstr "" + +#: common/models.py:1024 +msgid "Display available part quantity in some forms" +msgstr "" + +#: common/models.py:1030 +msgid "Escape Key Closes Forms" +msgstr "" + +#: common/models.py:1031 +msgid "Use the escape key to close modal forms" +msgstr "" + +#: common/models.py:1088 company/forms.py:43 msgid "Price break quantity" msgstr "" -#: common/models.py:1033 company/templates/company/supplier_part.html:231 -#: templates/js/translated/part.js:1322 +#: common/models.py:1095 company/templates/company/supplier_part.html:231 +#: templates/js/translated/part.js:1369 msgid "Price" msgstr "" -#: common/models.py:1034 +#: common/models.py:1096 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1127 +#: common/models.py:1189 msgid "Default" msgstr "" @@ -2199,7 +2240,7 @@ msgstr "" #: common/views.py:213 order/templates/order/order_wizard/po_upload.html:42 #: order/templates/order/po_navbar.html:19 #: order/templates/order/po_navbar.html:22 -#: order/templates/order/purchase_order_detail.html:26 order/views.py:290 +#: order/templates/order/purchase_order_detail.html:27 order/views.py:289 #: part/templates/part/bom_upload/upload_file.html:65 #: part/templates/part/import_wizard/part_upload.html:45 part/views.py:268 #: part/views.py:882 @@ -2207,7 +2248,7 @@ msgid "Upload File" msgstr "" #: common/views.py:214 order/templates/order/order_wizard/match_fields.html:52 -#: order/views.py:291 part/templates/part/bom_upload/match_fields.html:52 +#: order/views.py:290 part/templates/part/bom_upload/match_fields.html:52 #: part/templates/part/import_wizard/ajax_match_fields.html:45 #: part/templates/part/import_wizard/match_fields.html:52 part/views.py:269 #: part/views.py:883 @@ -2246,249 +2287,249 @@ msgstr "" msgid "Image URL" msgstr "" -#: company/models.py:104 +#: company/models.py:105 msgid "Company description" msgstr "" -#: company/models.py:105 +#: company/models.py:106 msgid "Description of the company" msgstr "" -#: company/models.py:111 company/templates/company/company_base.html:70 +#: company/models.py:112 company/templates/company/company_base.html:70 #: templates/js/translated/company.js:348 msgid "Website" msgstr "Página web" -#: company/models.py:112 +#: company/models.py:113 msgid "Company website URL" msgstr "" -#: company/models.py:116 company/templates/company/company_base.html:88 +#: company/models.py:117 company/templates/company/company_base.html:88 msgid "Address" msgstr "" -#: company/models.py:117 +#: company/models.py:118 msgid "Company address" msgstr "" -#: company/models.py:120 +#: company/models.py:121 msgid "Phone number" msgstr "Teléfono" -#: company/models.py:121 +#: company/models.py:122 msgid "Contact phone number" msgstr "Teléfono de contacto" -#: company/models.py:124 company/templates/company/company_base.html:102 +#: company/models.py:125 company/templates/company/company_base.html:102 msgid "Email" msgstr "Email" -#: company/models.py:124 +#: company/models.py:125 msgid "Contact email address" msgstr "" -#: company/models.py:127 company/templates/company/company_base.html:109 +#: company/models.py:128 company/templates/company/company_base.html:109 msgid "Contact" msgstr "Contacto" -#: company/models.py:128 +#: company/models.py:129 msgid "Point of contact" msgstr "" -#: company/models.py:130 company/models.py:347 company/models.py:563 -#: order/models.py:160 part/models.py:714 +#: company/models.py:131 company/models.py:348 company/models.py:564 +#: order/models.py:160 part/models.py:715 #: report/templates/report/inventree_build_order_base.html:165 -#: templates/js/translated/company.js:535 -#: templates/js/translated/company.js:823 templates/js/translated/part.js:972 +#: templates/js/translated/company.js:536 +#: templates/js/translated/company.js:825 templates/js/translated/part.js:983 msgid "Link" msgstr "" -#: company/models.py:130 +#: company/models.py:131 msgid "Link to external company information" msgstr "" -#: company/models.py:138 part/models.py:724 +#: company/models.py:139 part/models.py:725 msgid "Image" msgstr "" -#: company/models.py:143 +#: company/models.py:144 msgid "is customer" msgstr "" -#: company/models.py:143 +#: company/models.py:144 msgid "Do you sell items to this company?" msgstr "" -#: company/models.py:145 +#: company/models.py:146 msgid "is supplier" msgstr "" -#: company/models.py:145 +#: company/models.py:146 msgid "Do you purchase items from this company?" msgstr "" -#: company/models.py:147 +#: company/models.py:148 msgid "is manufacturer" msgstr "" -#: company/models.py:147 +#: company/models.py:148 msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:151 company/serializers.py:264 -#: company/templates/company/company_base.html:76 stock/serializers.py:155 +#: company/models.py:152 company/serializers.py:264 +#: company/templates/company/company_base.html:76 stock/serializers.py:158 msgid "Currency" msgstr "" -#: company/models.py:154 +#: company/models.py:155 msgid "Default currency used for this company" msgstr "" -#: company/models.py:319 company/models.py:534 stock/models.py:454 +#: company/models.py:320 company/models.py:535 stock/models.py:454 #: stock/templates/stock/item_base.html:237 msgid "Base Part" msgstr "" -#: company/models.py:323 company/models.py:538 order/views.py:1082 +#: company/models.py:324 company/models.py:539 order/views.py:912 msgid "Select part" msgstr "" -#: company/models.py:334 company/templates/company/company_base.html:116 +#: company/models.py:335 company/templates/company/company_base.html:116 #: company/templates/company/manufacturer_part.html:89 #: company/templates/company/supplier_part.html:98 part/bom.py:170 -#: part/bom.py:241 stock/templates/stock/item_base.html:366 +#: part/bom.py:247 stock/templates/stock/item_base.html:366 #: templates/js/translated/company.js:332 -#: templates/js/translated/company.js:512 -#: templates/js/translated/company.js:794 templates/js/translated/part.js:222 +#: templates/js/translated/company.js:513 +#: templates/js/translated/company.js:796 templates/js/translated/part.js:227 msgid "Manufacturer" msgstr "Fabricante" -#: company/models.py:335 templates/js/translated/part.js:223 +#: company/models.py:336 templates/js/translated/part.js:228 msgid "Select manufacturer" msgstr "" -#: company/models.py:341 company/templates/company/manufacturer_part.html:93 +#: company/models.py:342 company/templates/company/manufacturer_part.html:93 #: company/templates/company/supplier_part.html:106 part/bom.py:171 -#: part/bom.py:242 templates/js/translated/company.js:528 -#: templates/js/translated/company.js:812 templates/js/translated/order.js:505 -#: templates/js/translated/part.js:233 +#: part/bom.py:248 templates/js/translated/company.js:529 +#: templates/js/translated/company.js:814 templates/js/translated/order.js:851 +#: templates/js/translated/part.js:238 msgid "MPN" msgstr "" -#: company/models.py:342 templates/js/translated/part.js:234 +#: company/models.py:343 templates/js/translated/part.js:239 msgid "Manufacturer Part Number" msgstr "" -#: company/models.py:348 +#: company/models.py:349 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:354 +#: company/models.py:355 msgid "Manufacturer part description" msgstr "" -#: company/models.py:408 company/models.py:557 +#: company/models.py:409 company/models.py:558 #: company/templates/company/manufacturer_part.html:6 #: company/templates/company/manufacturer_part.html:23 #: stock/templates/stock/item_base.html:376 msgid "Manufacturer Part" msgstr "" -#: company/models.py:415 +#: company/models.py:416 msgid "Parameter name" msgstr "" -#: company/models.py:421 +#: company/models.py:422 #: report/templates/report/inventree_test_report_base.html:90 -#: stock/models.py:1819 templates/InvenTree/settings/header.html:8 -#: templates/js/translated/company.js:642 templates/js/translated/part.js:612 -#: templates/js/translated/stock.js:576 +#: stock/models.py:1816 templates/InvenTree/settings/header.html:8 +#: templates/js/translated/company.js:643 templates/js/translated/part.js:623 +#: templates/js/translated/stock.js:555 msgid "Value" msgstr "" -#: company/models.py:422 +#: company/models.py:423 msgid "Parameter value" msgstr "" -#: company/models.py:428 part/models.py:799 part/models.py:2220 -#: templates/js/translated/company.js:648 templates/js/translated/part.js:618 +#: company/models.py:429 part/models.py:800 part/models.py:2224 +#: templates/js/translated/company.js:649 templates/js/translated/part.js:629 msgid "Units" msgstr "" -#: company/models.py:429 +#: company/models.py:430 msgid "Parameter units" msgstr "" -#: company/models.py:501 +#: company/models.py:502 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:544 company/templates/company/company_base.html:121 +#: company/models.py:545 company/templates/company/company_base.html:121 #: company/templates/company/supplier_part.html:88 order/models.py:260 #: order/templates/order/order_base.html:92 #: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:175 -#: part/bom.py:286 stock/templates/stock/item_base.html:383 +#: part/bom.py:292 stock/templates/stock/item_base.html:383 #: templates/js/translated/company.js:336 -#: templates/js/translated/company.js:768 templates/js/translated/order.js:328 -#: templates/js/translated/part.js:203 +#: templates/js/translated/company.js:770 templates/js/translated/order.js:659 +#: templates/js/translated/part.js:208 msgid "Supplier" msgstr "Proveedor" -#: company/models.py:545 templates/js/translated/part.js:204 +#: company/models.py:546 templates/js/translated/part.js:209 msgid "Select supplier" msgstr "" -#: company/models.py:550 company/templates/company/supplier_part.html:92 -#: part/bom.py:176 part/bom.py:287 templates/js/translated/order.js:492 -#: templates/js/translated/part.js:214 +#: company/models.py:551 company/templates/company/supplier_part.html:92 +#: part/bom.py:176 part/bom.py:293 templates/js/translated/order.js:838 +#: templates/js/translated/part.js:219 msgid "SKU" msgstr "" -#: company/models.py:551 templates/js/translated/part.js:215 +#: company/models.py:552 templates/js/translated/part.js:220 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:558 +#: company/models.py:559 msgid "Select manufacturer part" msgstr "" -#: company/models.py:564 +#: company/models.py:565 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:570 +#: company/models.py:571 msgid "Supplier part description" msgstr "" -#: company/models.py:575 company/templates/company/supplier_part.html:120 -#: part/models.py:2368 report/templates/report/inventree_po_report.html:93 +#: company/models.py:576 company/templates/company/supplier_part.html:120 +#: part/models.py:2389 report/templates/report/inventree_po_report.html:93 #: report/templates/report/inventree_so_report.html:93 msgid "Note" msgstr "Nota" -#: company/models.py:579 part/models.py:1599 +#: company/models.py:580 part/models.py:1603 msgid "base cost" msgstr "" -#: company/models.py:579 part/models.py:1599 +#: company/models.py:580 part/models.py:1603 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:581 company/templates/company/supplier_part.html:113 +#: company/models.py:582 company/templates/company/supplier_part.html:113 #: stock/models.py:478 stock/templates/stock/item_base.html:324 -#: templates/js/translated/company.js:844 templates/js/translated/stock.js:1057 +#: templates/js/translated/company.js:846 templates/js/translated/stock.js:1036 msgid "Packaging" msgstr "" -#: company/models.py:581 +#: company/models.py:582 msgid "Part packaging" msgstr "" -#: company/models.py:583 part/models.py:1601 +#: company/models.py:584 part/models.py:1605 msgid "multiple" msgstr "" -#: company/models.py:583 +#: company/models.py:584 msgid "Order multiple" msgstr "" @@ -2502,7 +2543,7 @@ msgstr "" #: company/templates/company/company_base.html:9 #: company/templates/company/company_base.html:35 -#: templates/InvenTree/search.html:304 templates/js/translated/company.js:321 +#: templates/InvenTree/search.html:208 templates/js/translated/company.js:321 msgid "Company" msgstr "" @@ -2517,7 +2558,7 @@ msgid "Download image from URL" msgstr "" #: company/templates/company/company_base.html:46 -#: templates/js/translated/order.js:117 +#: templates/js/translated/order.js:120 msgid "Create Purchase Order" msgstr "" @@ -2542,22 +2583,22 @@ msgstr "" msgid "Phone" msgstr "Teléfono" -#: company/templates/company/company_base.html:126 order/models.py:550 -#: order/templates/order/sales_order_base.html:94 stock/models.py:496 +#: company/templates/company/company_base.html:126 order/models.py:558 +#: order/templates/order/sales_order_base.html:99 stock/models.py:496 #: stock/models.py:497 stock/templates/stock/item_base.html:276 -#: templates/js/translated/company.js:328 templates/js/translated/order.js:692 -#: templates/js/translated/stock.js:1608 +#: templates/js/translated/company.js:328 templates/js/translated/order.js:1038 +#: templates/js/translated/stock.js:1587 msgid "Customer" msgstr "Cliente" -#: company/templates/company/company_base.html:193 -#: part/templates/part/part_base.html:418 +#: company/templates/company/company_base.html:199 +#: part/templates/part/part_base.html:424 msgid "Upload Image" msgstr "" #: company/templates/company/detail.html:14 #: company/templates/company/manufacturer_part_navbar.html:18 -#: templates/InvenTree/search.html:164 +#: templates/InvenTree/search.html:150 msgid "Supplier Parts" msgstr "" @@ -2597,7 +2638,7 @@ msgstr "" msgid "Delete Parts" msgstr "" -#: company/templates/company/detail.html:54 templates/InvenTree/search.html:149 +#: company/templates/company/detail.html:54 templates/InvenTree/search.html:135 msgid "Manufacturer Parts" msgstr "" @@ -2620,9 +2661,9 @@ msgstr "" #: order/templates/order/purchase_orders.html:13 #: part/templates/part/detail.html:50 part/templates/part/navbar.html:82 #: part/templates/part/navbar.html:85 templates/InvenTree/index.html:260 -#: templates/InvenTree/search.html:325 -#: templates/InvenTree/settings/navbar.html:107 -#: templates/InvenTree/settings/navbar.html:109 templates/navbar.html:44 +#: templates/InvenTree/search.html:229 +#: templates/InvenTree/settings/navbar.html:119 +#: templates/InvenTree/settings/navbar.html:121 templates/navbar.html:44 #: users/models.py:45 msgid "Purchase Orders" msgstr "" @@ -2644,9 +2685,9 @@ msgstr "" #: order/templates/order/sales_orders.html:13 #: part/templates/part/detail.html:71 part/templates/part/navbar.html:91 #: part/templates/part/navbar.html:94 templates/InvenTree/index.html:291 -#: templates/InvenTree/search.html:345 -#: templates/InvenTree/settings/navbar.html:113 -#: templates/InvenTree/settings/navbar.html:115 templates/navbar.html:55 +#: templates/InvenTree/search.html:249 +#: templates/InvenTree/settings/navbar.html:125 +#: templates/InvenTree/settings/navbar.html:127 templates/navbar.html:55 #: users/models.py:46 msgid "Sales Orders" msgstr "" @@ -2664,7 +2705,7 @@ msgstr "" #: company/templates/company/detail.html:147 #: company/templates/company/navbar.html:61 #: company/templates/company/navbar.html:64 -#: templates/js/translated/build.js:620 +#: templates/js/translated/build.js:622 msgid "Assigned Stock" msgstr "" @@ -2696,12 +2737,12 @@ msgid "Order part" msgstr "" #: company/templates/company/manufacturer_part.html:45 -#: templates/js/translated/company.js:560 +#: templates/js/translated/company.js:561 msgid "Edit manufacturer part" msgstr "" #: company/templates/company/manufacturer_part.html:49 -#: templates/js/translated/company.js:561 +#: templates/js/translated/company.js:562 msgid "Delete manufacturer part" msgstr "" @@ -2718,7 +2759,7 @@ msgstr "" #: company/templates/company/manufacturer_part_navbar.html:21 #: company/views.py:49 part/templates/part/navbar.html:75 #: part/templates/part/navbar.html:78 part/templates/part/prices.html:163 -#: templates/InvenTree/search.html:316 templates/navbar.html:41 +#: templates/InvenTree/search.html:220 templates/navbar.html:41 msgid "Suppliers" msgstr "" @@ -2732,7 +2773,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:239 #: part/templates/part/detail.html:214 part/templates/part/detail.html:294 #: part/templates/part/detail.html:317 templates/js/translated/company.js:424 -#: templates/js/translated/helpers.js:31 users/models.py:194 +#: templates/js/translated/helpers.js:31 users/models.py:199 msgid "Delete" msgstr "Eliminar" @@ -2758,7 +2799,7 @@ msgid "Delete parameters" msgstr "" #: company/templates/company/manufacturer_part.html:176 -#: part/templates/part/detail.html:834 +#: part/templates/part/detail.html:805 msgid "Add Parameter" msgstr "" @@ -2777,16 +2818,15 @@ msgstr "" #: company/templates/company/manufacturer_part_navbar.html:29 #: company/templates/company/navbar.html:39 #: company/templates/company/supplier_part_navbar.html:15 -#: part/templates/part/navbar.html:38 stock/api.py:54 +#: part/templates/part/navbar.html:38 stock/api.py:52 #: stock/templates/stock/loc_link.html:7 stock/templates/stock/location.html:36 #: stock/templates/stock/stock_app_base.html:10 -#: templates/InvenTree/index.html:150 templates/InvenTree/search.html:196 -#: templates/InvenTree/search.html:232 -#: templates/InvenTree/settings/navbar.html:95 -#: templates/InvenTree/settings/navbar.html:97 -#: templates/js/translated/part.js:529 templates/js/translated/part.js:758 -#: templates/js/translated/part.js:934 templates/js/translated/stock.js:202 -#: templates/js/translated/stock.js:850 templates/navbar.html:32 +#: templates/InvenTree/index.html:150 templates/InvenTree/search.html:182 +#: templates/InvenTree/settings/navbar.html:107 +#: templates/InvenTree/settings/navbar.html:109 +#: templates/js/translated/part.js:540 templates/js/translated/part.js:769 +#: templates/js/translated/part.js:945 templates/js/translated/stock.js:182 +#: templates/js/translated/stock.js:829 templates/navbar.html:32 msgid "Stock" msgstr "" @@ -2815,7 +2855,7 @@ msgstr "" #: stock/templates/stock/location.html:148 #: stock/templates/stock/location_navbar.html:18 #: stock/templates/stock/location_navbar.html:21 -#: templates/InvenTree/search.html:198 templates/js/translated/stock.js:1507 +#: templates/InvenTree/search.html:184 templates/js/translated/stock.js:1486 #: templates/stats.html:93 templates/stats.html:102 users/models.py:43 msgid "Stock Items" msgstr "" @@ -2823,17 +2863,17 @@ msgstr "" #: company/templates/company/supplier_part.html:7 #: company/templates/company/supplier_part.html:24 stock/models.py:463 #: stock/templates/stock/item_base.html:388 -#: templates/js/translated/company.js:784 templates/js/translated/stock.js:1014 +#: templates/js/translated/company.js:786 templates/js/translated/stock.js:993 msgid "Supplier Part" msgstr "" #: company/templates/company/supplier_part.html:44 -#: templates/js/translated/company.js:857 +#: templates/js/translated/company.js:859 msgid "Edit supplier part" msgstr "" #: company/templates/company/supplier_part.html:48 -#: templates/js/translated/company.js:858 +#: templates/js/translated/company.js:860 msgid "Delete supplier part" msgstr "" @@ -2900,7 +2940,7 @@ msgid "New Supplier" msgstr "" #: company/views.py:55 part/templates/part/prices.html:167 -#: templates/InvenTree/search.html:306 templates/navbar.html:42 +#: templates/InvenTree/search.html:210 templates/navbar.html:42 msgid "Manufacturers" msgstr "Fabricantes" @@ -2908,7 +2948,7 @@ msgstr "Fabricantes" msgid "New Manufacturer" msgstr "" -#: company/views.py:61 templates/InvenTree/search.html:336 +#: company/views.py:61 templates/InvenTree/search.html:240 #: templates/navbar.html:53 msgid "Customers" msgstr "" @@ -3011,36 +3051,32 @@ msgstr "" msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" -#: order/api.py:302 -msgid "Destination location must be specified" +#: order/api.py:250 +msgid "Matching purchase order does not exist" msgstr "" -#: order/forms.py:30 order/templates/order/order_base.html:47 +#: order/forms.py:27 order/templates/order/order_base.html:50 msgid "Place order" msgstr "" -#: order/forms.py:41 order/templates/order/order_base.html:54 +#: order/forms.py:38 order/templates/order/order_base.html:57 msgid "Mark order as complete" msgstr "" -#: order/forms.py:52 order/forms.py:63 order/templates/order/order_base.html:59 -#: order/templates/order/sales_order_base.html:61 +#: order/forms.py:49 order/forms.py:60 order/templates/order/order_base.html:62 +#: order/templates/order/sales_order_base.html:64 msgid "Cancel order" msgstr "" -#: order/forms.py:74 order/templates/order/sales_order_base.html:58 +#: order/forms.py:71 order/templates/order/sales_order_base.html:61 msgid "Ship order" msgstr "" -#: order/forms.py:89 -msgid "Set all received parts listed above to this location (if left blank, use \"Destination\" column value in above table)" -msgstr "" - -#: order/forms.py:116 +#: order/forms.py:97 msgid "Enter stock item serial numbers" msgstr "" -#: order/forms.py:122 +#: order/forms.py:103 msgid "Enter quantity of stock items" msgstr "" @@ -3064,11 +3100,11 @@ msgstr "" msgid "Order notes" msgstr "" -#: order/models.py:247 order/models.py:540 +#: order/models.py:247 order/models.py:548 msgid "Order reference" msgstr "" -#: order/models.py:252 order/models.py:555 +#: order/models.py:252 order/models.py:563 msgid "Purchase order status" msgstr "" @@ -3077,7 +3113,7 @@ msgid "Company from which the items are being ordered" msgstr "" #: order/models.py:264 order/templates/order/order_base.html:98 -#: templates/js/translated/order.js:337 +#: templates/js/translated/order.js:668 msgid "Supplier Reference" msgstr "" @@ -3109,190 +3145,190 @@ msgstr "" msgid "Date order was completed" msgstr "" -#: order/models.py:313 stock/models.py:351 stock/models.py:1072 -msgid "Quantity must be greater than zero" -msgstr "" - #: order/models.py:318 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:421 -msgid "Lines can only be received against an order marked as 'Placed'" -msgstr "" - -#: order/models.py:425 +#: order/models.py:428 msgid "Quantity must be an integer" msgstr "" -#: order/models.py:427 +#: order/models.py:432 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:551 +#: order/models.py:559 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:557 +#: order/models.py:565 msgid "Customer Reference " msgstr "" -#: order/models.py:557 +#: order/models.py:565 msgid "Customer order reference code" msgstr "" -#: order/models.py:562 +#: order/models.py:570 msgid "Target date for order completion. Order will be overdue after this date." msgstr "" -#: order/models.py:565 templates/js/translated/order.js:733 +#: order/models.py:573 templates/js/translated/order.js:1079 msgid "Shipment Date" msgstr "" -#: order/models.py:572 +#: order/models.py:580 msgid "shipped by" msgstr "" -#: order/models.py:616 +#: order/models.py:624 msgid "SalesOrder cannot be shipped as it is not currently pending" msgstr "" -#: order/models.py:713 +#: order/models.py:721 msgid "Item quantity" msgstr "" -#: order/models.py:719 +#: order/models.py:727 msgid "Line item reference" msgstr "" -#: order/models.py:721 +#: order/models.py:729 msgid "Line item notes" msgstr "" -#: order/models.py:751 order/models.py:835 templates/js/translated/order.js:785 +#: order/models.py:759 order/models.py:847 +#: templates/js/translated/order.js:1131 msgid "Order" msgstr "" -#: order/models.py:752 order/templates/order/order_base.html:9 +#: order/models.py:760 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:24 #: report/templates/report/inventree_po_report.html:77 #: stock/templates/stock/item_base.html:338 -#: templates/js/translated/order.js:306 templates/js/translated/stock.js:991 -#: templates/js/translated/stock.js:1589 +#: templates/js/translated/order.js:637 templates/js/translated/stock.js:970 +#: templates/js/translated/stock.js:1568 msgid "Purchase Order" msgstr "" -#: order/models.py:773 +#: order/models.py:781 msgid "Supplier part" msgstr "" -#: order/models.py:780 order/templates/order/order_base.html:131 -#: order/templates/order/receive_parts.html:22 -#: order/templates/order/sales_order_base.html:133 -#: templates/js/translated/order.js:573 +#: order/models.py:788 order/templates/order/order_base.html:131 +#: order/templates/order/sales_order_base.html:138 +#: templates/js/translated/order.js:428 templates/js/translated/order.js:919 msgid "Received" msgstr "" -#: order/models.py:781 +#: order/models.py:789 msgid "Number of items received" msgstr "" -#: order/models.py:788 part/templates/part/prices.html:176 stock/models.py:588 -#: stock/serializers.py:147 stock/templates/stock/item_base.html:345 -#: templates/js/translated/stock.js:1045 +#: order/models.py:796 part/templates/part/prices.html:176 stock/models.py:588 +#: stock/serializers.py:150 stock/templates/stock/item_base.html:345 +#: templates/js/translated/stock.js:1024 msgid "Purchase Price" msgstr "" -#: order/models.py:789 +#: order/models.py:797 msgid "Unit purchase price" msgstr "" -#: order/models.py:797 +#: order/models.py:805 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:843 part/templates/part/part_pricing.html:112 +#: order/models.py:857 part/templates/part/part_pricing.html:112 #: part/templates/part/prices.html:116 part/templates/part/prices.html:284 msgid "Sale Price" msgstr "" -#: order/models.py:844 +#: order/models.py:858 msgid "Unit sale price" msgstr "" -#: order/models.py:923 order/models.py:925 +#: order/models.py:937 order/models.py:939 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:929 +#: order/models.py:943 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:931 +#: order/models.py:945 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:934 +#: order/models.py:948 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:944 +#: order/models.py:952 +msgid "StockItem is over-allocated" +msgstr "" + +#: order/models.py:958 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:949 +#: order/models.py:966 msgid "Line" msgstr "" -#: order/models.py:960 +#: order/models.py:978 msgid "Item" msgstr "" -#: order/models.py:961 +#: order/models.py:979 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:964 +#: order/models.py:982 msgid "Enter stock allocation quantity" msgstr "" -#: order/serializers.py:166 +#: order/serializers.py:167 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:201 +#: order/serializers.py:202 msgid "Line Item" msgstr "" -#: order/serializers.py:207 +#: order/serializers.py:208 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:217 order/serializers.py:276 +#: order/serializers.py:218 order/serializers.py:285 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:234 +#: order/serializers.py:242 msgid "Barcode Hash" msgstr "" -#: order/serializers.py:235 +#: order/serializers.py:243 msgid "Unique identifier field" msgstr "" -#: order/serializers.py:250 +#: order/serializers.py:259 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:289 +#: order/serializers.py:297 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:299 +#: order/serializers.py:314 +msgid "Destination location must be specified" +msgstr "" + +#: order/serializers.py:325 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:514 +#: order/serializers.py:569 msgid "Sale price currency" msgstr "" @@ -3307,31 +3343,32 @@ msgstr "" msgid "Print" msgstr "" -#: order/templates/order/order_base.html:43 -#: order/templates/order/sales_order_base.html:54 +#: order/templates/order/order_base.html:42 +#: order/templates/order/sales_order_base.html:53 +msgid "Export order to file" +msgstr "" + +#: order/templates/order/order_base.html:46 +#: order/templates/order/sales_order_base.html:57 msgid "Edit order information" msgstr "" -#: order/templates/order/order_base.html:51 +#: order/templates/order/order_base.html:54 msgid "Receive items" msgstr "" -#: order/templates/order/order_base.html:64 -msgid "Export order to file" -msgstr "" - #: order/templates/order/order_base.html:72 #: order/templates/order/po_navbar.html:12 msgid "Purchase Order Details" msgstr "" #: order/templates/order/order_base.html:77 -#: order/templates/order/sales_order_base.html:79 +#: order/templates/order/sales_order_base.html:84 msgid "Order Reference" msgstr "" #: order/templates/order/order_base.html:82 -#: order/templates/order/sales_order_base.html:84 +#: order/templates/order/sales_order_base.html:89 msgid "Order Status" msgstr "" @@ -3344,16 +3381,6 @@ msgstr "" msgid "Edit Purchase Order" msgstr "" -#: order/templates/order/order_base.html:196 -#: stock/templates/stock/location.html:250 templates/js/translated/order.js:437 -msgid "New Location" -msgstr "" - -#: order/templates/order/order_base.html:197 -#: stock/templates/stock/location.html:42 templates/js/translated/order.js:438 -msgid "Create new stock location" -msgstr "" - #: order/templates/order/order_cancel.html:8 msgid "Cancelling this order means that the order and line items will no longer be editable." msgstr "" @@ -3426,6 +3453,7 @@ msgstr "" #: part/templates/part/import_wizard/ajax_match_references.html:42 #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 +#: templates/js/translated/build.js:869 templates/js/translated/order.js:376 msgid "Remove row" msgstr "" @@ -3502,7 +3530,7 @@ msgid "Select existing purchase orders, or create new orders." msgstr "" #: order/templates/order/order_wizard/select_pos.html:31 -#: templates/js/translated/order.js:363 templates/js/translated/order.js:738 +#: templates/js/translated/order.js:694 templates/js/translated/order.js:1084 msgid "Items" msgstr "" @@ -3522,7 +3550,7 @@ msgstr "" #: order/templates/order/po_attachments.html:12 #: order/templates/order/po_navbar.html:32 -#: order/templates/order/purchase_order_detail.html:47 +#: order/templates/order/purchase_order_detail.html:56 msgid "Purchase Order Attachments" msgstr "" @@ -3532,7 +3560,7 @@ msgstr "" #: order/templates/order/po_navbar.html:29 #: order/templates/order/po_received_items.html:12 -#: order/templates/order/purchase_order_detail.html:38 +#: order/templates/order/purchase_order_detail.html:47 msgid "Received Items" msgstr "" @@ -3540,14 +3568,22 @@ msgstr "" msgid "Purchase Order Items" msgstr "" -#: order/templates/order/purchase_order_detail.html:23 -#: order/templates/order/purchase_order_detail.html:203 +#: order/templates/order/purchase_order_detail.html:24 +#: order/templates/order/purchase_order_detail.html:212 #: order/templates/order/sales_order_detail.html:23 #: order/templates/order/sales_order_detail.html:177 msgid "Add Line Item" msgstr "" -#: order/templates/order/purchase_order_detail.html:58 +#: order/templates/order/purchase_order_detail.html:30 +msgid "Receive selected items" +msgstr "" + +#: order/templates/order/purchase_order_detail.html:31 +msgid "Receive Items" +msgstr "" + +#: order/templates/order/purchase_order_detail.html:67 #: order/templates/order/sales_order_detail.html:54 msgid "Order Notes" msgstr "" @@ -3557,67 +3593,24 @@ msgstr "" msgid "Print Order Reports" msgstr "" -#: order/templates/order/receive_parts.html:8 -#, python-format -msgid "Receive outstanding parts for %(order)s - %(desc)s" -msgstr "" - -#: order/templates/order/receive_parts.html:14 part/api.py:54 -#: part/models.py:298 part/templates/part/cat_link.html:7 -#: part/templates/part/category.html:108 part/templates/part/category.html:122 -#: part/templates/part/category_navbar.html:21 -#: part/templates/part/category_navbar.html:24 -#: templates/InvenTree/index.html:102 templates/InvenTree/search.html:114 -#: templates/InvenTree/settings/navbar.html:83 -#: templates/InvenTree/settings/navbar.html:85 -#: templates/js/translated/part.js:1154 templates/navbar.html:29 -#: templates/stats.html:80 templates/stats.html:89 users/models.py:41 -msgid "Parts" -msgstr "" - -#: order/templates/order/receive_parts.html:15 -msgid "Fill out number of parts received, the status and destination" -msgstr "" - -#: order/templates/order/receive_parts.html:20 -msgid "Order Code" -msgstr "" - -#: order/templates/order/receive_parts.html:21 -#: part/templates/part/part_base.html:167 templates/js/translated/part.js:949 -msgid "On Order" -msgstr "" - -#: order/templates/order/receive_parts.html:23 -msgid "Receive" -msgstr "" - -#: order/templates/order/receive_parts.html:37 -msgid "Error: Referenced part has been removed" -msgstr "" - -#: order/templates/order/receive_parts.html:68 -msgid "Remove line" -msgstr "" - #: order/templates/order/sales_order_base.html:16 msgid "This Sales Order has not been fully allocated" msgstr "" -#: order/templates/order/sales_order_base.html:66 +#: order/templates/order/sales_order_base.html:70 msgid "Packing List" msgstr "" -#: order/templates/order/sales_order_base.html:74 +#: order/templates/order/sales_order_base.html:79 msgid "Sales Order Details" msgstr "" -#: order/templates/order/sales_order_base.html:100 -#: templates/js/translated/order.js:705 +#: order/templates/order/sales_order_base.html:105 +#: templates/js/translated/order.js:1051 msgid "Customer Reference" msgstr "" -#: order/templates/order/sales_order_base.html:178 +#: order/templates/order/sales_order_base.html:183 msgid "Edit Sales Order" msgstr "" @@ -3636,105 +3629,6 @@ msgstr "" msgid "Sales Order Items" msgstr "" -#: order/templates/order/sales_order_detail.html:226 -#: templates/js/translated/bom.js:394 templates/js/translated/build.js:782 -#: templates/js/translated/build.js:1219 -msgid "Actions" -msgstr "" - -#: order/templates/order/sales_order_detail.html:233 -#: templates/js/translated/build.js:668 templates/js/translated/build.js:1030 -msgid "Edit stock allocation" -msgstr "" - -#: order/templates/order/sales_order_detail.html:234 -#: templates/js/translated/build.js:670 templates/js/translated/build.js:1031 -msgid "Delete stock allocation" -msgstr "" - -#: order/templates/order/sales_order_detail.html:307 -msgid "No matching line items" -msgstr "" - -#: order/templates/order/sales_order_detail.html:337 -msgid "ID" -msgstr "" - -#: order/templates/order/sales_order_detail.html:354 -#: templates/js/translated/order.js:481 -msgid "Total" -msgstr "" - -#: order/templates/order/sales_order_detail.html:377 -#: templates/js/translated/order.js:534 templates/js/translated/part.js:1296 -#: templates/js/translated/part.js:1507 -msgid "Unit Price" -msgstr "" - -#: order/templates/order/sales_order_detail.html:384 -#: templates/js/translated/order.js:543 -msgid "Total price" -msgstr "" - -#: order/templates/order/sales_order_detail.html:405 -#: templates/js/translated/build.js:733 templates/js/translated/build.js:1026 -msgid "Allocated" -msgstr "" - -#: order/templates/order/sales_order_detail.html:407 -msgid "Fulfilled" -msgstr "" - -#: order/templates/order/sales_order_detail.html:444 -msgid "PO" -msgstr "" - -#: order/templates/order/sales_order_detail.html:474 -msgid "Allocate serial numbers" -msgstr "" - -#: order/templates/order/sales_order_detail.html:477 -#: templates/js/translated/build.js:796 -msgid "Allocate stock" -msgstr "" - -#: order/templates/order/sales_order_detail.html:480 -msgid "Purchase stock" -msgstr "" - -#: order/templates/order/sales_order_detail.html:484 -#: templates/js/translated/build.js:789 templates/js/translated/build.js:1227 -msgid "Build stock" -msgstr "" - -#: order/templates/order/sales_order_detail.html:487 -#: order/templates/order/sales_order_detail.html:606 -msgid "Calculate price" -msgstr "" - -#: order/templates/order/sales_order_detail.html:490 -#: templates/js/translated/order.js:616 -msgid "Edit line item" -msgstr "" - -#: order/templates/order/sales_order_detail.html:491 -msgid "Delete line item " -msgstr "" - -#: order/templates/order/sales_order_detail.html:519 -#: templates/js/translated/order.js:403 -msgid "Edit Line Item" -msgstr "" - -#: order/templates/order/sales_order_detail.html:529 -#: templates/js/translated/order.js:415 -msgid "Delete Line Item" -msgstr "" - -#: order/templates/order/sales_order_detail.html:612 -msgid "Update Unit Price" -msgstr "" - #: order/templates/order/sales_order_ship.html:10 msgid "This order has not been fully allocated. If the order is marked as shipped, it can no longer be adjusted." msgstr "" @@ -3759,10 +3653,6 @@ msgstr "" msgid "Allocate stock items by serial number" msgstr "" -#: order/templates/order/so_allocation_delete.html:7 -msgid "This action will unallocate the following stock from the Sales Order" -msgstr "" - #: order/templates/order/so_navbar.html:12 msgid "Sales Order Line Items" msgstr "" @@ -3775,149 +3665,129 @@ msgstr "" msgid "Sales Order Attachments" msgstr "" -#: order/views.py:104 +#: order/views.py:103 msgid "Cancel Order" msgstr "" -#: order/views.py:113 order/views.py:139 +#: order/views.py:112 order/views.py:138 msgid "Confirm order cancellation" msgstr "" -#: order/views.py:116 order/views.py:142 +#: order/views.py:115 order/views.py:141 msgid "Order cannot be cancelled" msgstr "" -#: order/views.py:130 +#: order/views.py:129 msgid "Cancel sales order" msgstr "" -#: order/views.py:156 +#: order/views.py:155 msgid "Issue Order" msgstr "" -#: order/views.py:165 +#: order/views.py:164 msgid "Confirm order placement" msgstr "" -#: order/views.py:175 +#: order/views.py:174 msgid "Purchase order issued" msgstr "" -#: order/views.py:186 +#: order/views.py:185 msgid "Complete Order" msgstr "" -#: order/views.py:202 +#: order/views.py:201 msgid "Confirm order completion" msgstr "" -#: order/views.py:213 +#: order/views.py:212 msgid "Purchase order completed" msgstr "" -#: order/views.py:223 +#: order/views.py:222 msgid "Ship Order" msgstr "" -#: order/views.py:239 +#: order/views.py:238 msgid "Confirm order shipment" msgstr "" -#: order/views.py:245 +#: order/views.py:244 msgid "Could not ship order" msgstr "" -#: order/views.py:292 +#: order/views.py:291 msgid "Match Supplier Parts" msgstr "" -#: order/views.py:480 -msgid "Receive Parts" -msgstr "" - -#: order/views.py:552 -msgid "Items received" -msgstr "" - -#: order/views.py:620 -msgid "Error converting quantity to number" -msgstr "" - -#: order/views.py:626 -msgid "Receive quantity less than zero" -msgstr "" - -#: order/views.py:632 -msgid "No lines specified" -msgstr "" - -#: order/views.py:705 +#: order/views.py:535 msgid "Update prices" msgstr "" -#: order/views.py:963 +#: order/views.py:793 #, python-brace-format msgid "Ordered {n} parts" msgstr "" -#: order/views.py:1016 +#: order/views.py:846 msgid "Allocate Serial Numbers" msgstr "" -#: order/views.py:1061 +#: order/views.py:891 #, python-brace-format msgid "Allocated {n} items" msgstr "" -#: order/views.py:1077 +#: order/views.py:907 msgid "Select line item" msgstr "" -#: order/views.py:1108 +#: order/views.py:938 #, python-brace-format msgid "No matching item for serial {serial}" msgstr "" -#: order/views.py:1118 +#: order/views.py:948 #, python-brace-format msgid "{serial} is not in stock" msgstr "" -#: order/views.py:1126 +#: order/views.py:956 #, python-brace-format msgid "{serial} already allocated to an order" msgstr "" -#: order/views.py:1180 -msgid "Allocate Stock to Order" -msgstr "" - -#: order/views.py:1254 -msgid "Edit Allocation Quantity" -msgstr "" - -#: order/views.py:1269 -msgid "Remove allocation" -msgstr "" - -#: order/views.py:1341 +#: order/views.py:1072 msgid "Sales order not found" msgstr "" -#: order/views.py:1347 +#: order/views.py:1078 msgid "Price not found" msgstr "" -#: order/views.py:1350 +#: order/views.py:1081 #, python-brace-format msgid "Updated {part} unit-price to {price}" msgstr "" -#: order/views.py:1355 +#: order/views.py:1086 #, python-brace-format msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" +#: part/api.py:54 part/models.py:299 part/templates/part/cat_link.html:7 +#: part/templates/part/category.html:108 part/templates/part/category.html:122 +#: part/templates/part/category_navbar.html:21 +#: part/templates/part/category_navbar.html:24 +#: templates/InvenTree/index.html:102 templates/InvenTree/search.html:114 +#: templates/InvenTree/settings/navbar.html:95 +#: templates/InvenTree/settings/navbar.html:97 +#: templates/js/translated/part.js:1165 templates/navbar.html:29 +#: templates/stats.html:80 templates/stats.html:89 users/models.py:41 +msgid "Parts" +msgstr "" + #: part/api.py:700 msgid "Must be greater than zero" msgstr "" @@ -3934,7 +3804,7 @@ msgstr "" msgid "This field is required" msgstr "" -#: part/bom.py:133 part/models.py:75 part/models.py:733 +#: part/bom.py:133 part/models.py:76 part/models.py:734 #: part/templates/part/category.html:75 part/templates/part/part_base.html:290 msgid "Default Location" msgstr "" @@ -3999,7 +3869,7 @@ msgstr "" msgid "Include part supplier data in exported BOM" msgstr "" -#: part/forms.py:96 part/models.py:2250 +#: part/forms.py:96 part/models.py:2254 msgid "Parent Part" msgstr "" @@ -4043,391 +3913,387 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:76 +#: part/models.py:77 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:79 +#: part/models.py:80 msgid "Default keywords" msgstr "" -#: part/models.py:79 +#: part/models.py:80 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:89 part/models.py:2296 +#: part/models.py:90 part/models.py:2300 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:90 part/templates/part/category.html:32 +#: part/models.py:91 part/templates/part/category.html:32 #: part/templates/part/category.html:103 templates/InvenTree/search.html:127 #: templates/stats.html:84 users/models.py:40 msgid "Part Categories" msgstr "" -#: part/models.py:383 +#: part/models.py:384 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:435 part/models.py:447 +#: part/models.py:436 part/models.py:448 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:544 +#: part/models.py:545 msgid "Next available serial numbers are" msgstr "" -#: part/models.py:548 +#: part/models.py:549 msgid "Next available serial number is" msgstr "" -#: part/models.py:553 +#: part/models.py:554 msgid "Most recent serial number is" msgstr "" -#: part/models.py:632 +#: part/models.py:633 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:657 +#: part/models.py:658 msgid "Part name" msgstr "" -#: part/models.py:664 +#: part/models.py:665 msgid "Is Template" msgstr "" -#: part/models.py:665 +#: part/models.py:666 msgid "Is this part a template part?" msgstr "" -#: part/models.py:675 +#: part/models.py:676 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:676 +#: part/models.py:677 msgid "Variant Of" msgstr "" -#: part/models.py:682 +#: part/models.py:683 msgid "Part description" msgstr "" -#: part/models.py:687 part/templates/part/category.html:82 +#: part/models.py:688 part/templates/part/category.html:82 #: part/templates/part/part_base.html:259 msgid "Keywords" msgstr "" -#: part/models.py:688 +#: part/models.py:689 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:695 part/models.py:2295 +#: part/models.py:696 part/models.py:2299 #: part/templates/part/set_category.html:15 -#: templates/InvenTree/settings/settings.html:167 -#: templates/js/translated/part.js:916 +#: templates/InvenTree/settings/settings.html:169 +#: templates/js/translated/part.js:927 msgid "Category" msgstr "" -#: part/models.py:696 +#: part/models.py:697 msgid "Part category" msgstr "" -#: part/models.py:701 part/templates/part/part_base.html:235 -#: templates/js/translated/part.js:517 templates/js/translated/part.js:749 +#: part/models.py:702 part/templates/part/part_base.html:235 +#: templates/js/translated/part.js:528 templates/js/translated/part.js:760 msgid "IPN" msgstr "" -#: part/models.py:702 +#: part/models.py:703 msgid "Internal Part Number" msgstr "" -#: part/models.py:708 +#: part/models.py:709 msgid "Part revision or version number" msgstr "" -#: part/models.py:709 part/templates/part/part_base.html:252 -#: report/models.py:200 templates/js/translated/part.js:521 +#: part/models.py:710 part/templates/part/part_base.html:252 +#: report/models.py:200 templates/js/translated/part.js:532 msgid "Revision" msgstr "" -#: part/models.py:731 +#: part/models.py:732 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:778 part/templates/part/part_base.html:297 +#: part/models.py:779 part/templates/part/part_base.html:297 msgid "Default Supplier" msgstr "" -#: part/models.py:779 +#: part/models.py:780 msgid "Default supplier part" msgstr "" -#: part/models.py:786 +#: part/models.py:787 msgid "Default Expiry" msgstr "" -#: part/models.py:787 +#: part/models.py:788 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:792 +#: part/models.py:793 msgid "Minimum Stock" msgstr "" -#: part/models.py:793 +#: part/models.py:794 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:800 +#: part/models.py:801 msgid "Stock keeping units for this part" msgstr "" -#: part/models.py:806 +#: part/models.py:807 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:812 +#: part/models.py:813 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:818 +#: part/models.py:819 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:823 +#: part/models.py:824 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:828 +#: part/models.py:829 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:832 templates/js/translated/table_filters.js:34 +#: part/models.py:833 templates/js/translated/table_filters.js:34 #: templates/js/translated/table_filters.js:82 #: templates/js/translated/table_filters.js:268 -#: templates/js/translated/table_filters.js:337 +#: templates/js/translated/table_filters.js:346 msgid "Active" msgstr "" -#: part/models.py:833 +#: part/models.py:834 msgid "Is this part active?" msgstr "" -#: part/models.py:838 +#: part/models.py:839 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:843 +#: part/models.py:844 msgid "Part notes - supports Markdown formatting" msgstr "" -#: part/models.py:846 +#: part/models.py:847 msgid "BOM checksum" msgstr "" -#: part/models.py:846 +#: part/models.py:847 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:849 +#: part/models.py:850 msgid "BOM checked by" msgstr "" -#: part/models.py:851 +#: part/models.py:852 msgid "BOM checked date" msgstr "" -#: part/models.py:855 +#: part/models.py:856 msgid "Creation User" msgstr "" -#: part/models.py:1601 +#: part/models.py:1605 msgid "Sell multiple" msgstr "" -#: part/models.py:2096 +#: part/models.py:2100 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:2113 +#: part/models.py:2117 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:2133 templates/js/translated/part.js:1205 -#: templates/js/translated/stock.js:556 +#: part/models.py:2137 templates/js/translated/part.js:1216 +#: templates/js/translated/stock.js:535 msgid "Test Name" msgstr "" -#: part/models.py:2134 +#: part/models.py:2138 msgid "Enter a name for the test" msgstr "" -#: part/models.py:2139 +#: part/models.py:2143 msgid "Test Description" msgstr "" -#: part/models.py:2140 +#: part/models.py:2144 msgid "Enter description for this test" msgstr "" -#: part/models.py:2145 templates/js/translated/part.js:1214 +#: part/models.py:2149 templates/js/translated/part.js:1225 #: templates/js/translated/table_filters.js:254 msgid "Required" msgstr "" -#: part/models.py:2146 +#: part/models.py:2150 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:2151 templates/js/translated/part.js:1222 +#: part/models.py:2155 templates/js/translated/part.js:1233 msgid "Requires Value" msgstr "" -#: part/models.py:2152 +#: part/models.py:2156 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:2157 templates/js/translated/part.js:1229 +#: part/models.py:2161 templates/js/translated/part.js:1240 msgid "Requires Attachment" msgstr "" -#: part/models.py:2158 +#: part/models.py:2162 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:2169 +#: part/models.py:2173 #, python-brace-format msgid "Illegal character in template name ({c})" msgstr "" -#: part/models.py:2205 +#: part/models.py:2209 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:2213 +#: part/models.py:2217 msgid "Parameter Name" msgstr "" -#: part/models.py:2220 +#: part/models.py:2224 msgid "Parameter Units" msgstr "" -#: part/models.py:2252 part/models.py:2301 part/models.py:2302 -#: templates/InvenTree/settings/settings.html:162 +#: part/models.py:2256 part/models.py:2305 part/models.py:2306 +#: templates/InvenTree/settings/settings.html:164 msgid "Parameter Template" msgstr "" -#: part/models.py:2254 +#: part/models.py:2258 msgid "Data" msgstr "" -#: part/models.py:2254 +#: part/models.py:2258 msgid "Parameter Value" msgstr "" -#: part/models.py:2306 templates/InvenTree/settings/settings.html:171 +#: part/models.py:2310 templates/InvenTree/settings/settings.html:173 msgid "Default Value" msgstr "" -#: part/models.py:2307 +#: part/models.py:2311 msgid "Default Parameter Value" msgstr "" -#: part/models.py:2341 +#: part/models.py:2362 msgid "Select parent part" msgstr "" -#: part/models.py:2349 +#: part/models.py:2370 msgid "Sub part" msgstr "" -#: part/models.py:2350 +#: part/models.py:2371 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:2356 +#: part/models.py:2377 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:2358 templates/js/translated/bom.js:256 -#: templates/js/translated/bom.js:314 +#: part/models.py:2379 templates/js/translated/bom.js:275 +#: templates/js/translated/bom.js:335 msgid "Optional" msgstr "" -#: part/models.py:2358 +#: part/models.py:2379 msgid "This BOM item is optional" msgstr "" -#: part/models.py:2361 +#: part/models.py:2382 msgid "Overage" msgstr "" -#: part/models.py:2362 +#: part/models.py:2383 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:2365 +#: part/models.py:2386 msgid "BOM item reference" msgstr "" -#: part/models.py:2368 +#: part/models.py:2389 msgid "BOM item notes" msgstr "" -#: part/models.py:2370 +#: part/models.py:2391 msgid "Checksum" msgstr "" -#: part/models.py:2370 +#: part/models.py:2391 msgid "BOM line checksum" msgstr "" -#: part/models.py:2374 templates/js/translated/bom.js:331 -#: templates/js/translated/bom.js:338 +#: part/models.py:2395 templates/js/translated/bom.js:352 +#: templates/js/translated/bom.js:359 #: templates/js/translated/table_filters.js:68 msgid "Inherited" msgstr "" -#: part/models.py:2375 +#: part/models.py:2396 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:2380 templates/js/translated/bom.js:323 +#: part/models.py:2401 templates/js/translated/bom.js:344 msgid "Allow Variants" msgstr "" -#: part/models.py:2381 +#: part/models.py:2402 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:2466 stock/models.py:341 +#: part/models.py:2487 stock/models.py:341 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:2475 part/models.py:2477 +#: part/models.py:2496 part/models.py:2498 msgid "Sub part must be specified" msgstr "" -#: part/models.py:2480 -msgid "BOM Item" -msgstr "" - -#: part/models.py:2599 +#: part/models.py:2620 msgid "Part 1" msgstr "" -#: part/models.py:2603 +#: part/models.py:2624 msgid "Part 2" msgstr "" -#: part/models.py:2603 +#: part/models.py:2624 msgid "Select Related Part" msgstr "" -#: part/models.py:2635 +#: part/models.py:2656 msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique" msgstr "" @@ -4578,7 +4444,7 @@ msgstr "Exportar" msgid "Create new part" msgstr "" -#: part/templates/part/category.html:131 +#: part/templates/part/category.html:131 templates/js/translated/bom.js:39 msgid "New Part" msgstr "" @@ -4658,7 +4524,7 @@ msgstr "" msgid "Import Parts" msgstr "" -#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:352 +#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:363 msgid "Duplicate Part" msgstr "" @@ -4785,34 +4651,26 @@ msgstr "" msgid "Add Test Result Template" msgstr "" -#: part/templates/part/detail.html:716 -msgid "Edit Test Result Template" -msgstr "" - -#: part/templates/part/detail.html:728 -msgid "Delete Test Result Template" -msgstr "" - -#: part/templates/part/detail.html:784 +#: part/templates/part/detail.html:755 msgid "Edit Part Notes" msgstr "" -#: part/templates/part/detail.html:936 +#: part/templates/part/detail.html:907 #, python-format msgid "Purchase Unit Price - %(currency)s" msgstr "" -#: part/templates/part/detail.html:948 +#: part/templates/part/detail.html:919 #, python-format msgid "Unit Price-Cost Difference - %(currency)s" msgstr "" -#: part/templates/part/detail.html:960 +#: part/templates/part/detail.html:931 #, python-format msgid "Supplier Unit Cost - %(currency)s" msgstr "" -#: part/templates/part/detail.html:1049 +#: part/templates/part/detail.html:1020 #, python-format msgid "Unit Price - %(currency)s" msgstr "" @@ -4874,9 +4732,9 @@ msgstr "" msgid "Part is virtual (not a physical part)" msgstr "" -#: part/templates/part/part_base.html:58 templates/js/translated/company.js:503 -#: templates/js/translated/company.js:759 templates/js/translated/part.js:432 -#: templates/js/translated/part.js:509 +#: part/templates/part/part_base.html:58 templates/js/translated/company.js:504 +#: templates/js/translated/company.js:761 templates/js/translated/part.js:443 +#: templates/js/translated/part.js:520 msgid "Inactive" msgstr "" @@ -4942,10 +4800,16 @@ msgid "This part is a variant of %(link)s" msgstr "" #: part/templates/part/part_base.html:161 +#: templates/js/translated/model_renderers.js:169 +#: templates/js/translated/order.js:1503 #: templates/js/translated/table_filters.js:166 msgid "In Stock" msgstr "" +#: part/templates/part/part_base.html:167 templates/js/translated/part.js:960 +msgid "On Order" +msgstr "" + #: part/templates/part/part_base.html:174 templates/InvenTree/index.html:186 msgid "Required for Build Orders" msgstr "" @@ -4958,18 +4822,18 @@ msgstr "" msgid "Allocated to Orders" msgstr "" -#: part/templates/part/part_base.html:203 templates/js/translated/bom.js:352 +#: part/templates/part/part_base.html:203 templates/js/translated/bom.js:373 msgid "Can Build" msgstr "" -#: part/templates/part/part_base.html:209 templates/js/translated/part.js:765 -#: templates/js/translated/part.js:953 +#: part/templates/part/part_base.html:209 templates/js/translated/part.js:776 +#: templates/js/translated/part.js:964 msgid "Building" msgstr "" #: part/templates/part/part_base.html:223 -#: part/templates/part/part_base.html:524 -#: part/templates/part/part_base.html:550 +#: part/templates/part/part_base.html:531 +#: part/templates/part/part_base.html:557 msgid "Show Part Details" msgstr "" @@ -4977,16 +4841,16 @@ msgstr "" msgid "Latest Serial Number" msgstr "" -#: part/templates/part/part_base.html:396 part/templates/part/prices.html:144 +#: part/templates/part/part_base.html:402 part/templates/part/prices.html:144 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:439 +#: part/templates/part/part_base.html:445 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:519 -#: part/templates/part/part_base.html:544 +#: part/templates/part/part_base.html:526 +#: part/templates/part/part_base.html:551 msgid "Hide Part Details" msgstr "" @@ -5013,7 +4877,7 @@ msgid "Total Cost" msgstr "" #: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:40 -#: templates/js/translated/bom.js:307 +#: templates/js/translated/bom.js:327 msgid "No supplier pricing available" msgstr "" @@ -5051,32 +4915,39 @@ msgstr "" msgid "Select from existing images" msgstr "" -#: part/templates/part/partial_delete.html:7 +#: part/templates/part/partial_delete.html:9 +#, python-format +msgid "Part '%(full_name)s' cannot be deleted as it is still marked as active.\n" +"
Disable the \"Active\" part attribute and re-try.\n" +" " +msgstr "" + +#: part/templates/part/partial_delete.html:17 #, python-format msgid "Are you sure you want to delete part '%(full_name)s'?" msgstr "" -#: part/templates/part/partial_delete.html:12 +#: part/templates/part/partial_delete.html:22 #, python-format msgid "This part is used in BOMs for %(count)s other parts. If you delete this part, the BOMs for the following parts will be updated" msgstr "" -#: part/templates/part/partial_delete.html:22 +#: part/templates/part/partial_delete.html:32 #, python-format msgid "There are %(count)s stock entries defined for this part. If you delete this part, the following stock entries will also be deleted:" msgstr "" -#: part/templates/part/partial_delete.html:33 +#: part/templates/part/partial_delete.html:43 #, python-format msgid "There are %(count)s manufacturers defined for this part. If you delete this part, the following manufacturer parts will also be deleted:" msgstr "" -#: part/templates/part/partial_delete.html:44 +#: part/templates/part/partial_delete.html:54 #, python-format msgid "There are %(count)s suppliers defined for this part. If you delete this part, the following supplier parts will also be deleted:" msgstr "" -#: part/templates/part/partial_delete.html:55 +#: part/templates/part/partial_delete.html:65 #, python-format msgid "There are %(count)s unique parts tracked for '%(full_name)s'. Deleting this part will permanently remove this tracking information." msgstr "" @@ -5109,7 +4980,7 @@ msgstr "" msgid "Calculation parameters" msgstr "" -#: part/templates/part/prices.html:155 templates/js/translated/bom.js:301 +#: part/templates/part/prices.html:155 templates/js/translated/bom.js:321 msgid "Supplier Cost" msgstr "" @@ -5151,8 +5022,9 @@ msgstr "" msgid "Set category for the following parts" msgstr "" -#: part/templates/part/stock_count.html:7 templates/js/translated/bom.js:278 -#: templates/js/translated/part.js:755 templates/js/translated/part.js:957 +#: part/templates/part/stock_count.html:7 templates/js/translated/bom.js:297 +#: templates/js/translated/model_renderers.js:167 +#: templates/js/translated/part.js:766 templates/js/translated/part.js:968 msgid "No Stock" msgstr "" @@ -5262,7 +5134,7 @@ msgstr "" msgid "Delete Part Parameter Template" msgstr "" -#: part/views.py:1502 templates/js/translated/part.js:303 +#: part/views.py:1502 templates/js/translated/part.js:308 msgid "Edit Part Category" msgstr "" @@ -5400,17 +5272,17 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:88 -#: stock/models.py:1807 +#: stock/models.py:1804 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:89 -#: stock/models.py:1813 +#: stock/models.py:1810 msgid "Result" msgstr "" #: report/templates/report/inventree_test_report_base.html:92 -#: templates/js/translated/order.js:353 templates/js/translated/stock.js:1523 +#: templates/js/translated/order.js:684 templates/js/translated/stock.js:1502 msgid "Date" msgstr "" @@ -5422,51 +5294,9 @@ msgstr "" msgid "Fail" msgstr "" -#: stock/api.py:146 -msgid "Request must contain list of stock items" -msgstr "" - -#: stock/api.py:154 -msgid "Improperly formatted data" -msgstr "" - -#: stock/api.py:162 -msgid "Each entry must contain a valid integer primary-key" -msgstr "" - -#: stock/api.py:168 -msgid "Primary key does not match valid stock item" -msgstr "" - -#: stock/api.py:178 -msgid "Invalid quantity value" -msgstr "" - -#: stock/api.py:183 -msgid "Quantity must not be less than zero" -msgstr "" - -#: stock/api.py:211 -#, python-brace-format -msgid "Updated stock for {n} items" -msgstr "" - -#: stock/api.py:247 stock/api.py:280 -msgid "Specified quantity exceeds stock quantity" -msgstr "" - -#: stock/api.py:270 -msgid "Valid location must be specified" -msgstr "" - -#: stock/api.py:290 -#, python-brace-format -msgid "Moved {n} parts to {loc}" -msgstr "" - #: stock/forms.py:79 stock/forms.py:307 stock/models.py:556 #: stock/templates/stock/item_base.html:395 -#: templates/js/translated/stock.js:967 +#: templates/js/translated/stock.js:946 msgid "Expiry Date" msgstr "" @@ -5678,38 +5508,54 @@ msgstr "" msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:1727 +#: stock/models.py:1724 msgid "Entry notes" msgstr "" -#: stock/models.py:1784 +#: stock/models.py:1781 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:1790 +#: stock/models.py:1787 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:1808 +#: stock/models.py:1805 msgid "Test name" msgstr "" -#: stock/models.py:1814 templates/js/translated/table_filters.js:244 +#: stock/models.py:1811 templates/js/translated/table_filters.js:244 msgid "Test result" msgstr "" -#: stock/models.py:1820 +#: stock/models.py:1817 msgid "Test output value" msgstr "" -#: stock/models.py:1827 +#: stock/models.py:1824 msgid "Test result attachment" msgstr "" -#: stock/models.py:1833 +#: stock/models.py:1830 msgid "Test notes" msgstr "" +#: stock/serializers.py:424 +msgid "StockItem primary key value" +msgstr "" + +#: stock/serializers.py:452 +msgid "Stock transaction notes" +msgstr "" + +#: stock/serializers.py:462 +msgid "A list of stock items must be provided" +msgstr "" + +#: stock/serializers.py:554 +msgid "Destination stock location" +msgstr "" + #: stock/templates/stock/item.html:17 msgid "Stock Tracking Information" msgstr "" @@ -5747,7 +5593,7 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:125 stock/views.py:534 +#: stock/templates/stock/item.html:125 stock/views.py:511 msgid "Install Stock Item" msgstr "" @@ -5910,7 +5756,7 @@ msgid "next page" msgstr "" #: stock/templates/stock/item_base.html:303 -#: templates/js/translated/build.js:651 +#: templates/js/translated/build.js:658 msgid "No location set" msgstr "" @@ -5937,7 +5783,7 @@ msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:408 -#: templates/js/translated/stock.js:980 +#: templates/js/translated/stock.js:959 msgid "Last Updated" msgstr "" @@ -6019,6 +5865,10 @@ msgstr "" msgid "All stock items" msgstr "" +#: stock/templates/stock/location.html:42 +msgid "Create new stock location" +msgstr "" + #: stock/templates/stock/location.html:55 msgid "Check-in Items" msgstr "" @@ -6058,7 +5908,7 @@ msgstr "" msgid "Stock Details" msgstr "" -#: stock/templates/stock/location.html:129 templates/InvenTree/search.html:279 +#: stock/templates/stock/location.html:129 templates/InvenTree/search.html:196 #: templates/stats.html:97 users/models.py:42 msgid "Stock Locations" msgstr "" @@ -6071,6 +5921,10 @@ msgstr "" msgid "Print labels" msgstr "" +#: stock/templates/stock/location.html:250 +msgid "New Location" +msgstr "" + #: stock/templates/stock/location.html:251 msgid "Create new location" msgstr "" @@ -6111,7 +5965,7 @@ msgstr "" msgid "The following stock items will be uninstalled" msgstr "" -#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:932 +#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:909 msgid "Convert Stock Item" msgstr "" @@ -6132,104 +5986,104 @@ msgstr "" msgid "Are you sure you want to delete this stock tracking entry?" msgstr "" -#: stock/views.py:181 +#: stock/views.py:158 msgid "Edit Stock Location" msgstr "" -#: stock/views.py:288 stock/views.py:911 stock/views.py:1033 -#: stock/views.py:1398 +#: stock/views.py:265 stock/views.py:888 stock/views.py:1010 +#: stock/views.py:1375 msgid "Owner is required (ownership control is enabled)" msgstr "" -#: stock/views.py:303 +#: stock/views.py:280 msgid "Stock Location QR code" msgstr "" -#: stock/views.py:322 +#: stock/views.py:299 msgid "Assign to Customer" msgstr "" -#: stock/views.py:331 +#: stock/views.py:308 msgid "Customer must be specified" msgstr "" -#: stock/views.py:355 +#: stock/views.py:332 msgid "Return to Stock" msgstr "" -#: stock/views.py:364 +#: stock/views.py:341 msgid "Specify a valid location" msgstr "" -#: stock/views.py:375 +#: stock/views.py:352 msgid "Stock item returned from customer" msgstr "" -#: stock/views.py:386 +#: stock/views.py:363 msgid "Delete All Test Data" msgstr "" -#: stock/views.py:403 +#: stock/views.py:380 msgid "Confirm test data deletion" msgstr "" -#: stock/views.py:508 +#: stock/views.py:485 msgid "Stock Item QR Code" msgstr "" -#: stock/views.py:683 +#: stock/views.py:660 msgid "Uninstall Stock Items" msgstr "" -#: stock/views.py:780 templates/js/translated/stock.js:353 +#: stock/views.py:757 templates/js/translated/stock.js:321 msgid "Confirm stock adjustment" msgstr "" -#: stock/views.py:791 +#: stock/views.py:768 msgid "Uninstalled stock items" msgstr "" -#: stock/views.py:813 +#: stock/views.py:790 msgid "Edit Stock Item" msgstr "" -#: stock/views.py:959 +#: stock/views.py:936 msgid "Create new Stock Location" msgstr "" -#: stock/views.py:1050 +#: stock/views.py:1027 msgid "Serialize Stock" msgstr "" -#: stock/views.py:1143 templates/js/translated/build.js:392 +#: stock/views.py:1120 msgid "Create new Stock Item" msgstr "" -#: stock/views.py:1285 +#: stock/views.py:1262 msgid "Duplicate Stock Item" msgstr "" -#: stock/views.py:1367 +#: stock/views.py:1344 msgid "Quantity cannot be negative" msgstr "" -#: stock/views.py:1467 +#: stock/views.py:1444 msgid "Delete Stock Location" msgstr "" -#: stock/views.py:1480 +#: stock/views.py:1457 msgid "Delete Stock Item" msgstr "" -#: stock/views.py:1491 +#: stock/views.py:1468 msgid "Delete Stock Tracking Entry" msgstr "" -#: stock/views.py:1498 +#: stock/views.py:1475 msgid "Edit Stock Tracking Entry" msgstr "" -#: stock/views.py:1507 +#: stock/views.py:1484 msgid "Add Stock Tracking Entry" msgstr "" @@ -6313,14 +6167,6 @@ msgstr "" msgid "Enter a search query" msgstr "" -#: templates/InvenTree/search.html:268 templates/js/translated/stock.js:699 -msgid "Shipped to customer" -msgstr "" - -#: templates/InvenTree/search.html:271 templates/js/translated/stock.js:709 -msgid "No stock location set" -msgstr "" - #: templates/InvenTree/settings/barcode.html:8 msgid "Barcode Settings" msgstr "" @@ -6365,6 +6211,14 @@ msgstr "" msgid "Setting" msgstr "" +#: templates/InvenTree/settings/login.html:9 +msgid "Login Settings" +msgstr "" + +#: templates/InvenTree/settings/login.html:22 templates/account/signup.html:5 +msgid "Signup" +msgstr "" + #: templates/InvenTree/settings/navbar.html:12 #: templates/InvenTree/settings/user_settings.html:9 msgid "User Settings" @@ -6382,7 +6236,7 @@ msgstr "" #: templates/InvenTree/settings/navbar.html:27 #: templates/InvenTree/settings/navbar.html:29 -#: templates/js/translated/tables.js:366 templates/search_form.html:6 +#: templates/js/translated/tables.js:375 templates/search_form.html:6 #: templates/search_form.html:8 msgid "Search" msgstr "" @@ -6397,38 +6251,48 @@ msgstr "" msgid "Reports" msgstr "" -#: templates/InvenTree/settings/navbar.html:46 -#: templates/InvenTree/settings/navbar.html:48 -#: templates/InvenTree/settings/settings.html:8 templates/navbar.html:94 +#: templates/InvenTree/settings/navbar.html:45 +#: templates/InvenTree/settings/navbar.html:47 +msgid "Forms" +msgstr "" + +#: templates/InvenTree/settings/navbar.html:52 +#: templates/InvenTree/settings/navbar.html:54 +#: templates/InvenTree/settings/settings.html:8 templates/navbar.html:90 msgid "Settings" msgstr "" -#: templates/InvenTree/settings/navbar.html:56 +#: templates/InvenTree/settings/navbar.html:62 msgid "InvenTree Settings" msgstr "" -#: templates/InvenTree/settings/navbar.html:59 -#: templates/InvenTree/settings/navbar.html:61 templates/stats.html:9 +#: templates/InvenTree/settings/navbar.html:65 +#: templates/InvenTree/settings/navbar.html:67 templates/stats.html:9 msgid "Server" msgstr "" -#: templates/InvenTree/settings/navbar.html:65 -#: templates/InvenTree/settings/navbar.html:67 -msgid "Barcodes" -msgstr "" - #: templates/InvenTree/settings/navbar.html:71 -#: templates/InvenTree/settings/navbar.html:73 -msgid "Currencies" +#: templates/InvenTree/settings/navbar.html:73 templates/navbar.html:87 +msgid "Login" msgstr "" #: templates/InvenTree/settings/navbar.html:77 #: templates/InvenTree/settings/navbar.html:79 -msgid "Reporting" +msgid "Barcodes" +msgstr "" + +#: templates/InvenTree/settings/navbar.html:83 +#: templates/InvenTree/settings/navbar.html:85 +msgid "Currencies" msgstr "" #: templates/InvenTree/settings/navbar.html:89 #: templates/InvenTree/settings/navbar.html:91 +msgid "Reporting" +msgstr "" + +#: templates/InvenTree/settings/navbar.html:101 +#: templates/InvenTree/settings/navbar.html:103 msgid "Categories" msgstr "" @@ -6469,21 +6333,21 @@ msgstr "" msgid "Edit setting" msgstr "" -#: templates/InvenTree/settings/settings.html:152 +#: templates/InvenTree/settings/settings.html:154 msgid "No category parameter templates found" msgstr "" -#: templates/InvenTree/settings/settings.html:174 -#: templates/InvenTree/settings/settings.html:273 +#: templates/InvenTree/settings/settings.html:176 +#: templates/InvenTree/settings/settings.html:275 msgid "Edit Template" msgstr "" -#: templates/InvenTree/settings/settings.html:175 -#: templates/InvenTree/settings/settings.html:274 +#: templates/InvenTree/settings/settings.html:177 +#: templates/InvenTree/settings/settings.html:276 msgid "Delete Template" msgstr "" -#: templates/InvenTree/settings/settings.html:253 +#: templates/InvenTree/settings/settings.html:255 msgid "No part parameter templates found" msgstr "" @@ -6495,70 +6359,140 @@ msgstr "" msgid "Stock Settings" msgstr "" -#: templates/InvenTree/settings/user.html:9 +#: templates/InvenTree/settings/user.html:11 msgid "Account Settings" msgstr "" -#: templates/InvenTree/settings/user.html:15 +#: templates/InvenTree/settings/user.html:19 #: templates/js/translated/helpers.js:26 msgid "Edit" msgstr "" -#: templates/InvenTree/settings/user.html:17 +#: templates/InvenTree/settings/user.html:21 +#: templates/account/password_reset_from_key.html:4 +#: templates/account/password_reset_from_key.html:7 msgid "Change Password" msgstr "" -#: templates/InvenTree/settings/user.html:24 -#: templates/registration/login.html:58 +#: templates/InvenTree/settings/user.html:28 msgid "Username" msgstr "" -#: templates/InvenTree/settings/user.html:28 +#: templates/InvenTree/settings/user.html:32 msgid "First Name" msgstr "" -#: templates/InvenTree/settings/user.html:32 +#: templates/InvenTree/settings/user.html:36 msgid "Last Name" msgstr "" -#: templates/InvenTree/settings/user.html:36 -msgid "Email Address" +#: templates/InvenTree/settings/user.html:42 +msgid "E-Mail" msgstr "" -#: templates/InvenTree/settings/user.html:42 -msgid "Theme Settings" +#: templates/InvenTree/settings/user.html:47 +msgid "The following e-mail addresses are associated with your account:" +msgstr "" + +#: templates/InvenTree/settings/user.html:61 +msgid "Verified" msgstr "" #: templates/InvenTree/settings/user.html:63 +msgid "Unverified" +msgstr "" + +#: templates/InvenTree/settings/user.html:65 +msgid "Primary" +msgstr "" + +#: templates/InvenTree/settings/user.html:71 +msgid "Make Primary" +msgstr "" + +#: templates/InvenTree/settings/user.html:72 +msgid "Re-send Verification" +msgstr "" + +#: templates/InvenTree/settings/user.html:73 +#: templates/InvenTree/settings/user.html:130 +msgid "Remove" +msgstr "" + +#: templates/InvenTree/settings/user.html:80 +msgid "Warning:" +msgstr "" + +#: templates/InvenTree/settings/user.html:81 +msgid "You currently do not have any e-mail address set up. You should really add an e-mail address so you can receive notifications, reset your password, etc." +msgstr "" + +#: templates/InvenTree/settings/user.html:88 +msgid "Add E-mail Address" +msgstr "" + +#: templates/InvenTree/settings/user.html:93 +msgid "Add E-mail" +msgstr "" + +#: templates/InvenTree/settings/user.html:100 +msgid "Social Accounts" +msgstr "" + +#: templates/InvenTree/settings/user.html:105 +msgid "You can sign in to your account using any of the following third party accounts:" +msgstr "" + +#: templates/InvenTree/settings/user.html:138 +msgid "You currently have no social network accounts connected to this account." +msgstr "" + +#: templates/InvenTree/settings/user.html:142 +msgid "Add a 3rd Party Account" +msgstr "" + +#: templates/InvenTree/settings/user.html:153 +msgid "Theme Settings" +msgstr "" + +#: templates/InvenTree/settings/user.html:174 msgid "Set Theme" msgstr "" -#: templates/InvenTree/settings/user.html:70 +#: templates/InvenTree/settings/user.html:181 msgid "Language Settings" msgstr "" -#: templates/InvenTree/settings/user.html:89 +#: templates/InvenTree/settings/user.html:200 #, python-format msgid "%(lang_translated)s%% translated" msgstr "" -#: templates/InvenTree/settings/user.html:91 +#: templates/InvenTree/settings/user.html:202 msgid "No translations available" msgstr "" -#: templates/InvenTree/settings/user.html:98 +#: templates/InvenTree/settings/user.html:209 msgid "Set Language" msgstr "" -#: templates/InvenTree/settings/user.html:103 +#: templates/InvenTree/settings/user.html:214 msgid "Help the translation efforts!" msgstr "" -#: templates/InvenTree/settings/user.html:104 +#: templates/InvenTree/settings/user.html:215 #, python-format msgid "Native language translation of the InvenTree web application is community contributed via crowdin. Contributions are welcomed and encouraged." msgstr "" +#: templates/InvenTree/settings/user.html:223 +msgid "Do you really want to remove the selected e-mail address?" +msgstr "" + +#: templates/InvenTree/settings/user_forms.html:9 +msgid "Form Settings" +msgstr "" + #: templates/InvenTree/settings/user_homepage.html:9 msgid "Home Page Settings" msgstr "" @@ -6641,11 +6575,108 @@ msgstr "" #: templates/about.html:107 templates/js/translated/modals.js:50 #: templates/js/translated/modals.js:584 templates/js/translated/modals.js:678 -#: templates/js/translated/modals.js:971 templates/modals.html:29 +#: templates/js/translated/modals.js:982 templates/modals.html:29 #: templates/modals.html:54 msgid "Close" msgstr "" +#: templates/account/email_confirm.html:6 +#: templates/account/email_confirm.html:10 +msgid "Confirm E-mail Address" +msgstr "" + +#: templates/account/email_confirm.html:16 +#, python-format +msgid "Please confirm that %(email)s is an e-mail address for user %(user_display)s." +msgstr "" + +#: templates/account/email_confirm.html:27 +#, python-format +msgid "This e-mail confirmation link expired or is invalid. Please issue a new e-mail confirmation request." +msgstr "" + +#: templates/account/login.html:5 templates/account/login.html:14 +#: templates/account/login.html:36 +msgid "Sign In" +msgstr "" + +#: templates/account/login.html:19 +#, python-format +msgid "Please sign in with one\n" +"of your existing third party accounts or sign up\n" +"for a account and sign in below:" +msgstr "" + +#: templates/account/login.html:23 +#, python-format +msgid "If you have not created an account yet, then please\n" +"sign up first." +msgstr "" + +#: templates/account/login.html:38 +msgid "Forgot Password?" +msgstr "" + +#: templates/account/login.html:45 +msgid "or use SSO" +msgstr "" + +#: templates/account/logout.html:5 templates/account/logout.html:8 +#: templates/account/logout.html:17 +msgid "Sign Out" +msgstr "" + +#: templates/account/logout.html:10 +msgid "Are you sure you want to sign out?" +msgstr "" + +#: templates/account/password_reset.html:5 +#: templates/account/password_reset.html:12 +msgid "Password Reset" +msgstr "" + +#: templates/account/password_reset.html:18 +msgid "Forgotten your password? Enter your e-mail address below, and we'll send you an e-mail allowing you to reset it." +msgstr "" + +#: templates/account/password_reset.html:23 +msgid "Reset My Password" +msgstr "" + +#: templates/account/password_reset.html:27 templates/account/signup.html:36 +msgid "This function is currently disabled. Please contact an administrator." +msgstr "" + +#: templates/account/password_reset_from_key.html:7 +msgid "Bad Token" +msgstr "" + +#: templates/account/password_reset_from_key.html:11 +#, python-format +msgid "The password reset link was invalid, possibly because it has already been used. Please request a new password reset." +msgstr "" + +#: templates/account/password_reset_from_key.html:17 +msgid "change password" +msgstr "" + +#: templates/account/password_reset_from_key.html:20 +msgid "Your password is now changed." +msgstr "" + +#: templates/account/signup.html:11 templates/account/signup.html:22 +msgid "Sign Up" +msgstr "" + +#: templates/account/signup.html:13 +#, python-format +msgid "Already have an account? Then please sign in." +msgstr "" + +#: templates/account/signup.html:27 +msgid "Or use a SSO-provider for signup" +msgstr "" + #: templates/image_download.html:8 msgid "Specify URL for downloading image" msgstr "" @@ -6675,7 +6706,7 @@ msgid "Select Test Report Template" msgstr "" #: templates/js/report.js:98 templates/js/translated/label.js:29 -#: templates/js/translated/report.js:118 templates/js/translated/stock.js:313 +#: templates/js/translated/report.js:118 templates/js/translated/stock.js:297 msgid "Select Stock Items" msgstr "" @@ -6707,8 +6738,8 @@ msgstr "" msgid "No report templates found which match selected build(s)" msgstr "" -#: templates/js/report.js:205 templates/js/translated/label.js:134 -#: templates/js/translated/report.js:225 +#: templates/js/report.js:205 templates/js/translated/build.js:948 +#: templates/js/translated/label.js:134 templates/js/translated/report.js:225 msgid "Select Parts" msgstr "" @@ -6741,11 +6772,11 @@ msgstr "" msgid "Sales Order(s) must be selected before printing report" msgstr "" -#: templates/js/translated/api.js:174 templates/js/translated/modals.js:1041 +#: templates/js/translated/api.js:174 templates/js/translated/modals.js:1052 msgid "No Response" msgstr "" -#: templates/js/translated/api.js:175 templates/js/translated/modals.js:1042 +#: templates/js/translated/api.js:175 templates/js/translated/modals.js:1053 msgid "No response from the InvenTree server" msgstr "" @@ -6757,35 +6788,35 @@ msgstr "" msgid "API request returned error code 400" msgstr "" -#: templates/js/translated/api.js:186 templates/js/translated/modals.js:1051 +#: templates/js/translated/api.js:186 templates/js/translated/modals.js:1062 msgid "Error 401: Not Authenticated" msgstr "" -#: templates/js/translated/api.js:187 templates/js/translated/modals.js:1052 +#: templates/js/translated/api.js:187 templates/js/translated/modals.js:1063 msgid "Authentication credentials not supplied" msgstr "" -#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1056 +#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1067 msgid "Error 403: Permission Denied" msgstr "" -#: templates/js/translated/api.js:192 templates/js/translated/modals.js:1057 +#: templates/js/translated/api.js:192 templates/js/translated/modals.js:1068 msgid "You do not have the required permissions to access this function" msgstr "" -#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1061 +#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1072 msgid "Error 404: Resource Not Found" msgstr "" -#: templates/js/translated/api.js:197 templates/js/translated/modals.js:1062 +#: templates/js/translated/api.js:197 templates/js/translated/modals.js:1073 msgid "The requested resource could not be located on the server" msgstr "" -#: templates/js/translated/api.js:201 templates/js/translated/modals.js:1066 +#: templates/js/translated/api.js:201 templates/js/translated/modals.js:1077 msgid "Error 408: Timeout" msgstr "" -#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1067 +#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1078 msgid "Connection timeout while requesting data from server" msgstr "" @@ -6842,7 +6873,7 @@ msgid "Unknown response from server" msgstr "" #: templates/js/translated/barcode.js:141 -#: templates/js/translated/modals.js:1031 +#: templates/js/translated/modals.js:1042 msgid "Invalid server response" msgstr "" @@ -6870,7 +6901,7 @@ msgstr "" msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:398 templates/js/translated/stock.js:289 +#: templates/js/translated/barcode.js:398 templates/js/translated/stock.js:273 msgid "Remove stock item" msgstr "" @@ -6912,115 +6943,181 @@ msgstr "" msgid "Barcode does not match a valid location" msgstr "" -#: templates/js/translated/bom.js:215 templates/js/translated/build.js:1169 +#: templates/js/translated/bom.js:234 templates/js/translated/build.js:1495 msgid "Open subassembly" msgstr "" -#: templates/js/translated/bom.js:287 +#: templates/js/translated/bom.js:288 templates/js/translated/build.js:744 +#: templates/js/translated/build.js:1345 templates/js/translated/build.js:1522 +msgid "Available" +msgstr "" + +#: templates/js/translated/bom.js:307 msgid "Purchase Price Range" msgstr "" -#: templates/js/translated/bom.js:294 +#: templates/js/translated/bom.js:314 msgid "Purchase Price Average" msgstr "" -#: templates/js/translated/bom.js:342 templates/js/translated/bom.js:428 +#: templates/js/translated/bom.js:363 templates/js/translated/bom.js:449 msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:402 +#: templates/js/translated/bom.js:415 templates/js/translated/build.js:798 +#: templates/js/translated/build.js:1545 templates/js/translated/order.js:1285 +msgid "Actions" +msgstr "" + +#: templates/js/translated/bom.js:423 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:404 +#: templates/js/translated/bom.js:425 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:406 templates/js/translated/bom.js:569 +#: templates/js/translated/bom.js:427 templates/js/translated/bom.js:590 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:408 templates/js/translated/bom.js:554 +#: templates/js/translated/bom.js:429 templates/js/translated/bom.js:575 msgid "Delete BOM Item" msgstr "" -#: templates/js/translated/bom.js:499 templates/js/translated/build.js:483 -#: templates/js/translated/build.js:1267 +#: templates/js/translated/bom.js:520 templates/js/translated/build.js:485 +#: templates/js/translated/build.js:1593 msgid "No BOM items found" msgstr "" -#: templates/js/translated/build.js:69 +#: templates/js/translated/build.js:71 msgid "Edit Build Order" msgstr "" -#: templates/js/translated/build.js:95 +#: templates/js/translated/build.js:105 msgid "Create Build Order" msgstr "" -#: templates/js/translated/build.js:127 -msgid "Auto-allocate stock items to this output" +#: templates/js/translated/build.js:138 +msgid "Allocate stock items to this build output" msgstr "" -#: templates/js/translated/build.js:135 +#: templates/js/translated/build.js:146 msgid "Unallocate stock from build output" msgstr "" -#: templates/js/translated/build.js:145 +#: templates/js/translated/build.js:155 msgid "Complete build output" msgstr "" -#: templates/js/translated/build.js:154 +#: templates/js/translated/build.js:164 msgid "Delete build output" msgstr "" -#: templates/js/translated/build.js:249 +#: templates/js/translated/build.js:265 msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:287 templates/js/translated/order.js:813 +#: templates/js/translated/build.js:303 templates/js/translated/order.js:1159 msgid "Location not specified" msgstr "" -#: templates/js/translated/build.js:391 templates/stock_table.html:20 -msgid "New Stock Item" +#: templates/js/translated/build.js:675 templates/js/translated/build.js:1356 +#: templates/js/translated/order.js:1292 +msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/build.js:702 +#: templates/js/translated/build.js:677 templates/js/translated/build.js:1357 +#: templates/js/translated/order.js:1293 +msgid "Delete stock allocation" +msgstr "" + +#: templates/js/translated/build.js:695 +msgid "Edit Allocation" +msgstr "" + +#: templates/js/translated/build.js:705 +msgid "Remove Allocation" +msgstr "" + +#: templates/js/translated/build.js:718 msgid "Required Part" msgstr "" -#: templates/js/translated/build.js:723 +#: templates/js/translated/build.js:739 msgid "Quantity Per" msgstr "" -#: templates/js/translated/build.js:793 templates/js/translated/build.js:1231 +#: templates/js/translated/build.js:749 templates/js/translated/build.js:975 +#: templates/js/translated/build.js:1352 templates/js/translated/order.js:1514 +msgid "Allocated" +msgstr "" + +#: templates/js/translated/build.js:805 templates/js/translated/build.js:1553 +#: templates/js/translated/order.js:1567 +msgid "Build stock" +msgstr "" + +#: templates/js/translated/build.js:809 templates/js/translated/build.js:1557 #: templates/stock_table.html:59 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:846 +#: templates/js/translated/build.js:812 templates/js/translated/order.js:1560 +msgid "Allocate stock" +msgstr "" + +#: templates/js/translated/build.js:880 +msgid "Specify stock allocation quantity" +msgstr "" + +#: templates/js/translated/build.js:949 +msgid "You must select at least one part to allocate" +msgstr "" + +#: templates/js/translated/build.js:963 +msgid "Select source location (leave blank to take from all locations)" +msgstr "" + +#: templates/js/translated/build.js:992 +msgid "Confirm stock allocation" +msgstr "Confirmar asignación de stock" + +#: templates/js/translated/build.js:993 +msgid "Allocate Stock Items to Build Order" +msgstr "" + +#: templates/js/translated/build.js:1004 +msgid "No matching stock locations" +msgstr "" + +#: templates/js/translated/build.js:1048 +msgid "No matching stock items" +msgstr "" + +#: templates/js/translated/build.js:1172 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:863 templates/js/translated/part.js:845 -#: templates/js/translated/part.js:1123 templates/js/translated/stock.js:783 -#: templates/js/translated/stock.js:1477 +#: templates/js/translated/build.js:1189 templates/js/translated/part.js:856 +#: templates/js/translated/part.js:1134 templates/js/translated/stock.js:762 +#: templates/js/translated/stock.js:1456 msgid "Select" msgstr "" -#: templates/js/translated/build.js:883 +#: templates/js/translated/build.js:1209 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:944 templates/js/translated/stock.js:1696 +#: templates/js/translated/build.js:1270 templates/js/translated/stock.js:1675 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:956 +#: templates/js/translated/build.js:1282 msgid "No information" msgstr "" -#: templates/js/translated/build.js:1007 +#: templates/js/translated/build.js:1333 msgid "No parts allocated for" msgstr "" @@ -7040,7 +7137,7 @@ msgstr "" msgid "Delete Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:164 templates/js/translated/order.js:86 +#: templates/js/translated/company.js:164 templates/js/translated/order.js:89 msgid "Add Supplier" msgstr "" @@ -7084,53 +7181,53 @@ msgstr "" msgid "Delete Manufacturer Parts" msgstr "" -#: templates/js/translated/company.js:475 +#: templates/js/translated/company.js:476 msgid "No manufacturer parts found" msgstr "" -#: templates/js/translated/company.js:495 -#: templates/js/translated/company.js:751 templates/js/translated/part.js:416 -#: templates/js/translated/part.js:501 +#: templates/js/translated/company.js:496 +#: templates/js/translated/company.js:753 templates/js/translated/part.js:427 +#: templates/js/translated/part.js:512 msgid "Template part" msgstr "" -#: templates/js/translated/company.js:499 -#: templates/js/translated/company.js:755 templates/js/translated/part.js:420 -#: templates/js/translated/part.js:505 +#: templates/js/translated/company.js:500 +#: templates/js/translated/company.js:757 templates/js/translated/part.js:431 +#: templates/js/translated/part.js:516 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:626 templates/js/translated/part.js:593 +#: templates/js/translated/company.js:627 templates/js/translated/part.js:604 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:663 templates/js/translated/part.js:635 +#: templates/js/translated/company.js:664 templates/js/translated/part.js:646 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:664 templates/js/translated/part.js:636 +#: templates/js/translated/company.js:665 templates/js/translated/part.js:647 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:683 templates/js/translated/part.js:653 +#: templates/js/translated/company.js:684 templates/js/translated/part.js:664 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:694 templates/js/translated/part.js:665 +#: templates/js/translated/company.js:695 templates/js/translated/part.js:676 msgid "Delete Parameter" msgstr "" -#: templates/js/translated/company.js:731 +#: templates/js/translated/company.js:733 msgid "No supplier parts found" msgstr "" #: templates/js/translated/filters.js:178 -#: templates/js/translated/filters.js:402 +#: templates/js/translated/filters.js:407 msgid "true" msgstr "" #: templates/js/translated/filters.js:182 -#: templates/js/translated/filters.js:403 +#: templates/js/translated/filters.js:408 msgid "false" msgstr "" @@ -7138,19 +7235,19 @@ msgstr "" msgid "Select filter" msgstr "" -#: templates/js/translated/filters.js:279 +#: templates/js/translated/filters.js:284 msgid "Reload data" msgstr "" -#: templates/js/translated/filters.js:281 +#: templates/js/translated/filters.js:286 msgid "Add new filter" msgstr "" -#: templates/js/translated/filters.js:284 +#: templates/js/translated/filters.js:289 msgid "Clear all filters" msgstr "" -#: templates/js/translated/filters.js:312 +#: templates/js/translated/filters.js:317 msgid "Create filter" msgstr "" @@ -7175,16 +7272,20 @@ msgstr "" msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:889 templates/modals.html:21 +#: templates/js/translated/forms.js:968 templates/modals.html:21 #: templates/modals.html:47 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1379 +#: templates/js/translated/forms.js:1323 +msgid "No results found" +msgstr "" + +#: templates/js/translated/forms.js:1525 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:1593 +#: templates/js/translated/forms.js:1742 msgid "Clear input" msgstr "" @@ -7247,7 +7348,7 @@ msgid "Cancel" msgstr "" #: templates/js/translated/modals.js:77 templates/js/translated/modals.js:119 -#: templates/js/translated/modals.js:677 templates/js/translated/modals.js:970 +#: templates/js/translated/modals.js:677 templates/js/translated/modals.js:981 #: templates/modals.html:30 templates/modals.html:55 msgid "Submit" msgstr "" @@ -7272,31 +7373,31 @@ msgstr "" msgid "Loading Data" msgstr "" -#: templates/js/translated/modals.js:922 +#: templates/js/translated/modals.js:933 msgid "Invalid response from server" msgstr "" -#: templates/js/translated/modals.js:922 +#: templates/js/translated/modals.js:933 msgid "Form data missing from server response" msgstr "" -#: templates/js/translated/modals.js:934 +#: templates/js/translated/modals.js:945 msgid "Error posting form data" msgstr "" -#: templates/js/translated/modals.js:1031 +#: templates/js/translated/modals.js:1042 msgid "JSON response missing form data" msgstr "" -#: templates/js/translated/modals.js:1046 +#: templates/js/translated/modals.js:1057 msgid "Error 400: Bad Request" msgstr "" -#: templates/js/translated/modals.js:1047 +#: templates/js/translated/modals.js:1058 msgid "Server returned error code 400" msgstr "" -#: templates/js/translated/modals.js:1070 +#: templates/js/translated/modals.js:1081 msgid "Error requesting form data" msgstr "" @@ -7304,70 +7405,195 @@ msgstr "" msgid "Company ID" msgstr "" -#: templates/js/translated/model_renderers.js:82 +#: templates/js/translated/model_renderers.js:90 +msgid "Stock ID" +msgstr "" + +#: templates/js/translated/model_renderers.js:125 msgid "Location ID" msgstr "" -#: templates/js/translated/model_renderers.js:99 +#: templates/js/translated/model_renderers.js:142 msgid "Build ID" msgstr "" -#: templates/js/translated/model_renderers.js:119 +#: templates/js/translated/model_renderers.js:177 msgid "Part ID" msgstr "" -#: templates/js/translated/model_renderers.js:171 +#: templates/js/translated/model_renderers.js:231 +msgid "Order ID" +msgstr "" + +#: templates/js/translated/model_renderers.js:251 msgid "Category ID" msgstr "" -#: templates/js/translated/model_renderers.js:208 +#: templates/js/translated/model_renderers.js:288 msgid "Manufacturer Part ID" msgstr "" -#: templates/js/translated/model_renderers.js:237 +#: templates/js/translated/model_renderers.js:317 msgid "Supplier Part ID" msgstr "" -#: templates/js/translated/order.js:45 +#: templates/js/translated/order.js:48 msgid "Add Customer" msgstr "" -#: templates/js/translated/order.js:70 +#: templates/js/translated/order.js:73 msgid "Create Sales Order" msgstr "" -#: templates/js/translated/order.js:295 +#: templates/js/translated/order.js:207 +msgid "Export Order" +msgstr "" + +#: templates/js/translated/order.js:210 templates/js/translated/stock.js:96 +msgid "Format" +msgstr "" + +#: templates/js/translated/order.js:211 templates/js/translated/stock.js:97 +msgid "Select file format" +msgstr "" + +#: templates/js/translated/order.js:299 +msgid "Select Line Items" +msgstr "" + +#: templates/js/translated/order.js:300 +msgid "At least one line item must be selected" +msgstr "" + +#: templates/js/translated/order.js:325 +msgid "Quantity to receive" +msgstr "" + +#: templates/js/translated/order.js:359 templates/js/translated/stock.js:1343 +msgid "Stock Status" +msgstr "" + +#: templates/js/translated/order.js:426 +msgid "Order Code" +msgstr "" + +#: templates/js/translated/order.js:427 +msgid "Ordered" +msgstr "" + +#: templates/js/translated/order.js:429 +msgid "Receive" +msgstr "" + +#: templates/js/translated/order.js:448 +msgid "Confirm receipt of items" +msgstr "" + +#: templates/js/translated/order.js:449 +msgid "Receive Purchase Order Items" +msgstr "" + +#: templates/js/translated/order.js:626 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/order.js:320 templates/js/translated/order.js:682 +#: templates/js/translated/order.js:651 templates/js/translated/order.js:1028 msgid "Order is overdue" msgstr "" -#: templates/js/translated/order.js:452 +#: templates/js/translated/order.js:749 templates/js/translated/order.js:1602 +msgid "Edit Line Item" +msgstr "" + +#: templates/js/translated/order.js:761 templates/js/translated/order.js:1613 +msgid "Delete Line Item" +msgstr "" + +#: templates/js/translated/order.js:800 msgid "No line items found" msgstr "" -#: templates/js/translated/order.js:617 +#: templates/js/translated/order.js:827 templates/js/translated/order.js:1432 +msgid "Total" +msgstr "" + +#: templates/js/translated/order.js:880 templates/js/translated/order.js:1457 +#: templates/js/translated/part.js:1343 templates/js/translated/part.js:1554 +msgid "Unit Price" +msgstr "" + +#: templates/js/translated/order.js:889 templates/js/translated/order.js:1464 +msgid "Total price" +msgstr "" + +#: templates/js/translated/order.js:962 templates/js/translated/order.js:1573 +msgid "Edit line item" +msgstr "" + +#: templates/js/translated/order.js:963 msgid "Delete line item" msgstr "" -#: templates/js/translated/order.js:621 +#: templates/js/translated/order.js:967 msgid "Receive line item" msgstr "" -#: templates/js/translated/order.js:658 +#: templates/js/translated/order.js:1004 msgid "No sales orders found" msgstr "" -#: templates/js/translated/order.js:696 +#: templates/js/translated/order.js:1042 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/order.js:774 +#: templates/js/translated/order.js:1120 msgid "No sales order allocations found" msgstr "" +#: templates/js/translated/order.js:1213 +msgid "Edit Stock Allocation" +msgstr "" + +#: templates/js/translated/order.js:1231 +msgid "Delete Stock Allocation" +msgstr "" + +#: templates/js/translated/order.js:1273 +msgid "Stock location not specified" +msgstr "" + +#: templates/js/translated/order.js:1514 +msgid "Fulfilled" +msgstr "" + +#: templates/js/translated/order.js:1557 +msgid "Allocate serial numbers" +msgstr "" + +#: templates/js/translated/order.js:1563 +msgid "Purchase stock" +msgstr "" + +#: templates/js/translated/order.js:1570 templates/js/translated/order.js:1725 +msgid "Calculate price" +msgstr "" + +#: templates/js/translated/order.js:1574 +msgid "Delete line item " +msgstr "" + +#: templates/js/translated/order.js:1673 +msgid "Allocate Stock Item" +msgstr "" + +#: templates/js/translated/order.js:1733 +msgid "Update Unit Price" +msgstr "" + +#: templates/js/translated/order.js:1747 +msgid "No matching line items" +msgstr "" + #: templates/js/translated/part.js:49 msgid "Part Attributes" msgstr "" @@ -7388,396 +7614,396 @@ msgstr "" msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:159 +#: templates/js/translated/part.js:164 msgid "Create Initial Stock" msgstr "" -#: templates/js/translated/part.js:160 +#: templates/js/translated/part.js:165 msgid "Create an initial stock item for this part" msgstr "" -#: templates/js/translated/part.js:167 +#: templates/js/translated/part.js:172 msgid "Initial Stock Quantity" msgstr "" -#: templates/js/translated/part.js:168 +#: templates/js/translated/part.js:173 msgid "Specify initial stock quantity for this part" msgstr "" -#: templates/js/translated/part.js:175 templates/js/translated/stock.js:330 +#: templates/js/translated/part.js:180 msgid "Select destination stock location" msgstr "" -#: templates/js/translated/part.js:186 +#: templates/js/translated/part.js:191 msgid "Copy Category Parameters" msgstr "" -#: templates/js/translated/part.js:187 +#: templates/js/translated/part.js:192 msgid "Copy parameter templates from selected part category" msgstr "" -#: templates/js/translated/part.js:195 +#: templates/js/translated/part.js:200 msgid "Add Supplier Data" msgstr "" -#: templates/js/translated/part.js:196 +#: templates/js/translated/part.js:201 msgid "Create initial supplier data for this part" msgstr "" -#: templates/js/translated/part.js:252 +#: templates/js/translated/part.js:257 msgid "Copy Image" msgstr "" -#: templates/js/translated/part.js:253 +#: templates/js/translated/part.js:258 msgid "Copy image from original part" msgstr "" -#: templates/js/translated/part.js:260 +#: templates/js/translated/part.js:265 msgid "Copy BOM" msgstr "" -#: templates/js/translated/part.js:261 +#: templates/js/translated/part.js:266 msgid "Copy bill of materials from original part" msgstr "" -#: templates/js/translated/part.js:268 +#: templates/js/translated/part.js:273 msgid "Copy Parameters" msgstr "" -#: templates/js/translated/part.js:269 +#: templates/js/translated/part.js:274 msgid "Copy parameter data from original part" msgstr "" -#: templates/js/translated/part.js:282 +#: templates/js/translated/part.js:287 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:323 +#: templates/js/translated/part.js:331 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:408 templates/js/translated/part.js:493 +#: templates/js/translated/part.js:419 templates/js/translated/part.js:504 msgid "Trackable part" msgstr "" -#: templates/js/translated/part.js:412 templates/js/translated/part.js:497 +#: templates/js/translated/part.js:423 templates/js/translated/part.js:508 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:424 +#: templates/js/translated/part.js:435 msgid "Starred part" msgstr "" -#: templates/js/translated/part.js:428 +#: templates/js/translated/part.js:439 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:543 +#: templates/js/translated/part.js:554 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:732 templates/js/translated/part.js:994 +#: templates/js/translated/part.js:743 templates/js/translated/part.js:1005 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:921 +#: templates/js/translated/part.js:932 msgid "No category" msgstr "" -#: templates/js/translated/part.js:944 -#: templates/js/translated/table_filters.js:350 +#: templates/js/translated/part.js:955 +#: templates/js/translated/table_filters.js:359 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:1148 templates/js/translated/stock.js:1501 +#: templates/js/translated/part.js:1159 templates/js/translated/stock.js:1480 msgid "Path" msgstr "" -#: templates/js/translated/part.js:1191 +#: templates/js/translated/part.js:1202 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:1242 templates/js/translated/stock.js:514 +#: templates/js/translated/part.js:1253 templates/js/translated/stock.js:493 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:1243 templates/js/translated/stock.js:515 +#: templates/js/translated/part.js:1254 templates/js/translated/stock.js:494 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:1249 +#: templates/js/translated/part.js:1260 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:1274 +#: templates/js/translated/part.js:1282 +msgid "Edit Test Result Template" +msgstr "" + +#: templates/js/translated/part.js:1296 +msgid "Delete Test Result Template" +msgstr "" + +#: templates/js/translated/part.js:1321 #, python-brace-format msgid "No ${human_name} information found" msgstr "" -#: templates/js/translated/part.js:1329 +#: templates/js/translated/part.js:1376 #, python-brace-format msgid "Edit ${human_name}" msgstr "" -#: templates/js/translated/part.js:1330 +#: templates/js/translated/part.js:1377 #, python-brace-format msgid "Delete ${human_name}" msgstr "" -#: templates/js/translated/part.js:1431 +#: templates/js/translated/part.js:1478 msgid "Single Price" msgstr "" -#: templates/js/translated/part.js:1450 +#: templates/js/translated/part.js:1497 msgid "Single Price Difference" msgstr "" -#: templates/js/translated/stock.js:66 +#: templates/js/translated/stock.js:63 msgid "Parent stock location" msgstr "" -#: templates/js/translated/stock.js:96 +#: templates/js/translated/stock.js:93 msgid "Export Stock" msgstr "" -#: templates/js/translated/stock.js:99 -msgid "Format" -msgstr "" - -#: templates/js/translated/stock.js:100 -msgid "Select file format" -msgstr "" - -#: templates/js/translated/stock.js:124 +#: templates/js/translated/stock.js:104 msgid "Include Sublocations" msgstr "" -#: templates/js/translated/stock.js:125 +#: templates/js/translated/stock.js:105 msgid "Include stock items in sublocations" msgstr "" -#: templates/js/translated/stock.js:167 +#: templates/js/translated/stock.js:147 msgid "Transfer Stock" msgstr "" -#: templates/js/translated/stock.js:168 +#: templates/js/translated/stock.js:148 msgid "Move" msgstr "" -#: templates/js/translated/stock.js:174 +#: templates/js/translated/stock.js:154 msgid "Count Stock" msgstr "" -#: templates/js/translated/stock.js:175 +#: templates/js/translated/stock.js:155 msgid "Count" msgstr "" -#: templates/js/translated/stock.js:179 +#: templates/js/translated/stock.js:159 msgid "Remove Stock" msgstr "" -#: templates/js/translated/stock.js:180 +#: templates/js/translated/stock.js:160 msgid "Take" msgstr "" -#: templates/js/translated/stock.js:184 +#: templates/js/translated/stock.js:164 msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:185 users/models.py:190 +#: templates/js/translated/stock.js:165 users/models.py:195 msgid "Add" msgstr "" -#: templates/js/translated/stock.js:189 templates/stock_table.html:63 +#: templates/js/translated/stock.js:169 templates/stock_table.html:63 msgid "Delete Stock" msgstr "" -#: templates/js/translated/stock.js:278 +#: templates/js/translated/stock.js:258 msgid "Quantity cannot be adjusted for serialized stock" msgstr "" -#: templates/js/translated/stock.js:278 +#: templates/js/translated/stock.js:258 msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:314 +#: templates/js/translated/stock.js:298 msgid "You must select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:339 -msgid "Stock transaction notes" -msgstr "" - -#: templates/js/translated/stock.js:477 +#: templates/js/translated/stock.js:456 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:479 +#: templates/js/translated/stock.js:458 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:484 +#: templates/js/translated/stock.js:463 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:510 +#: templates/js/translated/stock.js:489 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:536 +#: templates/js/translated/stock.js:515 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:584 +#: templates/js/translated/stock.js:563 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:691 +#: templates/js/translated/stock.js:670 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:695 +#: templates/js/translated/stock.js:674 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:703 +#: templates/js/translated/stock.js:678 +msgid "Shipped to customer" +msgstr "" + +#: templates/js/translated/stock.js:682 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:865 +#: templates/js/translated/stock.js:688 +msgid "No stock location set" +msgstr "" + +#: templates/js/translated/stock.js:844 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:870 +#: templates/js/translated/stock.js:849 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:873 +#: templates/js/translated/stock.js:852 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:877 +#: templates/js/translated/stock.js:856 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:879 +#: templates/js/translated/stock.js:858 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:883 +#: templates/js/translated/stock.js:862 msgid "Stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:887 +#: templates/js/translated/stock.js:866 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:894 +#: templates/js/translated/stock.js:873 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:896 +#: templates/js/translated/stock.js:875 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:898 +#: templates/js/translated/stock.js:877 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:902 +#: templates/js/translated/stock.js:881 #: templates/js/translated/table_filters.js:161 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:956 +#: templates/js/translated/stock.js:935 msgid "Stocktake" msgstr "" -#: templates/js/translated/stock.js:1029 +#: templates/js/translated/stock.js:1008 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:1067 +#: templates/js/translated/stock.js:1046 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:1088 templates/js/translated/stock.js:1136 +#: templates/js/translated/stock.js:1067 templates/js/translated/stock.js:1115 msgid "items" msgstr "" -#: templates/js/translated/stock.js:1176 +#: templates/js/translated/stock.js:1155 msgid "batches" msgstr "" -#: templates/js/translated/stock.js:1203 +#: templates/js/translated/stock.js:1182 msgid "locations" msgstr "" -#: templates/js/translated/stock.js:1205 +#: templates/js/translated/stock.js:1184 msgid "Undefined location" msgstr "" -#: templates/js/translated/stock.js:1364 -msgid "Stock Status" -msgstr "" - -#: templates/js/translated/stock.js:1379 +#: templates/js/translated/stock.js:1358 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:1393 +#: templates/js/translated/stock.js:1372 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:1394 +#: templates/js/translated/stock.js:1373 msgid "Status code must be selected" msgstr "" -#: templates/js/translated/stock.js:1533 +#: templates/js/translated/stock.js:1512 msgid "Invalid date" msgstr "" -#: templates/js/translated/stock.js:1580 +#: templates/js/translated/stock.js:1559 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:1599 +#: templates/js/translated/stock.js:1578 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:1618 +#: templates/js/translated/stock.js:1597 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:1636 +#: templates/js/translated/stock.js:1615 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:1659 +#: templates/js/translated/stock.js:1638 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:1667 +#: templates/js/translated/stock.js:1646 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:1708 +#: templates/js/translated/stock.js:1687 msgid "Edit tracking entry" msgstr "" -#: templates/js/translated/stock.js:1709 +#: templates/js/translated/stock.js:1688 msgid "Delete tracking entry" msgstr "" -#: templates/js/translated/stock.js:1833 +#: templates/js/translated/stock.js:1812 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:1856 +#: templates/js/translated/stock.js:1835 msgid "Serial" msgstr "" -#: templates/js/translated/stock.js:1884 +#: templates/js/translated/stock.js:1863 msgid "Uninstall Stock Item" msgstr "" @@ -7808,7 +8034,7 @@ msgstr "" #: templates/js/translated/table_filters.js:103 #: templates/js/translated/table_filters.js:104 -#: templates/js/translated/table_filters.js:327 +#: templates/js/translated/table_filters.js:336 msgid "Include subcategories" msgstr "" @@ -7850,7 +8076,7 @@ msgid "Batch code" msgstr "" #: templates/js/translated/table_filters.js:141 -#: templates/js/translated/table_filters.js:317 +#: templates/js/translated/table_filters.js:326 msgid "Active parts" msgstr "" @@ -7935,89 +8161,89 @@ msgstr "" msgid "Build status" msgstr "" -#: templates/js/translated/table_filters.js:282 -#: templates/js/translated/table_filters.js:299 +#: templates/js/translated/table_filters.js:291 +#: templates/js/translated/table_filters.js:308 msgid "Order status" msgstr "" -#: templates/js/translated/table_filters.js:287 -#: templates/js/translated/table_filters.js:304 +#: templates/js/translated/table_filters.js:296 +#: templates/js/translated/table_filters.js:313 msgid "Outstanding" msgstr "" -#: templates/js/translated/table_filters.js:328 +#: templates/js/translated/table_filters.js:337 msgid "Include parts in subcategories" msgstr "" -#: templates/js/translated/table_filters.js:332 +#: templates/js/translated/table_filters.js:341 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:333 +#: templates/js/translated/table_filters.js:342 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:338 +#: templates/js/translated/table_filters.js:347 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:346 +#: templates/js/translated/table_filters.js:355 msgid "Stock available" msgstr "" -#: templates/js/translated/table_filters.js:362 +#: templates/js/translated/table_filters.js:371 msgid "Starred" msgstr "" -#: templates/js/translated/table_filters.js:374 +#: templates/js/translated/table_filters.js:383 msgid "Purchasable" msgstr "" -#: templates/js/translated/tables.js:357 +#: templates/js/translated/tables.js:366 msgid "Loading data" msgstr "" -#: templates/js/translated/tables.js:360 +#: templates/js/translated/tables.js:369 msgid "rows per page" msgstr "" -#: templates/js/translated/tables.js:363 +#: templates/js/translated/tables.js:372 msgid "Showing" msgstr "" -#: templates/js/translated/tables.js:363 +#: templates/js/translated/tables.js:372 msgid "to" msgstr "" -#: templates/js/translated/tables.js:363 +#: templates/js/translated/tables.js:372 msgid "of" msgstr "" -#: templates/js/translated/tables.js:363 +#: templates/js/translated/tables.js:372 msgid "rows" msgstr "" -#: templates/js/translated/tables.js:369 +#: templates/js/translated/tables.js:378 msgid "No matching results" msgstr "" -#: templates/js/translated/tables.js:372 +#: templates/js/translated/tables.js:381 msgid "Hide/Show pagination" msgstr "" -#: templates/js/translated/tables.js:375 +#: templates/js/translated/tables.js:384 msgid "Refresh" msgstr "" -#: templates/js/translated/tables.js:378 +#: templates/js/translated/tables.js:387 msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:381 +#: templates/js/translated/tables.js:390 msgid "Columns" msgstr "" -#: templates/js/translated/tables.js:384 +#: templates/js/translated/tables.js:393 msgid "All" msgstr "" @@ -8033,19 +8259,15 @@ msgstr "" msgid "Sell" msgstr "" -#: templates/navbar.html:87 users/models.py:39 +#: templates/navbar.html:83 users/models.py:39 msgid "Admin" msgstr "" -#: templates/navbar.html:89 +#: templates/navbar.html:85 msgid "Logout" msgstr "" -#: templates/navbar.html:91 templates/registration/login.html:89 -msgid "Login" -msgstr "" - -#: templates/navbar.html:114 +#: templates/navbar.html:106 msgid "About InvenTree" msgstr "" @@ -8053,68 +8275,12 @@ msgstr "" msgid "QR data not provided" msgstr "" -#: templates/registration/logged_out.html:50 -msgid "You have been logged out" +#: templates/registration/logged_out.html:6 +msgid "You were logged out successfully." msgstr "" -#: templates/registration/logged_out.html:51 -#: templates/registration/password_reset_complete.html:51 -#: templates/registration/password_reset_done.html:58 -msgid "Return to login screen" -msgstr "" - -#: templates/registration/login.html:64 -msgid "Enter username" -msgstr "" - -#: templates/registration/login.html:70 -msgid "Password" -msgstr "" - -#: templates/registration/login.html:83 -msgid "Username / password combination is incorrect" -msgstr "" - -#: templates/registration/login.html:95 -#: templates/registration/password_reset_form.html:51 -msgid "Forgotten your password?" -msgstr "" - -#: templates/registration/login.html:95 -msgid "Click here to reset" -msgstr "" - -#: templates/registration/password_reset_complete.html:50 -msgid "Password reset complete" -msgstr "" - -#: templates/registration/password_reset_confirm.html:52 -#: templates/registration/password_reset_confirm.html:56 -msgid "Change password" -msgstr "" - -#: templates/registration/password_reset_confirm.html:60 -msgid "The password reset link was invalid, possibly because it has already been used. Please request a new password reset." -msgstr "" - -#: templates/registration/password_reset_done.html:51 -msgid "We've emailed you instructions for setting your password, if an account exists with the email you entered. You should receive them shortly." -msgstr "" - -#: templates/registration/password_reset_done.html:54 -msgid "If you don't receive an email, please make sure you've entered the address you registered with, and check your spam folder." -msgstr "" - -#: templates/registration/password_reset_form.html:52 -msgid "Enter your email address below." -msgstr "" - -#: templates/registration/password_reset_form.html:53 -msgid "An email will be sent with password reset instructions." -msgstr "" - -#: templates/registration/password_reset_form.html:58 -msgid "Send email" +#: templates/registration/logged_out.html:8 +msgid "Log in again" msgstr "" #: templates/stats.html:13 @@ -8169,6 +8335,10 @@ msgstr "" msgid "Export Stock Information" msgstr "" +#: templates/stock_table.html:20 +msgid "New Stock Item" +msgstr "" + #: templates/stock_table.html:27 msgid "Barcode Actions" msgstr "" @@ -8249,35 +8419,35 @@ msgstr "" msgid "Important dates" msgstr "" -#: users/models.py:177 +#: users/models.py:182 msgid "Permission set" msgstr "" -#: users/models.py:185 +#: users/models.py:190 msgid "Group" msgstr "" -#: users/models.py:188 +#: users/models.py:193 msgid "View" msgstr "" -#: users/models.py:188 +#: users/models.py:193 msgid "Permission to view items" msgstr "" -#: users/models.py:190 +#: users/models.py:195 msgid "Permission to add items" msgstr "" -#: users/models.py:192 +#: users/models.py:197 msgid "Change" msgstr "" -#: users/models.py:192 +#: users/models.py:197 msgid "Permissions to edit items" msgstr "" -#: users/models.py:194 +#: users/models.py:199 msgid "Permission to delete items" msgstr "" diff --git a/InvenTree/locale/fr/LC_MESSAGES/django.po b/InvenTree/locale/fr/LC_MESSAGES/django.po index a44d04150e..6a73b7e40a 100644 --- a/InvenTree/locale/fr/LC_MESSAGES/django.po +++ b/InvenTree/locale/fr/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-09-12 13:15+0000\n" -"PO-Revision-Date: 2021-09-12 13:44\n" +"POT-Creation-Date: 2021-10-11 06:21+0000\n" +"PO-Revision-Date: 2021-10-11 06:28\n" "Last-Translator: \n" "Language-Team: French\n" "Language: fr_FR\n" @@ -33,48 +33,61 @@ msgstr "Aucune action correspondante trouvée" msgid "Enter date" msgstr "Entrer la date" -#: InvenTree/forms.py:111 build/forms.py:102 build/forms.py:123 -#: build/forms.py:145 build/forms.py:169 build/forms.py:185 build/forms.py:227 -#: order/forms.py:30 order/forms.py:41 order/forms.py:52 order/forms.py:63 -#: order/forms.py:74 part/forms.py:108 templates/js/translated/forms.js:564 +#: InvenTree/forms.py:116 build/forms.py:102 build/forms.py:123 +#: build/forms.py:145 build/forms.py:173 build/forms.py:215 order/forms.py:27 +#: order/forms.py:38 order/forms.py:49 order/forms.py:60 order/forms.py:71 +#: part/forms.py:108 templates/account/email_confirm.html:20 +#: templates/js/translated/forms.js:564 msgid "Confirm" msgstr "Confirmer" -#: InvenTree/forms.py:127 +#: InvenTree/forms.py:132 msgid "Confirm delete" msgstr "Confirmer la suppression" -#: InvenTree/forms.py:128 +#: InvenTree/forms.py:133 msgid "Confirm item deletion" msgstr "Confirmer la suppression de cet élément" -#: InvenTree/forms.py:160 templates/registration/login.html:76 +#: InvenTree/forms.py:164 msgid "Enter password" msgstr "Entrer le mot de passe" -#: InvenTree/forms.py:161 +#: InvenTree/forms.py:165 msgid "Enter new password" msgstr "Entrer le nouveau mot de passe" -#: InvenTree/forms.py:168 +#: InvenTree/forms.py:172 msgid "Confirm password" msgstr "Confirmez le mot de passe" -#: InvenTree/forms.py:169 +#: InvenTree/forms.py:173 msgid "Confirm new password" msgstr "Confirmer le nouveau mot de passe" -#: InvenTree/forms.py:201 +#: InvenTree/forms.py:205 msgid "Select Category" msgstr "Sélectionnez une catégorie" +#: InvenTree/forms.py:226 +msgid "E-mail (again)" +msgstr "" + +#: InvenTree/forms.py:230 +msgid "E-mail address confirmation" +msgstr "" + +#: InvenTree/forms.py:250 +msgid "You must type the same email each time." +msgstr "" + #: InvenTree/helpers.py:401 #, python-brace-format msgid "Duplicate serial: {n}" msgstr "Dupliquer le numéro de série: {n}" -#: InvenTree/helpers.py:408 order/models.py:315 order/models.py:430 -#: stock/views.py:1363 +#: InvenTree/helpers.py:408 order/models.py:315 order/models.py:437 +#: stock/views.py:1340 msgid "Invalid quantity provided" msgstr "Quantité fournie invalide" @@ -102,7 +115,7 @@ msgstr "Aucun numéro de série trouvé" msgid "Number of unique serial number ({s}) must match quantity ({q})" msgstr "Le nombre de numéros de série uniques ({s}) doit correspondre à la quantité ({q})" -#: InvenTree/models.py:66 stock/models.py:1826 +#: InvenTree/models.py:66 stock/models.py:1823 msgid "Attachment" msgstr "Pièce jointe" @@ -118,10 +131,10 @@ msgstr "Commentaire" msgid "File comment" msgstr "Commentaire du fichier" -#: InvenTree/models.py:75 InvenTree/models.py:76 common/models.py:993 -#: common/models.py:994 part/models.py:2051 +#: InvenTree/models.py:75 InvenTree/models.py:76 common/models.py:1055 +#: common/models.py:1056 part/models.py:2055 #: report/templates/report/inventree_test_report_base.html:91 -#: templates/js/translated/stock.js:1690 +#: templates/js/translated/stock.js:1669 msgid "User" msgstr "Utilisateur" @@ -158,37 +171,34 @@ msgstr "" msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:200 InvenTree/models.py:201 company/models.py:414 -#: label/models.py:112 part/models.py:658 part/models.py:2212 +#: InvenTree/models.py:200 InvenTree/models.py:201 company/models.py:415 +#: label/models.py:112 part/models.py:659 part/models.py:2216 #: part/templates/part/part_base.html:241 report/models.py:181 -#: templates/InvenTree/search.html:137 templates/InvenTree/search.html:289 -#: templates/js/translated/company.js:636 templates/js/translated/part.js:466 -#: templates/js/translated/part.js:603 templates/js/translated/part.js:1130 -#: templates/js/translated/stock.js:1483 +#: templates/js/translated/company.js:637 templates/js/translated/part.js:477 +#: templates/js/translated/part.js:614 templates/js/translated/part.js:1141 +#: templates/js/translated/stock.js:1462 msgid "Name" msgstr "Nom" -#: InvenTree/models.py:207 build/models.py:187 -#: build/templates/build/detail.html:24 company/models.py:353 -#: company/models.py:569 company/templates/company/manufacturer_part.html:76 +#: InvenTree/models.py:207 build/models.py:189 +#: build/templates/build/detail.html:24 company/models.py:354 +#: company/models.py:570 company/templates/company/manufacturer_part.html:76 #: company/templates/company/supplier_part.html:75 label/models.py:119 -#: order/models.py:158 part/models.py:681 +#: order/models.py:158 part/models.py:682 #: part/templates/part/part_base.html:246 #: part/templates/part/set_category.html:14 report/models.py:194 #: report/models.py:551 report/models.py:590 #: report/templates/report/inventree_build_order_base.html:118 -#: templates/InvenTree/search.html:144 templates/InvenTree/search.html:224 -#: templates/InvenTree/search.html:296 #: templates/InvenTree/settings/header.html:9 -#: templates/js/translated/bom.js:230 templates/js/translated/build.js:891 -#: templates/js/translated/build.js:1179 templates/js/translated/company.js:344 -#: templates/js/translated/company.js:546 -#: templates/js/translated/company.js:834 templates/js/translated/order.js:341 -#: templates/js/translated/order.js:486 templates/js/translated/order.js:710 -#: templates/js/translated/part.js:525 templates/js/translated/part.js:713 -#: templates/js/translated/part.js:902 templates/js/translated/part.js:1142 -#: templates/js/translated/part.js:1210 templates/js/translated/stock.js:840 -#: templates/js/translated/stock.js:1495 templates/js/translated/stock.js:1540 +#: templates/js/translated/bom.js:249 templates/js/translated/build.js:1217 +#: templates/js/translated/build.js:1505 templates/js/translated/company.js:344 +#: templates/js/translated/company.js:547 +#: templates/js/translated/company.js:836 templates/js/translated/order.js:672 +#: templates/js/translated/order.js:832 templates/js/translated/order.js:1056 +#: templates/js/translated/part.js:536 templates/js/translated/part.js:724 +#: templates/js/translated/part.js:913 templates/js/translated/part.js:1153 +#: templates/js/translated/part.js:1221 templates/js/translated/stock.js:819 +#: templates/js/translated/stock.js:1474 templates/js/translated/stock.js:1519 msgid "Description" msgstr "Description" @@ -200,7 +210,7 @@ msgstr "Description (facultative)" msgid "parent" msgstr "parent" -#: InvenTree/serializers.py:55 part/models.py:2454 +#: InvenTree/serializers.py:55 part/models.py:2475 msgid "Must be a valid number" msgstr "" @@ -208,75 +218,75 @@ msgstr "" msgid "Filename" msgstr "" -#: InvenTree/settings.py:523 +#: InvenTree/settings.py:529 msgid "German" msgstr "Allemand" -#: InvenTree/settings.py:524 +#: InvenTree/settings.py:530 msgid "Greek" msgstr "" -#: InvenTree/settings.py:525 +#: InvenTree/settings.py:531 msgid "English" msgstr "Anglais" -#: InvenTree/settings.py:526 +#: InvenTree/settings.py:532 msgid "Spanish" msgstr "" -#: InvenTree/settings.py:527 +#: InvenTree/settings.py:533 msgid "French" msgstr "Français" -#: InvenTree/settings.py:528 +#: InvenTree/settings.py:534 msgid "Hebrew" msgstr "" -#: InvenTree/settings.py:529 +#: InvenTree/settings.py:535 msgid "Italian" msgstr "" -#: InvenTree/settings.py:530 +#: InvenTree/settings.py:536 msgid "Japanese" msgstr "" -#: InvenTree/settings.py:531 +#: InvenTree/settings.py:537 msgid "Korean" msgstr "" -#: InvenTree/settings.py:532 +#: InvenTree/settings.py:538 msgid "Dutch" msgstr "" -#: InvenTree/settings.py:533 +#: InvenTree/settings.py:539 msgid "Norwegian" msgstr "" -#: InvenTree/settings.py:534 +#: InvenTree/settings.py:540 msgid "Polish" msgstr "Polonais" -#: InvenTree/settings.py:535 +#: InvenTree/settings.py:541 msgid "Russian" msgstr "" -#: InvenTree/settings.py:536 +#: InvenTree/settings.py:542 msgid "Swedish" msgstr "" -#: InvenTree/settings.py:537 +#: InvenTree/settings.py:543 msgid "Thai" msgstr "" -#: InvenTree/settings.py:538 +#: InvenTree/settings.py:544 msgid "Turkish" msgstr "Turc" -#: InvenTree/settings.py:539 +#: InvenTree/settings.py:545 msgid "Vietnamese" msgstr "" -#: InvenTree/settings.py:540 +#: InvenTree/settings.py:546 msgid "Chinese" msgstr "" @@ -321,7 +331,7 @@ msgid "Returned" msgstr "Retourné" #: InvenTree/status_codes.py:146 -#: order/templates/order/sales_order_base.html:126 +#: order/templates/order/sales_order_base.html:131 msgid "Shipped" msgstr "Expédié" @@ -461,27 +471,27 @@ msgstr "" msgid "Overage must be an integer value or a percentage" msgstr "" -#: InvenTree/views.py:610 +#: InvenTree/views.py:616 msgid "Delete Item" msgstr "Supprimer cet élément" -#: InvenTree/views.py:659 +#: InvenTree/views.py:665 msgid "Check box to confirm item deletion" msgstr "" -#: InvenTree/views.py:674 templates/InvenTree/settings/user.html:14 +#: InvenTree/views.py:680 templates/InvenTree/settings/user.html:18 msgid "Edit User Information" msgstr "Modifier les informations utilisateur" -#: InvenTree/views.py:685 templates/InvenTree/settings/user.html:18 +#: InvenTree/views.py:691 templates/InvenTree/settings/user.html:22 msgid "Set Password" msgstr "" -#: InvenTree/views.py:704 +#: InvenTree/views.py:710 msgid "Password fields must match" msgstr "" -#: InvenTree/views.py:910 templates/navbar.html:105 +#: InvenTree/views.py:954 templates/navbar.html:97 msgid "System Information" msgstr "Informations système" @@ -525,6 +535,10 @@ msgstr "" msgid "Barcode associated with StockItem" msgstr "" +#: build/api.py:213 +msgid "Matching build order does not exist" +msgstr "" + #: build/forms.py:37 msgid "Build Order reference" msgstr "" @@ -536,33 +550,28 @@ msgstr "" #: build/forms.py:42 build/templates/build/build_base.html:146 #: build/templates/build/detail.html:124 #: order/templates/order/order_base.html:124 -#: order/templates/order/sales_order_base.html:119 +#: order/templates/order/sales_order_base.html:124 #: report/templates/report/inventree_build_order_base.html:126 -#: templates/js/translated/build.js:962 templates/js/translated/order.js:358 -#: templates/js/translated/order.js:728 +#: templates/js/translated/build.js:1288 templates/js/translated/order.js:689 +#: templates/js/translated/order.js:1074 msgid "Target Date" msgstr "" -#: build/forms.py:43 build/models.py:277 +#: build/forms.py:43 build/models.py:279 msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/forms.py:48 build/forms.py:90 build/forms.py:266 build/models.py:1402 +#: build/forms.py:48 build/forms.py:90 build/models.py:1281 #: build/templates/build/allocation_card.html:23 -#: build/templates/build/auto_allocate.html:17 #: build/templates/build/build_base.html:133 -#: build/templates/build/detail.html:34 common/models.py:1025 +#: build/templates/build/detail.html:34 common/models.py:1087 #: company/forms.py:42 company/templates/company/supplier_part.html:226 -#: order/forms.py:120 order/forms.py:142 order/forms.py:159 order/models.py:712 -#: order/models.py:964 order/templates/order/order_wizard/match_parts.html:30 -#: order/templates/order/order_wizard/select_parts.html:34 -#: order/templates/order/sales_order_detail.html:201 -#: order/templates/order/sales_order_detail.html:208 -#: order/templates/order/sales_order_detail.html:293 -#: order/templates/order/sales_order_detail.html:365 part/forms.py:249 -#: part/forms.py:265 part/forms.py:281 part/models.py:2356 +#: order/forms.py:101 order/forms.py:123 order/models.py:720 +#: order/models.py:982 order/templates/order/order_wizard/match_parts.html:30 +#: order/templates/order/order_wizard/select_parts.html:34 part/forms.py:249 +#: part/forms.py:265 part/forms.py:281 part/models.py:2377 #: part/templates/part/bom_upload/match_parts.html:31 -#: part/templates/part/detail.html:973 part/templates/part/detail.html:1059 +#: part/templates/part/detail.html:944 part/templates/part/detail.html:1030 #: part/templates/part/part_pricing.html:16 #: report/templates/report/inventree_build_order_base.html:114 #: report/templates/report/inventree_po_report.html:91 @@ -570,14 +579,16 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:77 #: stock/forms.py:140 stock/templates/stock/item_base.html:269 #: stock/templates/stock/stock_adjust.html:18 -#: templates/js/translated/barcode.js:386 templates/js/translated/bom.js:245 -#: templates/js/translated/build.js:298 templates/js/translated/build.js:629 -#: templates/js/translated/build.js:1189 -#: templates/js/translated/model_renderers.js:59 -#: templates/js/translated/order.js:522 templates/js/translated/order.js:824 -#: templates/js/translated/part.js:1317 templates/js/translated/part.js:1440 -#: templates/js/translated/part.js:1518 templates/js/translated/stock.js:1675 -#: templates/js/translated/stock.js:1850 +#: templates/js/translated/barcode.js:386 templates/js/translated/bom.js:264 +#: templates/js/translated/build.js:314 templates/js/translated/build.js:638 +#: templates/js/translated/build.js:977 templates/js/translated/build.js:1515 +#: templates/js/translated/model_renderers.js:74 +#: templates/js/translated/order.js:868 templates/js/translated/order.js:1170 +#: templates/js/translated/order.js:1248 templates/js/translated/order.js:1255 +#: templates/js/translated/order.js:1344 templates/js/translated/order.js:1444 +#: templates/js/translated/part.js:1364 templates/js/translated/part.js:1487 +#: templates/js/translated/part.js:1565 templates/js/translated/stock.js:1654 +#: templates/js/translated/stock.js:1829 msgid "Quantity" msgstr "Quantité" @@ -589,7 +600,7 @@ msgstr "" msgid "Enter quantity for build output" msgstr "" -#: build/forms.py:95 order/forms.py:114 stock/forms.py:83 +#: build/forms.py:95 order/forms.py:95 stock/forms.py:83 msgid "Serial Numbers" msgstr "Numéros de série" @@ -609,246 +620,238 @@ msgstr "" msgid "Confirm unallocation of stock" msgstr "" -#: build/forms.py:169 -msgid "Confirm stock allocation" -msgstr "" - -#: build/forms.py:186 +#: build/forms.py:174 msgid "Mark build as complete" msgstr "" -#: build/forms.py:210 build/templates/build/auto_allocate.html:18 -#: order/serializers.py:216 order/serializers.py:275 stock/forms.py:280 +#: build/forms.py:198 order/serializers.py:217 order/serializers.py:284 +#: stock/forms.py:280 stock/serializers.py:553 #: stock/templates/stock/item_base.html:299 #: stock/templates/stock/stock_adjust.html:17 -#: templates/InvenTree/search.html:260 templates/js/translated/barcode.js:385 -#: templates/js/translated/barcode.js:555 templates/js/translated/build.js:283 -#: templates/js/translated/build.js:643 templates/js/translated/order.js:809 -#: templates/js/translated/part.js:174 templates/js/translated/stock.js:203 -#: templates/js/translated/stock.js:329 templates/js/translated/stock.js:942 -#: templates/js/translated/stock.js:1567 +#: templates/js/translated/barcode.js:385 +#: templates/js/translated/barcode.js:555 templates/js/translated/build.js:299 +#: templates/js/translated/build.js:650 templates/js/translated/order.js:347 +#: templates/js/translated/order.js:1155 templates/js/translated/order.js:1263 +#: templates/js/translated/order.js:1269 templates/js/translated/part.js:179 +#: templates/js/translated/stock.js:183 templates/js/translated/stock.js:921 +#: templates/js/translated/stock.js:1546 msgid "Location" msgstr "" -#: build/forms.py:211 +#: build/forms.py:199 msgid "Location of completed parts" msgstr "Emplacement des pièces terminées" -#: build/forms.py:215 build/templates/build/build_base.html:138 -#: build/templates/build/detail.html:62 order/models.py:555 -#: order/serializers.py:230 order/templates/order/receive_parts.html:24 -#: stock/templates/stock/item_base.html:422 templates/InvenTree/search.html:252 -#: templates/js/translated/barcode.js:141 templates/js/translated/build.js:925 -#: templates/js/translated/order.js:345 templates/js/translated/order.js:715 -#: templates/js/translated/stock.js:917 templates/js/translated/stock.js:1644 -#: templates/js/translated/stock.js:1866 +#: build/forms.py:203 build/templates/build/build_base.html:138 +#: build/templates/build/detail.html:62 order/models.py:563 +#: order/serializers.py:238 stock/templates/stock/item_base.html:422 +#: templates/js/translated/barcode.js:141 templates/js/translated/build.js:1251 +#: templates/js/translated/order.js:430 templates/js/translated/order.js:676 +#: templates/js/translated/order.js:1061 templates/js/translated/stock.js:896 +#: templates/js/translated/stock.js:1623 templates/js/translated/stock.js:1845 msgid "Status" msgstr "" -#: build/forms.py:216 +#: build/forms.py:204 msgid "Build output stock status" msgstr "" -#: build/forms.py:223 +#: build/forms.py:211 msgid "Confirm incomplete" msgstr "" -#: build/forms.py:224 +#: build/forms.py:212 msgid "Confirm completion with incomplete stock allocation" msgstr "" -#: build/forms.py:227 +#: build/forms.py:215 msgid "Confirm build completion" msgstr "" -#: build/forms.py:252 +#: build/forms.py:240 msgid "Confirm cancel" msgstr "" -#: build/forms.py:252 build/views.py:65 +#: build/forms.py:240 build/views.py:65 msgid "Confirm build cancellation" msgstr "" -#: build/forms.py:266 -msgid "Select quantity of stock to allocate" -msgstr "" - -#: build/models.py:113 +#: build/models.py:115 msgid "Invalid choice for parent build" msgstr "" -#: build/models.py:117 build/templates/build/build_base.html:9 +#: build/models.py:119 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:73 #: report/templates/report/inventree_build_order_base.html:106 -#: templates/js/translated/build.js:260 +#: templates/js/translated/build.js:276 msgid "Build Order" msgstr "" -#: build/models.py:118 build/templates/build/index.html:8 +#: build/models.py:120 build/templates/build/index.html:8 #: build/templates/build/index.html:15 #: order/templates/order/sales_order_detail.html:34 #: order/templates/order/so_navbar.html:19 #: order/templates/order/so_navbar.html:22 part/templates/part/navbar.html:50 #: part/templates/part/navbar.html:53 templates/InvenTree/index.html:229 -#: templates/InvenTree/search.html:185 -#: templates/InvenTree/settings/navbar.html:101 -#: templates/InvenTree/settings/navbar.html:103 users/models.py:44 +#: templates/InvenTree/search.html:171 +#: templates/InvenTree/settings/navbar.html:113 +#: templates/InvenTree/settings/navbar.html:115 users/models.py:44 msgid "Build Orders" msgstr "" -#: build/models.py:178 +#: build/models.py:180 msgid "Build Order Reference" msgstr "" -#: build/models.py:179 order/models.py:246 order/models.py:539 -#: order/models.py:719 order/templates/order/sales_order_detail.html:360 -#: part/models.py:2365 part/templates/part/bom_upload/match_parts.html:30 +#: build/models.py:181 order/models.py:246 order/models.py:547 +#: order/models.py:727 part/models.py:2386 +#: part/templates/part/bom_upload/match_parts.html:30 #: report/templates/report/inventree_po_report.html:92 #: report/templates/report/inventree_so_report.html:92 -#: templates/js/translated/bom.js:237 templates/js/translated/build.js:718 -#: templates/js/translated/build.js:1183 templates/js/translated/order.js:517 +#: templates/js/translated/bom.js:256 templates/js/translated/build.js:734 +#: templates/js/translated/build.js:1509 templates/js/translated/order.js:863 +#: templates/js/translated/order.js:1438 msgid "Reference" msgstr "Référence" -#: build/models.py:190 +#: build/models.py:192 msgid "Brief description of the build" msgstr "" -#: build/models.py:199 build/templates/build/build_base.html:163 +#: build/models.py:201 build/templates/build/build_base.html:163 #: build/templates/build/detail.html:80 msgid "Parent Build" msgstr "" -#: build/models.py:200 +#: build/models.py:202 msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:205 build/templates/build/auto_allocate.html:16 -#: build/templates/build/build_base.html:128 -#: build/templates/build/detail.html:29 company/models.py:704 -#: order/models.py:772 order/models.py:837 -#: order/templates/order/order_wizard/select_parts.html:32 -#: order/templates/order/receive_parts.html:19 -#: order/templates/order/sales_order_detail.html:345 part/models.py:297 -#: part/models.py:1996 part/models.py:2012 part/models.py:2031 -#: part/models.py:2049 part/models.py:2128 part/models.py:2250 -#: part/models.py:2340 part/templates/part/detail.html:199 +#: build/models.py:207 build/templates/build/build_base.html:128 +#: build/templates/build/detail.html:29 company/models.py:705 +#: order/models.py:780 order/models.py:851 +#: order/templates/order/order_wizard/select_parts.html:32 part/models.py:298 +#: part/models.py:2000 part/models.py:2016 part/models.py:2035 +#: part/models.py:2053 part/models.py:2132 part/models.py:2254 +#: part/models.py:2361 part/templates/part/detail.html:199 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/set_category.html:13 #: report/templates/report/inventree_build_order_base.html:110 #: report/templates/report/inventree_po_report.html:90 #: report/templates/report/inventree_so_report.html:90 -#: templates/InvenTree/search.html:112 templates/InvenTree/search.html:210 -#: templates/js/translated/barcode.js:384 templates/js/translated/bom.js:203 -#: templates/js/translated/build.js:609 templates/js/translated/build.js:896 -#: templates/js/translated/build.js:1156 templates/js/translated/company.js:487 -#: templates/js/translated/company.js:743 templates/js/translated/order.js:471 -#: templates/js/translated/part.js:694 templates/js/translated/part.js:864 -#: templates/js/translated/stock.js:201 templates/js/translated/stock.js:797 -#: templates/js/translated/stock.js:1838 +#: templates/InvenTree/search.html:112 templates/js/translated/barcode.js:384 +#: templates/js/translated/bom.js:222 templates/js/translated/build.js:611 +#: templates/js/translated/build.js:974 templates/js/translated/build.js:1222 +#: templates/js/translated/build.js:1482 templates/js/translated/company.js:488 +#: templates/js/translated/company.js:745 templates/js/translated/order.js:425 +#: templates/js/translated/order.js:817 templates/js/translated/order.js:1422 +#: templates/js/translated/part.js:705 templates/js/translated/part.js:875 +#: templates/js/translated/stock.js:181 templates/js/translated/stock.js:776 +#: templates/js/translated/stock.js:1817 msgid "Part" msgstr "Pièce" -#: build/models.py:213 +#: build/models.py:215 msgid "Select part to build" msgstr "Sélectionnez la pièce à construire" -#: build/models.py:218 +#: build/models.py:220 msgid "Sales Order Reference" msgstr "" -#: build/models.py:222 +#: build/models.py:224 msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:227 +#: build/models.py:229 templates/js/translated/build.js:962 msgid "Source Location" msgstr "" -#: build/models.py:231 +#: build/models.py:233 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "" -#: build/models.py:236 +#: build/models.py:238 msgid "Destination Location" msgstr "" -#: build/models.py:240 +#: build/models.py:242 msgid "Select location where the completed items will be stored" msgstr "" -#: build/models.py:244 +#: build/models.py:246 msgid "Build Quantity" msgstr "" -#: build/models.py:247 +#: build/models.py:249 msgid "Number of stock items to build" msgstr "" -#: build/models.py:251 +#: build/models.py:253 msgid "Completed items" msgstr "" -#: build/models.py:253 +#: build/models.py:255 msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:257 part/templates/part/part_base.html:198 +#: build/models.py:259 part/templates/part/part_base.html:198 msgid "Build Status" msgstr "" -#: build/models.py:261 +#: build/models.py:263 msgid "Build status code" msgstr "" -#: build/models.py:265 stock/models.py:513 +#: build/models.py:267 stock/models.py:513 msgid "Batch Code" msgstr "" -#: build/models.py:269 +#: build/models.py:271 msgid "Batch code for this build output" msgstr "" -#: build/models.py:272 order/models.py:162 part/models.py:853 -#: part/templates/part/part_base.html:272 templates/js/translated/order.js:723 +#: build/models.py:274 order/models.py:162 part/models.py:854 +#: part/templates/part/part_base.html:272 templates/js/translated/order.js:1069 msgid "Creation Date" msgstr "Date de création" -#: build/models.py:276 order/models.py:561 +#: build/models.py:278 order/models.py:569 msgid "Target completion date" msgstr "" -#: build/models.py:280 order/models.py:288 templates/js/translated/build.js:967 +#: build/models.py:282 order/models.py:288 +#: templates/js/translated/build.js:1293 msgid "Completion Date" msgstr "" -#: build/models.py:286 +#: build/models.py:288 msgid "completed by" msgstr "" -#: build/models.py:294 templates/js/translated/build.js:938 +#: build/models.py:296 templates/js/translated/build.js:1264 msgid "Issued by" msgstr "" -#: build/models.py:295 +#: build/models.py:297 msgid "User who issued this build order" msgstr "" -#: build/models.py:303 build/templates/build/build_base.html:184 +#: build/models.py:305 build/templates/build/build_base.html:184 #: build/templates/build/detail.html:108 order/models.py:176 #: order/templates/order/order_base.html:138 -#: order/templates/order/sales_order_base.html:140 part/models.py:857 +#: order/templates/order/sales_order_base.html:145 part/models.py:858 #: report/templates/report/inventree_build_order_base.html:159 -#: templates/js/translated/build.js:950 +#: templates/js/translated/build.js:1276 msgid "Responsible" msgstr "" -#: build/models.py:304 +#: build/models.py:306 msgid "User responsible for this build order" msgstr "" -#: build/models.py:309 build/templates/build/detail.html:94 +#: build/models.py:311 build/templates/build/detail.html:94 #: company/templates/company/manufacturer_part.html:83 #: company/templates/company/supplier_part.html:82 #: part/templates/part/part_base.html:266 stock/models.py:507 @@ -856,140 +859,157 @@ msgstr "" msgid "External Link" msgstr "Lien Externe" -#: build/models.py:310 part/models.py:715 stock/models.py:509 +#: build/models.py:312 part/models.py:716 stock/models.py:509 msgid "Link to external URL" msgstr "" -#: build/models.py:314 build/templates/build/navbar.html:52 -#: company/models.py:141 company/models.py:576 +#: build/models.py:316 build/templates/build/navbar.html:52 +#: company/models.py:142 company/models.py:577 #: company/templates/company/navbar.html:69 #: company/templates/company/navbar.html:72 order/models.py:180 -#: order/models.py:721 order/templates/order/po_navbar.html:38 +#: order/models.py:729 order/templates/order/po_navbar.html:38 #: order/templates/order/po_navbar.html:41 -#: order/templates/order/sales_order_detail.html:440 #: order/templates/order/so_navbar.html:33 -#: order/templates/order/so_navbar.html:36 part/models.py:842 +#: order/templates/order/so_navbar.html:36 part/models.py:843 #: part/templates/part/detail.html:105 part/templates/part/navbar.html:120 #: part/templates/part/navbar.html:123 #: report/templates/report/inventree_build_order_base.html:173 #: stock/forms.py:138 stock/forms.py:250 stock/forms.py:282 stock/models.py:579 -#: stock/models.py:1726 stock/models.py:1832 +#: stock/models.py:1723 stock/models.py:1829 stock/serializers.py:451 #: stock/templates/stock/navbar.html:57 templates/js/translated/barcode.js:59 -#: templates/js/translated/bom.js:385 templates/js/translated/company.js:839 -#: templates/js/translated/order.js:604 templates/js/translated/stock.js:338 -#: templates/js/translated/stock.js:580 templates/js/translated/stock.js:1061 +#: templates/js/translated/bom.js:406 templates/js/translated/company.js:841 +#: templates/js/translated/order.js:950 templates/js/translated/order.js:1540 +#: templates/js/translated/stock.js:559 templates/js/translated/stock.js:1040 msgid "Notes" msgstr "Notes" -#: build/models.py:315 +#: build/models.py:317 msgid "Extra build notes" msgstr "" -#: build/models.py:792 +#: build/models.py:714 msgid "No build output specified" msgstr "" -#: build/models.py:795 +#: build/models.py:717 msgid "Build output is already completed" msgstr "" -#: build/models.py:798 +#: build/models.py:720 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:1208 -msgid "BuildItem must be unique for build, stock_item and install_into" -msgstr "" - -#: build/models.py:1233 +#: build/models.py:1102 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:1237 +#: build/models.py:1111 #, python-brace-format -msgid "Allocated quantity ({n}) must not exceed available quantity ({q})" +msgid "Allocated quantity ({q}) must not execed available stock quantity ({a})" msgstr "" -#: build/models.py:1244 order/models.py:938 -msgid "StockItem is over-allocated" +#: build/models.py:1121 +msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1248 order/models.py:941 +#: build/models.py:1127 order/models.py:955 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1252 +#: build/models.py:1133 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1312 -#, python-brace-format -msgid "Selected stock item not found in BOM for part '{p}'" -msgstr "L'article en stock sélectionné n'a pas été trouvé dans la BOM pour la pièce '{p}'" +#: build/models.py:1191 +msgid "Selected stock item not found in BOM" +msgstr "" -#: build/models.py:1372 stock/templates/stock/item_base.html:331 -#: templates/InvenTree/search.html:183 templates/js/translated/build.js:869 +#: build/models.py:1251 stock/templates/stock/item_base.html:331 +#: templates/InvenTree/search.html:169 templates/js/translated/build.js:1195 #: templates/navbar.html:35 msgid "Build" msgstr "" -#: build/models.py:1373 +#: build/models.py:1252 msgid "Build to allocate parts" msgstr "" -#: build/models.py:1389 stock/templates/stock/item_base.html:8 +#: build/models.py:1268 build/serializers.py:151 +#: stock/templates/stock/item_base.html:8 #: stock/templates/stock/item_base.html:31 #: stock/templates/stock/item_base.html:353 #: stock/templates/stock/stock_adjust.html:16 -#: templates/js/translated/build.js:271 templates/js/translated/build.js:276 -#: templates/js/translated/build.js:1012 templates/js/translated/order.js:797 -#: templates/js/translated/order.js:802 templates/js/translated/stock.js:1626 +#: templates/js/translated/build.js:287 templates/js/translated/build.js:292 +#: templates/js/translated/build.js:976 templates/js/translated/build.js:1338 +#: templates/js/translated/order.js:1143 templates/js/translated/order.js:1148 +#: templates/js/translated/stock.js:1605 msgid "Stock Item" msgstr "" -#: build/models.py:1390 +#: build/models.py:1269 msgid "Source stock item" msgstr "" -#: build/models.py:1403 +#: build/models.py:1282 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1411 +#: build/models.py:1290 msgid "Install into" msgstr "" -#: build/models.py:1412 +#: build/models.py:1291 msgid "Destination stock item" msgstr "" +#: build/serializers.py:133 part/models.py:2501 +msgid "BOM Item" +msgstr "" + +#: build/serializers.py:142 +msgid "bom_item.part must point to the same part as the build order" +msgstr "" + +#: build/serializers.py:157 +msgid "Item must be in stock" +msgstr "" + +#: build/serializers.py:171 order/models.py:313 order/serializers.py:231 +#: stock/models.py:351 stock/models.py:1072 +msgid "Quantity must be greater than zero" +msgstr "" + +#: build/serializers.py:180 +msgid "Build Output" +msgstr "" + +#: build/serializers.py:213 +#, python-brace-format +msgid "Available quantity ({q}) exceeded" +msgstr "" + +#: build/serializers.py:219 +msgid "Build output must be specified for allocation of tracked parts" +msgstr "" + +#: build/serializers.py:226 +msgid "Build output cannot be specified for allocation of untracked parts" +msgstr "" + +#: build/serializers.py:254 +msgid "Allocation items must be provided" +msgstr "" + #: build/templates/build/allocation_card.html:21 #: build/templates/build/complete_output.html:46 -#: order/templates/order/sales_order_detail.html:206 -#: order/templates/order/sales_order_detail.html:291 #: report/templates/report/inventree_test_report_base.html:75 #: stock/models.py:501 stock/templates/stock/item_base.html:251 -#: templates/js/translated/build.js:627 -#: templates/js/translated/model_renderers.js:57 +#: templates/js/translated/build.js:636 +#: templates/js/translated/model_renderers.js:72 +#: templates/js/translated/order.js:1253 templates/js/translated/order.js:1342 msgid "Serial Number" msgstr "" -#: build/templates/build/auto_allocate.html:9 -msgid "Automatically Allocate Stock" -msgstr "" - -#: build/templates/build/auto_allocate.html:10 -msgid "The following stock items will be allocated to the specified build output" -msgstr "" - -#: build/templates/build/auto_allocate.html:37 -msgid "No stock items found that can be automatically allocated to this build" -msgstr "" - -#: build/templates/build/auto_allocate.html:39 -msgid "Stock items will have to be manually allocated" -msgstr "" - #: build/templates/build/build_base.html:18 #, python-format msgid "This Build Order is allocated to Sales Order %(link)s" @@ -1033,10 +1053,10 @@ msgstr "" #: order/templates/order/order_base.html:32 #: order/templates/order/order_base.html:86 #: order/templates/order/sales_order_base.html:43 -#: order/templates/order/sales_order_base.html:88 +#: order/templates/order/sales_order_base.html:93 #: templates/js/translated/table_filters.js:272 -#: templates/js/translated/table_filters.js:291 -#: templates/js/translated/table_filters.js:308 +#: templates/js/translated/table_filters.js:300 +#: templates/js/translated/table_filters.js:317 msgid "Overdue" msgstr "" @@ -1086,14 +1106,14 @@ msgid "Progress" msgstr "" #: build/templates/build/build_base.html:170 -#: build/templates/build/detail.html:87 order/models.py:835 +#: build/templates/build/detail.html:87 order/models.py:848 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:35 #: order/templates/order/sales_order_ship.html:25 #: report/templates/report/inventree_build_order_base.html:136 #: report/templates/report/inventree_so_report.html:77 #: stock/templates/stock/item_base.html:293 -#: templates/js/translated/order.js:670 +#: templates/js/translated/order.js:1016 msgid "Sales Order" msgstr "" @@ -1171,28 +1191,6 @@ msgstr "" msgid "The following items will be created" msgstr "" -#: build/templates/build/create_build_item.html:7 -msgid "Select a stock item to allocate to the selected build output" -msgstr "" - -#: build/templates/build/create_build_item.html:11 -#, python-format -msgid "The allocated stock will be installed into the following build output:
%(output)s" -msgstr "" - -#: build/templates/build/create_build_item.html:17 -#, python-format -msgid "No stock available for %(part)s" -msgstr "" - -#: build/templates/build/delete_build_item.html:8 -msgid "Are you sure you want to unallocate this stock?" -msgstr "" - -#: build/templates/build/delete_build_item.html:11 -msgid "The selected stock will be unallocated from the build output" -msgstr "" - #: build/templates/build/detail.html:38 msgid "Stock Source" msgstr "" @@ -1201,9 +1199,8 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/forms.py:88 order/models.py:794 -#: order/templates/order/receive_parts.html:25 stock/forms.py:134 -#: templates/js/translated/order.js:593 +#: build/templates/build/detail.html:49 order/models.py:802 stock/forms.py:134 +#: templates/js/translated/order.js:431 templates/js/translated/order.js:939 msgid "Destination" msgstr "" @@ -1213,7 +1210,7 @@ msgstr "" #: build/templates/build/detail.html:73 #: stock/templates/stock/item_base.html:317 -#: templates/js/translated/stock.js:931 templates/js/translated/stock.js:1873 +#: templates/js/translated/stock.js:910 templates/js/translated/stock.js:1852 #: templates/js/translated/table_filters.js:129 #: templates/js/translated/table_filters.js:211 msgid "Batch" @@ -1221,8 +1218,8 @@ msgstr "" #: build/templates/build/detail.html:119 #: order/templates/order/order_base.html:111 -#: order/templates/order/sales_order_base.html:113 -#: templates/js/translated/build.js:933 +#: order/templates/order/sales_order_base.html:118 +#: templates/js/translated/build.js:1259 msgid "Created" msgstr "" @@ -1230,7 +1227,8 @@ msgstr "" msgid "No target date set" msgstr "" -#: build/templates/build/detail.html:135 templates/js/translated/build.js:911 +#: build/templates/build/detail.html:135 templates/js/translated/build.js:1237 +#: templates/js/translated/table_filters.js:282 msgid "Completed" msgstr "" @@ -1250,15 +1248,16 @@ msgstr "" msgid "Allocate stock to build" msgstr "" -#: build/templates/build/detail.html:173 -msgid "Auto Allocate" +#: build/templates/build/detail.html:173 build/templates/build/navbar.html:20 +#: build/templates/build/navbar.html:23 +msgid "Allocate Stock" msgstr "" -#: build/templates/build/detail.html:175 templates/js/translated/build.js:801 +#: build/templates/build/detail.html:175 templates/js/translated/build.js:817 msgid "Unallocate stock" msgstr "" -#: build/templates/build/detail.html:176 build/views.py:318 build/views.py:638 +#: build/templates/build/detail.html:176 build/views.py:257 msgid "Unallocate Stock" msgstr "" @@ -1268,7 +1267,7 @@ msgstr "Commander les pièces requises" #: build/templates/build/detail.html:180 #: company/templates/company/detail.html:32 -#: company/templates/company/detail.html:72 order/views.py:679 +#: company/templates/company/detail.html:72 order/views.py:509 #: part/templates/part/category.html:140 msgid "Order Parts" msgstr "Commander des pièces" @@ -1282,38 +1281,42 @@ msgid "Untracked stock has not been fully allocated for this Build Order" msgstr "" #: build/templates/build/detail.html:197 +msgid "Allocate selected items" +msgstr "" + +#: build/templates/build/detail.html:209 msgid "This Build Order does not have any associated untracked BOM items" msgstr "" -#: build/templates/build/detail.html:206 +#: build/templates/build/detail.html:218 msgid "Incomplete Build Outputs" msgstr "" -#: build/templates/build/detail.html:211 +#: build/templates/build/detail.html:223 msgid "Create new build output" msgstr "" -#: build/templates/build/detail.html:212 +#: build/templates/build/detail.html:224 msgid "Create New Output" msgstr "" -#: build/templates/build/detail.html:225 +#: build/templates/build/detail.html:237 msgid "Create a new build output" msgstr "" -#: build/templates/build/detail.html:226 +#: build/templates/build/detail.html:238 msgid "No incomplete build outputs remain." msgstr "" -#: build/templates/build/detail.html:227 +#: build/templates/build/detail.html:239 msgid "Create a new build output using the button above" msgstr "" -#: build/templates/build/detail.html:235 +#: build/templates/build/detail.html:247 msgid "Completed Build Outputs" msgstr "" -#: build/templates/build/detail.html:246 build/templates/build/navbar.html:42 +#: build/templates/build/detail.html:258 build/templates/build/navbar.html:42 #: build/templates/build/navbar.html:45 order/templates/order/po_navbar.html:35 #: order/templates/order/sales_order_detail.html:43 #: order/templates/order/so_navbar.html:29 part/templates/part/detail.html:173 @@ -1323,15 +1326,15 @@ msgstr "" msgid "Attachments" msgstr "Pieces jointes" -#: build/templates/build/detail.html:257 +#: build/templates/build/detail.html:269 msgid "Build Notes" msgstr "" -#: build/templates/build/detail.html:261 build/templates/build/detail.html:398 +#: build/templates/build/detail.html:273 build/templates/build/detail.html:414 #: company/templates/company/detail.html:169 #: company/templates/company/detail.html:196 -#: order/templates/order/purchase_order_detail.html:62 -#: order/templates/order/purchase_order_detail.html:95 +#: order/templates/order/purchase_order_detail.html:71 +#: order/templates/order/purchase_order_detail.html:104 #: order/templates/order/sales_order_detail.html:58 #: order/templates/order/sales_order_detail.html:85 #: part/templates/part/detail.html:109 stock/templates/stock/item.html:103 @@ -1339,39 +1342,48 @@ msgstr "" msgid "Edit Notes" msgstr "" -#: build/templates/build/detail.html:357 +#: build/templates/build/detail.html:373 #: order/templates/order/po_attachments.html:79 -#: order/templates/order/purchase_order_detail.html:157 +#: order/templates/order/purchase_order_detail.html:166 #: order/templates/order/sales_order_detail.html:146 -#: part/templates/part/detail.html:920 stock/templates/stock/item.html:253 +#: part/templates/part/detail.html:891 stock/templates/stock/item.html:253 #: templates/attachment_table.html:6 msgid "Add Attachment" msgstr "" -#: build/templates/build/detail.html:376 +#: build/templates/build/detail.html:392 #: order/templates/order/po_attachments.html:51 -#: order/templates/order/purchase_order_detail.html:129 +#: order/templates/order/purchase_order_detail.html:138 #: order/templates/order/sales_order_detail.html:119 -#: part/templates/part/detail.html:874 stock/templates/stock/item.html:221 +#: part/templates/part/detail.html:845 stock/templates/stock/item.html:221 msgid "Edit Attachment" msgstr "" -#: build/templates/build/detail.html:383 +#: build/templates/build/detail.html:399 #: order/templates/order/po_attachments.html:58 -#: order/templates/order/purchase_order_detail.html:136 +#: order/templates/order/purchase_order_detail.html:145 #: order/templates/order/sales_order_detail.html:125 -#: part/templates/part/detail.html:883 stock/templates/stock/item.html:230 +#: part/templates/part/detail.html:854 stock/templates/stock/item.html:230 +#: templates/js/translated/order.js:1230 msgid "Confirm Delete Operation" msgstr "" -#: build/templates/build/detail.html:384 +#: build/templates/build/detail.html:400 #: order/templates/order/po_attachments.html:59 -#: order/templates/order/purchase_order_detail.html:137 +#: order/templates/order/purchase_order_detail.html:146 #: order/templates/order/sales_order_detail.html:126 -#: part/templates/part/detail.html:884 stock/templates/stock/item.html:231 +#: part/templates/part/detail.html:855 stock/templates/stock/item.html:231 msgid "Delete Attachment" msgstr "" +#: build/templates/build/detail.html:443 +msgid "Allocation Complete" +msgstr "" + +#: build/templates/build/detail.html:444 +msgid "All untracked stock items have been allocated" +msgstr "" + #: build/templates/build/edit_build_item.html:7 msgid "Alter the quantity of stock allocated to the build output" msgstr "" @@ -1401,15 +1413,10 @@ msgid "Build Order Details" msgstr "" #: build/templates/build/navbar.html:15 order/templates/order/po_navbar.html:15 -#: templates/js/translated/stock.js:1555 +#: templates/js/translated/stock.js:1534 msgid "Details" msgstr "Détails" -#: build/templates/build/navbar.html:20 build/templates/build/navbar.html:23 -#: build/views.py:90 -msgid "Allocate Stock" -msgstr "" - #: build/templates/build/navbar.html:28 build/templates/build/navbar.html:31 msgid "Build Outputs" msgstr "" @@ -1434,120 +1441,82 @@ msgstr "" msgid "Build was cancelled" msgstr "" -#: build/views.py:137 -msgid "Allocated stock to build output" -msgstr "" - -#: build/views.py:149 +#: build/views.py:88 msgid "Create Build Output" msgstr "" -#: build/views.py:167 +#: build/views.py:106 msgid "Maximum output quantity is " msgstr "" -#: build/views.py:183 stock/views.py:1389 +#: build/views.py:122 stock/views.py:1366 msgid "Serial numbers already exist" msgstr "" -#: build/views.py:192 +#: build/views.py:131 msgid "Serial numbers required for trackable build output" msgstr "" -#: build/views.py:258 +#: build/views.py:197 msgid "Delete Build Output" msgstr "" -#: build/views.py:279 build/views.py:369 +#: build/views.py:218 build/views.py:308 msgid "Confirm unallocation of build stock" msgstr "" -#: build/views.py:280 build/views.py:370 stock/views.py:404 +#: build/views.py:219 build/views.py:309 stock/views.py:381 msgid "Check the confirmation box" msgstr "" -#: build/views.py:292 +#: build/views.py:231 msgid "Build output does not match build" msgstr "" -#: build/views.py:294 build/views.py:495 +#: build/views.py:233 build/views.py:434 msgid "Build output must be specified" msgstr "" -#: build/views.py:306 +#: build/views.py:245 msgid "Build output deleted" msgstr "" -#: build/views.py:404 +#: build/views.py:343 msgid "Complete Build Order" msgstr "" -#: build/views.py:410 +#: build/views.py:349 msgid "Build order cannot be completed - incomplete outputs remain" msgstr "" -#: build/views.py:421 +#: build/views.py:360 msgid "Completed build order" msgstr "" -#: build/views.py:437 +#: build/views.py:376 msgid "Complete Build Output" msgstr "" -#: build/views.py:479 +#: build/views.py:418 msgid "Invalid stock status value selected" msgstr "" -#: build/views.py:486 +#: build/views.py:425 msgid "Quantity to complete cannot exceed build output quantity" msgstr "" -#: build/views.py:492 +#: build/views.py:431 msgid "Confirm completion of incomplete build" msgstr "" -#: build/views.py:591 +#: build/views.py:530 msgid "Build output completed" msgstr "" -#: build/views.py:628 +#: build/views.py:567 msgid "Delete Build Order" msgstr "" -#: build/views.py:643 -msgid "Removed parts from build allocation" -msgstr "" - -#: build/views.py:655 -msgid "Allocate stock to build output" -msgstr "" - -#: build/views.py:698 -msgid "Item must be currently in stock" -msgstr "" - -#: build/views.py:704 -msgid "Stock item is over-allocated" -msgstr "" - -#: build/views.py:705 templates/js/translated/bom.js:269 -#: templates/js/translated/build.js:728 templates/js/translated/build.js:1019 -#: templates/js/translated/build.js:1196 -msgid "Available" -msgstr "Disponible" - -#: build/views.py:707 -msgid "Stock item must be selected" -msgstr "" - -#: build/views.py:870 -msgid "Edit Stock Allocation" -msgstr "" - -#: build/views.py:874 -msgid "Updated Build Item" -msgstr "" - #: common/files.py:67 msgid "Unsupported file format: {ext.upper()}" msgstr "" @@ -1585,7 +1554,7 @@ msgstr "{name.title()} Fichier" msgid "Select {name} file to upload" msgstr "" -#: common/models.py:308 common/models.py:839 common/models.py:986 +#: common/models.py:308 common/models.py:887 common/models.py:1048 msgid "Settings key (must be unique - case insensitive" msgstr "" @@ -1625,7 +1594,7 @@ msgstr "" msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:522 company/models.py:99 company/models.py:100 +#: common/models.py:522 company/models.py:100 company/models.py:101 msgid "Company name" msgstr "" @@ -1721,9 +1690,9 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:603 part/models.py:2252 report/models.py:187 +#: common/models.py:603 part/models.py:2256 report/models.py:187 #: stock/forms.py:224 templates/js/translated/table_filters.js:38 -#: templates/js/translated/table_filters.js:342 +#: templates/js/translated/table_filters.js:351 msgid "Template" msgstr "" @@ -1731,9 +1700,9 @@ msgstr "" msgid "Parts are templates by default" msgstr "" -#: common/models.py:610 part/models.py:805 +#: common/models.py:610 part/models.py:806 #: templates/js/translated/table_filters.js:146 -#: templates/js/translated/table_filters.js:354 +#: templates/js/translated/table_filters.js:363 msgid "Assembly" msgstr "" @@ -1741,8 +1710,8 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:617 part/models.py:811 -#: templates/js/translated/table_filters.js:358 +#: common/models.py:617 part/models.py:812 +#: templates/js/translated/table_filters.js:367 msgid "Component" msgstr "" @@ -1750,7 +1719,7 @@ msgstr "" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:624 part/models.py:822 +#: common/models.py:624 part/models.py:823 msgid "Purchaseable" msgstr "" @@ -1758,8 +1727,8 @@ msgstr "" msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:631 part/models.py:827 -#: templates/js/translated/table_filters.js:366 +#: common/models.py:631 part/models.py:828 +#: templates/js/translated/table_filters.js:375 msgid "Salable" msgstr "" @@ -1767,9 +1736,9 @@ msgstr "" msgid "Parts are salable by default" msgstr "" -#: common/models.py:638 part/models.py:817 +#: common/models.py:638 part/models.py:818 #: templates/js/translated/table_filters.js:46 -#: templates/js/translated/table_filters.js:370 +#: templates/js/translated/table_filters.js:379 msgid "Trackable" msgstr "" @@ -1777,7 +1746,7 @@ msgstr "" msgid "Parts are trackable by default" msgstr "" -#: common/models.py:645 part/models.py:837 +#: common/models.py:645 part/models.py:838 #: part/templates/part/part_base.html:66 #: templates/js/translated/table_filters.js:42 msgid "Virtual" @@ -1787,392 +1756,464 @@ msgstr "" msgid "Parts are virtual by default" msgstr "" -#: common/models.py:653 -msgid "Show Quantity in Forms" -msgstr "" - -#: common/models.py:654 -msgid "Display available part quantity in some forms" -msgstr "" - -#: common/models.py:660 +#: common/models.py:652 msgid "Show Import in Views" msgstr "" -#: common/models.py:661 +#: common/models.py:653 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:667 +#: common/models.py:659 msgid "Show Price in Forms" msgstr "" -#: common/models.py:668 +#: common/models.py:660 msgid "Display part price in some forms" msgstr "" -#: common/models.py:674 +#: common/models.py:671 +msgid "Show Price in BOM" +msgstr "" + +#: common/models.py:672 +msgid "Include pricing information in BOM tables" +msgstr "" + +#: common/models.py:678 msgid "Show related parts" msgstr "" -#: common/models.py:675 +#: common/models.py:679 msgid "Display related parts for a part" msgstr "" -#: common/models.py:681 +#: common/models.py:685 msgid "Create initial stock" msgstr "" -#: common/models.py:682 +#: common/models.py:686 msgid "Create initial stock on part creation" msgstr "" -#: common/models.py:688 +#: common/models.py:692 msgid "Internal Prices" msgstr "" -#: common/models.py:689 +#: common/models.py:693 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:695 +#: common/models.py:699 msgid "Internal Price as BOM-Price" msgstr "" -#: common/models.py:696 +#: common/models.py:700 msgid "Use the internal price (if set) in BOM-price calculations" msgstr "" -#: common/models.py:702 templates/stats.html:25 +#: common/models.py:706 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:703 +#: common/models.py:707 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:709 +#: common/models.py:713 msgid "Page Size" msgstr "" -#: common/models.py:710 +#: common/models.py:714 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:720 +#: common/models.py:724 msgid "Test Reports" msgstr "" -#: common/models.py:721 +#: common/models.py:725 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:727 +#: common/models.py:731 msgid "Stock Expiry" msgstr "" -#: common/models.py:728 +#: common/models.py:732 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:734 +#: common/models.py:738 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:735 +#: common/models.py:739 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:741 +#: common/models.py:745 msgid "Stock Stale Time" msgstr "" -#: common/models.py:742 +#: common/models.py:746 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:744 +#: common/models.py:748 msgid "days" msgstr "jours" -#: common/models.py:749 +#: common/models.py:753 msgid "Build Expired Stock" msgstr "" -#: common/models.py:750 +#: common/models.py:754 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:756 +#: common/models.py:760 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:757 +#: common/models.py:761 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:763 +#: common/models.py:767 msgid "Group by Part" msgstr "" -#: common/models.py:764 +#: common/models.py:768 msgid "Group stock items by part reference in table views" msgstr "" -#: common/models.py:770 +#: common/models.py:774 msgid "Build Order Reference Prefix" msgstr "" -#: common/models.py:771 +#: common/models.py:775 msgid "Prefix value for build order reference" msgstr "" -#: common/models.py:776 +#: common/models.py:780 msgid "Build Order Reference Regex" msgstr "" -#: common/models.py:777 +#: common/models.py:781 msgid "Regular expression pattern for matching build order reference" msgstr "" -#: common/models.py:781 +#: common/models.py:785 msgid "Sales Order Reference Prefix" msgstr "" -#: common/models.py:782 +#: common/models.py:786 msgid "Prefix value for sales order reference" msgstr "" -#: common/models.py:787 +#: common/models.py:791 msgid "Purchase Order Reference Prefix" msgstr "" -#: common/models.py:788 +#: common/models.py:792 msgid "Prefix value for purchase order reference" msgstr "" -#: common/models.py:794 +#: common/models.py:798 msgid "Enable build" msgstr "" -#: common/models.py:795 +#: common/models.py:799 msgid "Enable build functionality in InvenTree interface" msgstr "" -#: common/models.py:800 +#: common/models.py:804 msgid "Enable buy" msgstr "" -#: common/models.py:801 +#: common/models.py:805 msgid "Enable buy functionality in InvenTree interface" msgstr "" -#: common/models.py:806 +#: common/models.py:810 msgid "Enable sell" msgstr "" -#: common/models.py:807 +#: common/models.py:811 msgid "Enable sell functionality in InvenTree interface" msgstr "" -#: common/models.py:812 +#: common/models.py:816 msgid "Enable stock" msgstr "" -#: common/models.py:813 +#: common/models.py:817 msgid "Enable stock functionality in InvenTree interface" msgstr "" -#: common/models.py:818 +#: common/models.py:822 msgid "Enable SO" msgstr "" -#: common/models.py:819 +#: common/models.py:823 msgid "Enable SO functionality in InvenTree interface" msgstr "" -#: common/models.py:824 +#: common/models.py:828 msgid "Enable PO" msgstr "" -#: common/models.py:825 +#: common/models.py:829 msgid "Enable PO functionality in InvenTree interface" msgstr "" -#: common/models.py:850 +#: common/models.py:836 +msgid "Enable password forgot" +msgstr "" + +#: common/models.py:837 +msgid "Enable password forgot function on the login-pages" +msgstr "" + +#: common/models.py:842 +msgid "Enable registration" +msgstr "" + +#: common/models.py:843 +msgid "Enable self-registration for users on the login-pages" +msgstr "" + +#: common/models.py:848 +msgid "Enable SSO" +msgstr "" + +#: common/models.py:849 +msgid "Enable SSO on the login-pages" +msgstr "" + +#: common/models.py:854 +msgid "E-Mail required" +msgstr "" + +#: common/models.py:855 +msgid "Require user to supply mail on signup" +msgstr "" + +#: common/models.py:860 +msgid "Auto-fill SSO users" +msgstr "" + +#: common/models.py:861 +msgid "Automatically fill out user-details from SSO account-data" +msgstr "" + +#: common/models.py:866 +msgid "Mail twice" +msgstr "" + +#: common/models.py:867 +msgid "On signup ask users twice for their mail" +msgstr "" + +#: common/models.py:872 +msgid "Password twice" +msgstr "" + +#: common/models.py:873 +msgid "On signup ask users twice for their password" +msgstr "" + +#: common/models.py:898 msgid "Show starred parts" msgstr "" -#: common/models.py:851 +#: common/models.py:899 msgid "Show starred parts on the homepage" msgstr "" -#: common/models.py:856 +#: common/models.py:904 msgid "Show latest parts" msgstr "" -#: common/models.py:857 +#: common/models.py:905 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:862 +#: common/models.py:910 msgid "Recent Part Count" msgstr "" -#: common/models.py:863 +#: common/models.py:911 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:869 +#: common/models.py:917 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:870 +#: common/models.py:918 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:875 +#: common/models.py:923 msgid "Show recent stock changes" msgstr "" -#: common/models.py:876 +#: common/models.py:924 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:881 +#: common/models.py:929 msgid "Recent Stock Count" msgstr "" -#: common/models.py:882 +#: common/models.py:930 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:887 +#: common/models.py:935 msgid "Show low stock" msgstr "" -#: common/models.py:888 +#: common/models.py:936 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:893 +#: common/models.py:941 msgid "Show depleted stock" msgstr "" -#: common/models.py:894 +#: common/models.py:942 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:899 +#: common/models.py:947 msgid "Show needed stock" msgstr "" -#: common/models.py:900 +#: common/models.py:948 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:905 +#: common/models.py:953 msgid "Show expired stock" msgstr "" -#: common/models.py:906 +#: common/models.py:954 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:911 +#: common/models.py:959 msgid "Show stale stock" msgstr "" -#: common/models.py:912 +#: common/models.py:960 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:917 +#: common/models.py:965 msgid "Show pending builds" msgstr "" -#: common/models.py:918 +#: common/models.py:966 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:923 +#: common/models.py:971 msgid "Show overdue builds" msgstr "" -#: common/models.py:924 +#: common/models.py:972 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:929 +#: common/models.py:977 msgid "Show outstanding POs" msgstr "" -#: common/models.py:930 +#: common/models.py:978 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:935 +#: common/models.py:983 msgid "Show overdue POs" msgstr "" -#: common/models.py:936 +#: common/models.py:984 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:941 +#: common/models.py:989 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:942 +#: common/models.py:990 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:947 +#: common/models.py:995 msgid "Show overdue SOs" msgstr "" -#: common/models.py:948 +#: common/models.py:996 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:954 +#: common/models.py:1002 msgid "Inline label display" msgstr "" -#: common/models.py:955 +#: common/models.py:1003 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:961 +#: common/models.py:1009 msgid "Inline report display" msgstr "" -#: common/models.py:962 +#: common/models.py:1010 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:968 +#: common/models.py:1016 msgid "Search Preview Results" msgstr "" -#: common/models.py:969 +#: common/models.py:1017 msgid "Number of results to show in search preview window" msgstr "" -#: common/models.py:1026 company/forms.py:43 +#: common/models.py:1023 +msgid "Show Quantity in Forms" +msgstr "" + +#: common/models.py:1024 +msgid "Display available part quantity in some forms" +msgstr "" + +#: common/models.py:1030 +msgid "Escape Key Closes Forms" +msgstr "" + +#: common/models.py:1031 +msgid "Use the escape key to close modal forms" +msgstr "" + +#: common/models.py:1088 company/forms.py:43 msgid "Price break quantity" msgstr "" -#: common/models.py:1033 company/templates/company/supplier_part.html:231 -#: templates/js/translated/part.js:1322 +#: common/models.py:1095 company/templates/company/supplier_part.html:231 +#: templates/js/translated/part.js:1369 msgid "Price" msgstr "" -#: common/models.py:1034 +#: common/models.py:1096 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1127 +#: common/models.py:1189 msgid "Default" msgstr "" @@ -2199,7 +2240,7 @@ msgstr "" #: common/views.py:213 order/templates/order/order_wizard/po_upload.html:42 #: order/templates/order/po_navbar.html:19 #: order/templates/order/po_navbar.html:22 -#: order/templates/order/purchase_order_detail.html:26 order/views.py:290 +#: order/templates/order/purchase_order_detail.html:27 order/views.py:289 #: part/templates/part/bom_upload/upload_file.html:65 #: part/templates/part/import_wizard/part_upload.html:45 part/views.py:268 #: part/views.py:882 @@ -2207,7 +2248,7 @@ msgid "Upload File" msgstr "" #: common/views.py:214 order/templates/order/order_wizard/match_fields.html:52 -#: order/views.py:291 part/templates/part/bom_upload/match_fields.html:52 +#: order/views.py:290 part/templates/part/bom_upload/match_fields.html:52 #: part/templates/part/import_wizard/ajax_match_fields.html:45 #: part/templates/part/import_wizard/match_fields.html:52 part/views.py:269 #: part/views.py:883 @@ -2246,249 +2287,249 @@ msgstr "" msgid "Image URL" msgstr "" -#: company/models.py:104 +#: company/models.py:105 msgid "Company description" msgstr "" -#: company/models.py:105 +#: company/models.py:106 msgid "Description of the company" msgstr "" -#: company/models.py:111 company/templates/company/company_base.html:70 +#: company/models.py:112 company/templates/company/company_base.html:70 #: templates/js/translated/company.js:348 msgid "Website" msgstr "" -#: company/models.py:112 +#: company/models.py:113 msgid "Company website URL" msgstr "" -#: company/models.py:116 company/templates/company/company_base.html:88 +#: company/models.py:117 company/templates/company/company_base.html:88 msgid "Address" msgstr "" -#: company/models.py:117 +#: company/models.py:118 msgid "Company address" msgstr "" -#: company/models.py:120 +#: company/models.py:121 msgid "Phone number" msgstr "" -#: company/models.py:121 +#: company/models.py:122 msgid "Contact phone number" msgstr "" -#: company/models.py:124 company/templates/company/company_base.html:102 +#: company/models.py:125 company/templates/company/company_base.html:102 msgid "Email" msgstr "" -#: company/models.py:124 +#: company/models.py:125 msgid "Contact email address" msgstr "" -#: company/models.py:127 company/templates/company/company_base.html:109 +#: company/models.py:128 company/templates/company/company_base.html:109 msgid "Contact" msgstr "" -#: company/models.py:128 +#: company/models.py:129 msgid "Point of contact" msgstr "" -#: company/models.py:130 company/models.py:347 company/models.py:563 -#: order/models.py:160 part/models.py:714 +#: company/models.py:131 company/models.py:348 company/models.py:564 +#: order/models.py:160 part/models.py:715 #: report/templates/report/inventree_build_order_base.html:165 -#: templates/js/translated/company.js:535 -#: templates/js/translated/company.js:823 templates/js/translated/part.js:972 +#: templates/js/translated/company.js:536 +#: templates/js/translated/company.js:825 templates/js/translated/part.js:983 msgid "Link" msgstr "" -#: company/models.py:130 +#: company/models.py:131 msgid "Link to external company information" msgstr "" -#: company/models.py:138 part/models.py:724 +#: company/models.py:139 part/models.py:725 msgid "Image" msgstr "" -#: company/models.py:143 +#: company/models.py:144 msgid "is customer" msgstr "" -#: company/models.py:143 +#: company/models.py:144 msgid "Do you sell items to this company?" msgstr "" -#: company/models.py:145 +#: company/models.py:146 msgid "is supplier" msgstr "" -#: company/models.py:145 +#: company/models.py:146 msgid "Do you purchase items from this company?" msgstr "" -#: company/models.py:147 +#: company/models.py:148 msgid "is manufacturer" msgstr "" -#: company/models.py:147 +#: company/models.py:148 msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:151 company/serializers.py:264 -#: company/templates/company/company_base.html:76 stock/serializers.py:155 +#: company/models.py:152 company/serializers.py:264 +#: company/templates/company/company_base.html:76 stock/serializers.py:158 msgid "Currency" msgstr "" -#: company/models.py:154 +#: company/models.py:155 msgid "Default currency used for this company" msgstr "" -#: company/models.py:319 company/models.py:534 stock/models.py:454 +#: company/models.py:320 company/models.py:535 stock/models.py:454 #: stock/templates/stock/item_base.html:237 msgid "Base Part" msgstr "" -#: company/models.py:323 company/models.py:538 order/views.py:1082 +#: company/models.py:324 company/models.py:539 order/views.py:912 msgid "Select part" msgstr "" -#: company/models.py:334 company/templates/company/company_base.html:116 +#: company/models.py:335 company/templates/company/company_base.html:116 #: company/templates/company/manufacturer_part.html:89 #: company/templates/company/supplier_part.html:98 part/bom.py:170 -#: part/bom.py:241 stock/templates/stock/item_base.html:366 +#: part/bom.py:247 stock/templates/stock/item_base.html:366 #: templates/js/translated/company.js:332 -#: templates/js/translated/company.js:512 -#: templates/js/translated/company.js:794 templates/js/translated/part.js:222 +#: templates/js/translated/company.js:513 +#: templates/js/translated/company.js:796 templates/js/translated/part.js:227 msgid "Manufacturer" msgstr "" -#: company/models.py:335 templates/js/translated/part.js:223 +#: company/models.py:336 templates/js/translated/part.js:228 msgid "Select manufacturer" msgstr "" -#: company/models.py:341 company/templates/company/manufacturer_part.html:93 +#: company/models.py:342 company/templates/company/manufacturer_part.html:93 #: company/templates/company/supplier_part.html:106 part/bom.py:171 -#: part/bom.py:242 templates/js/translated/company.js:528 -#: templates/js/translated/company.js:812 templates/js/translated/order.js:505 -#: templates/js/translated/part.js:233 +#: part/bom.py:248 templates/js/translated/company.js:529 +#: templates/js/translated/company.js:814 templates/js/translated/order.js:851 +#: templates/js/translated/part.js:238 msgid "MPN" msgstr "" -#: company/models.py:342 templates/js/translated/part.js:234 +#: company/models.py:343 templates/js/translated/part.js:239 msgid "Manufacturer Part Number" msgstr "" -#: company/models.py:348 +#: company/models.py:349 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:354 +#: company/models.py:355 msgid "Manufacturer part description" msgstr "" -#: company/models.py:408 company/models.py:557 +#: company/models.py:409 company/models.py:558 #: company/templates/company/manufacturer_part.html:6 #: company/templates/company/manufacturer_part.html:23 #: stock/templates/stock/item_base.html:376 msgid "Manufacturer Part" msgstr "" -#: company/models.py:415 +#: company/models.py:416 msgid "Parameter name" msgstr "" -#: company/models.py:421 +#: company/models.py:422 #: report/templates/report/inventree_test_report_base.html:90 -#: stock/models.py:1819 templates/InvenTree/settings/header.html:8 -#: templates/js/translated/company.js:642 templates/js/translated/part.js:612 -#: templates/js/translated/stock.js:576 +#: stock/models.py:1816 templates/InvenTree/settings/header.html:8 +#: templates/js/translated/company.js:643 templates/js/translated/part.js:623 +#: templates/js/translated/stock.js:555 msgid "Value" msgstr "" -#: company/models.py:422 +#: company/models.py:423 msgid "Parameter value" msgstr "" -#: company/models.py:428 part/models.py:799 part/models.py:2220 -#: templates/js/translated/company.js:648 templates/js/translated/part.js:618 +#: company/models.py:429 part/models.py:800 part/models.py:2224 +#: templates/js/translated/company.js:649 templates/js/translated/part.js:629 msgid "Units" msgstr "" -#: company/models.py:429 +#: company/models.py:430 msgid "Parameter units" msgstr "" -#: company/models.py:501 +#: company/models.py:502 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:544 company/templates/company/company_base.html:121 +#: company/models.py:545 company/templates/company/company_base.html:121 #: company/templates/company/supplier_part.html:88 order/models.py:260 #: order/templates/order/order_base.html:92 #: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:175 -#: part/bom.py:286 stock/templates/stock/item_base.html:383 +#: part/bom.py:292 stock/templates/stock/item_base.html:383 #: templates/js/translated/company.js:336 -#: templates/js/translated/company.js:768 templates/js/translated/order.js:328 -#: templates/js/translated/part.js:203 +#: templates/js/translated/company.js:770 templates/js/translated/order.js:659 +#: templates/js/translated/part.js:208 msgid "Supplier" msgstr "" -#: company/models.py:545 templates/js/translated/part.js:204 +#: company/models.py:546 templates/js/translated/part.js:209 msgid "Select supplier" msgstr "" -#: company/models.py:550 company/templates/company/supplier_part.html:92 -#: part/bom.py:176 part/bom.py:287 templates/js/translated/order.js:492 -#: templates/js/translated/part.js:214 +#: company/models.py:551 company/templates/company/supplier_part.html:92 +#: part/bom.py:176 part/bom.py:293 templates/js/translated/order.js:838 +#: templates/js/translated/part.js:219 msgid "SKU" msgstr "" -#: company/models.py:551 templates/js/translated/part.js:215 +#: company/models.py:552 templates/js/translated/part.js:220 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:558 +#: company/models.py:559 msgid "Select manufacturer part" msgstr "" -#: company/models.py:564 +#: company/models.py:565 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:570 +#: company/models.py:571 msgid "Supplier part description" msgstr "" -#: company/models.py:575 company/templates/company/supplier_part.html:120 -#: part/models.py:2368 report/templates/report/inventree_po_report.html:93 +#: company/models.py:576 company/templates/company/supplier_part.html:120 +#: part/models.py:2389 report/templates/report/inventree_po_report.html:93 #: report/templates/report/inventree_so_report.html:93 msgid "Note" msgstr "" -#: company/models.py:579 part/models.py:1599 +#: company/models.py:580 part/models.py:1603 msgid "base cost" msgstr "" -#: company/models.py:579 part/models.py:1599 +#: company/models.py:580 part/models.py:1603 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:581 company/templates/company/supplier_part.html:113 +#: company/models.py:582 company/templates/company/supplier_part.html:113 #: stock/models.py:478 stock/templates/stock/item_base.html:324 -#: templates/js/translated/company.js:844 templates/js/translated/stock.js:1057 +#: templates/js/translated/company.js:846 templates/js/translated/stock.js:1036 msgid "Packaging" msgstr "" -#: company/models.py:581 +#: company/models.py:582 msgid "Part packaging" msgstr "" -#: company/models.py:583 part/models.py:1601 +#: company/models.py:584 part/models.py:1605 msgid "multiple" msgstr "" -#: company/models.py:583 +#: company/models.py:584 msgid "Order multiple" msgstr "" @@ -2502,7 +2543,7 @@ msgstr "" #: company/templates/company/company_base.html:9 #: company/templates/company/company_base.html:35 -#: templates/InvenTree/search.html:304 templates/js/translated/company.js:321 +#: templates/InvenTree/search.html:208 templates/js/translated/company.js:321 msgid "Company" msgstr "" @@ -2517,7 +2558,7 @@ msgid "Download image from URL" msgstr "" #: company/templates/company/company_base.html:46 -#: templates/js/translated/order.js:117 +#: templates/js/translated/order.js:120 msgid "Create Purchase Order" msgstr "" @@ -2542,22 +2583,22 @@ msgstr "" msgid "Phone" msgstr "" -#: company/templates/company/company_base.html:126 order/models.py:550 -#: order/templates/order/sales_order_base.html:94 stock/models.py:496 +#: company/templates/company/company_base.html:126 order/models.py:558 +#: order/templates/order/sales_order_base.html:99 stock/models.py:496 #: stock/models.py:497 stock/templates/stock/item_base.html:276 -#: templates/js/translated/company.js:328 templates/js/translated/order.js:692 -#: templates/js/translated/stock.js:1608 +#: templates/js/translated/company.js:328 templates/js/translated/order.js:1038 +#: templates/js/translated/stock.js:1587 msgid "Customer" msgstr "" -#: company/templates/company/company_base.html:193 -#: part/templates/part/part_base.html:418 +#: company/templates/company/company_base.html:199 +#: part/templates/part/part_base.html:424 msgid "Upload Image" msgstr "" #: company/templates/company/detail.html:14 #: company/templates/company/manufacturer_part_navbar.html:18 -#: templates/InvenTree/search.html:164 +#: templates/InvenTree/search.html:150 msgid "Supplier Parts" msgstr "" @@ -2597,7 +2638,7 @@ msgstr "" msgid "Delete Parts" msgstr "" -#: company/templates/company/detail.html:54 templates/InvenTree/search.html:149 +#: company/templates/company/detail.html:54 templates/InvenTree/search.html:135 msgid "Manufacturer Parts" msgstr "" @@ -2620,9 +2661,9 @@ msgstr "" #: order/templates/order/purchase_orders.html:13 #: part/templates/part/detail.html:50 part/templates/part/navbar.html:82 #: part/templates/part/navbar.html:85 templates/InvenTree/index.html:260 -#: templates/InvenTree/search.html:325 -#: templates/InvenTree/settings/navbar.html:107 -#: templates/InvenTree/settings/navbar.html:109 templates/navbar.html:44 +#: templates/InvenTree/search.html:229 +#: templates/InvenTree/settings/navbar.html:119 +#: templates/InvenTree/settings/navbar.html:121 templates/navbar.html:44 #: users/models.py:45 msgid "Purchase Orders" msgstr "" @@ -2644,9 +2685,9 @@ msgstr "" #: order/templates/order/sales_orders.html:13 #: part/templates/part/detail.html:71 part/templates/part/navbar.html:91 #: part/templates/part/navbar.html:94 templates/InvenTree/index.html:291 -#: templates/InvenTree/search.html:345 -#: templates/InvenTree/settings/navbar.html:113 -#: templates/InvenTree/settings/navbar.html:115 templates/navbar.html:55 +#: templates/InvenTree/search.html:249 +#: templates/InvenTree/settings/navbar.html:125 +#: templates/InvenTree/settings/navbar.html:127 templates/navbar.html:55 #: users/models.py:46 msgid "Sales Orders" msgstr "" @@ -2664,7 +2705,7 @@ msgstr "" #: company/templates/company/detail.html:147 #: company/templates/company/navbar.html:61 #: company/templates/company/navbar.html:64 -#: templates/js/translated/build.js:620 +#: templates/js/translated/build.js:622 msgid "Assigned Stock" msgstr "" @@ -2696,12 +2737,12 @@ msgid "Order part" msgstr "" #: company/templates/company/manufacturer_part.html:45 -#: templates/js/translated/company.js:560 +#: templates/js/translated/company.js:561 msgid "Edit manufacturer part" msgstr "" #: company/templates/company/manufacturer_part.html:49 -#: templates/js/translated/company.js:561 +#: templates/js/translated/company.js:562 msgid "Delete manufacturer part" msgstr "" @@ -2718,7 +2759,7 @@ msgstr "" #: company/templates/company/manufacturer_part_navbar.html:21 #: company/views.py:49 part/templates/part/navbar.html:75 #: part/templates/part/navbar.html:78 part/templates/part/prices.html:163 -#: templates/InvenTree/search.html:316 templates/navbar.html:41 +#: templates/InvenTree/search.html:220 templates/navbar.html:41 msgid "Suppliers" msgstr "" @@ -2732,7 +2773,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:239 #: part/templates/part/detail.html:214 part/templates/part/detail.html:294 #: part/templates/part/detail.html:317 templates/js/translated/company.js:424 -#: templates/js/translated/helpers.js:31 users/models.py:194 +#: templates/js/translated/helpers.js:31 users/models.py:199 msgid "Delete" msgstr "" @@ -2758,7 +2799,7 @@ msgid "Delete parameters" msgstr "" #: company/templates/company/manufacturer_part.html:176 -#: part/templates/part/detail.html:834 +#: part/templates/part/detail.html:805 msgid "Add Parameter" msgstr "" @@ -2777,16 +2818,15 @@ msgstr "" #: company/templates/company/manufacturer_part_navbar.html:29 #: company/templates/company/navbar.html:39 #: company/templates/company/supplier_part_navbar.html:15 -#: part/templates/part/navbar.html:38 stock/api.py:54 +#: part/templates/part/navbar.html:38 stock/api.py:52 #: stock/templates/stock/loc_link.html:7 stock/templates/stock/location.html:36 #: stock/templates/stock/stock_app_base.html:10 -#: templates/InvenTree/index.html:150 templates/InvenTree/search.html:196 -#: templates/InvenTree/search.html:232 -#: templates/InvenTree/settings/navbar.html:95 -#: templates/InvenTree/settings/navbar.html:97 -#: templates/js/translated/part.js:529 templates/js/translated/part.js:758 -#: templates/js/translated/part.js:934 templates/js/translated/stock.js:202 -#: templates/js/translated/stock.js:850 templates/navbar.html:32 +#: templates/InvenTree/index.html:150 templates/InvenTree/search.html:182 +#: templates/InvenTree/settings/navbar.html:107 +#: templates/InvenTree/settings/navbar.html:109 +#: templates/js/translated/part.js:540 templates/js/translated/part.js:769 +#: templates/js/translated/part.js:945 templates/js/translated/stock.js:182 +#: templates/js/translated/stock.js:829 templates/navbar.html:32 msgid "Stock" msgstr "" @@ -2815,7 +2855,7 @@ msgstr "" #: stock/templates/stock/location.html:148 #: stock/templates/stock/location_navbar.html:18 #: stock/templates/stock/location_navbar.html:21 -#: templates/InvenTree/search.html:198 templates/js/translated/stock.js:1507 +#: templates/InvenTree/search.html:184 templates/js/translated/stock.js:1486 #: templates/stats.html:93 templates/stats.html:102 users/models.py:43 msgid "Stock Items" msgstr "" @@ -2823,17 +2863,17 @@ msgstr "" #: company/templates/company/supplier_part.html:7 #: company/templates/company/supplier_part.html:24 stock/models.py:463 #: stock/templates/stock/item_base.html:388 -#: templates/js/translated/company.js:784 templates/js/translated/stock.js:1014 +#: templates/js/translated/company.js:786 templates/js/translated/stock.js:993 msgid "Supplier Part" msgstr "" #: company/templates/company/supplier_part.html:44 -#: templates/js/translated/company.js:857 +#: templates/js/translated/company.js:859 msgid "Edit supplier part" msgstr "" #: company/templates/company/supplier_part.html:48 -#: templates/js/translated/company.js:858 +#: templates/js/translated/company.js:860 msgid "Delete supplier part" msgstr "" @@ -2900,7 +2940,7 @@ msgid "New Supplier" msgstr "" #: company/views.py:55 part/templates/part/prices.html:167 -#: templates/InvenTree/search.html:306 templates/navbar.html:42 +#: templates/InvenTree/search.html:210 templates/navbar.html:42 msgid "Manufacturers" msgstr "" @@ -2908,7 +2948,7 @@ msgstr "" msgid "New Manufacturer" msgstr "" -#: company/views.py:61 templates/InvenTree/search.html:336 +#: company/views.py:61 templates/InvenTree/search.html:240 #: templates/navbar.html:53 msgid "Customers" msgstr "" @@ -3011,36 +3051,32 @@ msgstr "" msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" -#: order/api.py:302 -msgid "Destination location must be specified" +#: order/api.py:250 +msgid "Matching purchase order does not exist" msgstr "" -#: order/forms.py:30 order/templates/order/order_base.html:47 +#: order/forms.py:27 order/templates/order/order_base.html:50 msgid "Place order" msgstr "" -#: order/forms.py:41 order/templates/order/order_base.html:54 +#: order/forms.py:38 order/templates/order/order_base.html:57 msgid "Mark order as complete" msgstr "" -#: order/forms.py:52 order/forms.py:63 order/templates/order/order_base.html:59 -#: order/templates/order/sales_order_base.html:61 +#: order/forms.py:49 order/forms.py:60 order/templates/order/order_base.html:62 +#: order/templates/order/sales_order_base.html:64 msgid "Cancel order" msgstr "" -#: order/forms.py:74 order/templates/order/sales_order_base.html:58 +#: order/forms.py:71 order/templates/order/sales_order_base.html:61 msgid "Ship order" msgstr "" -#: order/forms.py:89 -msgid "Set all received parts listed above to this location (if left blank, use \"Destination\" column value in above table)" -msgstr "" - -#: order/forms.py:116 +#: order/forms.py:97 msgid "Enter stock item serial numbers" msgstr "" -#: order/forms.py:122 +#: order/forms.py:103 msgid "Enter quantity of stock items" msgstr "" @@ -3064,11 +3100,11 @@ msgstr "" msgid "Order notes" msgstr "" -#: order/models.py:247 order/models.py:540 +#: order/models.py:247 order/models.py:548 msgid "Order reference" msgstr "" -#: order/models.py:252 order/models.py:555 +#: order/models.py:252 order/models.py:563 msgid "Purchase order status" msgstr "" @@ -3077,7 +3113,7 @@ msgid "Company from which the items are being ordered" msgstr "" #: order/models.py:264 order/templates/order/order_base.html:98 -#: templates/js/translated/order.js:337 +#: templates/js/translated/order.js:668 msgid "Supplier Reference" msgstr "" @@ -3109,190 +3145,190 @@ msgstr "" msgid "Date order was completed" msgstr "" -#: order/models.py:313 stock/models.py:351 stock/models.py:1072 -msgid "Quantity must be greater than zero" -msgstr "" - #: order/models.py:318 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:421 -msgid "Lines can only be received against an order marked as 'Placed'" -msgstr "" - -#: order/models.py:425 +#: order/models.py:428 msgid "Quantity must be an integer" msgstr "" -#: order/models.py:427 +#: order/models.py:432 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:551 +#: order/models.py:559 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:557 +#: order/models.py:565 msgid "Customer Reference " msgstr "" -#: order/models.py:557 +#: order/models.py:565 msgid "Customer order reference code" msgstr "" -#: order/models.py:562 +#: order/models.py:570 msgid "Target date for order completion. Order will be overdue after this date." msgstr "" -#: order/models.py:565 templates/js/translated/order.js:733 +#: order/models.py:573 templates/js/translated/order.js:1079 msgid "Shipment Date" msgstr "" -#: order/models.py:572 +#: order/models.py:580 msgid "shipped by" msgstr "" -#: order/models.py:616 +#: order/models.py:624 msgid "SalesOrder cannot be shipped as it is not currently pending" msgstr "" -#: order/models.py:713 +#: order/models.py:721 msgid "Item quantity" msgstr "" -#: order/models.py:719 +#: order/models.py:727 msgid "Line item reference" msgstr "" -#: order/models.py:721 +#: order/models.py:729 msgid "Line item notes" msgstr "" -#: order/models.py:751 order/models.py:835 templates/js/translated/order.js:785 +#: order/models.py:759 order/models.py:847 +#: templates/js/translated/order.js:1131 msgid "Order" msgstr "" -#: order/models.py:752 order/templates/order/order_base.html:9 +#: order/models.py:760 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:24 #: report/templates/report/inventree_po_report.html:77 #: stock/templates/stock/item_base.html:338 -#: templates/js/translated/order.js:306 templates/js/translated/stock.js:991 -#: templates/js/translated/stock.js:1589 +#: templates/js/translated/order.js:637 templates/js/translated/stock.js:970 +#: templates/js/translated/stock.js:1568 msgid "Purchase Order" msgstr "" -#: order/models.py:773 +#: order/models.py:781 msgid "Supplier part" msgstr "" -#: order/models.py:780 order/templates/order/order_base.html:131 -#: order/templates/order/receive_parts.html:22 -#: order/templates/order/sales_order_base.html:133 -#: templates/js/translated/order.js:573 +#: order/models.py:788 order/templates/order/order_base.html:131 +#: order/templates/order/sales_order_base.html:138 +#: templates/js/translated/order.js:428 templates/js/translated/order.js:919 msgid "Received" msgstr "" -#: order/models.py:781 +#: order/models.py:789 msgid "Number of items received" msgstr "" -#: order/models.py:788 part/templates/part/prices.html:176 stock/models.py:588 -#: stock/serializers.py:147 stock/templates/stock/item_base.html:345 -#: templates/js/translated/stock.js:1045 +#: order/models.py:796 part/templates/part/prices.html:176 stock/models.py:588 +#: stock/serializers.py:150 stock/templates/stock/item_base.html:345 +#: templates/js/translated/stock.js:1024 msgid "Purchase Price" msgstr "" -#: order/models.py:789 +#: order/models.py:797 msgid "Unit purchase price" msgstr "" -#: order/models.py:797 +#: order/models.py:805 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:843 part/templates/part/part_pricing.html:112 +#: order/models.py:857 part/templates/part/part_pricing.html:112 #: part/templates/part/prices.html:116 part/templates/part/prices.html:284 msgid "Sale Price" msgstr "" -#: order/models.py:844 +#: order/models.py:858 msgid "Unit sale price" msgstr "" -#: order/models.py:923 order/models.py:925 +#: order/models.py:937 order/models.py:939 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:929 +#: order/models.py:943 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:931 +#: order/models.py:945 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:934 +#: order/models.py:948 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:944 +#: order/models.py:952 +msgid "StockItem is over-allocated" +msgstr "" + +#: order/models.py:958 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:949 +#: order/models.py:966 msgid "Line" msgstr "" -#: order/models.py:960 +#: order/models.py:978 msgid "Item" msgstr "" -#: order/models.py:961 +#: order/models.py:979 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:964 +#: order/models.py:982 msgid "Enter stock allocation quantity" msgstr "" -#: order/serializers.py:166 +#: order/serializers.py:167 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:201 +#: order/serializers.py:202 msgid "Line Item" msgstr "" -#: order/serializers.py:207 +#: order/serializers.py:208 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:217 order/serializers.py:276 +#: order/serializers.py:218 order/serializers.py:285 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:234 +#: order/serializers.py:242 msgid "Barcode Hash" msgstr "" -#: order/serializers.py:235 +#: order/serializers.py:243 msgid "Unique identifier field" msgstr "" -#: order/serializers.py:250 +#: order/serializers.py:259 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:289 +#: order/serializers.py:297 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:299 +#: order/serializers.py:314 +msgid "Destination location must be specified" +msgstr "" + +#: order/serializers.py:325 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:514 +#: order/serializers.py:569 msgid "Sale price currency" msgstr "" @@ -3307,31 +3343,32 @@ msgstr "" msgid "Print" msgstr "" -#: order/templates/order/order_base.html:43 -#: order/templates/order/sales_order_base.html:54 +#: order/templates/order/order_base.html:42 +#: order/templates/order/sales_order_base.html:53 +msgid "Export order to file" +msgstr "" + +#: order/templates/order/order_base.html:46 +#: order/templates/order/sales_order_base.html:57 msgid "Edit order information" msgstr "" -#: order/templates/order/order_base.html:51 +#: order/templates/order/order_base.html:54 msgid "Receive items" msgstr "" -#: order/templates/order/order_base.html:64 -msgid "Export order to file" -msgstr "" - #: order/templates/order/order_base.html:72 #: order/templates/order/po_navbar.html:12 msgid "Purchase Order Details" msgstr "" #: order/templates/order/order_base.html:77 -#: order/templates/order/sales_order_base.html:79 +#: order/templates/order/sales_order_base.html:84 msgid "Order Reference" msgstr "" #: order/templates/order/order_base.html:82 -#: order/templates/order/sales_order_base.html:84 +#: order/templates/order/sales_order_base.html:89 msgid "Order Status" msgstr "" @@ -3344,16 +3381,6 @@ msgstr "" msgid "Edit Purchase Order" msgstr "" -#: order/templates/order/order_base.html:196 -#: stock/templates/stock/location.html:250 templates/js/translated/order.js:437 -msgid "New Location" -msgstr "" - -#: order/templates/order/order_base.html:197 -#: stock/templates/stock/location.html:42 templates/js/translated/order.js:438 -msgid "Create new stock location" -msgstr "" - #: order/templates/order/order_cancel.html:8 msgid "Cancelling this order means that the order and line items will no longer be editable." msgstr "" @@ -3426,6 +3453,7 @@ msgstr "" #: part/templates/part/import_wizard/ajax_match_references.html:42 #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 +#: templates/js/translated/build.js:869 templates/js/translated/order.js:376 msgid "Remove row" msgstr "" @@ -3502,7 +3530,7 @@ msgid "Select existing purchase orders, or create new orders." msgstr "" #: order/templates/order/order_wizard/select_pos.html:31 -#: templates/js/translated/order.js:363 templates/js/translated/order.js:738 +#: templates/js/translated/order.js:694 templates/js/translated/order.js:1084 msgid "Items" msgstr "" @@ -3522,7 +3550,7 @@ msgstr "" #: order/templates/order/po_attachments.html:12 #: order/templates/order/po_navbar.html:32 -#: order/templates/order/purchase_order_detail.html:47 +#: order/templates/order/purchase_order_detail.html:56 msgid "Purchase Order Attachments" msgstr "" @@ -3532,7 +3560,7 @@ msgstr "" #: order/templates/order/po_navbar.html:29 #: order/templates/order/po_received_items.html:12 -#: order/templates/order/purchase_order_detail.html:38 +#: order/templates/order/purchase_order_detail.html:47 msgid "Received Items" msgstr "" @@ -3540,14 +3568,22 @@ msgstr "" msgid "Purchase Order Items" msgstr "" -#: order/templates/order/purchase_order_detail.html:23 -#: order/templates/order/purchase_order_detail.html:203 +#: order/templates/order/purchase_order_detail.html:24 +#: order/templates/order/purchase_order_detail.html:212 #: order/templates/order/sales_order_detail.html:23 #: order/templates/order/sales_order_detail.html:177 msgid "Add Line Item" msgstr "" -#: order/templates/order/purchase_order_detail.html:58 +#: order/templates/order/purchase_order_detail.html:30 +msgid "Receive selected items" +msgstr "" + +#: order/templates/order/purchase_order_detail.html:31 +msgid "Receive Items" +msgstr "" + +#: order/templates/order/purchase_order_detail.html:67 #: order/templates/order/sales_order_detail.html:54 msgid "Order Notes" msgstr "" @@ -3557,67 +3593,24 @@ msgstr "" msgid "Print Order Reports" msgstr "" -#: order/templates/order/receive_parts.html:8 -#, python-format -msgid "Receive outstanding parts for %(order)s - %(desc)s" -msgstr "" - -#: order/templates/order/receive_parts.html:14 part/api.py:54 -#: part/models.py:298 part/templates/part/cat_link.html:7 -#: part/templates/part/category.html:108 part/templates/part/category.html:122 -#: part/templates/part/category_navbar.html:21 -#: part/templates/part/category_navbar.html:24 -#: templates/InvenTree/index.html:102 templates/InvenTree/search.html:114 -#: templates/InvenTree/settings/navbar.html:83 -#: templates/InvenTree/settings/navbar.html:85 -#: templates/js/translated/part.js:1154 templates/navbar.html:29 -#: templates/stats.html:80 templates/stats.html:89 users/models.py:41 -msgid "Parts" -msgstr "" - -#: order/templates/order/receive_parts.html:15 -msgid "Fill out number of parts received, the status and destination" -msgstr "" - -#: order/templates/order/receive_parts.html:20 -msgid "Order Code" -msgstr "" - -#: order/templates/order/receive_parts.html:21 -#: part/templates/part/part_base.html:167 templates/js/translated/part.js:949 -msgid "On Order" -msgstr "" - -#: order/templates/order/receive_parts.html:23 -msgid "Receive" -msgstr "" - -#: order/templates/order/receive_parts.html:37 -msgid "Error: Referenced part has been removed" -msgstr "" - -#: order/templates/order/receive_parts.html:68 -msgid "Remove line" -msgstr "" - #: order/templates/order/sales_order_base.html:16 msgid "This Sales Order has not been fully allocated" msgstr "" -#: order/templates/order/sales_order_base.html:66 +#: order/templates/order/sales_order_base.html:70 msgid "Packing List" msgstr "" -#: order/templates/order/sales_order_base.html:74 +#: order/templates/order/sales_order_base.html:79 msgid "Sales Order Details" msgstr "" -#: order/templates/order/sales_order_base.html:100 -#: templates/js/translated/order.js:705 +#: order/templates/order/sales_order_base.html:105 +#: templates/js/translated/order.js:1051 msgid "Customer Reference" msgstr "" -#: order/templates/order/sales_order_base.html:178 +#: order/templates/order/sales_order_base.html:183 msgid "Edit Sales Order" msgstr "" @@ -3636,105 +3629,6 @@ msgstr "" msgid "Sales Order Items" msgstr "" -#: order/templates/order/sales_order_detail.html:226 -#: templates/js/translated/bom.js:394 templates/js/translated/build.js:782 -#: templates/js/translated/build.js:1219 -msgid "Actions" -msgstr "" - -#: order/templates/order/sales_order_detail.html:233 -#: templates/js/translated/build.js:668 templates/js/translated/build.js:1030 -msgid "Edit stock allocation" -msgstr "" - -#: order/templates/order/sales_order_detail.html:234 -#: templates/js/translated/build.js:670 templates/js/translated/build.js:1031 -msgid "Delete stock allocation" -msgstr "" - -#: order/templates/order/sales_order_detail.html:307 -msgid "No matching line items" -msgstr "" - -#: order/templates/order/sales_order_detail.html:337 -msgid "ID" -msgstr "" - -#: order/templates/order/sales_order_detail.html:354 -#: templates/js/translated/order.js:481 -msgid "Total" -msgstr "" - -#: order/templates/order/sales_order_detail.html:377 -#: templates/js/translated/order.js:534 templates/js/translated/part.js:1296 -#: templates/js/translated/part.js:1507 -msgid "Unit Price" -msgstr "" - -#: order/templates/order/sales_order_detail.html:384 -#: templates/js/translated/order.js:543 -msgid "Total price" -msgstr "" - -#: order/templates/order/sales_order_detail.html:405 -#: templates/js/translated/build.js:733 templates/js/translated/build.js:1026 -msgid "Allocated" -msgstr "" - -#: order/templates/order/sales_order_detail.html:407 -msgid "Fulfilled" -msgstr "" - -#: order/templates/order/sales_order_detail.html:444 -msgid "PO" -msgstr "" - -#: order/templates/order/sales_order_detail.html:474 -msgid "Allocate serial numbers" -msgstr "" - -#: order/templates/order/sales_order_detail.html:477 -#: templates/js/translated/build.js:796 -msgid "Allocate stock" -msgstr "" - -#: order/templates/order/sales_order_detail.html:480 -msgid "Purchase stock" -msgstr "" - -#: order/templates/order/sales_order_detail.html:484 -#: templates/js/translated/build.js:789 templates/js/translated/build.js:1227 -msgid "Build stock" -msgstr "" - -#: order/templates/order/sales_order_detail.html:487 -#: order/templates/order/sales_order_detail.html:606 -msgid "Calculate price" -msgstr "" - -#: order/templates/order/sales_order_detail.html:490 -#: templates/js/translated/order.js:616 -msgid "Edit line item" -msgstr "" - -#: order/templates/order/sales_order_detail.html:491 -msgid "Delete line item " -msgstr "" - -#: order/templates/order/sales_order_detail.html:519 -#: templates/js/translated/order.js:403 -msgid "Edit Line Item" -msgstr "" - -#: order/templates/order/sales_order_detail.html:529 -#: templates/js/translated/order.js:415 -msgid "Delete Line Item" -msgstr "" - -#: order/templates/order/sales_order_detail.html:612 -msgid "Update Unit Price" -msgstr "" - #: order/templates/order/sales_order_ship.html:10 msgid "This order has not been fully allocated. If the order is marked as shipped, it can no longer be adjusted." msgstr "" @@ -3759,10 +3653,6 @@ msgstr "" msgid "Allocate stock items by serial number" msgstr "" -#: order/templates/order/so_allocation_delete.html:7 -msgid "This action will unallocate the following stock from the Sales Order" -msgstr "" - #: order/templates/order/so_navbar.html:12 msgid "Sales Order Line Items" msgstr "" @@ -3775,149 +3665,129 @@ msgstr "" msgid "Sales Order Attachments" msgstr "" -#: order/views.py:104 +#: order/views.py:103 msgid "Cancel Order" msgstr "" -#: order/views.py:113 order/views.py:139 +#: order/views.py:112 order/views.py:138 msgid "Confirm order cancellation" msgstr "" -#: order/views.py:116 order/views.py:142 +#: order/views.py:115 order/views.py:141 msgid "Order cannot be cancelled" msgstr "" -#: order/views.py:130 +#: order/views.py:129 msgid "Cancel sales order" msgstr "" -#: order/views.py:156 +#: order/views.py:155 msgid "Issue Order" msgstr "" -#: order/views.py:165 +#: order/views.py:164 msgid "Confirm order placement" msgstr "" -#: order/views.py:175 +#: order/views.py:174 msgid "Purchase order issued" msgstr "" -#: order/views.py:186 +#: order/views.py:185 msgid "Complete Order" msgstr "" -#: order/views.py:202 +#: order/views.py:201 msgid "Confirm order completion" msgstr "" -#: order/views.py:213 +#: order/views.py:212 msgid "Purchase order completed" msgstr "" -#: order/views.py:223 +#: order/views.py:222 msgid "Ship Order" msgstr "" -#: order/views.py:239 +#: order/views.py:238 msgid "Confirm order shipment" msgstr "" -#: order/views.py:245 +#: order/views.py:244 msgid "Could not ship order" msgstr "" -#: order/views.py:292 +#: order/views.py:291 msgid "Match Supplier Parts" msgstr "" -#: order/views.py:480 -msgid "Receive Parts" -msgstr "" - -#: order/views.py:552 -msgid "Items received" -msgstr "" - -#: order/views.py:620 -msgid "Error converting quantity to number" -msgstr "" - -#: order/views.py:626 -msgid "Receive quantity less than zero" -msgstr "" - -#: order/views.py:632 -msgid "No lines specified" -msgstr "" - -#: order/views.py:705 +#: order/views.py:535 msgid "Update prices" msgstr "" -#: order/views.py:963 +#: order/views.py:793 #, python-brace-format msgid "Ordered {n} parts" msgstr "" -#: order/views.py:1016 +#: order/views.py:846 msgid "Allocate Serial Numbers" msgstr "" -#: order/views.py:1061 +#: order/views.py:891 #, python-brace-format msgid "Allocated {n} items" msgstr "" -#: order/views.py:1077 +#: order/views.py:907 msgid "Select line item" msgstr "" -#: order/views.py:1108 +#: order/views.py:938 #, python-brace-format msgid "No matching item for serial {serial}" msgstr "" -#: order/views.py:1118 +#: order/views.py:948 #, python-brace-format msgid "{serial} is not in stock" msgstr "" -#: order/views.py:1126 +#: order/views.py:956 #, python-brace-format msgid "{serial} already allocated to an order" msgstr "" -#: order/views.py:1180 -msgid "Allocate Stock to Order" -msgstr "" - -#: order/views.py:1254 -msgid "Edit Allocation Quantity" -msgstr "" - -#: order/views.py:1269 -msgid "Remove allocation" -msgstr "" - -#: order/views.py:1341 +#: order/views.py:1072 msgid "Sales order not found" msgstr "" -#: order/views.py:1347 +#: order/views.py:1078 msgid "Price not found" msgstr "" -#: order/views.py:1350 +#: order/views.py:1081 #, python-brace-format msgid "Updated {part} unit-price to {price}" msgstr "" -#: order/views.py:1355 +#: order/views.py:1086 #, python-brace-format msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" +#: part/api.py:54 part/models.py:299 part/templates/part/cat_link.html:7 +#: part/templates/part/category.html:108 part/templates/part/category.html:122 +#: part/templates/part/category_navbar.html:21 +#: part/templates/part/category_navbar.html:24 +#: templates/InvenTree/index.html:102 templates/InvenTree/search.html:114 +#: templates/InvenTree/settings/navbar.html:95 +#: templates/InvenTree/settings/navbar.html:97 +#: templates/js/translated/part.js:1165 templates/navbar.html:29 +#: templates/stats.html:80 templates/stats.html:89 users/models.py:41 +msgid "Parts" +msgstr "" + #: part/api.py:700 msgid "Must be greater than zero" msgstr "" @@ -3934,7 +3804,7 @@ msgstr "" msgid "This field is required" msgstr "" -#: part/bom.py:133 part/models.py:75 part/models.py:733 +#: part/bom.py:133 part/models.py:76 part/models.py:734 #: part/templates/part/category.html:75 part/templates/part/part_base.html:290 msgid "Default Location" msgstr "" @@ -3999,7 +3869,7 @@ msgstr "" msgid "Include part supplier data in exported BOM" msgstr "" -#: part/forms.py:96 part/models.py:2250 +#: part/forms.py:96 part/models.py:2254 msgid "Parent Part" msgstr "" @@ -4043,391 +3913,387 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:76 +#: part/models.py:77 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:79 +#: part/models.py:80 msgid "Default keywords" msgstr "" -#: part/models.py:79 +#: part/models.py:80 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:89 part/models.py:2296 +#: part/models.py:90 part/models.py:2300 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:90 part/templates/part/category.html:32 +#: part/models.py:91 part/templates/part/category.html:32 #: part/templates/part/category.html:103 templates/InvenTree/search.html:127 #: templates/stats.html:84 users/models.py:40 msgid "Part Categories" msgstr "" -#: part/models.py:383 +#: part/models.py:384 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:435 part/models.py:447 +#: part/models.py:436 part/models.py:448 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:544 +#: part/models.py:545 msgid "Next available serial numbers are" msgstr "" -#: part/models.py:548 +#: part/models.py:549 msgid "Next available serial number is" msgstr "" -#: part/models.py:553 +#: part/models.py:554 msgid "Most recent serial number is" msgstr "" -#: part/models.py:632 +#: part/models.py:633 msgid "Duplicate IPN not allowed in part settings" msgstr "IPN dupliqué non autorisé dans les paramètres de la pièce" -#: part/models.py:657 +#: part/models.py:658 msgid "Part name" msgstr "" -#: part/models.py:664 +#: part/models.py:665 msgid "Is Template" msgstr "" -#: part/models.py:665 +#: part/models.py:666 msgid "Is this part a template part?" msgstr "" -#: part/models.py:675 +#: part/models.py:676 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:676 +#: part/models.py:677 msgid "Variant Of" msgstr "" -#: part/models.py:682 +#: part/models.py:683 msgid "Part description" msgstr "" -#: part/models.py:687 part/templates/part/category.html:82 +#: part/models.py:688 part/templates/part/category.html:82 #: part/templates/part/part_base.html:259 msgid "Keywords" msgstr "" -#: part/models.py:688 +#: part/models.py:689 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:695 part/models.py:2295 +#: part/models.py:696 part/models.py:2299 #: part/templates/part/set_category.html:15 -#: templates/InvenTree/settings/settings.html:167 -#: templates/js/translated/part.js:916 +#: templates/InvenTree/settings/settings.html:169 +#: templates/js/translated/part.js:927 msgid "Category" msgstr "" -#: part/models.py:696 +#: part/models.py:697 msgid "Part category" msgstr "" -#: part/models.py:701 part/templates/part/part_base.html:235 -#: templates/js/translated/part.js:517 templates/js/translated/part.js:749 +#: part/models.py:702 part/templates/part/part_base.html:235 +#: templates/js/translated/part.js:528 templates/js/translated/part.js:760 msgid "IPN" msgstr "IPN" -#: part/models.py:702 +#: part/models.py:703 msgid "Internal Part Number" msgstr "" -#: part/models.py:708 +#: part/models.py:709 msgid "Part revision or version number" msgstr "" -#: part/models.py:709 part/templates/part/part_base.html:252 -#: report/models.py:200 templates/js/translated/part.js:521 +#: part/models.py:710 part/templates/part/part_base.html:252 +#: report/models.py:200 templates/js/translated/part.js:532 msgid "Revision" msgstr "" -#: part/models.py:731 +#: part/models.py:732 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:778 part/templates/part/part_base.html:297 +#: part/models.py:779 part/templates/part/part_base.html:297 msgid "Default Supplier" msgstr "" -#: part/models.py:779 +#: part/models.py:780 msgid "Default supplier part" msgstr "" -#: part/models.py:786 +#: part/models.py:787 msgid "Default Expiry" msgstr "" -#: part/models.py:787 +#: part/models.py:788 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:792 +#: part/models.py:793 msgid "Minimum Stock" msgstr "" -#: part/models.py:793 +#: part/models.py:794 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:800 +#: part/models.py:801 msgid "Stock keeping units for this part" msgstr "" -#: part/models.py:806 +#: part/models.py:807 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:812 +#: part/models.py:813 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:818 +#: part/models.py:819 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:823 +#: part/models.py:824 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:828 +#: part/models.py:829 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:832 templates/js/translated/table_filters.js:34 +#: part/models.py:833 templates/js/translated/table_filters.js:34 #: templates/js/translated/table_filters.js:82 #: templates/js/translated/table_filters.js:268 -#: templates/js/translated/table_filters.js:337 +#: templates/js/translated/table_filters.js:346 msgid "Active" msgstr "" -#: part/models.py:833 +#: part/models.py:834 msgid "Is this part active?" msgstr "" -#: part/models.py:838 +#: part/models.py:839 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:843 +#: part/models.py:844 msgid "Part notes - supports Markdown formatting" msgstr "" -#: part/models.py:846 +#: part/models.py:847 msgid "BOM checksum" msgstr "" -#: part/models.py:846 +#: part/models.py:847 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:849 +#: part/models.py:850 msgid "BOM checked by" msgstr "" -#: part/models.py:851 +#: part/models.py:852 msgid "BOM checked date" msgstr "" -#: part/models.py:855 +#: part/models.py:856 msgid "Creation User" msgstr "" -#: part/models.py:1601 +#: part/models.py:1605 msgid "Sell multiple" msgstr "" -#: part/models.py:2096 +#: part/models.py:2100 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:2113 +#: part/models.py:2117 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:2133 templates/js/translated/part.js:1205 -#: templates/js/translated/stock.js:556 +#: part/models.py:2137 templates/js/translated/part.js:1216 +#: templates/js/translated/stock.js:535 msgid "Test Name" msgstr "" -#: part/models.py:2134 +#: part/models.py:2138 msgid "Enter a name for the test" msgstr "" -#: part/models.py:2139 +#: part/models.py:2143 msgid "Test Description" msgstr "" -#: part/models.py:2140 +#: part/models.py:2144 msgid "Enter description for this test" msgstr "" -#: part/models.py:2145 templates/js/translated/part.js:1214 +#: part/models.py:2149 templates/js/translated/part.js:1225 #: templates/js/translated/table_filters.js:254 msgid "Required" msgstr "" -#: part/models.py:2146 +#: part/models.py:2150 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:2151 templates/js/translated/part.js:1222 +#: part/models.py:2155 templates/js/translated/part.js:1233 msgid "Requires Value" msgstr "" -#: part/models.py:2152 +#: part/models.py:2156 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:2157 templates/js/translated/part.js:1229 +#: part/models.py:2161 templates/js/translated/part.js:1240 msgid "Requires Attachment" msgstr "" -#: part/models.py:2158 +#: part/models.py:2162 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:2169 +#: part/models.py:2173 #, python-brace-format msgid "Illegal character in template name ({c})" msgstr "" -#: part/models.py:2205 +#: part/models.py:2209 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:2213 +#: part/models.py:2217 msgid "Parameter Name" msgstr "" -#: part/models.py:2220 +#: part/models.py:2224 msgid "Parameter Units" msgstr "" -#: part/models.py:2252 part/models.py:2301 part/models.py:2302 -#: templates/InvenTree/settings/settings.html:162 +#: part/models.py:2256 part/models.py:2305 part/models.py:2306 +#: templates/InvenTree/settings/settings.html:164 msgid "Parameter Template" msgstr "" -#: part/models.py:2254 +#: part/models.py:2258 msgid "Data" msgstr "" -#: part/models.py:2254 +#: part/models.py:2258 msgid "Parameter Value" msgstr "" -#: part/models.py:2306 templates/InvenTree/settings/settings.html:171 +#: part/models.py:2310 templates/InvenTree/settings/settings.html:173 msgid "Default Value" msgstr "" -#: part/models.py:2307 +#: part/models.py:2311 msgid "Default Parameter Value" msgstr "" -#: part/models.py:2341 +#: part/models.py:2362 msgid "Select parent part" msgstr "" -#: part/models.py:2349 +#: part/models.py:2370 msgid "Sub part" msgstr "" -#: part/models.py:2350 +#: part/models.py:2371 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:2356 +#: part/models.py:2377 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:2358 templates/js/translated/bom.js:256 -#: templates/js/translated/bom.js:314 +#: part/models.py:2379 templates/js/translated/bom.js:275 +#: templates/js/translated/bom.js:335 msgid "Optional" msgstr "" -#: part/models.py:2358 +#: part/models.py:2379 msgid "This BOM item is optional" msgstr "" -#: part/models.py:2361 +#: part/models.py:2382 msgid "Overage" msgstr "" -#: part/models.py:2362 +#: part/models.py:2383 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:2365 +#: part/models.py:2386 msgid "BOM item reference" msgstr "" -#: part/models.py:2368 +#: part/models.py:2389 msgid "BOM item notes" msgstr "" -#: part/models.py:2370 +#: part/models.py:2391 msgid "Checksum" msgstr "" -#: part/models.py:2370 +#: part/models.py:2391 msgid "BOM line checksum" msgstr "" -#: part/models.py:2374 templates/js/translated/bom.js:331 -#: templates/js/translated/bom.js:338 +#: part/models.py:2395 templates/js/translated/bom.js:352 +#: templates/js/translated/bom.js:359 #: templates/js/translated/table_filters.js:68 msgid "Inherited" msgstr "" -#: part/models.py:2375 +#: part/models.py:2396 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:2380 templates/js/translated/bom.js:323 +#: part/models.py:2401 templates/js/translated/bom.js:344 msgid "Allow Variants" msgstr "" -#: part/models.py:2381 +#: part/models.py:2402 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:2466 stock/models.py:341 +#: part/models.py:2487 stock/models.py:341 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:2475 part/models.py:2477 +#: part/models.py:2496 part/models.py:2498 msgid "Sub part must be specified" msgstr "" -#: part/models.py:2480 -msgid "BOM Item" -msgstr "" - -#: part/models.py:2599 +#: part/models.py:2620 msgid "Part 1" msgstr "" -#: part/models.py:2603 +#: part/models.py:2624 msgid "Part 2" msgstr "" -#: part/models.py:2603 +#: part/models.py:2624 msgid "Select Related Part" msgstr "" -#: part/models.py:2635 +#: part/models.py:2656 msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique" msgstr "" @@ -4578,7 +4444,7 @@ msgstr "" msgid "Create new part" msgstr "" -#: part/templates/part/category.html:131 +#: part/templates/part/category.html:131 templates/js/translated/bom.js:39 msgid "New Part" msgstr "" @@ -4658,7 +4524,7 @@ msgstr "" msgid "Import Parts" msgstr "" -#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:352 +#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:363 msgid "Duplicate Part" msgstr "" @@ -4785,34 +4651,26 @@ msgstr "" msgid "Add Test Result Template" msgstr "" -#: part/templates/part/detail.html:716 -msgid "Edit Test Result Template" -msgstr "" - -#: part/templates/part/detail.html:728 -msgid "Delete Test Result Template" -msgstr "" - -#: part/templates/part/detail.html:784 +#: part/templates/part/detail.html:755 msgid "Edit Part Notes" msgstr "" -#: part/templates/part/detail.html:936 +#: part/templates/part/detail.html:907 #, python-format msgid "Purchase Unit Price - %(currency)s" msgstr "" -#: part/templates/part/detail.html:948 +#: part/templates/part/detail.html:919 #, python-format msgid "Unit Price-Cost Difference - %(currency)s" msgstr "" -#: part/templates/part/detail.html:960 +#: part/templates/part/detail.html:931 #, python-format msgid "Supplier Unit Cost - %(currency)s" msgstr "" -#: part/templates/part/detail.html:1049 +#: part/templates/part/detail.html:1020 #, python-format msgid "Unit Price - %(currency)s" msgstr "" @@ -4874,9 +4732,9 @@ msgstr "" msgid "Part is virtual (not a physical part)" msgstr "" -#: part/templates/part/part_base.html:58 templates/js/translated/company.js:503 -#: templates/js/translated/company.js:759 templates/js/translated/part.js:432 -#: templates/js/translated/part.js:509 +#: part/templates/part/part_base.html:58 templates/js/translated/company.js:504 +#: templates/js/translated/company.js:761 templates/js/translated/part.js:443 +#: templates/js/translated/part.js:520 msgid "Inactive" msgstr "" @@ -4942,10 +4800,16 @@ msgid "This part is a variant of %(link)s" msgstr "" #: part/templates/part/part_base.html:161 +#: templates/js/translated/model_renderers.js:169 +#: templates/js/translated/order.js:1503 #: templates/js/translated/table_filters.js:166 msgid "In Stock" msgstr "" +#: part/templates/part/part_base.html:167 templates/js/translated/part.js:960 +msgid "On Order" +msgstr "" + #: part/templates/part/part_base.html:174 templates/InvenTree/index.html:186 msgid "Required for Build Orders" msgstr "" @@ -4958,18 +4822,18 @@ msgstr "" msgid "Allocated to Orders" msgstr "" -#: part/templates/part/part_base.html:203 templates/js/translated/bom.js:352 +#: part/templates/part/part_base.html:203 templates/js/translated/bom.js:373 msgid "Can Build" msgstr "" -#: part/templates/part/part_base.html:209 templates/js/translated/part.js:765 -#: templates/js/translated/part.js:953 +#: part/templates/part/part_base.html:209 templates/js/translated/part.js:776 +#: templates/js/translated/part.js:964 msgid "Building" msgstr "" #: part/templates/part/part_base.html:223 -#: part/templates/part/part_base.html:524 -#: part/templates/part/part_base.html:550 +#: part/templates/part/part_base.html:531 +#: part/templates/part/part_base.html:557 msgid "Show Part Details" msgstr "" @@ -4977,16 +4841,16 @@ msgstr "" msgid "Latest Serial Number" msgstr "" -#: part/templates/part/part_base.html:396 part/templates/part/prices.html:144 +#: part/templates/part/part_base.html:402 part/templates/part/prices.html:144 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:439 +#: part/templates/part/part_base.html:445 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:519 -#: part/templates/part/part_base.html:544 +#: part/templates/part/part_base.html:526 +#: part/templates/part/part_base.html:551 msgid "Hide Part Details" msgstr "" @@ -5013,7 +4877,7 @@ msgid "Total Cost" msgstr "" #: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:40 -#: templates/js/translated/bom.js:307 +#: templates/js/translated/bom.js:327 msgid "No supplier pricing available" msgstr "" @@ -5051,32 +4915,39 @@ msgstr "" msgid "Select from existing images" msgstr "" -#: part/templates/part/partial_delete.html:7 +#: part/templates/part/partial_delete.html:9 +#, python-format +msgid "Part '%(full_name)s' cannot be deleted as it is still marked as active.\n" +"
Disable the \"Active\" part attribute and re-try.\n" +" " +msgstr "" + +#: part/templates/part/partial_delete.html:17 #, python-format msgid "Are you sure you want to delete part '%(full_name)s'?" msgstr "" -#: part/templates/part/partial_delete.html:12 +#: part/templates/part/partial_delete.html:22 #, python-format msgid "This part is used in BOMs for %(count)s other parts. If you delete this part, the BOMs for the following parts will be updated" msgstr "" -#: part/templates/part/partial_delete.html:22 +#: part/templates/part/partial_delete.html:32 #, python-format msgid "There are %(count)s stock entries defined for this part. If you delete this part, the following stock entries will also be deleted:" msgstr "" -#: part/templates/part/partial_delete.html:33 +#: part/templates/part/partial_delete.html:43 #, python-format msgid "There are %(count)s manufacturers defined for this part. If you delete this part, the following manufacturer parts will also be deleted:" msgstr "" -#: part/templates/part/partial_delete.html:44 +#: part/templates/part/partial_delete.html:54 #, python-format msgid "There are %(count)s suppliers defined for this part. If you delete this part, the following supplier parts will also be deleted:" msgstr "" -#: part/templates/part/partial_delete.html:55 +#: part/templates/part/partial_delete.html:65 #, python-format msgid "There are %(count)s unique parts tracked for '%(full_name)s'. Deleting this part will permanently remove this tracking information." msgstr "" @@ -5109,7 +4980,7 @@ msgstr "" msgid "Calculation parameters" msgstr "" -#: part/templates/part/prices.html:155 templates/js/translated/bom.js:301 +#: part/templates/part/prices.html:155 templates/js/translated/bom.js:321 msgid "Supplier Cost" msgstr "" @@ -5151,8 +5022,9 @@ msgstr "" msgid "Set category for the following parts" msgstr "" -#: part/templates/part/stock_count.html:7 templates/js/translated/bom.js:278 -#: templates/js/translated/part.js:755 templates/js/translated/part.js:957 +#: part/templates/part/stock_count.html:7 templates/js/translated/bom.js:297 +#: templates/js/translated/model_renderers.js:167 +#: templates/js/translated/part.js:766 templates/js/translated/part.js:968 msgid "No Stock" msgstr "" @@ -5262,7 +5134,7 @@ msgstr "" msgid "Delete Part Parameter Template" msgstr "" -#: part/views.py:1502 templates/js/translated/part.js:303 +#: part/views.py:1502 templates/js/translated/part.js:308 msgid "Edit Part Category" msgstr "" @@ -5400,17 +5272,17 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:88 -#: stock/models.py:1807 +#: stock/models.py:1804 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:89 -#: stock/models.py:1813 +#: stock/models.py:1810 msgid "Result" msgstr "" #: report/templates/report/inventree_test_report_base.html:92 -#: templates/js/translated/order.js:353 templates/js/translated/stock.js:1523 +#: templates/js/translated/order.js:684 templates/js/translated/stock.js:1502 msgid "Date" msgstr "" @@ -5422,51 +5294,9 @@ msgstr "" msgid "Fail" msgstr "" -#: stock/api.py:146 -msgid "Request must contain list of stock items" -msgstr "" - -#: stock/api.py:154 -msgid "Improperly formatted data" -msgstr "" - -#: stock/api.py:162 -msgid "Each entry must contain a valid integer primary-key" -msgstr "" - -#: stock/api.py:168 -msgid "Primary key does not match valid stock item" -msgstr "" - -#: stock/api.py:178 -msgid "Invalid quantity value" -msgstr "" - -#: stock/api.py:183 -msgid "Quantity must not be less than zero" -msgstr "" - -#: stock/api.py:211 -#, python-brace-format -msgid "Updated stock for {n} items" -msgstr "" - -#: stock/api.py:247 stock/api.py:280 -msgid "Specified quantity exceeds stock quantity" -msgstr "" - -#: stock/api.py:270 -msgid "Valid location must be specified" -msgstr "" - -#: stock/api.py:290 -#, python-brace-format -msgid "Moved {n} parts to {loc}" -msgstr "" - #: stock/forms.py:79 stock/forms.py:307 stock/models.py:556 #: stock/templates/stock/item_base.html:395 -#: templates/js/translated/stock.js:967 +#: templates/js/translated/stock.js:946 msgid "Expiry Date" msgstr "" @@ -5678,38 +5508,54 @@ msgstr "" msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:1727 +#: stock/models.py:1724 msgid "Entry notes" msgstr "" -#: stock/models.py:1784 +#: stock/models.py:1781 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:1790 +#: stock/models.py:1787 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:1808 +#: stock/models.py:1805 msgid "Test name" msgstr "" -#: stock/models.py:1814 templates/js/translated/table_filters.js:244 +#: stock/models.py:1811 templates/js/translated/table_filters.js:244 msgid "Test result" msgstr "" -#: stock/models.py:1820 +#: stock/models.py:1817 msgid "Test output value" msgstr "" -#: stock/models.py:1827 +#: stock/models.py:1824 msgid "Test result attachment" msgstr "" -#: stock/models.py:1833 +#: stock/models.py:1830 msgid "Test notes" msgstr "" +#: stock/serializers.py:424 +msgid "StockItem primary key value" +msgstr "" + +#: stock/serializers.py:452 +msgid "Stock transaction notes" +msgstr "" + +#: stock/serializers.py:462 +msgid "A list of stock items must be provided" +msgstr "" + +#: stock/serializers.py:554 +msgid "Destination stock location" +msgstr "" + #: stock/templates/stock/item.html:17 msgid "Stock Tracking Information" msgstr "" @@ -5747,7 +5593,7 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:125 stock/views.py:534 +#: stock/templates/stock/item.html:125 stock/views.py:511 msgid "Install Stock Item" msgstr "" @@ -5910,7 +5756,7 @@ msgid "next page" msgstr "" #: stock/templates/stock/item_base.html:303 -#: templates/js/translated/build.js:651 +#: templates/js/translated/build.js:658 msgid "No location set" msgstr "" @@ -5937,7 +5783,7 @@ msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:408 -#: templates/js/translated/stock.js:980 +#: templates/js/translated/stock.js:959 msgid "Last Updated" msgstr "" @@ -6019,6 +5865,10 @@ msgstr "" msgid "All stock items" msgstr "" +#: stock/templates/stock/location.html:42 +msgid "Create new stock location" +msgstr "" + #: stock/templates/stock/location.html:55 msgid "Check-in Items" msgstr "" @@ -6058,7 +5908,7 @@ msgstr "" msgid "Stock Details" msgstr "" -#: stock/templates/stock/location.html:129 templates/InvenTree/search.html:279 +#: stock/templates/stock/location.html:129 templates/InvenTree/search.html:196 #: templates/stats.html:97 users/models.py:42 msgid "Stock Locations" msgstr "" @@ -6071,6 +5921,10 @@ msgstr "" msgid "Print labels" msgstr "" +#: stock/templates/stock/location.html:250 +msgid "New Location" +msgstr "" + #: stock/templates/stock/location.html:251 msgid "Create new location" msgstr "" @@ -6111,7 +5965,7 @@ msgstr "" msgid "The following stock items will be uninstalled" msgstr "" -#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:932 +#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:909 msgid "Convert Stock Item" msgstr "" @@ -6132,104 +5986,104 @@ msgstr "" msgid "Are you sure you want to delete this stock tracking entry?" msgstr "" -#: stock/views.py:181 +#: stock/views.py:158 msgid "Edit Stock Location" msgstr "" -#: stock/views.py:288 stock/views.py:911 stock/views.py:1033 -#: stock/views.py:1398 +#: stock/views.py:265 stock/views.py:888 stock/views.py:1010 +#: stock/views.py:1375 msgid "Owner is required (ownership control is enabled)" msgstr "" -#: stock/views.py:303 +#: stock/views.py:280 msgid "Stock Location QR code" msgstr "" -#: stock/views.py:322 +#: stock/views.py:299 msgid "Assign to Customer" msgstr "" -#: stock/views.py:331 +#: stock/views.py:308 msgid "Customer must be specified" msgstr "" -#: stock/views.py:355 +#: stock/views.py:332 msgid "Return to Stock" msgstr "" -#: stock/views.py:364 +#: stock/views.py:341 msgid "Specify a valid location" msgstr "" -#: stock/views.py:375 +#: stock/views.py:352 msgid "Stock item returned from customer" msgstr "" -#: stock/views.py:386 +#: stock/views.py:363 msgid "Delete All Test Data" msgstr "" -#: stock/views.py:403 +#: stock/views.py:380 msgid "Confirm test data deletion" msgstr "" -#: stock/views.py:508 +#: stock/views.py:485 msgid "Stock Item QR Code" msgstr "" -#: stock/views.py:683 +#: stock/views.py:660 msgid "Uninstall Stock Items" msgstr "" -#: stock/views.py:780 templates/js/translated/stock.js:353 +#: stock/views.py:757 templates/js/translated/stock.js:321 msgid "Confirm stock adjustment" msgstr "" -#: stock/views.py:791 +#: stock/views.py:768 msgid "Uninstalled stock items" msgstr "" -#: stock/views.py:813 +#: stock/views.py:790 msgid "Edit Stock Item" msgstr "" -#: stock/views.py:959 +#: stock/views.py:936 msgid "Create new Stock Location" msgstr "" -#: stock/views.py:1050 +#: stock/views.py:1027 msgid "Serialize Stock" msgstr "" -#: stock/views.py:1143 templates/js/translated/build.js:392 +#: stock/views.py:1120 msgid "Create new Stock Item" msgstr "" -#: stock/views.py:1285 +#: stock/views.py:1262 msgid "Duplicate Stock Item" msgstr "" -#: stock/views.py:1367 +#: stock/views.py:1344 msgid "Quantity cannot be negative" msgstr "" -#: stock/views.py:1467 +#: stock/views.py:1444 msgid "Delete Stock Location" msgstr "" -#: stock/views.py:1480 +#: stock/views.py:1457 msgid "Delete Stock Item" msgstr "" -#: stock/views.py:1491 +#: stock/views.py:1468 msgid "Delete Stock Tracking Entry" msgstr "" -#: stock/views.py:1498 +#: stock/views.py:1475 msgid "Edit Stock Tracking Entry" msgstr "" -#: stock/views.py:1507 +#: stock/views.py:1484 msgid "Add Stock Tracking Entry" msgstr "" @@ -6313,14 +6167,6 @@ msgstr "" msgid "Enter a search query" msgstr "" -#: templates/InvenTree/search.html:268 templates/js/translated/stock.js:699 -msgid "Shipped to customer" -msgstr "" - -#: templates/InvenTree/search.html:271 templates/js/translated/stock.js:709 -msgid "No stock location set" -msgstr "" - #: templates/InvenTree/settings/barcode.html:8 msgid "Barcode Settings" msgstr "" @@ -6365,6 +6211,14 @@ msgstr "" msgid "Setting" msgstr "" +#: templates/InvenTree/settings/login.html:9 +msgid "Login Settings" +msgstr "" + +#: templates/InvenTree/settings/login.html:22 templates/account/signup.html:5 +msgid "Signup" +msgstr "" + #: templates/InvenTree/settings/navbar.html:12 #: templates/InvenTree/settings/user_settings.html:9 msgid "User Settings" @@ -6382,7 +6236,7 @@ msgstr "" #: templates/InvenTree/settings/navbar.html:27 #: templates/InvenTree/settings/navbar.html:29 -#: templates/js/translated/tables.js:366 templates/search_form.html:6 +#: templates/js/translated/tables.js:375 templates/search_form.html:6 #: templates/search_form.html:8 msgid "Search" msgstr "" @@ -6397,38 +6251,48 @@ msgstr "" msgid "Reports" msgstr "" -#: templates/InvenTree/settings/navbar.html:46 -#: templates/InvenTree/settings/navbar.html:48 -#: templates/InvenTree/settings/settings.html:8 templates/navbar.html:94 +#: templates/InvenTree/settings/navbar.html:45 +#: templates/InvenTree/settings/navbar.html:47 +msgid "Forms" +msgstr "" + +#: templates/InvenTree/settings/navbar.html:52 +#: templates/InvenTree/settings/navbar.html:54 +#: templates/InvenTree/settings/settings.html:8 templates/navbar.html:90 msgid "Settings" msgstr "" -#: templates/InvenTree/settings/navbar.html:56 +#: templates/InvenTree/settings/navbar.html:62 msgid "InvenTree Settings" msgstr "" -#: templates/InvenTree/settings/navbar.html:59 -#: templates/InvenTree/settings/navbar.html:61 templates/stats.html:9 +#: templates/InvenTree/settings/navbar.html:65 +#: templates/InvenTree/settings/navbar.html:67 templates/stats.html:9 msgid "Server" msgstr "" -#: templates/InvenTree/settings/navbar.html:65 -#: templates/InvenTree/settings/navbar.html:67 -msgid "Barcodes" -msgstr "" - #: templates/InvenTree/settings/navbar.html:71 -#: templates/InvenTree/settings/navbar.html:73 -msgid "Currencies" +#: templates/InvenTree/settings/navbar.html:73 templates/navbar.html:87 +msgid "Login" msgstr "" #: templates/InvenTree/settings/navbar.html:77 #: templates/InvenTree/settings/navbar.html:79 -msgid "Reporting" +msgid "Barcodes" +msgstr "" + +#: templates/InvenTree/settings/navbar.html:83 +#: templates/InvenTree/settings/navbar.html:85 +msgid "Currencies" msgstr "" #: templates/InvenTree/settings/navbar.html:89 #: templates/InvenTree/settings/navbar.html:91 +msgid "Reporting" +msgstr "" + +#: templates/InvenTree/settings/navbar.html:101 +#: templates/InvenTree/settings/navbar.html:103 msgid "Categories" msgstr "" @@ -6469,21 +6333,21 @@ msgstr "" msgid "Edit setting" msgstr "" -#: templates/InvenTree/settings/settings.html:152 +#: templates/InvenTree/settings/settings.html:154 msgid "No category parameter templates found" msgstr "" -#: templates/InvenTree/settings/settings.html:174 -#: templates/InvenTree/settings/settings.html:273 +#: templates/InvenTree/settings/settings.html:176 +#: templates/InvenTree/settings/settings.html:275 msgid "Edit Template" msgstr "" -#: templates/InvenTree/settings/settings.html:175 -#: templates/InvenTree/settings/settings.html:274 +#: templates/InvenTree/settings/settings.html:177 +#: templates/InvenTree/settings/settings.html:276 msgid "Delete Template" msgstr "" -#: templates/InvenTree/settings/settings.html:253 +#: templates/InvenTree/settings/settings.html:255 msgid "No part parameter templates found" msgstr "" @@ -6495,70 +6359,140 @@ msgstr "" msgid "Stock Settings" msgstr "" -#: templates/InvenTree/settings/user.html:9 +#: templates/InvenTree/settings/user.html:11 msgid "Account Settings" msgstr "" -#: templates/InvenTree/settings/user.html:15 +#: templates/InvenTree/settings/user.html:19 #: templates/js/translated/helpers.js:26 msgid "Edit" msgstr "" -#: templates/InvenTree/settings/user.html:17 +#: templates/InvenTree/settings/user.html:21 +#: templates/account/password_reset_from_key.html:4 +#: templates/account/password_reset_from_key.html:7 msgid "Change Password" msgstr "" -#: templates/InvenTree/settings/user.html:24 -#: templates/registration/login.html:58 +#: templates/InvenTree/settings/user.html:28 msgid "Username" msgstr "" -#: templates/InvenTree/settings/user.html:28 +#: templates/InvenTree/settings/user.html:32 msgid "First Name" msgstr "" -#: templates/InvenTree/settings/user.html:32 +#: templates/InvenTree/settings/user.html:36 msgid "Last Name" msgstr "" -#: templates/InvenTree/settings/user.html:36 -msgid "Email Address" +#: templates/InvenTree/settings/user.html:42 +msgid "E-Mail" msgstr "" -#: templates/InvenTree/settings/user.html:42 -msgid "Theme Settings" +#: templates/InvenTree/settings/user.html:47 +msgid "The following e-mail addresses are associated with your account:" +msgstr "" + +#: templates/InvenTree/settings/user.html:61 +msgid "Verified" msgstr "" #: templates/InvenTree/settings/user.html:63 +msgid "Unverified" +msgstr "" + +#: templates/InvenTree/settings/user.html:65 +msgid "Primary" +msgstr "" + +#: templates/InvenTree/settings/user.html:71 +msgid "Make Primary" +msgstr "" + +#: templates/InvenTree/settings/user.html:72 +msgid "Re-send Verification" +msgstr "" + +#: templates/InvenTree/settings/user.html:73 +#: templates/InvenTree/settings/user.html:130 +msgid "Remove" +msgstr "" + +#: templates/InvenTree/settings/user.html:80 +msgid "Warning:" +msgstr "" + +#: templates/InvenTree/settings/user.html:81 +msgid "You currently do not have any e-mail address set up. You should really add an e-mail address so you can receive notifications, reset your password, etc." +msgstr "" + +#: templates/InvenTree/settings/user.html:88 +msgid "Add E-mail Address" +msgstr "" + +#: templates/InvenTree/settings/user.html:93 +msgid "Add E-mail" +msgstr "" + +#: templates/InvenTree/settings/user.html:100 +msgid "Social Accounts" +msgstr "" + +#: templates/InvenTree/settings/user.html:105 +msgid "You can sign in to your account using any of the following third party accounts:" +msgstr "" + +#: templates/InvenTree/settings/user.html:138 +msgid "You currently have no social network accounts connected to this account." +msgstr "" + +#: templates/InvenTree/settings/user.html:142 +msgid "Add a 3rd Party Account" +msgstr "" + +#: templates/InvenTree/settings/user.html:153 +msgid "Theme Settings" +msgstr "" + +#: templates/InvenTree/settings/user.html:174 msgid "Set Theme" msgstr "" -#: templates/InvenTree/settings/user.html:70 +#: templates/InvenTree/settings/user.html:181 msgid "Language Settings" msgstr "" -#: templates/InvenTree/settings/user.html:89 +#: templates/InvenTree/settings/user.html:200 #, python-format msgid "%(lang_translated)s%% translated" msgstr "" -#: templates/InvenTree/settings/user.html:91 +#: templates/InvenTree/settings/user.html:202 msgid "No translations available" msgstr "" -#: templates/InvenTree/settings/user.html:98 +#: templates/InvenTree/settings/user.html:209 msgid "Set Language" msgstr "" -#: templates/InvenTree/settings/user.html:103 +#: templates/InvenTree/settings/user.html:214 msgid "Help the translation efforts!" msgstr "" -#: templates/InvenTree/settings/user.html:104 +#: templates/InvenTree/settings/user.html:215 #, python-format msgid "Native language translation of the InvenTree web application is community contributed via crowdin. Contributions are welcomed and encouraged." msgstr "" +#: templates/InvenTree/settings/user.html:223 +msgid "Do you really want to remove the selected e-mail address?" +msgstr "" + +#: templates/InvenTree/settings/user_forms.html:9 +msgid "Form Settings" +msgstr "" + #: templates/InvenTree/settings/user_homepage.html:9 msgid "Home Page Settings" msgstr "" @@ -6641,11 +6575,108 @@ msgstr "" #: templates/about.html:107 templates/js/translated/modals.js:50 #: templates/js/translated/modals.js:584 templates/js/translated/modals.js:678 -#: templates/js/translated/modals.js:971 templates/modals.html:29 +#: templates/js/translated/modals.js:982 templates/modals.html:29 #: templates/modals.html:54 msgid "Close" msgstr "" +#: templates/account/email_confirm.html:6 +#: templates/account/email_confirm.html:10 +msgid "Confirm E-mail Address" +msgstr "" + +#: templates/account/email_confirm.html:16 +#, python-format +msgid "Please confirm that %(email)s is an e-mail address for user %(user_display)s." +msgstr "" + +#: templates/account/email_confirm.html:27 +#, python-format +msgid "This e-mail confirmation link expired or is invalid. Please issue a new e-mail confirmation request." +msgstr "" + +#: templates/account/login.html:5 templates/account/login.html:14 +#: templates/account/login.html:36 +msgid "Sign In" +msgstr "" + +#: templates/account/login.html:19 +#, python-format +msgid "Please sign in with one\n" +"of your existing third party accounts or sign up\n" +"for a account and sign in below:" +msgstr "" + +#: templates/account/login.html:23 +#, python-format +msgid "If you have not created an account yet, then please\n" +"sign up first." +msgstr "" + +#: templates/account/login.html:38 +msgid "Forgot Password?" +msgstr "" + +#: templates/account/login.html:45 +msgid "or use SSO" +msgstr "" + +#: templates/account/logout.html:5 templates/account/logout.html:8 +#: templates/account/logout.html:17 +msgid "Sign Out" +msgstr "" + +#: templates/account/logout.html:10 +msgid "Are you sure you want to sign out?" +msgstr "" + +#: templates/account/password_reset.html:5 +#: templates/account/password_reset.html:12 +msgid "Password Reset" +msgstr "" + +#: templates/account/password_reset.html:18 +msgid "Forgotten your password? Enter your e-mail address below, and we'll send you an e-mail allowing you to reset it." +msgstr "" + +#: templates/account/password_reset.html:23 +msgid "Reset My Password" +msgstr "" + +#: templates/account/password_reset.html:27 templates/account/signup.html:36 +msgid "This function is currently disabled. Please contact an administrator." +msgstr "" + +#: templates/account/password_reset_from_key.html:7 +msgid "Bad Token" +msgstr "" + +#: templates/account/password_reset_from_key.html:11 +#, python-format +msgid "The password reset link was invalid, possibly because it has already been used. Please request a new password reset." +msgstr "" + +#: templates/account/password_reset_from_key.html:17 +msgid "change password" +msgstr "" + +#: templates/account/password_reset_from_key.html:20 +msgid "Your password is now changed." +msgstr "" + +#: templates/account/signup.html:11 templates/account/signup.html:22 +msgid "Sign Up" +msgstr "" + +#: templates/account/signup.html:13 +#, python-format +msgid "Already have an account? Then please sign in." +msgstr "" + +#: templates/account/signup.html:27 +msgid "Or use a SSO-provider for signup" +msgstr "" + #: templates/image_download.html:8 msgid "Specify URL for downloading image" msgstr "" @@ -6675,7 +6706,7 @@ msgid "Select Test Report Template" msgstr "" #: templates/js/report.js:98 templates/js/translated/label.js:29 -#: templates/js/translated/report.js:118 templates/js/translated/stock.js:313 +#: templates/js/translated/report.js:118 templates/js/translated/stock.js:297 msgid "Select Stock Items" msgstr "" @@ -6707,8 +6738,8 @@ msgstr "" msgid "No report templates found which match selected build(s)" msgstr "" -#: templates/js/report.js:205 templates/js/translated/label.js:134 -#: templates/js/translated/report.js:225 +#: templates/js/report.js:205 templates/js/translated/build.js:948 +#: templates/js/translated/label.js:134 templates/js/translated/report.js:225 msgid "Select Parts" msgstr "" @@ -6741,11 +6772,11 @@ msgstr "" msgid "Sales Order(s) must be selected before printing report" msgstr "" -#: templates/js/translated/api.js:174 templates/js/translated/modals.js:1041 +#: templates/js/translated/api.js:174 templates/js/translated/modals.js:1052 msgid "No Response" msgstr "" -#: templates/js/translated/api.js:175 templates/js/translated/modals.js:1042 +#: templates/js/translated/api.js:175 templates/js/translated/modals.js:1053 msgid "No response from the InvenTree server" msgstr "" @@ -6757,35 +6788,35 @@ msgstr "" msgid "API request returned error code 400" msgstr "" -#: templates/js/translated/api.js:186 templates/js/translated/modals.js:1051 +#: templates/js/translated/api.js:186 templates/js/translated/modals.js:1062 msgid "Error 401: Not Authenticated" msgstr "" -#: templates/js/translated/api.js:187 templates/js/translated/modals.js:1052 +#: templates/js/translated/api.js:187 templates/js/translated/modals.js:1063 msgid "Authentication credentials not supplied" msgstr "" -#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1056 +#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1067 msgid "Error 403: Permission Denied" msgstr "" -#: templates/js/translated/api.js:192 templates/js/translated/modals.js:1057 +#: templates/js/translated/api.js:192 templates/js/translated/modals.js:1068 msgid "You do not have the required permissions to access this function" msgstr "" -#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1061 +#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1072 msgid "Error 404: Resource Not Found" msgstr "" -#: templates/js/translated/api.js:197 templates/js/translated/modals.js:1062 +#: templates/js/translated/api.js:197 templates/js/translated/modals.js:1073 msgid "The requested resource could not be located on the server" msgstr "" -#: templates/js/translated/api.js:201 templates/js/translated/modals.js:1066 +#: templates/js/translated/api.js:201 templates/js/translated/modals.js:1077 msgid "Error 408: Timeout" msgstr "" -#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1067 +#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1078 msgid "Connection timeout while requesting data from server" msgstr "" @@ -6842,7 +6873,7 @@ msgid "Unknown response from server" msgstr "" #: templates/js/translated/barcode.js:141 -#: templates/js/translated/modals.js:1031 +#: templates/js/translated/modals.js:1042 msgid "Invalid server response" msgstr "" @@ -6870,7 +6901,7 @@ msgstr "" msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:398 templates/js/translated/stock.js:289 +#: templates/js/translated/barcode.js:398 templates/js/translated/stock.js:273 msgid "Remove stock item" msgstr "" @@ -6912,115 +6943,181 @@ msgstr "" msgid "Barcode does not match a valid location" msgstr "" -#: templates/js/translated/bom.js:215 templates/js/translated/build.js:1169 +#: templates/js/translated/bom.js:234 templates/js/translated/build.js:1495 msgid "Open subassembly" msgstr "" -#: templates/js/translated/bom.js:287 +#: templates/js/translated/bom.js:288 templates/js/translated/build.js:744 +#: templates/js/translated/build.js:1345 templates/js/translated/build.js:1522 +msgid "Available" +msgstr "Disponible" + +#: templates/js/translated/bom.js:307 msgid "Purchase Price Range" msgstr "" -#: templates/js/translated/bom.js:294 +#: templates/js/translated/bom.js:314 msgid "Purchase Price Average" msgstr "" -#: templates/js/translated/bom.js:342 templates/js/translated/bom.js:428 +#: templates/js/translated/bom.js:363 templates/js/translated/bom.js:449 msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:402 +#: templates/js/translated/bom.js:415 templates/js/translated/build.js:798 +#: templates/js/translated/build.js:1545 templates/js/translated/order.js:1285 +msgid "Actions" +msgstr "" + +#: templates/js/translated/bom.js:423 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:404 +#: templates/js/translated/bom.js:425 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:406 templates/js/translated/bom.js:569 +#: templates/js/translated/bom.js:427 templates/js/translated/bom.js:590 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:408 templates/js/translated/bom.js:554 +#: templates/js/translated/bom.js:429 templates/js/translated/bom.js:575 msgid "Delete BOM Item" msgstr "" -#: templates/js/translated/bom.js:499 templates/js/translated/build.js:483 -#: templates/js/translated/build.js:1267 +#: templates/js/translated/bom.js:520 templates/js/translated/build.js:485 +#: templates/js/translated/build.js:1593 msgid "No BOM items found" msgstr "" -#: templates/js/translated/build.js:69 +#: templates/js/translated/build.js:71 msgid "Edit Build Order" msgstr "" -#: templates/js/translated/build.js:95 +#: templates/js/translated/build.js:105 msgid "Create Build Order" msgstr "" -#: templates/js/translated/build.js:127 -msgid "Auto-allocate stock items to this output" +#: templates/js/translated/build.js:138 +msgid "Allocate stock items to this build output" msgstr "" -#: templates/js/translated/build.js:135 +#: templates/js/translated/build.js:146 msgid "Unallocate stock from build output" msgstr "" -#: templates/js/translated/build.js:145 +#: templates/js/translated/build.js:155 msgid "Complete build output" msgstr "" -#: templates/js/translated/build.js:154 +#: templates/js/translated/build.js:164 msgid "Delete build output" msgstr "" -#: templates/js/translated/build.js:249 +#: templates/js/translated/build.js:265 msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:287 templates/js/translated/order.js:813 +#: templates/js/translated/build.js:303 templates/js/translated/order.js:1159 msgid "Location not specified" msgstr "" -#: templates/js/translated/build.js:391 templates/stock_table.html:20 -msgid "New Stock Item" +#: templates/js/translated/build.js:675 templates/js/translated/build.js:1356 +#: templates/js/translated/order.js:1292 +msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/build.js:702 +#: templates/js/translated/build.js:677 templates/js/translated/build.js:1357 +#: templates/js/translated/order.js:1293 +msgid "Delete stock allocation" +msgstr "" + +#: templates/js/translated/build.js:695 +msgid "Edit Allocation" +msgstr "" + +#: templates/js/translated/build.js:705 +msgid "Remove Allocation" +msgstr "" + +#: templates/js/translated/build.js:718 msgid "Required Part" msgstr "" -#: templates/js/translated/build.js:723 +#: templates/js/translated/build.js:739 msgid "Quantity Per" msgstr "" -#: templates/js/translated/build.js:793 templates/js/translated/build.js:1231 +#: templates/js/translated/build.js:749 templates/js/translated/build.js:975 +#: templates/js/translated/build.js:1352 templates/js/translated/order.js:1514 +msgid "Allocated" +msgstr "" + +#: templates/js/translated/build.js:805 templates/js/translated/build.js:1553 +#: templates/js/translated/order.js:1567 +msgid "Build stock" +msgstr "" + +#: templates/js/translated/build.js:809 templates/js/translated/build.js:1557 #: templates/stock_table.html:59 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:846 +#: templates/js/translated/build.js:812 templates/js/translated/order.js:1560 +msgid "Allocate stock" +msgstr "" + +#: templates/js/translated/build.js:880 +msgid "Specify stock allocation quantity" +msgstr "" + +#: templates/js/translated/build.js:949 +msgid "You must select at least one part to allocate" +msgstr "" + +#: templates/js/translated/build.js:963 +msgid "Select source location (leave blank to take from all locations)" +msgstr "" + +#: templates/js/translated/build.js:992 +msgid "Confirm stock allocation" +msgstr "" + +#: templates/js/translated/build.js:993 +msgid "Allocate Stock Items to Build Order" +msgstr "" + +#: templates/js/translated/build.js:1004 +msgid "No matching stock locations" +msgstr "" + +#: templates/js/translated/build.js:1048 +msgid "No matching stock items" +msgstr "" + +#: templates/js/translated/build.js:1172 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:863 templates/js/translated/part.js:845 -#: templates/js/translated/part.js:1123 templates/js/translated/stock.js:783 -#: templates/js/translated/stock.js:1477 +#: templates/js/translated/build.js:1189 templates/js/translated/part.js:856 +#: templates/js/translated/part.js:1134 templates/js/translated/stock.js:762 +#: templates/js/translated/stock.js:1456 msgid "Select" msgstr "" -#: templates/js/translated/build.js:883 +#: templates/js/translated/build.js:1209 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:944 templates/js/translated/stock.js:1696 +#: templates/js/translated/build.js:1270 templates/js/translated/stock.js:1675 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:956 +#: templates/js/translated/build.js:1282 msgid "No information" msgstr "" -#: templates/js/translated/build.js:1007 +#: templates/js/translated/build.js:1333 msgid "No parts allocated for" msgstr "" @@ -7040,7 +7137,7 @@ msgstr "" msgid "Delete Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:164 templates/js/translated/order.js:86 +#: templates/js/translated/company.js:164 templates/js/translated/order.js:89 msgid "Add Supplier" msgstr "" @@ -7084,53 +7181,53 @@ msgstr "" msgid "Delete Manufacturer Parts" msgstr "" -#: templates/js/translated/company.js:475 +#: templates/js/translated/company.js:476 msgid "No manufacturer parts found" msgstr "" -#: templates/js/translated/company.js:495 -#: templates/js/translated/company.js:751 templates/js/translated/part.js:416 -#: templates/js/translated/part.js:501 +#: templates/js/translated/company.js:496 +#: templates/js/translated/company.js:753 templates/js/translated/part.js:427 +#: templates/js/translated/part.js:512 msgid "Template part" msgstr "" -#: templates/js/translated/company.js:499 -#: templates/js/translated/company.js:755 templates/js/translated/part.js:420 -#: templates/js/translated/part.js:505 +#: templates/js/translated/company.js:500 +#: templates/js/translated/company.js:757 templates/js/translated/part.js:431 +#: templates/js/translated/part.js:516 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:626 templates/js/translated/part.js:593 +#: templates/js/translated/company.js:627 templates/js/translated/part.js:604 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:663 templates/js/translated/part.js:635 +#: templates/js/translated/company.js:664 templates/js/translated/part.js:646 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:664 templates/js/translated/part.js:636 +#: templates/js/translated/company.js:665 templates/js/translated/part.js:647 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:683 templates/js/translated/part.js:653 +#: templates/js/translated/company.js:684 templates/js/translated/part.js:664 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:694 templates/js/translated/part.js:665 +#: templates/js/translated/company.js:695 templates/js/translated/part.js:676 msgid "Delete Parameter" msgstr "" -#: templates/js/translated/company.js:731 +#: templates/js/translated/company.js:733 msgid "No supplier parts found" msgstr "" #: templates/js/translated/filters.js:178 -#: templates/js/translated/filters.js:402 +#: templates/js/translated/filters.js:407 msgid "true" msgstr "" #: templates/js/translated/filters.js:182 -#: templates/js/translated/filters.js:403 +#: templates/js/translated/filters.js:408 msgid "false" msgstr "" @@ -7138,19 +7235,19 @@ msgstr "" msgid "Select filter" msgstr "" -#: templates/js/translated/filters.js:279 +#: templates/js/translated/filters.js:284 msgid "Reload data" msgstr "" -#: templates/js/translated/filters.js:281 +#: templates/js/translated/filters.js:286 msgid "Add new filter" msgstr "" -#: templates/js/translated/filters.js:284 +#: templates/js/translated/filters.js:289 msgid "Clear all filters" msgstr "" -#: templates/js/translated/filters.js:312 +#: templates/js/translated/filters.js:317 msgid "Create filter" msgstr "" @@ -7175,16 +7272,20 @@ msgstr "" msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:889 templates/modals.html:21 +#: templates/js/translated/forms.js:968 templates/modals.html:21 #: templates/modals.html:47 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1379 +#: templates/js/translated/forms.js:1323 +msgid "No results found" +msgstr "" + +#: templates/js/translated/forms.js:1525 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:1593 +#: templates/js/translated/forms.js:1742 msgid "Clear input" msgstr "" @@ -7247,7 +7348,7 @@ msgid "Cancel" msgstr "" #: templates/js/translated/modals.js:77 templates/js/translated/modals.js:119 -#: templates/js/translated/modals.js:677 templates/js/translated/modals.js:970 +#: templates/js/translated/modals.js:677 templates/js/translated/modals.js:981 #: templates/modals.html:30 templates/modals.html:55 msgid "Submit" msgstr "" @@ -7272,31 +7373,31 @@ msgstr "" msgid "Loading Data" msgstr "" -#: templates/js/translated/modals.js:922 +#: templates/js/translated/modals.js:933 msgid "Invalid response from server" msgstr "" -#: templates/js/translated/modals.js:922 +#: templates/js/translated/modals.js:933 msgid "Form data missing from server response" msgstr "" -#: templates/js/translated/modals.js:934 +#: templates/js/translated/modals.js:945 msgid "Error posting form data" msgstr "" -#: templates/js/translated/modals.js:1031 +#: templates/js/translated/modals.js:1042 msgid "JSON response missing form data" msgstr "" -#: templates/js/translated/modals.js:1046 +#: templates/js/translated/modals.js:1057 msgid "Error 400: Bad Request" msgstr "" -#: templates/js/translated/modals.js:1047 +#: templates/js/translated/modals.js:1058 msgid "Server returned error code 400" msgstr "" -#: templates/js/translated/modals.js:1070 +#: templates/js/translated/modals.js:1081 msgid "Error requesting form data" msgstr "" @@ -7304,70 +7405,195 @@ msgstr "" msgid "Company ID" msgstr "" -#: templates/js/translated/model_renderers.js:82 +#: templates/js/translated/model_renderers.js:90 +msgid "Stock ID" +msgstr "" + +#: templates/js/translated/model_renderers.js:125 msgid "Location ID" msgstr "" -#: templates/js/translated/model_renderers.js:99 +#: templates/js/translated/model_renderers.js:142 msgid "Build ID" msgstr "" -#: templates/js/translated/model_renderers.js:119 +#: templates/js/translated/model_renderers.js:177 msgid "Part ID" msgstr "" -#: templates/js/translated/model_renderers.js:171 +#: templates/js/translated/model_renderers.js:231 +msgid "Order ID" +msgstr "" + +#: templates/js/translated/model_renderers.js:251 msgid "Category ID" msgstr "" -#: templates/js/translated/model_renderers.js:208 +#: templates/js/translated/model_renderers.js:288 msgid "Manufacturer Part ID" msgstr "" -#: templates/js/translated/model_renderers.js:237 +#: templates/js/translated/model_renderers.js:317 msgid "Supplier Part ID" msgstr "" -#: templates/js/translated/order.js:45 +#: templates/js/translated/order.js:48 msgid "Add Customer" msgstr "" -#: templates/js/translated/order.js:70 +#: templates/js/translated/order.js:73 msgid "Create Sales Order" msgstr "" -#: templates/js/translated/order.js:295 +#: templates/js/translated/order.js:207 +msgid "Export Order" +msgstr "" + +#: templates/js/translated/order.js:210 templates/js/translated/stock.js:96 +msgid "Format" +msgstr "" + +#: templates/js/translated/order.js:211 templates/js/translated/stock.js:97 +msgid "Select file format" +msgstr "" + +#: templates/js/translated/order.js:299 +msgid "Select Line Items" +msgstr "" + +#: templates/js/translated/order.js:300 +msgid "At least one line item must be selected" +msgstr "" + +#: templates/js/translated/order.js:325 +msgid "Quantity to receive" +msgstr "" + +#: templates/js/translated/order.js:359 templates/js/translated/stock.js:1343 +msgid "Stock Status" +msgstr "" + +#: templates/js/translated/order.js:426 +msgid "Order Code" +msgstr "" + +#: templates/js/translated/order.js:427 +msgid "Ordered" +msgstr "" + +#: templates/js/translated/order.js:429 +msgid "Receive" +msgstr "" + +#: templates/js/translated/order.js:448 +msgid "Confirm receipt of items" +msgstr "" + +#: templates/js/translated/order.js:449 +msgid "Receive Purchase Order Items" +msgstr "" + +#: templates/js/translated/order.js:626 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/order.js:320 templates/js/translated/order.js:682 +#: templates/js/translated/order.js:651 templates/js/translated/order.js:1028 msgid "Order is overdue" msgstr "" -#: templates/js/translated/order.js:452 +#: templates/js/translated/order.js:749 templates/js/translated/order.js:1602 +msgid "Edit Line Item" +msgstr "" + +#: templates/js/translated/order.js:761 templates/js/translated/order.js:1613 +msgid "Delete Line Item" +msgstr "" + +#: templates/js/translated/order.js:800 msgid "No line items found" msgstr "" -#: templates/js/translated/order.js:617 +#: templates/js/translated/order.js:827 templates/js/translated/order.js:1432 +msgid "Total" +msgstr "" + +#: templates/js/translated/order.js:880 templates/js/translated/order.js:1457 +#: templates/js/translated/part.js:1343 templates/js/translated/part.js:1554 +msgid "Unit Price" +msgstr "" + +#: templates/js/translated/order.js:889 templates/js/translated/order.js:1464 +msgid "Total price" +msgstr "" + +#: templates/js/translated/order.js:962 templates/js/translated/order.js:1573 +msgid "Edit line item" +msgstr "" + +#: templates/js/translated/order.js:963 msgid "Delete line item" msgstr "" -#: templates/js/translated/order.js:621 +#: templates/js/translated/order.js:967 msgid "Receive line item" msgstr "" -#: templates/js/translated/order.js:658 +#: templates/js/translated/order.js:1004 msgid "No sales orders found" msgstr "" -#: templates/js/translated/order.js:696 +#: templates/js/translated/order.js:1042 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/order.js:774 +#: templates/js/translated/order.js:1120 msgid "No sales order allocations found" msgstr "" +#: templates/js/translated/order.js:1213 +msgid "Edit Stock Allocation" +msgstr "" + +#: templates/js/translated/order.js:1231 +msgid "Delete Stock Allocation" +msgstr "" + +#: templates/js/translated/order.js:1273 +msgid "Stock location not specified" +msgstr "" + +#: templates/js/translated/order.js:1514 +msgid "Fulfilled" +msgstr "" + +#: templates/js/translated/order.js:1557 +msgid "Allocate serial numbers" +msgstr "" + +#: templates/js/translated/order.js:1563 +msgid "Purchase stock" +msgstr "" + +#: templates/js/translated/order.js:1570 templates/js/translated/order.js:1725 +msgid "Calculate price" +msgstr "" + +#: templates/js/translated/order.js:1574 +msgid "Delete line item " +msgstr "" + +#: templates/js/translated/order.js:1673 +msgid "Allocate Stock Item" +msgstr "" + +#: templates/js/translated/order.js:1733 +msgid "Update Unit Price" +msgstr "" + +#: templates/js/translated/order.js:1747 +msgid "No matching line items" +msgstr "" + #: templates/js/translated/part.js:49 msgid "Part Attributes" msgstr "" @@ -7388,396 +7614,396 @@ msgstr "" msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:159 +#: templates/js/translated/part.js:164 msgid "Create Initial Stock" msgstr "" -#: templates/js/translated/part.js:160 +#: templates/js/translated/part.js:165 msgid "Create an initial stock item for this part" msgstr "" -#: templates/js/translated/part.js:167 +#: templates/js/translated/part.js:172 msgid "Initial Stock Quantity" msgstr "" -#: templates/js/translated/part.js:168 +#: templates/js/translated/part.js:173 msgid "Specify initial stock quantity for this part" msgstr "" -#: templates/js/translated/part.js:175 templates/js/translated/stock.js:330 +#: templates/js/translated/part.js:180 msgid "Select destination stock location" msgstr "" -#: templates/js/translated/part.js:186 +#: templates/js/translated/part.js:191 msgid "Copy Category Parameters" msgstr "" -#: templates/js/translated/part.js:187 +#: templates/js/translated/part.js:192 msgid "Copy parameter templates from selected part category" msgstr "" -#: templates/js/translated/part.js:195 +#: templates/js/translated/part.js:200 msgid "Add Supplier Data" msgstr "" -#: templates/js/translated/part.js:196 +#: templates/js/translated/part.js:201 msgid "Create initial supplier data for this part" msgstr "" -#: templates/js/translated/part.js:252 +#: templates/js/translated/part.js:257 msgid "Copy Image" msgstr "" -#: templates/js/translated/part.js:253 +#: templates/js/translated/part.js:258 msgid "Copy image from original part" msgstr "" -#: templates/js/translated/part.js:260 +#: templates/js/translated/part.js:265 msgid "Copy BOM" msgstr "" -#: templates/js/translated/part.js:261 +#: templates/js/translated/part.js:266 msgid "Copy bill of materials from original part" msgstr "" -#: templates/js/translated/part.js:268 +#: templates/js/translated/part.js:273 msgid "Copy Parameters" msgstr "" -#: templates/js/translated/part.js:269 +#: templates/js/translated/part.js:274 msgid "Copy parameter data from original part" msgstr "" -#: templates/js/translated/part.js:282 +#: templates/js/translated/part.js:287 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:323 +#: templates/js/translated/part.js:331 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:408 templates/js/translated/part.js:493 +#: templates/js/translated/part.js:419 templates/js/translated/part.js:504 msgid "Trackable part" msgstr "" -#: templates/js/translated/part.js:412 templates/js/translated/part.js:497 +#: templates/js/translated/part.js:423 templates/js/translated/part.js:508 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:424 +#: templates/js/translated/part.js:435 msgid "Starred part" msgstr "" -#: templates/js/translated/part.js:428 +#: templates/js/translated/part.js:439 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:543 +#: templates/js/translated/part.js:554 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:732 templates/js/translated/part.js:994 +#: templates/js/translated/part.js:743 templates/js/translated/part.js:1005 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:921 +#: templates/js/translated/part.js:932 msgid "No category" msgstr "" -#: templates/js/translated/part.js:944 -#: templates/js/translated/table_filters.js:350 +#: templates/js/translated/part.js:955 +#: templates/js/translated/table_filters.js:359 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:1148 templates/js/translated/stock.js:1501 +#: templates/js/translated/part.js:1159 templates/js/translated/stock.js:1480 msgid "Path" msgstr "" -#: templates/js/translated/part.js:1191 +#: templates/js/translated/part.js:1202 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:1242 templates/js/translated/stock.js:514 +#: templates/js/translated/part.js:1253 templates/js/translated/stock.js:493 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:1243 templates/js/translated/stock.js:515 +#: templates/js/translated/part.js:1254 templates/js/translated/stock.js:494 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:1249 +#: templates/js/translated/part.js:1260 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:1274 +#: templates/js/translated/part.js:1282 +msgid "Edit Test Result Template" +msgstr "" + +#: templates/js/translated/part.js:1296 +msgid "Delete Test Result Template" +msgstr "" + +#: templates/js/translated/part.js:1321 #, python-brace-format msgid "No ${human_name} information found" msgstr "" -#: templates/js/translated/part.js:1329 +#: templates/js/translated/part.js:1376 #, python-brace-format msgid "Edit ${human_name}" msgstr "" -#: templates/js/translated/part.js:1330 +#: templates/js/translated/part.js:1377 #, python-brace-format msgid "Delete ${human_name}" msgstr "" -#: templates/js/translated/part.js:1431 +#: templates/js/translated/part.js:1478 msgid "Single Price" msgstr "" -#: templates/js/translated/part.js:1450 +#: templates/js/translated/part.js:1497 msgid "Single Price Difference" msgstr "" -#: templates/js/translated/stock.js:66 +#: templates/js/translated/stock.js:63 msgid "Parent stock location" msgstr "" -#: templates/js/translated/stock.js:96 +#: templates/js/translated/stock.js:93 msgid "Export Stock" msgstr "" -#: templates/js/translated/stock.js:99 -msgid "Format" -msgstr "" - -#: templates/js/translated/stock.js:100 -msgid "Select file format" -msgstr "" - -#: templates/js/translated/stock.js:124 +#: templates/js/translated/stock.js:104 msgid "Include Sublocations" msgstr "" -#: templates/js/translated/stock.js:125 +#: templates/js/translated/stock.js:105 msgid "Include stock items in sublocations" msgstr "" -#: templates/js/translated/stock.js:167 +#: templates/js/translated/stock.js:147 msgid "Transfer Stock" msgstr "" -#: templates/js/translated/stock.js:168 +#: templates/js/translated/stock.js:148 msgid "Move" msgstr "" -#: templates/js/translated/stock.js:174 +#: templates/js/translated/stock.js:154 msgid "Count Stock" msgstr "" -#: templates/js/translated/stock.js:175 +#: templates/js/translated/stock.js:155 msgid "Count" msgstr "" -#: templates/js/translated/stock.js:179 +#: templates/js/translated/stock.js:159 msgid "Remove Stock" msgstr "" -#: templates/js/translated/stock.js:180 +#: templates/js/translated/stock.js:160 msgid "Take" msgstr "" -#: templates/js/translated/stock.js:184 +#: templates/js/translated/stock.js:164 msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:185 users/models.py:190 +#: templates/js/translated/stock.js:165 users/models.py:195 msgid "Add" msgstr "" -#: templates/js/translated/stock.js:189 templates/stock_table.html:63 +#: templates/js/translated/stock.js:169 templates/stock_table.html:63 msgid "Delete Stock" msgstr "" -#: templates/js/translated/stock.js:278 +#: templates/js/translated/stock.js:258 msgid "Quantity cannot be adjusted for serialized stock" msgstr "" -#: templates/js/translated/stock.js:278 +#: templates/js/translated/stock.js:258 msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:314 +#: templates/js/translated/stock.js:298 msgid "You must select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:339 -msgid "Stock transaction notes" -msgstr "" - -#: templates/js/translated/stock.js:477 +#: templates/js/translated/stock.js:456 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:479 +#: templates/js/translated/stock.js:458 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:484 +#: templates/js/translated/stock.js:463 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:510 +#: templates/js/translated/stock.js:489 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:536 +#: templates/js/translated/stock.js:515 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:584 +#: templates/js/translated/stock.js:563 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:691 +#: templates/js/translated/stock.js:670 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:695 +#: templates/js/translated/stock.js:674 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:703 +#: templates/js/translated/stock.js:678 +msgid "Shipped to customer" +msgstr "" + +#: templates/js/translated/stock.js:682 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:865 +#: templates/js/translated/stock.js:688 +msgid "No stock location set" +msgstr "" + +#: templates/js/translated/stock.js:844 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:870 +#: templates/js/translated/stock.js:849 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:873 +#: templates/js/translated/stock.js:852 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:877 +#: templates/js/translated/stock.js:856 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:879 +#: templates/js/translated/stock.js:858 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:883 +#: templates/js/translated/stock.js:862 msgid "Stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:887 +#: templates/js/translated/stock.js:866 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:894 +#: templates/js/translated/stock.js:873 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:896 +#: templates/js/translated/stock.js:875 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:898 +#: templates/js/translated/stock.js:877 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:902 +#: templates/js/translated/stock.js:881 #: templates/js/translated/table_filters.js:161 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:956 +#: templates/js/translated/stock.js:935 msgid "Stocktake" msgstr "" -#: templates/js/translated/stock.js:1029 +#: templates/js/translated/stock.js:1008 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:1067 +#: templates/js/translated/stock.js:1046 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:1088 templates/js/translated/stock.js:1136 +#: templates/js/translated/stock.js:1067 templates/js/translated/stock.js:1115 msgid "items" msgstr "" -#: templates/js/translated/stock.js:1176 +#: templates/js/translated/stock.js:1155 msgid "batches" msgstr "" -#: templates/js/translated/stock.js:1203 +#: templates/js/translated/stock.js:1182 msgid "locations" msgstr "" -#: templates/js/translated/stock.js:1205 +#: templates/js/translated/stock.js:1184 msgid "Undefined location" msgstr "" -#: templates/js/translated/stock.js:1364 -msgid "Stock Status" -msgstr "" - -#: templates/js/translated/stock.js:1379 +#: templates/js/translated/stock.js:1358 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:1393 +#: templates/js/translated/stock.js:1372 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:1394 +#: templates/js/translated/stock.js:1373 msgid "Status code must be selected" msgstr "" -#: templates/js/translated/stock.js:1533 +#: templates/js/translated/stock.js:1512 msgid "Invalid date" msgstr "" -#: templates/js/translated/stock.js:1580 +#: templates/js/translated/stock.js:1559 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:1599 +#: templates/js/translated/stock.js:1578 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:1618 +#: templates/js/translated/stock.js:1597 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:1636 +#: templates/js/translated/stock.js:1615 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:1659 +#: templates/js/translated/stock.js:1638 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:1667 +#: templates/js/translated/stock.js:1646 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:1708 +#: templates/js/translated/stock.js:1687 msgid "Edit tracking entry" msgstr "" -#: templates/js/translated/stock.js:1709 +#: templates/js/translated/stock.js:1688 msgid "Delete tracking entry" msgstr "" -#: templates/js/translated/stock.js:1833 +#: templates/js/translated/stock.js:1812 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:1856 +#: templates/js/translated/stock.js:1835 msgid "Serial" msgstr "" -#: templates/js/translated/stock.js:1884 +#: templates/js/translated/stock.js:1863 msgid "Uninstall Stock Item" msgstr "" @@ -7808,7 +8034,7 @@ msgstr "" #: templates/js/translated/table_filters.js:103 #: templates/js/translated/table_filters.js:104 -#: templates/js/translated/table_filters.js:327 +#: templates/js/translated/table_filters.js:336 msgid "Include subcategories" msgstr "" @@ -7850,7 +8076,7 @@ msgid "Batch code" msgstr "" #: templates/js/translated/table_filters.js:141 -#: templates/js/translated/table_filters.js:317 +#: templates/js/translated/table_filters.js:326 msgid "Active parts" msgstr "" @@ -7935,89 +8161,89 @@ msgstr "" msgid "Build status" msgstr "" -#: templates/js/translated/table_filters.js:282 -#: templates/js/translated/table_filters.js:299 +#: templates/js/translated/table_filters.js:291 +#: templates/js/translated/table_filters.js:308 msgid "Order status" msgstr "" -#: templates/js/translated/table_filters.js:287 -#: templates/js/translated/table_filters.js:304 +#: templates/js/translated/table_filters.js:296 +#: templates/js/translated/table_filters.js:313 msgid "Outstanding" msgstr "" -#: templates/js/translated/table_filters.js:328 +#: templates/js/translated/table_filters.js:337 msgid "Include parts in subcategories" msgstr "" -#: templates/js/translated/table_filters.js:332 +#: templates/js/translated/table_filters.js:341 msgid "Has IPN" msgstr "A un IPN" -#: templates/js/translated/table_filters.js:333 +#: templates/js/translated/table_filters.js:342 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:338 +#: templates/js/translated/table_filters.js:347 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:346 +#: templates/js/translated/table_filters.js:355 msgid "Stock available" msgstr "" -#: templates/js/translated/table_filters.js:362 +#: templates/js/translated/table_filters.js:371 msgid "Starred" msgstr "" -#: templates/js/translated/table_filters.js:374 +#: templates/js/translated/table_filters.js:383 msgid "Purchasable" msgstr "" -#: templates/js/translated/tables.js:357 +#: templates/js/translated/tables.js:366 msgid "Loading data" msgstr "" -#: templates/js/translated/tables.js:360 +#: templates/js/translated/tables.js:369 msgid "rows per page" msgstr "" -#: templates/js/translated/tables.js:363 +#: templates/js/translated/tables.js:372 msgid "Showing" msgstr "" -#: templates/js/translated/tables.js:363 +#: templates/js/translated/tables.js:372 msgid "to" msgstr "" -#: templates/js/translated/tables.js:363 +#: templates/js/translated/tables.js:372 msgid "of" msgstr "" -#: templates/js/translated/tables.js:363 +#: templates/js/translated/tables.js:372 msgid "rows" msgstr "" -#: templates/js/translated/tables.js:369 +#: templates/js/translated/tables.js:378 msgid "No matching results" msgstr "" -#: templates/js/translated/tables.js:372 +#: templates/js/translated/tables.js:381 msgid "Hide/Show pagination" msgstr "" -#: templates/js/translated/tables.js:375 +#: templates/js/translated/tables.js:384 msgid "Refresh" msgstr "" -#: templates/js/translated/tables.js:378 +#: templates/js/translated/tables.js:387 msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:381 +#: templates/js/translated/tables.js:390 msgid "Columns" msgstr "" -#: templates/js/translated/tables.js:384 +#: templates/js/translated/tables.js:393 msgid "All" msgstr "" @@ -8033,19 +8259,15 @@ msgstr "" msgid "Sell" msgstr "" -#: templates/navbar.html:87 users/models.py:39 +#: templates/navbar.html:83 users/models.py:39 msgid "Admin" msgstr "" -#: templates/navbar.html:89 +#: templates/navbar.html:85 msgid "Logout" msgstr "" -#: templates/navbar.html:91 templates/registration/login.html:89 -msgid "Login" -msgstr "" - -#: templates/navbar.html:114 +#: templates/navbar.html:106 msgid "About InvenTree" msgstr "" @@ -8053,68 +8275,12 @@ msgstr "" msgid "QR data not provided" msgstr "" -#: templates/registration/logged_out.html:50 -msgid "You have been logged out" +#: templates/registration/logged_out.html:6 +msgid "You were logged out successfully." msgstr "" -#: templates/registration/logged_out.html:51 -#: templates/registration/password_reset_complete.html:51 -#: templates/registration/password_reset_done.html:58 -msgid "Return to login screen" -msgstr "" - -#: templates/registration/login.html:64 -msgid "Enter username" -msgstr "" - -#: templates/registration/login.html:70 -msgid "Password" -msgstr "" - -#: templates/registration/login.html:83 -msgid "Username / password combination is incorrect" -msgstr "" - -#: templates/registration/login.html:95 -#: templates/registration/password_reset_form.html:51 -msgid "Forgotten your password?" -msgstr "" - -#: templates/registration/login.html:95 -msgid "Click here to reset" -msgstr "" - -#: templates/registration/password_reset_complete.html:50 -msgid "Password reset complete" -msgstr "" - -#: templates/registration/password_reset_confirm.html:52 -#: templates/registration/password_reset_confirm.html:56 -msgid "Change password" -msgstr "" - -#: templates/registration/password_reset_confirm.html:60 -msgid "The password reset link was invalid, possibly because it has already been used. Please request a new password reset." -msgstr "" - -#: templates/registration/password_reset_done.html:51 -msgid "We've emailed you instructions for setting your password, if an account exists with the email you entered. You should receive them shortly." -msgstr "" - -#: templates/registration/password_reset_done.html:54 -msgid "If you don't receive an email, please make sure you've entered the address you registered with, and check your spam folder." -msgstr "" - -#: templates/registration/password_reset_form.html:52 -msgid "Enter your email address below." -msgstr "" - -#: templates/registration/password_reset_form.html:53 -msgid "An email will be sent with password reset instructions." -msgstr "" - -#: templates/registration/password_reset_form.html:58 -msgid "Send email" +#: templates/registration/logged_out.html:8 +msgid "Log in again" msgstr "" #: templates/stats.html:13 @@ -8169,6 +8335,10 @@ msgstr "" msgid "Export Stock Information" msgstr "" +#: templates/stock_table.html:20 +msgid "New Stock Item" +msgstr "" + #: templates/stock_table.html:27 msgid "Barcode Actions" msgstr "" @@ -8249,35 +8419,35 @@ msgstr "" msgid "Important dates" msgstr "" -#: users/models.py:177 +#: users/models.py:182 msgid "Permission set" msgstr "" -#: users/models.py:185 +#: users/models.py:190 msgid "Group" msgstr "" -#: users/models.py:188 +#: users/models.py:193 msgid "View" msgstr "" -#: users/models.py:188 +#: users/models.py:193 msgid "Permission to view items" msgstr "" -#: users/models.py:190 +#: users/models.py:195 msgid "Permission to add items" msgstr "" -#: users/models.py:192 +#: users/models.py:197 msgid "Change" msgstr "" -#: users/models.py:192 +#: users/models.py:197 msgid "Permissions to edit items" msgstr "" -#: users/models.py:194 +#: users/models.py:199 msgid "Permission to delete items" msgstr "" diff --git a/InvenTree/locale/he/LC_MESSAGES/django.po b/InvenTree/locale/he/LC_MESSAGES/django.po index fc12e2bd83..049d8cac93 100644 --- a/InvenTree/locale/he/LC_MESSAGES/django.po +++ b/InvenTree/locale/he/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-09-12 13:15+0000\n" -"PO-Revision-Date: 2021-09-12 13:44\n" +"POT-Creation-Date: 2021-10-11 06:21+0000\n" +"PO-Revision-Date: 2021-10-11 06:28\n" "Last-Translator: \n" "Language-Team: Hebrew\n" "Language: he_IL\n" @@ -33,48 +33,61 @@ msgstr "" msgid "Enter date" msgstr "" -#: InvenTree/forms.py:111 build/forms.py:102 build/forms.py:123 -#: build/forms.py:145 build/forms.py:169 build/forms.py:185 build/forms.py:227 -#: order/forms.py:30 order/forms.py:41 order/forms.py:52 order/forms.py:63 -#: order/forms.py:74 part/forms.py:108 templates/js/translated/forms.js:564 +#: InvenTree/forms.py:116 build/forms.py:102 build/forms.py:123 +#: build/forms.py:145 build/forms.py:173 build/forms.py:215 order/forms.py:27 +#: order/forms.py:38 order/forms.py:49 order/forms.py:60 order/forms.py:71 +#: part/forms.py:108 templates/account/email_confirm.html:20 +#: templates/js/translated/forms.js:564 msgid "Confirm" msgstr "" -#: InvenTree/forms.py:127 +#: InvenTree/forms.py:132 msgid "Confirm delete" msgstr "" -#: InvenTree/forms.py:128 +#: InvenTree/forms.py:133 msgid "Confirm item deletion" msgstr "" -#: InvenTree/forms.py:160 templates/registration/login.html:76 +#: InvenTree/forms.py:164 msgid "Enter password" msgstr "" -#: InvenTree/forms.py:161 +#: InvenTree/forms.py:165 msgid "Enter new password" msgstr "" -#: InvenTree/forms.py:168 +#: InvenTree/forms.py:172 msgid "Confirm password" msgstr "" -#: InvenTree/forms.py:169 +#: InvenTree/forms.py:173 msgid "Confirm new password" msgstr "" -#: InvenTree/forms.py:201 +#: InvenTree/forms.py:205 msgid "Select Category" msgstr "" +#: InvenTree/forms.py:226 +msgid "E-mail (again)" +msgstr "" + +#: InvenTree/forms.py:230 +msgid "E-mail address confirmation" +msgstr "" + +#: InvenTree/forms.py:250 +msgid "You must type the same email each time." +msgstr "" + #: InvenTree/helpers.py:401 #, python-brace-format msgid "Duplicate serial: {n}" msgstr "" -#: InvenTree/helpers.py:408 order/models.py:315 order/models.py:430 -#: stock/views.py:1363 +#: InvenTree/helpers.py:408 order/models.py:315 order/models.py:437 +#: stock/views.py:1340 msgid "Invalid quantity provided" msgstr "" @@ -102,7 +115,7 @@ msgstr "" msgid "Number of unique serial number ({s}) must match quantity ({q})" msgstr "" -#: InvenTree/models.py:66 stock/models.py:1826 +#: InvenTree/models.py:66 stock/models.py:1823 msgid "Attachment" msgstr "" @@ -118,10 +131,10 @@ msgstr "" msgid "File comment" msgstr "" -#: InvenTree/models.py:75 InvenTree/models.py:76 common/models.py:993 -#: common/models.py:994 part/models.py:2051 +#: InvenTree/models.py:75 InvenTree/models.py:76 common/models.py:1055 +#: common/models.py:1056 part/models.py:2055 #: report/templates/report/inventree_test_report_base.html:91 -#: templates/js/translated/stock.js:1690 +#: templates/js/translated/stock.js:1669 msgid "User" msgstr "" @@ -158,37 +171,34 @@ msgstr "" msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:200 InvenTree/models.py:201 company/models.py:414 -#: label/models.py:112 part/models.py:658 part/models.py:2212 +#: InvenTree/models.py:200 InvenTree/models.py:201 company/models.py:415 +#: label/models.py:112 part/models.py:659 part/models.py:2216 #: part/templates/part/part_base.html:241 report/models.py:181 -#: templates/InvenTree/search.html:137 templates/InvenTree/search.html:289 -#: templates/js/translated/company.js:636 templates/js/translated/part.js:466 -#: templates/js/translated/part.js:603 templates/js/translated/part.js:1130 -#: templates/js/translated/stock.js:1483 +#: templates/js/translated/company.js:637 templates/js/translated/part.js:477 +#: templates/js/translated/part.js:614 templates/js/translated/part.js:1141 +#: templates/js/translated/stock.js:1462 msgid "Name" msgstr "" -#: InvenTree/models.py:207 build/models.py:187 -#: build/templates/build/detail.html:24 company/models.py:353 -#: company/models.py:569 company/templates/company/manufacturer_part.html:76 +#: InvenTree/models.py:207 build/models.py:189 +#: build/templates/build/detail.html:24 company/models.py:354 +#: company/models.py:570 company/templates/company/manufacturer_part.html:76 #: company/templates/company/supplier_part.html:75 label/models.py:119 -#: order/models.py:158 part/models.py:681 +#: order/models.py:158 part/models.py:682 #: part/templates/part/part_base.html:246 #: part/templates/part/set_category.html:14 report/models.py:194 #: report/models.py:551 report/models.py:590 #: report/templates/report/inventree_build_order_base.html:118 -#: templates/InvenTree/search.html:144 templates/InvenTree/search.html:224 -#: templates/InvenTree/search.html:296 #: templates/InvenTree/settings/header.html:9 -#: templates/js/translated/bom.js:230 templates/js/translated/build.js:891 -#: templates/js/translated/build.js:1179 templates/js/translated/company.js:344 -#: templates/js/translated/company.js:546 -#: templates/js/translated/company.js:834 templates/js/translated/order.js:341 -#: templates/js/translated/order.js:486 templates/js/translated/order.js:710 -#: templates/js/translated/part.js:525 templates/js/translated/part.js:713 -#: templates/js/translated/part.js:902 templates/js/translated/part.js:1142 -#: templates/js/translated/part.js:1210 templates/js/translated/stock.js:840 -#: templates/js/translated/stock.js:1495 templates/js/translated/stock.js:1540 +#: templates/js/translated/bom.js:249 templates/js/translated/build.js:1217 +#: templates/js/translated/build.js:1505 templates/js/translated/company.js:344 +#: templates/js/translated/company.js:547 +#: templates/js/translated/company.js:836 templates/js/translated/order.js:672 +#: templates/js/translated/order.js:832 templates/js/translated/order.js:1056 +#: templates/js/translated/part.js:536 templates/js/translated/part.js:724 +#: templates/js/translated/part.js:913 templates/js/translated/part.js:1153 +#: templates/js/translated/part.js:1221 templates/js/translated/stock.js:819 +#: templates/js/translated/stock.js:1474 templates/js/translated/stock.js:1519 msgid "Description" msgstr "" @@ -200,7 +210,7 @@ msgstr "" msgid "parent" msgstr "" -#: InvenTree/serializers.py:55 part/models.py:2454 +#: InvenTree/serializers.py:55 part/models.py:2475 msgid "Must be a valid number" msgstr "" @@ -208,75 +218,75 @@ msgstr "" msgid "Filename" msgstr "" -#: InvenTree/settings.py:523 +#: InvenTree/settings.py:529 msgid "German" msgstr "" -#: InvenTree/settings.py:524 +#: InvenTree/settings.py:530 msgid "Greek" msgstr "" -#: InvenTree/settings.py:525 +#: InvenTree/settings.py:531 msgid "English" msgstr "" -#: InvenTree/settings.py:526 +#: InvenTree/settings.py:532 msgid "Spanish" msgstr "" -#: InvenTree/settings.py:527 +#: InvenTree/settings.py:533 msgid "French" msgstr "" -#: InvenTree/settings.py:528 +#: InvenTree/settings.py:534 msgid "Hebrew" msgstr "" -#: InvenTree/settings.py:529 +#: InvenTree/settings.py:535 msgid "Italian" msgstr "" -#: InvenTree/settings.py:530 +#: InvenTree/settings.py:536 msgid "Japanese" msgstr "" -#: InvenTree/settings.py:531 +#: InvenTree/settings.py:537 msgid "Korean" msgstr "" -#: InvenTree/settings.py:532 +#: InvenTree/settings.py:538 msgid "Dutch" msgstr "" -#: InvenTree/settings.py:533 +#: InvenTree/settings.py:539 msgid "Norwegian" msgstr "" -#: InvenTree/settings.py:534 +#: InvenTree/settings.py:540 msgid "Polish" msgstr "" -#: InvenTree/settings.py:535 +#: InvenTree/settings.py:541 msgid "Russian" msgstr "" -#: InvenTree/settings.py:536 +#: InvenTree/settings.py:542 msgid "Swedish" msgstr "" -#: InvenTree/settings.py:537 +#: InvenTree/settings.py:543 msgid "Thai" msgstr "" -#: InvenTree/settings.py:538 +#: InvenTree/settings.py:544 msgid "Turkish" msgstr "" -#: InvenTree/settings.py:539 +#: InvenTree/settings.py:545 msgid "Vietnamese" msgstr "" -#: InvenTree/settings.py:540 +#: InvenTree/settings.py:546 msgid "Chinese" msgstr "" @@ -321,7 +331,7 @@ msgid "Returned" msgstr "" #: InvenTree/status_codes.py:146 -#: order/templates/order/sales_order_base.html:126 +#: order/templates/order/sales_order_base.html:131 msgid "Shipped" msgstr "" @@ -461,27 +471,27 @@ msgstr "" msgid "Overage must be an integer value or a percentage" msgstr "" -#: InvenTree/views.py:610 +#: InvenTree/views.py:616 msgid "Delete Item" msgstr "" -#: InvenTree/views.py:659 +#: InvenTree/views.py:665 msgid "Check box to confirm item deletion" msgstr "" -#: InvenTree/views.py:674 templates/InvenTree/settings/user.html:14 +#: InvenTree/views.py:680 templates/InvenTree/settings/user.html:18 msgid "Edit User Information" msgstr "" -#: InvenTree/views.py:685 templates/InvenTree/settings/user.html:18 +#: InvenTree/views.py:691 templates/InvenTree/settings/user.html:22 msgid "Set Password" msgstr "" -#: InvenTree/views.py:704 +#: InvenTree/views.py:710 msgid "Password fields must match" msgstr "" -#: InvenTree/views.py:910 templates/navbar.html:105 +#: InvenTree/views.py:954 templates/navbar.html:97 msgid "System Information" msgstr "" @@ -525,6 +535,10 @@ msgstr "" msgid "Barcode associated with StockItem" msgstr "" +#: build/api.py:213 +msgid "Matching build order does not exist" +msgstr "" + #: build/forms.py:37 msgid "Build Order reference" msgstr "" @@ -536,33 +550,28 @@ msgstr "" #: build/forms.py:42 build/templates/build/build_base.html:146 #: build/templates/build/detail.html:124 #: order/templates/order/order_base.html:124 -#: order/templates/order/sales_order_base.html:119 +#: order/templates/order/sales_order_base.html:124 #: report/templates/report/inventree_build_order_base.html:126 -#: templates/js/translated/build.js:962 templates/js/translated/order.js:358 -#: templates/js/translated/order.js:728 +#: templates/js/translated/build.js:1288 templates/js/translated/order.js:689 +#: templates/js/translated/order.js:1074 msgid "Target Date" msgstr "" -#: build/forms.py:43 build/models.py:277 +#: build/forms.py:43 build/models.py:279 msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/forms.py:48 build/forms.py:90 build/forms.py:266 build/models.py:1402 +#: build/forms.py:48 build/forms.py:90 build/models.py:1281 #: build/templates/build/allocation_card.html:23 -#: build/templates/build/auto_allocate.html:17 #: build/templates/build/build_base.html:133 -#: build/templates/build/detail.html:34 common/models.py:1025 +#: build/templates/build/detail.html:34 common/models.py:1087 #: company/forms.py:42 company/templates/company/supplier_part.html:226 -#: order/forms.py:120 order/forms.py:142 order/forms.py:159 order/models.py:712 -#: order/models.py:964 order/templates/order/order_wizard/match_parts.html:30 -#: order/templates/order/order_wizard/select_parts.html:34 -#: order/templates/order/sales_order_detail.html:201 -#: order/templates/order/sales_order_detail.html:208 -#: order/templates/order/sales_order_detail.html:293 -#: order/templates/order/sales_order_detail.html:365 part/forms.py:249 -#: part/forms.py:265 part/forms.py:281 part/models.py:2356 +#: order/forms.py:101 order/forms.py:123 order/models.py:720 +#: order/models.py:982 order/templates/order/order_wizard/match_parts.html:30 +#: order/templates/order/order_wizard/select_parts.html:34 part/forms.py:249 +#: part/forms.py:265 part/forms.py:281 part/models.py:2377 #: part/templates/part/bom_upload/match_parts.html:31 -#: part/templates/part/detail.html:973 part/templates/part/detail.html:1059 +#: part/templates/part/detail.html:944 part/templates/part/detail.html:1030 #: part/templates/part/part_pricing.html:16 #: report/templates/report/inventree_build_order_base.html:114 #: report/templates/report/inventree_po_report.html:91 @@ -570,14 +579,16 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:77 #: stock/forms.py:140 stock/templates/stock/item_base.html:269 #: stock/templates/stock/stock_adjust.html:18 -#: templates/js/translated/barcode.js:386 templates/js/translated/bom.js:245 -#: templates/js/translated/build.js:298 templates/js/translated/build.js:629 -#: templates/js/translated/build.js:1189 -#: templates/js/translated/model_renderers.js:59 -#: templates/js/translated/order.js:522 templates/js/translated/order.js:824 -#: templates/js/translated/part.js:1317 templates/js/translated/part.js:1440 -#: templates/js/translated/part.js:1518 templates/js/translated/stock.js:1675 -#: templates/js/translated/stock.js:1850 +#: templates/js/translated/barcode.js:386 templates/js/translated/bom.js:264 +#: templates/js/translated/build.js:314 templates/js/translated/build.js:638 +#: templates/js/translated/build.js:977 templates/js/translated/build.js:1515 +#: templates/js/translated/model_renderers.js:74 +#: templates/js/translated/order.js:868 templates/js/translated/order.js:1170 +#: templates/js/translated/order.js:1248 templates/js/translated/order.js:1255 +#: templates/js/translated/order.js:1344 templates/js/translated/order.js:1444 +#: templates/js/translated/part.js:1364 templates/js/translated/part.js:1487 +#: templates/js/translated/part.js:1565 templates/js/translated/stock.js:1654 +#: templates/js/translated/stock.js:1829 msgid "Quantity" msgstr "" @@ -589,7 +600,7 @@ msgstr "" msgid "Enter quantity for build output" msgstr "" -#: build/forms.py:95 order/forms.py:114 stock/forms.py:83 +#: build/forms.py:95 order/forms.py:95 stock/forms.py:83 msgid "Serial Numbers" msgstr "" @@ -609,246 +620,238 @@ msgstr "" msgid "Confirm unallocation of stock" msgstr "" -#: build/forms.py:169 -msgid "Confirm stock allocation" -msgstr "" - -#: build/forms.py:186 +#: build/forms.py:174 msgid "Mark build as complete" msgstr "" -#: build/forms.py:210 build/templates/build/auto_allocate.html:18 -#: order/serializers.py:216 order/serializers.py:275 stock/forms.py:280 +#: build/forms.py:198 order/serializers.py:217 order/serializers.py:284 +#: stock/forms.py:280 stock/serializers.py:553 #: stock/templates/stock/item_base.html:299 #: stock/templates/stock/stock_adjust.html:17 -#: templates/InvenTree/search.html:260 templates/js/translated/barcode.js:385 -#: templates/js/translated/barcode.js:555 templates/js/translated/build.js:283 -#: templates/js/translated/build.js:643 templates/js/translated/order.js:809 -#: templates/js/translated/part.js:174 templates/js/translated/stock.js:203 -#: templates/js/translated/stock.js:329 templates/js/translated/stock.js:942 -#: templates/js/translated/stock.js:1567 +#: templates/js/translated/barcode.js:385 +#: templates/js/translated/barcode.js:555 templates/js/translated/build.js:299 +#: templates/js/translated/build.js:650 templates/js/translated/order.js:347 +#: templates/js/translated/order.js:1155 templates/js/translated/order.js:1263 +#: templates/js/translated/order.js:1269 templates/js/translated/part.js:179 +#: templates/js/translated/stock.js:183 templates/js/translated/stock.js:921 +#: templates/js/translated/stock.js:1546 msgid "Location" msgstr "" -#: build/forms.py:211 +#: build/forms.py:199 msgid "Location of completed parts" msgstr "" -#: build/forms.py:215 build/templates/build/build_base.html:138 -#: build/templates/build/detail.html:62 order/models.py:555 -#: order/serializers.py:230 order/templates/order/receive_parts.html:24 -#: stock/templates/stock/item_base.html:422 templates/InvenTree/search.html:252 -#: templates/js/translated/barcode.js:141 templates/js/translated/build.js:925 -#: templates/js/translated/order.js:345 templates/js/translated/order.js:715 -#: templates/js/translated/stock.js:917 templates/js/translated/stock.js:1644 -#: templates/js/translated/stock.js:1866 +#: build/forms.py:203 build/templates/build/build_base.html:138 +#: build/templates/build/detail.html:62 order/models.py:563 +#: order/serializers.py:238 stock/templates/stock/item_base.html:422 +#: templates/js/translated/barcode.js:141 templates/js/translated/build.js:1251 +#: templates/js/translated/order.js:430 templates/js/translated/order.js:676 +#: templates/js/translated/order.js:1061 templates/js/translated/stock.js:896 +#: templates/js/translated/stock.js:1623 templates/js/translated/stock.js:1845 msgid "Status" msgstr "" -#: build/forms.py:216 +#: build/forms.py:204 msgid "Build output stock status" msgstr "" -#: build/forms.py:223 +#: build/forms.py:211 msgid "Confirm incomplete" msgstr "" -#: build/forms.py:224 +#: build/forms.py:212 msgid "Confirm completion with incomplete stock allocation" msgstr "" -#: build/forms.py:227 +#: build/forms.py:215 msgid "Confirm build completion" msgstr "" -#: build/forms.py:252 +#: build/forms.py:240 msgid "Confirm cancel" msgstr "" -#: build/forms.py:252 build/views.py:65 +#: build/forms.py:240 build/views.py:65 msgid "Confirm build cancellation" msgstr "" -#: build/forms.py:266 -msgid "Select quantity of stock to allocate" -msgstr "" - -#: build/models.py:113 +#: build/models.py:115 msgid "Invalid choice for parent build" msgstr "" -#: build/models.py:117 build/templates/build/build_base.html:9 +#: build/models.py:119 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:73 #: report/templates/report/inventree_build_order_base.html:106 -#: templates/js/translated/build.js:260 +#: templates/js/translated/build.js:276 msgid "Build Order" msgstr "" -#: build/models.py:118 build/templates/build/index.html:8 +#: build/models.py:120 build/templates/build/index.html:8 #: build/templates/build/index.html:15 #: order/templates/order/sales_order_detail.html:34 #: order/templates/order/so_navbar.html:19 #: order/templates/order/so_navbar.html:22 part/templates/part/navbar.html:50 #: part/templates/part/navbar.html:53 templates/InvenTree/index.html:229 -#: templates/InvenTree/search.html:185 -#: templates/InvenTree/settings/navbar.html:101 -#: templates/InvenTree/settings/navbar.html:103 users/models.py:44 +#: templates/InvenTree/search.html:171 +#: templates/InvenTree/settings/navbar.html:113 +#: templates/InvenTree/settings/navbar.html:115 users/models.py:44 msgid "Build Orders" msgstr "" -#: build/models.py:178 +#: build/models.py:180 msgid "Build Order Reference" msgstr "" -#: build/models.py:179 order/models.py:246 order/models.py:539 -#: order/models.py:719 order/templates/order/sales_order_detail.html:360 -#: part/models.py:2365 part/templates/part/bom_upload/match_parts.html:30 +#: build/models.py:181 order/models.py:246 order/models.py:547 +#: order/models.py:727 part/models.py:2386 +#: part/templates/part/bom_upload/match_parts.html:30 #: report/templates/report/inventree_po_report.html:92 #: report/templates/report/inventree_so_report.html:92 -#: templates/js/translated/bom.js:237 templates/js/translated/build.js:718 -#: templates/js/translated/build.js:1183 templates/js/translated/order.js:517 +#: templates/js/translated/bom.js:256 templates/js/translated/build.js:734 +#: templates/js/translated/build.js:1509 templates/js/translated/order.js:863 +#: templates/js/translated/order.js:1438 msgid "Reference" msgstr "" -#: build/models.py:190 +#: build/models.py:192 msgid "Brief description of the build" msgstr "" -#: build/models.py:199 build/templates/build/build_base.html:163 +#: build/models.py:201 build/templates/build/build_base.html:163 #: build/templates/build/detail.html:80 msgid "Parent Build" msgstr "" -#: build/models.py:200 +#: build/models.py:202 msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:205 build/templates/build/auto_allocate.html:16 -#: build/templates/build/build_base.html:128 -#: build/templates/build/detail.html:29 company/models.py:704 -#: order/models.py:772 order/models.py:837 -#: order/templates/order/order_wizard/select_parts.html:32 -#: order/templates/order/receive_parts.html:19 -#: order/templates/order/sales_order_detail.html:345 part/models.py:297 -#: part/models.py:1996 part/models.py:2012 part/models.py:2031 -#: part/models.py:2049 part/models.py:2128 part/models.py:2250 -#: part/models.py:2340 part/templates/part/detail.html:199 +#: build/models.py:207 build/templates/build/build_base.html:128 +#: build/templates/build/detail.html:29 company/models.py:705 +#: order/models.py:780 order/models.py:851 +#: order/templates/order/order_wizard/select_parts.html:32 part/models.py:298 +#: part/models.py:2000 part/models.py:2016 part/models.py:2035 +#: part/models.py:2053 part/models.py:2132 part/models.py:2254 +#: part/models.py:2361 part/templates/part/detail.html:199 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/set_category.html:13 #: report/templates/report/inventree_build_order_base.html:110 #: report/templates/report/inventree_po_report.html:90 #: report/templates/report/inventree_so_report.html:90 -#: templates/InvenTree/search.html:112 templates/InvenTree/search.html:210 -#: templates/js/translated/barcode.js:384 templates/js/translated/bom.js:203 -#: templates/js/translated/build.js:609 templates/js/translated/build.js:896 -#: templates/js/translated/build.js:1156 templates/js/translated/company.js:487 -#: templates/js/translated/company.js:743 templates/js/translated/order.js:471 -#: templates/js/translated/part.js:694 templates/js/translated/part.js:864 -#: templates/js/translated/stock.js:201 templates/js/translated/stock.js:797 -#: templates/js/translated/stock.js:1838 +#: templates/InvenTree/search.html:112 templates/js/translated/barcode.js:384 +#: templates/js/translated/bom.js:222 templates/js/translated/build.js:611 +#: templates/js/translated/build.js:974 templates/js/translated/build.js:1222 +#: templates/js/translated/build.js:1482 templates/js/translated/company.js:488 +#: templates/js/translated/company.js:745 templates/js/translated/order.js:425 +#: templates/js/translated/order.js:817 templates/js/translated/order.js:1422 +#: templates/js/translated/part.js:705 templates/js/translated/part.js:875 +#: templates/js/translated/stock.js:181 templates/js/translated/stock.js:776 +#: templates/js/translated/stock.js:1817 msgid "Part" msgstr "" -#: build/models.py:213 +#: build/models.py:215 msgid "Select part to build" msgstr "" -#: build/models.py:218 +#: build/models.py:220 msgid "Sales Order Reference" msgstr "" -#: build/models.py:222 +#: build/models.py:224 msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:227 +#: build/models.py:229 templates/js/translated/build.js:962 msgid "Source Location" msgstr "" -#: build/models.py:231 +#: build/models.py:233 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "" -#: build/models.py:236 +#: build/models.py:238 msgid "Destination Location" msgstr "" -#: build/models.py:240 +#: build/models.py:242 msgid "Select location where the completed items will be stored" msgstr "" -#: build/models.py:244 +#: build/models.py:246 msgid "Build Quantity" msgstr "" -#: build/models.py:247 +#: build/models.py:249 msgid "Number of stock items to build" msgstr "" -#: build/models.py:251 +#: build/models.py:253 msgid "Completed items" msgstr "" -#: build/models.py:253 +#: build/models.py:255 msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:257 part/templates/part/part_base.html:198 +#: build/models.py:259 part/templates/part/part_base.html:198 msgid "Build Status" msgstr "" -#: build/models.py:261 +#: build/models.py:263 msgid "Build status code" msgstr "" -#: build/models.py:265 stock/models.py:513 +#: build/models.py:267 stock/models.py:513 msgid "Batch Code" msgstr "" -#: build/models.py:269 +#: build/models.py:271 msgid "Batch code for this build output" msgstr "" -#: build/models.py:272 order/models.py:162 part/models.py:853 -#: part/templates/part/part_base.html:272 templates/js/translated/order.js:723 +#: build/models.py:274 order/models.py:162 part/models.py:854 +#: part/templates/part/part_base.html:272 templates/js/translated/order.js:1069 msgid "Creation Date" msgstr "" -#: build/models.py:276 order/models.py:561 +#: build/models.py:278 order/models.py:569 msgid "Target completion date" msgstr "" -#: build/models.py:280 order/models.py:288 templates/js/translated/build.js:967 +#: build/models.py:282 order/models.py:288 +#: templates/js/translated/build.js:1293 msgid "Completion Date" msgstr "" -#: build/models.py:286 +#: build/models.py:288 msgid "completed by" msgstr "" -#: build/models.py:294 templates/js/translated/build.js:938 +#: build/models.py:296 templates/js/translated/build.js:1264 msgid "Issued by" msgstr "" -#: build/models.py:295 +#: build/models.py:297 msgid "User who issued this build order" msgstr "" -#: build/models.py:303 build/templates/build/build_base.html:184 +#: build/models.py:305 build/templates/build/build_base.html:184 #: build/templates/build/detail.html:108 order/models.py:176 #: order/templates/order/order_base.html:138 -#: order/templates/order/sales_order_base.html:140 part/models.py:857 +#: order/templates/order/sales_order_base.html:145 part/models.py:858 #: report/templates/report/inventree_build_order_base.html:159 -#: templates/js/translated/build.js:950 +#: templates/js/translated/build.js:1276 msgid "Responsible" msgstr "" -#: build/models.py:304 +#: build/models.py:306 msgid "User responsible for this build order" msgstr "" -#: build/models.py:309 build/templates/build/detail.html:94 +#: build/models.py:311 build/templates/build/detail.html:94 #: company/templates/company/manufacturer_part.html:83 #: company/templates/company/supplier_part.html:82 #: part/templates/part/part_base.html:266 stock/models.py:507 @@ -856,140 +859,157 @@ msgstr "" msgid "External Link" msgstr "" -#: build/models.py:310 part/models.py:715 stock/models.py:509 +#: build/models.py:312 part/models.py:716 stock/models.py:509 msgid "Link to external URL" msgstr "" -#: build/models.py:314 build/templates/build/navbar.html:52 -#: company/models.py:141 company/models.py:576 +#: build/models.py:316 build/templates/build/navbar.html:52 +#: company/models.py:142 company/models.py:577 #: company/templates/company/navbar.html:69 #: company/templates/company/navbar.html:72 order/models.py:180 -#: order/models.py:721 order/templates/order/po_navbar.html:38 +#: order/models.py:729 order/templates/order/po_navbar.html:38 #: order/templates/order/po_navbar.html:41 -#: order/templates/order/sales_order_detail.html:440 #: order/templates/order/so_navbar.html:33 -#: order/templates/order/so_navbar.html:36 part/models.py:842 +#: order/templates/order/so_navbar.html:36 part/models.py:843 #: part/templates/part/detail.html:105 part/templates/part/navbar.html:120 #: part/templates/part/navbar.html:123 #: report/templates/report/inventree_build_order_base.html:173 #: stock/forms.py:138 stock/forms.py:250 stock/forms.py:282 stock/models.py:579 -#: stock/models.py:1726 stock/models.py:1832 +#: stock/models.py:1723 stock/models.py:1829 stock/serializers.py:451 #: stock/templates/stock/navbar.html:57 templates/js/translated/barcode.js:59 -#: templates/js/translated/bom.js:385 templates/js/translated/company.js:839 -#: templates/js/translated/order.js:604 templates/js/translated/stock.js:338 -#: templates/js/translated/stock.js:580 templates/js/translated/stock.js:1061 +#: templates/js/translated/bom.js:406 templates/js/translated/company.js:841 +#: templates/js/translated/order.js:950 templates/js/translated/order.js:1540 +#: templates/js/translated/stock.js:559 templates/js/translated/stock.js:1040 msgid "Notes" msgstr "" -#: build/models.py:315 +#: build/models.py:317 msgid "Extra build notes" msgstr "" -#: build/models.py:792 +#: build/models.py:714 msgid "No build output specified" msgstr "" -#: build/models.py:795 +#: build/models.py:717 msgid "Build output is already completed" msgstr "" -#: build/models.py:798 +#: build/models.py:720 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:1208 -msgid "BuildItem must be unique for build, stock_item and install_into" -msgstr "" - -#: build/models.py:1233 +#: build/models.py:1102 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1237 +#: build/models.py:1111 #, python-brace-format -msgid "Allocated quantity ({n}) must not exceed available quantity ({q})" +msgid "Allocated quantity ({q}) must not execed available stock quantity ({a})" msgstr "" -#: build/models.py:1244 order/models.py:938 -msgid "StockItem is over-allocated" +#: build/models.py:1121 +msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1248 order/models.py:941 +#: build/models.py:1127 order/models.py:955 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1252 +#: build/models.py:1133 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1312 -#, python-brace-format -msgid "Selected stock item not found in BOM for part '{p}'" +#: build/models.py:1191 +msgid "Selected stock item not found in BOM" msgstr "" -#: build/models.py:1372 stock/templates/stock/item_base.html:331 -#: templates/InvenTree/search.html:183 templates/js/translated/build.js:869 +#: build/models.py:1251 stock/templates/stock/item_base.html:331 +#: templates/InvenTree/search.html:169 templates/js/translated/build.js:1195 #: templates/navbar.html:35 msgid "Build" msgstr "" -#: build/models.py:1373 +#: build/models.py:1252 msgid "Build to allocate parts" msgstr "" -#: build/models.py:1389 stock/templates/stock/item_base.html:8 +#: build/models.py:1268 build/serializers.py:151 +#: stock/templates/stock/item_base.html:8 #: stock/templates/stock/item_base.html:31 #: stock/templates/stock/item_base.html:353 #: stock/templates/stock/stock_adjust.html:16 -#: templates/js/translated/build.js:271 templates/js/translated/build.js:276 -#: templates/js/translated/build.js:1012 templates/js/translated/order.js:797 -#: templates/js/translated/order.js:802 templates/js/translated/stock.js:1626 +#: templates/js/translated/build.js:287 templates/js/translated/build.js:292 +#: templates/js/translated/build.js:976 templates/js/translated/build.js:1338 +#: templates/js/translated/order.js:1143 templates/js/translated/order.js:1148 +#: templates/js/translated/stock.js:1605 msgid "Stock Item" msgstr "" -#: build/models.py:1390 +#: build/models.py:1269 msgid "Source stock item" msgstr "" -#: build/models.py:1403 +#: build/models.py:1282 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1411 +#: build/models.py:1290 msgid "Install into" msgstr "" -#: build/models.py:1412 +#: build/models.py:1291 msgid "Destination stock item" msgstr "" +#: build/serializers.py:133 part/models.py:2501 +msgid "BOM Item" +msgstr "" + +#: build/serializers.py:142 +msgid "bom_item.part must point to the same part as the build order" +msgstr "" + +#: build/serializers.py:157 +msgid "Item must be in stock" +msgstr "" + +#: build/serializers.py:171 order/models.py:313 order/serializers.py:231 +#: stock/models.py:351 stock/models.py:1072 +msgid "Quantity must be greater than zero" +msgstr "" + +#: build/serializers.py:180 +msgid "Build Output" +msgstr "" + +#: build/serializers.py:213 +#, python-brace-format +msgid "Available quantity ({q}) exceeded" +msgstr "" + +#: build/serializers.py:219 +msgid "Build output must be specified for allocation of tracked parts" +msgstr "" + +#: build/serializers.py:226 +msgid "Build output cannot be specified for allocation of untracked parts" +msgstr "" + +#: build/serializers.py:254 +msgid "Allocation items must be provided" +msgstr "" + #: build/templates/build/allocation_card.html:21 #: build/templates/build/complete_output.html:46 -#: order/templates/order/sales_order_detail.html:206 -#: order/templates/order/sales_order_detail.html:291 #: report/templates/report/inventree_test_report_base.html:75 #: stock/models.py:501 stock/templates/stock/item_base.html:251 -#: templates/js/translated/build.js:627 -#: templates/js/translated/model_renderers.js:57 +#: templates/js/translated/build.js:636 +#: templates/js/translated/model_renderers.js:72 +#: templates/js/translated/order.js:1253 templates/js/translated/order.js:1342 msgid "Serial Number" msgstr "" -#: build/templates/build/auto_allocate.html:9 -msgid "Automatically Allocate Stock" -msgstr "" - -#: build/templates/build/auto_allocate.html:10 -msgid "The following stock items will be allocated to the specified build output" -msgstr "" - -#: build/templates/build/auto_allocate.html:37 -msgid "No stock items found that can be automatically allocated to this build" -msgstr "" - -#: build/templates/build/auto_allocate.html:39 -msgid "Stock items will have to be manually allocated" -msgstr "" - #: build/templates/build/build_base.html:18 #, python-format msgid "This Build Order is allocated to Sales Order %(link)s" @@ -1033,10 +1053,10 @@ msgstr "" #: order/templates/order/order_base.html:32 #: order/templates/order/order_base.html:86 #: order/templates/order/sales_order_base.html:43 -#: order/templates/order/sales_order_base.html:88 +#: order/templates/order/sales_order_base.html:93 #: templates/js/translated/table_filters.js:272 -#: templates/js/translated/table_filters.js:291 -#: templates/js/translated/table_filters.js:308 +#: templates/js/translated/table_filters.js:300 +#: templates/js/translated/table_filters.js:317 msgid "Overdue" msgstr "" @@ -1086,14 +1106,14 @@ msgid "Progress" msgstr "" #: build/templates/build/build_base.html:170 -#: build/templates/build/detail.html:87 order/models.py:835 +#: build/templates/build/detail.html:87 order/models.py:848 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:35 #: order/templates/order/sales_order_ship.html:25 #: report/templates/report/inventree_build_order_base.html:136 #: report/templates/report/inventree_so_report.html:77 #: stock/templates/stock/item_base.html:293 -#: templates/js/translated/order.js:670 +#: templates/js/translated/order.js:1016 msgid "Sales Order" msgstr "" @@ -1171,28 +1191,6 @@ msgstr "" msgid "The following items will be created" msgstr "" -#: build/templates/build/create_build_item.html:7 -msgid "Select a stock item to allocate to the selected build output" -msgstr "" - -#: build/templates/build/create_build_item.html:11 -#, python-format -msgid "The allocated stock will be installed into the following build output:
%(output)s" -msgstr "" - -#: build/templates/build/create_build_item.html:17 -#, python-format -msgid "No stock available for %(part)s" -msgstr "" - -#: build/templates/build/delete_build_item.html:8 -msgid "Are you sure you want to unallocate this stock?" -msgstr "" - -#: build/templates/build/delete_build_item.html:11 -msgid "The selected stock will be unallocated from the build output" -msgstr "" - #: build/templates/build/detail.html:38 msgid "Stock Source" msgstr "" @@ -1201,9 +1199,8 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/forms.py:88 order/models.py:794 -#: order/templates/order/receive_parts.html:25 stock/forms.py:134 -#: templates/js/translated/order.js:593 +#: build/templates/build/detail.html:49 order/models.py:802 stock/forms.py:134 +#: templates/js/translated/order.js:431 templates/js/translated/order.js:939 msgid "Destination" msgstr "" @@ -1213,7 +1210,7 @@ msgstr "" #: build/templates/build/detail.html:73 #: stock/templates/stock/item_base.html:317 -#: templates/js/translated/stock.js:931 templates/js/translated/stock.js:1873 +#: templates/js/translated/stock.js:910 templates/js/translated/stock.js:1852 #: templates/js/translated/table_filters.js:129 #: templates/js/translated/table_filters.js:211 msgid "Batch" @@ -1221,8 +1218,8 @@ msgstr "" #: build/templates/build/detail.html:119 #: order/templates/order/order_base.html:111 -#: order/templates/order/sales_order_base.html:113 -#: templates/js/translated/build.js:933 +#: order/templates/order/sales_order_base.html:118 +#: templates/js/translated/build.js:1259 msgid "Created" msgstr "" @@ -1230,7 +1227,8 @@ msgstr "" msgid "No target date set" msgstr "" -#: build/templates/build/detail.html:135 templates/js/translated/build.js:911 +#: build/templates/build/detail.html:135 templates/js/translated/build.js:1237 +#: templates/js/translated/table_filters.js:282 msgid "Completed" msgstr "" @@ -1250,15 +1248,16 @@ msgstr "" msgid "Allocate stock to build" msgstr "" -#: build/templates/build/detail.html:173 -msgid "Auto Allocate" +#: build/templates/build/detail.html:173 build/templates/build/navbar.html:20 +#: build/templates/build/navbar.html:23 +msgid "Allocate Stock" msgstr "" -#: build/templates/build/detail.html:175 templates/js/translated/build.js:801 +#: build/templates/build/detail.html:175 templates/js/translated/build.js:817 msgid "Unallocate stock" msgstr "" -#: build/templates/build/detail.html:176 build/views.py:318 build/views.py:638 +#: build/templates/build/detail.html:176 build/views.py:257 msgid "Unallocate Stock" msgstr "" @@ -1268,7 +1267,7 @@ msgstr "" #: build/templates/build/detail.html:180 #: company/templates/company/detail.html:32 -#: company/templates/company/detail.html:72 order/views.py:679 +#: company/templates/company/detail.html:72 order/views.py:509 #: part/templates/part/category.html:140 msgid "Order Parts" msgstr "" @@ -1282,38 +1281,42 @@ msgid "Untracked stock has not been fully allocated for this Build Order" msgstr "" #: build/templates/build/detail.html:197 +msgid "Allocate selected items" +msgstr "" + +#: build/templates/build/detail.html:209 msgid "This Build Order does not have any associated untracked BOM items" msgstr "" -#: build/templates/build/detail.html:206 +#: build/templates/build/detail.html:218 msgid "Incomplete Build Outputs" msgstr "" -#: build/templates/build/detail.html:211 +#: build/templates/build/detail.html:223 msgid "Create new build output" msgstr "" -#: build/templates/build/detail.html:212 +#: build/templates/build/detail.html:224 msgid "Create New Output" msgstr "" -#: build/templates/build/detail.html:225 +#: build/templates/build/detail.html:237 msgid "Create a new build output" msgstr "" -#: build/templates/build/detail.html:226 +#: build/templates/build/detail.html:238 msgid "No incomplete build outputs remain." msgstr "" -#: build/templates/build/detail.html:227 +#: build/templates/build/detail.html:239 msgid "Create a new build output using the button above" msgstr "" -#: build/templates/build/detail.html:235 +#: build/templates/build/detail.html:247 msgid "Completed Build Outputs" msgstr "" -#: build/templates/build/detail.html:246 build/templates/build/navbar.html:42 +#: build/templates/build/detail.html:258 build/templates/build/navbar.html:42 #: build/templates/build/navbar.html:45 order/templates/order/po_navbar.html:35 #: order/templates/order/sales_order_detail.html:43 #: order/templates/order/so_navbar.html:29 part/templates/part/detail.html:173 @@ -1323,15 +1326,15 @@ msgstr "" msgid "Attachments" msgstr "" -#: build/templates/build/detail.html:257 +#: build/templates/build/detail.html:269 msgid "Build Notes" msgstr "" -#: build/templates/build/detail.html:261 build/templates/build/detail.html:398 +#: build/templates/build/detail.html:273 build/templates/build/detail.html:414 #: company/templates/company/detail.html:169 #: company/templates/company/detail.html:196 -#: order/templates/order/purchase_order_detail.html:62 -#: order/templates/order/purchase_order_detail.html:95 +#: order/templates/order/purchase_order_detail.html:71 +#: order/templates/order/purchase_order_detail.html:104 #: order/templates/order/sales_order_detail.html:58 #: order/templates/order/sales_order_detail.html:85 #: part/templates/part/detail.html:109 stock/templates/stock/item.html:103 @@ -1339,39 +1342,48 @@ msgstr "" msgid "Edit Notes" msgstr "" -#: build/templates/build/detail.html:357 +#: build/templates/build/detail.html:373 #: order/templates/order/po_attachments.html:79 -#: order/templates/order/purchase_order_detail.html:157 +#: order/templates/order/purchase_order_detail.html:166 #: order/templates/order/sales_order_detail.html:146 -#: part/templates/part/detail.html:920 stock/templates/stock/item.html:253 +#: part/templates/part/detail.html:891 stock/templates/stock/item.html:253 #: templates/attachment_table.html:6 msgid "Add Attachment" msgstr "" -#: build/templates/build/detail.html:376 +#: build/templates/build/detail.html:392 #: order/templates/order/po_attachments.html:51 -#: order/templates/order/purchase_order_detail.html:129 +#: order/templates/order/purchase_order_detail.html:138 #: order/templates/order/sales_order_detail.html:119 -#: part/templates/part/detail.html:874 stock/templates/stock/item.html:221 +#: part/templates/part/detail.html:845 stock/templates/stock/item.html:221 msgid "Edit Attachment" msgstr "" -#: build/templates/build/detail.html:383 +#: build/templates/build/detail.html:399 #: order/templates/order/po_attachments.html:58 -#: order/templates/order/purchase_order_detail.html:136 +#: order/templates/order/purchase_order_detail.html:145 #: order/templates/order/sales_order_detail.html:125 -#: part/templates/part/detail.html:883 stock/templates/stock/item.html:230 +#: part/templates/part/detail.html:854 stock/templates/stock/item.html:230 +#: templates/js/translated/order.js:1230 msgid "Confirm Delete Operation" msgstr "" -#: build/templates/build/detail.html:384 +#: build/templates/build/detail.html:400 #: order/templates/order/po_attachments.html:59 -#: order/templates/order/purchase_order_detail.html:137 +#: order/templates/order/purchase_order_detail.html:146 #: order/templates/order/sales_order_detail.html:126 -#: part/templates/part/detail.html:884 stock/templates/stock/item.html:231 +#: part/templates/part/detail.html:855 stock/templates/stock/item.html:231 msgid "Delete Attachment" msgstr "" +#: build/templates/build/detail.html:443 +msgid "Allocation Complete" +msgstr "" + +#: build/templates/build/detail.html:444 +msgid "All untracked stock items have been allocated" +msgstr "" + #: build/templates/build/edit_build_item.html:7 msgid "Alter the quantity of stock allocated to the build output" msgstr "" @@ -1401,15 +1413,10 @@ msgid "Build Order Details" msgstr "" #: build/templates/build/navbar.html:15 order/templates/order/po_navbar.html:15 -#: templates/js/translated/stock.js:1555 +#: templates/js/translated/stock.js:1534 msgid "Details" msgstr "" -#: build/templates/build/navbar.html:20 build/templates/build/navbar.html:23 -#: build/views.py:90 -msgid "Allocate Stock" -msgstr "" - #: build/templates/build/navbar.html:28 build/templates/build/navbar.html:31 msgid "Build Outputs" msgstr "" @@ -1434,120 +1441,82 @@ msgstr "" msgid "Build was cancelled" msgstr "" -#: build/views.py:137 -msgid "Allocated stock to build output" -msgstr "" - -#: build/views.py:149 +#: build/views.py:88 msgid "Create Build Output" msgstr "" -#: build/views.py:167 +#: build/views.py:106 msgid "Maximum output quantity is " msgstr "" -#: build/views.py:183 stock/views.py:1389 +#: build/views.py:122 stock/views.py:1366 msgid "Serial numbers already exist" msgstr "" -#: build/views.py:192 +#: build/views.py:131 msgid "Serial numbers required for trackable build output" msgstr "" -#: build/views.py:258 +#: build/views.py:197 msgid "Delete Build Output" msgstr "" -#: build/views.py:279 build/views.py:369 +#: build/views.py:218 build/views.py:308 msgid "Confirm unallocation of build stock" msgstr "" -#: build/views.py:280 build/views.py:370 stock/views.py:404 +#: build/views.py:219 build/views.py:309 stock/views.py:381 msgid "Check the confirmation box" msgstr "" -#: build/views.py:292 +#: build/views.py:231 msgid "Build output does not match build" msgstr "" -#: build/views.py:294 build/views.py:495 +#: build/views.py:233 build/views.py:434 msgid "Build output must be specified" msgstr "" -#: build/views.py:306 +#: build/views.py:245 msgid "Build output deleted" msgstr "" -#: build/views.py:404 +#: build/views.py:343 msgid "Complete Build Order" msgstr "" -#: build/views.py:410 +#: build/views.py:349 msgid "Build order cannot be completed - incomplete outputs remain" msgstr "" -#: build/views.py:421 +#: build/views.py:360 msgid "Completed build order" msgstr "" -#: build/views.py:437 +#: build/views.py:376 msgid "Complete Build Output" msgstr "" -#: build/views.py:479 +#: build/views.py:418 msgid "Invalid stock status value selected" msgstr "" -#: build/views.py:486 +#: build/views.py:425 msgid "Quantity to complete cannot exceed build output quantity" msgstr "" -#: build/views.py:492 +#: build/views.py:431 msgid "Confirm completion of incomplete build" msgstr "" -#: build/views.py:591 +#: build/views.py:530 msgid "Build output completed" msgstr "" -#: build/views.py:628 +#: build/views.py:567 msgid "Delete Build Order" msgstr "" -#: build/views.py:643 -msgid "Removed parts from build allocation" -msgstr "" - -#: build/views.py:655 -msgid "Allocate stock to build output" -msgstr "" - -#: build/views.py:698 -msgid "Item must be currently in stock" -msgstr "" - -#: build/views.py:704 -msgid "Stock item is over-allocated" -msgstr "" - -#: build/views.py:705 templates/js/translated/bom.js:269 -#: templates/js/translated/build.js:728 templates/js/translated/build.js:1019 -#: templates/js/translated/build.js:1196 -msgid "Available" -msgstr "" - -#: build/views.py:707 -msgid "Stock item must be selected" -msgstr "" - -#: build/views.py:870 -msgid "Edit Stock Allocation" -msgstr "" - -#: build/views.py:874 -msgid "Updated Build Item" -msgstr "" - #: common/files.py:67 msgid "Unsupported file format: {ext.upper()}" msgstr "" @@ -1585,7 +1554,7 @@ msgstr "" msgid "Select {name} file to upload" msgstr "" -#: common/models.py:308 common/models.py:839 common/models.py:986 +#: common/models.py:308 common/models.py:887 common/models.py:1048 msgid "Settings key (must be unique - case insensitive" msgstr "" @@ -1625,7 +1594,7 @@ msgstr "" msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:522 company/models.py:99 company/models.py:100 +#: common/models.py:522 company/models.py:100 company/models.py:101 msgid "Company name" msgstr "" @@ -1721,9 +1690,9 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:603 part/models.py:2252 report/models.py:187 +#: common/models.py:603 part/models.py:2256 report/models.py:187 #: stock/forms.py:224 templates/js/translated/table_filters.js:38 -#: templates/js/translated/table_filters.js:342 +#: templates/js/translated/table_filters.js:351 msgid "Template" msgstr "" @@ -1731,9 +1700,9 @@ msgstr "" msgid "Parts are templates by default" msgstr "" -#: common/models.py:610 part/models.py:805 +#: common/models.py:610 part/models.py:806 #: templates/js/translated/table_filters.js:146 -#: templates/js/translated/table_filters.js:354 +#: templates/js/translated/table_filters.js:363 msgid "Assembly" msgstr "" @@ -1741,8 +1710,8 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:617 part/models.py:811 -#: templates/js/translated/table_filters.js:358 +#: common/models.py:617 part/models.py:812 +#: templates/js/translated/table_filters.js:367 msgid "Component" msgstr "" @@ -1750,7 +1719,7 @@ msgstr "" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:624 part/models.py:822 +#: common/models.py:624 part/models.py:823 msgid "Purchaseable" msgstr "" @@ -1758,8 +1727,8 @@ msgstr "" msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:631 part/models.py:827 -#: templates/js/translated/table_filters.js:366 +#: common/models.py:631 part/models.py:828 +#: templates/js/translated/table_filters.js:375 msgid "Salable" msgstr "" @@ -1767,9 +1736,9 @@ msgstr "" msgid "Parts are salable by default" msgstr "" -#: common/models.py:638 part/models.py:817 +#: common/models.py:638 part/models.py:818 #: templates/js/translated/table_filters.js:46 -#: templates/js/translated/table_filters.js:370 +#: templates/js/translated/table_filters.js:379 msgid "Trackable" msgstr "" @@ -1777,7 +1746,7 @@ msgstr "" msgid "Parts are trackable by default" msgstr "" -#: common/models.py:645 part/models.py:837 +#: common/models.py:645 part/models.py:838 #: part/templates/part/part_base.html:66 #: templates/js/translated/table_filters.js:42 msgid "Virtual" @@ -1787,392 +1756,464 @@ msgstr "" msgid "Parts are virtual by default" msgstr "" -#: common/models.py:653 -msgid "Show Quantity in Forms" -msgstr "" - -#: common/models.py:654 -msgid "Display available part quantity in some forms" -msgstr "" - -#: common/models.py:660 +#: common/models.py:652 msgid "Show Import in Views" msgstr "" -#: common/models.py:661 +#: common/models.py:653 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:667 +#: common/models.py:659 msgid "Show Price in Forms" msgstr "" -#: common/models.py:668 +#: common/models.py:660 msgid "Display part price in some forms" msgstr "" -#: common/models.py:674 +#: common/models.py:671 +msgid "Show Price in BOM" +msgstr "" + +#: common/models.py:672 +msgid "Include pricing information in BOM tables" +msgstr "" + +#: common/models.py:678 msgid "Show related parts" msgstr "" -#: common/models.py:675 +#: common/models.py:679 msgid "Display related parts for a part" msgstr "" -#: common/models.py:681 +#: common/models.py:685 msgid "Create initial stock" msgstr "" -#: common/models.py:682 +#: common/models.py:686 msgid "Create initial stock on part creation" msgstr "" -#: common/models.py:688 +#: common/models.py:692 msgid "Internal Prices" msgstr "" -#: common/models.py:689 +#: common/models.py:693 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:695 +#: common/models.py:699 msgid "Internal Price as BOM-Price" msgstr "" -#: common/models.py:696 +#: common/models.py:700 msgid "Use the internal price (if set) in BOM-price calculations" msgstr "" -#: common/models.py:702 templates/stats.html:25 +#: common/models.py:706 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:703 +#: common/models.py:707 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:709 +#: common/models.py:713 msgid "Page Size" msgstr "" -#: common/models.py:710 +#: common/models.py:714 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:720 +#: common/models.py:724 msgid "Test Reports" msgstr "" -#: common/models.py:721 +#: common/models.py:725 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:727 +#: common/models.py:731 msgid "Stock Expiry" msgstr "" -#: common/models.py:728 +#: common/models.py:732 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:734 +#: common/models.py:738 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:735 +#: common/models.py:739 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:741 +#: common/models.py:745 msgid "Stock Stale Time" msgstr "" -#: common/models.py:742 +#: common/models.py:746 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:744 +#: common/models.py:748 msgid "days" msgstr "" -#: common/models.py:749 +#: common/models.py:753 msgid "Build Expired Stock" msgstr "" -#: common/models.py:750 +#: common/models.py:754 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:756 +#: common/models.py:760 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:757 +#: common/models.py:761 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:763 +#: common/models.py:767 msgid "Group by Part" msgstr "" -#: common/models.py:764 +#: common/models.py:768 msgid "Group stock items by part reference in table views" msgstr "" -#: common/models.py:770 +#: common/models.py:774 msgid "Build Order Reference Prefix" msgstr "" -#: common/models.py:771 +#: common/models.py:775 msgid "Prefix value for build order reference" msgstr "" -#: common/models.py:776 +#: common/models.py:780 msgid "Build Order Reference Regex" msgstr "" -#: common/models.py:777 +#: common/models.py:781 msgid "Regular expression pattern for matching build order reference" msgstr "" -#: common/models.py:781 +#: common/models.py:785 msgid "Sales Order Reference Prefix" msgstr "" -#: common/models.py:782 +#: common/models.py:786 msgid "Prefix value for sales order reference" msgstr "" -#: common/models.py:787 +#: common/models.py:791 msgid "Purchase Order Reference Prefix" msgstr "" -#: common/models.py:788 +#: common/models.py:792 msgid "Prefix value for purchase order reference" msgstr "" -#: common/models.py:794 +#: common/models.py:798 msgid "Enable build" msgstr "" -#: common/models.py:795 +#: common/models.py:799 msgid "Enable build functionality in InvenTree interface" msgstr "" -#: common/models.py:800 +#: common/models.py:804 msgid "Enable buy" msgstr "" -#: common/models.py:801 +#: common/models.py:805 msgid "Enable buy functionality in InvenTree interface" msgstr "" -#: common/models.py:806 +#: common/models.py:810 msgid "Enable sell" msgstr "" -#: common/models.py:807 +#: common/models.py:811 msgid "Enable sell functionality in InvenTree interface" msgstr "" -#: common/models.py:812 +#: common/models.py:816 msgid "Enable stock" msgstr "" -#: common/models.py:813 +#: common/models.py:817 msgid "Enable stock functionality in InvenTree interface" msgstr "" -#: common/models.py:818 +#: common/models.py:822 msgid "Enable SO" msgstr "" -#: common/models.py:819 +#: common/models.py:823 msgid "Enable SO functionality in InvenTree interface" msgstr "" -#: common/models.py:824 +#: common/models.py:828 msgid "Enable PO" msgstr "" -#: common/models.py:825 +#: common/models.py:829 msgid "Enable PO functionality in InvenTree interface" msgstr "" -#: common/models.py:850 +#: common/models.py:836 +msgid "Enable password forgot" +msgstr "" + +#: common/models.py:837 +msgid "Enable password forgot function on the login-pages" +msgstr "" + +#: common/models.py:842 +msgid "Enable registration" +msgstr "" + +#: common/models.py:843 +msgid "Enable self-registration for users on the login-pages" +msgstr "" + +#: common/models.py:848 +msgid "Enable SSO" +msgstr "" + +#: common/models.py:849 +msgid "Enable SSO on the login-pages" +msgstr "" + +#: common/models.py:854 +msgid "E-Mail required" +msgstr "" + +#: common/models.py:855 +msgid "Require user to supply mail on signup" +msgstr "" + +#: common/models.py:860 +msgid "Auto-fill SSO users" +msgstr "" + +#: common/models.py:861 +msgid "Automatically fill out user-details from SSO account-data" +msgstr "" + +#: common/models.py:866 +msgid "Mail twice" +msgstr "" + +#: common/models.py:867 +msgid "On signup ask users twice for their mail" +msgstr "" + +#: common/models.py:872 +msgid "Password twice" +msgstr "" + +#: common/models.py:873 +msgid "On signup ask users twice for their password" +msgstr "" + +#: common/models.py:898 msgid "Show starred parts" msgstr "" -#: common/models.py:851 +#: common/models.py:899 msgid "Show starred parts on the homepage" msgstr "" -#: common/models.py:856 +#: common/models.py:904 msgid "Show latest parts" msgstr "" -#: common/models.py:857 +#: common/models.py:905 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:862 +#: common/models.py:910 msgid "Recent Part Count" msgstr "" -#: common/models.py:863 +#: common/models.py:911 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:869 +#: common/models.py:917 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:870 +#: common/models.py:918 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:875 +#: common/models.py:923 msgid "Show recent stock changes" msgstr "" -#: common/models.py:876 +#: common/models.py:924 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:881 +#: common/models.py:929 msgid "Recent Stock Count" msgstr "" -#: common/models.py:882 +#: common/models.py:930 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:887 +#: common/models.py:935 msgid "Show low stock" msgstr "" -#: common/models.py:888 +#: common/models.py:936 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:893 +#: common/models.py:941 msgid "Show depleted stock" msgstr "" -#: common/models.py:894 +#: common/models.py:942 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:899 +#: common/models.py:947 msgid "Show needed stock" msgstr "" -#: common/models.py:900 +#: common/models.py:948 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:905 +#: common/models.py:953 msgid "Show expired stock" msgstr "" -#: common/models.py:906 +#: common/models.py:954 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:911 +#: common/models.py:959 msgid "Show stale stock" msgstr "" -#: common/models.py:912 +#: common/models.py:960 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:917 +#: common/models.py:965 msgid "Show pending builds" msgstr "" -#: common/models.py:918 +#: common/models.py:966 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:923 +#: common/models.py:971 msgid "Show overdue builds" msgstr "" -#: common/models.py:924 +#: common/models.py:972 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:929 +#: common/models.py:977 msgid "Show outstanding POs" msgstr "" -#: common/models.py:930 +#: common/models.py:978 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:935 +#: common/models.py:983 msgid "Show overdue POs" msgstr "" -#: common/models.py:936 +#: common/models.py:984 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:941 +#: common/models.py:989 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:942 +#: common/models.py:990 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:947 +#: common/models.py:995 msgid "Show overdue SOs" msgstr "" -#: common/models.py:948 +#: common/models.py:996 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:954 +#: common/models.py:1002 msgid "Inline label display" msgstr "" -#: common/models.py:955 +#: common/models.py:1003 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:961 +#: common/models.py:1009 msgid "Inline report display" msgstr "" -#: common/models.py:962 +#: common/models.py:1010 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:968 +#: common/models.py:1016 msgid "Search Preview Results" msgstr "" -#: common/models.py:969 +#: common/models.py:1017 msgid "Number of results to show in search preview window" msgstr "" -#: common/models.py:1026 company/forms.py:43 +#: common/models.py:1023 +msgid "Show Quantity in Forms" +msgstr "" + +#: common/models.py:1024 +msgid "Display available part quantity in some forms" +msgstr "" + +#: common/models.py:1030 +msgid "Escape Key Closes Forms" +msgstr "" + +#: common/models.py:1031 +msgid "Use the escape key to close modal forms" +msgstr "" + +#: common/models.py:1088 company/forms.py:43 msgid "Price break quantity" msgstr "" -#: common/models.py:1033 company/templates/company/supplier_part.html:231 -#: templates/js/translated/part.js:1322 +#: common/models.py:1095 company/templates/company/supplier_part.html:231 +#: templates/js/translated/part.js:1369 msgid "Price" msgstr "" -#: common/models.py:1034 +#: common/models.py:1096 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1127 +#: common/models.py:1189 msgid "Default" msgstr "" @@ -2199,7 +2240,7 @@ msgstr "" #: common/views.py:213 order/templates/order/order_wizard/po_upload.html:42 #: order/templates/order/po_navbar.html:19 #: order/templates/order/po_navbar.html:22 -#: order/templates/order/purchase_order_detail.html:26 order/views.py:290 +#: order/templates/order/purchase_order_detail.html:27 order/views.py:289 #: part/templates/part/bom_upload/upload_file.html:65 #: part/templates/part/import_wizard/part_upload.html:45 part/views.py:268 #: part/views.py:882 @@ -2207,7 +2248,7 @@ msgid "Upload File" msgstr "" #: common/views.py:214 order/templates/order/order_wizard/match_fields.html:52 -#: order/views.py:291 part/templates/part/bom_upload/match_fields.html:52 +#: order/views.py:290 part/templates/part/bom_upload/match_fields.html:52 #: part/templates/part/import_wizard/ajax_match_fields.html:45 #: part/templates/part/import_wizard/match_fields.html:52 part/views.py:269 #: part/views.py:883 @@ -2246,249 +2287,249 @@ msgstr "" msgid "Image URL" msgstr "" -#: company/models.py:104 +#: company/models.py:105 msgid "Company description" msgstr "" -#: company/models.py:105 +#: company/models.py:106 msgid "Description of the company" msgstr "" -#: company/models.py:111 company/templates/company/company_base.html:70 +#: company/models.py:112 company/templates/company/company_base.html:70 #: templates/js/translated/company.js:348 msgid "Website" msgstr "" -#: company/models.py:112 +#: company/models.py:113 msgid "Company website URL" msgstr "" -#: company/models.py:116 company/templates/company/company_base.html:88 +#: company/models.py:117 company/templates/company/company_base.html:88 msgid "Address" msgstr "" -#: company/models.py:117 +#: company/models.py:118 msgid "Company address" msgstr "" -#: company/models.py:120 +#: company/models.py:121 msgid "Phone number" msgstr "" -#: company/models.py:121 +#: company/models.py:122 msgid "Contact phone number" msgstr "" -#: company/models.py:124 company/templates/company/company_base.html:102 +#: company/models.py:125 company/templates/company/company_base.html:102 msgid "Email" msgstr "" -#: company/models.py:124 +#: company/models.py:125 msgid "Contact email address" msgstr "" -#: company/models.py:127 company/templates/company/company_base.html:109 +#: company/models.py:128 company/templates/company/company_base.html:109 msgid "Contact" msgstr "" -#: company/models.py:128 +#: company/models.py:129 msgid "Point of contact" msgstr "" -#: company/models.py:130 company/models.py:347 company/models.py:563 -#: order/models.py:160 part/models.py:714 +#: company/models.py:131 company/models.py:348 company/models.py:564 +#: order/models.py:160 part/models.py:715 #: report/templates/report/inventree_build_order_base.html:165 -#: templates/js/translated/company.js:535 -#: templates/js/translated/company.js:823 templates/js/translated/part.js:972 +#: templates/js/translated/company.js:536 +#: templates/js/translated/company.js:825 templates/js/translated/part.js:983 msgid "Link" msgstr "" -#: company/models.py:130 +#: company/models.py:131 msgid "Link to external company information" msgstr "" -#: company/models.py:138 part/models.py:724 +#: company/models.py:139 part/models.py:725 msgid "Image" msgstr "" -#: company/models.py:143 +#: company/models.py:144 msgid "is customer" msgstr "" -#: company/models.py:143 +#: company/models.py:144 msgid "Do you sell items to this company?" msgstr "" -#: company/models.py:145 +#: company/models.py:146 msgid "is supplier" msgstr "" -#: company/models.py:145 +#: company/models.py:146 msgid "Do you purchase items from this company?" msgstr "" -#: company/models.py:147 +#: company/models.py:148 msgid "is manufacturer" msgstr "" -#: company/models.py:147 +#: company/models.py:148 msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:151 company/serializers.py:264 -#: company/templates/company/company_base.html:76 stock/serializers.py:155 +#: company/models.py:152 company/serializers.py:264 +#: company/templates/company/company_base.html:76 stock/serializers.py:158 msgid "Currency" msgstr "" -#: company/models.py:154 +#: company/models.py:155 msgid "Default currency used for this company" msgstr "" -#: company/models.py:319 company/models.py:534 stock/models.py:454 +#: company/models.py:320 company/models.py:535 stock/models.py:454 #: stock/templates/stock/item_base.html:237 msgid "Base Part" msgstr "" -#: company/models.py:323 company/models.py:538 order/views.py:1082 +#: company/models.py:324 company/models.py:539 order/views.py:912 msgid "Select part" msgstr "" -#: company/models.py:334 company/templates/company/company_base.html:116 +#: company/models.py:335 company/templates/company/company_base.html:116 #: company/templates/company/manufacturer_part.html:89 #: company/templates/company/supplier_part.html:98 part/bom.py:170 -#: part/bom.py:241 stock/templates/stock/item_base.html:366 +#: part/bom.py:247 stock/templates/stock/item_base.html:366 #: templates/js/translated/company.js:332 -#: templates/js/translated/company.js:512 -#: templates/js/translated/company.js:794 templates/js/translated/part.js:222 +#: templates/js/translated/company.js:513 +#: templates/js/translated/company.js:796 templates/js/translated/part.js:227 msgid "Manufacturer" msgstr "" -#: company/models.py:335 templates/js/translated/part.js:223 +#: company/models.py:336 templates/js/translated/part.js:228 msgid "Select manufacturer" msgstr "" -#: company/models.py:341 company/templates/company/manufacturer_part.html:93 +#: company/models.py:342 company/templates/company/manufacturer_part.html:93 #: company/templates/company/supplier_part.html:106 part/bom.py:171 -#: part/bom.py:242 templates/js/translated/company.js:528 -#: templates/js/translated/company.js:812 templates/js/translated/order.js:505 -#: templates/js/translated/part.js:233 +#: part/bom.py:248 templates/js/translated/company.js:529 +#: templates/js/translated/company.js:814 templates/js/translated/order.js:851 +#: templates/js/translated/part.js:238 msgid "MPN" msgstr "" -#: company/models.py:342 templates/js/translated/part.js:234 +#: company/models.py:343 templates/js/translated/part.js:239 msgid "Manufacturer Part Number" msgstr "" -#: company/models.py:348 +#: company/models.py:349 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:354 +#: company/models.py:355 msgid "Manufacturer part description" msgstr "" -#: company/models.py:408 company/models.py:557 +#: company/models.py:409 company/models.py:558 #: company/templates/company/manufacturer_part.html:6 #: company/templates/company/manufacturer_part.html:23 #: stock/templates/stock/item_base.html:376 msgid "Manufacturer Part" msgstr "" -#: company/models.py:415 +#: company/models.py:416 msgid "Parameter name" msgstr "" -#: company/models.py:421 +#: company/models.py:422 #: report/templates/report/inventree_test_report_base.html:90 -#: stock/models.py:1819 templates/InvenTree/settings/header.html:8 -#: templates/js/translated/company.js:642 templates/js/translated/part.js:612 -#: templates/js/translated/stock.js:576 +#: stock/models.py:1816 templates/InvenTree/settings/header.html:8 +#: templates/js/translated/company.js:643 templates/js/translated/part.js:623 +#: templates/js/translated/stock.js:555 msgid "Value" msgstr "" -#: company/models.py:422 +#: company/models.py:423 msgid "Parameter value" msgstr "" -#: company/models.py:428 part/models.py:799 part/models.py:2220 -#: templates/js/translated/company.js:648 templates/js/translated/part.js:618 +#: company/models.py:429 part/models.py:800 part/models.py:2224 +#: templates/js/translated/company.js:649 templates/js/translated/part.js:629 msgid "Units" msgstr "" -#: company/models.py:429 +#: company/models.py:430 msgid "Parameter units" msgstr "" -#: company/models.py:501 +#: company/models.py:502 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:544 company/templates/company/company_base.html:121 +#: company/models.py:545 company/templates/company/company_base.html:121 #: company/templates/company/supplier_part.html:88 order/models.py:260 #: order/templates/order/order_base.html:92 #: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:175 -#: part/bom.py:286 stock/templates/stock/item_base.html:383 +#: part/bom.py:292 stock/templates/stock/item_base.html:383 #: templates/js/translated/company.js:336 -#: templates/js/translated/company.js:768 templates/js/translated/order.js:328 -#: templates/js/translated/part.js:203 +#: templates/js/translated/company.js:770 templates/js/translated/order.js:659 +#: templates/js/translated/part.js:208 msgid "Supplier" msgstr "" -#: company/models.py:545 templates/js/translated/part.js:204 +#: company/models.py:546 templates/js/translated/part.js:209 msgid "Select supplier" msgstr "" -#: company/models.py:550 company/templates/company/supplier_part.html:92 -#: part/bom.py:176 part/bom.py:287 templates/js/translated/order.js:492 -#: templates/js/translated/part.js:214 +#: company/models.py:551 company/templates/company/supplier_part.html:92 +#: part/bom.py:176 part/bom.py:293 templates/js/translated/order.js:838 +#: templates/js/translated/part.js:219 msgid "SKU" msgstr "" -#: company/models.py:551 templates/js/translated/part.js:215 +#: company/models.py:552 templates/js/translated/part.js:220 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:558 +#: company/models.py:559 msgid "Select manufacturer part" msgstr "" -#: company/models.py:564 +#: company/models.py:565 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:570 +#: company/models.py:571 msgid "Supplier part description" msgstr "" -#: company/models.py:575 company/templates/company/supplier_part.html:120 -#: part/models.py:2368 report/templates/report/inventree_po_report.html:93 +#: company/models.py:576 company/templates/company/supplier_part.html:120 +#: part/models.py:2389 report/templates/report/inventree_po_report.html:93 #: report/templates/report/inventree_so_report.html:93 msgid "Note" msgstr "" -#: company/models.py:579 part/models.py:1599 +#: company/models.py:580 part/models.py:1603 msgid "base cost" msgstr "" -#: company/models.py:579 part/models.py:1599 +#: company/models.py:580 part/models.py:1603 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:581 company/templates/company/supplier_part.html:113 +#: company/models.py:582 company/templates/company/supplier_part.html:113 #: stock/models.py:478 stock/templates/stock/item_base.html:324 -#: templates/js/translated/company.js:844 templates/js/translated/stock.js:1057 +#: templates/js/translated/company.js:846 templates/js/translated/stock.js:1036 msgid "Packaging" msgstr "" -#: company/models.py:581 +#: company/models.py:582 msgid "Part packaging" msgstr "" -#: company/models.py:583 part/models.py:1601 +#: company/models.py:584 part/models.py:1605 msgid "multiple" msgstr "" -#: company/models.py:583 +#: company/models.py:584 msgid "Order multiple" msgstr "" @@ -2502,7 +2543,7 @@ msgstr "" #: company/templates/company/company_base.html:9 #: company/templates/company/company_base.html:35 -#: templates/InvenTree/search.html:304 templates/js/translated/company.js:321 +#: templates/InvenTree/search.html:208 templates/js/translated/company.js:321 msgid "Company" msgstr "" @@ -2517,7 +2558,7 @@ msgid "Download image from URL" msgstr "" #: company/templates/company/company_base.html:46 -#: templates/js/translated/order.js:117 +#: templates/js/translated/order.js:120 msgid "Create Purchase Order" msgstr "" @@ -2542,22 +2583,22 @@ msgstr "" msgid "Phone" msgstr "" -#: company/templates/company/company_base.html:126 order/models.py:550 -#: order/templates/order/sales_order_base.html:94 stock/models.py:496 +#: company/templates/company/company_base.html:126 order/models.py:558 +#: order/templates/order/sales_order_base.html:99 stock/models.py:496 #: stock/models.py:497 stock/templates/stock/item_base.html:276 -#: templates/js/translated/company.js:328 templates/js/translated/order.js:692 -#: templates/js/translated/stock.js:1608 +#: templates/js/translated/company.js:328 templates/js/translated/order.js:1038 +#: templates/js/translated/stock.js:1587 msgid "Customer" msgstr "" -#: company/templates/company/company_base.html:193 -#: part/templates/part/part_base.html:418 +#: company/templates/company/company_base.html:199 +#: part/templates/part/part_base.html:424 msgid "Upload Image" msgstr "" #: company/templates/company/detail.html:14 #: company/templates/company/manufacturer_part_navbar.html:18 -#: templates/InvenTree/search.html:164 +#: templates/InvenTree/search.html:150 msgid "Supplier Parts" msgstr "" @@ -2597,7 +2638,7 @@ msgstr "" msgid "Delete Parts" msgstr "" -#: company/templates/company/detail.html:54 templates/InvenTree/search.html:149 +#: company/templates/company/detail.html:54 templates/InvenTree/search.html:135 msgid "Manufacturer Parts" msgstr "" @@ -2620,9 +2661,9 @@ msgstr "" #: order/templates/order/purchase_orders.html:13 #: part/templates/part/detail.html:50 part/templates/part/navbar.html:82 #: part/templates/part/navbar.html:85 templates/InvenTree/index.html:260 -#: templates/InvenTree/search.html:325 -#: templates/InvenTree/settings/navbar.html:107 -#: templates/InvenTree/settings/navbar.html:109 templates/navbar.html:44 +#: templates/InvenTree/search.html:229 +#: templates/InvenTree/settings/navbar.html:119 +#: templates/InvenTree/settings/navbar.html:121 templates/navbar.html:44 #: users/models.py:45 msgid "Purchase Orders" msgstr "" @@ -2644,9 +2685,9 @@ msgstr "" #: order/templates/order/sales_orders.html:13 #: part/templates/part/detail.html:71 part/templates/part/navbar.html:91 #: part/templates/part/navbar.html:94 templates/InvenTree/index.html:291 -#: templates/InvenTree/search.html:345 -#: templates/InvenTree/settings/navbar.html:113 -#: templates/InvenTree/settings/navbar.html:115 templates/navbar.html:55 +#: templates/InvenTree/search.html:249 +#: templates/InvenTree/settings/navbar.html:125 +#: templates/InvenTree/settings/navbar.html:127 templates/navbar.html:55 #: users/models.py:46 msgid "Sales Orders" msgstr "" @@ -2664,7 +2705,7 @@ msgstr "" #: company/templates/company/detail.html:147 #: company/templates/company/navbar.html:61 #: company/templates/company/navbar.html:64 -#: templates/js/translated/build.js:620 +#: templates/js/translated/build.js:622 msgid "Assigned Stock" msgstr "" @@ -2696,12 +2737,12 @@ msgid "Order part" msgstr "" #: company/templates/company/manufacturer_part.html:45 -#: templates/js/translated/company.js:560 +#: templates/js/translated/company.js:561 msgid "Edit manufacturer part" msgstr "" #: company/templates/company/manufacturer_part.html:49 -#: templates/js/translated/company.js:561 +#: templates/js/translated/company.js:562 msgid "Delete manufacturer part" msgstr "" @@ -2718,7 +2759,7 @@ msgstr "" #: company/templates/company/manufacturer_part_navbar.html:21 #: company/views.py:49 part/templates/part/navbar.html:75 #: part/templates/part/navbar.html:78 part/templates/part/prices.html:163 -#: templates/InvenTree/search.html:316 templates/navbar.html:41 +#: templates/InvenTree/search.html:220 templates/navbar.html:41 msgid "Suppliers" msgstr "" @@ -2732,7 +2773,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:239 #: part/templates/part/detail.html:214 part/templates/part/detail.html:294 #: part/templates/part/detail.html:317 templates/js/translated/company.js:424 -#: templates/js/translated/helpers.js:31 users/models.py:194 +#: templates/js/translated/helpers.js:31 users/models.py:199 msgid "Delete" msgstr "" @@ -2758,7 +2799,7 @@ msgid "Delete parameters" msgstr "" #: company/templates/company/manufacturer_part.html:176 -#: part/templates/part/detail.html:834 +#: part/templates/part/detail.html:805 msgid "Add Parameter" msgstr "" @@ -2777,16 +2818,15 @@ msgstr "" #: company/templates/company/manufacturer_part_navbar.html:29 #: company/templates/company/navbar.html:39 #: company/templates/company/supplier_part_navbar.html:15 -#: part/templates/part/navbar.html:38 stock/api.py:54 +#: part/templates/part/navbar.html:38 stock/api.py:52 #: stock/templates/stock/loc_link.html:7 stock/templates/stock/location.html:36 #: stock/templates/stock/stock_app_base.html:10 -#: templates/InvenTree/index.html:150 templates/InvenTree/search.html:196 -#: templates/InvenTree/search.html:232 -#: templates/InvenTree/settings/navbar.html:95 -#: templates/InvenTree/settings/navbar.html:97 -#: templates/js/translated/part.js:529 templates/js/translated/part.js:758 -#: templates/js/translated/part.js:934 templates/js/translated/stock.js:202 -#: templates/js/translated/stock.js:850 templates/navbar.html:32 +#: templates/InvenTree/index.html:150 templates/InvenTree/search.html:182 +#: templates/InvenTree/settings/navbar.html:107 +#: templates/InvenTree/settings/navbar.html:109 +#: templates/js/translated/part.js:540 templates/js/translated/part.js:769 +#: templates/js/translated/part.js:945 templates/js/translated/stock.js:182 +#: templates/js/translated/stock.js:829 templates/navbar.html:32 msgid "Stock" msgstr "" @@ -2815,7 +2855,7 @@ msgstr "" #: stock/templates/stock/location.html:148 #: stock/templates/stock/location_navbar.html:18 #: stock/templates/stock/location_navbar.html:21 -#: templates/InvenTree/search.html:198 templates/js/translated/stock.js:1507 +#: templates/InvenTree/search.html:184 templates/js/translated/stock.js:1486 #: templates/stats.html:93 templates/stats.html:102 users/models.py:43 msgid "Stock Items" msgstr "" @@ -2823,17 +2863,17 @@ msgstr "" #: company/templates/company/supplier_part.html:7 #: company/templates/company/supplier_part.html:24 stock/models.py:463 #: stock/templates/stock/item_base.html:388 -#: templates/js/translated/company.js:784 templates/js/translated/stock.js:1014 +#: templates/js/translated/company.js:786 templates/js/translated/stock.js:993 msgid "Supplier Part" msgstr "" #: company/templates/company/supplier_part.html:44 -#: templates/js/translated/company.js:857 +#: templates/js/translated/company.js:859 msgid "Edit supplier part" msgstr "" #: company/templates/company/supplier_part.html:48 -#: templates/js/translated/company.js:858 +#: templates/js/translated/company.js:860 msgid "Delete supplier part" msgstr "" @@ -2900,7 +2940,7 @@ msgid "New Supplier" msgstr "" #: company/views.py:55 part/templates/part/prices.html:167 -#: templates/InvenTree/search.html:306 templates/navbar.html:42 +#: templates/InvenTree/search.html:210 templates/navbar.html:42 msgid "Manufacturers" msgstr "" @@ -2908,7 +2948,7 @@ msgstr "" msgid "New Manufacturer" msgstr "" -#: company/views.py:61 templates/InvenTree/search.html:336 +#: company/views.py:61 templates/InvenTree/search.html:240 #: templates/navbar.html:53 msgid "Customers" msgstr "" @@ -3011,36 +3051,32 @@ msgstr "" msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" -#: order/api.py:302 -msgid "Destination location must be specified" +#: order/api.py:250 +msgid "Matching purchase order does not exist" msgstr "" -#: order/forms.py:30 order/templates/order/order_base.html:47 +#: order/forms.py:27 order/templates/order/order_base.html:50 msgid "Place order" msgstr "" -#: order/forms.py:41 order/templates/order/order_base.html:54 +#: order/forms.py:38 order/templates/order/order_base.html:57 msgid "Mark order as complete" msgstr "" -#: order/forms.py:52 order/forms.py:63 order/templates/order/order_base.html:59 -#: order/templates/order/sales_order_base.html:61 +#: order/forms.py:49 order/forms.py:60 order/templates/order/order_base.html:62 +#: order/templates/order/sales_order_base.html:64 msgid "Cancel order" msgstr "" -#: order/forms.py:74 order/templates/order/sales_order_base.html:58 +#: order/forms.py:71 order/templates/order/sales_order_base.html:61 msgid "Ship order" msgstr "" -#: order/forms.py:89 -msgid "Set all received parts listed above to this location (if left blank, use \"Destination\" column value in above table)" -msgstr "" - -#: order/forms.py:116 +#: order/forms.py:97 msgid "Enter stock item serial numbers" msgstr "" -#: order/forms.py:122 +#: order/forms.py:103 msgid "Enter quantity of stock items" msgstr "" @@ -3064,11 +3100,11 @@ msgstr "" msgid "Order notes" msgstr "" -#: order/models.py:247 order/models.py:540 +#: order/models.py:247 order/models.py:548 msgid "Order reference" msgstr "" -#: order/models.py:252 order/models.py:555 +#: order/models.py:252 order/models.py:563 msgid "Purchase order status" msgstr "" @@ -3077,7 +3113,7 @@ msgid "Company from which the items are being ordered" msgstr "" #: order/models.py:264 order/templates/order/order_base.html:98 -#: templates/js/translated/order.js:337 +#: templates/js/translated/order.js:668 msgid "Supplier Reference" msgstr "" @@ -3109,190 +3145,190 @@ msgstr "" msgid "Date order was completed" msgstr "" -#: order/models.py:313 stock/models.py:351 stock/models.py:1072 -msgid "Quantity must be greater than zero" -msgstr "" - #: order/models.py:318 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:421 -msgid "Lines can only be received against an order marked as 'Placed'" -msgstr "" - -#: order/models.py:425 +#: order/models.py:428 msgid "Quantity must be an integer" msgstr "" -#: order/models.py:427 +#: order/models.py:432 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:551 +#: order/models.py:559 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:557 +#: order/models.py:565 msgid "Customer Reference " msgstr "" -#: order/models.py:557 +#: order/models.py:565 msgid "Customer order reference code" msgstr "" -#: order/models.py:562 +#: order/models.py:570 msgid "Target date for order completion. Order will be overdue after this date." msgstr "" -#: order/models.py:565 templates/js/translated/order.js:733 +#: order/models.py:573 templates/js/translated/order.js:1079 msgid "Shipment Date" msgstr "" -#: order/models.py:572 +#: order/models.py:580 msgid "shipped by" msgstr "" -#: order/models.py:616 +#: order/models.py:624 msgid "SalesOrder cannot be shipped as it is not currently pending" msgstr "" -#: order/models.py:713 +#: order/models.py:721 msgid "Item quantity" msgstr "" -#: order/models.py:719 +#: order/models.py:727 msgid "Line item reference" msgstr "" -#: order/models.py:721 +#: order/models.py:729 msgid "Line item notes" msgstr "" -#: order/models.py:751 order/models.py:835 templates/js/translated/order.js:785 +#: order/models.py:759 order/models.py:847 +#: templates/js/translated/order.js:1131 msgid "Order" msgstr "" -#: order/models.py:752 order/templates/order/order_base.html:9 +#: order/models.py:760 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:24 #: report/templates/report/inventree_po_report.html:77 #: stock/templates/stock/item_base.html:338 -#: templates/js/translated/order.js:306 templates/js/translated/stock.js:991 -#: templates/js/translated/stock.js:1589 +#: templates/js/translated/order.js:637 templates/js/translated/stock.js:970 +#: templates/js/translated/stock.js:1568 msgid "Purchase Order" msgstr "" -#: order/models.py:773 +#: order/models.py:781 msgid "Supplier part" msgstr "" -#: order/models.py:780 order/templates/order/order_base.html:131 -#: order/templates/order/receive_parts.html:22 -#: order/templates/order/sales_order_base.html:133 -#: templates/js/translated/order.js:573 +#: order/models.py:788 order/templates/order/order_base.html:131 +#: order/templates/order/sales_order_base.html:138 +#: templates/js/translated/order.js:428 templates/js/translated/order.js:919 msgid "Received" msgstr "" -#: order/models.py:781 +#: order/models.py:789 msgid "Number of items received" msgstr "" -#: order/models.py:788 part/templates/part/prices.html:176 stock/models.py:588 -#: stock/serializers.py:147 stock/templates/stock/item_base.html:345 -#: templates/js/translated/stock.js:1045 +#: order/models.py:796 part/templates/part/prices.html:176 stock/models.py:588 +#: stock/serializers.py:150 stock/templates/stock/item_base.html:345 +#: templates/js/translated/stock.js:1024 msgid "Purchase Price" msgstr "" -#: order/models.py:789 +#: order/models.py:797 msgid "Unit purchase price" msgstr "" -#: order/models.py:797 +#: order/models.py:805 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:843 part/templates/part/part_pricing.html:112 +#: order/models.py:857 part/templates/part/part_pricing.html:112 #: part/templates/part/prices.html:116 part/templates/part/prices.html:284 msgid "Sale Price" msgstr "" -#: order/models.py:844 +#: order/models.py:858 msgid "Unit sale price" msgstr "" -#: order/models.py:923 order/models.py:925 +#: order/models.py:937 order/models.py:939 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:929 +#: order/models.py:943 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:931 +#: order/models.py:945 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:934 +#: order/models.py:948 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:944 +#: order/models.py:952 +msgid "StockItem is over-allocated" +msgstr "" + +#: order/models.py:958 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:949 +#: order/models.py:966 msgid "Line" msgstr "" -#: order/models.py:960 +#: order/models.py:978 msgid "Item" msgstr "" -#: order/models.py:961 +#: order/models.py:979 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:964 +#: order/models.py:982 msgid "Enter stock allocation quantity" msgstr "" -#: order/serializers.py:166 +#: order/serializers.py:167 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:201 +#: order/serializers.py:202 msgid "Line Item" msgstr "" -#: order/serializers.py:207 +#: order/serializers.py:208 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:217 order/serializers.py:276 +#: order/serializers.py:218 order/serializers.py:285 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:234 +#: order/serializers.py:242 msgid "Barcode Hash" msgstr "" -#: order/serializers.py:235 +#: order/serializers.py:243 msgid "Unique identifier field" msgstr "" -#: order/serializers.py:250 +#: order/serializers.py:259 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:289 +#: order/serializers.py:297 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:299 +#: order/serializers.py:314 +msgid "Destination location must be specified" +msgstr "" + +#: order/serializers.py:325 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:514 +#: order/serializers.py:569 msgid "Sale price currency" msgstr "" @@ -3307,31 +3343,32 @@ msgstr "" msgid "Print" msgstr "" -#: order/templates/order/order_base.html:43 -#: order/templates/order/sales_order_base.html:54 +#: order/templates/order/order_base.html:42 +#: order/templates/order/sales_order_base.html:53 +msgid "Export order to file" +msgstr "" + +#: order/templates/order/order_base.html:46 +#: order/templates/order/sales_order_base.html:57 msgid "Edit order information" msgstr "" -#: order/templates/order/order_base.html:51 +#: order/templates/order/order_base.html:54 msgid "Receive items" msgstr "" -#: order/templates/order/order_base.html:64 -msgid "Export order to file" -msgstr "" - #: order/templates/order/order_base.html:72 #: order/templates/order/po_navbar.html:12 msgid "Purchase Order Details" msgstr "" #: order/templates/order/order_base.html:77 -#: order/templates/order/sales_order_base.html:79 +#: order/templates/order/sales_order_base.html:84 msgid "Order Reference" msgstr "" #: order/templates/order/order_base.html:82 -#: order/templates/order/sales_order_base.html:84 +#: order/templates/order/sales_order_base.html:89 msgid "Order Status" msgstr "" @@ -3344,16 +3381,6 @@ msgstr "" msgid "Edit Purchase Order" msgstr "" -#: order/templates/order/order_base.html:196 -#: stock/templates/stock/location.html:250 templates/js/translated/order.js:437 -msgid "New Location" -msgstr "" - -#: order/templates/order/order_base.html:197 -#: stock/templates/stock/location.html:42 templates/js/translated/order.js:438 -msgid "Create new stock location" -msgstr "" - #: order/templates/order/order_cancel.html:8 msgid "Cancelling this order means that the order and line items will no longer be editable." msgstr "" @@ -3426,6 +3453,7 @@ msgstr "" #: part/templates/part/import_wizard/ajax_match_references.html:42 #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 +#: templates/js/translated/build.js:869 templates/js/translated/order.js:376 msgid "Remove row" msgstr "" @@ -3502,7 +3530,7 @@ msgid "Select existing purchase orders, or create new orders." msgstr "" #: order/templates/order/order_wizard/select_pos.html:31 -#: templates/js/translated/order.js:363 templates/js/translated/order.js:738 +#: templates/js/translated/order.js:694 templates/js/translated/order.js:1084 msgid "Items" msgstr "" @@ -3522,7 +3550,7 @@ msgstr "" #: order/templates/order/po_attachments.html:12 #: order/templates/order/po_navbar.html:32 -#: order/templates/order/purchase_order_detail.html:47 +#: order/templates/order/purchase_order_detail.html:56 msgid "Purchase Order Attachments" msgstr "" @@ -3532,7 +3560,7 @@ msgstr "" #: order/templates/order/po_navbar.html:29 #: order/templates/order/po_received_items.html:12 -#: order/templates/order/purchase_order_detail.html:38 +#: order/templates/order/purchase_order_detail.html:47 msgid "Received Items" msgstr "" @@ -3540,14 +3568,22 @@ msgstr "" msgid "Purchase Order Items" msgstr "" -#: order/templates/order/purchase_order_detail.html:23 -#: order/templates/order/purchase_order_detail.html:203 +#: order/templates/order/purchase_order_detail.html:24 +#: order/templates/order/purchase_order_detail.html:212 #: order/templates/order/sales_order_detail.html:23 #: order/templates/order/sales_order_detail.html:177 msgid "Add Line Item" msgstr "" -#: order/templates/order/purchase_order_detail.html:58 +#: order/templates/order/purchase_order_detail.html:30 +msgid "Receive selected items" +msgstr "" + +#: order/templates/order/purchase_order_detail.html:31 +msgid "Receive Items" +msgstr "" + +#: order/templates/order/purchase_order_detail.html:67 #: order/templates/order/sales_order_detail.html:54 msgid "Order Notes" msgstr "" @@ -3557,67 +3593,24 @@ msgstr "" msgid "Print Order Reports" msgstr "" -#: order/templates/order/receive_parts.html:8 -#, python-format -msgid "Receive outstanding parts for %(order)s - %(desc)s" -msgstr "" - -#: order/templates/order/receive_parts.html:14 part/api.py:54 -#: part/models.py:298 part/templates/part/cat_link.html:7 -#: part/templates/part/category.html:108 part/templates/part/category.html:122 -#: part/templates/part/category_navbar.html:21 -#: part/templates/part/category_navbar.html:24 -#: templates/InvenTree/index.html:102 templates/InvenTree/search.html:114 -#: templates/InvenTree/settings/navbar.html:83 -#: templates/InvenTree/settings/navbar.html:85 -#: templates/js/translated/part.js:1154 templates/navbar.html:29 -#: templates/stats.html:80 templates/stats.html:89 users/models.py:41 -msgid "Parts" -msgstr "" - -#: order/templates/order/receive_parts.html:15 -msgid "Fill out number of parts received, the status and destination" -msgstr "" - -#: order/templates/order/receive_parts.html:20 -msgid "Order Code" -msgstr "" - -#: order/templates/order/receive_parts.html:21 -#: part/templates/part/part_base.html:167 templates/js/translated/part.js:949 -msgid "On Order" -msgstr "" - -#: order/templates/order/receive_parts.html:23 -msgid "Receive" -msgstr "" - -#: order/templates/order/receive_parts.html:37 -msgid "Error: Referenced part has been removed" -msgstr "" - -#: order/templates/order/receive_parts.html:68 -msgid "Remove line" -msgstr "" - #: order/templates/order/sales_order_base.html:16 msgid "This Sales Order has not been fully allocated" msgstr "" -#: order/templates/order/sales_order_base.html:66 +#: order/templates/order/sales_order_base.html:70 msgid "Packing List" msgstr "" -#: order/templates/order/sales_order_base.html:74 +#: order/templates/order/sales_order_base.html:79 msgid "Sales Order Details" msgstr "" -#: order/templates/order/sales_order_base.html:100 -#: templates/js/translated/order.js:705 +#: order/templates/order/sales_order_base.html:105 +#: templates/js/translated/order.js:1051 msgid "Customer Reference" msgstr "" -#: order/templates/order/sales_order_base.html:178 +#: order/templates/order/sales_order_base.html:183 msgid "Edit Sales Order" msgstr "" @@ -3636,105 +3629,6 @@ msgstr "" msgid "Sales Order Items" msgstr "" -#: order/templates/order/sales_order_detail.html:226 -#: templates/js/translated/bom.js:394 templates/js/translated/build.js:782 -#: templates/js/translated/build.js:1219 -msgid "Actions" -msgstr "" - -#: order/templates/order/sales_order_detail.html:233 -#: templates/js/translated/build.js:668 templates/js/translated/build.js:1030 -msgid "Edit stock allocation" -msgstr "" - -#: order/templates/order/sales_order_detail.html:234 -#: templates/js/translated/build.js:670 templates/js/translated/build.js:1031 -msgid "Delete stock allocation" -msgstr "" - -#: order/templates/order/sales_order_detail.html:307 -msgid "No matching line items" -msgstr "" - -#: order/templates/order/sales_order_detail.html:337 -msgid "ID" -msgstr "" - -#: order/templates/order/sales_order_detail.html:354 -#: templates/js/translated/order.js:481 -msgid "Total" -msgstr "" - -#: order/templates/order/sales_order_detail.html:377 -#: templates/js/translated/order.js:534 templates/js/translated/part.js:1296 -#: templates/js/translated/part.js:1507 -msgid "Unit Price" -msgstr "" - -#: order/templates/order/sales_order_detail.html:384 -#: templates/js/translated/order.js:543 -msgid "Total price" -msgstr "" - -#: order/templates/order/sales_order_detail.html:405 -#: templates/js/translated/build.js:733 templates/js/translated/build.js:1026 -msgid "Allocated" -msgstr "" - -#: order/templates/order/sales_order_detail.html:407 -msgid "Fulfilled" -msgstr "" - -#: order/templates/order/sales_order_detail.html:444 -msgid "PO" -msgstr "" - -#: order/templates/order/sales_order_detail.html:474 -msgid "Allocate serial numbers" -msgstr "" - -#: order/templates/order/sales_order_detail.html:477 -#: templates/js/translated/build.js:796 -msgid "Allocate stock" -msgstr "" - -#: order/templates/order/sales_order_detail.html:480 -msgid "Purchase stock" -msgstr "" - -#: order/templates/order/sales_order_detail.html:484 -#: templates/js/translated/build.js:789 templates/js/translated/build.js:1227 -msgid "Build stock" -msgstr "" - -#: order/templates/order/sales_order_detail.html:487 -#: order/templates/order/sales_order_detail.html:606 -msgid "Calculate price" -msgstr "" - -#: order/templates/order/sales_order_detail.html:490 -#: templates/js/translated/order.js:616 -msgid "Edit line item" -msgstr "" - -#: order/templates/order/sales_order_detail.html:491 -msgid "Delete line item " -msgstr "" - -#: order/templates/order/sales_order_detail.html:519 -#: templates/js/translated/order.js:403 -msgid "Edit Line Item" -msgstr "" - -#: order/templates/order/sales_order_detail.html:529 -#: templates/js/translated/order.js:415 -msgid "Delete Line Item" -msgstr "" - -#: order/templates/order/sales_order_detail.html:612 -msgid "Update Unit Price" -msgstr "" - #: order/templates/order/sales_order_ship.html:10 msgid "This order has not been fully allocated. If the order is marked as shipped, it can no longer be adjusted." msgstr "" @@ -3759,10 +3653,6 @@ msgstr "" msgid "Allocate stock items by serial number" msgstr "" -#: order/templates/order/so_allocation_delete.html:7 -msgid "This action will unallocate the following stock from the Sales Order" -msgstr "" - #: order/templates/order/so_navbar.html:12 msgid "Sales Order Line Items" msgstr "" @@ -3775,149 +3665,129 @@ msgstr "" msgid "Sales Order Attachments" msgstr "" -#: order/views.py:104 +#: order/views.py:103 msgid "Cancel Order" msgstr "" -#: order/views.py:113 order/views.py:139 +#: order/views.py:112 order/views.py:138 msgid "Confirm order cancellation" msgstr "" -#: order/views.py:116 order/views.py:142 +#: order/views.py:115 order/views.py:141 msgid "Order cannot be cancelled" msgstr "" -#: order/views.py:130 +#: order/views.py:129 msgid "Cancel sales order" msgstr "" -#: order/views.py:156 +#: order/views.py:155 msgid "Issue Order" msgstr "" -#: order/views.py:165 +#: order/views.py:164 msgid "Confirm order placement" msgstr "" -#: order/views.py:175 +#: order/views.py:174 msgid "Purchase order issued" msgstr "" -#: order/views.py:186 +#: order/views.py:185 msgid "Complete Order" msgstr "" -#: order/views.py:202 +#: order/views.py:201 msgid "Confirm order completion" msgstr "" -#: order/views.py:213 +#: order/views.py:212 msgid "Purchase order completed" msgstr "" -#: order/views.py:223 +#: order/views.py:222 msgid "Ship Order" msgstr "" -#: order/views.py:239 +#: order/views.py:238 msgid "Confirm order shipment" msgstr "" -#: order/views.py:245 +#: order/views.py:244 msgid "Could not ship order" msgstr "" -#: order/views.py:292 +#: order/views.py:291 msgid "Match Supplier Parts" msgstr "" -#: order/views.py:480 -msgid "Receive Parts" -msgstr "" - -#: order/views.py:552 -msgid "Items received" -msgstr "" - -#: order/views.py:620 -msgid "Error converting quantity to number" -msgstr "" - -#: order/views.py:626 -msgid "Receive quantity less than zero" -msgstr "" - -#: order/views.py:632 -msgid "No lines specified" -msgstr "" - -#: order/views.py:705 +#: order/views.py:535 msgid "Update prices" msgstr "" -#: order/views.py:963 +#: order/views.py:793 #, python-brace-format msgid "Ordered {n} parts" msgstr "" -#: order/views.py:1016 +#: order/views.py:846 msgid "Allocate Serial Numbers" msgstr "" -#: order/views.py:1061 +#: order/views.py:891 #, python-brace-format msgid "Allocated {n} items" msgstr "" -#: order/views.py:1077 +#: order/views.py:907 msgid "Select line item" msgstr "" -#: order/views.py:1108 +#: order/views.py:938 #, python-brace-format msgid "No matching item for serial {serial}" msgstr "" -#: order/views.py:1118 +#: order/views.py:948 #, python-brace-format msgid "{serial} is not in stock" msgstr "" -#: order/views.py:1126 +#: order/views.py:956 #, python-brace-format msgid "{serial} already allocated to an order" msgstr "" -#: order/views.py:1180 -msgid "Allocate Stock to Order" -msgstr "" - -#: order/views.py:1254 -msgid "Edit Allocation Quantity" -msgstr "" - -#: order/views.py:1269 -msgid "Remove allocation" -msgstr "" - -#: order/views.py:1341 +#: order/views.py:1072 msgid "Sales order not found" msgstr "" -#: order/views.py:1347 +#: order/views.py:1078 msgid "Price not found" msgstr "" -#: order/views.py:1350 +#: order/views.py:1081 #, python-brace-format msgid "Updated {part} unit-price to {price}" msgstr "" -#: order/views.py:1355 +#: order/views.py:1086 #, python-brace-format msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" +#: part/api.py:54 part/models.py:299 part/templates/part/cat_link.html:7 +#: part/templates/part/category.html:108 part/templates/part/category.html:122 +#: part/templates/part/category_navbar.html:21 +#: part/templates/part/category_navbar.html:24 +#: templates/InvenTree/index.html:102 templates/InvenTree/search.html:114 +#: templates/InvenTree/settings/navbar.html:95 +#: templates/InvenTree/settings/navbar.html:97 +#: templates/js/translated/part.js:1165 templates/navbar.html:29 +#: templates/stats.html:80 templates/stats.html:89 users/models.py:41 +msgid "Parts" +msgstr "" + #: part/api.py:700 msgid "Must be greater than zero" msgstr "" @@ -3934,7 +3804,7 @@ msgstr "" msgid "This field is required" msgstr "" -#: part/bom.py:133 part/models.py:75 part/models.py:733 +#: part/bom.py:133 part/models.py:76 part/models.py:734 #: part/templates/part/category.html:75 part/templates/part/part_base.html:290 msgid "Default Location" msgstr "" @@ -3999,7 +3869,7 @@ msgstr "" msgid "Include part supplier data in exported BOM" msgstr "" -#: part/forms.py:96 part/models.py:2250 +#: part/forms.py:96 part/models.py:2254 msgid "Parent Part" msgstr "" @@ -4043,391 +3913,387 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:76 +#: part/models.py:77 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:79 +#: part/models.py:80 msgid "Default keywords" msgstr "" -#: part/models.py:79 +#: part/models.py:80 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:89 part/models.py:2296 +#: part/models.py:90 part/models.py:2300 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:90 part/templates/part/category.html:32 +#: part/models.py:91 part/templates/part/category.html:32 #: part/templates/part/category.html:103 templates/InvenTree/search.html:127 #: templates/stats.html:84 users/models.py:40 msgid "Part Categories" msgstr "" -#: part/models.py:383 +#: part/models.py:384 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:435 part/models.py:447 +#: part/models.py:436 part/models.py:448 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:544 +#: part/models.py:545 msgid "Next available serial numbers are" msgstr "" -#: part/models.py:548 +#: part/models.py:549 msgid "Next available serial number is" msgstr "" -#: part/models.py:553 +#: part/models.py:554 msgid "Most recent serial number is" msgstr "" -#: part/models.py:632 +#: part/models.py:633 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:657 +#: part/models.py:658 msgid "Part name" msgstr "" -#: part/models.py:664 +#: part/models.py:665 msgid "Is Template" msgstr "" -#: part/models.py:665 +#: part/models.py:666 msgid "Is this part a template part?" msgstr "" -#: part/models.py:675 +#: part/models.py:676 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:676 +#: part/models.py:677 msgid "Variant Of" msgstr "" -#: part/models.py:682 +#: part/models.py:683 msgid "Part description" msgstr "" -#: part/models.py:687 part/templates/part/category.html:82 +#: part/models.py:688 part/templates/part/category.html:82 #: part/templates/part/part_base.html:259 msgid "Keywords" msgstr "" -#: part/models.py:688 +#: part/models.py:689 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:695 part/models.py:2295 +#: part/models.py:696 part/models.py:2299 #: part/templates/part/set_category.html:15 -#: templates/InvenTree/settings/settings.html:167 -#: templates/js/translated/part.js:916 +#: templates/InvenTree/settings/settings.html:169 +#: templates/js/translated/part.js:927 msgid "Category" msgstr "" -#: part/models.py:696 +#: part/models.py:697 msgid "Part category" msgstr "" -#: part/models.py:701 part/templates/part/part_base.html:235 -#: templates/js/translated/part.js:517 templates/js/translated/part.js:749 +#: part/models.py:702 part/templates/part/part_base.html:235 +#: templates/js/translated/part.js:528 templates/js/translated/part.js:760 msgid "IPN" msgstr "" -#: part/models.py:702 +#: part/models.py:703 msgid "Internal Part Number" msgstr "" -#: part/models.py:708 +#: part/models.py:709 msgid "Part revision or version number" msgstr "" -#: part/models.py:709 part/templates/part/part_base.html:252 -#: report/models.py:200 templates/js/translated/part.js:521 +#: part/models.py:710 part/templates/part/part_base.html:252 +#: report/models.py:200 templates/js/translated/part.js:532 msgid "Revision" msgstr "" -#: part/models.py:731 +#: part/models.py:732 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:778 part/templates/part/part_base.html:297 +#: part/models.py:779 part/templates/part/part_base.html:297 msgid "Default Supplier" msgstr "" -#: part/models.py:779 +#: part/models.py:780 msgid "Default supplier part" msgstr "" -#: part/models.py:786 +#: part/models.py:787 msgid "Default Expiry" msgstr "" -#: part/models.py:787 +#: part/models.py:788 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:792 +#: part/models.py:793 msgid "Minimum Stock" msgstr "" -#: part/models.py:793 +#: part/models.py:794 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:800 +#: part/models.py:801 msgid "Stock keeping units for this part" msgstr "" -#: part/models.py:806 +#: part/models.py:807 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:812 +#: part/models.py:813 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:818 +#: part/models.py:819 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:823 +#: part/models.py:824 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:828 +#: part/models.py:829 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:832 templates/js/translated/table_filters.js:34 +#: part/models.py:833 templates/js/translated/table_filters.js:34 #: templates/js/translated/table_filters.js:82 #: templates/js/translated/table_filters.js:268 -#: templates/js/translated/table_filters.js:337 +#: templates/js/translated/table_filters.js:346 msgid "Active" msgstr "" -#: part/models.py:833 +#: part/models.py:834 msgid "Is this part active?" msgstr "" -#: part/models.py:838 +#: part/models.py:839 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:843 +#: part/models.py:844 msgid "Part notes - supports Markdown formatting" msgstr "" -#: part/models.py:846 +#: part/models.py:847 msgid "BOM checksum" msgstr "" -#: part/models.py:846 +#: part/models.py:847 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:849 +#: part/models.py:850 msgid "BOM checked by" msgstr "" -#: part/models.py:851 +#: part/models.py:852 msgid "BOM checked date" msgstr "" -#: part/models.py:855 +#: part/models.py:856 msgid "Creation User" msgstr "" -#: part/models.py:1601 +#: part/models.py:1605 msgid "Sell multiple" msgstr "" -#: part/models.py:2096 +#: part/models.py:2100 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:2113 +#: part/models.py:2117 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:2133 templates/js/translated/part.js:1205 -#: templates/js/translated/stock.js:556 +#: part/models.py:2137 templates/js/translated/part.js:1216 +#: templates/js/translated/stock.js:535 msgid "Test Name" msgstr "" -#: part/models.py:2134 +#: part/models.py:2138 msgid "Enter a name for the test" msgstr "" -#: part/models.py:2139 +#: part/models.py:2143 msgid "Test Description" msgstr "" -#: part/models.py:2140 +#: part/models.py:2144 msgid "Enter description for this test" msgstr "" -#: part/models.py:2145 templates/js/translated/part.js:1214 +#: part/models.py:2149 templates/js/translated/part.js:1225 #: templates/js/translated/table_filters.js:254 msgid "Required" msgstr "" -#: part/models.py:2146 +#: part/models.py:2150 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:2151 templates/js/translated/part.js:1222 +#: part/models.py:2155 templates/js/translated/part.js:1233 msgid "Requires Value" msgstr "" -#: part/models.py:2152 +#: part/models.py:2156 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:2157 templates/js/translated/part.js:1229 +#: part/models.py:2161 templates/js/translated/part.js:1240 msgid "Requires Attachment" msgstr "" -#: part/models.py:2158 +#: part/models.py:2162 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:2169 +#: part/models.py:2173 #, python-brace-format msgid "Illegal character in template name ({c})" msgstr "" -#: part/models.py:2205 +#: part/models.py:2209 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:2213 +#: part/models.py:2217 msgid "Parameter Name" msgstr "" -#: part/models.py:2220 +#: part/models.py:2224 msgid "Parameter Units" msgstr "" -#: part/models.py:2252 part/models.py:2301 part/models.py:2302 -#: templates/InvenTree/settings/settings.html:162 +#: part/models.py:2256 part/models.py:2305 part/models.py:2306 +#: templates/InvenTree/settings/settings.html:164 msgid "Parameter Template" msgstr "" -#: part/models.py:2254 +#: part/models.py:2258 msgid "Data" msgstr "" -#: part/models.py:2254 +#: part/models.py:2258 msgid "Parameter Value" msgstr "" -#: part/models.py:2306 templates/InvenTree/settings/settings.html:171 +#: part/models.py:2310 templates/InvenTree/settings/settings.html:173 msgid "Default Value" msgstr "" -#: part/models.py:2307 +#: part/models.py:2311 msgid "Default Parameter Value" msgstr "" -#: part/models.py:2341 +#: part/models.py:2362 msgid "Select parent part" msgstr "" -#: part/models.py:2349 +#: part/models.py:2370 msgid "Sub part" msgstr "" -#: part/models.py:2350 +#: part/models.py:2371 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:2356 +#: part/models.py:2377 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:2358 templates/js/translated/bom.js:256 -#: templates/js/translated/bom.js:314 +#: part/models.py:2379 templates/js/translated/bom.js:275 +#: templates/js/translated/bom.js:335 msgid "Optional" msgstr "" -#: part/models.py:2358 +#: part/models.py:2379 msgid "This BOM item is optional" msgstr "" -#: part/models.py:2361 +#: part/models.py:2382 msgid "Overage" msgstr "" -#: part/models.py:2362 +#: part/models.py:2383 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:2365 +#: part/models.py:2386 msgid "BOM item reference" msgstr "" -#: part/models.py:2368 +#: part/models.py:2389 msgid "BOM item notes" msgstr "" -#: part/models.py:2370 +#: part/models.py:2391 msgid "Checksum" msgstr "" -#: part/models.py:2370 +#: part/models.py:2391 msgid "BOM line checksum" msgstr "" -#: part/models.py:2374 templates/js/translated/bom.js:331 -#: templates/js/translated/bom.js:338 +#: part/models.py:2395 templates/js/translated/bom.js:352 +#: templates/js/translated/bom.js:359 #: templates/js/translated/table_filters.js:68 msgid "Inherited" msgstr "" -#: part/models.py:2375 +#: part/models.py:2396 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:2380 templates/js/translated/bom.js:323 +#: part/models.py:2401 templates/js/translated/bom.js:344 msgid "Allow Variants" msgstr "" -#: part/models.py:2381 +#: part/models.py:2402 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:2466 stock/models.py:341 +#: part/models.py:2487 stock/models.py:341 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:2475 part/models.py:2477 +#: part/models.py:2496 part/models.py:2498 msgid "Sub part must be specified" msgstr "" -#: part/models.py:2480 -msgid "BOM Item" -msgstr "" - -#: part/models.py:2599 +#: part/models.py:2620 msgid "Part 1" msgstr "" -#: part/models.py:2603 +#: part/models.py:2624 msgid "Part 2" msgstr "" -#: part/models.py:2603 +#: part/models.py:2624 msgid "Select Related Part" msgstr "" -#: part/models.py:2635 +#: part/models.py:2656 msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique" msgstr "" @@ -4578,7 +4444,7 @@ msgstr "" msgid "Create new part" msgstr "" -#: part/templates/part/category.html:131 +#: part/templates/part/category.html:131 templates/js/translated/bom.js:39 msgid "New Part" msgstr "" @@ -4658,7 +4524,7 @@ msgstr "" msgid "Import Parts" msgstr "" -#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:352 +#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:363 msgid "Duplicate Part" msgstr "" @@ -4785,34 +4651,26 @@ msgstr "" msgid "Add Test Result Template" msgstr "" -#: part/templates/part/detail.html:716 -msgid "Edit Test Result Template" -msgstr "" - -#: part/templates/part/detail.html:728 -msgid "Delete Test Result Template" -msgstr "" - -#: part/templates/part/detail.html:784 +#: part/templates/part/detail.html:755 msgid "Edit Part Notes" msgstr "" -#: part/templates/part/detail.html:936 +#: part/templates/part/detail.html:907 #, python-format msgid "Purchase Unit Price - %(currency)s" msgstr "" -#: part/templates/part/detail.html:948 +#: part/templates/part/detail.html:919 #, python-format msgid "Unit Price-Cost Difference - %(currency)s" msgstr "" -#: part/templates/part/detail.html:960 +#: part/templates/part/detail.html:931 #, python-format msgid "Supplier Unit Cost - %(currency)s" msgstr "" -#: part/templates/part/detail.html:1049 +#: part/templates/part/detail.html:1020 #, python-format msgid "Unit Price - %(currency)s" msgstr "" @@ -4874,9 +4732,9 @@ msgstr "" msgid "Part is virtual (not a physical part)" msgstr "" -#: part/templates/part/part_base.html:58 templates/js/translated/company.js:503 -#: templates/js/translated/company.js:759 templates/js/translated/part.js:432 -#: templates/js/translated/part.js:509 +#: part/templates/part/part_base.html:58 templates/js/translated/company.js:504 +#: templates/js/translated/company.js:761 templates/js/translated/part.js:443 +#: templates/js/translated/part.js:520 msgid "Inactive" msgstr "" @@ -4942,10 +4800,16 @@ msgid "This part is a variant of %(link)s" msgstr "" #: part/templates/part/part_base.html:161 +#: templates/js/translated/model_renderers.js:169 +#: templates/js/translated/order.js:1503 #: templates/js/translated/table_filters.js:166 msgid "In Stock" msgstr "" +#: part/templates/part/part_base.html:167 templates/js/translated/part.js:960 +msgid "On Order" +msgstr "" + #: part/templates/part/part_base.html:174 templates/InvenTree/index.html:186 msgid "Required for Build Orders" msgstr "" @@ -4958,18 +4822,18 @@ msgstr "" msgid "Allocated to Orders" msgstr "" -#: part/templates/part/part_base.html:203 templates/js/translated/bom.js:352 +#: part/templates/part/part_base.html:203 templates/js/translated/bom.js:373 msgid "Can Build" msgstr "" -#: part/templates/part/part_base.html:209 templates/js/translated/part.js:765 -#: templates/js/translated/part.js:953 +#: part/templates/part/part_base.html:209 templates/js/translated/part.js:776 +#: templates/js/translated/part.js:964 msgid "Building" msgstr "" #: part/templates/part/part_base.html:223 -#: part/templates/part/part_base.html:524 -#: part/templates/part/part_base.html:550 +#: part/templates/part/part_base.html:531 +#: part/templates/part/part_base.html:557 msgid "Show Part Details" msgstr "" @@ -4977,16 +4841,16 @@ msgstr "" msgid "Latest Serial Number" msgstr "" -#: part/templates/part/part_base.html:396 part/templates/part/prices.html:144 +#: part/templates/part/part_base.html:402 part/templates/part/prices.html:144 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:439 +#: part/templates/part/part_base.html:445 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:519 -#: part/templates/part/part_base.html:544 +#: part/templates/part/part_base.html:526 +#: part/templates/part/part_base.html:551 msgid "Hide Part Details" msgstr "" @@ -5013,7 +4877,7 @@ msgid "Total Cost" msgstr "" #: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:40 -#: templates/js/translated/bom.js:307 +#: templates/js/translated/bom.js:327 msgid "No supplier pricing available" msgstr "" @@ -5051,32 +4915,39 @@ msgstr "" msgid "Select from existing images" msgstr "" -#: part/templates/part/partial_delete.html:7 +#: part/templates/part/partial_delete.html:9 +#, python-format +msgid "Part '%(full_name)s' cannot be deleted as it is still marked as active.\n" +"
Disable the \"Active\" part attribute and re-try.\n" +" " +msgstr "" + +#: part/templates/part/partial_delete.html:17 #, python-format msgid "Are you sure you want to delete part '%(full_name)s'?" msgstr "" -#: part/templates/part/partial_delete.html:12 +#: part/templates/part/partial_delete.html:22 #, python-format msgid "This part is used in BOMs for %(count)s other parts. If you delete this part, the BOMs for the following parts will be updated" msgstr "" -#: part/templates/part/partial_delete.html:22 +#: part/templates/part/partial_delete.html:32 #, python-format msgid "There are %(count)s stock entries defined for this part. If you delete this part, the following stock entries will also be deleted:" msgstr "" -#: part/templates/part/partial_delete.html:33 +#: part/templates/part/partial_delete.html:43 #, python-format msgid "There are %(count)s manufacturers defined for this part. If you delete this part, the following manufacturer parts will also be deleted:" msgstr "" -#: part/templates/part/partial_delete.html:44 +#: part/templates/part/partial_delete.html:54 #, python-format msgid "There are %(count)s suppliers defined for this part. If you delete this part, the following supplier parts will also be deleted:" msgstr "" -#: part/templates/part/partial_delete.html:55 +#: part/templates/part/partial_delete.html:65 #, python-format msgid "There are %(count)s unique parts tracked for '%(full_name)s'. Deleting this part will permanently remove this tracking information." msgstr "" @@ -5109,7 +4980,7 @@ msgstr "" msgid "Calculation parameters" msgstr "" -#: part/templates/part/prices.html:155 templates/js/translated/bom.js:301 +#: part/templates/part/prices.html:155 templates/js/translated/bom.js:321 msgid "Supplier Cost" msgstr "" @@ -5151,8 +5022,9 @@ msgstr "" msgid "Set category for the following parts" msgstr "" -#: part/templates/part/stock_count.html:7 templates/js/translated/bom.js:278 -#: templates/js/translated/part.js:755 templates/js/translated/part.js:957 +#: part/templates/part/stock_count.html:7 templates/js/translated/bom.js:297 +#: templates/js/translated/model_renderers.js:167 +#: templates/js/translated/part.js:766 templates/js/translated/part.js:968 msgid "No Stock" msgstr "" @@ -5262,7 +5134,7 @@ msgstr "" msgid "Delete Part Parameter Template" msgstr "" -#: part/views.py:1502 templates/js/translated/part.js:303 +#: part/views.py:1502 templates/js/translated/part.js:308 msgid "Edit Part Category" msgstr "" @@ -5400,17 +5272,17 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:88 -#: stock/models.py:1807 +#: stock/models.py:1804 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:89 -#: stock/models.py:1813 +#: stock/models.py:1810 msgid "Result" msgstr "" #: report/templates/report/inventree_test_report_base.html:92 -#: templates/js/translated/order.js:353 templates/js/translated/stock.js:1523 +#: templates/js/translated/order.js:684 templates/js/translated/stock.js:1502 msgid "Date" msgstr "" @@ -5422,51 +5294,9 @@ msgstr "" msgid "Fail" msgstr "" -#: stock/api.py:146 -msgid "Request must contain list of stock items" -msgstr "" - -#: stock/api.py:154 -msgid "Improperly formatted data" -msgstr "" - -#: stock/api.py:162 -msgid "Each entry must contain a valid integer primary-key" -msgstr "" - -#: stock/api.py:168 -msgid "Primary key does not match valid stock item" -msgstr "" - -#: stock/api.py:178 -msgid "Invalid quantity value" -msgstr "" - -#: stock/api.py:183 -msgid "Quantity must not be less than zero" -msgstr "" - -#: stock/api.py:211 -#, python-brace-format -msgid "Updated stock for {n} items" -msgstr "" - -#: stock/api.py:247 stock/api.py:280 -msgid "Specified quantity exceeds stock quantity" -msgstr "" - -#: stock/api.py:270 -msgid "Valid location must be specified" -msgstr "" - -#: stock/api.py:290 -#, python-brace-format -msgid "Moved {n} parts to {loc}" -msgstr "" - #: stock/forms.py:79 stock/forms.py:307 stock/models.py:556 #: stock/templates/stock/item_base.html:395 -#: templates/js/translated/stock.js:967 +#: templates/js/translated/stock.js:946 msgid "Expiry Date" msgstr "" @@ -5678,38 +5508,54 @@ msgstr "" msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:1727 +#: stock/models.py:1724 msgid "Entry notes" msgstr "" -#: stock/models.py:1784 +#: stock/models.py:1781 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:1790 +#: stock/models.py:1787 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:1808 +#: stock/models.py:1805 msgid "Test name" msgstr "" -#: stock/models.py:1814 templates/js/translated/table_filters.js:244 +#: stock/models.py:1811 templates/js/translated/table_filters.js:244 msgid "Test result" msgstr "" -#: stock/models.py:1820 +#: stock/models.py:1817 msgid "Test output value" msgstr "" -#: stock/models.py:1827 +#: stock/models.py:1824 msgid "Test result attachment" msgstr "" -#: stock/models.py:1833 +#: stock/models.py:1830 msgid "Test notes" msgstr "" +#: stock/serializers.py:424 +msgid "StockItem primary key value" +msgstr "" + +#: stock/serializers.py:452 +msgid "Stock transaction notes" +msgstr "" + +#: stock/serializers.py:462 +msgid "A list of stock items must be provided" +msgstr "" + +#: stock/serializers.py:554 +msgid "Destination stock location" +msgstr "" + #: stock/templates/stock/item.html:17 msgid "Stock Tracking Information" msgstr "" @@ -5747,7 +5593,7 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:125 stock/views.py:534 +#: stock/templates/stock/item.html:125 stock/views.py:511 msgid "Install Stock Item" msgstr "" @@ -5910,7 +5756,7 @@ msgid "next page" msgstr "" #: stock/templates/stock/item_base.html:303 -#: templates/js/translated/build.js:651 +#: templates/js/translated/build.js:658 msgid "No location set" msgstr "" @@ -5937,7 +5783,7 @@ msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:408 -#: templates/js/translated/stock.js:980 +#: templates/js/translated/stock.js:959 msgid "Last Updated" msgstr "" @@ -6019,6 +5865,10 @@ msgstr "" msgid "All stock items" msgstr "" +#: stock/templates/stock/location.html:42 +msgid "Create new stock location" +msgstr "" + #: stock/templates/stock/location.html:55 msgid "Check-in Items" msgstr "" @@ -6058,7 +5908,7 @@ msgstr "" msgid "Stock Details" msgstr "" -#: stock/templates/stock/location.html:129 templates/InvenTree/search.html:279 +#: stock/templates/stock/location.html:129 templates/InvenTree/search.html:196 #: templates/stats.html:97 users/models.py:42 msgid "Stock Locations" msgstr "" @@ -6071,6 +5921,10 @@ msgstr "" msgid "Print labels" msgstr "" +#: stock/templates/stock/location.html:250 +msgid "New Location" +msgstr "" + #: stock/templates/stock/location.html:251 msgid "Create new location" msgstr "" @@ -6111,7 +5965,7 @@ msgstr "" msgid "The following stock items will be uninstalled" msgstr "" -#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:932 +#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:909 msgid "Convert Stock Item" msgstr "" @@ -6132,104 +5986,104 @@ msgstr "" msgid "Are you sure you want to delete this stock tracking entry?" msgstr "" -#: stock/views.py:181 +#: stock/views.py:158 msgid "Edit Stock Location" msgstr "" -#: stock/views.py:288 stock/views.py:911 stock/views.py:1033 -#: stock/views.py:1398 +#: stock/views.py:265 stock/views.py:888 stock/views.py:1010 +#: stock/views.py:1375 msgid "Owner is required (ownership control is enabled)" msgstr "" -#: stock/views.py:303 +#: stock/views.py:280 msgid "Stock Location QR code" msgstr "" -#: stock/views.py:322 +#: stock/views.py:299 msgid "Assign to Customer" msgstr "" -#: stock/views.py:331 +#: stock/views.py:308 msgid "Customer must be specified" msgstr "" -#: stock/views.py:355 +#: stock/views.py:332 msgid "Return to Stock" msgstr "" -#: stock/views.py:364 +#: stock/views.py:341 msgid "Specify a valid location" msgstr "" -#: stock/views.py:375 +#: stock/views.py:352 msgid "Stock item returned from customer" msgstr "" -#: stock/views.py:386 +#: stock/views.py:363 msgid "Delete All Test Data" msgstr "" -#: stock/views.py:403 +#: stock/views.py:380 msgid "Confirm test data deletion" msgstr "" -#: stock/views.py:508 +#: stock/views.py:485 msgid "Stock Item QR Code" msgstr "" -#: stock/views.py:683 +#: stock/views.py:660 msgid "Uninstall Stock Items" msgstr "" -#: stock/views.py:780 templates/js/translated/stock.js:353 +#: stock/views.py:757 templates/js/translated/stock.js:321 msgid "Confirm stock adjustment" msgstr "" -#: stock/views.py:791 +#: stock/views.py:768 msgid "Uninstalled stock items" msgstr "" -#: stock/views.py:813 +#: stock/views.py:790 msgid "Edit Stock Item" msgstr "" -#: stock/views.py:959 +#: stock/views.py:936 msgid "Create new Stock Location" msgstr "" -#: stock/views.py:1050 +#: stock/views.py:1027 msgid "Serialize Stock" msgstr "" -#: stock/views.py:1143 templates/js/translated/build.js:392 +#: stock/views.py:1120 msgid "Create new Stock Item" msgstr "" -#: stock/views.py:1285 +#: stock/views.py:1262 msgid "Duplicate Stock Item" msgstr "" -#: stock/views.py:1367 +#: stock/views.py:1344 msgid "Quantity cannot be negative" msgstr "" -#: stock/views.py:1467 +#: stock/views.py:1444 msgid "Delete Stock Location" msgstr "" -#: stock/views.py:1480 +#: stock/views.py:1457 msgid "Delete Stock Item" msgstr "" -#: stock/views.py:1491 +#: stock/views.py:1468 msgid "Delete Stock Tracking Entry" msgstr "" -#: stock/views.py:1498 +#: stock/views.py:1475 msgid "Edit Stock Tracking Entry" msgstr "" -#: stock/views.py:1507 +#: stock/views.py:1484 msgid "Add Stock Tracking Entry" msgstr "" @@ -6313,14 +6167,6 @@ msgstr "" msgid "Enter a search query" msgstr "" -#: templates/InvenTree/search.html:268 templates/js/translated/stock.js:699 -msgid "Shipped to customer" -msgstr "" - -#: templates/InvenTree/search.html:271 templates/js/translated/stock.js:709 -msgid "No stock location set" -msgstr "" - #: templates/InvenTree/settings/barcode.html:8 msgid "Barcode Settings" msgstr "" @@ -6365,6 +6211,14 @@ msgstr "" msgid "Setting" msgstr "" +#: templates/InvenTree/settings/login.html:9 +msgid "Login Settings" +msgstr "" + +#: templates/InvenTree/settings/login.html:22 templates/account/signup.html:5 +msgid "Signup" +msgstr "" + #: templates/InvenTree/settings/navbar.html:12 #: templates/InvenTree/settings/user_settings.html:9 msgid "User Settings" @@ -6382,7 +6236,7 @@ msgstr "" #: templates/InvenTree/settings/navbar.html:27 #: templates/InvenTree/settings/navbar.html:29 -#: templates/js/translated/tables.js:366 templates/search_form.html:6 +#: templates/js/translated/tables.js:375 templates/search_form.html:6 #: templates/search_form.html:8 msgid "Search" msgstr "" @@ -6397,38 +6251,48 @@ msgstr "" msgid "Reports" msgstr "" -#: templates/InvenTree/settings/navbar.html:46 -#: templates/InvenTree/settings/navbar.html:48 -#: templates/InvenTree/settings/settings.html:8 templates/navbar.html:94 +#: templates/InvenTree/settings/navbar.html:45 +#: templates/InvenTree/settings/navbar.html:47 +msgid "Forms" +msgstr "" + +#: templates/InvenTree/settings/navbar.html:52 +#: templates/InvenTree/settings/navbar.html:54 +#: templates/InvenTree/settings/settings.html:8 templates/navbar.html:90 msgid "Settings" msgstr "" -#: templates/InvenTree/settings/navbar.html:56 +#: templates/InvenTree/settings/navbar.html:62 msgid "InvenTree Settings" msgstr "" -#: templates/InvenTree/settings/navbar.html:59 -#: templates/InvenTree/settings/navbar.html:61 templates/stats.html:9 +#: templates/InvenTree/settings/navbar.html:65 +#: templates/InvenTree/settings/navbar.html:67 templates/stats.html:9 msgid "Server" msgstr "" -#: templates/InvenTree/settings/navbar.html:65 -#: templates/InvenTree/settings/navbar.html:67 -msgid "Barcodes" -msgstr "" - #: templates/InvenTree/settings/navbar.html:71 -#: templates/InvenTree/settings/navbar.html:73 -msgid "Currencies" +#: templates/InvenTree/settings/navbar.html:73 templates/navbar.html:87 +msgid "Login" msgstr "" #: templates/InvenTree/settings/navbar.html:77 #: templates/InvenTree/settings/navbar.html:79 -msgid "Reporting" +msgid "Barcodes" +msgstr "" + +#: templates/InvenTree/settings/navbar.html:83 +#: templates/InvenTree/settings/navbar.html:85 +msgid "Currencies" msgstr "" #: templates/InvenTree/settings/navbar.html:89 #: templates/InvenTree/settings/navbar.html:91 +msgid "Reporting" +msgstr "" + +#: templates/InvenTree/settings/navbar.html:101 +#: templates/InvenTree/settings/navbar.html:103 msgid "Categories" msgstr "" @@ -6469,21 +6333,21 @@ msgstr "" msgid "Edit setting" msgstr "" -#: templates/InvenTree/settings/settings.html:152 +#: templates/InvenTree/settings/settings.html:154 msgid "No category parameter templates found" msgstr "" -#: templates/InvenTree/settings/settings.html:174 -#: templates/InvenTree/settings/settings.html:273 +#: templates/InvenTree/settings/settings.html:176 +#: templates/InvenTree/settings/settings.html:275 msgid "Edit Template" msgstr "" -#: templates/InvenTree/settings/settings.html:175 -#: templates/InvenTree/settings/settings.html:274 +#: templates/InvenTree/settings/settings.html:177 +#: templates/InvenTree/settings/settings.html:276 msgid "Delete Template" msgstr "" -#: templates/InvenTree/settings/settings.html:253 +#: templates/InvenTree/settings/settings.html:255 msgid "No part parameter templates found" msgstr "" @@ -6495,70 +6359,140 @@ msgstr "" msgid "Stock Settings" msgstr "" -#: templates/InvenTree/settings/user.html:9 +#: templates/InvenTree/settings/user.html:11 msgid "Account Settings" msgstr "" -#: templates/InvenTree/settings/user.html:15 +#: templates/InvenTree/settings/user.html:19 #: templates/js/translated/helpers.js:26 msgid "Edit" msgstr "" -#: templates/InvenTree/settings/user.html:17 +#: templates/InvenTree/settings/user.html:21 +#: templates/account/password_reset_from_key.html:4 +#: templates/account/password_reset_from_key.html:7 msgid "Change Password" msgstr "" -#: templates/InvenTree/settings/user.html:24 -#: templates/registration/login.html:58 +#: templates/InvenTree/settings/user.html:28 msgid "Username" msgstr "" -#: templates/InvenTree/settings/user.html:28 +#: templates/InvenTree/settings/user.html:32 msgid "First Name" msgstr "" -#: templates/InvenTree/settings/user.html:32 +#: templates/InvenTree/settings/user.html:36 msgid "Last Name" msgstr "" -#: templates/InvenTree/settings/user.html:36 -msgid "Email Address" +#: templates/InvenTree/settings/user.html:42 +msgid "E-Mail" msgstr "" -#: templates/InvenTree/settings/user.html:42 -msgid "Theme Settings" +#: templates/InvenTree/settings/user.html:47 +msgid "The following e-mail addresses are associated with your account:" +msgstr "" + +#: templates/InvenTree/settings/user.html:61 +msgid "Verified" msgstr "" #: templates/InvenTree/settings/user.html:63 +msgid "Unverified" +msgstr "" + +#: templates/InvenTree/settings/user.html:65 +msgid "Primary" +msgstr "" + +#: templates/InvenTree/settings/user.html:71 +msgid "Make Primary" +msgstr "" + +#: templates/InvenTree/settings/user.html:72 +msgid "Re-send Verification" +msgstr "" + +#: templates/InvenTree/settings/user.html:73 +#: templates/InvenTree/settings/user.html:130 +msgid "Remove" +msgstr "" + +#: templates/InvenTree/settings/user.html:80 +msgid "Warning:" +msgstr "" + +#: templates/InvenTree/settings/user.html:81 +msgid "You currently do not have any e-mail address set up. You should really add an e-mail address so you can receive notifications, reset your password, etc." +msgstr "" + +#: templates/InvenTree/settings/user.html:88 +msgid "Add E-mail Address" +msgstr "" + +#: templates/InvenTree/settings/user.html:93 +msgid "Add E-mail" +msgstr "" + +#: templates/InvenTree/settings/user.html:100 +msgid "Social Accounts" +msgstr "" + +#: templates/InvenTree/settings/user.html:105 +msgid "You can sign in to your account using any of the following third party accounts:" +msgstr "" + +#: templates/InvenTree/settings/user.html:138 +msgid "You currently have no social network accounts connected to this account." +msgstr "" + +#: templates/InvenTree/settings/user.html:142 +msgid "Add a 3rd Party Account" +msgstr "" + +#: templates/InvenTree/settings/user.html:153 +msgid "Theme Settings" +msgstr "" + +#: templates/InvenTree/settings/user.html:174 msgid "Set Theme" msgstr "" -#: templates/InvenTree/settings/user.html:70 +#: templates/InvenTree/settings/user.html:181 msgid "Language Settings" msgstr "" -#: templates/InvenTree/settings/user.html:89 +#: templates/InvenTree/settings/user.html:200 #, python-format msgid "%(lang_translated)s%% translated" msgstr "" -#: templates/InvenTree/settings/user.html:91 +#: templates/InvenTree/settings/user.html:202 msgid "No translations available" msgstr "" -#: templates/InvenTree/settings/user.html:98 +#: templates/InvenTree/settings/user.html:209 msgid "Set Language" msgstr "" -#: templates/InvenTree/settings/user.html:103 +#: templates/InvenTree/settings/user.html:214 msgid "Help the translation efforts!" msgstr "" -#: templates/InvenTree/settings/user.html:104 +#: templates/InvenTree/settings/user.html:215 #, python-format msgid "Native language translation of the InvenTree web application is community contributed via crowdin. Contributions are welcomed and encouraged." msgstr "" +#: templates/InvenTree/settings/user.html:223 +msgid "Do you really want to remove the selected e-mail address?" +msgstr "" + +#: templates/InvenTree/settings/user_forms.html:9 +msgid "Form Settings" +msgstr "" + #: templates/InvenTree/settings/user_homepage.html:9 msgid "Home Page Settings" msgstr "" @@ -6641,11 +6575,108 @@ msgstr "" #: templates/about.html:107 templates/js/translated/modals.js:50 #: templates/js/translated/modals.js:584 templates/js/translated/modals.js:678 -#: templates/js/translated/modals.js:971 templates/modals.html:29 +#: templates/js/translated/modals.js:982 templates/modals.html:29 #: templates/modals.html:54 msgid "Close" msgstr "" +#: templates/account/email_confirm.html:6 +#: templates/account/email_confirm.html:10 +msgid "Confirm E-mail Address" +msgstr "" + +#: templates/account/email_confirm.html:16 +#, python-format +msgid "Please confirm that %(email)s is an e-mail address for user %(user_display)s." +msgstr "" + +#: templates/account/email_confirm.html:27 +#, python-format +msgid "This e-mail confirmation link expired or is invalid. Please issue a new e-mail confirmation request." +msgstr "" + +#: templates/account/login.html:5 templates/account/login.html:14 +#: templates/account/login.html:36 +msgid "Sign In" +msgstr "" + +#: templates/account/login.html:19 +#, python-format +msgid "Please sign in with one\n" +"of your existing third party accounts or sign up\n" +"for a account and sign in below:" +msgstr "" + +#: templates/account/login.html:23 +#, python-format +msgid "If you have not created an account yet, then please\n" +"sign up first." +msgstr "" + +#: templates/account/login.html:38 +msgid "Forgot Password?" +msgstr "" + +#: templates/account/login.html:45 +msgid "or use SSO" +msgstr "" + +#: templates/account/logout.html:5 templates/account/logout.html:8 +#: templates/account/logout.html:17 +msgid "Sign Out" +msgstr "" + +#: templates/account/logout.html:10 +msgid "Are you sure you want to sign out?" +msgstr "" + +#: templates/account/password_reset.html:5 +#: templates/account/password_reset.html:12 +msgid "Password Reset" +msgstr "" + +#: templates/account/password_reset.html:18 +msgid "Forgotten your password? Enter your e-mail address below, and we'll send you an e-mail allowing you to reset it." +msgstr "" + +#: templates/account/password_reset.html:23 +msgid "Reset My Password" +msgstr "" + +#: templates/account/password_reset.html:27 templates/account/signup.html:36 +msgid "This function is currently disabled. Please contact an administrator." +msgstr "" + +#: templates/account/password_reset_from_key.html:7 +msgid "Bad Token" +msgstr "" + +#: templates/account/password_reset_from_key.html:11 +#, python-format +msgid "The password reset link was invalid, possibly because it has already been used. Please request a new password reset." +msgstr "" + +#: templates/account/password_reset_from_key.html:17 +msgid "change password" +msgstr "" + +#: templates/account/password_reset_from_key.html:20 +msgid "Your password is now changed." +msgstr "" + +#: templates/account/signup.html:11 templates/account/signup.html:22 +msgid "Sign Up" +msgstr "" + +#: templates/account/signup.html:13 +#, python-format +msgid "Already have an account? Then please sign in." +msgstr "" + +#: templates/account/signup.html:27 +msgid "Or use a SSO-provider for signup" +msgstr "" + #: templates/image_download.html:8 msgid "Specify URL for downloading image" msgstr "" @@ -6675,7 +6706,7 @@ msgid "Select Test Report Template" msgstr "" #: templates/js/report.js:98 templates/js/translated/label.js:29 -#: templates/js/translated/report.js:118 templates/js/translated/stock.js:313 +#: templates/js/translated/report.js:118 templates/js/translated/stock.js:297 msgid "Select Stock Items" msgstr "" @@ -6707,8 +6738,8 @@ msgstr "" msgid "No report templates found which match selected build(s)" msgstr "" -#: templates/js/report.js:205 templates/js/translated/label.js:134 -#: templates/js/translated/report.js:225 +#: templates/js/report.js:205 templates/js/translated/build.js:948 +#: templates/js/translated/label.js:134 templates/js/translated/report.js:225 msgid "Select Parts" msgstr "" @@ -6741,11 +6772,11 @@ msgstr "" msgid "Sales Order(s) must be selected before printing report" msgstr "" -#: templates/js/translated/api.js:174 templates/js/translated/modals.js:1041 +#: templates/js/translated/api.js:174 templates/js/translated/modals.js:1052 msgid "No Response" msgstr "" -#: templates/js/translated/api.js:175 templates/js/translated/modals.js:1042 +#: templates/js/translated/api.js:175 templates/js/translated/modals.js:1053 msgid "No response from the InvenTree server" msgstr "" @@ -6757,35 +6788,35 @@ msgstr "" msgid "API request returned error code 400" msgstr "" -#: templates/js/translated/api.js:186 templates/js/translated/modals.js:1051 +#: templates/js/translated/api.js:186 templates/js/translated/modals.js:1062 msgid "Error 401: Not Authenticated" msgstr "" -#: templates/js/translated/api.js:187 templates/js/translated/modals.js:1052 +#: templates/js/translated/api.js:187 templates/js/translated/modals.js:1063 msgid "Authentication credentials not supplied" msgstr "" -#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1056 +#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1067 msgid "Error 403: Permission Denied" msgstr "" -#: templates/js/translated/api.js:192 templates/js/translated/modals.js:1057 +#: templates/js/translated/api.js:192 templates/js/translated/modals.js:1068 msgid "You do not have the required permissions to access this function" msgstr "" -#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1061 +#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1072 msgid "Error 404: Resource Not Found" msgstr "" -#: templates/js/translated/api.js:197 templates/js/translated/modals.js:1062 +#: templates/js/translated/api.js:197 templates/js/translated/modals.js:1073 msgid "The requested resource could not be located on the server" msgstr "" -#: templates/js/translated/api.js:201 templates/js/translated/modals.js:1066 +#: templates/js/translated/api.js:201 templates/js/translated/modals.js:1077 msgid "Error 408: Timeout" msgstr "" -#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1067 +#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1078 msgid "Connection timeout while requesting data from server" msgstr "" @@ -6842,7 +6873,7 @@ msgid "Unknown response from server" msgstr "" #: templates/js/translated/barcode.js:141 -#: templates/js/translated/modals.js:1031 +#: templates/js/translated/modals.js:1042 msgid "Invalid server response" msgstr "" @@ -6870,7 +6901,7 @@ msgstr "" msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:398 templates/js/translated/stock.js:289 +#: templates/js/translated/barcode.js:398 templates/js/translated/stock.js:273 msgid "Remove stock item" msgstr "" @@ -6912,115 +6943,181 @@ msgstr "" msgid "Barcode does not match a valid location" msgstr "" -#: templates/js/translated/bom.js:215 templates/js/translated/build.js:1169 +#: templates/js/translated/bom.js:234 templates/js/translated/build.js:1495 msgid "Open subassembly" msgstr "" -#: templates/js/translated/bom.js:287 +#: templates/js/translated/bom.js:288 templates/js/translated/build.js:744 +#: templates/js/translated/build.js:1345 templates/js/translated/build.js:1522 +msgid "Available" +msgstr "" + +#: templates/js/translated/bom.js:307 msgid "Purchase Price Range" msgstr "" -#: templates/js/translated/bom.js:294 +#: templates/js/translated/bom.js:314 msgid "Purchase Price Average" msgstr "" -#: templates/js/translated/bom.js:342 templates/js/translated/bom.js:428 +#: templates/js/translated/bom.js:363 templates/js/translated/bom.js:449 msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:402 +#: templates/js/translated/bom.js:415 templates/js/translated/build.js:798 +#: templates/js/translated/build.js:1545 templates/js/translated/order.js:1285 +msgid "Actions" +msgstr "" + +#: templates/js/translated/bom.js:423 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:404 +#: templates/js/translated/bom.js:425 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:406 templates/js/translated/bom.js:569 +#: templates/js/translated/bom.js:427 templates/js/translated/bom.js:590 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:408 templates/js/translated/bom.js:554 +#: templates/js/translated/bom.js:429 templates/js/translated/bom.js:575 msgid "Delete BOM Item" msgstr "" -#: templates/js/translated/bom.js:499 templates/js/translated/build.js:483 -#: templates/js/translated/build.js:1267 +#: templates/js/translated/bom.js:520 templates/js/translated/build.js:485 +#: templates/js/translated/build.js:1593 msgid "No BOM items found" msgstr "" -#: templates/js/translated/build.js:69 +#: templates/js/translated/build.js:71 msgid "Edit Build Order" msgstr "" -#: templates/js/translated/build.js:95 +#: templates/js/translated/build.js:105 msgid "Create Build Order" msgstr "" -#: templates/js/translated/build.js:127 -msgid "Auto-allocate stock items to this output" +#: templates/js/translated/build.js:138 +msgid "Allocate stock items to this build output" msgstr "" -#: templates/js/translated/build.js:135 +#: templates/js/translated/build.js:146 msgid "Unallocate stock from build output" msgstr "" -#: templates/js/translated/build.js:145 +#: templates/js/translated/build.js:155 msgid "Complete build output" msgstr "" -#: templates/js/translated/build.js:154 +#: templates/js/translated/build.js:164 msgid "Delete build output" msgstr "" -#: templates/js/translated/build.js:249 +#: templates/js/translated/build.js:265 msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:287 templates/js/translated/order.js:813 +#: templates/js/translated/build.js:303 templates/js/translated/order.js:1159 msgid "Location not specified" msgstr "" -#: templates/js/translated/build.js:391 templates/stock_table.html:20 -msgid "New Stock Item" +#: templates/js/translated/build.js:675 templates/js/translated/build.js:1356 +#: templates/js/translated/order.js:1292 +msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/build.js:702 +#: templates/js/translated/build.js:677 templates/js/translated/build.js:1357 +#: templates/js/translated/order.js:1293 +msgid "Delete stock allocation" +msgstr "" + +#: templates/js/translated/build.js:695 +msgid "Edit Allocation" +msgstr "" + +#: templates/js/translated/build.js:705 +msgid "Remove Allocation" +msgstr "" + +#: templates/js/translated/build.js:718 msgid "Required Part" msgstr "" -#: templates/js/translated/build.js:723 +#: templates/js/translated/build.js:739 msgid "Quantity Per" msgstr "" -#: templates/js/translated/build.js:793 templates/js/translated/build.js:1231 +#: templates/js/translated/build.js:749 templates/js/translated/build.js:975 +#: templates/js/translated/build.js:1352 templates/js/translated/order.js:1514 +msgid "Allocated" +msgstr "" + +#: templates/js/translated/build.js:805 templates/js/translated/build.js:1553 +#: templates/js/translated/order.js:1567 +msgid "Build stock" +msgstr "" + +#: templates/js/translated/build.js:809 templates/js/translated/build.js:1557 #: templates/stock_table.html:59 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:846 +#: templates/js/translated/build.js:812 templates/js/translated/order.js:1560 +msgid "Allocate stock" +msgstr "" + +#: templates/js/translated/build.js:880 +msgid "Specify stock allocation quantity" +msgstr "" + +#: templates/js/translated/build.js:949 +msgid "You must select at least one part to allocate" +msgstr "" + +#: templates/js/translated/build.js:963 +msgid "Select source location (leave blank to take from all locations)" +msgstr "" + +#: templates/js/translated/build.js:992 +msgid "Confirm stock allocation" +msgstr "" + +#: templates/js/translated/build.js:993 +msgid "Allocate Stock Items to Build Order" +msgstr "" + +#: templates/js/translated/build.js:1004 +msgid "No matching stock locations" +msgstr "" + +#: templates/js/translated/build.js:1048 +msgid "No matching stock items" +msgstr "" + +#: templates/js/translated/build.js:1172 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:863 templates/js/translated/part.js:845 -#: templates/js/translated/part.js:1123 templates/js/translated/stock.js:783 -#: templates/js/translated/stock.js:1477 +#: templates/js/translated/build.js:1189 templates/js/translated/part.js:856 +#: templates/js/translated/part.js:1134 templates/js/translated/stock.js:762 +#: templates/js/translated/stock.js:1456 msgid "Select" msgstr "" -#: templates/js/translated/build.js:883 +#: templates/js/translated/build.js:1209 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:944 templates/js/translated/stock.js:1696 +#: templates/js/translated/build.js:1270 templates/js/translated/stock.js:1675 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:956 +#: templates/js/translated/build.js:1282 msgid "No information" msgstr "" -#: templates/js/translated/build.js:1007 +#: templates/js/translated/build.js:1333 msgid "No parts allocated for" msgstr "" @@ -7040,7 +7137,7 @@ msgstr "" msgid "Delete Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:164 templates/js/translated/order.js:86 +#: templates/js/translated/company.js:164 templates/js/translated/order.js:89 msgid "Add Supplier" msgstr "" @@ -7084,53 +7181,53 @@ msgstr "" msgid "Delete Manufacturer Parts" msgstr "" -#: templates/js/translated/company.js:475 +#: templates/js/translated/company.js:476 msgid "No manufacturer parts found" msgstr "" -#: templates/js/translated/company.js:495 -#: templates/js/translated/company.js:751 templates/js/translated/part.js:416 -#: templates/js/translated/part.js:501 +#: templates/js/translated/company.js:496 +#: templates/js/translated/company.js:753 templates/js/translated/part.js:427 +#: templates/js/translated/part.js:512 msgid "Template part" msgstr "" -#: templates/js/translated/company.js:499 -#: templates/js/translated/company.js:755 templates/js/translated/part.js:420 -#: templates/js/translated/part.js:505 +#: templates/js/translated/company.js:500 +#: templates/js/translated/company.js:757 templates/js/translated/part.js:431 +#: templates/js/translated/part.js:516 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:626 templates/js/translated/part.js:593 +#: templates/js/translated/company.js:627 templates/js/translated/part.js:604 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:663 templates/js/translated/part.js:635 +#: templates/js/translated/company.js:664 templates/js/translated/part.js:646 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:664 templates/js/translated/part.js:636 +#: templates/js/translated/company.js:665 templates/js/translated/part.js:647 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:683 templates/js/translated/part.js:653 +#: templates/js/translated/company.js:684 templates/js/translated/part.js:664 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:694 templates/js/translated/part.js:665 +#: templates/js/translated/company.js:695 templates/js/translated/part.js:676 msgid "Delete Parameter" msgstr "" -#: templates/js/translated/company.js:731 +#: templates/js/translated/company.js:733 msgid "No supplier parts found" msgstr "" #: templates/js/translated/filters.js:178 -#: templates/js/translated/filters.js:402 +#: templates/js/translated/filters.js:407 msgid "true" msgstr "" #: templates/js/translated/filters.js:182 -#: templates/js/translated/filters.js:403 +#: templates/js/translated/filters.js:408 msgid "false" msgstr "" @@ -7138,19 +7235,19 @@ msgstr "" msgid "Select filter" msgstr "" -#: templates/js/translated/filters.js:279 +#: templates/js/translated/filters.js:284 msgid "Reload data" msgstr "" -#: templates/js/translated/filters.js:281 +#: templates/js/translated/filters.js:286 msgid "Add new filter" msgstr "" -#: templates/js/translated/filters.js:284 +#: templates/js/translated/filters.js:289 msgid "Clear all filters" msgstr "" -#: templates/js/translated/filters.js:312 +#: templates/js/translated/filters.js:317 msgid "Create filter" msgstr "" @@ -7175,16 +7272,20 @@ msgstr "" msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:889 templates/modals.html:21 +#: templates/js/translated/forms.js:968 templates/modals.html:21 #: templates/modals.html:47 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1379 +#: templates/js/translated/forms.js:1323 +msgid "No results found" +msgstr "" + +#: templates/js/translated/forms.js:1525 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:1593 +#: templates/js/translated/forms.js:1742 msgid "Clear input" msgstr "" @@ -7247,7 +7348,7 @@ msgid "Cancel" msgstr "" #: templates/js/translated/modals.js:77 templates/js/translated/modals.js:119 -#: templates/js/translated/modals.js:677 templates/js/translated/modals.js:970 +#: templates/js/translated/modals.js:677 templates/js/translated/modals.js:981 #: templates/modals.html:30 templates/modals.html:55 msgid "Submit" msgstr "" @@ -7272,31 +7373,31 @@ msgstr "" msgid "Loading Data" msgstr "" -#: templates/js/translated/modals.js:922 +#: templates/js/translated/modals.js:933 msgid "Invalid response from server" msgstr "" -#: templates/js/translated/modals.js:922 +#: templates/js/translated/modals.js:933 msgid "Form data missing from server response" msgstr "" -#: templates/js/translated/modals.js:934 +#: templates/js/translated/modals.js:945 msgid "Error posting form data" msgstr "" -#: templates/js/translated/modals.js:1031 +#: templates/js/translated/modals.js:1042 msgid "JSON response missing form data" msgstr "" -#: templates/js/translated/modals.js:1046 +#: templates/js/translated/modals.js:1057 msgid "Error 400: Bad Request" msgstr "" -#: templates/js/translated/modals.js:1047 +#: templates/js/translated/modals.js:1058 msgid "Server returned error code 400" msgstr "" -#: templates/js/translated/modals.js:1070 +#: templates/js/translated/modals.js:1081 msgid "Error requesting form data" msgstr "" @@ -7304,70 +7405,195 @@ msgstr "" msgid "Company ID" msgstr "" -#: templates/js/translated/model_renderers.js:82 +#: templates/js/translated/model_renderers.js:90 +msgid "Stock ID" +msgstr "" + +#: templates/js/translated/model_renderers.js:125 msgid "Location ID" msgstr "" -#: templates/js/translated/model_renderers.js:99 +#: templates/js/translated/model_renderers.js:142 msgid "Build ID" msgstr "" -#: templates/js/translated/model_renderers.js:119 +#: templates/js/translated/model_renderers.js:177 msgid "Part ID" msgstr "" -#: templates/js/translated/model_renderers.js:171 +#: templates/js/translated/model_renderers.js:231 +msgid "Order ID" +msgstr "" + +#: templates/js/translated/model_renderers.js:251 msgid "Category ID" msgstr "" -#: templates/js/translated/model_renderers.js:208 +#: templates/js/translated/model_renderers.js:288 msgid "Manufacturer Part ID" msgstr "" -#: templates/js/translated/model_renderers.js:237 +#: templates/js/translated/model_renderers.js:317 msgid "Supplier Part ID" msgstr "" -#: templates/js/translated/order.js:45 +#: templates/js/translated/order.js:48 msgid "Add Customer" msgstr "" -#: templates/js/translated/order.js:70 +#: templates/js/translated/order.js:73 msgid "Create Sales Order" msgstr "" -#: templates/js/translated/order.js:295 +#: templates/js/translated/order.js:207 +msgid "Export Order" +msgstr "" + +#: templates/js/translated/order.js:210 templates/js/translated/stock.js:96 +msgid "Format" +msgstr "" + +#: templates/js/translated/order.js:211 templates/js/translated/stock.js:97 +msgid "Select file format" +msgstr "" + +#: templates/js/translated/order.js:299 +msgid "Select Line Items" +msgstr "" + +#: templates/js/translated/order.js:300 +msgid "At least one line item must be selected" +msgstr "" + +#: templates/js/translated/order.js:325 +msgid "Quantity to receive" +msgstr "" + +#: templates/js/translated/order.js:359 templates/js/translated/stock.js:1343 +msgid "Stock Status" +msgstr "" + +#: templates/js/translated/order.js:426 +msgid "Order Code" +msgstr "" + +#: templates/js/translated/order.js:427 +msgid "Ordered" +msgstr "" + +#: templates/js/translated/order.js:429 +msgid "Receive" +msgstr "" + +#: templates/js/translated/order.js:448 +msgid "Confirm receipt of items" +msgstr "" + +#: templates/js/translated/order.js:449 +msgid "Receive Purchase Order Items" +msgstr "" + +#: templates/js/translated/order.js:626 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/order.js:320 templates/js/translated/order.js:682 +#: templates/js/translated/order.js:651 templates/js/translated/order.js:1028 msgid "Order is overdue" msgstr "" -#: templates/js/translated/order.js:452 +#: templates/js/translated/order.js:749 templates/js/translated/order.js:1602 +msgid "Edit Line Item" +msgstr "" + +#: templates/js/translated/order.js:761 templates/js/translated/order.js:1613 +msgid "Delete Line Item" +msgstr "" + +#: templates/js/translated/order.js:800 msgid "No line items found" msgstr "" -#: templates/js/translated/order.js:617 +#: templates/js/translated/order.js:827 templates/js/translated/order.js:1432 +msgid "Total" +msgstr "" + +#: templates/js/translated/order.js:880 templates/js/translated/order.js:1457 +#: templates/js/translated/part.js:1343 templates/js/translated/part.js:1554 +msgid "Unit Price" +msgstr "" + +#: templates/js/translated/order.js:889 templates/js/translated/order.js:1464 +msgid "Total price" +msgstr "" + +#: templates/js/translated/order.js:962 templates/js/translated/order.js:1573 +msgid "Edit line item" +msgstr "" + +#: templates/js/translated/order.js:963 msgid "Delete line item" msgstr "" -#: templates/js/translated/order.js:621 +#: templates/js/translated/order.js:967 msgid "Receive line item" msgstr "" -#: templates/js/translated/order.js:658 +#: templates/js/translated/order.js:1004 msgid "No sales orders found" msgstr "" -#: templates/js/translated/order.js:696 +#: templates/js/translated/order.js:1042 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/order.js:774 +#: templates/js/translated/order.js:1120 msgid "No sales order allocations found" msgstr "" +#: templates/js/translated/order.js:1213 +msgid "Edit Stock Allocation" +msgstr "" + +#: templates/js/translated/order.js:1231 +msgid "Delete Stock Allocation" +msgstr "" + +#: templates/js/translated/order.js:1273 +msgid "Stock location not specified" +msgstr "" + +#: templates/js/translated/order.js:1514 +msgid "Fulfilled" +msgstr "" + +#: templates/js/translated/order.js:1557 +msgid "Allocate serial numbers" +msgstr "" + +#: templates/js/translated/order.js:1563 +msgid "Purchase stock" +msgstr "" + +#: templates/js/translated/order.js:1570 templates/js/translated/order.js:1725 +msgid "Calculate price" +msgstr "" + +#: templates/js/translated/order.js:1574 +msgid "Delete line item " +msgstr "" + +#: templates/js/translated/order.js:1673 +msgid "Allocate Stock Item" +msgstr "" + +#: templates/js/translated/order.js:1733 +msgid "Update Unit Price" +msgstr "" + +#: templates/js/translated/order.js:1747 +msgid "No matching line items" +msgstr "" + #: templates/js/translated/part.js:49 msgid "Part Attributes" msgstr "" @@ -7388,396 +7614,396 @@ msgstr "" msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:159 +#: templates/js/translated/part.js:164 msgid "Create Initial Stock" msgstr "" -#: templates/js/translated/part.js:160 +#: templates/js/translated/part.js:165 msgid "Create an initial stock item for this part" msgstr "" -#: templates/js/translated/part.js:167 +#: templates/js/translated/part.js:172 msgid "Initial Stock Quantity" msgstr "" -#: templates/js/translated/part.js:168 +#: templates/js/translated/part.js:173 msgid "Specify initial stock quantity for this part" msgstr "" -#: templates/js/translated/part.js:175 templates/js/translated/stock.js:330 +#: templates/js/translated/part.js:180 msgid "Select destination stock location" msgstr "" -#: templates/js/translated/part.js:186 +#: templates/js/translated/part.js:191 msgid "Copy Category Parameters" msgstr "" -#: templates/js/translated/part.js:187 +#: templates/js/translated/part.js:192 msgid "Copy parameter templates from selected part category" msgstr "" -#: templates/js/translated/part.js:195 +#: templates/js/translated/part.js:200 msgid "Add Supplier Data" msgstr "" -#: templates/js/translated/part.js:196 +#: templates/js/translated/part.js:201 msgid "Create initial supplier data for this part" msgstr "" -#: templates/js/translated/part.js:252 +#: templates/js/translated/part.js:257 msgid "Copy Image" msgstr "" -#: templates/js/translated/part.js:253 +#: templates/js/translated/part.js:258 msgid "Copy image from original part" msgstr "" -#: templates/js/translated/part.js:260 +#: templates/js/translated/part.js:265 msgid "Copy BOM" msgstr "" -#: templates/js/translated/part.js:261 +#: templates/js/translated/part.js:266 msgid "Copy bill of materials from original part" msgstr "" -#: templates/js/translated/part.js:268 +#: templates/js/translated/part.js:273 msgid "Copy Parameters" msgstr "" -#: templates/js/translated/part.js:269 +#: templates/js/translated/part.js:274 msgid "Copy parameter data from original part" msgstr "" -#: templates/js/translated/part.js:282 +#: templates/js/translated/part.js:287 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:323 +#: templates/js/translated/part.js:331 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:408 templates/js/translated/part.js:493 +#: templates/js/translated/part.js:419 templates/js/translated/part.js:504 msgid "Trackable part" msgstr "" -#: templates/js/translated/part.js:412 templates/js/translated/part.js:497 +#: templates/js/translated/part.js:423 templates/js/translated/part.js:508 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:424 +#: templates/js/translated/part.js:435 msgid "Starred part" msgstr "" -#: templates/js/translated/part.js:428 +#: templates/js/translated/part.js:439 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:543 +#: templates/js/translated/part.js:554 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:732 templates/js/translated/part.js:994 +#: templates/js/translated/part.js:743 templates/js/translated/part.js:1005 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:921 +#: templates/js/translated/part.js:932 msgid "No category" msgstr "" -#: templates/js/translated/part.js:944 -#: templates/js/translated/table_filters.js:350 +#: templates/js/translated/part.js:955 +#: templates/js/translated/table_filters.js:359 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:1148 templates/js/translated/stock.js:1501 +#: templates/js/translated/part.js:1159 templates/js/translated/stock.js:1480 msgid "Path" msgstr "" -#: templates/js/translated/part.js:1191 +#: templates/js/translated/part.js:1202 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:1242 templates/js/translated/stock.js:514 +#: templates/js/translated/part.js:1253 templates/js/translated/stock.js:493 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:1243 templates/js/translated/stock.js:515 +#: templates/js/translated/part.js:1254 templates/js/translated/stock.js:494 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:1249 +#: templates/js/translated/part.js:1260 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:1274 +#: templates/js/translated/part.js:1282 +msgid "Edit Test Result Template" +msgstr "" + +#: templates/js/translated/part.js:1296 +msgid "Delete Test Result Template" +msgstr "" + +#: templates/js/translated/part.js:1321 #, python-brace-format msgid "No ${human_name} information found" msgstr "" -#: templates/js/translated/part.js:1329 +#: templates/js/translated/part.js:1376 #, python-brace-format msgid "Edit ${human_name}" msgstr "" -#: templates/js/translated/part.js:1330 +#: templates/js/translated/part.js:1377 #, python-brace-format msgid "Delete ${human_name}" msgstr "" -#: templates/js/translated/part.js:1431 +#: templates/js/translated/part.js:1478 msgid "Single Price" msgstr "" -#: templates/js/translated/part.js:1450 +#: templates/js/translated/part.js:1497 msgid "Single Price Difference" msgstr "" -#: templates/js/translated/stock.js:66 +#: templates/js/translated/stock.js:63 msgid "Parent stock location" msgstr "" -#: templates/js/translated/stock.js:96 +#: templates/js/translated/stock.js:93 msgid "Export Stock" msgstr "" -#: templates/js/translated/stock.js:99 -msgid "Format" -msgstr "" - -#: templates/js/translated/stock.js:100 -msgid "Select file format" -msgstr "" - -#: templates/js/translated/stock.js:124 +#: templates/js/translated/stock.js:104 msgid "Include Sublocations" msgstr "" -#: templates/js/translated/stock.js:125 +#: templates/js/translated/stock.js:105 msgid "Include stock items in sublocations" msgstr "" -#: templates/js/translated/stock.js:167 +#: templates/js/translated/stock.js:147 msgid "Transfer Stock" msgstr "" -#: templates/js/translated/stock.js:168 +#: templates/js/translated/stock.js:148 msgid "Move" msgstr "" -#: templates/js/translated/stock.js:174 +#: templates/js/translated/stock.js:154 msgid "Count Stock" msgstr "" -#: templates/js/translated/stock.js:175 +#: templates/js/translated/stock.js:155 msgid "Count" msgstr "" -#: templates/js/translated/stock.js:179 +#: templates/js/translated/stock.js:159 msgid "Remove Stock" msgstr "" -#: templates/js/translated/stock.js:180 +#: templates/js/translated/stock.js:160 msgid "Take" msgstr "" -#: templates/js/translated/stock.js:184 +#: templates/js/translated/stock.js:164 msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:185 users/models.py:190 +#: templates/js/translated/stock.js:165 users/models.py:195 msgid "Add" msgstr "" -#: templates/js/translated/stock.js:189 templates/stock_table.html:63 +#: templates/js/translated/stock.js:169 templates/stock_table.html:63 msgid "Delete Stock" msgstr "" -#: templates/js/translated/stock.js:278 +#: templates/js/translated/stock.js:258 msgid "Quantity cannot be adjusted for serialized stock" msgstr "" -#: templates/js/translated/stock.js:278 +#: templates/js/translated/stock.js:258 msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:314 +#: templates/js/translated/stock.js:298 msgid "You must select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:339 -msgid "Stock transaction notes" -msgstr "" - -#: templates/js/translated/stock.js:477 +#: templates/js/translated/stock.js:456 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:479 +#: templates/js/translated/stock.js:458 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:484 +#: templates/js/translated/stock.js:463 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:510 +#: templates/js/translated/stock.js:489 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:536 +#: templates/js/translated/stock.js:515 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:584 +#: templates/js/translated/stock.js:563 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:691 +#: templates/js/translated/stock.js:670 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:695 +#: templates/js/translated/stock.js:674 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:703 +#: templates/js/translated/stock.js:678 +msgid "Shipped to customer" +msgstr "" + +#: templates/js/translated/stock.js:682 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:865 +#: templates/js/translated/stock.js:688 +msgid "No stock location set" +msgstr "" + +#: templates/js/translated/stock.js:844 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:870 +#: templates/js/translated/stock.js:849 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:873 +#: templates/js/translated/stock.js:852 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:877 +#: templates/js/translated/stock.js:856 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:879 +#: templates/js/translated/stock.js:858 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:883 +#: templates/js/translated/stock.js:862 msgid "Stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:887 +#: templates/js/translated/stock.js:866 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:894 +#: templates/js/translated/stock.js:873 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:896 +#: templates/js/translated/stock.js:875 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:898 +#: templates/js/translated/stock.js:877 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:902 +#: templates/js/translated/stock.js:881 #: templates/js/translated/table_filters.js:161 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:956 +#: templates/js/translated/stock.js:935 msgid "Stocktake" msgstr "" -#: templates/js/translated/stock.js:1029 +#: templates/js/translated/stock.js:1008 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:1067 +#: templates/js/translated/stock.js:1046 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:1088 templates/js/translated/stock.js:1136 +#: templates/js/translated/stock.js:1067 templates/js/translated/stock.js:1115 msgid "items" msgstr "" -#: templates/js/translated/stock.js:1176 +#: templates/js/translated/stock.js:1155 msgid "batches" msgstr "" -#: templates/js/translated/stock.js:1203 +#: templates/js/translated/stock.js:1182 msgid "locations" msgstr "" -#: templates/js/translated/stock.js:1205 +#: templates/js/translated/stock.js:1184 msgid "Undefined location" msgstr "" -#: templates/js/translated/stock.js:1364 -msgid "Stock Status" -msgstr "" - -#: templates/js/translated/stock.js:1379 +#: templates/js/translated/stock.js:1358 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:1393 +#: templates/js/translated/stock.js:1372 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:1394 +#: templates/js/translated/stock.js:1373 msgid "Status code must be selected" msgstr "" -#: templates/js/translated/stock.js:1533 +#: templates/js/translated/stock.js:1512 msgid "Invalid date" msgstr "" -#: templates/js/translated/stock.js:1580 +#: templates/js/translated/stock.js:1559 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:1599 +#: templates/js/translated/stock.js:1578 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:1618 +#: templates/js/translated/stock.js:1597 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:1636 +#: templates/js/translated/stock.js:1615 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:1659 +#: templates/js/translated/stock.js:1638 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:1667 +#: templates/js/translated/stock.js:1646 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:1708 +#: templates/js/translated/stock.js:1687 msgid "Edit tracking entry" msgstr "" -#: templates/js/translated/stock.js:1709 +#: templates/js/translated/stock.js:1688 msgid "Delete tracking entry" msgstr "" -#: templates/js/translated/stock.js:1833 +#: templates/js/translated/stock.js:1812 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:1856 +#: templates/js/translated/stock.js:1835 msgid "Serial" msgstr "" -#: templates/js/translated/stock.js:1884 +#: templates/js/translated/stock.js:1863 msgid "Uninstall Stock Item" msgstr "" @@ -7808,7 +8034,7 @@ msgstr "" #: templates/js/translated/table_filters.js:103 #: templates/js/translated/table_filters.js:104 -#: templates/js/translated/table_filters.js:327 +#: templates/js/translated/table_filters.js:336 msgid "Include subcategories" msgstr "" @@ -7850,7 +8076,7 @@ msgid "Batch code" msgstr "" #: templates/js/translated/table_filters.js:141 -#: templates/js/translated/table_filters.js:317 +#: templates/js/translated/table_filters.js:326 msgid "Active parts" msgstr "" @@ -7935,89 +8161,89 @@ msgstr "" msgid "Build status" msgstr "" -#: templates/js/translated/table_filters.js:282 -#: templates/js/translated/table_filters.js:299 +#: templates/js/translated/table_filters.js:291 +#: templates/js/translated/table_filters.js:308 msgid "Order status" msgstr "" -#: templates/js/translated/table_filters.js:287 -#: templates/js/translated/table_filters.js:304 +#: templates/js/translated/table_filters.js:296 +#: templates/js/translated/table_filters.js:313 msgid "Outstanding" msgstr "" -#: templates/js/translated/table_filters.js:328 +#: templates/js/translated/table_filters.js:337 msgid "Include parts in subcategories" msgstr "" -#: templates/js/translated/table_filters.js:332 +#: templates/js/translated/table_filters.js:341 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:333 +#: templates/js/translated/table_filters.js:342 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:338 +#: templates/js/translated/table_filters.js:347 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:346 +#: templates/js/translated/table_filters.js:355 msgid "Stock available" msgstr "" -#: templates/js/translated/table_filters.js:362 +#: templates/js/translated/table_filters.js:371 msgid "Starred" msgstr "" -#: templates/js/translated/table_filters.js:374 +#: templates/js/translated/table_filters.js:383 msgid "Purchasable" msgstr "" -#: templates/js/translated/tables.js:357 +#: templates/js/translated/tables.js:366 msgid "Loading data" msgstr "" -#: templates/js/translated/tables.js:360 +#: templates/js/translated/tables.js:369 msgid "rows per page" msgstr "" -#: templates/js/translated/tables.js:363 +#: templates/js/translated/tables.js:372 msgid "Showing" msgstr "" -#: templates/js/translated/tables.js:363 +#: templates/js/translated/tables.js:372 msgid "to" msgstr "" -#: templates/js/translated/tables.js:363 +#: templates/js/translated/tables.js:372 msgid "of" msgstr "" -#: templates/js/translated/tables.js:363 +#: templates/js/translated/tables.js:372 msgid "rows" msgstr "" -#: templates/js/translated/tables.js:369 +#: templates/js/translated/tables.js:378 msgid "No matching results" msgstr "" -#: templates/js/translated/tables.js:372 +#: templates/js/translated/tables.js:381 msgid "Hide/Show pagination" msgstr "" -#: templates/js/translated/tables.js:375 +#: templates/js/translated/tables.js:384 msgid "Refresh" msgstr "" -#: templates/js/translated/tables.js:378 +#: templates/js/translated/tables.js:387 msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:381 +#: templates/js/translated/tables.js:390 msgid "Columns" msgstr "" -#: templates/js/translated/tables.js:384 +#: templates/js/translated/tables.js:393 msgid "All" msgstr "" @@ -8033,19 +8259,15 @@ msgstr "" msgid "Sell" msgstr "" -#: templates/navbar.html:87 users/models.py:39 +#: templates/navbar.html:83 users/models.py:39 msgid "Admin" msgstr "" -#: templates/navbar.html:89 +#: templates/navbar.html:85 msgid "Logout" msgstr "" -#: templates/navbar.html:91 templates/registration/login.html:89 -msgid "Login" -msgstr "" - -#: templates/navbar.html:114 +#: templates/navbar.html:106 msgid "About InvenTree" msgstr "" @@ -8053,68 +8275,12 @@ msgstr "" msgid "QR data not provided" msgstr "" -#: templates/registration/logged_out.html:50 -msgid "You have been logged out" +#: templates/registration/logged_out.html:6 +msgid "You were logged out successfully." msgstr "" -#: templates/registration/logged_out.html:51 -#: templates/registration/password_reset_complete.html:51 -#: templates/registration/password_reset_done.html:58 -msgid "Return to login screen" -msgstr "" - -#: templates/registration/login.html:64 -msgid "Enter username" -msgstr "" - -#: templates/registration/login.html:70 -msgid "Password" -msgstr "" - -#: templates/registration/login.html:83 -msgid "Username / password combination is incorrect" -msgstr "" - -#: templates/registration/login.html:95 -#: templates/registration/password_reset_form.html:51 -msgid "Forgotten your password?" -msgstr "" - -#: templates/registration/login.html:95 -msgid "Click here to reset" -msgstr "" - -#: templates/registration/password_reset_complete.html:50 -msgid "Password reset complete" -msgstr "" - -#: templates/registration/password_reset_confirm.html:52 -#: templates/registration/password_reset_confirm.html:56 -msgid "Change password" -msgstr "" - -#: templates/registration/password_reset_confirm.html:60 -msgid "The password reset link was invalid, possibly because it has already been used. Please request a new password reset." -msgstr "" - -#: templates/registration/password_reset_done.html:51 -msgid "We've emailed you instructions for setting your password, if an account exists with the email you entered. You should receive them shortly." -msgstr "" - -#: templates/registration/password_reset_done.html:54 -msgid "If you don't receive an email, please make sure you've entered the address you registered with, and check your spam folder." -msgstr "" - -#: templates/registration/password_reset_form.html:52 -msgid "Enter your email address below." -msgstr "" - -#: templates/registration/password_reset_form.html:53 -msgid "An email will be sent with password reset instructions." -msgstr "" - -#: templates/registration/password_reset_form.html:58 -msgid "Send email" +#: templates/registration/logged_out.html:8 +msgid "Log in again" msgstr "" #: templates/stats.html:13 @@ -8169,6 +8335,10 @@ msgstr "" msgid "Export Stock Information" msgstr "" +#: templates/stock_table.html:20 +msgid "New Stock Item" +msgstr "" + #: templates/stock_table.html:27 msgid "Barcode Actions" msgstr "" @@ -8249,35 +8419,35 @@ msgstr "" msgid "Important dates" msgstr "" -#: users/models.py:177 +#: users/models.py:182 msgid "Permission set" msgstr "" -#: users/models.py:185 +#: users/models.py:190 msgid "Group" msgstr "" -#: users/models.py:188 +#: users/models.py:193 msgid "View" msgstr "" -#: users/models.py:188 +#: users/models.py:193 msgid "Permission to view items" msgstr "" -#: users/models.py:190 +#: users/models.py:195 msgid "Permission to add items" msgstr "" -#: users/models.py:192 +#: users/models.py:197 msgid "Change" msgstr "" -#: users/models.py:192 +#: users/models.py:197 msgid "Permissions to edit items" msgstr "" -#: users/models.py:194 +#: users/models.py:199 msgid "Permission to delete items" msgstr "" diff --git a/InvenTree/locale/id/LC_MESSAGES/django.po b/InvenTree/locale/id/LC_MESSAGES/django.po index 55af0d653e..1ccc38461c 100644 --- a/InvenTree/locale/id/LC_MESSAGES/django.po +++ b/InvenTree/locale/id/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-09-12 13:15+0000\n" -"PO-Revision-Date: 2021-09-12 13:44\n" +"POT-Creation-Date: 2021-10-11 06:21+0000\n" +"PO-Revision-Date: 2021-10-11 06:28\n" "Last-Translator: \n" "Language-Team: Indonesian\n" "Language: id_ID\n" @@ -33,48 +33,61 @@ msgstr "" msgid "Enter date" msgstr "" -#: InvenTree/forms.py:111 build/forms.py:102 build/forms.py:123 -#: build/forms.py:145 build/forms.py:169 build/forms.py:185 build/forms.py:227 -#: order/forms.py:30 order/forms.py:41 order/forms.py:52 order/forms.py:63 -#: order/forms.py:74 part/forms.py:108 templates/js/translated/forms.js:564 +#: InvenTree/forms.py:116 build/forms.py:102 build/forms.py:123 +#: build/forms.py:145 build/forms.py:173 build/forms.py:215 order/forms.py:27 +#: order/forms.py:38 order/forms.py:49 order/forms.py:60 order/forms.py:71 +#: part/forms.py:108 templates/account/email_confirm.html:20 +#: templates/js/translated/forms.js:564 msgid "Confirm" msgstr "" -#: InvenTree/forms.py:127 +#: InvenTree/forms.py:132 msgid "Confirm delete" msgstr "" -#: InvenTree/forms.py:128 +#: InvenTree/forms.py:133 msgid "Confirm item deletion" msgstr "" -#: InvenTree/forms.py:160 templates/registration/login.html:76 +#: InvenTree/forms.py:164 msgid "Enter password" msgstr "" -#: InvenTree/forms.py:161 +#: InvenTree/forms.py:165 msgid "Enter new password" msgstr "" -#: InvenTree/forms.py:168 +#: InvenTree/forms.py:172 msgid "Confirm password" msgstr "" -#: InvenTree/forms.py:169 +#: InvenTree/forms.py:173 msgid "Confirm new password" msgstr "" -#: InvenTree/forms.py:201 +#: InvenTree/forms.py:205 msgid "Select Category" msgstr "" +#: InvenTree/forms.py:226 +msgid "E-mail (again)" +msgstr "" + +#: InvenTree/forms.py:230 +msgid "E-mail address confirmation" +msgstr "" + +#: InvenTree/forms.py:250 +msgid "You must type the same email each time." +msgstr "" + #: InvenTree/helpers.py:401 #, python-brace-format msgid "Duplicate serial: {n}" msgstr "" -#: InvenTree/helpers.py:408 order/models.py:315 order/models.py:430 -#: stock/views.py:1363 +#: InvenTree/helpers.py:408 order/models.py:315 order/models.py:437 +#: stock/views.py:1340 msgid "Invalid quantity provided" msgstr "" @@ -102,7 +115,7 @@ msgstr "" msgid "Number of unique serial number ({s}) must match quantity ({q})" msgstr "" -#: InvenTree/models.py:66 stock/models.py:1826 +#: InvenTree/models.py:66 stock/models.py:1823 msgid "Attachment" msgstr "" @@ -118,10 +131,10 @@ msgstr "" msgid "File comment" msgstr "" -#: InvenTree/models.py:75 InvenTree/models.py:76 common/models.py:993 -#: common/models.py:994 part/models.py:2051 +#: InvenTree/models.py:75 InvenTree/models.py:76 common/models.py:1055 +#: common/models.py:1056 part/models.py:2055 #: report/templates/report/inventree_test_report_base.html:91 -#: templates/js/translated/stock.js:1690 +#: templates/js/translated/stock.js:1669 msgid "User" msgstr "" @@ -158,37 +171,34 @@ msgstr "" msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:200 InvenTree/models.py:201 company/models.py:414 -#: label/models.py:112 part/models.py:658 part/models.py:2212 +#: InvenTree/models.py:200 InvenTree/models.py:201 company/models.py:415 +#: label/models.py:112 part/models.py:659 part/models.py:2216 #: part/templates/part/part_base.html:241 report/models.py:181 -#: templates/InvenTree/search.html:137 templates/InvenTree/search.html:289 -#: templates/js/translated/company.js:636 templates/js/translated/part.js:466 -#: templates/js/translated/part.js:603 templates/js/translated/part.js:1130 -#: templates/js/translated/stock.js:1483 +#: templates/js/translated/company.js:637 templates/js/translated/part.js:477 +#: templates/js/translated/part.js:614 templates/js/translated/part.js:1141 +#: templates/js/translated/stock.js:1462 msgid "Name" msgstr "" -#: InvenTree/models.py:207 build/models.py:187 -#: build/templates/build/detail.html:24 company/models.py:353 -#: company/models.py:569 company/templates/company/manufacturer_part.html:76 +#: InvenTree/models.py:207 build/models.py:189 +#: build/templates/build/detail.html:24 company/models.py:354 +#: company/models.py:570 company/templates/company/manufacturer_part.html:76 #: company/templates/company/supplier_part.html:75 label/models.py:119 -#: order/models.py:158 part/models.py:681 +#: order/models.py:158 part/models.py:682 #: part/templates/part/part_base.html:246 #: part/templates/part/set_category.html:14 report/models.py:194 #: report/models.py:551 report/models.py:590 #: report/templates/report/inventree_build_order_base.html:118 -#: templates/InvenTree/search.html:144 templates/InvenTree/search.html:224 -#: templates/InvenTree/search.html:296 #: templates/InvenTree/settings/header.html:9 -#: templates/js/translated/bom.js:230 templates/js/translated/build.js:891 -#: templates/js/translated/build.js:1179 templates/js/translated/company.js:344 -#: templates/js/translated/company.js:546 -#: templates/js/translated/company.js:834 templates/js/translated/order.js:341 -#: templates/js/translated/order.js:486 templates/js/translated/order.js:710 -#: templates/js/translated/part.js:525 templates/js/translated/part.js:713 -#: templates/js/translated/part.js:902 templates/js/translated/part.js:1142 -#: templates/js/translated/part.js:1210 templates/js/translated/stock.js:840 -#: templates/js/translated/stock.js:1495 templates/js/translated/stock.js:1540 +#: templates/js/translated/bom.js:249 templates/js/translated/build.js:1217 +#: templates/js/translated/build.js:1505 templates/js/translated/company.js:344 +#: templates/js/translated/company.js:547 +#: templates/js/translated/company.js:836 templates/js/translated/order.js:672 +#: templates/js/translated/order.js:832 templates/js/translated/order.js:1056 +#: templates/js/translated/part.js:536 templates/js/translated/part.js:724 +#: templates/js/translated/part.js:913 templates/js/translated/part.js:1153 +#: templates/js/translated/part.js:1221 templates/js/translated/stock.js:819 +#: templates/js/translated/stock.js:1474 templates/js/translated/stock.js:1519 msgid "Description" msgstr "" @@ -200,7 +210,7 @@ msgstr "" msgid "parent" msgstr "" -#: InvenTree/serializers.py:55 part/models.py:2454 +#: InvenTree/serializers.py:55 part/models.py:2475 msgid "Must be a valid number" msgstr "" @@ -208,75 +218,75 @@ msgstr "" msgid "Filename" msgstr "" -#: InvenTree/settings.py:523 +#: InvenTree/settings.py:529 msgid "German" msgstr "" -#: InvenTree/settings.py:524 +#: InvenTree/settings.py:530 msgid "Greek" msgstr "" -#: InvenTree/settings.py:525 +#: InvenTree/settings.py:531 msgid "English" msgstr "" -#: InvenTree/settings.py:526 +#: InvenTree/settings.py:532 msgid "Spanish" msgstr "" -#: InvenTree/settings.py:527 +#: InvenTree/settings.py:533 msgid "French" msgstr "" -#: InvenTree/settings.py:528 +#: InvenTree/settings.py:534 msgid "Hebrew" msgstr "" -#: InvenTree/settings.py:529 +#: InvenTree/settings.py:535 msgid "Italian" msgstr "" -#: InvenTree/settings.py:530 +#: InvenTree/settings.py:536 msgid "Japanese" msgstr "" -#: InvenTree/settings.py:531 +#: InvenTree/settings.py:537 msgid "Korean" msgstr "" -#: InvenTree/settings.py:532 +#: InvenTree/settings.py:538 msgid "Dutch" msgstr "" -#: InvenTree/settings.py:533 +#: InvenTree/settings.py:539 msgid "Norwegian" msgstr "" -#: InvenTree/settings.py:534 +#: InvenTree/settings.py:540 msgid "Polish" msgstr "" -#: InvenTree/settings.py:535 +#: InvenTree/settings.py:541 msgid "Russian" msgstr "" -#: InvenTree/settings.py:536 +#: InvenTree/settings.py:542 msgid "Swedish" msgstr "" -#: InvenTree/settings.py:537 +#: InvenTree/settings.py:543 msgid "Thai" msgstr "" -#: InvenTree/settings.py:538 +#: InvenTree/settings.py:544 msgid "Turkish" msgstr "" -#: InvenTree/settings.py:539 +#: InvenTree/settings.py:545 msgid "Vietnamese" msgstr "" -#: InvenTree/settings.py:540 +#: InvenTree/settings.py:546 msgid "Chinese" msgstr "" @@ -321,7 +331,7 @@ msgid "Returned" msgstr "" #: InvenTree/status_codes.py:146 -#: order/templates/order/sales_order_base.html:126 +#: order/templates/order/sales_order_base.html:131 msgid "Shipped" msgstr "" @@ -461,27 +471,27 @@ msgstr "" msgid "Overage must be an integer value or a percentage" msgstr "" -#: InvenTree/views.py:610 +#: InvenTree/views.py:616 msgid "Delete Item" msgstr "" -#: InvenTree/views.py:659 +#: InvenTree/views.py:665 msgid "Check box to confirm item deletion" msgstr "" -#: InvenTree/views.py:674 templates/InvenTree/settings/user.html:14 +#: InvenTree/views.py:680 templates/InvenTree/settings/user.html:18 msgid "Edit User Information" msgstr "" -#: InvenTree/views.py:685 templates/InvenTree/settings/user.html:18 +#: InvenTree/views.py:691 templates/InvenTree/settings/user.html:22 msgid "Set Password" msgstr "" -#: InvenTree/views.py:704 +#: InvenTree/views.py:710 msgid "Password fields must match" msgstr "" -#: InvenTree/views.py:910 templates/navbar.html:105 +#: InvenTree/views.py:954 templates/navbar.html:97 msgid "System Information" msgstr "" @@ -525,6 +535,10 @@ msgstr "" msgid "Barcode associated with StockItem" msgstr "" +#: build/api.py:213 +msgid "Matching build order does not exist" +msgstr "" + #: build/forms.py:37 msgid "Build Order reference" msgstr "" @@ -536,33 +550,28 @@ msgstr "" #: build/forms.py:42 build/templates/build/build_base.html:146 #: build/templates/build/detail.html:124 #: order/templates/order/order_base.html:124 -#: order/templates/order/sales_order_base.html:119 +#: order/templates/order/sales_order_base.html:124 #: report/templates/report/inventree_build_order_base.html:126 -#: templates/js/translated/build.js:962 templates/js/translated/order.js:358 -#: templates/js/translated/order.js:728 +#: templates/js/translated/build.js:1288 templates/js/translated/order.js:689 +#: templates/js/translated/order.js:1074 msgid "Target Date" msgstr "" -#: build/forms.py:43 build/models.py:277 +#: build/forms.py:43 build/models.py:279 msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/forms.py:48 build/forms.py:90 build/forms.py:266 build/models.py:1402 +#: build/forms.py:48 build/forms.py:90 build/models.py:1281 #: build/templates/build/allocation_card.html:23 -#: build/templates/build/auto_allocate.html:17 #: build/templates/build/build_base.html:133 -#: build/templates/build/detail.html:34 common/models.py:1025 +#: build/templates/build/detail.html:34 common/models.py:1087 #: company/forms.py:42 company/templates/company/supplier_part.html:226 -#: order/forms.py:120 order/forms.py:142 order/forms.py:159 order/models.py:712 -#: order/models.py:964 order/templates/order/order_wizard/match_parts.html:30 -#: order/templates/order/order_wizard/select_parts.html:34 -#: order/templates/order/sales_order_detail.html:201 -#: order/templates/order/sales_order_detail.html:208 -#: order/templates/order/sales_order_detail.html:293 -#: order/templates/order/sales_order_detail.html:365 part/forms.py:249 -#: part/forms.py:265 part/forms.py:281 part/models.py:2356 +#: order/forms.py:101 order/forms.py:123 order/models.py:720 +#: order/models.py:982 order/templates/order/order_wizard/match_parts.html:30 +#: order/templates/order/order_wizard/select_parts.html:34 part/forms.py:249 +#: part/forms.py:265 part/forms.py:281 part/models.py:2377 #: part/templates/part/bom_upload/match_parts.html:31 -#: part/templates/part/detail.html:973 part/templates/part/detail.html:1059 +#: part/templates/part/detail.html:944 part/templates/part/detail.html:1030 #: part/templates/part/part_pricing.html:16 #: report/templates/report/inventree_build_order_base.html:114 #: report/templates/report/inventree_po_report.html:91 @@ -570,14 +579,16 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:77 #: stock/forms.py:140 stock/templates/stock/item_base.html:269 #: stock/templates/stock/stock_adjust.html:18 -#: templates/js/translated/barcode.js:386 templates/js/translated/bom.js:245 -#: templates/js/translated/build.js:298 templates/js/translated/build.js:629 -#: templates/js/translated/build.js:1189 -#: templates/js/translated/model_renderers.js:59 -#: templates/js/translated/order.js:522 templates/js/translated/order.js:824 -#: templates/js/translated/part.js:1317 templates/js/translated/part.js:1440 -#: templates/js/translated/part.js:1518 templates/js/translated/stock.js:1675 -#: templates/js/translated/stock.js:1850 +#: templates/js/translated/barcode.js:386 templates/js/translated/bom.js:264 +#: templates/js/translated/build.js:314 templates/js/translated/build.js:638 +#: templates/js/translated/build.js:977 templates/js/translated/build.js:1515 +#: templates/js/translated/model_renderers.js:74 +#: templates/js/translated/order.js:868 templates/js/translated/order.js:1170 +#: templates/js/translated/order.js:1248 templates/js/translated/order.js:1255 +#: templates/js/translated/order.js:1344 templates/js/translated/order.js:1444 +#: templates/js/translated/part.js:1364 templates/js/translated/part.js:1487 +#: templates/js/translated/part.js:1565 templates/js/translated/stock.js:1654 +#: templates/js/translated/stock.js:1829 msgid "Quantity" msgstr "" @@ -589,7 +600,7 @@ msgstr "" msgid "Enter quantity for build output" msgstr "" -#: build/forms.py:95 order/forms.py:114 stock/forms.py:83 +#: build/forms.py:95 order/forms.py:95 stock/forms.py:83 msgid "Serial Numbers" msgstr "" @@ -609,246 +620,238 @@ msgstr "" msgid "Confirm unallocation of stock" msgstr "" -#: build/forms.py:169 -msgid "Confirm stock allocation" -msgstr "" - -#: build/forms.py:186 +#: build/forms.py:174 msgid "Mark build as complete" msgstr "" -#: build/forms.py:210 build/templates/build/auto_allocate.html:18 -#: order/serializers.py:216 order/serializers.py:275 stock/forms.py:280 +#: build/forms.py:198 order/serializers.py:217 order/serializers.py:284 +#: stock/forms.py:280 stock/serializers.py:553 #: stock/templates/stock/item_base.html:299 #: stock/templates/stock/stock_adjust.html:17 -#: templates/InvenTree/search.html:260 templates/js/translated/barcode.js:385 -#: templates/js/translated/barcode.js:555 templates/js/translated/build.js:283 -#: templates/js/translated/build.js:643 templates/js/translated/order.js:809 -#: templates/js/translated/part.js:174 templates/js/translated/stock.js:203 -#: templates/js/translated/stock.js:329 templates/js/translated/stock.js:942 -#: templates/js/translated/stock.js:1567 +#: templates/js/translated/barcode.js:385 +#: templates/js/translated/barcode.js:555 templates/js/translated/build.js:299 +#: templates/js/translated/build.js:650 templates/js/translated/order.js:347 +#: templates/js/translated/order.js:1155 templates/js/translated/order.js:1263 +#: templates/js/translated/order.js:1269 templates/js/translated/part.js:179 +#: templates/js/translated/stock.js:183 templates/js/translated/stock.js:921 +#: templates/js/translated/stock.js:1546 msgid "Location" msgstr "" -#: build/forms.py:211 +#: build/forms.py:199 msgid "Location of completed parts" msgstr "" -#: build/forms.py:215 build/templates/build/build_base.html:138 -#: build/templates/build/detail.html:62 order/models.py:555 -#: order/serializers.py:230 order/templates/order/receive_parts.html:24 -#: stock/templates/stock/item_base.html:422 templates/InvenTree/search.html:252 -#: templates/js/translated/barcode.js:141 templates/js/translated/build.js:925 -#: templates/js/translated/order.js:345 templates/js/translated/order.js:715 -#: templates/js/translated/stock.js:917 templates/js/translated/stock.js:1644 -#: templates/js/translated/stock.js:1866 +#: build/forms.py:203 build/templates/build/build_base.html:138 +#: build/templates/build/detail.html:62 order/models.py:563 +#: order/serializers.py:238 stock/templates/stock/item_base.html:422 +#: templates/js/translated/barcode.js:141 templates/js/translated/build.js:1251 +#: templates/js/translated/order.js:430 templates/js/translated/order.js:676 +#: templates/js/translated/order.js:1061 templates/js/translated/stock.js:896 +#: templates/js/translated/stock.js:1623 templates/js/translated/stock.js:1845 msgid "Status" msgstr "" -#: build/forms.py:216 +#: build/forms.py:204 msgid "Build output stock status" msgstr "" -#: build/forms.py:223 +#: build/forms.py:211 msgid "Confirm incomplete" msgstr "" -#: build/forms.py:224 +#: build/forms.py:212 msgid "Confirm completion with incomplete stock allocation" msgstr "" -#: build/forms.py:227 +#: build/forms.py:215 msgid "Confirm build completion" msgstr "" -#: build/forms.py:252 +#: build/forms.py:240 msgid "Confirm cancel" msgstr "" -#: build/forms.py:252 build/views.py:65 +#: build/forms.py:240 build/views.py:65 msgid "Confirm build cancellation" msgstr "" -#: build/forms.py:266 -msgid "Select quantity of stock to allocate" -msgstr "" - -#: build/models.py:113 +#: build/models.py:115 msgid "Invalid choice for parent build" msgstr "" -#: build/models.py:117 build/templates/build/build_base.html:9 +#: build/models.py:119 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:73 #: report/templates/report/inventree_build_order_base.html:106 -#: templates/js/translated/build.js:260 +#: templates/js/translated/build.js:276 msgid "Build Order" msgstr "" -#: build/models.py:118 build/templates/build/index.html:8 +#: build/models.py:120 build/templates/build/index.html:8 #: build/templates/build/index.html:15 #: order/templates/order/sales_order_detail.html:34 #: order/templates/order/so_navbar.html:19 #: order/templates/order/so_navbar.html:22 part/templates/part/navbar.html:50 #: part/templates/part/navbar.html:53 templates/InvenTree/index.html:229 -#: templates/InvenTree/search.html:185 -#: templates/InvenTree/settings/navbar.html:101 -#: templates/InvenTree/settings/navbar.html:103 users/models.py:44 +#: templates/InvenTree/search.html:171 +#: templates/InvenTree/settings/navbar.html:113 +#: templates/InvenTree/settings/navbar.html:115 users/models.py:44 msgid "Build Orders" msgstr "" -#: build/models.py:178 +#: build/models.py:180 msgid "Build Order Reference" msgstr "" -#: build/models.py:179 order/models.py:246 order/models.py:539 -#: order/models.py:719 order/templates/order/sales_order_detail.html:360 -#: part/models.py:2365 part/templates/part/bom_upload/match_parts.html:30 +#: build/models.py:181 order/models.py:246 order/models.py:547 +#: order/models.py:727 part/models.py:2386 +#: part/templates/part/bom_upload/match_parts.html:30 #: report/templates/report/inventree_po_report.html:92 #: report/templates/report/inventree_so_report.html:92 -#: templates/js/translated/bom.js:237 templates/js/translated/build.js:718 -#: templates/js/translated/build.js:1183 templates/js/translated/order.js:517 +#: templates/js/translated/bom.js:256 templates/js/translated/build.js:734 +#: templates/js/translated/build.js:1509 templates/js/translated/order.js:863 +#: templates/js/translated/order.js:1438 msgid "Reference" msgstr "" -#: build/models.py:190 +#: build/models.py:192 msgid "Brief description of the build" msgstr "" -#: build/models.py:199 build/templates/build/build_base.html:163 +#: build/models.py:201 build/templates/build/build_base.html:163 #: build/templates/build/detail.html:80 msgid "Parent Build" msgstr "" -#: build/models.py:200 +#: build/models.py:202 msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:205 build/templates/build/auto_allocate.html:16 -#: build/templates/build/build_base.html:128 -#: build/templates/build/detail.html:29 company/models.py:704 -#: order/models.py:772 order/models.py:837 -#: order/templates/order/order_wizard/select_parts.html:32 -#: order/templates/order/receive_parts.html:19 -#: order/templates/order/sales_order_detail.html:345 part/models.py:297 -#: part/models.py:1996 part/models.py:2012 part/models.py:2031 -#: part/models.py:2049 part/models.py:2128 part/models.py:2250 -#: part/models.py:2340 part/templates/part/detail.html:199 +#: build/models.py:207 build/templates/build/build_base.html:128 +#: build/templates/build/detail.html:29 company/models.py:705 +#: order/models.py:780 order/models.py:851 +#: order/templates/order/order_wizard/select_parts.html:32 part/models.py:298 +#: part/models.py:2000 part/models.py:2016 part/models.py:2035 +#: part/models.py:2053 part/models.py:2132 part/models.py:2254 +#: part/models.py:2361 part/templates/part/detail.html:199 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/set_category.html:13 #: report/templates/report/inventree_build_order_base.html:110 #: report/templates/report/inventree_po_report.html:90 #: report/templates/report/inventree_so_report.html:90 -#: templates/InvenTree/search.html:112 templates/InvenTree/search.html:210 -#: templates/js/translated/barcode.js:384 templates/js/translated/bom.js:203 -#: templates/js/translated/build.js:609 templates/js/translated/build.js:896 -#: templates/js/translated/build.js:1156 templates/js/translated/company.js:487 -#: templates/js/translated/company.js:743 templates/js/translated/order.js:471 -#: templates/js/translated/part.js:694 templates/js/translated/part.js:864 -#: templates/js/translated/stock.js:201 templates/js/translated/stock.js:797 -#: templates/js/translated/stock.js:1838 +#: templates/InvenTree/search.html:112 templates/js/translated/barcode.js:384 +#: templates/js/translated/bom.js:222 templates/js/translated/build.js:611 +#: templates/js/translated/build.js:974 templates/js/translated/build.js:1222 +#: templates/js/translated/build.js:1482 templates/js/translated/company.js:488 +#: templates/js/translated/company.js:745 templates/js/translated/order.js:425 +#: templates/js/translated/order.js:817 templates/js/translated/order.js:1422 +#: templates/js/translated/part.js:705 templates/js/translated/part.js:875 +#: templates/js/translated/stock.js:181 templates/js/translated/stock.js:776 +#: templates/js/translated/stock.js:1817 msgid "Part" msgstr "" -#: build/models.py:213 +#: build/models.py:215 msgid "Select part to build" msgstr "" -#: build/models.py:218 +#: build/models.py:220 msgid "Sales Order Reference" msgstr "" -#: build/models.py:222 +#: build/models.py:224 msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:227 +#: build/models.py:229 templates/js/translated/build.js:962 msgid "Source Location" msgstr "" -#: build/models.py:231 +#: build/models.py:233 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "" -#: build/models.py:236 +#: build/models.py:238 msgid "Destination Location" msgstr "" -#: build/models.py:240 +#: build/models.py:242 msgid "Select location where the completed items will be stored" msgstr "" -#: build/models.py:244 +#: build/models.py:246 msgid "Build Quantity" msgstr "" -#: build/models.py:247 +#: build/models.py:249 msgid "Number of stock items to build" msgstr "" -#: build/models.py:251 +#: build/models.py:253 msgid "Completed items" msgstr "" -#: build/models.py:253 +#: build/models.py:255 msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:257 part/templates/part/part_base.html:198 +#: build/models.py:259 part/templates/part/part_base.html:198 msgid "Build Status" msgstr "" -#: build/models.py:261 +#: build/models.py:263 msgid "Build status code" msgstr "" -#: build/models.py:265 stock/models.py:513 +#: build/models.py:267 stock/models.py:513 msgid "Batch Code" msgstr "" -#: build/models.py:269 +#: build/models.py:271 msgid "Batch code for this build output" msgstr "" -#: build/models.py:272 order/models.py:162 part/models.py:853 -#: part/templates/part/part_base.html:272 templates/js/translated/order.js:723 +#: build/models.py:274 order/models.py:162 part/models.py:854 +#: part/templates/part/part_base.html:272 templates/js/translated/order.js:1069 msgid "Creation Date" msgstr "" -#: build/models.py:276 order/models.py:561 +#: build/models.py:278 order/models.py:569 msgid "Target completion date" msgstr "" -#: build/models.py:280 order/models.py:288 templates/js/translated/build.js:967 +#: build/models.py:282 order/models.py:288 +#: templates/js/translated/build.js:1293 msgid "Completion Date" msgstr "" -#: build/models.py:286 +#: build/models.py:288 msgid "completed by" msgstr "" -#: build/models.py:294 templates/js/translated/build.js:938 +#: build/models.py:296 templates/js/translated/build.js:1264 msgid "Issued by" msgstr "" -#: build/models.py:295 +#: build/models.py:297 msgid "User who issued this build order" msgstr "" -#: build/models.py:303 build/templates/build/build_base.html:184 +#: build/models.py:305 build/templates/build/build_base.html:184 #: build/templates/build/detail.html:108 order/models.py:176 #: order/templates/order/order_base.html:138 -#: order/templates/order/sales_order_base.html:140 part/models.py:857 +#: order/templates/order/sales_order_base.html:145 part/models.py:858 #: report/templates/report/inventree_build_order_base.html:159 -#: templates/js/translated/build.js:950 +#: templates/js/translated/build.js:1276 msgid "Responsible" msgstr "" -#: build/models.py:304 +#: build/models.py:306 msgid "User responsible for this build order" msgstr "" -#: build/models.py:309 build/templates/build/detail.html:94 +#: build/models.py:311 build/templates/build/detail.html:94 #: company/templates/company/manufacturer_part.html:83 #: company/templates/company/supplier_part.html:82 #: part/templates/part/part_base.html:266 stock/models.py:507 @@ -856,140 +859,157 @@ msgstr "" msgid "External Link" msgstr "" -#: build/models.py:310 part/models.py:715 stock/models.py:509 +#: build/models.py:312 part/models.py:716 stock/models.py:509 msgid "Link to external URL" msgstr "" -#: build/models.py:314 build/templates/build/navbar.html:52 -#: company/models.py:141 company/models.py:576 +#: build/models.py:316 build/templates/build/navbar.html:52 +#: company/models.py:142 company/models.py:577 #: company/templates/company/navbar.html:69 #: company/templates/company/navbar.html:72 order/models.py:180 -#: order/models.py:721 order/templates/order/po_navbar.html:38 +#: order/models.py:729 order/templates/order/po_navbar.html:38 #: order/templates/order/po_navbar.html:41 -#: order/templates/order/sales_order_detail.html:440 #: order/templates/order/so_navbar.html:33 -#: order/templates/order/so_navbar.html:36 part/models.py:842 +#: order/templates/order/so_navbar.html:36 part/models.py:843 #: part/templates/part/detail.html:105 part/templates/part/navbar.html:120 #: part/templates/part/navbar.html:123 #: report/templates/report/inventree_build_order_base.html:173 #: stock/forms.py:138 stock/forms.py:250 stock/forms.py:282 stock/models.py:579 -#: stock/models.py:1726 stock/models.py:1832 +#: stock/models.py:1723 stock/models.py:1829 stock/serializers.py:451 #: stock/templates/stock/navbar.html:57 templates/js/translated/barcode.js:59 -#: templates/js/translated/bom.js:385 templates/js/translated/company.js:839 -#: templates/js/translated/order.js:604 templates/js/translated/stock.js:338 -#: templates/js/translated/stock.js:580 templates/js/translated/stock.js:1061 +#: templates/js/translated/bom.js:406 templates/js/translated/company.js:841 +#: templates/js/translated/order.js:950 templates/js/translated/order.js:1540 +#: templates/js/translated/stock.js:559 templates/js/translated/stock.js:1040 msgid "Notes" msgstr "" -#: build/models.py:315 +#: build/models.py:317 msgid "Extra build notes" msgstr "" -#: build/models.py:792 +#: build/models.py:714 msgid "No build output specified" msgstr "" -#: build/models.py:795 +#: build/models.py:717 msgid "Build output is already completed" msgstr "" -#: build/models.py:798 +#: build/models.py:720 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:1208 -msgid "BuildItem must be unique for build, stock_item and install_into" -msgstr "" - -#: build/models.py:1233 +#: build/models.py:1102 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1237 +#: build/models.py:1111 #, python-brace-format -msgid "Allocated quantity ({n}) must not exceed available quantity ({q})" +msgid "Allocated quantity ({q}) must not execed available stock quantity ({a})" msgstr "" -#: build/models.py:1244 order/models.py:938 -msgid "StockItem is over-allocated" +#: build/models.py:1121 +msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1248 order/models.py:941 +#: build/models.py:1127 order/models.py:955 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1252 +#: build/models.py:1133 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1312 -#, python-brace-format -msgid "Selected stock item not found in BOM for part '{p}'" +#: build/models.py:1191 +msgid "Selected stock item not found in BOM" msgstr "" -#: build/models.py:1372 stock/templates/stock/item_base.html:331 -#: templates/InvenTree/search.html:183 templates/js/translated/build.js:869 +#: build/models.py:1251 stock/templates/stock/item_base.html:331 +#: templates/InvenTree/search.html:169 templates/js/translated/build.js:1195 #: templates/navbar.html:35 msgid "Build" msgstr "" -#: build/models.py:1373 +#: build/models.py:1252 msgid "Build to allocate parts" msgstr "" -#: build/models.py:1389 stock/templates/stock/item_base.html:8 +#: build/models.py:1268 build/serializers.py:151 +#: stock/templates/stock/item_base.html:8 #: stock/templates/stock/item_base.html:31 #: stock/templates/stock/item_base.html:353 #: stock/templates/stock/stock_adjust.html:16 -#: templates/js/translated/build.js:271 templates/js/translated/build.js:276 -#: templates/js/translated/build.js:1012 templates/js/translated/order.js:797 -#: templates/js/translated/order.js:802 templates/js/translated/stock.js:1626 +#: templates/js/translated/build.js:287 templates/js/translated/build.js:292 +#: templates/js/translated/build.js:976 templates/js/translated/build.js:1338 +#: templates/js/translated/order.js:1143 templates/js/translated/order.js:1148 +#: templates/js/translated/stock.js:1605 msgid "Stock Item" msgstr "" -#: build/models.py:1390 +#: build/models.py:1269 msgid "Source stock item" msgstr "" -#: build/models.py:1403 +#: build/models.py:1282 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1411 +#: build/models.py:1290 msgid "Install into" msgstr "" -#: build/models.py:1412 +#: build/models.py:1291 msgid "Destination stock item" msgstr "" +#: build/serializers.py:133 part/models.py:2501 +msgid "BOM Item" +msgstr "" + +#: build/serializers.py:142 +msgid "bom_item.part must point to the same part as the build order" +msgstr "" + +#: build/serializers.py:157 +msgid "Item must be in stock" +msgstr "" + +#: build/serializers.py:171 order/models.py:313 order/serializers.py:231 +#: stock/models.py:351 stock/models.py:1072 +msgid "Quantity must be greater than zero" +msgstr "" + +#: build/serializers.py:180 +msgid "Build Output" +msgstr "" + +#: build/serializers.py:213 +#, python-brace-format +msgid "Available quantity ({q}) exceeded" +msgstr "" + +#: build/serializers.py:219 +msgid "Build output must be specified for allocation of tracked parts" +msgstr "" + +#: build/serializers.py:226 +msgid "Build output cannot be specified for allocation of untracked parts" +msgstr "" + +#: build/serializers.py:254 +msgid "Allocation items must be provided" +msgstr "" + #: build/templates/build/allocation_card.html:21 #: build/templates/build/complete_output.html:46 -#: order/templates/order/sales_order_detail.html:206 -#: order/templates/order/sales_order_detail.html:291 #: report/templates/report/inventree_test_report_base.html:75 #: stock/models.py:501 stock/templates/stock/item_base.html:251 -#: templates/js/translated/build.js:627 -#: templates/js/translated/model_renderers.js:57 +#: templates/js/translated/build.js:636 +#: templates/js/translated/model_renderers.js:72 +#: templates/js/translated/order.js:1253 templates/js/translated/order.js:1342 msgid "Serial Number" msgstr "" -#: build/templates/build/auto_allocate.html:9 -msgid "Automatically Allocate Stock" -msgstr "" - -#: build/templates/build/auto_allocate.html:10 -msgid "The following stock items will be allocated to the specified build output" -msgstr "" - -#: build/templates/build/auto_allocate.html:37 -msgid "No stock items found that can be automatically allocated to this build" -msgstr "" - -#: build/templates/build/auto_allocate.html:39 -msgid "Stock items will have to be manually allocated" -msgstr "" - #: build/templates/build/build_base.html:18 #, python-format msgid "This Build Order is allocated to Sales Order %(link)s" @@ -1033,10 +1053,10 @@ msgstr "" #: order/templates/order/order_base.html:32 #: order/templates/order/order_base.html:86 #: order/templates/order/sales_order_base.html:43 -#: order/templates/order/sales_order_base.html:88 +#: order/templates/order/sales_order_base.html:93 #: templates/js/translated/table_filters.js:272 -#: templates/js/translated/table_filters.js:291 -#: templates/js/translated/table_filters.js:308 +#: templates/js/translated/table_filters.js:300 +#: templates/js/translated/table_filters.js:317 msgid "Overdue" msgstr "" @@ -1086,14 +1106,14 @@ msgid "Progress" msgstr "" #: build/templates/build/build_base.html:170 -#: build/templates/build/detail.html:87 order/models.py:835 +#: build/templates/build/detail.html:87 order/models.py:848 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:35 #: order/templates/order/sales_order_ship.html:25 #: report/templates/report/inventree_build_order_base.html:136 #: report/templates/report/inventree_so_report.html:77 #: stock/templates/stock/item_base.html:293 -#: templates/js/translated/order.js:670 +#: templates/js/translated/order.js:1016 msgid "Sales Order" msgstr "" @@ -1171,28 +1191,6 @@ msgstr "" msgid "The following items will be created" msgstr "" -#: build/templates/build/create_build_item.html:7 -msgid "Select a stock item to allocate to the selected build output" -msgstr "" - -#: build/templates/build/create_build_item.html:11 -#, python-format -msgid "The allocated stock will be installed into the following build output:
%(output)s" -msgstr "" - -#: build/templates/build/create_build_item.html:17 -#, python-format -msgid "No stock available for %(part)s" -msgstr "" - -#: build/templates/build/delete_build_item.html:8 -msgid "Are you sure you want to unallocate this stock?" -msgstr "" - -#: build/templates/build/delete_build_item.html:11 -msgid "The selected stock will be unallocated from the build output" -msgstr "" - #: build/templates/build/detail.html:38 msgid "Stock Source" msgstr "" @@ -1201,9 +1199,8 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/forms.py:88 order/models.py:794 -#: order/templates/order/receive_parts.html:25 stock/forms.py:134 -#: templates/js/translated/order.js:593 +#: build/templates/build/detail.html:49 order/models.py:802 stock/forms.py:134 +#: templates/js/translated/order.js:431 templates/js/translated/order.js:939 msgid "Destination" msgstr "" @@ -1213,7 +1210,7 @@ msgstr "" #: build/templates/build/detail.html:73 #: stock/templates/stock/item_base.html:317 -#: templates/js/translated/stock.js:931 templates/js/translated/stock.js:1873 +#: templates/js/translated/stock.js:910 templates/js/translated/stock.js:1852 #: templates/js/translated/table_filters.js:129 #: templates/js/translated/table_filters.js:211 msgid "Batch" @@ -1221,8 +1218,8 @@ msgstr "" #: build/templates/build/detail.html:119 #: order/templates/order/order_base.html:111 -#: order/templates/order/sales_order_base.html:113 -#: templates/js/translated/build.js:933 +#: order/templates/order/sales_order_base.html:118 +#: templates/js/translated/build.js:1259 msgid "Created" msgstr "" @@ -1230,7 +1227,8 @@ msgstr "" msgid "No target date set" msgstr "" -#: build/templates/build/detail.html:135 templates/js/translated/build.js:911 +#: build/templates/build/detail.html:135 templates/js/translated/build.js:1237 +#: templates/js/translated/table_filters.js:282 msgid "Completed" msgstr "" @@ -1250,15 +1248,16 @@ msgstr "" msgid "Allocate stock to build" msgstr "" -#: build/templates/build/detail.html:173 -msgid "Auto Allocate" +#: build/templates/build/detail.html:173 build/templates/build/navbar.html:20 +#: build/templates/build/navbar.html:23 +msgid "Allocate Stock" msgstr "" -#: build/templates/build/detail.html:175 templates/js/translated/build.js:801 +#: build/templates/build/detail.html:175 templates/js/translated/build.js:817 msgid "Unallocate stock" msgstr "" -#: build/templates/build/detail.html:176 build/views.py:318 build/views.py:638 +#: build/templates/build/detail.html:176 build/views.py:257 msgid "Unallocate Stock" msgstr "" @@ -1268,7 +1267,7 @@ msgstr "" #: build/templates/build/detail.html:180 #: company/templates/company/detail.html:32 -#: company/templates/company/detail.html:72 order/views.py:679 +#: company/templates/company/detail.html:72 order/views.py:509 #: part/templates/part/category.html:140 msgid "Order Parts" msgstr "" @@ -1282,38 +1281,42 @@ msgid "Untracked stock has not been fully allocated for this Build Order" msgstr "" #: build/templates/build/detail.html:197 +msgid "Allocate selected items" +msgstr "" + +#: build/templates/build/detail.html:209 msgid "This Build Order does not have any associated untracked BOM items" msgstr "" -#: build/templates/build/detail.html:206 +#: build/templates/build/detail.html:218 msgid "Incomplete Build Outputs" msgstr "" -#: build/templates/build/detail.html:211 +#: build/templates/build/detail.html:223 msgid "Create new build output" msgstr "" -#: build/templates/build/detail.html:212 +#: build/templates/build/detail.html:224 msgid "Create New Output" msgstr "" -#: build/templates/build/detail.html:225 +#: build/templates/build/detail.html:237 msgid "Create a new build output" msgstr "" -#: build/templates/build/detail.html:226 +#: build/templates/build/detail.html:238 msgid "No incomplete build outputs remain." msgstr "" -#: build/templates/build/detail.html:227 +#: build/templates/build/detail.html:239 msgid "Create a new build output using the button above" msgstr "" -#: build/templates/build/detail.html:235 +#: build/templates/build/detail.html:247 msgid "Completed Build Outputs" msgstr "" -#: build/templates/build/detail.html:246 build/templates/build/navbar.html:42 +#: build/templates/build/detail.html:258 build/templates/build/navbar.html:42 #: build/templates/build/navbar.html:45 order/templates/order/po_navbar.html:35 #: order/templates/order/sales_order_detail.html:43 #: order/templates/order/so_navbar.html:29 part/templates/part/detail.html:173 @@ -1323,15 +1326,15 @@ msgstr "" msgid "Attachments" msgstr "" -#: build/templates/build/detail.html:257 +#: build/templates/build/detail.html:269 msgid "Build Notes" msgstr "" -#: build/templates/build/detail.html:261 build/templates/build/detail.html:398 +#: build/templates/build/detail.html:273 build/templates/build/detail.html:414 #: company/templates/company/detail.html:169 #: company/templates/company/detail.html:196 -#: order/templates/order/purchase_order_detail.html:62 -#: order/templates/order/purchase_order_detail.html:95 +#: order/templates/order/purchase_order_detail.html:71 +#: order/templates/order/purchase_order_detail.html:104 #: order/templates/order/sales_order_detail.html:58 #: order/templates/order/sales_order_detail.html:85 #: part/templates/part/detail.html:109 stock/templates/stock/item.html:103 @@ -1339,39 +1342,48 @@ msgstr "" msgid "Edit Notes" msgstr "" -#: build/templates/build/detail.html:357 +#: build/templates/build/detail.html:373 #: order/templates/order/po_attachments.html:79 -#: order/templates/order/purchase_order_detail.html:157 +#: order/templates/order/purchase_order_detail.html:166 #: order/templates/order/sales_order_detail.html:146 -#: part/templates/part/detail.html:920 stock/templates/stock/item.html:253 +#: part/templates/part/detail.html:891 stock/templates/stock/item.html:253 #: templates/attachment_table.html:6 msgid "Add Attachment" msgstr "" -#: build/templates/build/detail.html:376 +#: build/templates/build/detail.html:392 #: order/templates/order/po_attachments.html:51 -#: order/templates/order/purchase_order_detail.html:129 +#: order/templates/order/purchase_order_detail.html:138 #: order/templates/order/sales_order_detail.html:119 -#: part/templates/part/detail.html:874 stock/templates/stock/item.html:221 +#: part/templates/part/detail.html:845 stock/templates/stock/item.html:221 msgid "Edit Attachment" msgstr "" -#: build/templates/build/detail.html:383 +#: build/templates/build/detail.html:399 #: order/templates/order/po_attachments.html:58 -#: order/templates/order/purchase_order_detail.html:136 +#: order/templates/order/purchase_order_detail.html:145 #: order/templates/order/sales_order_detail.html:125 -#: part/templates/part/detail.html:883 stock/templates/stock/item.html:230 +#: part/templates/part/detail.html:854 stock/templates/stock/item.html:230 +#: templates/js/translated/order.js:1230 msgid "Confirm Delete Operation" msgstr "" -#: build/templates/build/detail.html:384 +#: build/templates/build/detail.html:400 #: order/templates/order/po_attachments.html:59 -#: order/templates/order/purchase_order_detail.html:137 +#: order/templates/order/purchase_order_detail.html:146 #: order/templates/order/sales_order_detail.html:126 -#: part/templates/part/detail.html:884 stock/templates/stock/item.html:231 +#: part/templates/part/detail.html:855 stock/templates/stock/item.html:231 msgid "Delete Attachment" msgstr "" +#: build/templates/build/detail.html:443 +msgid "Allocation Complete" +msgstr "" + +#: build/templates/build/detail.html:444 +msgid "All untracked stock items have been allocated" +msgstr "" + #: build/templates/build/edit_build_item.html:7 msgid "Alter the quantity of stock allocated to the build output" msgstr "" @@ -1401,15 +1413,10 @@ msgid "Build Order Details" msgstr "" #: build/templates/build/navbar.html:15 order/templates/order/po_navbar.html:15 -#: templates/js/translated/stock.js:1555 +#: templates/js/translated/stock.js:1534 msgid "Details" msgstr "" -#: build/templates/build/navbar.html:20 build/templates/build/navbar.html:23 -#: build/views.py:90 -msgid "Allocate Stock" -msgstr "" - #: build/templates/build/navbar.html:28 build/templates/build/navbar.html:31 msgid "Build Outputs" msgstr "" @@ -1434,120 +1441,82 @@ msgstr "" msgid "Build was cancelled" msgstr "" -#: build/views.py:137 -msgid "Allocated stock to build output" -msgstr "" - -#: build/views.py:149 +#: build/views.py:88 msgid "Create Build Output" msgstr "" -#: build/views.py:167 +#: build/views.py:106 msgid "Maximum output quantity is " msgstr "" -#: build/views.py:183 stock/views.py:1389 +#: build/views.py:122 stock/views.py:1366 msgid "Serial numbers already exist" msgstr "" -#: build/views.py:192 +#: build/views.py:131 msgid "Serial numbers required for trackable build output" msgstr "" -#: build/views.py:258 +#: build/views.py:197 msgid "Delete Build Output" msgstr "" -#: build/views.py:279 build/views.py:369 +#: build/views.py:218 build/views.py:308 msgid "Confirm unallocation of build stock" msgstr "" -#: build/views.py:280 build/views.py:370 stock/views.py:404 +#: build/views.py:219 build/views.py:309 stock/views.py:381 msgid "Check the confirmation box" msgstr "" -#: build/views.py:292 +#: build/views.py:231 msgid "Build output does not match build" msgstr "" -#: build/views.py:294 build/views.py:495 +#: build/views.py:233 build/views.py:434 msgid "Build output must be specified" msgstr "" -#: build/views.py:306 +#: build/views.py:245 msgid "Build output deleted" msgstr "" -#: build/views.py:404 +#: build/views.py:343 msgid "Complete Build Order" msgstr "" -#: build/views.py:410 +#: build/views.py:349 msgid "Build order cannot be completed - incomplete outputs remain" msgstr "" -#: build/views.py:421 +#: build/views.py:360 msgid "Completed build order" msgstr "" -#: build/views.py:437 +#: build/views.py:376 msgid "Complete Build Output" msgstr "" -#: build/views.py:479 +#: build/views.py:418 msgid "Invalid stock status value selected" msgstr "" -#: build/views.py:486 +#: build/views.py:425 msgid "Quantity to complete cannot exceed build output quantity" msgstr "" -#: build/views.py:492 +#: build/views.py:431 msgid "Confirm completion of incomplete build" msgstr "" -#: build/views.py:591 +#: build/views.py:530 msgid "Build output completed" msgstr "" -#: build/views.py:628 +#: build/views.py:567 msgid "Delete Build Order" msgstr "" -#: build/views.py:643 -msgid "Removed parts from build allocation" -msgstr "" - -#: build/views.py:655 -msgid "Allocate stock to build output" -msgstr "" - -#: build/views.py:698 -msgid "Item must be currently in stock" -msgstr "" - -#: build/views.py:704 -msgid "Stock item is over-allocated" -msgstr "" - -#: build/views.py:705 templates/js/translated/bom.js:269 -#: templates/js/translated/build.js:728 templates/js/translated/build.js:1019 -#: templates/js/translated/build.js:1196 -msgid "Available" -msgstr "" - -#: build/views.py:707 -msgid "Stock item must be selected" -msgstr "" - -#: build/views.py:870 -msgid "Edit Stock Allocation" -msgstr "" - -#: build/views.py:874 -msgid "Updated Build Item" -msgstr "" - #: common/files.py:67 msgid "Unsupported file format: {ext.upper()}" msgstr "" @@ -1585,7 +1554,7 @@ msgstr "" msgid "Select {name} file to upload" msgstr "" -#: common/models.py:308 common/models.py:839 common/models.py:986 +#: common/models.py:308 common/models.py:887 common/models.py:1048 msgid "Settings key (must be unique - case insensitive" msgstr "" @@ -1625,7 +1594,7 @@ msgstr "" msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:522 company/models.py:99 company/models.py:100 +#: common/models.py:522 company/models.py:100 company/models.py:101 msgid "Company name" msgstr "" @@ -1721,9 +1690,9 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:603 part/models.py:2252 report/models.py:187 +#: common/models.py:603 part/models.py:2256 report/models.py:187 #: stock/forms.py:224 templates/js/translated/table_filters.js:38 -#: templates/js/translated/table_filters.js:342 +#: templates/js/translated/table_filters.js:351 msgid "Template" msgstr "" @@ -1731,9 +1700,9 @@ msgstr "" msgid "Parts are templates by default" msgstr "" -#: common/models.py:610 part/models.py:805 +#: common/models.py:610 part/models.py:806 #: templates/js/translated/table_filters.js:146 -#: templates/js/translated/table_filters.js:354 +#: templates/js/translated/table_filters.js:363 msgid "Assembly" msgstr "" @@ -1741,8 +1710,8 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:617 part/models.py:811 -#: templates/js/translated/table_filters.js:358 +#: common/models.py:617 part/models.py:812 +#: templates/js/translated/table_filters.js:367 msgid "Component" msgstr "" @@ -1750,7 +1719,7 @@ msgstr "" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:624 part/models.py:822 +#: common/models.py:624 part/models.py:823 msgid "Purchaseable" msgstr "" @@ -1758,8 +1727,8 @@ msgstr "" msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:631 part/models.py:827 -#: templates/js/translated/table_filters.js:366 +#: common/models.py:631 part/models.py:828 +#: templates/js/translated/table_filters.js:375 msgid "Salable" msgstr "" @@ -1767,9 +1736,9 @@ msgstr "" msgid "Parts are salable by default" msgstr "" -#: common/models.py:638 part/models.py:817 +#: common/models.py:638 part/models.py:818 #: templates/js/translated/table_filters.js:46 -#: templates/js/translated/table_filters.js:370 +#: templates/js/translated/table_filters.js:379 msgid "Trackable" msgstr "" @@ -1777,7 +1746,7 @@ msgstr "" msgid "Parts are trackable by default" msgstr "" -#: common/models.py:645 part/models.py:837 +#: common/models.py:645 part/models.py:838 #: part/templates/part/part_base.html:66 #: templates/js/translated/table_filters.js:42 msgid "Virtual" @@ -1787,392 +1756,464 @@ msgstr "" msgid "Parts are virtual by default" msgstr "" -#: common/models.py:653 -msgid "Show Quantity in Forms" -msgstr "" - -#: common/models.py:654 -msgid "Display available part quantity in some forms" -msgstr "" - -#: common/models.py:660 +#: common/models.py:652 msgid "Show Import in Views" msgstr "" -#: common/models.py:661 +#: common/models.py:653 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:667 +#: common/models.py:659 msgid "Show Price in Forms" msgstr "" -#: common/models.py:668 +#: common/models.py:660 msgid "Display part price in some forms" msgstr "" -#: common/models.py:674 +#: common/models.py:671 +msgid "Show Price in BOM" +msgstr "" + +#: common/models.py:672 +msgid "Include pricing information in BOM tables" +msgstr "" + +#: common/models.py:678 msgid "Show related parts" msgstr "" -#: common/models.py:675 +#: common/models.py:679 msgid "Display related parts for a part" msgstr "" -#: common/models.py:681 +#: common/models.py:685 msgid "Create initial stock" msgstr "" -#: common/models.py:682 +#: common/models.py:686 msgid "Create initial stock on part creation" msgstr "" -#: common/models.py:688 +#: common/models.py:692 msgid "Internal Prices" msgstr "" -#: common/models.py:689 +#: common/models.py:693 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:695 +#: common/models.py:699 msgid "Internal Price as BOM-Price" msgstr "" -#: common/models.py:696 +#: common/models.py:700 msgid "Use the internal price (if set) in BOM-price calculations" msgstr "" -#: common/models.py:702 templates/stats.html:25 +#: common/models.py:706 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:703 +#: common/models.py:707 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:709 +#: common/models.py:713 msgid "Page Size" msgstr "" -#: common/models.py:710 +#: common/models.py:714 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:720 +#: common/models.py:724 msgid "Test Reports" msgstr "" -#: common/models.py:721 +#: common/models.py:725 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:727 +#: common/models.py:731 msgid "Stock Expiry" msgstr "" -#: common/models.py:728 +#: common/models.py:732 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:734 +#: common/models.py:738 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:735 +#: common/models.py:739 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:741 +#: common/models.py:745 msgid "Stock Stale Time" msgstr "" -#: common/models.py:742 +#: common/models.py:746 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:744 +#: common/models.py:748 msgid "days" msgstr "" -#: common/models.py:749 +#: common/models.py:753 msgid "Build Expired Stock" msgstr "" -#: common/models.py:750 +#: common/models.py:754 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:756 +#: common/models.py:760 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:757 +#: common/models.py:761 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:763 +#: common/models.py:767 msgid "Group by Part" msgstr "" -#: common/models.py:764 +#: common/models.py:768 msgid "Group stock items by part reference in table views" msgstr "" -#: common/models.py:770 +#: common/models.py:774 msgid "Build Order Reference Prefix" msgstr "" -#: common/models.py:771 +#: common/models.py:775 msgid "Prefix value for build order reference" msgstr "" -#: common/models.py:776 +#: common/models.py:780 msgid "Build Order Reference Regex" msgstr "" -#: common/models.py:777 +#: common/models.py:781 msgid "Regular expression pattern for matching build order reference" msgstr "" -#: common/models.py:781 +#: common/models.py:785 msgid "Sales Order Reference Prefix" msgstr "" -#: common/models.py:782 +#: common/models.py:786 msgid "Prefix value for sales order reference" msgstr "" -#: common/models.py:787 +#: common/models.py:791 msgid "Purchase Order Reference Prefix" msgstr "" -#: common/models.py:788 +#: common/models.py:792 msgid "Prefix value for purchase order reference" msgstr "" -#: common/models.py:794 +#: common/models.py:798 msgid "Enable build" msgstr "" -#: common/models.py:795 +#: common/models.py:799 msgid "Enable build functionality in InvenTree interface" msgstr "" -#: common/models.py:800 +#: common/models.py:804 msgid "Enable buy" msgstr "" -#: common/models.py:801 +#: common/models.py:805 msgid "Enable buy functionality in InvenTree interface" msgstr "" -#: common/models.py:806 +#: common/models.py:810 msgid "Enable sell" msgstr "" -#: common/models.py:807 +#: common/models.py:811 msgid "Enable sell functionality in InvenTree interface" msgstr "" -#: common/models.py:812 +#: common/models.py:816 msgid "Enable stock" msgstr "" -#: common/models.py:813 +#: common/models.py:817 msgid "Enable stock functionality in InvenTree interface" msgstr "" -#: common/models.py:818 +#: common/models.py:822 msgid "Enable SO" msgstr "" -#: common/models.py:819 +#: common/models.py:823 msgid "Enable SO functionality in InvenTree interface" msgstr "" -#: common/models.py:824 +#: common/models.py:828 msgid "Enable PO" msgstr "" -#: common/models.py:825 +#: common/models.py:829 msgid "Enable PO functionality in InvenTree interface" msgstr "" -#: common/models.py:850 +#: common/models.py:836 +msgid "Enable password forgot" +msgstr "" + +#: common/models.py:837 +msgid "Enable password forgot function on the login-pages" +msgstr "" + +#: common/models.py:842 +msgid "Enable registration" +msgstr "" + +#: common/models.py:843 +msgid "Enable self-registration for users on the login-pages" +msgstr "" + +#: common/models.py:848 +msgid "Enable SSO" +msgstr "" + +#: common/models.py:849 +msgid "Enable SSO on the login-pages" +msgstr "" + +#: common/models.py:854 +msgid "E-Mail required" +msgstr "" + +#: common/models.py:855 +msgid "Require user to supply mail on signup" +msgstr "" + +#: common/models.py:860 +msgid "Auto-fill SSO users" +msgstr "" + +#: common/models.py:861 +msgid "Automatically fill out user-details from SSO account-data" +msgstr "" + +#: common/models.py:866 +msgid "Mail twice" +msgstr "" + +#: common/models.py:867 +msgid "On signup ask users twice for their mail" +msgstr "" + +#: common/models.py:872 +msgid "Password twice" +msgstr "" + +#: common/models.py:873 +msgid "On signup ask users twice for their password" +msgstr "" + +#: common/models.py:898 msgid "Show starred parts" msgstr "" -#: common/models.py:851 +#: common/models.py:899 msgid "Show starred parts on the homepage" msgstr "" -#: common/models.py:856 +#: common/models.py:904 msgid "Show latest parts" msgstr "" -#: common/models.py:857 +#: common/models.py:905 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:862 +#: common/models.py:910 msgid "Recent Part Count" msgstr "" -#: common/models.py:863 +#: common/models.py:911 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:869 +#: common/models.py:917 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:870 +#: common/models.py:918 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:875 +#: common/models.py:923 msgid "Show recent stock changes" msgstr "" -#: common/models.py:876 +#: common/models.py:924 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:881 +#: common/models.py:929 msgid "Recent Stock Count" msgstr "" -#: common/models.py:882 +#: common/models.py:930 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:887 +#: common/models.py:935 msgid "Show low stock" msgstr "" -#: common/models.py:888 +#: common/models.py:936 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:893 +#: common/models.py:941 msgid "Show depleted stock" msgstr "" -#: common/models.py:894 +#: common/models.py:942 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:899 +#: common/models.py:947 msgid "Show needed stock" msgstr "" -#: common/models.py:900 +#: common/models.py:948 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:905 +#: common/models.py:953 msgid "Show expired stock" msgstr "" -#: common/models.py:906 +#: common/models.py:954 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:911 +#: common/models.py:959 msgid "Show stale stock" msgstr "" -#: common/models.py:912 +#: common/models.py:960 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:917 +#: common/models.py:965 msgid "Show pending builds" msgstr "" -#: common/models.py:918 +#: common/models.py:966 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:923 +#: common/models.py:971 msgid "Show overdue builds" msgstr "" -#: common/models.py:924 +#: common/models.py:972 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:929 +#: common/models.py:977 msgid "Show outstanding POs" msgstr "" -#: common/models.py:930 +#: common/models.py:978 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:935 +#: common/models.py:983 msgid "Show overdue POs" msgstr "" -#: common/models.py:936 +#: common/models.py:984 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:941 +#: common/models.py:989 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:942 +#: common/models.py:990 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:947 +#: common/models.py:995 msgid "Show overdue SOs" msgstr "" -#: common/models.py:948 +#: common/models.py:996 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:954 +#: common/models.py:1002 msgid "Inline label display" msgstr "" -#: common/models.py:955 +#: common/models.py:1003 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:961 +#: common/models.py:1009 msgid "Inline report display" msgstr "" -#: common/models.py:962 +#: common/models.py:1010 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:968 +#: common/models.py:1016 msgid "Search Preview Results" msgstr "" -#: common/models.py:969 +#: common/models.py:1017 msgid "Number of results to show in search preview window" msgstr "" -#: common/models.py:1026 company/forms.py:43 +#: common/models.py:1023 +msgid "Show Quantity in Forms" +msgstr "" + +#: common/models.py:1024 +msgid "Display available part quantity in some forms" +msgstr "" + +#: common/models.py:1030 +msgid "Escape Key Closes Forms" +msgstr "" + +#: common/models.py:1031 +msgid "Use the escape key to close modal forms" +msgstr "" + +#: common/models.py:1088 company/forms.py:43 msgid "Price break quantity" msgstr "" -#: common/models.py:1033 company/templates/company/supplier_part.html:231 -#: templates/js/translated/part.js:1322 +#: common/models.py:1095 company/templates/company/supplier_part.html:231 +#: templates/js/translated/part.js:1369 msgid "Price" msgstr "" -#: common/models.py:1034 +#: common/models.py:1096 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1127 +#: common/models.py:1189 msgid "Default" msgstr "" @@ -2199,7 +2240,7 @@ msgstr "" #: common/views.py:213 order/templates/order/order_wizard/po_upload.html:42 #: order/templates/order/po_navbar.html:19 #: order/templates/order/po_navbar.html:22 -#: order/templates/order/purchase_order_detail.html:26 order/views.py:290 +#: order/templates/order/purchase_order_detail.html:27 order/views.py:289 #: part/templates/part/bom_upload/upload_file.html:65 #: part/templates/part/import_wizard/part_upload.html:45 part/views.py:268 #: part/views.py:882 @@ -2207,7 +2248,7 @@ msgid "Upload File" msgstr "" #: common/views.py:214 order/templates/order/order_wizard/match_fields.html:52 -#: order/views.py:291 part/templates/part/bom_upload/match_fields.html:52 +#: order/views.py:290 part/templates/part/bom_upload/match_fields.html:52 #: part/templates/part/import_wizard/ajax_match_fields.html:45 #: part/templates/part/import_wizard/match_fields.html:52 part/views.py:269 #: part/views.py:883 @@ -2246,249 +2287,249 @@ msgstr "" msgid "Image URL" msgstr "" -#: company/models.py:104 +#: company/models.py:105 msgid "Company description" msgstr "" -#: company/models.py:105 +#: company/models.py:106 msgid "Description of the company" msgstr "" -#: company/models.py:111 company/templates/company/company_base.html:70 +#: company/models.py:112 company/templates/company/company_base.html:70 #: templates/js/translated/company.js:348 msgid "Website" msgstr "" -#: company/models.py:112 +#: company/models.py:113 msgid "Company website URL" msgstr "" -#: company/models.py:116 company/templates/company/company_base.html:88 +#: company/models.py:117 company/templates/company/company_base.html:88 msgid "Address" msgstr "" -#: company/models.py:117 +#: company/models.py:118 msgid "Company address" msgstr "" -#: company/models.py:120 +#: company/models.py:121 msgid "Phone number" msgstr "" -#: company/models.py:121 +#: company/models.py:122 msgid "Contact phone number" msgstr "" -#: company/models.py:124 company/templates/company/company_base.html:102 +#: company/models.py:125 company/templates/company/company_base.html:102 msgid "Email" msgstr "" -#: company/models.py:124 +#: company/models.py:125 msgid "Contact email address" msgstr "" -#: company/models.py:127 company/templates/company/company_base.html:109 +#: company/models.py:128 company/templates/company/company_base.html:109 msgid "Contact" msgstr "" -#: company/models.py:128 +#: company/models.py:129 msgid "Point of contact" msgstr "" -#: company/models.py:130 company/models.py:347 company/models.py:563 -#: order/models.py:160 part/models.py:714 +#: company/models.py:131 company/models.py:348 company/models.py:564 +#: order/models.py:160 part/models.py:715 #: report/templates/report/inventree_build_order_base.html:165 -#: templates/js/translated/company.js:535 -#: templates/js/translated/company.js:823 templates/js/translated/part.js:972 +#: templates/js/translated/company.js:536 +#: templates/js/translated/company.js:825 templates/js/translated/part.js:983 msgid "Link" msgstr "" -#: company/models.py:130 +#: company/models.py:131 msgid "Link to external company information" msgstr "" -#: company/models.py:138 part/models.py:724 +#: company/models.py:139 part/models.py:725 msgid "Image" msgstr "" -#: company/models.py:143 +#: company/models.py:144 msgid "is customer" msgstr "" -#: company/models.py:143 +#: company/models.py:144 msgid "Do you sell items to this company?" msgstr "" -#: company/models.py:145 +#: company/models.py:146 msgid "is supplier" msgstr "" -#: company/models.py:145 +#: company/models.py:146 msgid "Do you purchase items from this company?" msgstr "" -#: company/models.py:147 +#: company/models.py:148 msgid "is manufacturer" msgstr "" -#: company/models.py:147 +#: company/models.py:148 msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:151 company/serializers.py:264 -#: company/templates/company/company_base.html:76 stock/serializers.py:155 +#: company/models.py:152 company/serializers.py:264 +#: company/templates/company/company_base.html:76 stock/serializers.py:158 msgid "Currency" msgstr "" -#: company/models.py:154 +#: company/models.py:155 msgid "Default currency used for this company" msgstr "" -#: company/models.py:319 company/models.py:534 stock/models.py:454 +#: company/models.py:320 company/models.py:535 stock/models.py:454 #: stock/templates/stock/item_base.html:237 msgid "Base Part" msgstr "" -#: company/models.py:323 company/models.py:538 order/views.py:1082 +#: company/models.py:324 company/models.py:539 order/views.py:912 msgid "Select part" msgstr "" -#: company/models.py:334 company/templates/company/company_base.html:116 +#: company/models.py:335 company/templates/company/company_base.html:116 #: company/templates/company/manufacturer_part.html:89 #: company/templates/company/supplier_part.html:98 part/bom.py:170 -#: part/bom.py:241 stock/templates/stock/item_base.html:366 +#: part/bom.py:247 stock/templates/stock/item_base.html:366 #: templates/js/translated/company.js:332 -#: templates/js/translated/company.js:512 -#: templates/js/translated/company.js:794 templates/js/translated/part.js:222 +#: templates/js/translated/company.js:513 +#: templates/js/translated/company.js:796 templates/js/translated/part.js:227 msgid "Manufacturer" msgstr "" -#: company/models.py:335 templates/js/translated/part.js:223 +#: company/models.py:336 templates/js/translated/part.js:228 msgid "Select manufacturer" msgstr "" -#: company/models.py:341 company/templates/company/manufacturer_part.html:93 +#: company/models.py:342 company/templates/company/manufacturer_part.html:93 #: company/templates/company/supplier_part.html:106 part/bom.py:171 -#: part/bom.py:242 templates/js/translated/company.js:528 -#: templates/js/translated/company.js:812 templates/js/translated/order.js:505 -#: templates/js/translated/part.js:233 +#: part/bom.py:248 templates/js/translated/company.js:529 +#: templates/js/translated/company.js:814 templates/js/translated/order.js:851 +#: templates/js/translated/part.js:238 msgid "MPN" msgstr "" -#: company/models.py:342 templates/js/translated/part.js:234 +#: company/models.py:343 templates/js/translated/part.js:239 msgid "Manufacturer Part Number" msgstr "" -#: company/models.py:348 +#: company/models.py:349 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:354 +#: company/models.py:355 msgid "Manufacturer part description" msgstr "" -#: company/models.py:408 company/models.py:557 +#: company/models.py:409 company/models.py:558 #: company/templates/company/manufacturer_part.html:6 #: company/templates/company/manufacturer_part.html:23 #: stock/templates/stock/item_base.html:376 msgid "Manufacturer Part" msgstr "" -#: company/models.py:415 +#: company/models.py:416 msgid "Parameter name" msgstr "" -#: company/models.py:421 +#: company/models.py:422 #: report/templates/report/inventree_test_report_base.html:90 -#: stock/models.py:1819 templates/InvenTree/settings/header.html:8 -#: templates/js/translated/company.js:642 templates/js/translated/part.js:612 -#: templates/js/translated/stock.js:576 +#: stock/models.py:1816 templates/InvenTree/settings/header.html:8 +#: templates/js/translated/company.js:643 templates/js/translated/part.js:623 +#: templates/js/translated/stock.js:555 msgid "Value" msgstr "" -#: company/models.py:422 +#: company/models.py:423 msgid "Parameter value" msgstr "" -#: company/models.py:428 part/models.py:799 part/models.py:2220 -#: templates/js/translated/company.js:648 templates/js/translated/part.js:618 +#: company/models.py:429 part/models.py:800 part/models.py:2224 +#: templates/js/translated/company.js:649 templates/js/translated/part.js:629 msgid "Units" msgstr "" -#: company/models.py:429 +#: company/models.py:430 msgid "Parameter units" msgstr "" -#: company/models.py:501 +#: company/models.py:502 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:544 company/templates/company/company_base.html:121 +#: company/models.py:545 company/templates/company/company_base.html:121 #: company/templates/company/supplier_part.html:88 order/models.py:260 #: order/templates/order/order_base.html:92 #: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:175 -#: part/bom.py:286 stock/templates/stock/item_base.html:383 +#: part/bom.py:292 stock/templates/stock/item_base.html:383 #: templates/js/translated/company.js:336 -#: templates/js/translated/company.js:768 templates/js/translated/order.js:328 -#: templates/js/translated/part.js:203 +#: templates/js/translated/company.js:770 templates/js/translated/order.js:659 +#: templates/js/translated/part.js:208 msgid "Supplier" msgstr "" -#: company/models.py:545 templates/js/translated/part.js:204 +#: company/models.py:546 templates/js/translated/part.js:209 msgid "Select supplier" msgstr "" -#: company/models.py:550 company/templates/company/supplier_part.html:92 -#: part/bom.py:176 part/bom.py:287 templates/js/translated/order.js:492 -#: templates/js/translated/part.js:214 +#: company/models.py:551 company/templates/company/supplier_part.html:92 +#: part/bom.py:176 part/bom.py:293 templates/js/translated/order.js:838 +#: templates/js/translated/part.js:219 msgid "SKU" msgstr "" -#: company/models.py:551 templates/js/translated/part.js:215 +#: company/models.py:552 templates/js/translated/part.js:220 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:558 +#: company/models.py:559 msgid "Select manufacturer part" msgstr "" -#: company/models.py:564 +#: company/models.py:565 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:570 +#: company/models.py:571 msgid "Supplier part description" msgstr "" -#: company/models.py:575 company/templates/company/supplier_part.html:120 -#: part/models.py:2368 report/templates/report/inventree_po_report.html:93 +#: company/models.py:576 company/templates/company/supplier_part.html:120 +#: part/models.py:2389 report/templates/report/inventree_po_report.html:93 #: report/templates/report/inventree_so_report.html:93 msgid "Note" msgstr "" -#: company/models.py:579 part/models.py:1599 +#: company/models.py:580 part/models.py:1603 msgid "base cost" msgstr "" -#: company/models.py:579 part/models.py:1599 +#: company/models.py:580 part/models.py:1603 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:581 company/templates/company/supplier_part.html:113 +#: company/models.py:582 company/templates/company/supplier_part.html:113 #: stock/models.py:478 stock/templates/stock/item_base.html:324 -#: templates/js/translated/company.js:844 templates/js/translated/stock.js:1057 +#: templates/js/translated/company.js:846 templates/js/translated/stock.js:1036 msgid "Packaging" msgstr "" -#: company/models.py:581 +#: company/models.py:582 msgid "Part packaging" msgstr "" -#: company/models.py:583 part/models.py:1601 +#: company/models.py:584 part/models.py:1605 msgid "multiple" msgstr "" -#: company/models.py:583 +#: company/models.py:584 msgid "Order multiple" msgstr "" @@ -2502,7 +2543,7 @@ msgstr "" #: company/templates/company/company_base.html:9 #: company/templates/company/company_base.html:35 -#: templates/InvenTree/search.html:304 templates/js/translated/company.js:321 +#: templates/InvenTree/search.html:208 templates/js/translated/company.js:321 msgid "Company" msgstr "" @@ -2517,7 +2558,7 @@ msgid "Download image from URL" msgstr "" #: company/templates/company/company_base.html:46 -#: templates/js/translated/order.js:117 +#: templates/js/translated/order.js:120 msgid "Create Purchase Order" msgstr "" @@ -2542,22 +2583,22 @@ msgstr "" msgid "Phone" msgstr "" -#: company/templates/company/company_base.html:126 order/models.py:550 -#: order/templates/order/sales_order_base.html:94 stock/models.py:496 +#: company/templates/company/company_base.html:126 order/models.py:558 +#: order/templates/order/sales_order_base.html:99 stock/models.py:496 #: stock/models.py:497 stock/templates/stock/item_base.html:276 -#: templates/js/translated/company.js:328 templates/js/translated/order.js:692 -#: templates/js/translated/stock.js:1608 +#: templates/js/translated/company.js:328 templates/js/translated/order.js:1038 +#: templates/js/translated/stock.js:1587 msgid "Customer" msgstr "" -#: company/templates/company/company_base.html:193 -#: part/templates/part/part_base.html:418 +#: company/templates/company/company_base.html:199 +#: part/templates/part/part_base.html:424 msgid "Upload Image" msgstr "" #: company/templates/company/detail.html:14 #: company/templates/company/manufacturer_part_navbar.html:18 -#: templates/InvenTree/search.html:164 +#: templates/InvenTree/search.html:150 msgid "Supplier Parts" msgstr "" @@ -2597,7 +2638,7 @@ msgstr "" msgid "Delete Parts" msgstr "" -#: company/templates/company/detail.html:54 templates/InvenTree/search.html:149 +#: company/templates/company/detail.html:54 templates/InvenTree/search.html:135 msgid "Manufacturer Parts" msgstr "" @@ -2620,9 +2661,9 @@ msgstr "" #: order/templates/order/purchase_orders.html:13 #: part/templates/part/detail.html:50 part/templates/part/navbar.html:82 #: part/templates/part/navbar.html:85 templates/InvenTree/index.html:260 -#: templates/InvenTree/search.html:325 -#: templates/InvenTree/settings/navbar.html:107 -#: templates/InvenTree/settings/navbar.html:109 templates/navbar.html:44 +#: templates/InvenTree/search.html:229 +#: templates/InvenTree/settings/navbar.html:119 +#: templates/InvenTree/settings/navbar.html:121 templates/navbar.html:44 #: users/models.py:45 msgid "Purchase Orders" msgstr "" @@ -2644,9 +2685,9 @@ msgstr "" #: order/templates/order/sales_orders.html:13 #: part/templates/part/detail.html:71 part/templates/part/navbar.html:91 #: part/templates/part/navbar.html:94 templates/InvenTree/index.html:291 -#: templates/InvenTree/search.html:345 -#: templates/InvenTree/settings/navbar.html:113 -#: templates/InvenTree/settings/navbar.html:115 templates/navbar.html:55 +#: templates/InvenTree/search.html:249 +#: templates/InvenTree/settings/navbar.html:125 +#: templates/InvenTree/settings/navbar.html:127 templates/navbar.html:55 #: users/models.py:46 msgid "Sales Orders" msgstr "" @@ -2664,7 +2705,7 @@ msgstr "" #: company/templates/company/detail.html:147 #: company/templates/company/navbar.html:61 #: company/templates/company/navbar.html:64 -#: templates/js/translated/build.js:620 +#: templates/js/translated/build.js:622 msgid "Assigned Stock" msgstr "" @@ -2696,12 +2737,12 @@ msgid "Order part" msgstr "" #: company/templates/company/manufacturer_part.html:45 -#: templates/js/translated/company.js:560 +#: templates/js/translated/company.js:561 msgid "Edit manufacturer part" msgstr "" #: company/templates/company/manufacturer_part.html:49 -#: templates/js/translated/company.js:561 +#: templates/js/translated/company.js:562 msgid "Delete manufacturer part" msgstr "" @@ -2718,7 +2759,7 @@ msgstr "" #: company/templates/company/manufacturer_part_navbar.html:21 #: company/views.py:49 part/templates/part/navbar.html:75 #: part/templates/part/navbar.html:78 part/templates/part/prices.html:163 -#: templates/InvenTree/search.html:316 templates/navbar.html:41 +#: templates/InvenTree/search.html:220 templates/navbar.html:41 msgid "Suppliers" msgstr "" @@ -2732,7 +2773,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:239 #: part/templates/part/detail.html:214 part/templates/part/detail.html:294 #: part/templates/part/detail.html:317 templates/js/translated/company.js:424 -#: templates/js/translated/helpers.js:31 users/models.py:194 +#: templates/js/translated/helpers.js:31 users/models.py:199 msgid "Delete" msgstr "" @@ -2758,7 +2799,7 @@ msgid "Delete parameters" msgstr "" #: company/templates/company/manufacturer_part.html:176 -#: part/templates/part/detail.html:834 +#: part/templates/part/detail.html:805 msgid "Add Parameter" msgstr "" @@ -2777,16 +2818,15 @@ msgstr "" #: company/templates/company/manufacturer_part_navbar.html:29 #: company/templates/company/navbar.html:39 #: company/templates/company/supplier_part_navbar.html:15 -#: part/templates/part/navbar.html:38 stock/api.py:54 +#: part/templates/part/navbar.html:38 stock/api.py:52 #: stock/templates/stock/loc_link.html:7 stock/templates/stock/location.html:36 #: stock/templates/stock/stock_app_base.html:10 -#: templates/InvenTree/index.html:150 templates/InvenTree/search.html:196 -#: templates/InvenTree/search.html:232 -#: templates/InvenTree/settings/navbar.html:95 -#: templates/InvenTree/settings/navbar.html:97 -#: templates/js/translated/part.js:529 templates/js/translated/part.js:758 -#: templates/js/translated/part.js:934 templates/js/translated/stock.js:202 -#: templates/js/translated/stock.js:850 templates/navbar.html:32 +#: templates/InvenTree/index.html:150 templates/InvenTree/search.html:182 +#: templates/InvenTree/settings/navbar.html:107 +#: templates/InvenTree/settings/navbar.html:109 +#: templates/js/translated/part.js:540 templates/js/translated/part.js:769 +#: templates/js/translated/part.js:945 templates/js/translated/stock.js:182 +#: templates/js/translated/stock.js:829 templates/navbar.html:32 msgid "Stock" msgstr "" @@ -2815,7 +2855,7 @@ msgstr "" #: stock/templates/stock/location.html:148 #: stock/templates/stock/location_navbar.html:18 #: stock/templates/stock/location_navbar.html:21 -#: templates/InvenTree/search.html:198 templates/js/translated/stock.js:1507 +#: templates/InvenTree/search.html:184 templates/js/translated/stock.js:1486 #: templates/stats.html:93 templates/stats.html:102 users/models.py:43 msgid "Stock Items" msgstr "" @@ -2823,17 +2863,17 @@ msgstr "" #: company/templates/company/supplier_part.html:7 #: company/templates/company/supplier_part.html:24 stock/models.py:463 #: stock/templates/stock/item_base.html:388 -#: templates/js/translated/company.js:784 templates/js/translated/stock.js:1014 +#: templates/js/translated/company.js:786 templates/js/translated/stock.js:993 msgid "Supplier Part" msgstr "" #: company/templates/company/supplier_part.html:44 -#: templates/js/translated/company.js:857 +#: templates/js/translated/company.js:859 msgid "Edit supplier part" msgstr "" #: company/templates/company/supplier_part.html:48 -#: templates/js/translated/company.js:858 +#: templates/js/translated/company.js:860 msgid "Delete supplier part" msgstr "" @@ -2900,7 +2940,7 @@ msgid "New Supplier" msgstr "" #: company/views.py:55 part/templates/part/prices.html:167 -#: templates/InvenTree/search.html:306 templates/navbar.html:42 +#: templates/InvenTree/search.html:210 templates/navbar.html:42 msgid "Manufacturers" msgstr "" @@ -2908,7 +2948,7 @@ msgstr "" msgid "New Manufacturer" msgstr "" -#: company/views.py:61 templates/InvenTree/search.html:336 +#: company/views.py:61 templates/InvenTree/search.html:240 #: templates/navbar.html:53 msgid "Customers" msgstr "" @@ -3011,36 +3051,32 @@ msgstr "" msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" -#: order/api.py:302 -msgid "Destination location must be specified" +#: order/api.py:250 +msgid "Matching purchase order does not exist" msgstr "" -#: order/forms.py:30 order/templates/order/order_base.html:47 +#: order/forms.py:27 order/templates/order/order_base.html:50 msgid "Place order" msgstr "" -#: order/forms.py:41 order/templates/order/order_base.html:54 +#: order/forms.py:38 order/templates/order/order_base.html:57 msgid "Mark order as complete" msgstr "" -#: order/forms.py:52 order/forms.py:63 order/templates/order/order_base.html:59 -#: order/templates/order/sales_order_base.html:61 +#: order/forms.py:49 order/forms.py:60 order/templates/order/order_base.html:62 +#: order/templates/order/sales_order_base.html:64 msgid "Cancel order" msgstr "" -#: order/forms.py:74 order/templates/order/sales_order_base.html:58 +#: order/forms.py:71 order/templates/order/sales_order_base.html:61 msgid "Ship order" msgstr "" -#: order/forms.py:89 -msgid "Set all received parts listed above to this location (if left blank, use \"Destination\" column value in above table)" -msgstr "" - -#: order/forms.py:116 +#: order/forms.py:97 msgid "Enter stock item serial numbers" msgstr "" -#: order/forms.py:122 +#: order/forms.py:103 msgid "Enter quantity of stock items" msgstr "" @@ -3064,11 +3100,11 @@ msgstr "" msgid "Order notes" msgstr "" -#: order/models.py:247 order/models.py:540 +#: order/models.py:247 order/models.py:548 msgid "Order reference" msgstr "" -#: order/models.py:252 order/models.py:555 +#: order/models.py:252 order/models.py:563 msgid "Purchase order status" msgstr "" @@ -3077,7 +3113,7 @@ msgid "Company from which the items are being ordered" msgstr "" #: order/models.py:264 order/templates/order/order_base.html:98 -#: templates/js/translated/order.js:337 +#: templates/js/translated/order.js:668 msgid "Supplier Reference" msgstr "" @@ -3109,190 +3145,190 @@ msgstr "" msgid "Date order was completed" msgstr "" -#: order/models.py:313 stock/models.py:351 stock/models.py:1072 -msgid "Quantity must be greater than zero" -msgstr "" - #: order/models.py:318 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:421 -msgid "Lines can only be received against an order marked as 'Placed'" -msgstr "" - -#: order/models.py:425 +#: order/models.py:428 msgid "Quantity must be an integer" msgstr "" -#: order/models.py:427 +#: order/models.py:432 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:551 +#: order/models.py:559 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:557 +#: order/models.py:565 msgid "Customer Reference " msgstr "" -#: order/models.py:557 +#: order/models.py:565 msgid "Customer order reference code" msgstr "" -#: order/models.py:562 +#: order/models.py:570 msgid "Target date for order completion. Order will be overdue after this date." msgstr "" -#: order/models.py:565 templates/js/translated/order.js:733 +#: order/models.py:573 templates/js/translated/order.js:1079 msgid "Shipment Date" msgstr "" -#: order/models.py:572 +#: order/models.py:580 msgid "shipped by" msgstr "" -#: order/models.py:616 +#: order/models.py:624 msgid "SalesOrder cannot be shipped as it is not currently pending" msgstr "" -#: order/models.py:713 +#: order/models.py:721 msgid "Item quantity" msgstr "" -#: order/models.py:719 +#: order/models.py:727 msgid "Line item reference" msgstr "" -#: order/models.py:721 +#: order/models.py:729 msgid "Line item notes" msgstr "" -#: order/models.py:751 order/models.py:835 templates/js/translated/order.js:785 +#: order/models.py:759 order/models.py:847 +#: templates/js/translated/order.js:1131 msgid "Order" msgstr "" -#: order/models.py:752 order/templates/order/order_base.html:9 +#: order/models.py:760 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:24 #: report/templates/report/inventree_po_report.html:77 #: stock/templates/stock/item_base.html:338 -#: templates/js/translated/order.js:306 templates/js/translated/stock.js:991 -#: templates/js/translated/stock.js:1589 +#: templates/js/translated/order.js:637 templates/js/translated/stock.js:970 +#: templates/js/translated/stock.js:1568 msgid "Purchase Order" msgstr "" -#: order/models.py:773 +#: order/models.py:781 msgid "Supplier part" msgstr "" -#: order/models.py:780 order/templates/order/order_base.html:131 -#: order/templates/order/receive_parts.html:22 -#: order/templates/order/sales_order_base.html:133 -#: templates/js/translated/order.js:573 +#: order/models.py:788 order/templates/order/order_base.html:131 +#: order/templates/order/sales_order_base.html:138 +#: templates/js/translated/order.js:428 templates/js/translated/order.js:919 msgid "Received" msgstr "" -#: order/models.py:781 +#: order/models.py:789 msgid "Number of items received" msgstr "" -#: order/models.py:788 part/templates/part/prices.html:176 stock/models.py:588 -#: stock/serializers.py:147 stock/templates/stock/item_base.html:345 -#: templates/js/translated/stock.js:1045 +#: order/models.py:796 part/templates/part/prices.html:176 stock/models.py:588 +#: stock/serializers.py:150 stock/templates/stock/item_base.html:345 +#: templates/js/translated/stock.js:1024 msgid "Purchase Price" msgstr "" -#: order/models.py:789 +#: order/models.py:797 msgid "Unit purchase price" msgstr "" -#: order/models.py:797 +#: order/models.py:805 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:843 part/templates/part/part_pricing.html:112 +#: order/models.py:857 part/templates/part/part_pricing.html:112 #: part/templates/part/prices.html:116 part/templates/part/prices.html:284 msgid "Sale Price" msgstr "" -#: order/models.py:844 +#: order/models.py:858 msgid "Unit sale price" msgstr "" -#: order/models.py:923 order/models.py:925 +#: order/models.py:937 order/models.py:939 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:929 +#: order/models.py:943 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:931 +#: order/models.py:945 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:934 +#: order/models.py:948 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:944 +#: order/models.py:952 +msgid "StockItem is over-allocated" +msgstr "" + +#: order/models.py:958 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:949 +#: order/models.py:966 msgid "Line" msgstr "" -#: order/models.py:960 +#: order/models.py:978 msgid "Item" msgstr "" -#: order/models.py:961 +#: order/models.py:979 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:964 +#: order/models.py:982 msgid "Enter stock allocation quantity" msgstr "" -#: order/serializers.py:166 +#: order/serializers.py:167 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:201 +#: order/serializers.py:202 msgid "Line Item" msgstr "" -#: order/serializers.py:207 +#: order/serializers.py:208 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:217 order/serializers.py:276 +#: order/serializers.py:218 order/serializers.py:285 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:234 +#: order/serializers.py:242 msgid "Barcode Hash" msgstr "" -#: order/serializers.py:235 +#: order/serializers.py:243 msgid "Unique identifier field" msgstr "" -#: order/serializers.py:250 +#: order/serializers.py:259 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:289 +#: order/serializers.py:297 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:299 +#: order/serializers.py:314 +msgid "Destination location must be specified" +msgstr "" + +#: order/serializers.py:325 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:514 +#: order/serializers.py:569 msgid "Sale price currency" msgstr "" @@ -3307,31 +3343,32 @@ msgstr "" msgid "Print" msgstr "" -#: order/templates/order/order_base.html:43 -#: order/templates/order/sales_order_base.html:54 +#: order/templates/order/order_base.html:42 +#: order/templates/order/sales_order_base.html:53 +msgid "Export order to file" +msgstr "" + +#: order/templates/order/order_base.html:46 +#: order/templates/order/sales_order_base.html:57 msgid "Edit order information" msgstr "" -#: order/templates/order/order_base.html:51 +#: order/templates/order/order_base.html:54 msgid "Receive items" msgstr "" -#: order/templates/order/order_base.html:64 -msgid "Export order to file" -msgstr "" - #: order/templates/order/order_base.html:72 #: order/templates/order/po_navbar.html:12 msgid "Purchase Order Details" msgstr "" #: order/templates/order/order_base.html:77 -#: order/templates/order/sales_order_base.html:79 +#: order/templates/order/sales_order_base.html:84 msgid "Order Reference" msgstr "" #: order/templates/order/order_base.html:82 -#: order/templates/order/sales_order_base.html:84 +#: order/templates/order/sales_order_base.html:89 msgid "Order Status" msgstr "" @@ -3344,16 +3381,6 @@ msgstr "" msgid "Edit Purchase Order" msgstr "" -#: order/templates/order/order_base.html:196 -#: stock/templates/stock/location.html:250 templates/js/translated/order.js:437 -msgid "New Location" -msgstr "" - -#: order/templates/order/order_base.html:197 -#: stock/templates/stock/location.html:42 templates/js/translated/order.js:438 -msgid "Create new stock location" -msgstr "" - #: order/templates/order/order_cancel.html:8 msgid "Cancelling this order means that the order and line items will no longer be editable." msgstr "" @@ -3426,6 +3453,7 @@ msgstr "" #: part/templates/part/import_wizard/ajax_match_references.html:42 #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 +#: templates/js/translated/build.js:869 templates/js/translated/order.js:376 msgid "Remove row" msgstr "" @@ -3502,7 +3530,7 @@ msgid "Select existing purchase orders, or create new orders." msgstr "" #: order/templates/order/order_wizard/select_pos.html:31 -#: templates/js/translated/order.js:363 templates/js/translated/order.js:738 +#: templates/js/translated/order.js:694 templates/js/translated/order.js:1084 msgid "Items" msgstr "" @@ -3522,7 +3550,7 @@ msgstr "" #: order/templates/order/po_attachments.html:12 #: order/templates/order/po_navbar.html:32 -#: order/templates/order/purchase_order_detail.html:47 +#: order/templates/order/purchase_order_detail.html:56 msgid "Purchase Order Attachments" msgstr "" @@ -3532,7 +3560,7 @@ msgstr "" #: order/templates/order/po_navbar.html:29 #: order/templates/order/po_received_items.html:12 -#: order/templates/order/purchase_order_detail.html:38 +#: order/templates/order/purchase_order_detail.html:47 msgid "Received Items" msgstr "" @@ -3540,14 +3568,22 @@ msgstr "" msgid "Purchase Order Items" msgstr "" -#: order/templates/order/purchase_order_detail.html:23 -#: order/templates/order/purchase_order_detail.html:203 +#: order/templates/order/purchase_order_detail.html:24 +#: order/templates/order/purchase_order_detail.html:212 #: order/templates/order/sales_order_detail.html:23 #: order/templates/order/sales_order_detail.html:177 msgid "Add Line Item" msgstr "" -#: order/templates/order/purchase_order_detail.html:58 +#: order/templates/order/purchase_order_detail.html:30 +msgid "Receive selected items" +msgstr "" + +#: order/templates/order/purchase_order_detail.html:31 +msgid "Receive Items" +msgstr "" + +#: order/templates/order/purchase_order_detail.html:67 #: order/templates/order/sales_order_detail.html:54 msgid "Order Notes" msgstr "" @@ -3557,67 +3593,24 @@ msgstr "" msgid "Print Order Reports" msgstr "" -#: order/templates/order/receive_parts.html:8 -#, python-format -msgid "Receive outstanding parts for %(order)s - %(desc)s" -msgstr "" - -#: order/templates/order/receive_parts.html:14 part/api.py:54 -#: part/models.py:298 part/templates/part/cat_link.html:7 -#: part/templates/part/category.html:108 part/templates/part/category.html:122 -#: part/templates/part/category_navbar.html:21 -#: part/templates/part/category_navbar.html:24 -#: templates/InvenTree/index.html:102 templates/InvenTree/search.html:114 -#: templates/InvenTree/settings/navbar.html:83 -#: templates/InvenTree/settings/navbar.html:85 -#: templates/js/translated/part.js:1154 templates/navbar.html:29 -#: templates/stats.html:80 templates/stats.html:89 users/models.py:41 -msgid "Parts" -msgstr "" - -#: order/templates/order/receive_parts.html:15 -msgid "Fill out number of parts received, the status and destination" -msgstr "" - -#: order/templates/order/receive_parts.html:20 -msgid "Order Code" -msgstr "" - -#: order/templates/order/receive_parts.html:21 -#: part/templates/part/part_base.html:167 templates/js/translated/part.js:949 -msgid "On Order" -msgstr "" - -#: order/templates/order/receive_parts.html:23 -msgid "Receive" -msgstr "" - -#: order/templates/order/receive_parts.html:37 -msgid "Error: Referenced part has been removed" -msgstr "" - -#: order/templates/order/receive_parts.html:68 -msgid "Remove line" -msgstr "" - #: order/templates/order/sales_order_base.html:16 msgid "This Sales Order has not been fully allocated" msgstr "" -#: order/templates/order/sales_order_base.html:66 +#: order/templates/order/sales_order_base.html:70 msgid "Packing List" msgstr "" -#: order/templates/order/sales_order_base.html:74 +#: order/templates/order/sales_order_base.html:79 msgid "Sales Order Details" msgstr "" -#: order/templates/order/sales_order_base.html:100 -#: templates/js/translated/order.js:705 +#: order/templates/order/sales_order_base.html:105 +#: templates/js/translated/order.js:1051 msgid "Customer Reference" msgstr "" -#: order/templates/order/sales_order_base.html:178 +#: order/templates/order/sales_order_base.html:183 msgid "Edit Sales Order" msgstr "" @@ -3636,105 +3629,6 @@ msgstr "" msgid "Sales Order Items" msgstr "" -#: order/templates/order/sales_order_detail.html:226 -#: templates/js/translated/bom.js:394 templates/js/translated/build.js:782 -#: templates/js/translated/build.js:1219 -msgid "Actions" -msgstr "" - -#: order/templates/order/sales_order_detail.html:233 -#: templates/js/translated/build.js:668 templates/js/translated/build.js:1030 -msgid "Edit stock allocation" -msgstr "" - -#: order/templates/order/sales_order_detail.html:234 -#: templates/js/translated/build.js:670 templates/js/translated/build.js:1031 -msgid "Delete stock allocation" -msgstr "" - -#: order/templates/order/sales_order_detail.html:307 -msgid "No matching line items" -msgstr "" - -#: order/templates/order/sales_order_detail.html:337 -msgid "ID" -msgstr "" - -#: order/templates/order/sales_order_detail.html:354 -#: templates/js/translated/order.js:481 -msgid "Total" -msgstr "" - -#: order/templates/order/sales_order_detail.html:377 -#: templates/js/translated/order.js:534 templates/js/translated/part.js:1296 -#: templates/js/translated/part.js:1507 -msgid "Unit Price" -msgstr "" - -#: order/templates/order/sales_order_detail.html:384 -#: templates/js/translated/order.js:543 -msgid "Total price" -msgstr "" - -#: order/templates/order/sales_order_detail.html:405 -#: templates/js/translated/build.js:733 templates/js/translated/build.js:1026 -msgid "Allocated" -msgstr "" - -#: order/templates/order/sales_order_detail.html:407 -msgid "Fulfilled" -msgstr "" - -#: order/templates/order/sales_order_detail.html:444 -msgid "PO" -msgstr "" - -#: order/templates/order/sales_order_detail.html:474 -msgid "Allocate serial numbers" -msgstr "" - -#: order/templates/order/sales_order_detail.html:477 -#: templates/js/translated/build.js:796 -msgid "Allocate stock" -msgstr "" - -#: order/templates/order/sales_order_detail.html:480 -msgid "Purchase stock" -msgstr "" - -#: order/templates/order/sales_order_detail.html:484 -#: templates/js/translated/build.js:789 templates/js/translated/build.js:1227 -msgid "Build stock" -msgstr "" - -#: order/templates/order/sales_order_detail.html:487 -#: order/templates/order/sales_order_detail.html:606 -msgid "Calculate price" -msgstr "" - -#: order/templates/order/sales_order_detail.html:490 -#: templates/js/translated/order.js:616 -msgid "Edit line item" -msgstr "" - -#: order/templates/order/sales_order_detail.html:491 -msgid "Delete line item " -msgstr "" - -#: order/templates/order/sales_order_detail.html:519 -#: templates/js/translated/order.js:403 -msgid "Edit Line Item" -msgstr "" - -#: order/templates/order/sales_order_detail.html:529 -#: templates/js/translated/order.js:415 -msgid "Delete Line Item" -msgstr "" - -#: order/templates/order/sales_order_detail.html:612 -msgid "Update Unit Price" -msgstr "" - #: order/templates/order/sales_order_ship.html:10 msgid "This order has not been fully allocated. If the order is marked as shipped, it can no longer be adjusted." msgstr "" @@ -3759,10 +3653,6 @@ msgstr "" msgid "Allocate stock items by serial number" msgstr "" -#: order/templates/order/so_allocation_delete.html:7 -msgid "This action will unallocate the following stock from the Sales Order" -msgstr "" - #: order/templates/order/so_navbar.html:12 msgid "Sales Order Line Items" msgstr "" @@ -3775,149 +3665,129 @@ msgstr "" msgid "Sales Order Attachments" msgstr "" -#: order/views.py:104 +#: order/views.py:103 msgid "Cancel Order" msgstr "" -#: order/views.py:113 order/views.py:139 +#: order/views.py:112 order/views.py:138 msgid "Confirm order cancellation" msgstr "" -#: order/views.py:116 order/views.py:142 +#: order/views.py:115 order/views.py:141 msgid "Order cannot be cancelled" msgstr "" -#: order/views.py:130 +#: order/views.py:129 msgid "Cancel sales order" msgstr "" -#: order/views.py:156 +#: order/views.py:155 msgid "Issue Order" msgstr "" -#: order/views.py:165 +#: order/views.py:164 msgid "Confirm order placement" msgstr "" -#: order/views.py:175 +#: order/views.py:174 msgid "Purchase order issued" msgstr "" -#: order/views.py:186 +#: order/views.py:185 msgid "Complete Order" msgstr "" -#: order/views.py:202 +#: order/views.py:201 msgid "Confirm order completion" msgstr "" -#: order/views.py:213 +#: order/views.py:212 msgid "Purchase order completed" msgstr "" -#: order/views.py:223 +#: order/views.py:222 msgid "Ship Order" msgstr "" -#: order/views.py:239 +#: order/views.py:238 msgid "Confirm order shipment" msgstr "" -#: order/views.py:245 +#: order/views.py:244 msgid "Could not ship order" msgstr "" -#: order/views.py:292 +#: order/views.py:291 msgid "Match Supplier Parts" msgstr "" -#: order/views.py:480 -msgid "Receive Parts" -msgstr "" - -#: order/views.py:552 -msgid "Items received" -msgstr "" - -#: order/views.py:620 -msgid "Error converting quantity to number" -msgstr "" - -#: order/views.py:626 -msgid "Receive quantity less than zero" -msgstr "" - -#: order/views.py:632 -msgid "No lines specified" -msgstr "" - -#: order/views.py:705 +#: order/views.py:535 msgid "Update prices" msgstr "" -#: order/views.py:963 +#: order/views.py:793 #, python-brace-format msgid "Ordered {n} parts" msgstr "" -#: order/views.py:1016 +#: order/views.py:846 msgid "Allocate Serial Numbers" msgstr "" -#: order/views.py:1061 +#: order/views.py:891 #, python-brace-format msgid "Allocated {n} items" msgstr "" -#: order/views.py:1077 +#: order/views.py:907 msgid "Select line item" msgstr "" -#: order/views.py:1108 +#: order/views.py:938 #, python-brace-format msgid "No matching item for serial {serial}" msgstr "" -#: order/views.py:1118 +#: order/views.py:948 #, python-brace-format msgid "{serial} is not in stock" msgstr "" -#: order/views.py:1126 +#: order/views.py:956 #, python-brace-format msgid "{serial} already allocated to an order" msgstr "" -#: order/views.py:1180 -msgid "Allocate Stock to Order" -msgstr "" - -#: order/views.py:1254 -msgid "Edit Allocation Quantity" -msgstr "" - -#: order/views.py:1269 -msgid "Remove allocation" -msgstr "" - -#: order/views.py:1341 +#: order/views.py:1072 msgid "Sales order not found" msgstr "" -#: order/views.py:1347 +#: order/views.py:1078 msgid "Price not found" msgstr "" -#: order/views.py:1350 +#: order/views.py:1081 #, python-brace-format msgid "Updated {part} unit-price to {price}" msgstr "" -#: order/views.py:1355 +#: order/views.py:1086 #, python-brace-format msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" +#: part/api.py:54 part/models.py:299 part/templates/part/cat_link.html:7 +#: part/templates/part/category.html:108 part/templates/part/category.html:122 +#: part/templates/part/category_navbar.html:21 +#: part/templates/part/category_navbar.html:24 +#: templates/InvenTree/index.html:102 templates/InvenTree/search.html:114 +#: templates/InvenTree/settings/navbar.html:95 +#: templates/InvenTree/settings/navbar.html:97 +#: templates/js/translated/part.js:1165 templates/navbar.html:29 +#: templates/stats.html:80 templates/stats.html:89 users/models.py:41 +msgid "Parts" +msgstr "" + #: part/api.py:700 msgid "Must be greater than zero" msgstr "" @@ -3934,7 +3804,7 @@ msgstr "" msgid "This field is required" msgstr "" -#: part/bom.py:133 part/models.py:75 part/models.py:733 +#: part/bom.py:133 part/models.py:76 part/models.py:734 #: part/templates/part/category.html:75 part/templates/part/part_base.html:290 msgid "Default Location" msgstr "" @@ -3999,7 +3869,7 @@ msgstr "" msgid "Include part supplier data in exported BOM" msgstr "" -#: part/forms.py:96 part/models.py:2250 +#: part/forms.py:96 part/models.py:2254 msgid "Parent Part" msgstr "" @@ -4043,391 +3913,387 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:76 +#: part/models.py:77 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:79 +#: part/models.py:80 msgid "Default keywords" msgstr "" -#: part/models.py:79 +#: part/models.py:80 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:89 part/models.py:2296 +#: part/models.py:90 part/models.py:2300 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:90 part/templates/part/category.html:32 +#: part/models.py:91 part/templates/part/category.html:32 #: part/templates/part/category.html:103 templates/InvenTree/search.html:127 #: templates/stats.html:84 users/models.py:40 msgid "Part Categories" msgstr "" -#: part/models.py:383 +#: part/models.py:384 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:435 part/models.py:447 +#: part/models.py:436 part/models.py:448 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:544 +#: part/models.py:545 msgid "Next available serial numbers are" msgstr "" -#: part/models.py:548 +#: part/models.py:549 msgid "Next available serial number is" msgstr "" -#: part/models.py:553 +#: part/models.py:554 msgid "Most recent serial number is" msgstr "" -#: part/models.py:632 +#: part/models.py:633 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:657 +#: part/models.py:658 msgid "Part name" msgstr "" -#: part/models.py:664 +#: part/models.py:665 msgid "Is Template" msgstr "" -#: part/models.py:665 +#: part/models.py:666 msgid "Is this part a template part?" msgstr "" -#: part/models.py:675 +#: part/models.py:676 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:676 +#: part/models.py:677 msgid "Variant Of" msgstr "" -#: part/models.py:682 +#: part/models.py:683 msgid "Part description" msgstr "" -#: part/models.py:687 part/templates/part/category.html:82 +#: part/models.py:688 part/templates/part/category.html:82 #: part/templates/part/part_base.html:259 msgid "Keywords" msgstr "" -#: part/models.py:688 +#: part/models.py:689 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:695 part/models.py:2295 +#: part/models.py:696 part/models.py:2299 #: part/templates/part/set_category.html:15 -#: templates/InvenTree/settings/settings.html:167 -#: templates/js/translated/part.js:916 +#: templates/InvenTree/settings/settings.html:169 +#: templates/js/translated/part.js:927 msgid "Category" msgstr "" -#: part/models.py:696 +#: part/models.py:697 msgid "Part category" msgstr "" -#: part/models.py:701 part/templates/part/part_base.html:235 -#: templates/js/translated/part.js:517 templates/js/translated/part.js:749 +#: part/models.py:702 part/templates/part/part_base.html:235 +#: templates/js/translated/part.js:528 templates/js/translated/part.js:760 msgid "IPN" msgstr "" -#: part/models.py:702 +#: part/models.py:703 msgid "Internal Part Number" msgstr "" -#: part/models.py:708 +#: part/models.py:709 msgid "Part revision or version number" msgstr "" -#: part/models.py:709 part/templates/part/part_base.html:252 -#: report/models.py:200 templates/js/translated/part.js:521 +#: part/models.py:710 part/templates/part/part_base.html:252 +#: report/models.py:200 templates/js/translated/part.js:532 msgid "Revision" msgstr "" -#: part/models.py:731 +#: part/models.py:732 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:778 part/templates/part/part_base.html:297 +#: part/models.py:779 part/templates/part/part_base.html:297 msgid "Default Supplier" msgstr "" -#: part/models.py:779 +#: part/models.py:780 msgid "Default supplier part" msgstr "" -#: part/models.py:786 +#: part/models.py:787 msgid "Default Expiry" msgstr "" -#: part/models.py:787 +#: part/models.py:788 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:792 +#: part/models.py:793 msgid "Minimum Stock" msgstr "" -#: part/models.py:793 +#: part/models.py:794 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:800 +#: part/models.py:801 msgid "Stock keeping units for this part" msgstr "" -#: part/models.py:806 +#: part/models.py:807 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:812 +#: part/models.py:813 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:818 +#: part/models.py:819 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:823 +#: part/models.py:824 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:828 +#: part/models.py:829 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:832 templates/js/translated/table_filters.js:34 +#: part/models.py:833 templates/js/translated/table_filters.js:34 #: templates/js/translated/table_filters.js:82 #: templates/js/translated/table_filters.js:268 -#: templates/js/translated/table_filters.js:337 +#: templates/js/translated/table_filters.js:346 msgid "Active" msgstr "" -#: part/models.py:833 +#: part/models.py:834 msgid "Is this part active?" msgstr "" -#: part/models.py:838 +#: part/models.py:839 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:843 +#: part/models.py:844 msgid "Part notes - supports Markdown formatting" msgstr "" -#: part/models.py:846 +#: part/models.py:847 msgid "BOM checksum" msgstr "" -#: part/models.py:846 +#: part/models.py:847 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:849 +#: part/models.py:850 msgid "BOM checked by" msgstr "" -#: part/models.py:851 +#: part/models.py:852 msgid "BOM checked date" msgstr "" -#: part/models.py:855 +#: part/models.py:856 msgid "Creation User" msgstr "" -#: part/models.py:1601 +#: part/models.py:1605 msgid "Sell multiple" msgstr "" -#: part/models.py:2096 +#: part/models.py:2100 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:2113 +#: part/models.py:2117 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:2133 templates/js/translated/part.js:1205 -#: templates/js/translated/stock.js:556 +#: part/models.py:2137 templates/js/translated/part.js:1216 +#: templates/js/translated/stock.js:535 msgid "Test Name" msgstr "" -#: part/models.py:2134 +#: part/models.py:2138 msgid "Enter a name for the test" msgstr "" -#: part/models.py:2139 +#: part/models.py:2143 msgid "Test Description" msgstr "" -#: part/models.py:2140 +#: part/models.py:2144 msgid "Enter description for this test" msgstr "" -#: part/models.py:2145 templates/js/translated/part.js:1214 +#: part/models.py:2149 templates/js/translated/part.js:1225 #: templates/js/translated/table_filters.js:254 msgid "Required" msgstr "" -#: part/models.py:2146 +#: part/models.py:2150 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:2151 templates/js/translated/part.js:1222 +#: part/models.py:2155 templates/js/translated/part.js:1233 msgid "Requires Value" msgstr "" -#: part/models.py:2152 +#: part/models.py:2156 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:2157 templates/js/translated/part.js:1229 +#: part/models.py:2161 templates/js/translated/part.js:1240 msgid "Requires Attachment" msgstr "" -#: part/models.py:2158 +#: part/models.py:2162 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:2169 +#: part/models.py:2173 #, python-brace-format msgid "Illegal character in template name ({c})" msgstr "" -#: part/models.py:2205 +#: part/models.py:2209 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:2213 +#: part/models.py:2217 msgid "Parameter Name" msgstr "" -#: part/models.py:2220 +#: part/models.py:2224 msgid "Parameter Units" msgstr "" -#: part/models.py:2252 part/models.py:2301 part/models.py:2302 -#: templates/InvenTree/settings/settings.html:162 +#: part/models.py:2256 part/models.py:2305 part/models.py:2306 +#: templates/InvenTree/settings/settings.html:164 msgid "Parameter Template" msgstr "" -#: part/models.py:2254 +#: part/models.py:2258 msgid "Data" msgstr "" -#: part/models.py:2254 +#: part/models.py:2258 msgid "Parameter Value" msgstr "" -#: part/models.py:2306 templates/InvenTree/settings/settings.html:171 +#: part/models.py:2310 templates/InvenTree/settings/settings.html:173 msgid "Default Value" msgstr "" -#: part/models.py:2307 +#: part/models.py:2311 msgid "Default Parameter Value" msgstr "" -#: part/models.py:2341 +#: part/models.py:2362 msgid "Select parent part" msgstr "" -#: part/models.py:2349 +#: part/models.py:2370 msgid "Sub part" msgstr "" -#: part/models.py:2350 +#: part/models.py:2371 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:2356 +#: part/models.py:2377 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:2358 templates/js/translated/bom.js:256 -#: templates/js/translated/bom.js:314 +#: part/models.py:2379 templates/js/translated/bom.js:275 +#: templates/js/translated/bom.js:335 msgid "Optional" msgstr "" -#: part/models.py:2358 +#: part/models.py:2379 msgid "This BOM item is optional" msgstr "" -#: part/models.py:2361 +#: part/models.py:2382 msgid "Overage" msgstr "" -#: part/models.py:2362 +#: part/models.py:2383 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:2365 +#: part/models.py:2386 msgid "BOM item reference" msgstr "" -#: part/models.py:2368 +#: part/models.py:2389 msgid "BOM item notes" msgstr "" -#: part/models.py:2370 +#: part/models.py:2391 msgid "Checksum" msgstr "" -#: part/models.py:2370 +#: part/models.py:2391 msgid "BOM line checksum" msgstr "" -#: part/models.py:2374 templates/js/translated/bom.js:331 -#: templates/js/translated/bom.js:338 +#: part/models.py:2395 templates/js/translated/bom.js:352 +#: templates/js/translated/bom.js:359 #: templates/js/translated/table_filters.js:68 msgid "Inherited" msgstr "" -#: part/models.py:2375 +#: part/models.py:2396 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:2380 templates/js/translated/bom.js:323 +#: part/models.py:2401 templates/js/translated/bom.js:344 msgid "Allow Variants" msgstr "" -#: part/models.py:2381 +#: part/models.py:2402 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:2466 stock/models.py:341 +#: part/models.py:2487 stock/models.py:341 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:2475 part/models.py:2477 +#: part/models.py:2496 part/models.py:2498 msgid "Sub part must be specified" msgstr "" -#: part/models.py:2480 -msgid "BOM Item" -msgstr "" - -#: part/models.py:2599 +#: part/models.py:2620 msgid "Part 1" msgstr "" -#: part/models.py:2603 +#: part/models.py:2624 msgid "Part 2" msgstr "" -#: part/models.py:2603 +#: part/models.py:2624 msgid "Select Related Part" msgstr "" -#: part/models.py:2635 +#: part/models.py:2656 msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique" msgstr "" @@ -4578,7 +4444,7 @@ msgstr "" msgid "Create new part" msgstr "" -#: part/templates/part/category.html:131 +#: part/templates/part/category.html:131 templates/js/translated/bom.js:39 msgid "New Part" msgstr "" @@ -4658,7 +4524,7 @@ msgstr "" msgid "Import Parts" msgstr "" -#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:352 +#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:363 msgid "Duplicate Part" msgstr "" @@ -4785,34 +4651,26 @@ msgstr "" msgid "Add Test Result Template" msgstr "" -#: part/templates/part/detail.html:716 -msgid "Edit Test Result Template" -msgstr "" - -#: part/templates/part/detail.html:728 -msgid "Delete Test Result Template" -msgstr "" - -#: part/templates/part/detail.html:784 +#: part/templates/part/detail.html:755 msgid "Edit Part Notes" msgstr "" -#: part/templates/part/detail.html:936 +#: part/templates/part/detail.html:907 #, python-format msgid "Purchase Unit Price - %(currency)s" msgstr "" -#: part/templates/part/detail.html:948 +#: part/templates/part/detail.html:919 #, python-format msgid "Unit Price-Cost Difference - %(currency)s" msgstr "" -#: part/templates/part/detail.html:960 +#: part/templates/part/detail.html:931 #, python-format msgid "Supplier Unit Cost - %(currency)s" msgstr "" -#: part/templates/part/detail.html:1049 +#: part/templates/part/detail.html:1020 #, python-format msgid "Unit Price - %(currency)s" msgstr "" @@ -4874,9 +4732,9 @@ msgstr "" msgid "Part is virtual (not a physical part)" msgstr "" -#: part/templates/part/part_base.html:58 templates/js/translated/company.js:503 -#: templates/js/translated/company.js:759 templates/js/translated/part.js:432 -#: templates/js/translated/part.js:509 +#: part/templates/part/part_base.html:58 templates/js/translated/company.js:504 +#: templates/js/translated/company.js:761 templates/js/translated/part.js:443 +#: templates/js/translated/part.js:520 msgid "Inactive" msgstr "" @@ -4942,10 +4800,16 @@ msgid "This part is a variant of %(link)s" msgstr "" #: part/templates/part/part_base.html:161 +#: templates/js/translated/model_renderers.js:169 +#: templates/js/translated/order.js:1503 #: templates/js/translated/table_filters.js:166 msgid "In Stock" msgstr "" +#: part/templates/part/part_base.html:167 templates/js/translated/part.js:960 +msgid "On Order" +msgstr "" + #: part/templates/part/part_base.html:174 templates/InvenTree/index.html:186 msgid "Required for Build Orders" msgstr "" @@ -4958,18 +4822,18 @@ msgstr "" msgid "Allocated to Orders" msgstr "" -#: part/templates/part/part_base.html:203 templates/js/translated/bom.js:352 +#: part/templates/part/part_base.html:203 templates/js/translated/bom.js:373 msgid "Can Build" msgstr "" -#: part/templates/part/part_base.html:209 templates/js/translated/part.js:765 -#: templates/js/translated/part.js:953 +#: part/templates/part/part_base.html:209 templates/js/translated/part.js:776 +#: templates/js/translated/part.js:964 msgid "Building" msgstr "" #: part/templates/part/part_base.html:223 -#: part/templates/part/part_base.html:524 -#: part/templates/part/part_base.html:550 +#: part/templates/part/part_base.html:531 +#: part/templates/part/part_base.html:557 msgid "Show Part Details" msgstr "" @@ -4977,16 +4841,16 @@ msgstr "" msgid "Latest Serial Number" msgstr "" -#: part/templates/part/part_base.html:396 part/templates/part/prices.html:144 +#: part/templates/part/part_base.html:402 part/templates/part/prices.html:144 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:439 +#: part/templates/part/part_base.html:445 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:519 -#: part/templates/part/part_base.html:544 +#: part/templates/part/part_base.html:526 +#: part/templates/part/part_base.html:551 msgid "Hide Part Details" msgstr "" @@ -5013,7 +4877,7 @@ msgid "Total Cost" msgstr "" #: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:40 -#: templates/js/translated/bom.js:307 +#: templates/js/translated/bom.js:327 msgid "No supplier pricing available" msgstr "" @@ -5051,32 +4915,39 @@ msgstr "" msgid "Select from existing images" msgstr "" -#: part/templates/part/partial_delete.html:7 +#: part/templates/part/partial_delete.html:9 +#, python-format +msgid "Part '%(full_name)s' cannot be deleted as it is still marked as active.\n" +"
Disable the \"Active\" part attribute and re-try.\n" +" " +msgstr "" + +#: part/templates/part/partial_delete.html:17 #, python-format msgid "Are you sure you want to delete part '%(full_name)s'?" msgstr "" -#: part/templates/part/partial_delete.html:12 +#: part/templates/part/partial_delete.html:22 #, python-format msgid "This part is used in BOMs for %(count)s other parts. If you delete this part, the BOMs for the following parts will be updated" msgstr "" -#: part/templates/part/partial_delete.html:22 +#: part/templates/part/partial_delete.html:32 #, python-format msgid "There are %(count)s stock entries defined for this part. If you delete this part, the following stock entries will also be deleted:" msgstr "" -#: part/templates/part/partial_delete.html:33 +#: part/templates/part/partial_delete.html:43 #, python-format msgid "There are %(count)s manufacturers defined for this part. If you delete this part, the following manufacturer parts will also be deleted:" msgstr "" -#: part/templates/part/partial_delete.html:44 +#: part/templates/part/partial_delete.html:54 #, python-format msgid "There are %(count)s suppliers defined for this part. If you delete this part, the following supplier parts will also be deleted:" msgstr "" -#: part/templates/part/partial_delete.html:55 +#: part/templates/part/partial_delete.html:65 #, python-format msgid "There are %(count)s unique parts tracked for '%(full_name)s'. Deleting this part will permanently remove this tracking information." msgstr "" @@ -5109,7 +4980,7 @@ msgstr "" msgid "Calculation parameters" msgstr "" -#: part/templates/part/prices.html:155 templates/js/translated/bom.js:301 +#: part/templates/part/prices.html:155 templates/js/translated/bom.js:321 msgid "Supplier Cost" msgstr "" @@ -5151,8 +5022,9 @@ msgstr "" msgid "Set category for the following parts" msgstr "" -#: part/templates/part/stock_count.html:7 templates/js/translated/bom.js:278 -#: templates/js/translated/part.js:755 templates/js/translated/part.js:957 +#: part/templates/part/stock_count.html:7 templates/js/translated/bom.js:297 +#: templates/js/translated/model_renderers.js:167 +#: templates/js/translated/part.js:766 templates/js/translated/part.js:968 msgid "No Stock" msgstr "" @@ -5262,7 +5134,7 @@ msgstr "" msgid "Delete Part Parameter Template" msgstr "" -#: part/views.py:1502 templates/js/translated/part.js:303 +#: part/views.py:1502 templates/js/translated/part.js:308 msgid "Edit Part Category" msgstr "" @@ -5400,17 +5272,17 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:88 -#: stock/models.py:1807 +#: stock/models.py:1804 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:89 -#: stock/models.py:1813 +#: stock/models.py:1810 msgid "Result" msgstr "" #: report/templates/report/inventree_test_report_base.html:92 -#: templates/js/translated/order.js:353 templates/js/translated/stock.js:1523 +#: templates/js/translated/order.js:684 templates/js/translated/stock.js:1502 msgid "Date" msgstr "" @@ -5422,51 +5294,9 @@ msgstr "" msgid "Fail" msgstr "" -#: stock/api.py:146 -msgid "Request must contain list of stock items" -msgstr "" - -#: stock/api.py:154 -msgid "Improperly formatted data" -msgstr "" - -#: stock/api.py:162 -msgid "Each entry must contain a valid integer primary-key" -msgstr "" - -#: stock/api.py:168 -msgid "Primary key does not match valid stock item" -msgstr "" - -#: stock/api.py:178 -msgid "Invalid quantity value" -msgstr "" - -#: stock/api.py:183 -msgid "Quantity must not be less than zero" -msgstr "" - -#: stock/api.py:211 -#, python-brace-format -msgid "Updated stock for {n} items" -msgstr "" - -#: stock/api.py:247 stock/api.py:280 -msgid "Specified quantity exceeds stock quantity" -msgstr "" - -#: stock/api.py:270 -msgid "Valid location must be specified" -msgstr "" - -#: stock/api.py:290 -#, python-brace-format -msgid "Moved {n} parts to {loc}" -msgstr "" - #: stock/forms.py:79 stock/forms.py:307 stock/models.py:556 #: stock/templates/stock/item_base.html:395 -#: templates/js/translated/stock.js:967 +#: templates/js/translated/stock.js:946 msgid "Expiry Date" msgstr "" @@ -5678,38 +5508,54 @@ msgstr "" msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:1727 +#: stock/models.py:1724 msgid "Entry notes" msgstr "" -#: stock/models.py:1784 +#: stock/models.py:1781 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:1790 +#: stock/models.py:1787 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:1808 +#: stock/models.py:1805 msgid "Test name" msgstr "" -#: stock/models.py:1814 templates/js/translated/table_filters.js:244 +#: stock/models.py:1811 templates/js/translated/table_filters.js:244 msgid "Test result" msgstr "" -#: stock/models.py:1820 +#: stock/models.py:1817 msgid "Test output value" msgstr "" -#: stock/models.py:1827 +#: stock/models.py:1824 msgid "Test result attachment" msgstr "" -#: stock/models.py:1833 +#: stock/models.py:1830 msgid "Test notes" msgstr "" +#: stock/serializers.py:424 +msgid "StockItem primary key value" +msgstr "" + +#: stock/serializers.py:452 +msgid "Stock transaction notes" +msgstr "" + +#: stock/serializers.py:462 +msgid "A list of stock items must be provided" +msgstr "" + +#: stock/serializers.py:554 +msgid "Destination stock location" +msgstr "" + #: stock/templates/stock/item.html:17 msgid "Stock Tracking Information" msgstr "" @@ -5747,7 +5593,7 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:125 stock/views.py:534 +#: stock/templates/stock/item.html:125 stock/views.py:511 msgid "Install Stock Item" msgstr "" @@ -5910,7 +5756,7 @@ msgid "next page" msgstr "" #: stock/templates/stock/item_base.html:303 -#: templates/js/translated/build.js:651 +#: templates/js/translated/build.js:658 msgid "No location set" msgstr "" @@ -5937,7 +5783,7 @@ msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:408 -#: templates/js/translated/stock.js:980 +#: templates/js/translated/stock.js:959 msgid "Last Updated" msgstr "" @@ -6019,6 +5865,10 @@ msgstr "" msgid "All stock items" msgstr "" +#: stock/templates/stock/location.html:42 +msgid "Create new stock location" +msgstr "" + #: stock/templates/stock/location.html:55 msgid "Check-in Items" msgstr "" @@ -6058,7 +5908,7 @@ msgstr "" msgid "Stock Details" msgstr "" -#: stock/templates/stock/location.html:129 templates/InvenTree/search.html:279 +#: stock/templates/stock/location.html:129 templates/InvenTree/search.html:196 #: templates/stats.html:97 users/models.py:42 msgid "Stock Locations" msgstr "" @@ -6071,6 +5921,10 @@ msgstr "" msgid "Print labels" msgstr "" +#: stock/templates/stock/location.html:250 +msgid "New Location" +msgstr "" + #: stock/templates/stock/location.html:251 msgid "Create new location" msgstr "" @@ -6111,7 +5965,7 @@ msgstr "" msgid "The following stock items will be uninstalled" msgstr "" -#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:932 +#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:909 msgid "Convert Stock Item" msgstr "" @@ -6132,104 +5986,104 @@ msgstr "" msgid "Are you sure you want to delete this stock tracking entry?" msgstr "" -#: stock/views.py:181 +#: stock/views.py:158 msgid "Edit Stock Location" msgstr "" -#: stock/views.py:288 stock/views.py:911 stock/views.py:1033 -#: stock/views.py:1398 +#: stock/views.py:265 stock/views.py:888 stock/views.py:1010 +#: stock/views.py:1375 msgid "Owner is required (ownership control is enabled)" msgstr "" -#: stock/views.py:303 +#: stock/views.py:280 msgid "Stock Location QR code" msgstr "" -#: stock/views.py:322 +#: stock/views.py:299 msgid "Assign to Customer" msgstr "" -#: stock/views.py:331 +#: stock/views.py:308 msgid "Customer must be specified" msgstr "" -#: stock/views.py:355 +#: stock/views.py:332 msgid "Return to Stock" msgstr "" -#: stock/views.py:364 +#: stock/views.py:341 msgid "Specify a valid location" msgstr "" -#: stock/views.py:375 +#: stock/views.py:352 msgid "Stock item returned from customer" msgstr "" -#: stock/views.py:386 +#: stock/views.py:363 msgid "Delete All Test Data" msgstr "" -#: stock/views.py:403 +#: stock/views.py:380 msgid "Confirm test data deletion" msgstr "" -#: stock/views.py:508 +#: stock/views.py:485 msgid "Stock Item QR Code" msgstr "" -#: stock/views.py:683 +#: stock/views.py:660 msgid "Uninstall Stock Items" msgstr "" -#: stock/views.py:780 templates/js/translated/stock.js:353 +#: stock/views.py:757 templates/js/translated/stock.js:321 msgid "Confirm stock adjustment" msgstr "" -#: stock/views.py:791 +#: stock/views.py:768 msgid "Uninstalled stock items" msgstr "" -#: stock/views.py:813 +#: stock/views.py:790 msgid "Edit Stock Item" msgstr "" -#: stock/views.py:959 +#: stock/views.py:936 msgid "Create new Stock Location" msgstr "" -#: stock/views.py:1050 +#: stock/views.py:1027 msgid "Serialize Stock" msgstr "" -#: stock/views.py:1143 templates/js/translated/build.js:392 +#: stock/views.py:1120 msgid "Create new Stock Item" msgstr "" -#: stock/views.py:1285 +#: stock/views.py:1262 msgid "Duplicate Stock Item" msgstr "" -#: stock/views.py:1367 +#: stock/views.py:1344 msgid "Quantity cannot be negative" msgstr "" -#: stock/views.py:1467 +#: stock/views.py:1444 msgid "Delete Stock Location" msgstr "" -#: stock/views.py:1480 +#: stock/views.py:1457 msgid "Delete Stock Item" msgstr "" -#: stock/views.py:1491 +#: stock/views.py:1468 msgid "Delete Stock Tracking Entry" msgstr "" -#: stock/views.py:1498 +#: stock/views.py:1475 msgid "Edit Stock Tracking Entry" msgstr "" -#: stock/views.py:1507 +#: stock/views.py:1484 msgid "Add Stock Tracking Entry" msgstr "" @@ -6313,14 +6167,6 @@ msgstr "" msgid "Enter a search query" msgstr "" -#: templates/InvenTree/search.html:268 templates/js/translated/stock.js:699 -msgid "Shipped to customer" -msgstr "" - -#: templates/InvenTree/search.html:271 templates/js/translated/stock.js:709 -msgid "No stock location set" -msgstr "" - #: templates/InvenTree/settings/barcode.html:8 msgid "Barcode Settings" msgstr "" @@ -6365,6 +6211,14 @@ msgstr "" msgid "Setting" msgstr "" +#: templates/InvenTree/settings/login.html:9 +msgid "Login Settings" +msgstr "" + +#: templates/InvenTree/settings/login.html:22 templates/account/signup.html:5 +msgid "Signup" +msgstr "" + #: templates/InvenTree/settings/navbar.html:12 #: templates/InvenTree/settings/user_settings.html:9 msgid "User Settings" @@ -6382,7 +6236,7 @@ msgstr "" #: templates/InvenTree/settings/navbar.html:27 #: templates/InvenTree/settings/navbar.html:29 -#: templates/js/translated/tables.js:366 templates/search_form.html:6 +#: templates/js/translated/tables.js:375 templates/search_form.html:6 #: templates/search_form.html:8 msgid "Search" msgstr "" @@ -6397,38 +6251,48 @@ msgstr "" msgid "Reports" msgstr "" -#: templates/InvenTree/settings/navbar.html:46 -#: templates/InvenTree/settings/navbar.html:48 -#: templates/InvenTree/settings/settings.html:8 templates/navbar.html:94 +#: templates/InvenTree/settings/navbar.html:45 +#: templates/InvenTree/settings/navbar.html:47 +msgid "Forms" +msgstr "" + +#: templates/InvenTree/settings/navbar.html:52 +#: templates/InvenTree/settings/navbar.html:54 +#: templates/InvenTree/settings/settings.html:8 templates/navbar.html:90 msgid "Settings" msgstr "" -#: templates/InvenTree/settings/navbar.html:56 +#: templates/InvenTree/settings/navbar.html:62 msgid "InvenTree Settings" msgstr "" -#: templates/InvenTree/settings/navbar.html:59 -#: templates/InvenTree/settings/navbar.html:61 templates/stats.html:9 +#: templates/InvenTree/settings/navbar.html:65 +#: templates/InvenTree/settings/navbar.html:67 templates/stats.html:9 msgid "Server" msgstr "" -#: templates/InvenTree/settings/navbar.html:65 -#: templates/InvenTree/settings/navbar.html:67 -msgid "Barcodes" -msgstr "" - #: templates/InvenTree/settings/navbar.html:71 -#: templates/InvenTree/settings/navbar.html:73 -msgid "Currencies" +#: templates/InvenTree/settings/navbar.html:73 templates/navbar.html:87 +msgid "Login" msgstr "" #: templates/InvenTree/settings/navbar.html:77 #: templates/InvenTree/settings/navbar.html:79 -msgid "Reporting" +msgid "Barcodes" +msgstr "" + +#: templates/InvenTree/settings/navbar.html:83 +#: templates/InvenTree/settings/navbar.html:85 +msgid "Currencies" msgstr "" #: templates/InvenTree/settings/navbar.html:89 #: templates/InvenTree/settings/navbar.html:91 +msgid "Reporting" +msgstr "" + +#: templates/InvenTree/settings/navbar.html:101 +#: templates/InvenTree/settings/navbar.html:103 msgid "Categories" msgstr "" @@ -6469,21 +6333,21 @@ msgstr "" msgid "Edit setting" msgstr "" -#: templates/InvenTree/settings/settings.html:152 +#: templates/InvenTree/settings/settings.html:154 msgid "No category parameter templates found" msgstr "" -#: templates/InvenTree/settings/settings.html:174 -#: templates/InvenTree/settings/settings.html:273 +#: templates/InvenTree/settings/settings.html:176 +#: templates/InvenTree/settings/settings.html:275 msgid "Edit Template" msgstr "" -#: templates/InvenTree/settings/settings.html:175 -#: templates/InvenTree/settings/settings.html:274 +#: templates/InvenTree/settings/settings.html:177 +#: templates/InvenTree/settings/settings.html:276 msgid "Delete Template" msgstr "" -#: templates/InvenTree/settings/settings.html:253 +#: templates/InvenTree/settings/settings.html:255 msgid "No part parameter templates found" msgstr "" @@ -6495,70 +6359,140 @@ msgstr "" msgid "Stock Settings" msgstr "" -#: templates/InvenTree/settings/user.html:9 +#: templates/InvenTree/settings/user.html:11 msgid "Account Settings" msgstr "" -#: templates/InvenTree/settings/user.html:15 +#: templates/InvenTree/settings/user.html:19 #: templates/js/translated/helpers.js:26 msgid "Edit" msgstr "" -#: templates/InvenTree/settings/user.html:17 +#: templates/InvenTree/settings/user.html:21 +#: templates/account/password_reset_from_key.html:4 +#: templates/account/password_reset_from_key.html:7 msgid "Change Password" msgstr "" -#: templates/InvenTree/settings/user.html:24 -#: templates/registration/login.html:58 +#: templates/InvenTree/settings/user.html:28 msgid "Username" msgstr "" -#: templates/InvenTree/settings/user.html:28 +#: templates/InvenTree/settings/user.html:32 msgid "First Name" msgstr "" -#: templates/InvenTree/settings/user.html:32 +#: templates/InvenTree/settings/user.html:36 msgid "Last Name" msgstr "" -#: templates/InvenTree/settings/user.html:36 -msgid "Email Address" +#: templates/InvenTree/settings/user.html:42 +msgid "E-Mail" msgstr "" -#: templates/InvenTree/settings/user.html:42 -msgid "Theme Settings" +#: templates/InvenTree/settings/user.html:47 +msgid "The following e-mail addresses are associated with your account:" +msgstr "" + +#: templates/InvenTree/settings/user.html:61 +msgid "Verified" msgstr "" #: templates/InvenTree/settings/user.html:63 +msgid "Unverified" +msgstr "" + +#: templates/InvenTree/settings/user.html:65 +msgid "Primary" +msgstr "" + +#: templates/InvenTree/settings/user.html:71 +msgid "Make Primary" +msgstr "" + +#: templates/InvenTree/settings/user.html:72 +msgid "Re-send Verification" +msgstr "" + +#: templates/InvenTree/settings/user.html:73 +#: templates/InvenTree/settings/user.html:130 +msgid "Remove" +msgstr "" + +#: templates/InvenTree/settings/user.html:80 +msgid "Warning:" +msgstr "" + +#: templates/InvenTree/settings/user.html:81 +msgid "You currently do not have any e-mail address set up. You should really add an e-mail address so you can receive notifications, reset your password, etc." +msgstr "" + +#: templates/InvenTree/settings/user.html:88 +msgid "Add E-mail Address" +msgstr "" + +#: templates/InvenTree/settings/user.html:93 +msgid "Add E-mail" +msgstr "" + +#: templates/InvenTree/settings/user.html:100 +msgid "Social Accounts" +msgstr "" + +#: templates/InvenTree/settings/user.html:105 +msgid "You can sign in to your account using any of the following third party accounts:" +msgstr "" + +#: templates/InvenTree/settings/user.html:138 +msgid "You currently have no social network accounts connected to this account." +msgstr "" + +#: templates/InvenTree/settings/user.html:142 +msgid "Add a 3rd Party Account" +msgstr "" + +#: templates/InvenTree/settings/user.html:153 +msgid "Theme Settings" +msgstr "" + +#: templates/InvenTree/settings/user.html:174 msgid "Set Theme" msgstr "" -#: templates/InvenTree/settings/user.html:70 +#: templates/InvenTree/settings/user.html:181 msgid "Language Settings" msgstr "" -#: templates/InvenTree/settings/user.html:89 +#: templates/InvenTree/settings/user.html:200 #, python-format msgid "%(lang_translated)s%% translated" msgstr "" -#: templates/InvenTree/settings/user.html:91 +#: templates/InvenTree/settings/user.html:202 msgid "No translations available" msgstr "" -#: templates/InvenTree/settings/user.html:98 +#: templates/InvenTree/settings/user.html:209 msgid "Set Language" msgstr "" -#: templates/InvenTree/settings/user.html:103 +#: templates/InvenTree/settings/user.html:214 msgid "Help the translation efforts!" msgstr "" -#: templates/InvenTree/settings/user.html:104 +#: templates/InvenTree/settings/user.html:215 #, python-format msgid "Native language translation of the InvenTree web application is community contributed via crowdin. Contributions are welcomed and encouraged." msgstr "" +#: templates/InvenTree/settings/user.html:223 +msgid "Do you really want to remove the selected e-mail address?" +msgstr "" + +#: templates/InvenTree/settings/user_forms.html:9 +msgid "Form Settings" +msgstr "" + #: templates/InvenTree/settings/user_homepage.html:9 msgid "Home Page Settings" msgstr "" @@ -6641,11 +6575,108 @@ msgstr "" #: templates/about.html:107 templates/js/translated/modals.js:50 #: templates/js/translated/modals.js:584 templates/js/translated/modals.js:678 -#: templates/js/translated/modals.js:971 templates/modals.html:29 +#: templates/js/translated/modals.js:982 templates/modals.html:29 #: templates/modals.html:54 msgid "Close" msgstr "" +#: templates/account/email_confirm.html:6 +#: templates/account/email_confirm.html:10 +msgid "Confirm E-mail Address" +msgstr "" + +#: templates/account/email_confirm.html:16 +#, python-format +msgid "Please confirm that %(email)s is an e-mail address for user %(user_display)s." +msgstr "" + +#: templates/account/email_confirm.html:27 +#, python-format +msgid "This e-mail confirmation link expired or is invalid. Please issue a new e-mail confirmation request." +msgstr "" + +#: templates/account/login.html:5 templates/account/login.html:14 +#: templates/account/login.html:36 +msgid "Sign In" +msgstr "" + +#: templates/account/login.html:19 +#, python-format +msgid "Please sign in with one\n" +"of your existing third party accounts or sign up\n" +"for a account and sign in below:" +msgstr "" + +#: templates/account/login.html:23 +#, python-format +msgid "If you have not created an account yet, then please\n" +"sign up first." +msgstr "" + +#: templates/account/login.html:38 +msgid "Forgot Password?" +msgstr "" + +#: templates/account/login.html:45 +msgid "or use SSO" +msgstr "" + +#: templates/account/logout.html:5 templates/account/logout.html:8 +#: templates/account/logout.html:17 +msgid "Sign Out" +msgstr "" + +#: templates/account/logout.html:10 +msgid "Are you sure you want to sign out?" +msgstr "" + +#: templates/account/password_reset.html:5 +#: templates/account/password_reset.html:12 +msgid "Password Reset" +msgstr "" + +#: templates/account/password_reset.html:18 +msgid "Forgotten your password? Enter your e-mail address below, and we'll send you an e-mail allowing you to reset it." +msgstr "" + +#: templates/account/password_reset.html:23 +msgid "Reset My Password" +msgstr "" + +#: templates/account/password_reset.html:27 templates/account/signup.html:36 +msgid "This function is currently disabled. Please contact an administrator." +msgstr "" + +#: templates/account/password_reset_from_key.html:7 +msgid "Bad Token" +msgstr "" + +#: templates/account/password_reset_from_key.html:11 +#, python-format +msgid "The password reset link was invalid, possibly because it has already been used. Please request a new password reset." +msgstr "" + +#: templates/account/password_reset_from_key.html:17 +msgid "change password" +msgstr "" + +#: templates/account/password_reset_from_key.html:20 +msgid "Your password is now changed." +msgstr "" + +#: templates/account/signup.html:11 templates/account/signup.html:22 +msgid "Sign Up" +msgstr "" + +#: templates/account/signup.html:13 +#, python-format +msgid "Already have an account? Then please sign in." +msgstr "" + +#: templates/account/signup.html:27 +msgid "Or use a SSO-provider for signup" +msgstr "" + #: templates/image_download.html:8 msgid "Specify URL for downloading image" msgstr "" @@ -6675,7 +6706,7 @@ msgid "Select Test Report Template" msgstr "" #: templates/js/report.js:98 templates/js/translated/label.js:29 -#: templates/js/translated/report.js:118 templates/js/translated/stock.js:313 +#: templates/js/translated/report.js:118 templates/js/translated/stock.js:297 msgid "Select Stock Items" msgstr "" @@ -6707,8 +6738,8 @@ msgstr "" msgid "No report templates found which match selected build(s)" msgstr "" -#: templates/js/report.js:205 templates/js/translated/label.js:134 -#: templates/js/translated/report.js:225 +#: templates/js/report.js:205 templates/js/translated/build.js:948 +#: templates/js/translated/label.js:134 templates/js/translated/report.js:225 msgid "Select Parts" msgstr "" @@ -6741,11 +6772,11 @@ msgstr "" msgid "Sales Order(s) must be selected before printing report" msgstr "" -#: templates/js/translated/api.js:174 templates/js/translated/modals.js:1041 +#: templates/js/translated/api.js:174 templates/js/translated/modals.js:1052 msgid "No Response" msgstr "" -#: templates/js/translated/api.js:175 templates/js/translated/modals.js:1042 +#: templates/js/translated/api.js:175 templates/js/translated/modals.js:1053 msgid "No response from the InvenTree server" msgstr "" @@ -6757,35 +6788,35 @@ msgstr "" msgid "API request returned error code 400" msgstr "" -#: templates/js/translated/api.js:186 templates/js/translated/modals.js:1051 +#: templates/js/translated/api.js:186 templates/js/translated/modals.js:1062 msgid "Error 401: Not Authenticated" msgstr "" -#: templates/js/translated/api.js:187 templates/js/translated/modals.js:1052 +#: templates/js/translated/api.js:187 templates/js/translated/modals.js:1063 msgid "Authentication credentials not supplied" msgstr "" -#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1056 +#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1067 msgid "Error 403: Permission Denied" msgstr "" -#: templates/js/translated/api.js:192 templates/js/translated/modals.js:1057 +#: templates/js/translated/api.js:192 templates/js/translated/modals.js:1068 msgid "You do not have the required permissions to access this function" msgstr "" -#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1061 +#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1072 msgid "Error 404: Resource Not Found" msgstr "" -#: templates/js/translated/api.js:197 templates/js/translated/modals.js:1062 +#: templates/js/translated/api.js:197 templates/js/translated/modals.js:1073 msgid "The requested resource could not be located on the server" msgstr "" -#: templates/js/translated/api.js:201 templates/js/translated/modals.js:1066 +#: templates/js/translated/api.js:201 templates/js/translated/modals.js:1077 msgid "Error 408: Timeout" msgstr "" -#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1067 +#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1078 msgid "Connection timeout while requesting data from server" msgstr "" @@ -6842,7 +6873,7 @@ msgid "Unknown response from server" msgstr "" #: templates/js/translated/barcode.js:141 -#: templates/js/translated/modals.js:1031 +#: templates/js/translated/modals.js:1042 msgid "Invalid server response" msgstr "" @@ -6870,7 +6901,7 @@ msgstr "" msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:398 templates/js/translated/stock.js:289 +#: templates/js/translated/barcode.js:398 templates/js/translated/stock.js:273 msgid "Remove stock item" msgstr "" @@ -6912,115 +6943,181 @@ msgstr "" msgid "Barcode does not match a valid location" msgstr "" -#: templates/js/translated/bom.js:215 templates/js/translated/build.js:1169 +#: templates/js/translated/bom.js:234 templates/js/translated/build.js:1495 msgid "Open subassembly" msgstr "" -#: templates/js/translated/bom.js:287 +#: templates/js/translated/bom.js:288 templates/js/translated/build.js:744 +#: templates/js/translated/build.js:1345 templates/js/translated/build.js:1522 +msgid "Available" +msgstr "" + +#: templates/js/translated/bom.js:307 msgid "Purchase Price Range" msgstr "" -#: templates/js/translated/bom.js:294 +#: templates/js/translated/bom.js:314 msgid "Purchase Price Average" msgstr "" -#: templates/js/translated/bom.js:342 templates/js/translated/bom.js:428 +#: templates/js/translated/bom.js:363 templates/js/translated/bom.js:449 msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:402 +#: templates/js/translated/bom.js:415 templates/js/translated/build.js:798 +#: templates/js/translated/build.js:1545 templates/js/translated/order.js:1285 +msgid "Actions" +msgstr "" + +#: templates/js/translated/bom.js:423 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:404 +#: templates/js/translated/bom.js:425 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:406 templates/js/translated/bom.js:569 +#: templates/js/translated/bom.js:427 templates/js/translated/bom.js:590 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:408 templates/js/translated/bom.js:554 +#: templates/js/translated/bom.js:429 templates/js/translated/bom.js:575 msgid "Delete BOM Item" msgstr "" -#: templates/js/translated/bom.js:499 templates/js/translated/build.js:483 -#: templates/js/translated/build.js:1267 +#: templates/js/translated/bom.js:520 templates/js/translated/build.js:485 +#: templates/js/translated/build.js:1593 msgid "No BOM items found" msgstr "" -#: templates/js/translated/build.js:69 +#: templates/js/translated/build.js:71 msgid "Edit Build Order" msgstr "" -#: templates/js/translated/build.js:95 +#: templates/js/translated/build.js:105 msgid "Create Build Order" msgstr "" -#: templates/js/translated/build.js:127 -msgid "Auto-allocate stock items to this output" +#: templates/js/translated/build.js:138 +msgid "Allocate stock items to this build output" msgstr "" -#: templates/js/translated/build.js:135 +#: templates/js/translated/build.js:146 msgid "Unallocate stock from build output" msgstr "" -#: templates/js/translated/build.js:145 +#: templates/js/translated/build.js:155 msgid "Complete build output" msgstr "" -#: templates/js/translated/build.js:154 +#: templates/js/translated/build.js:164 msgid "Delete build output" msgstr "" -#: templates/js/translated/build.js:249 +#: templates/js/translated/build.js:265 msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:287 templates/js/translated/order.js:813 +#: templates/js/translated/build.js:303 templates/js/translated/order.js:1159 msgid "Location not specified" msgstr "" -#: templates/js/translated/build.js:391 templates/stock_table.html:20 -msgid "New Stock Item" +#: templates/js/translated/build.js:675 templates/js/translated/build.js:1356 +#: templates/js/translated/order.js:1292 +msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/build.js:702 +#: templates/js/translated/build.js:677 templates/js/translated/build.js:1357 +#: templates/js/translated/order.js:1293 +msgid "Delete stock allocation" +msgstr "" + +#: templates/js/translated/build.js:695 +msgid "Edit Allocation" +msgstr "" + +#: templates/js/translated/build.js:705 +msgid "Remove Allocation" +msgstr "" + +#: templates/js/translated/build.js:718 msgid "Required Part" msgstr "" -#: templates/js/translated/build.js:723 +#: templates/js/translated/build.js:739 msgid "Quantity Per" msgstr "" -#: templates/js/translated/build.js:793 templates/js/translated/build.js:1231 +#: templates/js/translated/build.js:749 templates/js/translated/build.js:975 +#: templates/js/translated/build.js:1352 templates/js/translated/order.js:1514 +msgid "Allocated" +msgstr "" + +#: templates/js/translated/build.js:805 templates/js/translated/build.js:1553 +#: templates/js/translated/order.js:1567 +msgid "Build stock" +msgstr "" + +#: templates/js/translated/build.js:809 templates/js/translated/build.js:1557 #: templates/stock_table.html:59 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:846 +#: templates/js/translated/build.js:812 templates/js/translated/order.js:1560 +msgid "Allocate stock" +msgstr "" + +#: templates/js/translated/build.js:880 +msgid "Specify stock allocation quantity" +msgstr "" + +#: templates/js/translated/build.js:949 +msgid "You must select at least one part to allocate" +msgstr "" + +#: templates/js/translated/build.js:963 +msgid "Select source location (leave blank to take from all locations)" +msgstr "" + +#: templates/js/translated/build.js:992 +msgid "Confirm stock allocation" +msgstr "" + +#: templates/js/translated/build.js:993 +msgid "Allocate Stock Items to Build Order" +msgstr "" + +#: templates/js/translated/build.js:1004 +msgid "No matching stock locations" +msgstr "" + +#: templates/js/translated/build.js:1048 +msgid "No matching stock items" +msgstr "" + +#: templates/js/translated/build.js:1172 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:863 templates/js/translated/part.js:845 -#: templates/js/translated/part.js:1123 templates/js/translated/stock.js:783 -#: templates/js/translated/stock.js:1477 +#: templates/js/translated/build.js:1189 templates/js/translated/part.js:856 +#: templates/js/translated/part.js:1134 templates/js/translated/stock.js:762 +#: templates/js/translated/stock.js:1456 msgid "Select" msgstr "" -#: templates/js/translated/build.js:883 +#: templates/js/translated/build.js:1209 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:944 templates/js/translated/stock.js:1696 +#: templates/js/translated/build.js:1270 templates/js/translated/stock.js:1675 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:956 +#: templates/js/translated/build.js:1282 msgid "No information" msgstr "" -#: templates/js/translated/build.js:1007 +#: templates/js/translated/build.js:1333 msgid "No parts allocated for" msgstr "" @@ -7040,7 +7137,7 @@ msgstr "" msgid "Delete Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:164 templates/js/translated/order.js:86 +#: templates/js/translated/company.js:164 templates/js/translated/order.js:89 msgid "Add Supplier" msgstr "" @@ -7084,53 +7181,53 @@ msgstr "" msgid "Delete Manufacturer Parts" msgstr "" -#: templates/js/translated/company.js:475 +#: templates/js/translated/company.js:476 msgid "No manufacturer parts found" msgstr "" -#: templates/js/translated/company.js:495 -#: templates/js/translated/company.js:751 templates/js/translated/part.js:416 -#: templates/js/translated/part.js:501 +#: templates/js/translated/company.js:496 +#: templates/js/translated/company.js:753 templates/js/translated/part.js:427 +#: templates/js/translated/part.js:512 msgid "Template part" msgstr "" -#: templates/js/translated/company.js:499 -#: templates/js/translated/company.js:755 templates/js/translated/part.js:420 -#: templates/js/translated/part.js:505 +#: templates/js/translated/company.js:500 +#: templates/js/translated/company.js:757 templates/js/translated/part.js:431 +#: templates/js/translated/part.js:516 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:626 templates/js/translated/part.js:593 +#: templates/js/translated/company.js:627 templates/js/translated/part.js:604 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:663 templates/js/translated/part.js:635 +#: templates/js/translated/company.js:664 templates/js/translated/part.js:646 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:664 templates/js/translated/part.js:636 +#: templates/js/translated/company.js:665 templates/js/translated/part.js:647 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:683 templates/js/translated/part.js:653 +#: templates/js/translated/company.js:684 templates/js/translated/part.js:664 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:694 templates/js/translated/part.js:665 +#: templates/js/translated/company.js:695 templates/js/translated/part.js:676 msgid "Delete Parameter" msgstr "" -#: templates/js/translated/company.js:731 +#: templates/js/translated/company.js:733 msgid "No supplier parts found" msgstr "" #: templates/js/translated/filters.js:178 -#: templates/js/translated/filters.js:402 +#: templates/js/translated/filters.js:407 msgid "true" msgstr "" #: templates/js/translated/filters.js:182 -#: templates/js/translated/filters.js:403 +#: templates/js/translated/filters.js:408 msgid "false" msgstr "" @@ -7138,19 +7235,19 @@ msgstr "" msgid "Select filter" msgstr "" -#: templates/js/translated/filters.js:279 +#: templates/js/translated/filters.js:284 msgid "Reload data" msgstr "" -#: templates/js/translated/filters.js:281 +#: templates/js/translated/filters.js:286 msgid "Add new filter" msgstr "" -#: templates/js/translated/filters.js:284 +#: templates/js/translated/filters.js:289 msgid "Clear all filters" msgstr "" -#: templates/js/translated/filters.js:312 +#: templates/js/translated/filters.js:317 msgid "Create filter" msgstr "" @@ -7175,16 +7272,20 @@ msgstr "" msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:889 templates/modals.html:21 +#: templates/js/translated/forms.js:968 templates/modals.html:21 #: templates/modals.html:47 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1379 +#: templates/js/translated/forms.js:1323 +msgid "No results found" +msgstr "" + +#: templates/js/translated/forms.js:1525 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:1593 +#: templates/js/translated/forms.js:1742 msgid "Clear input" msgstr "" @@ -7247,7 +7348,7 @@ msgid "Cancel" msgstr "" #: templates/js/translated/modals.js:77 templates/js/translated/modals.js:119 -#: templates/js/translated/modals.js:677 templates/js/translated/modals.js:970 +#: templates/js/translated/modals.js:677 templates/js/translated/modals.js:981 #: templates/modals.html:30 templates/modals.html:55 msgid "Submit" msgstr "" @@ -7272,31 +7373,31 @@ msgstr "" msgid "Loading Data" msgstr "" -#: templates/js/translated/modals.js:922 +#: templates/js/translated/modals.js:933 msgid "Invalid response from server" msgstr "" -#: templates/js/translated/modals.js:922 +#: templates/js/translated/modals.js:933 msgid "Form data missing from server response" msgstr "" -#: templates/js/translated/modals.js:934 +#: templates/js/translated/modals.js:945 msgid "Error posting form data" msgstr "" -#: templates/js/translated/modals.js:1031 +#: templates/js/translated/modals.js:1042 msgid "JSON response missing form data" msgstr "" -#: templates/js/translated/modals.js:1046 +#: templates/js/translated/modals.js:1057 msgid "Error 400: Bad Request" msgstr "" -#: templates/js/translated/modals.js:1047 +#: templates/js/translated/modals.js:1058 msgid "Server returned error code 400" msgstr "" -#: templates/js/translated/modals.js:1070 +#: templates/js/translated/modals.js:1081 msgid "Error requesting form data" msgstr "" @@ -7304,70 +7405,195 @@ msgstr "" msgid "Company ID" msgstr "" -#: templates/js/translated/model_renderers.js:82 +#: templates/js/translated/model_renderers.js:90 +msgid "Stock ID" +msgstr "" + +#: templates/js/translated/model_renderers.js:125 msgid "Location ID" msgstr "" -#: templates/js/translated/model_renderers.js:99 +#: templates/js/translated/model_renderers.js:142 msgid "Build ID" msgstr "" -#: templates/js/translated/model_renderers.js:119 +#: templates/js/translated/model_renderers.js:177 msgid "Part ID" msgstr "" -#: templates/js/translated/model_renderers.js:171 +#: templates/js/translated/model_renderers.js:231 +msgid "Order ID" +msgstr "" + +#: templates/js/translated/model_renderers.js:251 msgid "Category ID" msgstr "" -#: templates/js/translated/model_renderers.js:208 +#: templates/js/translated/model_renderers.js:288 msgid "Manufacturer Part ID" msgstr "" -#: templates/js/translated/model_renderers.js:237 +#: templates/js/translated/model_renderers.js:317 msgid "Supplier Part ID" msgstr "" -#: templates/js/translated/order.js:45 +#: templates/js/translated/order.js:48 msgid "Add Customer" msgstr "" -#: templates/js/translated/order.js:70 +#: templates/js/translated/order.js:73 msgid "Create Sales Order" msgstr "" -#: templates/js/translated/order.js:295 +#: templates/js/translated/order.js:207 +msgid "Export Order" +msgstr "" + +#: templates/js/translated/order.js:210 templates/js/translated/stock.js:96 +msgid "Format" +msgstr "" + +#: templates/js/translated/order.js:211 templates/js/translated/stock.js:97 +msgid "Select file format" +msgstr "" + +#: templates/js/translated/order.js:299 +msgid "Select Line Items" +msgstr "" + +#: templates/js/translated/order.js:300 +msgid "At least one line item must be selected" +msgstr "" + +#: templates/js/translated/order.js:325 +msgid "Quantity to receive" +msgstr "" + +#: templates/js/translated/order.js:359 templates/js/translated/stock.js:1343 +msgid "Stock Status" +msgstr "" + +#: templates/js/translated/order.js:426 +msgid "Order Code" +msgstr "" + +#: templates/js/translated/order.js:427 +msgid "Ordered" +msgstr "" + +#: templates/js/translated/order.js:429 +msgid "Receive" +msgstr "" + +#: templates/js/translated/order.js:448 +msgid "Confirm receipt of items" +msgstr "" + +#: templates/js/translated/order.js:449 +msgid "Receive Purchase Order Items" +msgstr "" + +#: templates/js/translated/order.js:626 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/order.js:320 templates/js/translated/order.js:682 +#: templates/js/translated/order.js:651 templates/js/translated/order.js:1028 msgid "Order is overdue" msgstr "" -#: templates/js/translated/order.js:452 +#: templates/js/translated/order.js:749 templates/js/translated/order.js:1602 +msgid "Edit Line Item" +msgstr "" + +#: templates/js/translated/order.js:761 templates/js/translated/order.js:1613 +msgid "Delete Line Item" +msgstr "" + +#: templates/js/translated/order.js:800 msgid "No line items found" msgstr "" -#: templates/js/translated/order.js:617 +#: templates/js/translated/order.js:827 templates/js/translated/order.js:1432 +msgid "Total" +msgstr "" + +#: templates/js/translated/order.js:880 templates/js/translated/order.js:1457 +#: templates/js/translated/part.js:1343 templates/js/translated/part.js:1554 +msgid "Unit Price" +msgstr "" + +#: templates/js/translated/order.js:889 templates/js/translated/order.js:1464 +msgid "Total price" +msgstr "" + +#: templates/js/translated/order.js:962 templates/js/translated/order.js:1573 +msgid "Edit line item" +msgstr "" + +#: templates/js/translated/order.js:963 msgid "Delete line item" msgstr "" -#: templates/js/translated/order.js:621 +#: templates/js/translated/order.js:967 msgid "Receive line item" msgstr "" -#: templates/js/translated/order.js:658 +#: templates/js/translated/order.js:1004 msgid "No sales orders found" msgstr "" -#: templates/js/translated/order.js:696 +#: templates/js/translated/order.js:1042 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/order.js:774 +#: templates/js/translated/order.js:1120 msgid "No sales order allocations found" msgstr "" +#: templates/js/translated/order.js:1213 +msgid "Edit Stock Allocation" +msgstr "" + +#: templates/js/translated/order.js:1231 +msgid "Delete Stock Allocation" +msgstr "" + +#: templates/js/translated/order.js:1273 +msgid "Stock location not specified" +msgstr "" + +#: templates/js/translated/order.js:1514 +msgid "Fulfilled" +msgstr "" + +#: templates/js/translated/order.js:1557 +msgid "Allocate serial numbers" +msgstr "" + +#: templates/js/translated/order.js:1563 +msgid "Purchase stock" +msgstr "" + +#: templates/js/translated/order.js:1570 templates/js/translated/order.js:1725 +msgid "Calculate price" +msgstr "" + +#: templates/js/translated/order.js:1574 +msgid "Delete line item " +msgstr "" + +#: templates/js/translated/order.js:1673 +msgid "Allocate Stock Item" +msgstr "" + +#: templates/js/translated/order.js:1733 +msgid "Update Unit Price" +msgstr "" + +#: templates/js/translated/order.js:1747 +msgid "No matching line items" +msgstr "" + #: templates/js/translated/part.js:49 msgid "Part Attributes" msgstr "" @@ -7388,396 +7614,396 @@ msgstr "" msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:159 +#: templates/js/translated/part.js:164 msgid "Create Initial Stock" msgstr "" -#: templates/js/translated/part.js:160 +#: templates/js/translated/part.js:165 msgid "Create an initial stock item for this part" msgstr "" -#: templates/js/translated/part.js:167 +#: templates/js/translated/part.js:172 msgid "Initial Stock Quantity" msgstr "" -#: templates/js/translated/part.js:168 +#: templates/js/translated/part.js:173 msgid "Specify initial stock quantity for this part" msgstr "" -#: templates/js/translated/part.js:175 templates/js/translated/stock.js:330 +#: templates/js/translated/part.js:180 msgid "Select destination stock location" msgstr "" -#: templates/js/translated/part.js:186 +#: templates/js/translated/part.js:191 msgid "Copy Category Parameters" msgstr "" -#: templates/js/translated/part.js:187 +#: templates/js/translated/part.js:192 msgid "Copy parameter templates from selected part category" msgstr "" -#: templates/js/translated/part.js:195 +#: templates/js/translated/part.js:200 msgid "Add Supplier Data" msgstr "" -#: templates/js/translated/part.js:196 +#: templates/js/translated/part.js:201 msgid "Create initial supplier data for this part" msgstr "" -#: templates/js/translated/part.js:252 +#: templates/js/translated/part.js:257 msgid "Copy Image" msgstr "" -#: templates/js/translated/part.js:253 +#: templates/js/translated/part.js:258 msgid "Copy image from original part" msgstr "" -#: templates/js/translated/part.js:260 +#: templates/js/translated/part.js:265 msgid "Copy BOM" msgstr "" -#: templates/js/translated/part.js:261 +#: templates/js/translated/part.js:266 msgid "Copy bill of materials from original part" msgstr "" -#: templates/js/translated/part.js:268 +#: templates/js/translated/part.js:273 msgid "Copy Parameters" msgstr "" -#: templates/js/translated/part.js:269 +#: templates/js/translated/part.js:274 msgid "Copy parameter data from original part" msgstr "" -#: templates/js/translated/part.js:282 +#: templates/js/translated/part.js:287 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:323 +#: templates/js/translated/part.js:331 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:408 templates/js/translated/part.js:493 +#: templates/js/translated/part.js:419 templates/js/translated/part.js:504 msgid "Trackable part" msgstr "" -#: templates/js/translated/part.js:412 templates/js/translated/part.js:497 +#: templates/js/translated/part.js:423 templates/js/translated/part.js:508 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:424 +#: templates/js/translated/part.js:435 msgid "Starred part" msgstr "" -#: templates/js/translated/part.js:428 +#: templates/js/translated/part.js:439 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:543 +#: templates/js/translated/part.js:554 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:732 templates/js/translated/part.js:994 +#: templates/js/translated/part.js:743 templates/js/translated/part.js:1005 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:921 +#: templates/js/translated/part.js:932 msgid "No category" msgstr "" -#: templates/js/translated/part.js:944 -#: templates/js/translated/table_filters.js:350 +#: templates/js/translated/part.js:955 +#: templates/js/translated/table_filters.js:359 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:1148 templates/js/translated/stock.js:1501 +#: templates/js/translated/part.js:1159 templates/js/translated/stock.js:1480 msgid "Path" msgstr "" -#: templates/js/translated/part.js:1191 +#: templates/js/translated/part.js:1202 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:1242 templates/js/translated/stock.js:514 +#: templates/js/translated/part.js:1253 templates/js/translated/stock.js:493 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:1243 templates/js/translated/stock.js:515 +#: templates/js/translated/part.js:1254 templates/js/translated/stock.js:494 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:1249 +#: templates/js/translated/part.js:1260 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:1274 +#: templates/js/translated/part.js:1282 +msgid "Edit Test Result Template" +msgstr "" + +#: templates/js/translated/part.js:1296 +msgid "Delete Test Result Template" +msgstr "" + +#: templates/js/translated/part.js:1321 #, python-brace-format msgid "No ${human_name} information found" msgstr "" -#: templates/js/translated/part.js:1329 +#: templates/js/translated/part.js:1376 #, python-brace-format msgid "Edit ${human_name}" msgstr "" -#: templates/js/translated/part.js:1330 +#: templates/js/translated/part.js:1377 #, python-brace-format msgid "Delete ${human_name}" msgstr "" -#: templates/js/translated/part.js:1431 +#: templates/js/translated/part.js:1478 msgid "Single Price" msgstr "" -#: templates/js/translated/part.js:1450 +#: templates/js/translated/part.js:1497 msgid "Single Price Difference" msgstr "" -#: templates/js/translated/stock.js:66 +#: templates/js/translated/stock.js:63 msgid "Parent stock location" msgstr "" -#: templates/js/translated/stock.js:96 +#: templates/js/translated/stock.js:93 msgid "Export Stock" msgstr "" -#: templates/js/translated/stock.js:99 -msgid "Format" -msgstr "" - -#: templates/js/translated/stock.js:100 -msgid "Select file format" -msgstr "" - -#: templates/js/translated/stock.js:124 +#: templates/js/translated/stock.js:104 msgid "Include Sublocations" msgstr "" -#: templates/js/translated/stock.js:125 +#: templates/js/translated/stock.js:105 msgid "Include stock items in sublocations" msgstr "" -#: templates/js/translated/stock.js:167 +#: templates/js/translated/stock.js:147 msgid "Transfer Stock" msgstr "" -#: templates/js/translated/stock.js:168 +#: templates/js/translated/stock.js:148 msgid "Move" msgstr "" -#: templates/js/translated/stock.js:174 +#: templates/js/translated/stock.js:154 msgid "Count Stock" msgstr "" -#: templates/js/translated/stock.js:175 +#: templates/js/translated/stock.js:155 msgid "Count" msgstr "" -#: templates/js/translated/stock.js:179 +#: templates/js/translated/stock.js:159 msgid "Remove Stock" msgstr "" -#: templates/js/translated/stock.js:180 +#: templates/js/translated/stock.js:160 msgid "Take" msgstr "" -#: templates/js/translated/stock.js:184 +#: templates/js/translated/stock.js:164 msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:185 users/models.py:190 +#: templates/js/translated/stock.js:165 users/models.py:195 msgid "Add" msgstr "" -#: templates/js/translated/stock.js:189 templates/stock_table.html:63 +#: templates/js/translated/stock.js:169 templates/stock_table.html:63 msgid "Delete Stock" msgstr "" -#: templates/js/translated/stock.js:278 +#: templates/js/translated/stock.js:258 msgid "Quantity cannot be adjusted for serialized stock" msgstr "" -#: templates/js/translated/stock.js:278 +#: templates/js/translated/stock.js:258 msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:314 +#: templates/js/translated/stock.js:298 msgid "You must select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:339 -msgid "Stock transaction notes" -msgstr "" - -#: templates/js/translated/stock.js:477 +#: templates/js/translated/stock.js:456 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:479 +#: templates/js/translated/stock.js:458 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:484 +#: templates/js/translated/stock.js:463 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:510 +#: templates/js/translated/stock.js:489 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:536 +#: templates/js/translated/stock.js:515 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:584 +#: templates/js/translated/stock.js:563 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:691 +#: templates/js/translated/stock.js:670 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:695 +#: templates/js/translated/stock.js:674 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:703 +#: templates/js/translated/stock.js:678 +msgid "Shipped to customer" +msgstr "" + +#: templates/js/translated/stock.js:682 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:865 +#: templates/js/translated/stock.js:688 +msgid "No stock location set" +msgstr "" + +#: templates/js/translated/stock.js:844 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:870 +#: templates/js/translated/stock.js:849 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:873 +#: templates/js/translated/stock.js:852 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:877 +#: templates/js/translated/stock.js:856 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:879 +#: templates/js/translated/stock.js:858 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:883 +#: templates/js/translated/stock.js:862 msgid "Stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:887 +#: templates/js/translated/stock.js:866 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:894 +#: templates/js/translated/stock.js:873 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:896 +#: templates/js/translated/stock.js:875 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:898 +#: templates/js/translated/stock.js:877 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:902 +#: templates/js/translated/stock.js:881 #: templates/js/translated/table_filters.js:161 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:956 +#: templates/js/translated/stock.js:935 msgid "Stocktake" msgstr "" -#: templates/js/translated/stock.js:1029 +#: templates/js/translated/stock.js:1008 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:1067 +#: templates/js/translated/stock.js:1046 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:1088 templates/js/translated/stock.js:1136 +#: templates/js/translated/stock.js:1067 templates/js/translated/stock.js:1115 msgid "items" msgstr "" -#: templates/js/translated/stock.js:1176 +#: templates/js/translated/stock.js:1155 msgid "batches" msgstr "" -#: templates/js/translated/stock.js:1203 +#: templates/js/translated/stock.js:1182 msgid "locations" msgstr "" -#: templates/js/translated/stock.js:1205 +#: templates/js/translated/stock.js:1184 msgid "Undefined location" msgstr "" -#: templates/js/translated/stock.js:1364 -msgid "Stock Status" -msgstr "" - -#: templates/js/translated/stock.js:1379 +#: templates/js/translated/stock.js:1358 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:1393 +#: templates/js/translated/stock.js:1372 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:1394 +#: templates/js/translated/stock.js:1373 msgid "Status code must be selected" msgstr "" -#: templates/js/translated/stock.js:1533 +#: templates/js/translated/stock.js:1512 msgid "Invalid date" msgstr "" -#: templates/js/translated/stock.js:1580 +#: templates/js/translated/stock.js:1559 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:1599 +#: templates/js/translated/stock.js:1578 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:1618 +#: templates/js/translated/stock.js:1597 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:1636 +#: templates/js/translated/stock.js:1615 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:1659 +#: templates/js/translated/stock.js:1638 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:1667 +#: templates/js/translated/stock.js:1646 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:1708 +#: templates/js/translated/stock.js:1687 msgid "Edit tracking entry" msgstr "" -#: templates/js/translated/stock.js:1709 +#: templates/js/translated/stock.js:1688 msgid "Delete tracking entry" msgstr "" -#: templates/js/translated/stock.js:1833 +#: templates/js/translated/stock.js:1812 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:1856 +#: templates/js/translated/stock.js:1835 msgid "Serial" msgstr "" -#: templates/js/translated/stock.js:1884 +#: templates/js/translated/stock.js:1863 msgid "Uninstall Stock Item" msgstr "" @@ -7808,7 +8034,7 @@ msgstr "" #: templates/js/translated/table_filters.js:103 #: templates/js/translated/table_filters.js:104 -#: templates/js/translated/table_filters.js:327 +#: templates/js/translated/table_filters.js:336 msgid "Include subcategories" msgstr "" @@ -7850,7 +8076,7 @@ msgid "Batch code" msgstr "" #: templates/js/translated/table_filters.js:141 -#: templates/js/translated/table_filters.js:317 +#: templates/js/translated/table_filters.js:326 msgid "Active parts" msgstr "" @@ -7935,89 +8161,89 @@ msgstr "" msgid "Build status" msgstr "" -#: templates/js/translated/table_filters.js:282 -#: templates/js/translated/table_filters.js:299 +#: templates/js/translated/table_filters.js:291 +#: templates/js/translated/table_filters.js:308 msgid "Order status" msgstr "" -#: templates/js/translated/table_filters.js:287 -#: templates/js/translated/table_filters.js:304 +#: templates/js/translated/table_filters.js:296 +#: templates/js/translated/table_filters.js:313 msgid "Outstanding" msgstr "" -#: templates/js/translated/table_filters.js:328 +#: templates/js/translated/table_filters.js:337 msgid "Include parts in subcategories" msgstr "" -#: templates/js/translated/table_filters.js:332 +#: templates/js/translated/table_filters.js:341 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:333 +#: templates/js/translated/table_filters.js:342 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:338 +#: templates/js/translated/table_filters.js:347 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:346 +#: templates/js/translated/table_filters.js:355 msgid "Stock available" msgstr "" -#: templates/js/translated/table_filters.js:362 +#: templates/js/translated/table_filters.js:371 msgid "Starred" msgstr "" -#: templates/js/translated/table_filters.js:374 +#: templates/js/translated/table_filters.js:383 msgid "Purchasable" msgstr "" -#: templates/js/translated/tables.js:357 +#: templates/js/translated/tables.js:366 msgid "Loading data" msgstr "" -#: templates/js/translated/tables.js:360 +#: templates/js/translated/tables.js:369 msgid "rows per page" msgstr "" -#: templates/js/translated/tables.js:363 +#: templates/js/translated/tables.js:372 msgid "Showing" msgstr "" -#: templates/js/translated/tables.js:363 +#: templates/js/translated/tables.js:372 msgid "to" msgstr "" -#: templates/js/translated/tables.js:363 +#: templates/js/translated/tables.js:372 msgid "of" msgstr "" -#: templates/js/translated/tables.js:363 +#: templates/js/translated/tables.js:372 msgid "rows" msgstr "" -#: templates/js/translated/tables.js:369 +#: templates/js/translated/tables.js:378 msgid "No matching results" msgstr "" -#: templates/js/translated/tables.js:372 +#: templates/js/translated/tables.js:381 msgid "Hide/Show pagination" msgstr "" -#: templates/js/translated/tables.js:375 +#: templates/js/translated/tables.js:384 msgid "Refresh" msgstr "" -#: templates/js/translated/tables.js:378 +#: templates/js/translated/tables.js:387 msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:381 +#: templates/js/translated/tables.js:390 msgid "Columns" msgstr "" -#: templates/js/translated/tables.js:384 +#: templates/js/translated/tables.js:393 msgid "All" msgstr "" @@ -8033,19 +8259,15 @@ msgstr "" msgid "Sell" msgstr "" -#: templates/navbar.html:87 users/models.py:39 +#: templates/navbar.html:83 users/models.py:39 msgid "Admin" msgstr "" -#: templates/navbar.html:89 +#: templates/navbar.html:85 msgid "Logout" msgstr "" -#: templates/navbar.html:91 templates/registration/login.html:89 -msgid "Login" -msgstr "" - -#: templates/navbar.html:114 +#: templates/navbar.html:106 msgid "About InvenTree" msgstr "" @@ -8053,68 +8275,12 @@ msgstr "" msgid "QR data not provided" msgstr "" -#: templates/registration/logged_out.html:50 -msgid "You have been logged out" +#: templates/registration/logged_out.html:6 +msgid "You were logged out successfully." msgstr "" -#: templates/registration/logged_out.html:51 -#: templates/registration/password_reset_complete.html:51 -#: templates/registration/password_reset_done.html:58 -msgid "Return to login screen" -msgstr "" - -#: templates/registration/login.html:64 -msgid "Enter username" -msgstr "" - -#: templates/registration/login.html:70 -msgid "Password" -msgstr "" - -#: templates/registration/login.html:83 -msgid "Username / password combination is incorrect" -msgstr "" - -#: templates/registration/login.html:95 -#: templates/registration/password_reset_form.html:51 -msgid "Forgotten your password?" -msgstr "" - -#: templates/registration/login.html:95 -msgid "Click here to reset" -msgstr "" - -#: templates/registration/password_reset_complete.html:50 -msgid "Password reset complete" -msgstr "" - -#: templates/registration/password_reset_confirm.html:52 -#: templates/registration/password_reset_confirm.html:56 -msgid "Change password" -msgstr "" - -#: templates/registration/password_reset_confirm.html:60 -msgid "The password reset link was invalid, possibly because it has already been used. Please request a new password reset." -msgstr "" - -#: templates/registration/password_reset_done.html:51 -msgid "We've emailed you instructions for setting your password, if an account exists with the email you entered. You should receive them shortly." -msgstr "" - -#: templates/registration/password_reset_done.html:54 -msgid "If you don't receive an email, please make sure you've entered the address you registered with, and check your spam folder." -msgstr "" - -#: templates/registration/password_reset_form.html:52 -msgid "Enter your email address below." -msgstr "" - -#: templates/registration/password_reset_form.html:53 -msgid "An email will be sent with password reset instructions." -msgstr "" - -#: templates/registration/password_reset_form.html:58 -msgid "Send email" +#: templates/registration/logged_out.html:8 +msgid "Log in again" msgstr "" #: templates/stats.html:13 @@ -8169,6 +8335,10 @@ msgstr "" msgid "Export Stock Information" msgstr "" +#: templates/stock_table.html:20 +msgid "New Stock Item" +msgstr "" + #: templates/stock_table.html:27 msgid "Barcode Actions" msgstr "" @@ -8249,35 +8419,35 @@ msgstr "" msgid "Important dates" msgstr "" -#: users/models.py:177 +#: users/models.py:182 msgid "Permission set" msgstr "" -#: users/models.py:185 +#: users/models.py:190 msgid "Group" msgstr "" -#: users/models.py:188 +#: users/models.py:193 msgid "View" msgstr "" -#: users/models.py:188 +#: users/models.py:193 msgid "Permission to view items" msgstr "" -#: users/models.py:190 +#: users/models.py:195 msgid "Permission to add items" msgstr "" -#: users/models.py:192 +#: users/models.py:197 msgid "Change" msgstr "" -#: users/models.py:192 +#: users/models.py:197 msgid "Permissions to edit items" msgstr "" -#: users/models.py:194 +#: users/models.py:199 msgid "Permission to delete items" msgstr "" diff --git a/InvenTree/locale/it/LC_MESSAGES/django.po b/InvenTree/locale/it/LC_MESSAGES/django.po index fa012e8d93..d9a8643afa 100644 --- a/InvenTree/locale/it/LC_MESSAGES/django.po +++ b/InvenTree/locale/it/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-09-12 13:15+0000\n" -"PO-Revision-Date: 2021-09-12 13:44\n" +"POT-Creation-Date: 2021-10-11 06:21+0000\n" +"PO-Revision-Date: 2021-10-11 06:29\n" "Last-Translator: \n" "Language-Team: Italian\n" "Language: it_IT\n" @@ -19,7 +19,7 @@ msgstr "" #: InvenTree/api.py:64 msgid "API endpoint not found" -msgstr "" +msgstr "Endpoint API non trovato" #: InvenTree/api.py:110 msgid "No action specified" @@ -33,264 +33,274 @@ msgstr "Nessuna azione corrispondente trovata" msgid "Enter date" msgstr "Inserisci la data" -#: InvenTree/forms.py:111 build/forms.py:102 build/forms.py:123 -#: build/forms.py:145 build/forms.py:169 build/forms.py:185 build/forms.py:227 -#: order/forms.py:30 order/forms.py:41 order/forms.py:52 order/forms.py:63 -#: order/forms.py:74 part/forms.py:108 templates/js/translated/forms.js:564 +#: InvenTree/forms.py:116 build/forms.py:102 build/forms.py:123 +#: build/forms.py:145 build/forms.py:173 build/forms.py:215 order/forms.py:27 +#: order/forms.py:38 order/forms.py:49 order/forms.py:60 order/forms.py:71 +#: part/forms.py:108 templates/account/email_confirm.html:20 +#: templates/js/translated/forms.js:564 msgid "Confirm" msgstr "Conferma" -#: InvenTree/forms.py:127 +#: InvenTree/forms.py:132 msgid "Confirm delete" -msgstr "" +msgstr "Conferma eliminazione" -#: InvenTree/forms.py:128 +#: InvenTree/forms.py:133 msgid "Confirm item deletion" -msgstr "" +msgstr "Conferma eliminazione elementi" -#: InvenTree/forms.py:160 templates/registration/login.html:76 +#: InvenTree/forms.py:164 msgid "Enter password" msgstr "Inserire la password" -#: InvenTree/forms.py:161 +#: InvenTree/forms.py:165 msgid "Enter new password" msgstr "Inserire una nuova password" -#: InvenTree/forms.py:168 +#: InvenTree/forms.py:172 msgid "Confirm password" msgstr "Conferma la password" -#: InvenTree/forms.py:169 +#: InvenTree/forms.py:173 msgid "Confirm new password" msgstr "Conferma la nuova password" -#: InvenTree/forms.py:201 +#: InvenTree/forms.py:205 msgid "Select Category" msgstr "Selezione una categoria" +#: InvenTree/forms.py:226 +msgid "E-mail (again)" +msgstr "" + +#: InvenTree/forms.py:230 +msgid "E-mail address confirmation" +msgstr "" + +#: InvenTree/forms.py:250 +msgid "You must type the same email each time." +msgstr "" + #: InvenTree/helpers.py:401 #, python-brace-format msgid "Duplicate serial: {n}" -msgstr "" +msgstr "Seriale Duplicato: {n}" -#: InvenTree/helpers.py:408 order/models.py:315 order/models.py:430 -#: stock/views.py:1363 +#: InvenTree/helpers.py:408 order/models.py:315 order/models.py:437 +#: stock/views.py:1340 msgid "Invalid quantity provided" -msgstr "" +msgstr "Quantità inserita non valida" #: InvenTree/helpers.py:411 msgid "Empty serial number string" -msgstr "" +msgstr "Numero seriale vuoto" #: InvenTree/helpers.py:433 InvenTree/helpers.py:436 InvenTree/helpers.py:439 #: InvenTree/helpers.py:464 #, python-brace-format msgid "Invalid group: {g}" -msgstr "" +msgstr "Gruppo non valido: {g}" #: InvenTree/helpers.py:469 #, python-brace-format msgid "Duplicate serial: {g}" -msgstr "" +msgstr "Seriale duplicato: {g}" #: InvenTree/helpers.py:477 msgid "No serial numbers found" -msgstr "" +msgstr "Nessun numero di serie trovato" #: InvenTree/helpers.py:481 #, python-brace-format msgid "Number of unique serial number ({s}) must match quantity ({q})" -msgstr "" +msgstr "Il numero dei numeri seriali univoci ({s}) deve essere uguale alla quantità ({q})" -#: InvenTree/models.py:66 stock/models.py:1826 +#: InvenTree/models.py:66 stock/models.py:1823 msgid "Attachment" -msgstr "" +msgstr "Allegato" #: InvenTree/models.py:67 msgid "Select file to attach" -msgstr "" +msgstr "Seleziona file da allegare" #: InvenTree/models.py:69 templates/js/translated/attachment.js:87 msgid "Comment" -msgstr "" +msgstr "Commento" #: InvenTree/models.py:69 msgid "File comment" -msgstr "" +msgstr "Commento del file" -#: InvenTree/models.py:75 InvenTree/models.py:76 common/models.py:993 -#: common/models.py:994 part/models.py:2051 +#: InvenTree/models.py:75 InvenTree/models.py:76 common/models.py:1055 +#: common/models.py:1056 part/models.py:2055 #: report/templates/report/inventree_test_report_base.html:91 -#: templates/js/translated/stock.js:1690 +#: templates/js/translated/stock.js:1669 msgid "User" -msgstr "" +msgstr "Utente" #: InvenTree/models.py:79 msgid "upload date" -msgstr "" +msgstr "data caricamento" #: InvenTree/models.py:99 msgid "Filename must not be empty" -msgstr "" +msgstr "Il nome del file non deve essere vuoto" #: InvenTree/models.py:122 msgid "Invalid attachment directory" -msgstr "" +msgstr "Directory allegati non valida" #: InvenTree/models.py:132 #, python-brace-format msgid "Filename contains illegal character '{c}'" -msgstr "" +msgstr "Il nome del file contiene caratteri non validi '{c}'" #: InvenTree/models.py:135 msgid "Filename missing extension" -msgstr "" +msgstr "Nome file estensione mancante" #: InvenTree/models.py:142 msgid "Attachment with this filename already exists" -msgstr "" +msgstr "Esiste già un allegato con questo nome di file" #: InvenTree/models.py:149 msgid "Error renaming file" -msgstr "" +msgstr "Errore nella rinominazione del file" #: InvenTree/models.py:184 msgid "Invalid choice" -msgstr "" +msgstr "Scelta non valida" -#: InvenTree/models.py:200 InvenTree/models.py:201 company/models.py:414 -#: label/models.py:112 part/models.py:658 part/models.py:2212 +#: InvenTree/models.py:200 InvenTree/models.py:201 company/models.py:415 +#: label/models.py:112 part/models.py:659 part/models.py:2216 #: part/templates/part/part_base.html:241 report/models.py:181 -#: templates/InvenTree/search.html:137 templates/InvenTree/search.html:289 -#: templates/js/translated/company.js:636 templates/js/translated/part.js:466 -#: templates/js/translated/part.js:603 templates/js/translated/part.js:1130 -#: templates/js/translated/stock.js:1483 +#: templates/js/translated/company.js:637 templates/js/translated/part.js:477 +#: templates/js/translated/part.js:614 templates/js/translated/part.js:1141 +#: templates/js/translated/stock.js:1462 msgid "Name" -msgstr "" +msgstr "Nome" -#: InvenTree/models.py:207 build/models.py:187 -#: build/templates/build/detail.html:24 company/models.py:353 -#: company/models.py:569 company/templates/company/manufacturer_part.html:76 +#: InvenTree/models.py:207 build/models.py:189 +#: build/templates/build/detail.html:24 company/models.py:354 +#: company/models.py:570 company/templates/company/manufacturer_part.html:76 #: company/templates/company/supplier_part.html:75 label/models.py:119 -#: order/models.py:158 part/models.py:681 +#: order/models.py:158 part/models.py:682 #: part/templates/part/part_base.html:246 #: part/templates/part/set_category.html:14 report/models.py:194 #: report/models.py:551 report/models.py:590 #: report/templates/report/inventree_build_order_base.html:118 -#: templates/InvenTree/search.html:144 templates/InvenTree/search.html:224 -#: templates/InvenTree/search.html:296 #: templates/InvenTree/settings/header.html:9 -#: templates/js/translated/bom.js:230 templates/js/translated/build.js:891 -#: templates/js/translated/build.js:1179 templates/js/translated/company.js:344 -#: templates/js/translated/company.js:546 -#: templates/js/translated/company.js:834 templates/js/translated/order.js:341 -#: templates/js/translated/order.js:486 templates/js/translated/order.js:710 -#: templates/js/translated/part.js:525 templates/js/translated/part.js:713 -#: templates/js/translated/part.js:902 templates/js/translated/part.js:1142 -#: templates/js/translated/part.js:1210 templates/js/translated/stock.js:840 -#: templates/js/translated/stock.js:1495 templates/js/translated/stock.js:1540 +#: templates/js/translated/bom.js:249 templates/js/translated/build.js:1217 +#: templates/js/translated/build.js:1505 templates/js/translated/company.js:344 +#: templates/js/translated/company.js:547 +#: templates/js/translated/company.js:836 templates/js/translated/order.js:672 +#: templates/js/translated/order.js:832 templates/js/translated/order.js:1056 +#: templates/js/translated/part.js:536 templates/js/translated/part.js:724 +#: templates/js/translated/part.js:913 templates/js/translated/part.js:1153 +#: templates/js/translated/part.js:1221 templates/js/translated/stock.js:819 +#: templates/js/translated/stock.js:1474 templates/js/translated/stock.js:1519 msgid "Description" -msgstr "" +msgstr "Descrizione" #: InvenTree/models.py:208 msgid "Description (optional)" -msgstr "" +msgstr "Descrizione (opzionale)" #: InvenTree/models.py:216 msgid "parent" -msgstr "" +msgstr "genitore" -#: InvenTree/serializers.py:55 part/models.py:2454 +#: InvenTree/serializers.py:55 part/models.py:2475 msgid "Must be a valid number" -msgstr "" +msgstr "Deve essere un numero valido" #: InvenTree/serializers.py:244 msgid "Filename" -msgstr "" +msgstr "Nome del file" -#: InvenTree/settings.py:523 +#: InvenTree/settings.py:529 msgid "German" msgstr "Tedesco" -#: InvenTree/settings.py:524 +#: InvenTree/settings.py:530 msgid "Greek" msgstr "Greco" -#: InvenTree/settings.py:525 +#: InvenTree/settings.py:531 msgid "English" msgstr "Inglese" -#: InvenTree/settings.py:526 +#: InvenTree/settings.py:532 msgid "Spanish" msgstr "Spagnolo" -#: InvenTree/settings.py:527 +#: InvenTree/settings.py:533 msgid "French" msgstr "Francese" -#: InvenTree/settings.py:528 +#: InvenTree/settings.py:534 msgid "Hebrew" msgstr "Ebraico" -#: InvenTree/settings.py:529 +#: InvenTree/settings.py:535 msgid "Italian" msgstr "Italiano" -#: InvenTree/settings.py:530 +#: InvenTree/settings.py:536 msgid "Japanese" msgstr "Giapponese" -#: InvenTree/settings.py:531 +#: InvenTree/settings.py:537 msgid "Korean" msgstr "Coreano" -#: InvenTree/settings.py:532 +#: InvenTree/settings.py:538 msgid "Dutch" msgstr "Olandese" -#: InvenTree/settings.py:533 +#: InvenTree/settings.py:539 msgid "Norwegian" msgstr "Norvegese" -#: InvenTree/settings.py:534 +#: InvenTree/settings.py:540 msgid "Polish" msgstr "Polacco" -#: InvenTree/settings.py:535 +#: InvenTree/settings.py:541 msgid "Russian" msgstr "Russo" -#: InvenTree/settings.py:536 +#: InvenTree/settings.py:542 msgid "Swedish" msgstr "Svedese" -#: InvenTree/settings.py:537 +#: InvenTree/settings.py:543 msgid "Thai" msgstr "Thailandese" -#: InvenTree/settings.py:538 +#: InvenTree/settings.py:544 msgid "Turkish" msgstr "Turco" -#: InvenTree/settings.py:539 +#: InvenTree/settings.py:545 msgid "Vietnamese" msgstr "Vietnamita" -#: InvenTree/settings.py:540 +#: InvenTree/settings.py:546 msgid "Chinese" msgstr "Cinese" #: InvenTree/status.py:94 msgid "Background worker check failed" -msgstr "" +msgstr "Controllo in background non riuscito" #: InvenTree/status.py:98 msgid "Email backend not configured" -msgstr "" +msgstr "Server di posta non configurato" #: InvenTree/status.py:101 msgid "InvenTree system health checks failed" -msgstr "" +msgstr "Controlli di sistema InvenTree falliti" #: InvenTree/status_codes.py:104 InvenTree/status_codes.py:145 #: InvenTree/status_codes.py:314 @@ -299,7 +309,7 @@ msgstr "In attesa" #: InvenTree/status_codes.py:105 msgid "Placed" -msgstr "" +msgstr "Inviato" #: InvenTree/status_codes.py:106 InvenTree/status_codes.py:317 msgid "Complete" @@ -321,7 +331,7 @@ msgid "Returned" msgstr "Reso" #: InvenTree/status_codes.py:146 -#: order/templates/order/sales_order_base.html:126 +#: order/templates/order/sales_order_base.html:131 msgid "Shipped" msgstr "Spedito" @@ -331,107 +341,107 @@ msgstr "OK" #: InvenTree/status_codes.py:187 msgid "Attention needed" -msgstr "" +msgstr "Attenzione necessaria" #: InvenTree/status_codes.py:188 msgid "Damaged" -msgstr "" +msgstr "Danneggiato" #: InvenTree/status_codes.py:189 msgid "Destroyed" -msgstr "" +msgstr "Distrutto" #: InvenTree/status_codes.py:191 msgid "Rejected" -msgstr "" +msgstr "Respinto" #: InvenTree/status_codes.py:272 msgid "Legacy stock tracking entry" -msgstr "" +msgstr "Voce di tracciamento stock preesistente" #: InvenTree/status_codes.py:274 msgid "Stock item created" -msgstr "" +msgstr "Elemento stock creato" #: InvenTree/status_codes.py:276 msgid "Edited stock item" -msgstr "" +msgstr "Elemento stock modificato" #: InvenTree/status_codes.py:277 msgid "Assigned serial number" -msgstr "" +msgstr "Numero di serie assegnato" #: InvenTree/status_codes.py:279 msgid "Stock counted" -msgstr "" +msgstr "Stock contato" #: InvenTree/status_codes.py:280 msgid "Stock manually added" -msgstr "" +msgstr "Stock aggiunto manualmente" #: InvenTree/status_codes.py:281 msgid "Stock manually removed" -msgstr "" +msgstr "Stock rimosso manualmente" #: InvenTree/status_codes.py:283 msgid "Location changed" -msgstr "" +msgstr "Posizione cambiata" #: InvenTree/status_codes.py:285 msgid "Installed into assembly" -msgstr "" +msgstr "Installato nell'assemblaggio" #: InvenTree/status_codes.py:286 msgid "Removed from assembly" -msgstr "" +msgstr "Rimosso dall'assemblaggio" #: InvenTree/status_codes.py:288 msgid "Installed component item" -msgstr "" +msgstr "Componente installato" #: InvenTree/status_codes.py:289 msgid "Removed component item" -msgstr "" +msgstr "Elemento componente rimosso" #: InvenTree/status_codes.py:291 msgid "Split from parent item" -msgstr "" +msgstr "Diviso dall'elemento genitore" #: InvenTree/status_codes.py:292 msgid "Split child item" -msgstr "" +msgstr "Dividi elemento figlio" #: InvenTree/status_codes.py:294 templates/js/translated/table_filters.js:186 msgid "Sent to customer" -msgstr "" +msgstr "Inviato al cliente" #: InvenTree/status_codes.py:295 msgid "Returned from customer" -msgstr "" +msgstr "Restituito dal cliente" #: InvenTree/status_codes.py:297 msgid "Build order output created" -msgstr "" +msgstr "Genera l'output dell'ordine creato" #: InvenTree/status_codes.py:298 msgid "Build order output completed" -msgstr "" +msgstr "Build order output completato" #: InvenTree/status_codes.py:300 msgid "Received against purchase order" -msgstr "" +msgstr "Ricevuto contro l'ordine di acquisto" #: InvenTree/status_codes.py:315 msgid "Production" -msgstr "" +msgstr "Produzione" #: InvenTree/validators.py:22 msgid "Not a valid currency code" -msgstr "" +msgstr "Non è un codice valuta valido" #: InvenTree/validators.py:50 msgid "Invalid character in part name" -msgstr "" +msgstr "Carattere non valido nel nome del file" #: InvenTree/validators.py:63 #, python-brace-format @@ -461,27 +471,27 @@ msgstr "" msgid "Overage must be an integer value or a percentage" msgstr "" -#: InvenTree/views.py:610 +#: InvenTree/views.py:616 msgid "Delete Item" msgstr "" -#: InvenTree/views.py:659 +#: InvenTree/views.py:665 msgid "Check box to confirm item deletion" msgstr "" -#: InvenTree/views.py:674 templates/InvenTree/settings/user.html:14 +#: InvenTree/views.py:680 templates/InvenTree/settings/user.html:18 msgid "Edit User Information" msgstr "" -#: InvenTree/views.py:685 templates/InvenTree/settings/user.html:18 +#: InvenTree/views.py:691 templates/InvenTree/settings/user.html:22 msgid "Set Password" msgstr "" -#: InvenTree/views.py:704 +#: InvenTree/views.py:710 msgid "Password fields must match" msgstr "" -#: InvenTree/views.py:910 templates/navbar.html:105 +#: InvenTree/views.py:954 templates/navbar.html:97 msgid "System Information" msgstr "" @@ -525,6 +535,10 @@ msgstr "" msgid "Barcode associated with StockItem" msgstr "" +#: build/api.py:213 +msgid "Matching build order does not exist" +msgstr "" + #: build/forms.py:37 msgid "Build Order reference" msgstr "" @@ -536,33 +550,28 @@ msgstr "" #: build/forms.py:42 build/templates/build/build_base.html:146 #: build/templates/build/detail.html:124 #: order/templates/order/order_base.html:124 -#: order/templates/order/sales_order_base.html:119 +#: order/templates/order/sales_order_base.html:124 #: report/templates/report/inventree_build_order_base.html:126 -#: templates/js/translated/build.js:962 templates/js/translated/order.js:358 -#: templates/js/translated/order.js:728 +#: templates/js/translated/build.js:1288 templates/js/translated/order.js:689 +#: templates/js/translated/order.js:1074 msgid "Target Date" msgstr "" -#: build/forms.py:43 build/models.py:277 +#: build/forms.py:43 build/models.py:279 msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/forms.py:48 build/forms.py:90 build/forms.py:266 build/models.py:1402 +#: build/forms.py:48 build/forms.py:90 build/models.py:1281 #: build/templates/build/allocation_card.html:23 -#: build/templates/build/auto_allocate.html:17 #: build/templates/build/build_base.html:133 -#: build/templates/build/detail.html:34 common/models.py:1025 +#: build/templates/build/detail.html:34 common/models.py:1087 #: company/forms.py:42 company/templates/company/supplier_part.html:226 -#: order/forms.py:120 order/forms.py:142 order/forms.py:159 order/models.py:712 -#: order/models.py:964 order/templates/order/order_wizard/match_parts.html:30 -#: order/templates/order/order_wizard/select_parts.html:34 -#: order/templates/order/sales_order_detail.html:201 -#: order/templates/order/sales_order_detail.html:208 -#: order/templates/order/sales_order_detail.html:293 -#: order/templates/order/sales_order_detail.html:365 part/forms.py:249 -#: part/forms.py:265 part/forms.py:281 part/models.py:2356 +#: order/forms.py:101 order/forms.py:123 order/models.py:720 +#: order/models.py:982 order/templates/order/order_wizard/match_parts.html:30 +#: order/templates/order/order_wizard/select_parts.html:34 part/forms.py:249 +#: part/forms.py:265 part/forms.py:281 part/models.py:2377 #: part/templates/part/bom_upload/match_parts.html:31 -#: part/templates/part/detail.html:973 part/templates/part/detail.html:1059 +#: part/templates/part/detail.html:944 part/templates/part/detail.html:1030 #: part/templates/part/part_pricing.html:16 #: report/templates/report/inventree_build_order_base.html:114 #: report/templates/report/inventree_po_report.html:91 @@ -570,14 +579,16 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:77 #: stock/forms.py:140 stock/templates/stock/item_base.html:269 #: stock/templates/stock/stock_adjust.html:18 -#: templates/js/translated/barcode.js:386 templates/js/translated/bom.js:245 -#: templates/js/translated/build.js:298 templates/js/translated/build.js:629 -#: templates/js/translated/build.js:1189 -#: templates/js/translated/model_renderers.js:59 -#: templates/js/translated/order.js:522 templates/js/translated/order.js:824 -#: templates/js/translated/part.js:1317 templates/js/translated/part.js:1440 -#: templates/js/translated/part.js:1518 templates/js/translated/stock.js:1675 -#: templates/js/translated/stock.js:1850 +#: templates/js/translated/barcode.js:386 templates/js/translated/bom.js:264 +#: templates/js/translated/build.js:314 templates/js/translated/build.js:638 +#: templates/js/translated/build.js:977 templates/js/translated/build.js:1515 +#: templates/js/translated/model_renderers.js:74 +#: templates/js/translated/order.js:868 templates/js/translated/order.js:1170 +#: templates/js/translated/order.js:1248 templates/js/translated/order.js:1255 +#: templates/js/translated/order.js:1344 templates/js/translated/order.js:1444 +#: templates/js/translated/part.js:1364 templates/js/translated/part.js:1487 +#: templates/js/translated/part.js:1565 templates/js/translated/stock.js:1654 +#: templates/js/translated/stock.js:1829 msgid "Quantity" msgstr "Quantità" @@ -589,7 +600,7 @@ msgstr "" msgid "Enter quantity for build output" msgstr "" -#: build/forms.py:95 order/forms.py:114 stock/forms.py:83 +#: build/forms.py:95 order/forms.py:95 stock/forms.py:83 msgid "Serial Numbers" msgstr "" @@ -609,246 +620,238 @@ msgstr "" msgid "Confirm unallocation of stock" msgstr "" -#: build/forms.py:169 -msgid "Confirm stock allocation" -msgstr "" - -#: build/forms.py:186 +#: build/forms.py:174 msgid "Mark build as complete" msgstr "" -#: build/forms.py:210 build/templates/build/auto_allocate.html:18 -#: order/serializers.py:216 order/serializers.py:275 stock/forms.py:280 +#: build/forms.py:198 order/serializers.py:217 order/serializers.py:284 +#: stock/forms.py:280 stock/serializers.py:553 #: stock/templates/stock/item_base.html:299 #: stock/templates/stock/stock_adjust.html:17 -#: templates/InvenTree/search.html:260 templates/js/translated/barcode.js:385 -#: templates/js/translated/barcode.js:555 templates/js/translated/build.js:283 -#: templates/js/translated/build.js:643 templates/js/translated/order.js:809 -#: templates/js/translated/part.js:174 templates/js/translated/stock.js:203 -#: templates/js/translated/stock.js:329 templates/js/translated/stock.js:942 -#: templates/js/translated/stock.js:1567 +#: templates/js/translated/barcode.js:385 +#: templates/js/translated/barcode.js:555 templates/js/translated/build.js:299 +#: templates/js/translated/build.js:650 templates/js/translated/order.js:347 +#: templates/js/translated/order.js:1155 templates/js/translated/order.js:1263 +#: templates/js/translated/order.js:1269 templates/js/translated/part.js:179 +#: templates/js/translated/stock.js:183 templates/js/translated/stock.js:921 +#: templates/js/translated/stock.js:1546 msgid "Location" msgstr "" -#: build/forms.py:211 +#: build/forms.py:199 msgid "Location of completed parts" msgstr "" -#: build/forms.py:215 build/templates/build/build_base.html:138 -#: build/templates/build/detail.html:62 order/models.py:555 -#: order/serializers.py:230 order/templates/order/receive_parts.html:24 -#: stock/templates/stock/item_base.html:422 templates/InvenTree/search.html:252 -#: templates/js/translated/barcode.js:141 templates/js/translated/build.js:925 -#: templates/js/translated/order.js:345 templates/js/translated/order.js:715 -#: templates/js/translated/stock.js:917 templates/js/translated/stock.js:1644 -#: templates/js/translated/stock.js:1866 +#: build/forms.py:203 build/templates/build/build_base.html:138 +#: build/templates/build/detail.html:62 order/models.py:563 +#: order/serializers.py:238 stock/templates/stock/item_base.html:422 +#: templates/js/translated/barcode.js:141 templates/js/translated/build.js:1251 +#: templates/js/translated/order.js:430 templates/js/translated/order.js:676 +#: templates/js/translated/order.js:1061 templates/js/translated/stock.js:896 +#: templates/js/translated/stock.js:1623 templates/js/translated/stock.js:1845 msgid "Status" msgstr "" -#: build/forms.py:216 +#: build/forms.py:204 msgid "Build output stock status" msgstr "" -#: build/forms.py:223 +#: build/forms.py:211 msgid "Confirm incomplete" msgstr "" -#: build/forms.py:224 +#: build/forms.py:212 msgid "Confirm completion with incomplete stock allocation" msgstr "" -#: build/forms.py:227 +#: build/forms.py:215 msgid "Confirm build completion" msgstr "" -#: build/forms.py:252 +#: build/forms.py:240 msgid "Confirm cancel" msgstr "" -#: build/forms.py:252 build/views.py:65 +#: build/forms.py:240 build/views.py:65 msgid "Confirm build cancellation" msgstr "" -#: build/forms.py:266 -msgid "Select quantity of stock to allocate" -msgstr "" - -#: build/models.py:113 +#: build/models.py:115 msgid "Invalid choice for parent build" msgstr "" -#: build/models.py:117 build/templates/build/build_base.html:9 +#: build/models.py:119 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:73 #: report/templates/report/inventree_build_order_base.html:106 -#: templates/js/translated/build.js:260 +#: templates/js/translated/build.js:276 msgid "Build Order" msgstr "" -#: build/models.py:118 build/templates/build/index.html:8 +#: build/models.py:120 build/templates/build/index.html:8 #: build/templates/build/index.html:15 #: order/templates/order/sales_order_detail.html:34 #: order/templates/order/so_navbar.html:19 #: order/templates/order/so_navbar.html:22 part/templates/part/navbar.html:50 #: part/templates/part/navbar.html:53 templates/InvenTree/index.html:229 -#: templates/InvenTree/search.html:185 -#: templates/InvenTree/settings/navbar.html:101 -#: templates/InvenTree/settings/navbar.html:103 users/models.py:44 +#: templates/InvenTree/search.html:171 +#: templates/InvenTree/settings/navbar.html:113 +#: templates/InvenTree/settings/navbar.html:115 users/models.py:44 msgid "Build Orders" msgstr "" -#: build/models.py:178 +#: build/models.py:180 msgid "Build Order Reference" msgstr "" -#: build/models.py:179 order/models.py:246 order/models.py:539 -#: order/models.py:719 order/templates/order/sales_order_detail.html:360 -#: part/models.py:2365 part/templates/part/bom_upload/match_parts.html:30 +#: build/models.py:181 order/models.py:246 order/models.py:547 +#: order/models.py:727 part/models.py:2386 +#: part/templates/part/bom_upload/match_parts.html:30 #: report/templates/report/inventree_po_report.html:92 #: report/templates/report/inventree_so_report.html:92 -#: templates/js/translated/bom.js:237 templates/js/translated/build.js:718 -#: templates/js/translated/build.js:1183 templates/js/translated/order.js:517 +#: templates/js/translated/bom.js:256 templates/js/translated/build.js:734 +#: templates/js/translated/build.js:1509 templates/js/translated/order.js:863 +#: templates/js/translated/order.js:1438 msgid "Reference" msgstr "" -#: build/models.py:190 +#: build/models.py:192 msgid "Brief description of the build" msgstr "" -#: build/models.py:199 build/templates/build/build_base.html:163 +#: build/models.py:201 build/templates/build/build_base.html:163 #: build/templates/build/detail.html:80 msgid "Parent Build" msgstr "" -#: build/models.py:200 +#: build/models.py:202 msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:205 build/templates/build/auto_allocate.html:16 -#: build/templates/build/build_base.html:128 -#: build/templates/build/detail.html:29 company/models.py:704 -#: order/models.py:772 order/models.py:837 -#: order/templates/order/order_wizard/select_parts.html:32 -#: order/templates/order/receive_parts.html:19 -#: order/templates/order/sales_order_detail.html:345 part/models.py:297 -#: part/models.py:1996 part/models.py:2012 part/models.py:2031 -#: part/models.py:2049 part/models.py:2128 part/models.py:2250 -#: part/models.py:2340 part/templates/part/detail.html:199 +#: build/models.py:207 build/templates/build/build_base.html:128 +#: build/templates/build/detail.html:29 company/models.py:705 +#: order/models.py:780 order/models.py:851 +#: order/templates/order/order_wizard/select_parts.html:32 part/models.py:298 +#: part/models.py:2000 part/models.py:2016 part/models.py:2035 +#: part/models.py:2053 part/models.py:2132 part/models.py:2254 +#: part/models.py:2361 part/templates/part/detail.html:199 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/set_category.html:13 #: report/templates/report/inventree_build_order_base.html:110 #: report/templates/report/inventree_po_report.html:90 #: report/templates/report/inventree_so_report.html:90 -#: templates/InvenTree/search.html:112 templates/InvenTree/search.html:210 -#: templates/js/translated/barcode.js:384 templates/js/translated/bom.js:203 -#: templates/js/translated/build.js:609 templates/js/translated/build.js:896 -#: templates/js/translated/build.js:1156 templates/js/translated/company.js:487 -#: templates/js/translated/company.js:743 templates/js/translated/order.js:471 -#: templates/js/translated/part.js:694 templates/js/translated/part.js:864 -#: templates/js/translated/stock.js:201 templates/js/translated/stock.js:797 -#: templates/js/translated/stock.js:1838 +#: templates/InvenTree/search.html:112 templates/js/translated/barcode.js:384 +#: templates/js/translated/bom.js:222 templates/js/translated/build.js:611 +#: templates/js/translated/build.js:974 templates/js/translated/build.js:1222 +#: templates/js/translated/build.js:1482 templates/js/translated/company.js:488 +#: templates/js/translated/company.js:745 templates/js/translated/order.js:425 +#: templates/js/translated/order.js:817 templates/js/translated/order.js:1422 +#: templates/js/translated/part.js:705 templates/js/translated/part.js:875 +#: templates/js/translated/stock.js:181 templates/js/translated/stock.js:776 +#: templates/js/translated/stock.js:1817 msgid "Part" msgstr "" -#: build/models.py:213 +#: build/models.py:215 msgid "Select part to build" msgstr "" -#: build/models.py:218 +#: build/models.py:220 msgid "Sales Order Reference" msgstr "" -#: build/models.py:222 +#: build/models.py:224 msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:227 +#: build/models.py:229 templates/js/translated/build.js:962 msgid "Source Location" msgstr "" -#: build/models.py:231 +#: build/models.py:233 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "" -#: build/models.py:236 +#: build/models.py:238 msgid "Destination Location" msgstr "" -#: build/models.py:240 +#: build/models.py:242 msgid "Select location where the completed items will be stored" msgstr "" -#: build/models.py:244 +#: build/models.py:246 msgid "Build Quantity" msgstr "" -#: build/models.py:247 +#: build/models.py:249 msgid "Number of stock items to build" msgstr "" -#: build/models.py:251 +#: build/models.py:253 msgid "Completed items" msgstr "" -#: build/models.py:253 +#: build/models.py:255 msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:257 part/templates/part/part_base.html:198 +#: build/models.py:259 part/templates/part/part_base.html:198 msgid "Build Status" msgstr "" -#: build/models.py:261 +#: build/models.py:263 msgid "Build status code" msgstr "" -#: build/models.py:265 stock/models.py:513 +#: build/models.py:267 stock/models.py:513 msgid "Batch Code" msgstr "" -#: build/models.py:269 +#: build/models.py:271 msgid "Batch code for this build output" msgstr "" -#: build/models.py:272 order/models.py:162 part/models.py:853 -#: part/templates/part/part_base.html:272 templates/js/translated/order.js:723 +#: build/models.py:274 order/models.py:162 part/models.py:854 +#: part/templates/part/part_base.html:272 templates/js/translated/order.js:1069 msgid "Creation Date" msgstr "" -#: build/models.py:276 order/models.py:561 +#: build/models.py:278 order/models.py:569 msgid "Target completion date" msgstr "" -#: build/models.py:280 order/models.py:288 templates/js/translated/build.js:967 +#: build/models.py:282 order/models.py:288 +#: templates/js/translated/build.js:1293 msgid "Completion Date" msgstr "" -#: build/models.py:286 +#: build/models.py:288 msgid "completed by" msgstr "" -#: build/models.py:294 templates/js/translated/build.js:938 +#: build/models.py:296 templates/js/translated/build.js:1264 msgid "Issued by" msgstr "" -#: build/models.py:295 +#: build/models.py:297 msgid "User who issued this build order" msgstr "" -#: build/models.py:303 build/templates/build/build_base.html:184 +#: build/models.py:305 build/templates/build/build_base.html:184 #: build/templates/build/detail.html:108 order/models.py:176 #: order/templates/order/order_base.html:138 -#: order/templates/order/sales_order_base.html:140 part/models.py:857 +#: order/templates/order/sales_order_base.html:145 part/models.py:858 #: report/templates/report/inventree_build_order_base.html:159 -#: templates/js/translated/build.js:950 +#: templates/js/translated/build.js:1276 msgid "Responsible" msgstr "" -#: build/models.py:304 +#: build/models.py:306 msgid "User responsible for this build order" msgstr "" -#: build/models.py:309 build/templates/build/detail.html:94 +#: build/models.py:311 build/templates/build/detail.html:94 #: company/templates/company/manufacturer_part.html:83 #: company/templates/company/supplier_part.html:82 #: part/templates/part/part_base.html:266 stock/models.py:507 @@ -856,140 +859,157 @@ msgstr "" msgid "External Link" msgstr "" -#: build/models.py:310 part/models.py:715 stock/models.py:509 +#: build/models.py:312 part/models.py:716 stock/models.py:509 msgid "Link to external URL" msgstr "" -#: build/models.py:314 build/templates/build/navbar.html:52 -#: company/models.py:141 company/models.py:576 +#: build/models.py:316 build/templates/build/navbar.html:52 +#: company/models.py:142 company/models.py:577 #: company/templates/company/navbar.html:69 #: company/templates/company/navbar.html:72 order/models.py:180 -#: order/models.py:721 order/templates/order/po_navbar.html:38 +#: order/models.py:729 order/templates/order/po_navbar.html:38 #: order/templates/order/po_navbar.html:41 -#: order/templates/order/sales_order_detail.html:440 #: order/templates/order/so_navbar.html:33 -#: order/templates/order/so_navbar.html:36 part/models.py:842 +#: order/templates/order/so_navbar.html:36 part/models.py:843 #: part/templates/part/detail.html:105 part/templates/part/navbar.html:120 #: part/templates/part/navbar.html:123 #: report/templates/report/inventree_build_order_base.html:173 #: stock/forms.py:138 stock/forms.py:250 stock/forms.py:282 stock/models.py:579 -#: stock/models.py:1726 stock/models.py:1832 +#: stock/models.py:1723 stock/models.py:1829 stock/serializers.py:451 #: stock/templates/stock/navbar.html:57 templates/js/translated/barcode.js:59 -#: templates/js/translated/bom.js:385 templates/js/translated/company.js:839 -#: templates/js/translated/order.js:604 templates/js/translated/stock.js:338 -#: templates/js/translated/stock.js:580 templates/js/translated/stock.js:1061 +#: templates/js/translated/bom.js:406 templates/js/translated/company.js:841 +#: templates/js/translated/order.js:950 templates/js/translated/order.js:1540 +#: templates/js/translated/stock.js:559 templates/js/translated/stock.js:1040 msgid "Notes" msgstr "" -#: build/models.py:315 +#: build/models.py:317 msgid "Extra build notes" msgstr "" -#: build/models.py:792 +#: build/models.py:714 msgid "No build output specified" msgstr "" -#: build/models.py:795 +#: build/models.py:717 msgid "Build output is already completed" msgstr "" -#: build/models.py:798 +#: build/models.py:720 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:1208 -msgid "BuildItem must be unique for build, stock_item and install_into" -msgstr "" - -#: build/models.py:1233 +#: build/models.py:1102 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1237 +#: build/models.py:1111 #, python-brace-format -msgid "Allocated quantity ({n}) must not exceed available quantity ({q})" +msgid "Allocated quantity ({q}) must not execed available stock quantity ({a})" msgstr "" -#: build/models.py:1244 order/models.py:938 -msgid "StockItem is over-allocated" +#: build/models.py:1121 +msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1248 order/models.py:941 +#: build/models.py:1127 order/models.py:955 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1252 +#: build/models.py:1133 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1312 -#, python-brace-format -msgid "Selected stock item not found in BOM for part '{p}'" +#: build/models.py:1191 +msgid "Selected stock item not found in BOM" msgstr "" -#: build/models.py:1372 stock/templates/stock/item_base.html:331 -#: templates/InvenTree/search.html:183 templates/js/translated/build.js:869 +#: build/models.py:1251 stock/templates/stock/item_base.html:331 +#: templates/InvenTree/search.html:169 templates/js/translated/build.js:1195 #: templates/navbar.html:35 msgid "Build" msgstr "" -#: build/models.py:1373 +#: build/models.py:1252 msgid "Build to allocate parts" msgstr "" -#: build/models.py:1389 stock/templates/stock/item_base.html:8 +#: build/models.py:1268 build/serializers.py:151 +#: stock/templates/stock/item_base.html:8 #: stock/templates/stock/item_base.html:31 #: stock/templates/stock/item_base.html:353 #: stock/templates/stock/stock_adjust.html:16 -#: templates/js/translated/build.js:271 templates/js/translated/build.js:276 -#: templates/js/translated/build.js:1012 templates/js/translated/order.js:797 -#: templates/js/translated/order.js:802 templates/js/translated/stock.js:1626 +#: templates/js/translated/build.js:287 templates/js/translated/build.js:292 +#: templates/js/translated/build.js:976 templates/js/translated/build.js:1338 +#: templates/js/translated/order.js:1143 templates/js/translated/order.js:1148 +#: templates/js/translated/stock.js:1605 msgid "Stock Item" msgstr "" -#: build/models.py:1390 +#: build/models.py:1269 msgid "Source stock item" msgstr "" -#: build/models.py:1403 +#: build/models.py:1282 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1411 +#: build/models.py:1290 msgid "Install into" msgstr "" -#: build/models.py:1412 +#: build/models.py:1291 msgid "Destination stock item" msgstr "" +#: build/serializers.py:133 part/models.py:2501 +msgid "BOM Item" +msgstr "" + +#: build/serializers.py:142 +msgid "bom_item.part must point to the same part as the build order" +msgstr "" + +#: build/serializers.py:157 +msgid "Item must be in stock" +msgstr "" + +#: build/serializers.py:171 order/models.py:313 order/serializers.py:231 +#: stock/models.py:351 stock/models.py:1072 +msgid "Quantity must be greater than zero" +msgstr "" + +#: build/serializers.py:180 +msgid "Build Output" +msgstr "" + +#: build/serializers.py:213 +#, python-brace-format +msgid "Available quantity ({q}) exceeded" +msgstr "" + +#: build/serializers.py:219 +msgid "Build output must be specified for allocation of tracked parts" +msgstr "" + +#: build/serializers.py:226 +msgid "Build output cannot be specified for allocation of untracked parts" +msgstr "" + +#: build/serializers.py:254 +msgid "Allocation items must be provided" +msgstr "" + #: build/templates/build/allocation_card.html:21 #: build/templates/build/complete_output.html:46 -#: order/templates/order/sales_order_detail.html:206 -#: order/templates/order/sales_order_detail.html:291 #: report/templates/report/inventree_test_report_base.html:75 #: stock/models.py:501 stock/templates/stock/item_base.html:251 -#: templates/js/translated/build.js:627 -#: templates/js/translated/model_renderers.js:57 +#: templates/js/translated/build.js:636 +#: templates/js/translated/model_renderers.js:72 +#: templates/js/translated/order.js:1253 templates/js/translated/order.js:1342 msgid "Serial Number" msgstr "" -#: build/templates/build/auto_allocate.html:9 -msgid "Automatically Allocate Stock" -msgstr "" - -#: build/templates/build/auto_allocate.html:10 -msgid "The following stock items will be allocated to the specified build output" -msgstr "" - -#: build/templates/build/auto_allocate.html:37 -msgid "No stock items found that can be automatically allocated to this build" -msgstr "" - -#: build/templates/build/auto_allocate.html:39 -msgid "Stock items will have to be manually allocated" -msgstr "" - #: build/templates/build/build_base.html:18 #, python-format msgid "This Build Order is allocated to Sales Order %(link)s" @@ -1033,10 +1053,10 @@ msgstr "" #: order/templates/order/order_base.html:32 #: order/templates/order/order_base.html:86 #: order/templates/order/sales_order_base.html:43 -#: order/templates/order/sales_order_base.html:88 +#: order/templates/order/sales_order_base.html:93 #: templates/js/translated/table_filters.js:272 -#: templates/js/translated/table_filters.js:291 -#: templates/js/translated/table_filters.js:308 +#: templates/js/translated/table_filters.js:300 +#: templates/js/translated/table_filters.js:317 msgid "Overdue" msgstr "" @@ -1086,14 +1106,14 @@ msgid "Progress" msgstr "" #: build/templates/build/build_base.html:170 -#: build/templates/build/detail.html:87 order/models.py:835 +#: build/templates/build/detail.html:87 order/models.py:848 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:35 #: order/templates/order/sales_order_ship.html:25 #: report/templates/report/inventree_build_order_base.html:136 #: report/templates/report/inventree_so_report.html:77 #: stock/templates/stock/item_base.html:293 -#: templates/js/translated/order.js:670 +#: templates/js/translated/order.js:1016 msgid "Sales Order" msgstr "" @@ -1171,28 +1191,6 @@ msgstr "" msgid "The following items will be created" msgstr "" -#: build/templates/build/create_build_item.html:7 -msgid "Select a stock item to allocate to the selected build output" -msgstr "" - -#: build/templates/build/create_build_item.html:11 -#, python-format -msgid "The allocated stock will be installed into the following build output:
%(output)s" -msgstr "" - -#: build/templates/build/create_build_item.html:17 -#, python-format -msgid "No stock available for %(part)s" -msgstr "" - -#: build/templates/build/delete_build_item.html:8 -msgid "Are you sure you want to unallocate this stock?" -msgstr "" - -#: build/templates/build/delete_build_item.html:11 -msgid "The selected stock will be unallocated from the build output" -msgstr "" - #: build/templates/build/detail.html:38 msgid "Stock Source" msgstr "" @@ -1201,9 +1199,8 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/forms.py:88 order/models.py:794 -#: order/templates/order/receive_parts.html:25 stock/forms.py:134 -#: templates/js/translated/order.js:593 +#: build/templates/build/detail.html:49 order/models.py:802 stock/forms.py:134 +#: templates/js/translated/order.js:431 templates/js/translated/order.js:939 msgid "Destination" msgstr "" @@ -1213,7 +1210,7 @@ msgstr "" #: build/templates/build/detail.html:73 #: stock/templates/stock/item_base.html:317 -#: templates/js/translated/stock.js:931 templates/js/translated/stock.js:1873 +#: templates/js/translated/stock.js:910 templates/js/translated/stock.js:1852 #: templates/js/translated/table_filters.js:129 #: templates/js/translated/table_filters.js:211 msgid "Batch" @@ -1221,8 +1218,8 @@ msgstr "" #: build/templates/build/detail.html:119 #: order/templates/order/order_base.html:111 -#: order/templates/order/sales_order_base.html:113 -#: templates/js/translated/build.js:933 +#: order/templates/order/sales_order_base.html:118 +#: templates/js/translated/build.js:1259 msgid "Created" msgstr "" @@ -1230,7 +1227,8 @@ msgstr "" msgid "No target date set" msgstr "" -#: build/templates/build/detail.html:135 templates/js/translated/build.js:911 +#: build/templates/build/detail.html:135 templates/js/translated/build.js:1237 +#: templates/js/translated/table_filters.js:282 msgid "Completed" msgstr "" @@ -1250,15 +1248,16 @@ msgstr "" msgid "Allocate stock to build" msgstr "" -#: build/templates/build/detail.html:173 -msgid "Auto Allocate" +#: build/templates/build/detail.html:173 build/templates/build/navbar.html:20 +#: build/templates/build/navbar.html:23 +msgid "Allocate Stock" msgstr "" -#: build/templates/build/detail.html:175 templates/js/translated/build.js:801 +#: build/templates/build/detail.html:175 templates/js/translated/build.js:817 msgid "Unallocate stock" msgstr "" -#: build/templates/build/detail.html:176 build/views.py:318 build/views.py:638 +#: build/templates/build/detail.html:176 build/views.py:257 msgid "Unallocate Stock" msgstr "" @@ -1268,7 +1267,7 @@ msgstr "" #: build/templates/build/detail.html:180 #: company/templates/company/detail.html:32 -#: company/templates/company/detail.html:72 order/views.py:679 +#: company/templates/company/detail.html:72 order/views.py:509 #: part/templates/part/category.html:140 msgid "Order Parts" msgstr "" @@ -1282,38 +1281,42 @@ msgid "Untracked stock has not been fully allocated for this Build Order" msgstr "" #: build/templates/build/detail.html:197 +msgid "Allocate selected items" +msgstr "" + +#: build/templates/build/detail.html:209 msgid "This Build Order does not have any associated untracked BOM items" msgstr "" -#: build/templates/build/detail.html:206 +#: build/templates/build/detail.html:218 msgid "Incomplete Build Outputs" msgstr "" -#: build/templates/build/detail.html:211 +#: build/templates/build/detail.html:223 msgid "Create new build output" msgstr "" -#: build/templates/build/detail.html:212 +#: build/templates/build/detail.html:224 msgid "Create New Output" msgstr "" -#: build/templates/build/detail.html:225 +#: build/templates/build/detail.html:237 msgid "Create a new build output" msgstr "" -#: build/templates/build/detail.html:226 +#: build/templates/build/detail.html:238 msgid "No incomplete build outputs remain." msgstr "" -#: build/templates/build/detail.html:227 +#: build/templates/build/detail.html:239 msgid "Create a new build output using the button above" msgstr "" -#: build/templates/build/detail.html:235 +#: build/templates/build/detail.html:247 msgid "Completed Build Outputs" msgstr "" -#: build/templates/build/detail.html:246 build/templates/build/navbar.html:42 +#: build/templates/build/detail.html:258 build/templates/build/navbar.html:42 #: build/templates/build/navbar.html:45 order/templates/order/po_navbar.html:35 #: order/templates/order/sales_order_detail.html:43 #: order/templates/order/so_navbar.html:29 part/templates/part/detail.html:173 @@ -1323,15 +1326,15 @@ msgstr "" msgid "Attachments" msgstr "" -#: build/templates/build/detail.html:257 +#: build/templates/build/detail.html:269 msgid "Build Notes" msgstr "" -#: build/templates/build/detail.html:261 build/templates/build/detail.html:398 +#: build/templates/build/detail.html:273 build/templates/build/detail.html:414 #: company/templates/company/detail.html:169 #: company/templates/company/detail.html:196 -#: order/templates/order/purchase_order_detail.html:62 -#: order/templates/order/purchase_order_detail.html:95 +#: order/templates/order/purchase_order_detail.html:71 +#: order/templates/order/purchase_order_detail.html:104 #: order/templates/order/sales_order_detail.html:58 #: order/templates/order/sales_order_detail.html:85 #: part/templates/part/detail.html:109 stock/templates/stock/item.html:103 @@ -1339,39 +1342,48 @@ msgstr "" msgid "Edit Notes" msgstr "" -#: build/templates/build/detail.html:357 +#: build/templates/build/detail.html:373 #: order/templates/order/po_attachments.html:79 -#: order/templates/order/purchase_order_detail.html:157 +#: order/templates/order/purchase_order_detail.html:166 #: order/templates/order/sales_order_detail.html:146 -#: part/templates/part/detail.html:920 stock/templates/stock/item.html:253 +#: part/templates/part/detail.html:891 stock/templates/stock/item.html:253 #: templates/attachment_table.html:6 msgid "Add Attachment" msgstr "" -#: build/templates/build/detail.html:376 +#: build/templates/build/detail.html:392 #: order/templates/order/po_attachments.html:51 -#: order/templates/order/purchase_order_detail.html:129 +#: order/templates/order/purchase_order_detail.html:138 #: order/templates/order/sales_order_detail.html:119 -#: part/templates/part/detail.html:874 stock/templates/stock/item.html:221 +#: part/templates/part/detail.html:845 stock/templates/stock/item.html:221 msgid "Edit Attachment" msgstr "" -#: build/templates/build/detail.html:383 +#: build/templates/build/detail.html:399 #: order/templates/order/po_attachments.html:58 -#: order/templates/order/purchase_order_detail.html:136 +#: order/templates/order/purchase_order_detail.html:145 #: order/templates/order/sales_order_detail.html:125 -#: part/templates/part/detail.html:883 stock/templates/stock/item.html:230 +#: part/templates/part/detail.html:854 stock/templates/stock/item.html:230 +#: templates/js/translated/order.js:1230 msgid "Confirm Delete Operation" msgstr "" -#: build/templates/build/detail.html:384 +#: build/templates/build/detail.html:400 #: order/templates/order/po_attachments.html:59 -#: order/templates/order/purchase_order_detail.html:137 +#: order/templates/order/purchase_order_detail.html:146 #: order/templates/order/sales_order_detail.html:126 -#: part/templates/part/detail.html:884 stock/templates/stock/item.html:231 +#: part/templates/part/detail.html:855 stock/templates/stock/item.html:231 msgid "Delete Attachment" msgstr "" +#: build/templates/build/detail.html:443 +msgid "Allocation Complete" +msgstr "" + +#: build/templates/build/detail.html:444 +msgid "All untracked stock items have been allocated" +msgstr "" + #: build/templates/build/edit_build_item.html:7 msgid "Alter the quantity of stock allocated to the build output" msgstr "" @@ -1401,15 +1413,10 @@ msgid "Build Order Details" msgstr "" #: build/templates/build/navbar.html:15 order/templates/order/po_navbar.html:15 -#: templates/js/translated/stock.js:1555 +#: templates/js/translated/stock.js:1534 msgid "Details" msgstr "" -#: build/templates/build/navbar.html:20 build/templates/build/navbar.html:23 -#: build/views.py:90 -msgid "Allocate Stock" -msgstr "" - #: build/templates/build/navbar.html:28 build/templates/build/navbar.html:31 msgid "Build Outputs" msgstr "" @@ -1434,120 +1441,82 @@ msgstr "" msgid "Build was cancelled" msgstr "" -#: build/views.py:137 -msgid "Allocated stock to build output" -msgstr "" - -#: build/views.py:149 +#: build/views.py:88 msgid "Create Build Output" msgstr "" -#: build/views.py:167 +#: build/views.py:106 msgid "Maximum output quantity is " msgstr "" -#: build/views.py:183 stock/views.py:1389 +#: build/views.py:122 stock/views.py:1366 msgid "Serial numbers already exist" msgstr "" -#: build/views.py:192 +#: build/views.py:131 msgid "Serial numbers required for trackable build output" msgstr "" -#: build/views.py:258 +#: build/views.py:197 msgid "Delete Build Output" msgstr "" -#: build/views.py:279 build/views.py:369 +#: build/views.py:218 build/views.py:308 msgid "Confirm unallocation of build stock" msgstr "" -#: build/views.py:280 build/views.py:370 stock/views.py:404 +#: build/views.py:219 build/views.py:309 stock/views.py:381 msgid "Check the confirmation box" msgstr "" -#: build/views.py:292 +#: build/views.py:231 msgid "Build output does not match build" msgstr "" -#: build/views.py:294 build/views.py:495 +#: build/views.py:233 build/views.py:434 msgid "Build output must be specified" msgstr "" -#: build/views.py:306 +#: build/views.py:245 msgid "Build output deleted" msgstr "" -#: build/views.py:404 +#: build/views.py:343 msgid "Complete Build Order" msgstr "" -#: build/views.py:410 +#: build/views.py:349 msgid "Build order cannot be completed - incomplete outputs remain" msgstr "" -#: build/views.py:421 +#: build/views.py:360 msgid "Completed build order" msgstr "" -#: build/views.py:437 +#: build/views.py:376 msgid "Complete Build Output" msgstr "" -#: build/views.py:479 +#: build/views.py:418 msgid "Invalid stock status value selected" msgstr "" -#: build/views.py:486 +#: build/views.py:425 msgid "Quantity to complete cannot exceed build output quantity" msgstr "" -#: build/views.py:492 +#: build/views.py:431 msgid "Confirm completion of incomplete build" msgstr "" -#: build/views.py:591 +#: build/views.py:530 msgid "Build output completed" msgstr "" -#: build/views.py:628 +#: build/views.py:567 msgid "Delete Build Order" msgstr "" -#: build/views.py:643 -msgid "Removed parts from build allocation" -msgstr "" - -#: build/views.py:655 -msgid "Allocate stock to build output" -msgstr "" - -#: build/views.py:698 -msgid "Item must be currently in stock" -msgstr "" - -#: build/views.py:704 -msgid "Stock item is over-allocated" -msgstr "" - -#: build/views.py:705 templates/js/translated/bom.js:269 -#: templates/js/translated/build.js:728 templates/js/translated/build.js:1019 -#: templates/js/translated/build.js:1196 -msgid "Available" -msgstr "" - -#: build/views.py:707 -msgid "Stock item must be selected" -msgstr "" - -#: build/views.py:870 -msgid "Edit Stock Allocation" -msgstr "" - -#: build/views.py:874 -msgid "Updated Build Item" -msgstr "" - #: common/files.py:67 msgid "Unsupported file format: {ext.upper()}" msgstr "" @@ -1585,7 +1554,7 @@ msgstr "" msgid "Select {name} file to upload" msgstr "" -#: common/models.py:308 common/models.py:839 common/models.py:986 +#: common/models.py:308 common/models.py:887 common/models.py:1048 msgid "Settings key (must be unique - case insensitive" msgstr "" @@ -1625,7 +1594,7 @@ msgstr "" msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:522 company/models.py:99 company/models.py:100 +#: common/models.py:522 company/models.py:100 company/models.py:101 msgid "Company name" msgstr "" @@ -1721,9 +1690,9 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:603 part/models.py:2252 report/models.py:187 +#: common/models.py:603 part/models.py:2256 report/models.py:187 #: stock/forms.py:224 templates/js/translated/table_filters.js:38 -#: templates/js/translated/table_filters.js:342 +#: templates/js/translated/table_filters.js:351 msgid "Template" msgstr "" @@ -1731,9 +1700,9 @@ msgstr "" msgid "Parts are templates by default" msgstr "" -#: common/models.py:610 part/models.py:805 +#: common/models.py:610 part/models.py:806 #: templates/js/translated/table_filters.js:146 -#: templates/js/translated/table_filters.js:354 +#: templates/js/translated/table_filters.js:363 msgid "Assembly" msgstr "" @@ -1741,8 +1710,8 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:617 part/models.py:811 -#: templates/js/translated/table_filters.js:358 +#: common/models.py:617 part/models.py:812 +#: templates/js/translated/table_filters.js:367 msgid "Component" msgstr "" @@ -1750,7 +1719,7 @@ msgstr "" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:624 part/models.py:822 +#: common/models.py:624 part/models.py:823 msgid "Purchaseable" msgstr "" @@ -1758,8 +1727,8 @@ msgstr "" msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:631 part/models.py:827 -#: templates/js/translated/table_filters.js:366 +#: common/models.py:631 part/models.py:828 +#: templates/js/translated/table_filters.js:375 msgid "Salable" msgstr "" @@ -1767,9 +1736,9 @@ msgstr "" msgid "Parts are salable by default" msgstr "" -#: common/models.py:638 part/models.py:817 +#: common/models.py:638 part/models.py:818 #: templates/js/translated/table_filters.js:46 -#: templates/js/translated/table_filters.js:370 +#: templates/js/translated/table_filters.js:379 msgid "Trackable" msgstr "" @@ -1777,7 +1746,7 @@ msgstr "" msgid "Parts are trackable by default" msgstr "" -#: common/models.py:645 part/models.py:837 +#: common/models.py:645 part/models.py:838 #: part/templates/part/part_base.html:66 #: templates/js/translated/table_filters.js:42 msgid "Virtual" @@ -1787,392 +1756,464 @@ msgstr "" msgid "Parts are virtual by default" msgstr "" -#: common/models.py:653 -msgid "Show Quantity in Forms" -msgstr "" - -#: common/models.py:654 -msgid "Display available part quantity in some forms" -msgstr "" - -#: common/models.py:660 +#: common/models.py:652 msgid "Show Import in Views" msgstr "" -#: common/models.py:661 +#: common/models.py:653 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:667 +#: common/models.py:659 msgid "Show Price in Forms" msgstr "" -#: common/models.py:668 +#: common/models.py:660 msgid "Display part price in some forms" msgstr "" -#: common/models.py:674 +#: common/models.py:671 +msgid "Show Price in BOM" +msgstr "" + +#: common/models.py:672 +msgid "Include pricing information in BOM tables" +msgstr "" + +#: common/models.py:678 msgid "Show related parts" msgstr "" -#: common/models.py:675 +#: common/models.py:679 msgid "Display related parts for a part" msgstr "" -#: common/models.py:681 +#: common/models.py:685 msgid "Create initial stock" msgstr "" -#: common/models.py:682 +#: common/models.py:686 msgid "Create initial stock on part creation" msgstr "" -#: common/models.py:688 +#: common/models.py:692 msgid "Internal Prices" msgstr "" -#: common/models.py:689 +#: common/models.py:693 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:695 +#: common/models.py:699 msgid "Internal Price as BOM-Price" msgstr "" -#: common/models.py:696 +#: common/models.py:700 msgid "Use the internal price (if set) in BOM-price calculations" msgstr "" -#: common/models.py:702 templates/stats.html:25 +#: common/models.py:706 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:703 +#: common/models.py:707 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:709 +#: common/models.py:713 msgid "Page Size" msgstr "" -#: common/models.py:710 +#: common/models.py:714 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:720 +#: common/models.py:724 msgid "Test Reports" msgstr "" -#: common/models.py:721 +#: common/models.py:725 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:727 +#: common/models.py:731 msgid "Stock Expiry" msgstr "" -#: common/models.py:728 +#: common/models.py:732 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:734 +#: common/models.py:738 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:735 +#: common/models.py:739 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:741 +#: common/models.py:745 msgid "Stock Stale Time" msgstr "" -#: common/models.py:742 +#: common/models.py:746 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:744 +#: common/models.py:748 msgid "days" msgstr "" -#: common/models.py:749 +#: common/models.py:753 msgid "Build Expired Stock" msgstr "" -#: common/models.py:750 +#: common/models.py:754 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:756 +#: common/models.py:760 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:757 +#: common/models.py:761 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:763 +#: common/models.py:767 msgid "Group by Part" msgstr "" -#: common/models.py:764 +#: common/models.py:768 msgid "Group stock items by part reference in table views" msgstr "" -#: common/models.py:770 +#: common/models.py:774 msgid "Build Order Reference Prefix" msgstr "" -#: common/models.py:771 +#: common/models.py:775 msgid "Prefix value for build order reference" msgstr "" -#: common/models.py:776 +#: common/models.py:780 msgid "Build Order Reference Regex" msgstr "" -#: common/models.py:777 +#: common/models.py:781 msgid "Regular expression pattern for matching build order reference" msgstr "" -#: common/models.py:781 +#: common/models.py:785 msgid "Sales Order Reference Prefix" msgstr "" -#: common/models.py:782 +#: common/models.py:786 msgid "Prefix value for sales order reference" msgstr "" -#: common/models.py:787 +#: common/models.py:791 msgid "Purchase Order Reference Prefix" msgstr "" -#: common/models.py:788 +#: common/models.py:792 msgid "Prefix value for purchase order reference" msgstr "" -#: common/models.py:794 +#: common/models.py:798 msgid "Enable build" msgstr "" -#: common/models.py:795 +#: common/models.py:799 msgid "Enable build functionality in InvenTree interface" msgstr "" -#: common/models.py:800 +#: common/models.py:804 msgid "Enable buy" msgstr "" -#: common/models.py:801 +#: common/models.py:805 msgid "Enable buy functionality in InvenTree interface" msgstr "" -#: common/models.py:806 +#: common/models.py:810 msgid "Enable sell" msgstr "" -#: common/models.py:807 +#: common/models.py:811 msgid "Enable sell functionality in InvenTree interface" msgstr "" -#: common/models.py:812 +#: common/models.py:816 msgid "Enable stock" msgstr "" -#: common/models.py:813 +#: common/models.py:817 msgid "Enable stock functionality in InvenTree interface" msgstr "" -#: common/models.py:818 +#: common/models.py:822 msgid "Enable SO" msgstr "" -#: common/models.py:819 +#: common/models.py:823 msgid "Enable SO functionality in InvenTree interface" msgstr "" -#: common/models.py:824 +#: common/models.py:828 msgid "Enable PO" msgstr "" -#: common/models.py:825 +#: common/models.py:829 msgid "Enable PO functionality in InvenTree interface" msgstr "" -#: common/models.py:850 +#: common/models.py:836 +msgid "Enable password forgot" +msgstr "" + +#: common/models.py:837 +msgid "Enable password forgot function on the login-pages" +msgstr "" + +#: common/models.py:842 +msgid "Enable registration" +msgstr "" + +#: common/models.py:843 +msgid "Enable self-registration for users on the login-pages" +msgstr "" + +#: common/models.py:848 +msgid "Enable SSO" +msgstr "" + +#: common/models.py:849 +msgid "Enable SSO on the login-pages" +msgstr "" + +#: common/models.py:854 +msgid "E-Mail required" +msgstr "" + +#: common/models.py:855 +msgid "Require user to supply mail on signup" +msgstr "" + +#: common/models.py:860 +msgid "Auto-fill SSO users" +msgstr "" + +#: common/models.py:861 +msgid "Automatically fill out user-details from SSO account-data" +msgstr "" + +#: common/models.py:866 +msgid "Mail twice" +msgstr "" + +#: common/models.py:867 +msgid "On signup ask users twice for their mail" +msgstr "" + +#: common/models.py:872 +msgid "Password twice" +msgstr "" + +#: common/models.py:873 +msgid "On signup ask users twice for their password" +msgstr "" + +#: common/models.py:898 msgid "Show starred parts" msgstr "" -#: common/models.py:851 +#: common/models.py:899 msgid "Show starred parts on the homepage" msgstr "" -#: common/models.py:856 +#: common/models.py:904 msgid "Show latest parts" msgstr "" -#: common/models.py:857 +#: common/models.py:905 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:862 +#: common/models.py:910 msgid "Recent Part Count" msgstr "" -#: common/models.py:863 +#: common/models.py:911 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:869 +#: common/models.py:917 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:870 +#: common/models.py:918 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:875 +#: common/models.py:923 msgid "Show recent stock changes" msgstr "" -#: common/models.py:876 +#: common/models.py:924 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:881 +#: common/models.py:929 msgid "Recent Stock Count" msgstr "" -#: common/models.py:882 +#: common/models.py:930 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:887 +#: common/models.py:935 msgid "Show low stock" msgstr "" -#: common/models.py:888 +#: common/models.py:936 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:893 +#: common/models.py:941 msgid "Show depleted stock" msgstr "" -#: common/models.py:894 +#: common/models.py:942 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:899 +#: common/models.py:947 msgid "Show needed stock" msgstr "" -#: common/models.py:900 +#: common/models.py:948 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:905 +#: common/models.py:953 msgid "Show expired stock" msgstr "" -#: common/models.py:906 +#: common/models.py:954 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:911 +#: common/models.py:959 msgid "Show stale stock" msgstr "" -#: common/models.py:912 +#: common/models.py:960 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:917 +#: common/models.py:965 msgid "Show pending builds" msgstr "" -#: common/models.py:918 +#: common/models.py:966 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:923 +#: common/models.py:971 msgid "Show overdue builds" msgstr "" -#: common/models.py:924 +#: common/models.py:972 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:929 +#: common/models.py:977 msgid "Show outstanding POs" msgstr "" -#: common/models.py:930 +#: common/models.py:978 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:935 +#: common/models.py:983 msgid "Show overdue POs" msgstr "" -#: common/models.py:936 +#: common/models.py:984 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:941 +#: common/models.py:989 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:942 +#: common/models.py:990 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:947 +#: common/models.py:995 msgid "Show overdue SOs" msgstr "" -#: common/models.py:948 +#: common/models.py:996 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:954 +#: common/models.py:1002 msgid "Inline label display" msgstr "" -#: common/models.py:955 +#: common/models.py:1003 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:961 +#: common/models.py:1009 msgid "Inline report display" msgstr "" -#: common/models.py:962 +#: common/models.py:1010 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:968 +#: common/models.py:1016 msgid "Search Preview Results" msgstr "" -#: common/models.py:969 +#: common/models.py:1017 msgid "Number of results to show in search preview window" msgstr "" -#: common/models.py:1026 company/forms.py:43 +#: common/models.py:1023 +msgid "Show Quantity in Forms" +msgstr "" + +#: common/models.py:1024 +msgid "Display available part quantity in some forms" +msgstr "" + +#: common/models.py:1030 +msgid "Escape Key Closes Forms" +msgstr "" + +#: common/models.py:1031 +msgid "Use the escape key to close modal forms" +msgstr "" + +#: common/models.py:1088 company/forms.py:43 msgid "Price break quantity" msgstr "" -#: common/models.py:1033 company/templates/company/supplier_part.html:231 -#: templates/js/translated/part.js:1322 +#: common/models.py:1095 company/templates/company/supplier_part.html:231 +#: templates/js/translated/part.js:1369 msgid "Price" msgstr "" -#: common/models.py:1034 +#: common/models.py:1096 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1127 +#: common/models.py:1189 msgid "Default" msgstr "" @@ -2199,7 +2240,7 @@ msgstr "" #: common/views.py:213 order/templates/order/order_wizard/po_upload.html:42 #: order/templates/order/po_navbar.html:19 #: order/templates/order/po_navbar.html:22 -#: order/templates/order/purchase_order_detail.html:26 order/views.py:290 +#: order/templates/order/purchase_order_detail.html:27 order/views.py:289 #: part/templates/part/bom_upload/upload_file.html:65 #: part/templates/part/import_wizard/part_upload.html:45 part/views.py:268 #: part/views.py:882 @@ -2207,7 +2248,7 @@ msgid "Upload File" msgstr "" #: common/views.py:214 order/templates/order/order_wizard/match_fields.html:52 -#: order/views.py:291 part/templates/part/bom_upload/match_fields.html:52 +#: order/views.py:290 part/templates/part/bom_upload/match_fields.html:52 #: part/templates/part/import_wizard/ajax_match_fields.html:45 #: part/templates/part/import_wizard/match_fields.html:52 part/views.py:269 #: part/views.py:883 @@ -2246,249 +2287,249 @@ msgstr "" msgid "Image URL" msgstr "" -#: company/models.py:104 +#: company/models.py:105 msgid "Company description" msgstr "" -#: company/models.py:105 +#: company/models.py:106 msgid "Description of the company" msgstr "" -#: company/models.py:111 company/templates/company/company_base.html:70 +#: company/models.py:112 company/templates/company/company_base.html:70 #: templates/js/translated/company.js:348 msgid "Website" msgstr "" -#: company/models.py:112 +#: company/models.py:113 msgid "Company website URL" msgstr "" -#: company/models.py:116 company/templates/company/company_base.html:88 +#: company/models.py:117 company/templates/company/company_base.html:88 msgid "Address" msgstr "" -#: company/models.py:117 +#: company/models.py:118 msgid "Company address" msgstr "" -#: company/models.py:120 +#: company/models.py:121 msgid "Phone number" msgstr "" -#: company/models.py:121 +#: company/models.py:122 msgid "Contact phone number" msgstr "" -#: company/models.py:124 company/templates/company/company_base.html:102 +#: company/models.py:125 company/templates/company/company_base.html:102 msgid "Email" msgstr "" -#: company/models.py:124 +#: company/models.py:125 msgid "Contact email address" msgstr "" -#: company/models.py:127 company/templates/company/company_base.html:109 +#: company/models.py:128 company/templates/company/company_base.html:109 msgid "Contact" msgstr "" -#: company/models.py:128 +#: company/models.py:129 msgid "Point of contact" msgstr "" -#: company/models.py:130 company/models.py:347 company/models.py:563 -#: order/models.py:160 part/models.py:714 +#: company/models.py:131 company/models.py:348 company/models.py:564 +#: order/models.py:160 part/models.py:715 #: report/templates/report/inventree_build_order_base.html:165 -#: templates/js/translated/company.js:535 -#: templates/js/translated/company.js:823 templates/js/translated/part.js:972 +#: templates/js/translated/company.js:536 +#: templates/js/translated/company.js:825 templates/js/translated/part.js:983 msgid "Link" msgstr "" -#: company/models.py:130 +#: company/models.py:131 msgid "Link to external company information" msgstr "" -#: company/models.py:138 part/models.py:724 +#: company/models.py:139 part/models.py:725 msgid "Image" msgstr "" -#: company/models.py:143 +#: company/models.py:144 msgid "is customer" msgstr "" -#: company/models.py:143 +#: company/models.py:144 msgid "Do you sell items to this company?" msgstr "" -#: company/models.py:145 +#: company/models.py:146 msgid "is supplier" msgstr "" -#: company/models.py:145 +#: company/models.py:146 msgid "Do you purchase items from this company?" msgstr "" -#: company/models.py:147 +#: company/models.py:148 msgid "is manufacturer" msgstr "" -#: company/models.py:147 +#: company/models.py:148 msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:151 company/serializers.py:264 -#: company/templates/company/company_base.html:76 stock/serializers.py:155 +#: company/models.py:152 company/serializers.py:264 +#: company/templates/company/company_base.html:76 stock/serializers.py:158 msgid "Currency" msgstr "" -#: company/models.py:154 +#: company/models.py:155 msgid "Default currency used for this company" msgstr "" -#: company/models.py:319 company/models.py:534 stock/models.py:454 +#: company/models.py:320 company/models.py:535 stock/models.py:454 #: stock/templates/stock/item_base.html:237 msgid "Base Part" msgstr "" -#: company/models.py:323 company/models.py:538 order/views.py:1082 +#: company/models.py:324 company/models.py:539 order/views.py:912 msgid "Select part" msgstr "" -#: company/models.py:334 company/templates/company/company_base.html:116 +#: company/models.py:335 company/templates/company/company_base.html:116 #: company/templates/company/manufacturer_part.html:89 #: company/templates/company/supplier_part.html:98 part/bom.py:170 -#: part/bom.py:241 stock/templates/stock/item_base.html:366 +#: part/bom.py:247 stock/templates/stock/item_base.html:366 #: templates/js/translated/company.js:332 -#: templates/js/translated/company.js:512 -#: templates/js/translated/company.js:794 templates/js/translated/part.js:222 +#: templates/js/translated/company.js:513 +#: templates/js/translated/company.js:796 templates/js/translated/part.js:227 msgid "Manufacturer" msgstr "" -#: company/models.py:335 templates/js/translated/part.js:223 +#: company/models.py:336 templates/js/translated/part.js:228 msgid "Select manufacturer" msgstr "" -#: company/models.py:341 company/templates/company/manufacturer_part.html:93 +#: company/models.py:342 company/templates/company/manufacturer_part.html:93 #: company/templates/company/supplier_part.html:106 part/bom.py:171 -#: part/bom.py:242 templates/js/translated/company.js:528 -#: templates/js/translated/company.js:812 templates/js/translated/order.js:505 -#: templates/js/translated/part.js:233 +#: part/bom.py:248 templates/js/translated/company.js:529 +#: templates/js/translated/company.js:814 templates/js/translated/order.js:851 +#: templates/js/translated/part.js:238 msgid "MPN" msgstr "" -#: company/models.py:342 templates/js/translated/part.js:234 +#: company/models.py:343 templates/js/translated/part.js:239 msgid "Manufacturer Part Number" msgstr "" -#: company/models.py:348 +#: company/models.py:349 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:354 +#: company/models.py:355 msgid "Manufacturer part description" msgstr "" -#: company/models.py:408 company/models.py:557 +#: company/models.py:409 company/models.py:558 #: company/templates/company/manufacturer_part.html:6 #: company/templates/company/manufacturer_part.html:23 #: stock/templates/stock/item_base.html:376 msgid "Manufacturer Part" msgstr "" -#: company/models.py:415 +#: company/models.py:416 msgid "Parameter name" msgstr "" -#: company/models.py:421 +#: company/models.py:422 #: report/templates/report/inventree_test_report_base.html:90 -#: stock/models.py:1819 templates/InvenTree/settings/header.html:8 -#: templates/js/translated/company.js:642 templates/js/translated/part.js:612 -#: templates/js/translated/stock.js:576 +#: stock/models.py:1816 templates/InvenTree/settings/header.html:8 +#: templates/js/translated/company.js:643 templates/js/translated/part.js:623 +#: templates/js/translated/stock.js:555 msgid "Value" msgstr "" -#: company/models.py:422 +#: company/models.py:423 msgid "Parameter value" msgstr "" -#: company/models.py:428 part/models.py:799 part/models.py:2220 -#: templates/js/translated/company.js:648 templates/js/translated/part.js:618 +#: company/models.py:429 part/models.py:800 part/models.py:2224 +#: templates/js/translated/company.js:649 templates/js/translated/part.js:629 msgid "Units" msgstr "" -#: company/models.py:429 +#: company/models.py:430 msgid "Parameter units" msgstr "" -#: company/models.py:501 +#: company/models.py:502 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:544 company/templates/company/company_base.html:121 +#: company/models.py:545 company/templates/company/company_base.html:121 #: company/templates/company/supplier_part.html:88 order/models.py:260 #: order/templates/order/order_base.html:92 #: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:175 -#: part/bom.py:286 stock/templates/stock/item_base.html:383 +#: part/bom.py:292 stock/templates/stock/item_base.html:383 #: templates/js/translated/company.js:336 -#: templates/js/translated/company.js:768 templates/js/translated/order.js:328 -#: templates/js/translated/part.js:203 +#: templates/js/translated/company.js:770 templates/js/translated/order.js:659 +#: templates/js/translated/part.js:208 msgid "Supplier" msgstr "" -#: company/models.py:545 templates/js/translated/part.js:204 +#: company/models.py:546 templates/js/translated/part.js:209 msgid "Select supplier" msgstr "" -#: company/models.py:550 company/templates/company/supplier_part.html:92 -#: part/bom.py:176 part/bom.py:287 templates/js/translated/order.js:492 -#: templates/js/translated/part.js:214 +#: company/models.py:551 company/templates/company/supplier_part.html:92 +#: part/bom.py:176 part/bom.py:293 templates/js/translated/order.js:838 +#: templates/js/translated/part.js:219 msgid "SKU" msgstr "" -#: company/models.py:551 templates/js/translated/part.js:215 +#: company/models.py:552 templates/js/translated/part.js:220 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:558 +#: company/models.py:559 msgid "Select manufacturer part" msgstr "" -#: company/models.py:564 +#: company/models.py:565 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:570 +#: company/models.py:571 msgid "Supplier part description" msgstr "" -#: company/models.py:575 company/templates/company/supplier_part.html:120 -#: part/models.py:2368 report/templates/report/inventree_po_report.html:93 +#: company/models.py:576 company/templates/company/supplier_part.html:120 +#: part/models.py:2389 report/templates/report/inventree_po_report.html:93 #: report/templates/report/inventree_so_report.html:93 msgid "Note" msgstr "" -#: company/models.py:579 part/models.py:1599 +#: company/models.py:580 part/models.py:1603 msgid "base cost" msgstr "" -#: company/models.py:579 part/models.py:1599 +#: company/models.py:580 part/models.py:1603 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:581 company/templates/company/supplier_part.html:113 +#: company/models.py:582 company/templates/company/supplier_part.html:113 #: stock/models.py:478 stock/templates/stock/item_base.html:324 -#: templates/js/translated/company.js:844 templates/js/translated/stock.js:1057 +#: templates/js/translated/company.js:846 templates/js/translated/stock.js:1036 msgid "Packaging" msgstr "" -#: company/models.py:581 +#: company/models.py:582 msgid "Part packaging" msgstr "" -#: company/models.py:583 part/models.py:1601 +#: company/models.py:584 part/models.py:1605 msgid "multiple" msgstr "" -#: company/models.py:583 +#: company/models.py:584 msgid "Order multiple" msgstr "" @@ -2502,7 +2543,7 @@ msgstr "" #: company/templates/company/company_base.html:9 #: company/templates/company/company_base.html:35 -#: templates/InvenTree/search.html:304 templates/js/translated/company.js:321 +#: templates/InvenTree/search.html:208 templates/js/translated/company.js:321 msgid "Company" msgstr "" @@ -2517,7 +2558,7 @@ msgid "Download image from URL" msgstr "" #: company/templates/company/company_base.html:46 -#: templates/js/translated/order.js:117 +#: templates/js/translated/order.js:120 msgid "Create Purchase Order" msgstr "" @@ -2542,22 +2583,22 @@ msgstr "" msgid "Phone" msgstr "" -#: company/templates/company/company_base.html:126 order/models.py:550 -#: order/templates/order/sales_order_base.html:94 stock/models.py:496 +#: company/templates/company/company_base.html:126 order/models.py:558 +#: order/templates/order/sales_order_base.html:99 stock/models.py:496 #: stock/models.py:497 stock/templates/stock/item_base.html:276 -#: templates/js/translated/company.js:328 templates/js/translated/order.js:692 -#: templates/js/translated/stock.js:1608 +#: templates/js/translated/company.js:328 templates/js/translated/order.js:1038 +#: templates/js/translated/stock.js:1587 msgid "Customer" msgstr "" -#: company/templates/company/company_base.html:193 -#: part/templates/part/part_base.html:418 +#: company/templates/company/company_base.html:199 +#: part/templates/part/part_base.html:424 msgid "Upload Image" msgstr "" #: company/templates/company/detail.html:14 #: company/templates/company/manufacturer_part_navbar.html:18 -#: templates/InvenTree/search.html:164 +#: templates/InvenTree/search.html:150 msgid "Supplier Parts" msgstr "" @@ -2597,7 +2638,7 @@ msgstr "" msgid "Delete Parts" msgstr "" -#: company/templates/company/detail.html:54 templates/InvenTree/search.html:149 +#: company/templates/company/detail.html:54 templates/InvenTree/search.html:135 msgid "Manufacturer Parts" msgstr "" @@ -2620,9 +2661,9 @@ msgstr "" #: order/templates/order/purchase_orders.html:13 #: part/templates/part/detail.html:50 part/templates/part/navbar.html:82 #: part/templates/part/navbar.html:85 templates/InvenTree/index.html:260 -#: templates/InvenTree/search.html:325 -#: templates/InvenTree/settings/navbar.html:107 -#: templates/InvenTree/settings/navbar.html:109 templates/navbar.html:44 +#: templates/InvenTree/search.html:229 +#: templates/InvenTree/settings/navbar.html:119 +#: templates/InvenTree/settings/navbar.html:121 templates/navbar.html:44 #: users/models.py:45 msgid "Purchase Orders" msgstr "" @@ -2644,9 +2685,9 @@ msgstr "" #: order/templates/order/sales_orders.html:13 #: part/templates/part/detail.html:71 part/templates/part/navbar.html:91 #: part/templates/part/navbar.html:94 templates/InvenTree/index.html:291 -#: templates/InvenTree/search.html:345 -#: templates/InvenTree/settings/navbar.html:113 -#: templates/InvenTree/settings/navbar.html:115 templates/navbar.html:55 +#: templates/InvenTree/search.html:249 +#: templates/InvenTree/settings/navbar.html:125 +#: templates/InvenTree/settings/navbar.html:127 templates/navbar.html:55 #: users/models.py:46 msgid "Sales Orders" msgstr "" @@ -2664,7 +2705,7 @@ msgstr "" #: company/templates/company/detail.html:147 #: company/templates/company/navbar.html:61 #: company/templates/company/navbar.html:64 -#: templates/js/translated/build.js:620 +#: templates/js/translated/build.js:622 msgid "Assigned Stock" msgstr "" @@ -2696,12 +2737,12 @@ msgid "Order part" msgstr "" #: company/templates/company/manufacturer_part.html:45 -#: templates/js/translated/company.js:560 +#: templates/js/translated/company.js:561 msgid "Edit manufacturer part" msgstr "" #: company/templates/company/manufacturer_part.html:49 -#: templates/js/translated/company.js:561 +#: templates/js/translated/company.js:562 msgid "Delete manufacturer part" msgstr "" @@ -2718,7 +2759,7 @@ msgstr "" #: company/templates/company/manufacturer_part_navbar.html:21 #: company/views.py:49 part/templates/part/navbar.html:75 #: part/templates/part/navbar.html:78 part/templates/part/prices.html:163 -#: templates/InvenTree/search.html:316 templates/navbar.html:41 +#: templates/InvenTree/search.html:220 templates/navbar.html:41 msgid "Suppliers" msgstr "" @@ -2732,7 +2773,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:239 #: part/templates/part/detail.html:214 part/templates/part/detail.html:294 #: part/templates/part/detail.html:317 templates/js/translated/company.js:424 -#: templates/js/translated/helpers.js:31 users/models.py:194 +#: templates/js/translated/helpers.js:31 users/models.py:199 msgid "Delete" msgstr "" @@ -2758,7 +2799,7 @@ msgid "Delete parameters" msgstr "" #: company/templates/company/manufacturer_part.html:176 -#: part/templates/part/detail.html:834 +#: part/templates/part/detail.html:805 msgid "Add Parameter" msgstr "" @@ -2777,16 +2818,15 @@ msgstr "" #: company/templates/company/manufacturer_part_navbar.html:29 #: company/templates/company/navbar.html:39 #: company/templates/company/supplier_part_navbar.html:15 -#: part/templates/part/navbar.html:38 stock/api.py:54 +#: part/templates/part/navbar.html:38 stock/api.py:52 #: stock/templates/stock/loc_link.html:7 stock/templates/stock/location.html:36 #: stock/templates/stock/stock_app_base.html:10 -#: templates/InvenTree/index.html:150 templates/InvenTree/search.html:196 -#: templates/InvenTree/search.html:232 -#: templates/InvenTree/settings/navbar.html:95 -#: templates/InvenTree/settings/navbar.html:97 -#: templates/js/translated/part.js:529 templates/js/translated/part.js:758 -#: templates/js/translated/part.js:934 templates/js/translated/stock.js:202 -#: templates/js/translated/stock.js:850 templates/navbar.html:32 +#: templates/InvenTree/index.html:150 templates/InvenTree/search.html:182 +#: templates/InvenTree/settings/navbar.html:107 +#: templates/InvenTree/settings/navbar.html:109 +#: templates/js/translated/part.js:540 templates/js/translated/part.js:769 +#: templates/js/translated/part.js:945 templates/js/translated/stock.js:182 +#: templates/js/translated/stock.js:829 templates/navbar.html:32 msgid "Stock" msgstr "" @@ -2815,7 +2855,7 @@ msgstr "" #: stock/templates/stock/location.html:148 #: stock/templates/stock/location_navbar.html:18 #: stock/templates/stock/location_navbar.html:21 -#: templates/InvenTree/search.html:198 templates/js/translated/stock.js:1507 +#: templates/InvenTree/search.html:184 templates/js/translated/stock.js:1486 #: templates/stats.html:93 templates/stats.html:102 users/models.py:43 msgid "Stock Items" msgstr "" @@ -2823,17 +2863,17 @@ msgstr "" #: company/templates/company/supplier_part.html:7 #: company/templates/company/supplier_part.html:24 stock/models.py:463 #: stock/templates/stock/item_base.html:388 -#: templates/js/translated/company.js:784 templates/js/translated/stock.js:1014 +#: templates/js/translated/company.js:786 templates/js/translated/stock.js:993 msgid "Supplier Part" msgstr "" #: company/templates/company/supplier_part.html:44 -#: templates/js/translated/company.js:857 +#: templates/js/translated/company.js:859 msgid "Edit supplier part" msgstr "" #: company/templates/company/supplier_part.html:48 -#: templates/js/translated/company.js:858 +#: templates/js/translated/company.js:860 msgid "Delete supplier part" msgstr "" @@ -2900,7 +2940,7 @@ msgid "New Supplier" msgstr "" #: company/views.py:55 part/templates/part/prices.html:167 -#: templates/InvenTree/search.html:306 templates/navbar.html:42 +#: templates/InvenTree/search.html:210 templates/navbar.html:42 msgid "Manufacturers" msgstr "" @@ -2908,7 +2948,7 @@ msgstr "" msgid "New Manufacturer" msgstr "" -#: company/views.py:61 templates/InvenTree/search.html:336 +#: company/views.py:61 templates/InvenTree/search.html:240 #: templates/navbar.html:53 msgid "Customers" msgstr "" @@ -3011,36 +3051,32 @@ msgstr "" msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" -#: order/api.py:302 -msgid "Destination location must be specified" +#: order/api.py:250 +msgid "Matching purchase order does not exist" msgstr "" -#: order/forms.py:30 order/templates/order/order_base.html:47 +#: order/forms.py:27 order/templates/order/order_base.html:50 msgid "Place order" msgstr "" -#: order/forms.py:41 order/templates/order/order_base.html:54 +#: order/forms.py:38 order/templates/order/order_base.html:57 msgid "Mark order as complete" msgstr "" -#: order/forms.py:52 order/forms.py:63 order/templates/order/order_base.html:59 -#: order/templates/order/sales_order_base.html:61 +#: order/forms.py:49 order/forms.py:60 order/templates/order/order_base.html:62 +#: order/templates/order/sales_order_base.html:64 msgid "Cancel order" msgstr "" -#: order/forms.py:74 order/templates/order/sales_order_base.html:58 +#: order/forms.py:71 order/templates/order/sales_order_base.html:61 msgid "Ship order" msgstr "" -#: order/forms.py:89 -msgid "Set all received parts listed above to this location (if left blank, use \"Destination\" column value in above table)" -msgstr "" - -#: order/forms.py:116 +#: order/forms.py:97 msgid "Enter stock item serial numbers" msgstr "" -#: order/forms.py:122 +#: order/forms.py:103 msgid "Enter quantity of stock items" msgstr "" @@ -3064,11 +3100,11 @@ msgstr "" msgid "Order notes" msgstr "" -#: order/models.py:247 order/models.py:540 +#: order/models.py:247 order/models.py:548 msgid "Order reference" msgstr "" -#: order/models.py:252 order/models.py:555 +#: order/models.py:252 order/models.py:563 msgid "Purchase order status" msgstr "" @@ -3077,7 +3113,7 @@ msgid "Company from which the items are being ordered" msgstr "" #: order/models.py:264 order/templates/order/order_base.html:98 -#: templates/js/translated/order.js:337 +#: templates/js/translated/order.js:668 msgid "Supplier Reference" msgstr "" @@ -3109,190 +3145,190 @@ msgstr "" msgid "Date order was completed" msgstr "" -#: order/models.py:313 stock/models.py:351 stock/models.py:1072 -msgid "Quantity must be greater than zero" -msgstr "" - #: order/models.py:318 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:421 -msgid "Lines can only be received against an order marked as 'Placed'" -msgstr "" - -#: order/models.py:425 +#: order/models.py:428 msgid "Quantity must be an integer" msgstr "" -#: order/models.py:427 +#: order/models.py:432 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:551 +#: order/models.py:559 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:557 +#: order/models.py:565 msgid "Customer Reference " msgstr "" -#: order/models.py:557 +#: order/models.py:565 msgid "Customer order reference code" msgstr "" -#: order/models.py:562 +#: order/models.py:570 msgid "Target date for order completion. Order will be overdue after this date." msgstr "" -#: order/models.py:565 templates/js/translated/order.js:733 +#: order/models.py:573 templates/js/translated/order.js:1079 msgid "Shipment Date" msgstr "" -#: order/models.py:572 +#: order/models.py:580 msgid "shipped by" msgstr "" -#: order/models.py:616 +#: order/models.py:624 msgid "SalesOrder cannot be shipped as it is not currently pending" msgstr "" -#: order/models.py:713 +#: order/models.py:721 msgid "Item quantity" msgstr "" -#: order/models.py:719 +#: order/models.py:727 msgid "Line item reference" msgstr "" -#: order/models.py:721 +#: order/models.py:729 msgid "Line item notes" msgstr "" -#: order/models.py:751 order/models.py:835 templates/js/translated/order.js:785 +#: order/models.py:759 order/models.py:847 +#: templates/js/translated/order.js:1131 msgid "Order" msgstr "" -#: order/models.py:752 order/templates/order/order_base.html:9 +#: order/models.py:760 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:24 #: report/templates/report/inventree_po_report.html:77 #: stock/templates/stock/item_base.html:338 -#: templates/js/translated/order.js:306 templates/js/translated/stock.js:991 -#: templates/js/translated/stock.js:1589 +#: templates/js/translated/order.js:637 templates/js/translated/stock.js:970 +#: templates/js/translated/stock.js:1568 msgid "Purchase Order" msgstr "" -#: order/models.py:773 +#: order/models.py:781 msgid "Supplier part" msgstr "" -#: order/models.py:780 order/templates/order/order_base.html:131 -#: order/templates/order/receive_parts.html:22 -#: order/templates/order/sales_order_base.html:133 -#: templates/js/translated/order.js:573 +#: order/models.py:788 order/templates/order/order_base.html:131 +#: order/templates/order/sales_order_base.html:138 +#: templates/js/translated/order.js:428 templates/js/translated/order.js:919 msgid "Received" msgstr "" -#: order/models.py:781 +#: order/models.py:789 msgid "Number of items received" msgstr "" -#: order/models.py:788 part/templates/part/prices.html:176 stock/models.py:588 -#: stock/serializers.py:147 stock/templates/stock/item_base.html:345 -#: templates/js/translated/stock.js:1045 +#: order/models.py:796 part/templates/part/prices.html:176 stock/models.py:588 +#: stock/serializers.py:150 stock/templates/stock/item_base.html:345 +#: templates/js/translated/stock.js:1024 msgid "Purchase Price" msgstr "" -#: order/models.py:789 +#: order/models.py:797 msgid "Unit purchase price" msgstr "" -#: order/models.py:797 +#: order/models.py:805 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:843 part/templates/part/part_pricing.html:112 +#: order/models.py:857 part/templates/part/part_pricing.html:112 #: part/templates/part/prices.html:116 part/templates/part/prices.html:284 msgid "Sale Price" msgstr "" -#: order/models.py:844 +#: order/models.py:858 msgid "Unit sale price" msgstr "" -#: order/models.py:923 order/models.py:925 +#: order/models.py:937 order/models.py:939 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:929 +#: order/models.py:943 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:931 +#: order/models.py:945 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:934 +#: order/models.py:948 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:944 +#: order/models.py:952 +msgid "StockItem is over-allocated" +msgstr "" + +#: order/models.py:958 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:949 +#: order/models.py:966 msgid "Line" msgstr "" -#: order/models.py:960 +#: order/models.py:978 msgid "Item" msgstr "" -#: order/models.py:961 +#: order/models.py:979 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:964 +#: order/models.py:982 msgid "Enter stock allocation quantity" msgstr "" -#: order/serializers.py:166 +#: order/serializers.py:167 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:201 +#: order/serializers.py:202 msgid "Line Item" msgstr "" -#: order/serializers.py:207 +#: order/serializers.py:208 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:217 order/serializers.py:276 +#: order/serializers.py:218 order/serializers.py:285 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:234 +#: order/serializers.py:242 msgid "Barcode Hash" msgstr "" -#: order/serializers.py:235 +#: order/serializers.py:243 msgid "Unique identifier field" msgstr "" -#: order/serializers.py:250 +#: order/serializers.py:259 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:289 +#: order/serializers.py:297 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:299 +#: order/serializers.py:314 +msgid "Destination location must be specified" +msgstr "" + +#: order/serializers.py:325 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:514 +#: order/serializers.py:569 msgid "Sale price currency" msgstr "" @@ -3307,31 +3343,32 @@ msgstr "" msgid "Print" msgstr "" -#: order/templates/order/order_base.html:43 -#: order/templates/order/sales_order_base.html:54 +#: order/templates/order/order_base.html:42 +#: order/templates/order/sales_order_base.html:53 +msgid "Export order to file" +msgstr "" + +#: order/templates/order/order_base.html:46 +#: order/templates/order/sales_order_base.html:57 msgid "Edit order information" msgstr "" -#: order/templates/order/order_base.html:51 +#: order/templates/order/order_base.html:54 msgid "Receive items" msgstr "" -#: order/templates/order/order_base.html:64 -msgid "Export order to file" -msgstr "" - #: order/templates/order/order_base.html:72 #: order/templates/order/po_navbar.html:12 msgid "Purchase Order Details" msgstr "" #: order/templates/order/order_base.html:77 -#: order/templates/order/sales_order_base.html:79 +#: order/templates/order/sales_order_base.html:84 msgid "Order Reference" msgstr "" #: order/templates/order/order_base.html:82 -#: order/templates/order/sales_order_base.html:84 +#: order/templates/order/sales_order_base.html:89 msgid "Order Status" msgstr "" @@ -3344,16 +3381,6 @@ msgstr "" msgid "Edit Purchase Order" msgstr "" -#: order/templates/order/order_base.html:196 -#: stock/templates/stock/location.html:250 templates/js/translated/order.js:437 -msgid "New Location" -msgstr "" - -#: order/templates/order/order_base.html:197 -#: stock/templates/stock/location.html:42 templates/js/translated/order.js:438 -msgid "Create new stock location" -msgstr "" - #: order/templates/order/order_cancel.html:8 msgid "Cancelling this order means that the order and line items will no longer be editable." msgstr "" @@ -3426,6 +3453,7 @@ msgstr "" #: part/templates/part/import_wizard/ajax_match_references.html:42 #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 +#: templates/js/translated/build.js:869 templates/js/translated/order.js:376 msgid "Remove row" msgstr "" @@ -3502,7 +3530,7 @@ msgid "Select existing purchase orders, or create new orders." msgstr "" #: order/templates/order/order_wizard/select_pos.html:31 -#: templates/js/translated/order.js:363 templates/js/translated/order.js:738 +#: templates/js/translated/order.js:694 templates/js/translated/order.js:1084 msgid "Items" msgstr "" @@ -3522,7 +3550,7 @@ msgstr "" #: order/templates/order/po_attachments.html:12 #: order/templates/order/po_navbar.html:32 -#: order/templates/order/purchase_order_detail.html:47 +#: order/templates/order/purchase_order_detail.html:56 msgid "Purchase Order Attachments" msgstr "" @@ -3532,7 +3560,7 @@ msgstr "" #: order/templates/order/po_navbar.html:29 #: order/templates/order/po_received_items.html:12 -#: order/templates/order/purchase_order_detail.html:38 +#: order/templates/order/purchase_order_detail.html:47 msgid "Received Items" msgstr "" @@ -3540,14 +3568,22 @@ msgstr "" msgid "Purchase Order Items" msgstr "" -#: order/templates/order/purchase_order_detail.html:23 -#: order/templates/order/purchase_order_detail.html:203 +#: order/templates/order/purchase_order_detail.html:24 +#: order/templates/order/purchase_order_detail.html:212 #: order/templates/order/sales_order_detail.html:23 #: order/templates/order/sales_order_detail.html:177 msgid "Add Line Item" msgstr "" -#: order/templates/order/purchase_order_detail.html:58 +#: order/templates/order/purchase_order_detail.html:30 +msgid "Receive selected items" +msgstr "" + +#: order/templates/order/purchase_order_detail.html:31 +msgid "Receive Items" +msgstr "" + +#: order/templates/order/purchase_order_detail.html:67 #: order/templates/order/sales_order_detail.html:54 msgid "Order Notes" msgstr "" @@ -3557,67 +3593,24 @@ msgstr "" msgid "Print Order Reports" msgstr "" -#: order/templates/order/receive_parts.html:8 -#, python-format -msgid "Receive outstanding parts for %(order)s - %(desc)s" -msgstr "" - -#: order/templates/order/receive_parts.html:14 part/api.py:54 -#: part/models.py:298 part/templates/part/cat_link.html:7 -#: part/templates/part/category.html:108 part/templates/part/category.html:122 -#: part/templates/part/category_navbar.html:21 -#: part/templates/part/category_navbar.html:24 -#: templates/InvenTree/index.html:102 templates/InvenTree/search.html:114 -#: templates/InvenTree/settings/navbar.html:83 -#: templates/InvenTree/settings/navbar.html:85 -#: templates/js/translated/part.js:1154 templates/navbar.html:29 -#: templates/stats.html:80 templates/stats.html:89 users/models.py:41 -msgid "Parts" -msgstr "" - -#: order/templates/order/receive_parts.html:15 -msgid "Fill out number of parts received, the status and destination" -msgstr "" - -#: order/templates/order/receive_parts.html:20 -msgid "Order Code" -msgstr "" - -#: order/templates/order/receive_parts.html:21 -#: part/templates/part/part_base.html:167 templates/js/translated/part.js:949 -msgid "On Order" -msgstr "" - -#: order/templates/order/receive_parts.html:23 -msgid "Receive" -msgstr "" - -#: order/templates/order/receive_parts.html:37 -msgid "Error: Referenced part has been removed" -msgstr "" - -#: order/templates/order/receive_parts.html:68 -msgid "Remove line" -msgstr "" - #: order/templates/order/sales_order_base.html:16 msgid "This Sales Order has not been fully allocated" msgstr "" -#: order/templates/order/sales_order_base.html:66 +#: order/templates/order/sales_order_base.html:70 msgid "Packing List" msgstr "" -#: order/templates/order/sales_order_base.html:74 +#: order/templates/order/sales_order_base.html:79 msgid "Sales Order Details" msgstr "" -#: order/templates/order/sales_order_base.html:100 -#: templates/js/translated/order.js:705 +#: order/templates/order/sales_order_base.html:105 +#: templates/js/translated/order.js:1051 msgid "Customer Reference" msgstr "" -#: order/templates/order/sales_order_base.html:178 +#: order/templates/order/sales_order_base.html:183 msgid "Edit Sales Order" msgstr "" @@ -3636,105 +3629,6 @@ msgstr "" msgid "Sales Order Items" msgstr "" -#: order/templates/order/sales_order_detail.html:226 -#: templates/js/translated/bom.js:394 templates/js/translated/build.js:782 -#: templates/js/translated/build.js:1219 -msgid "Actions" -msgstr "" - -#: order/templates/order/sales_order_detail.html:233 -#: templates/js/translated/build.js:668 templates/js/translated/build.js:1030 -msgid "Edit stock allocation" -msgstr "" - -#: order/templates/order/sales_order_detail.html:234 -#: templates/js/translated/build.js:670 templates/js/translated/build.js:1031 -msgid "Delete stock allocation" -msgstr "" - -#: order/templates/order/sales_order_detail.html:307 -msgid "No matching line items" -msgstr "" - -#: order/templates/order/sales_order_detail.html:337 -msgid "ID" -msgstr "" - -#: order/templates/order/sales_order_detail.html:354 -#: templates/js/translated/order.js:481 -msgid "Total" -msgstr "" - -#: order/templates/order/sales_order_detail.html:377 -#: templates/js/translated/order.js:534 templates/js/translated/part.js:1296 -#: templates/js/translated/part.js:1507 -msgid "Unit Price" -msgstr "" - -#: order/templates/order/sales_order_detail.html:384 -#: templates/js/translated/order.js:543 -msgid "Total price" -msgstr "" - -#: order/templates/order/sales_order_detail.html:405 -#: templates/js/translated/build.js:733 templates/js/translated/build.js:1026 -msgid "Allocated" -msgstr "" - -#: order/templates/order/sales_order_detail.html:407 -msgid "Fulfilled" -msgstr "" - -#: order/templates/order/sales_order_detail.html:444 -msgid "PO" -msgstr "" - -#: order/templates/order/sales_order_detail.html:474 -msgid "Allocate serial numbers" -msgstr "" - -#: order/templates/order/sales_order_detail.html:477 -#: templates/js/translated/build.js:796 -msgid "Allocate stock" -msgstr "" - -#: order/templates/order/sales_order_detail.html:480 -msgid "Purchase stock" -msgstr "" - -#: order/templates/order/sales_order_detail.html:484 -#: templates/js/translated/build.js:789 templates/js/translated/build.js:1227 -msgid "Build stock" -msgstr "" - -#: order/templates/order/sales_order_detail.html:487 -#: order/templates/order/sales_order_detail.html:606 -msgid "Calculate price" -msgstr "" - -#: order/templates/order/sales_order_detail.html:490 -#: templates/js/translated/order.js:616 -msgid "Edit line item" -msgstr "" - -#: order/templates/order/sales_order_detail.html:491 -msgid "Delete line item " -msgstr "" - -#: order/templates/order/sales_order_detail.html:519 -#: templates/js/translated/order.js:403 -msgid "Edit Line Item" -msgstr "" - -#: order/templates/order/sales_order_detail.html:529 -#: templates/js/translated/order.js:415 -msgid "Delete Line Item" -msgstr "" - -#: order/templates/order/sales_order_detail.html:612 -msgid "Update Unit Price" -msgstr "" - #: order/templates/order/sales_order_ship.html:10 msgid "This order has not been fully allocated. If the order is marked as shipped, it can no longer be adjusted." msgstr "" @@ -3759,10 +3653,6 @@ msgstr "" msgid "Allocate stock items by serial number" msgstr "" -#: order/templates/order/so_allocation_delete.html:7 -msgid "This action will unallocate the following stock from the Sales Order" -msgstr "" - #: order/templates/order/so_navbar.html:12 msgid "Sales Order Line Items" msgstr "" @@ -3775,149 +3665,129 @@ msgstr "" msgid "Sales Order Attachments" msgstr "" -#: order/views.py:104 +#: order/views.py:103 msgid "Cancel Order" msgstr "" -#: order/views.py:113 order/views.py:139 +#: order/views.py:112 order/views.py:138 msgid "Confirm order cancellation" msgstr "" -#: order/views.py:116 order/views.py:142 +#: order/views.py:115 order/views.py:141 msgid "Order cannot be cancelled" msgstr "" -#: order/views.py:130 +#: order/views.py:129 msgid "Cancel sales order" msgstr "" -#: order/views.py:156 +#: order/views.py:155 msgid "Issue Order" msgstr "" -#: order/views.py:165 +#: order/views.py:164 msgid "Confirm order placement" msgstr "" -#: order/views.py:175 +#: order/views.py:174 msgid "Purchase order issued" msgstr "" -#: order/views.py:186 +#: order/views.py:185 msgid "Complete Order" msgstr "" -#: order/views.py:202 +#: order/views.py:201 msgid "Confirm order completion" msgstr "" -#: order/views.py:213 +#: order/views.py:212 msgid "Purchase order completed" msgstr "" -#: order/views.py:223 +#: order/views.py:222 msgid "Ship Order" msgstr "" -#: order/views.py:239 +#: order/views.py:238 msgid "Confirm order shipment" msgstr "" -#: order/views.py:245 +#: order/views.py:244 msgid "Could not ship order" msgstr "" -#: order/views.py:292 +#: order/views.py:291 msgid "Match Supplier Parts" msgstr "" -#: order/views.py:480 -msgid "Receive Parts" -msgstr "" - -#: order/views.py:552 -msgid "Items received" -msgstr "" - -#: order/views.py:620 -msgid "Error converting quantity to number" -msgstr "" - -#: order/views.py:626 -msgid "Receive quantity less than zero" -msgstr "" - -#: order/views.py:632 -msgid "No lines specified" -msgstr "" - -#: order/views.py:705 +#: order/views.py:535 msgid "Update prices" msgstr "" -#: order/views.py:963 +#: order/views.py:793 #, python-brace-format msgid "Ordered {n} parts" msgstr "" -#: order/views.py:1016 +#: order/views.py:846 msgid "Allocate Serial Numbers" msgstr "" -#: order/views.py:1061 +#: order/views.py:891 #, python-brace-format msgid "Allocated {n} items" msgstr "" -#: order/views.py:1077 +#: order/views.py:907 msgid "Select line item" msgstr "" -#: order/views.py:1108 +#: order/views.py:938 #, python-brace-format msgid "No matching item for serial {serial}" msgstr "" -#: order/views.py:1118 +#: order/views.py:948 #, python-brace-format msgid "{serial} is not in stock" msgstr "" -#: order/views.py:1126 +#: order/views.py:956 #, python-brace-format msgid "{serial} already allocated to an order" msgstr "" -#: order/views.py:1180 -msgid "Allocate Stock to Order" -msgstr "" - -#: order/views.py:1254 -msgid "Edit Allocation Quantity" -msgstr "" - -#: order/views.py:1269 -msgid "Remove allocation" -msgstr "" - -#: order/views.py:1341 +#: order/views.py:1072 msgid "Sales order not found" msgstr "" -#: order/views.py:1347 +#: order/views.py:1078 msgid "Price not found" msgstr "" -#: order/views.py:1350 +#: order/views.py:1081 #, python-brace-format msgid "Updated {part} unit-price to {price}" msgstr "" -#: order/views.py:1355 +#: order/views.py:1086 #, python-brace-format msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" +#: part/api.py:54 part/models.py:299 part/templates/part/cat_link.html:7 +#: part/templates/part/category.html:108 part/templates/part/category.html:122 +#: part/templates/part/category_navbar.html:21 +#: part/templates/part/category_navbar.html:24 +#: templates/InvenTree/index.html:102 templates/InvenTree/search.html:114 +#: templates/InvenTree/settings/navbar.html:95 +#: templates/InvenTree/settings/navbar.html:97 +#: templates/js/translated/part.js:1165 templates/navbar.html:29 +#: templates/stats.html:80 templates/stats.html:89 users/models.py:41 +msgid "Parts" +msgstr "" + #: part/api.py:700 msgid "Must be greater than zero" msgstr "" @@ -3934,7 +3804,7 @@ msgstr "" msgid "This field is required" msgstr "" -#: part/bom.py:133 part/models.py:75 part/models.py:733 +#: part/bom.py:133 part/models.py:76 part/models.py:734 #: part/templates/part/category.html:75 part/templates/part/part_base.html:290 msgid "Default Location" msgstr "" @@ -3999,7 +3869,7 @@ msgstr "" msgid "Include part supplier data in exported BOM" msgstr "" -#: part/forms.py:96 part/models.py:2250 +#: part/forms.py:96 part/models.py:2254 msgid "Parent Part" msgstr "" @@ -4043,391 +3913,387 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:76 +#: part/models.py:77 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:79 +#: part/models.py:80 msgid "Default keywords" msgstr "" -#: part/models.py:79 +#: part/models.py:80 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:89 part/models.py:2296 +#: part/models.py:90 part/models.py:2300 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:90 part/templates/part/category.html:32 +#: part/models.py:91 part/templates/part/category.html:32 #: part/templates/part/category.html:103 templates/InvenTree/search.html:127 #: templates/stats.html:84 users/models.py:40 msgid "Part Categories" msgstr "" -#: part/models.py:383 +#: part/models.py:384 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:435 part/models.py:447 +#: part/models.py:436 part/models.py:448 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:544 +#: part/models.py:545 msgid "Next available serial numbers are" msgstr "" -#: part/models.py:548 +#: part/models.py:549 msgid "Next available serial number is" msgstr "" -#: part/models.py:553 +#: part/models.py:554 msgid "Most recent serial number is" msgstr "" -#: part/models.py:632 +#: part/models.py:633 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:657 +#: part/models.py:658 msgid "Part name" msgstr "" -#: part/models.py:664 +#: part/models.py:665 msgid "Is Template" msgstr "" -#: part/models.py:665 +#: part/models.py:666 msgid "Is this part a template part?" msgstr "" -#: part/models.py:675 +#: part/models.py:676 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:676 +#: part/models.py:677 msgid "Variant Of" msgstr "" -#: part/models.py:682 +#: part/models.py:683 msgid "Part description" msgstr "" -#: part/models.py:687 part/templates/part/category.html:82 +#: part/models.py:688 part/templates/part/category.html:82 #: part/templates/part/part_base.html:259 msgid "Keywords" msgstr "" -#: part/models.py:688 +#: part/models.py:689 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:695 part/models.py:2295 +#: part/models.py:696 part/models.py:2299 #: part/templates/part/set_category.html:15 -#: templates/InvenTree/settings/settings.html:167 -#: templates/js/translated/part.js:916 +#: templates/InvenTree/settings/settings.html:169 +#: templates/js/translated/part.js:927 msgid "Category" msgstr "" -#: part/models.py:696 +#: part/models.py:697 msgid "Part category" msgstr "" -#: part/models.py:701 part/templates/part/part_base.html:235 -#: templates/js/translated/part.js:517 templates/js/translated/part.js:749 +#: part/models.py:702 part/templates/part/part_base.html:235 +#: templates/js/translated/part.js:528 templates/js/translated/part.js:760 msgid "IPN" msgstr "" -#: part/models.py:702 +#: part/models.py:703 msgid "Internal Part Number" msgstr "" -#: part/models.py:708 +#: part/models.py:709 msgid "Part revision or version number" msgstr "" -#: part/models.py:709 part/templates/part/part_base.html:252 -#: report/models.py:200 templates/js/translated/part.js:521 +#: part/models.py:710 part/templates/part/part_base.html:252 +#: report/models.py:200 templates/js/translated/part.js:532 msgid "Revision" msgstr "" -#: part/models.py:731 +#: part/models.py:732 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:778 part/templates/part/part_base.html:297 +#: part/models.py:779 part/templates/part/part_base.html:297 msgid "Default Supplier" msgstr "" -#: part/models.py:779 +#: part/models.py:780 msgid "Default supplier part" msgstr "" -#: part/models.py:786 +#: part/models.py:787 msgid "Default Expiry" msgstr "" -#: part/models.py:787 +#: part/models.py:788 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:792 +#: part/models.py:793 msgid "Minimum Stock" msgstr "" -#: part/models.py:793 +#: part/models.py:794 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:800 +#: part/models.py:801 msgid "Stock keeping units for this part" msgstr "" -#: part/models.py:806 +#: part/models.py:807 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:812 +#: part/models.py:813 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:818 +#: part/models.py:819 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:823 +#: part/models.py:824 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:828 +#: part/models.py:829 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:832 templates/js/translated/table_filters.js:34 +#: part/models.py:833 templates/js/translated/table_filters.js:34 #: templates/js/translated/table_filters.js:82 #: templates/js/translated/table_filters.js:268 -#: templates/js/translated/table_filters.js:337 +#: templates/js/translated/table_filters.js:346 msgid "Active" msgstr "" -#: part/models.py:833 +#: part/models.py:834 msgid "Is this part active?" msgstr "" -#: part/models.py:838 +#: part/models.py:839 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:843 +#: part/models.py:844 msgid "Part notes - supports Markdown formatting" msgstr "" -#: part/models.py:846 +#: part/models.py:847 msgid "BOM checksum" msgstr "" -#: part/models.py:846 +#: part/models.py:847 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:849 +#: part/models.py:850 msgid "BOM checked by" msgstr "" -#: part/models.py:851 +#: part/models.py:852 msgid "BOM checked date" msgstr "" -#: part/models.py:855 +#: part/models.py:856 msgid "Creation User" msgstr "" -#: part/models.py:1601 +#: part/models.py:1605 msgid "Sell multiple" msgstr "" -#: part/models.py:2096 +#: part/models.py:2100 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:2113 +#: part/models.py:2117 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:2133 templates/js/translated/part.js:1205 -#: templates/js/translated/stock.js:556 +#: part/models.py:2137 templates/js/translated/part.js:1216 +#: templates/js/translated/stock.js:535 msgid "Test Name" msgstr "" -#: part/models.py:2134 +#: part/models.py:2138 msgid "Enter a name for the test" msgstr "" -#: part/models.py:2139 +#: part/models.py:2143 msgid "Test Description" msgstr "" -#: part/models.py:2140 +#: part/models.py:2144 msgid "Enter description for this test" msgstr "" -#: part/models.py:2145 templates/js/translated/part.js:1214 +#: part/models.py:2149 templates/js/translated/part.js:1225 #: templates/js/translated/table_filters.js:254 msgid "Required" msgstr "" -#: part/models.py:2146 +#: part/models.py:2150 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:2151 templates/js/translated/part.js:1222 +#: part/models.py:2155 templates/js/translated/part.js:1233 msgid "Requires Value" msgstr "" -#: part/models.py:2152 +#: part/models.py:2156 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:2157 templates/js/translated/part.js:1229 +#: part/models.py:2161 templates/js/translated/part.js:1240 msgid "Requires Attachment" msgstr "" -#: part/models.py:2158 +#: part/models.py:2162 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:2169 +#: part/models.py:2173 #, python-brace-format msgid "Illegal character in template name ({c})" msgstr "" -#: part/models.py:2205 +#: part/models.py:2209 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:2213 +#: part/models.py:2217 msgid "Parameter Name" msgstr "" -#: part/models.py:2220 +#: part/models.py:2224 msgid "Parameter Units" msgstr "" -#: part/models.py:2252 part/models.py:2301 part/models.py:2302 -#: templates/InvenTree/settings/settings.html:162 +#: part/models.py:2256 part/models.py:2305 part/models.py:2306 +#: templates/InvenTree/settings/settings.html:164 msgid "Parameter Template" msgstr "" -#: part/models.py:2254 +#: part/models.py:2258 msgid "Data" msgstr "" -#: part/models.py:2254 +#: part/models.py:2258 msgid "Parameter Value" msgstr "" -#: part/models.py:2306 templates/InvenTree/settings/settings.html:171 +#: part/models.py:2310 templates/InvenTree/settings/settings.html:173 msgid "Default Value" msgstr "" -#: part/models.py:2307 +#: part/models.py:2311 msgid "Default Parameter Value" msgstr "" -#: part/models.py:2341 +#: part/models.py:2362 msgid "Select parent part" msgstr "" -#: part/models.py:2349 +#: part/models.py:2370 msgid "Sub part" msgstr "" -#: part/models.py:2350 +#: part/models.py:2371 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:2356 +#: part/models.py:2377 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:2358 templates/js/translated/bom.js:256 -#: templates/js/translated/bom.js:314 +#: part/models.py:2379 templates/js/translated/bom.js:275 +#: templates/js/translated/bom.js:335 msgid "Optional" msgstr "" -#: part/models.py:2358 +#: part/models.py:2379 msgid "This BOM item is optional" msgstr "" -#: part/models.py:2361 +#: part/models.py:2382 msgid "Overage" msgstr "" -#: part/models.py:2362 +#: part/models.py:2383 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:2365 +#: part/models.py:2386 msgid "BOM item reference" msgstr "" -#: part/models.py:2368 +#: part/models.py:2389 msgid "BOM item notes" msgstr "" -#: part/models.py:2370 +#: part/models.py:2391 msgid "Checksum" msgstr "" -#: part/models.py:2370 +#: part/models.py:2391 msgid "BOM line checksum" msgstr "" -#: part/models.py:2374 templates/js/translated/bom.js:331 -#: templates/js/translated/bom.js:338 +#: part/models.py:2395 templates/js/translated/bom.js:352 +#: templates/js/translated/bom.js:359 #: templates/js/translated/table_filters.js:68 msgid "Inherited" msgstr "" -#: part/models.py:2375 +#: part/models.py:2396 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:2380 templates/js/translated/bom.js:323 +#: part/models.py:2401 templates/js/translated/bom.js:344 msgid "Allow Variants" msgstr "" -#: part/models.py:2381 +#: part/models.py:2402 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:2466 stock/models.py:341 +#: part/models.py:2487 stock/models.py:341 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:2475 part/models.py:2477 +#: part/models.py:2496 part/models.py:2498 msgid "Sub part must be specified" msgstr "" -#: part/models.py:2480 -msgid "BOM Item" -msgstr "" - -#: part/models.py:2599 +#: part/models.py:2620 msgid "Part 1" msgstr "" -#: part/models.py:2603 +#: part/models.py:2624 msgid "Part 2" msgstr "" -#: part/models.py:2603 +#: part/models.py:2624 msgid "Select Related Part" msgstr "" -#: part/models.py:2635 +#: part/models.py:2656 msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique" msgstr "" @@ -4578,7 +4444,7 @@ msgstr "" msgid "Create new part" msgstr "" -#: part/templates/part/category.html:131 +#: part/templates/part/category.html:131 templates/js/translated/bom.js:39 msgid "New Part" msgstr "" @@ -4658,7 +4524,7 @@ msgstr "" msgid "Import Parts" msgstr "" -#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:352 +#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:363 msgid "Duplicate Part" msgstr "" @@ -4785,34 +4651,26 @@ msgstr "" msgid "Add Test Result Template" msgstr "" -#: part/templates/part/detail.html:716 -msgid "Edit Test Result Template" -msgstr "" - -#: part/templates/part/detail.html:728 -msgid "Delete Test Result Template" -msgstr "" - -#: part/templates/part/detail.html:784 +#: part/templates/part/detail.html:755 msgid "Edit Part Notes" msgstr "" -#: part/templates/part/detail.html:936 +#: part/templates/part/detail.html:907 #, python-format msgid "Purchase Unit Price - %(currency)s" msgstr "" -#: part/templates/part/detail.html:948 +#: part/templates/part/detail.html:919 #, python-format msgid "Unit Price-Cost Difference - %(currency)s" msgstr "" -#: part/templates/part/detail.html:960 +#: part/templates/part/detail.html:931 #, python-format msgid "Supplier Unit Cost - %(currency)s" msgstr "" -#: part/templates/part/detail.html:1049 +#: part/templates/part/detail.html:1020 #, python-format msgid "Unit Price - %(currency)s" msgstr "" @@ -4874,9 +4732,9 @@ msgstr "" msgid "Part is virtual (not a physical part)" msgstr "" -#: part/templates/part/part_base.html:58 templates/js/translated/company.js:503 -#: templates/js/translated/company.js:759 templates/js/translated/part.js:432 -#: templates/js/translated/part.js:509 +#: part/templates/part/part_base.html:58 templates/js/translated/company.js:504 +#: templates/js/translated/company.js:761 templates/js/translated/part.js:443 +#: templates/js/translated/part.js:520 msgid "Inactive" msgstr "" @@ -4942,10 +4800,16 @@ msgid "This part is a variant of %(link)s" msgstr "" #: part/templates/part/part_base.html:161 +#: templates/js/translated/model_renderers.js:169 +#: templates/js/translated/order.js:1503 #: templates/js/translated/table_filters.js:166 msgid "In Stock" msgstr "" +#: part/templates/part/part_base.html:167 templates/js/translated/part.js:960 +msgid "On Order" +msgstr "" + #: part/templates/part/part_base.html:174 templates/InvenTree/index.html:186 msgid "Required for Build Orders" msgstr "" @@ -4958,18 +4822,18 @@ msgstr "" msgid "Allocated to Orders" msgstr "" -#: part/templates/part/part_base.html:203 templates/js/translated/bom.js:352 +#: part/templates/part/part_base.html:203 templates/js/translated/bom.js:373 msgid "Can Build" msgstr "" -#: part/templates/part/part_base.html:209 templates/js/translated/part.js:765 -#: templates/js/translated/part.js:953 +#: part/templates/part/part_base.html:209 templates/js/translated/part.js:776 +#: templates/js/translated/part.js:964 msgid "Building" msgstr "" #: part/templates/part/part_base.html:223 -#: part/templates/part/part_base.html:524 -#: part/templates/part/part_base.html:550 +#: part/templates/part/part_base.html:531 +#: part/templates/part/part_base.html:557 msgid "Show Part Details" msgstr "" @@ -4977,16 +4841,16 @@ msgstr "" msgid "Latest Serial Number" msgstr "" -#: part/templates/part/part_base.html:396 part/templates/part/prices.html:144 +#: part/templates/part/part_base.html:402 part/templates/part/prices.html:144 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:439 +#: part/templates/part/part_base.html:445 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:519 -#: part/templates/part/part_base.html:544 +#: part/templates/part/part_base.html:526 +#: part/templates/part/part_base.html:551 msgid "Hide Part Details" msgstr "" @@ -5013,7 +4877,7 @@ msgid "Total Cost" msgstr "" #: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:40 -#: templates/js/translated/bom.js:307 +#: templates/js/translated/bom.js:327 msgid "No supplier pricing available" msgstr "" @@ -5051,32 +4915,39 @@ msgstr "" msgid "Select from existing images" msgstr "" -#: part/templates/part/partial_delete.html:7 +#: part/templates/part/partial_delete.html:9 +#, python-format +msgid "Part '%(full_name)s' cannot be deleted as it is still marked as active.\n" +"
Disable the \"Active\" part attribute and re-try.\n" +" " +msgstr "" + +#: part/templates/part/partial_delete.html:17 #, python-format msgid "Are you sure you want to delete part '%(full_name)s'?" msgstr "" -#: part/templates/part/partial_delete.html:12 +#: part/templates/part/partial_delete.html:22 #, python-format msgid "This part is used in BOMs for %(count)s other parts. If you delete this part, the BOMs for the following parts will be updated" msgstr "" -#: part/templates/part/partial_delete.html:22 +#: part/templates/part/partial_delete.html:32 #, python-format msgid "There are %(count)s stock entries defined for this part. If you delete this part, the following stock entries will also be deleted:" msgstr "" -#: part/templates/part/partial_delete.html:33 +#: part/templates/part/partial_delete.html:43 #, python-format msgid "There are %(count)s manufacturers defined for this part. If you delete this part, the following manufacturer parts will also be deleted:" msgstr "" -#: part/templates/part/partial_delete.html:44 +#: part/templates/part/partial_delete.html:54 #, python-format msgid "There are %(count)s suppliers defined for this part. If you delete this part, the following supplier parts will also be deleted:" msgstr "" -#: part/templates/part/partial_delete.html:55 +#: part/templates/part/partial_delete.html:65 #, python-format msgid "There are %(count)s unique parts tracked for '%(full_name)s'. Deleting this part will permanently remove this tracking information." msgstr "" @@ -5109,7 +4980,7 @@ msgstr "" msgid "Calculation parameters" msgstr "" -#: part/templates/part/prices.html:155 templates/js/translated/bom.js:301 +#: part/templates/part/prices.html:155 templates/js/translated/bom.js:321 msgid "Supplier Cost" msgstr "" @@ -5151,8 +5022,9 @@ msgstr "" msgid "Set category for the following parts" msgstr "" -#: part/templates/part/stock_count.html:7 templates/js/translated/bom.js:278 -#: templates/js/translated/part.js:755 templates/js/translated/part.js:957 +#: part/templates/part/stock_count.html:7 templates/js/translated/bom.js:297 +#: templates/js/translated/model_renderers.js:167 +#: templates/js/translated/part.js:766 templates/js/translated/part.js:968 msgid "No Stock" msgstr "" @@ -5262,7 +5134,7 @@ msgstr "" msgid "Delete Part Parameter Template" msgstr "" -#: part/views.py:1502 templates/js/translated/part.js:303 +#: part/views.py:1502 templates/js/translated/part.js:308 msgid "Edit Part Category" msgstr "" @@ -5400,17 +5272,17 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:88 -#: stock/models.py:1807 +#: stock/models.py:1804 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:89 -#: stock/models.py:1813 +#: stock/models.py:1810 msgid "Result" msgstr "" #: report/templates/report/inventree_test_report_base.html:92 -#: templates/js/translated/order.js:353 templates/js/translated/stock.js:1523 +#: templates/js/translated/order.js:684 templates/js/translated/stock.js:1502 msgid "Date" msgstr "" @@ -5422,51 +5294,9 @@ msgstr "" msgid "Fail" msgstr "" -#: stock/api.py:146 -msgid "Request must contain list of stock items" -msgstr "" - -#: stock/api.py:154 -msgid "Improperly formatted data" -msgstr "" - -#: stock/api.py:162 -msgid "Each entry must contain a valid integer primary-key" -msgstr "" - -#: stock/api.py:168 -msgid "Primary key does not match valid stock item" -msgstr "" - -#: stock/api.py:178 -msgid "Invalid quantity value" -msgstr "" - -#: stock/api.py:183 -msgid "Quantity must not be less than zero" -msgstr "" - -#: stock/api.py:211 -#, python-brace-format -msgid "Updated stock for {n} items" -msgstr "" - -#: stock/api.py:247 stock/api.py:280 -msgid "Specified quantity exceeds stock quantity" -msgstr "" - -#: stock/api.py:270 -msgid "Valid location must be specified" -msgstr "" - -#: stock/api.py:290 -#, python-brace-format -msgid "Moved {n} parts to {loc}" -msgstr "" - #: stock/forms.py:79 stock/forms.py:307 stock/models.py:556 #: stock/templates/stock/item_base.html:395 -#: templates/js/translated/stock.js:967 +#: templates/js/translated/stock.js:946 msgid "Expiry Date" msgstr "" @@ -5678,38 +5508,54 @@ msgstr "" msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:1727 +#: stock/models.py:1724 msgid "Entry notes" msgstr "" -#: stock/models.py:1784 +#: stock/models.py:1781 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:1790 +#: stock/models.py:1787 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:1808 +#: stock/models.py:1805 msgid "Test name" msgstr "" -#: stock/models.py:1814 templates/js/translated/table_filters.js:244 +#: stock/models.py:1811 templates/js/translated/table_filters.js:244 msgid "Test result" msgstr "" -#: stock/models.py:1820 +#: stock/models.py:1817 msgid "Test output value" msgstr "" -#: stock/models.py:1827 +#: stock/models.py:1824 msgid "Test result attachment" msgstr "" -#: stock/models.py:1833 +#: stock/models.py:1830 msgid "Test notes" msgstr "" +#: stock/serializers.py:424 +msgid "StockItem primary key value" +msgstr "" + +#: stock/serializers.py:452 +msgid "Stock transaction notes" +msgstr "" + +#: stock/serializers.py:462 +msgid "A list of stock items must be provided" +msgstr "" + +#: stock/serializers.py:554 +msgid "Destination stock location" +msgstr "" + #: stock/templates/stock/item.html:17 msgid "Stock Tracking Information" msgstr "" @@ -5747,7 +5593,7 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:125 stock/views.py:534 +#: stock/templates/stock/item.html:125 stock/views.py:511 msgid "Install Stock Item" msgstr "" @@ -5910,7 +5756,7 @@ msgid "next page" msgstr "" #: stock/templates/stock/item_base.html:303 -#: templates/js/translated/build.js:651 +#: templates/js/translated/build.js:658 msgid "No location set" msgstr "" @@ -5937,7 +5783,7 @@ msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:408 -#: templates/js/translated/stock.js:980 +#: templates/js/translated/stock.js:959 msgid "Last Updated" msgstr "" @@ -6019,6 +5865,10 @@ msgstr "" msgid "All stock items" msgstr "" +#: stock/templates/stock/location.html:42 +msgid "Create new stock location" +msgstr "" + #: stock/templates/stock/location.html:55 msgid "Check-in Items" msgstr "" @@ -6058,7 +5908,7 @@ msgstr "" msgid "Stock Details" msgstr "" -#: stock/templates/stock/location.html:129 templates/InvenTree/search.html:279 +#: stock/templates/stock/location.html:129 templates/InvenTree/search.html:196 #: templates/stats.html:97 users/models.py:42 msgid "Stock Locations" msgstr "" @@ -6071,6 +5921,10 @@ msgstr "" msgid "Print labels" msgstr "" +#: stock/templates/stock/location.html:250 +msgid "New Location" +msgstr "" + #: stock/templates/stock/location.html:251 msgid "Create new location" msgstr "" @@ -6111,7 +5965,7 @@ msgstr "" msgid "The following stock items will be uninstalled" msgstr "" -#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:932 +#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:909 msgid "Convert Stock Item" msgstr "" @@ -6132,104 +5986,104 @@ msgstr "" msgid "Are you sure you want to delete this stock tracking entry?" msgstr "" -#: stock/views.py:181 +#: stock/views.py:158 msgid "Edit Stock Location" msgstr "" -#: stock/views.py:288 stock/views.py:911 stock/views.py:1033 -#: stock/views.py:1398 +#: stock/views.py:265 stock/views.py:888 stock/views.py:1010 +#: stock/views.py:1375 msgid "Owner is required (ownership control is enabled)" msgstr "" -#: stock/views.py:303 +#: stock/views.py:280 msgid "Stock Location QR code" msgstr "" -#: stock/views.py:322 +#: stock/views.py:299 msgid "Assign to Customer" msgstr "" -#: stock/views.py:331 +#: stock/views.py:308 msgid "Customer must be specified" msgstr "" -#: stock/views.py:355 +#: stock/views.py:332 msgid "Return to Stock" msgstr "" -#: stock/views.py:364 +#: stock/views.py:341 msgid "Specify a valid location" msgstr "" -#: stock/views.py:375 +#: stock/views.py:352 msgid "Stock item returned from customer" msgstr "" -#: stock/views.py:386 +#: stock/views.py:363 msgid "Delete All Test Data" msgstr "" -#: stock/views.py:403 +#: stock/views.py:380 msgid "Confirm test data deletion" msgstr "" -#: stock/views.py:508 +#: stock/views.py:485 msgid "Stock Item QR Code" msgstr "" -#: stock/views.py:683 +#: stock/views.py:660 msgid "Uninstall Stock Items" msgstr "" -#: stock/views.py:780 templates/js/translated/stock.js:353 +#: stock/views.py:757 templates/js/translated/stock.js:321 msgid "Confirm stock adjustment" msgstr "" -#: stock/views.py:791 +#: stock/views.py:768 msgid "Uninstalled stock items" msgstr "" -#: stock/views.py:813 +#: stock/views.py:790 msgid "Edit Stock Item" msgstr "" -#: stock/views.py:959 +#: stock/views.py:936 msgid "Create new Stock Location" msgstr "" -#: stock/views.py:1050 +#: stock/views.py:1027 msgid "Serialize Stock" msgstr "" -#: stock/views.py:1143 templates/js/translated/build.js:392 +#: stock/views.py:1120 msgid "Create new Stock Item" msgstr "" -#: stock/views.py:1285 +#: stock/views.py:1262 msgid "Duplicate Stock Item" msgstr "" -#: stock/views.py:1367 +#: stock/views.py:1344 msgid "Quantity cannot be negative" msgstr "" -#: stock/views.py:1467 +#: stock/views.py:1444 msgid "Delete Stock Location" msgstr "" -#: stock/views.py:1480 +#: stock/views.py:1457 msgid "Delete Stock Item" msgstr "" -#: stock/views.py:1491 +#: stock/views.py:1468 msgid "Delete Stock Tracking Entry" msgstr "" -#: stock/views.py:1498 +#: stock/views.py:1475 msgid "Edit Stock Tracking Entry" msgstr "" -#: stock/views.py:1507 +#: stock/views.py:1484 msgid "Add Stock Tracking Entry" msgstr "" @@ -6313,14 +6167,6 @@ msgstr "" msgid "Enter a search query" msgstr "" -#: templates/InvenTree/search.html:268 templates/js/translated/stock.js:699 -msgid "Shipped to customer" -msgstr "" - -#: templates/InvenTree/search.html:271 templates/js/translated/stock.js:709 -msgid "No stock location set" -msgstr "" - #: templates/InvenTree/settings/barcode.html:8 msgid "Barcode Settings" msgstr "" @@ -6365,6 +6211,14 @@ msgstr "" msgid "Setting" msgstr "" +#: templates/InvenTree/settings/login.html:9 +msgid "Login Settings" +msgstr "" + +#: templates/InvenTree/settings/login.html:22 templates/account/signup.html:5 +msgid "Signup" +msgstr "" + #: templates/InvenTree/settings/navbar.html:12 #: templates/InvenTree/settings/user_settings.html:9 msgid "User Settings" @@ -6382,7 +6236,7 @@ msgstr "" #: templates/InvenTree/settings/navbar.html:27 #: templates/InvenTree/settings/navbar.html:29 -#: templates/js/translated/tables.js:366 templates/search_form.html:6 +#: templates/js/translated/tables.js:375 templates/search_form.html:6 #: templates/search_form.html:8 msgid "Search" msgstr "" @@ -6397,38 +6251,48 @@ msgstr "" msgid "Reports" msgstr "" -#: templates/InvenTree/settings/navbar.html:46 -#: templates/InvenTree/settings/navbar.html:48 -#: templates/InvenTree/settings/settings.html:8 templates/navbar.html:94 +#: templates/InvenTree/settings/navbar.html:45 +#: templates/InvenTree/settings/navbar.html:47 +msgid "Forms" +msgstr "" + +#: templates/InvenTree/settings/navbar.html:52 +#: templates/InvenTree/settings/navbar.html:54 +#: templates/InvenTree/settings/settings.html:8 templates/navbar.html:90 msgid "Settings" msgstr "" -#: templates/InvenTree/settings/navbar.html:56 +#: templates/InvenTree/settings/navbar.html:62 msgid "InvenTree Settings" msgstr "" -#: templates/InvenTree/settings/navbar.html:59 -#: templates/InvenTree/settings/navbar.html:61 templates/stats.html:9 +#: templates/InvenTree/settings/navbar.html:65 +#: templates/InvenTree/settings/navbar.html:67 templates/stats.html:9 msgid "Server" msgstr "" -#: templates/InvenTree/settings/navbar.html:65 -#: templates/InvenTree/settings/navbar.html:67 -msgid "Barcodes" -msgstr "" - #: templates/InvenTree/settings/navbar.html:71 -#: templates/InvenTree/settings/navbar.html:73 -msgid "Currencies" +#: templates/InvenTree/settings/navbar.html:73 templates/navbar.html:87 +msgid "Login" msgstr "" #: templates/InvenTree/settings/navbar.html:77 #: templates/InvenTree/settings/navbar.html:79 -msgid "Reporting" +msgid "Barcodes" +msgstr "" + +#: templates/InvenTree/settings/navbar.html:83 +#: templates/InvenTree/settings/navbar.html:85 +msgid "Currencies" msgstr "" #: templates/InvenTree/settings/navbar.html:89 #: templates/InvenTree/settings/navbar.html:91 +msgid "Reporting" +msgstr "" + +#: templates/InvenTree/settings/navbar.html:101 +#: templates/InvenTree/settings/navbar.html:103 msgid "Categories" msgstr "" @@ -6469,21 +6333,21 @@ msgstr "" msgid "Edit setting" msgstr "" -#: templates/InvenTree/settings/settings.html:152 +#: templates/InvenTree/settings/settings.html:154 msgid "No category parameter templates found" msgstr "" -#: templates/InvenTree/settings/settings.html:174 -#: templates/InvenTree/settings/settings.html:273 +#: templates/InvenTree/settings/settings.html:176 +#: templates/InvenTree/settings/settings.html:275 msgid "Edit Template" msgstr "" -#: templates/InvenTree/settings/settings.html:175 -#: templates/InvenTree/settings/settings.html:274 +#: templates/InvenTree/settings/settings.html:177 +#: templates/InvenTree/settings/settings.html:276 msgid "Delete Template" msgstr "" -#: templates/InvenTree/settings/settings.html:253 +#: templates/InvenTree/settings/settings.html:255 msgid "No part parameter templates found" msgstr "" @@ -6495,70 +6359,140 @@ msgstr "" msgid "Stock Settings" msgstr "" -#: templates/InvenTree/settings/user.html:9 +#: templates/InvenTree/settings/user.html:11 msgid "Account Settings" msgstr "" -#: templates/InvenTree/settings/user.html:15 +#: templates/InvenTree/settings/user.html:19 #: templates/js/translated/helpers.js:26 msgid "Edit" msgstr "" -#: templates/InvenTree/settings/user.html:17 +#: templates/InvenTree/settings/user.html:21 +#: templates/account/password_reset_from_key.html:4 +#: templates/account/password_reset_from_key.html:7 msgid "Change Password" msgstr "" -#: templates/InvenTree/settings/user.html:24 -#: templates/registration/login.html:58 +#: templates/InvenTree/settings/user.html:28 msgid "Username" msgstr "" -#: templates/InvenTree/settings/user.html:28 +#: templates/InvenTree/settings/user.html:32 msgid "First Name" msgstr "" -#: templates/InvenTree/settings/user.html:32 +#: templates/InvenTree/settings/user.html:36 msgid "Last Name" msgstr "" -#: templates/InvenTree/settings/user.html:36 -msgid "Email Address" +#: templates/InvenTree/settings/user.html:42 +msgid "E-Mail" msgstr "" -#: templates/InvenTree/settings/user.html:42 -msgid "Theme Settings" +#: templates/InvenTree/settings/user.html:47 +msgid "The following e-mail addresses are associated with your account:" +msgstr "" + +#: templates/InvenTree/settings/user.html:61 +msgid "Verified" msgstr "" #: templates/InvenTree/settings/user.html:63 +msgid "Unverified" +msgstr "" + +#: templates/InvenTree/settings/user.html:65 +msgid "Primary" +msgstr "" + +#: templates/InvenTree/settings/user.html:71 +msgid "Make Primary" +msgstr "" + +#: templates/InvenTree/settings/user.html:72 +msgid "Re-send Verification" +msgstr "" + +#: templates/InvenTree/settings/user.html:73 +#: templates/InvenTree/settings/user.html:130 +msgid "Remove" +msgstr "" + +#: templates/InvenTree/settings/user.html:80 +msgid "Warning:" +msgstr "" + +#: templates/InvenTree/settings/user.html:81 +msgid "You currently do not have any e-mail address set up. You should really add an e-mail address so you can receive notifications, reset your password, etc." +msgstr "" + +#: templates/InvenTree/settings/user.html:88 +msgid "Add E-mail Address" +msgstr "" + +#: templates/InvenTree/settings/user.html:93 +msgid "Add E-mail" +msgstr "" + +#: templates/InvenTree/settings/user.html:100 +msgid "Social Accounts" +msgstr "" + +#: templates/InvenTree/settings/user.html:105 +msgid "You can sign in to your account using any of the following third party accounts:" +msgstr "" + +#: templates/InvenTree/settings/user.html:138 +msgid "You currently have no social network accounts connected to this account." +msgstr "" + +#: templates/InvenTree/settings/user.html:142 +msgid "Add a 3rd Party Account" +msgstr "" + +#: templates/InvenTree/settings/user.html:153 +msgid "Theme Settings" +msgstr "" + +#: templates/InvenTree/settings/user.html:174 msgid "Set Theme" msgstr "" -#: templates/InvenTree/settings/user.html:70 +#: templates/InvenTree/settings/user.html:181 msgid "Language Settings" msgstr "" -#: templates/InvenTree/settings/user.html:89 +#: templates/InvenTree/settings/user.html:200 #, python-format msgid "%(lang_translated)s%% translated" msgstr "" -#: templates/InvenTree/settings/user.html:91 +#: templates/InvenTree/settings/user.html:202 msgid "No translations available" msgstr "" -#: templates/InvenTree/settings/user.html:98 +#: templates/InvenTree/settings/user.html:209 msgid "Set Language" msgstr "" -#: templates/InvenTree/settings/user.html:103 +#: templates/InvenTree/settings/user.html:214 msgid "Help the translation efforts!" msgstr "" -#: templates/InvenTree/settings/user.html:104 +#: templates/InvenTree/settings/user.html:215 #, python-format msgid "Native language translation of the InvenTree web application is community contributed via crowdin. Contributions are welcomed and encouraged." msgstr "" +#: templates/InvenTree/settings/user.html:223 +msgid "Do you really want to remove the selected e-mail address?" +msgstr "" + +#: templates/InvenTree/settings/user_forms.html:9 +msgid "Form Settings" +msgstr "" + #: templates/InvenTree/settings/user_homepage.html:9 msgid "Home Page Settings" msgstr "" @@ -6641,11 +6575,108 @@ msgstr "" #: templates/about.html:107 templates/js/translated/modals.js:50 #: templates/js/translated/modals.js:584 templates/js/translated/modals.js:678 -#: templates/js/translated/modals.js:971 templates/modals.html:29 +#: templates/js/translated/modals.js:982 templates/modals.html:29 #: templates/modals.html:54 msgid "Close" msgstr "" +#: templates/account/email_confirm.html:6 +#: templates/account/email_confirm.html:10 +msgid "Confirm E-mail Address" +msgstr "" + +#: templates/account/email_confirm.html:16 +#, python-format +msgid "Please confirm that %(email)s is an e-mail address for user %(user_display)s." +msgstr "" + +#: templates/account/email_confirm.html:27 +#, python-format +msgid "This e-mail confirmation link expired or is invalid. Please issue a new e-mail confirmation request." +msgstr "" + +#: templates/account/login.html:5 templates/account/login.html:14 +#: templates/account/login.html:36 +msgid "Sign In" +msgstr "" + +#: templates/account/login.html:19 +#, python-format +msgid "Please sign in with one\n" +"of your existing third party accounts or sign up\n" +"for a account and sign in below:" +msgstr "" + +#: templates/account/login.html:23 +#, python-format +msgid "If you have not created an account yet, then please\n" +"sign up first." +msgstr "" + +#: templates/account/login.html:38 +msgid "Forgot Password?" +msgstr "" + +#: templates/account/login.html:45 +msgid "or use SSO" +msgstr "" + +#: templates/account/logout.html:5 templates/account/logout.html:8 +#: templates/account/logout.html:17 +msgid "Sign Out" +msgstr "" + +#: templates/account/logout.html:10 +msgid "Are you sure you want to sign out?" +msgstr "" + +#: templates/account/password_reset.html:5 +#: templates/account/password_reset.html:12 +msgid "Password Reset" +msgstr "" + +#: templates/account/password_reset.html:18 +msgid "Forgotten your password? Enter your e-mail address below, and we'll send you an e-mail allowing you to reset it." +msgstr "" + +#: templates/account/password_reset.html:23 +msgid "Reset My Password" +msgstr "" + +#: templates/account/password_reset.html:27 templates/account/signup.html:36 +msgid "This function is currently disabled. Please contact an administrator." +msgstr "" + +#: templates/account/password_reset_from_key.html:7 +msgid "Bad Token" +msgstr "" + +#: templates/account/password_reset_from_key.html:11 +#, python-format +msgid "The password reset link was invalid, possibly because it has already been used. Please request a new password reset." +msgstr "" + +#: templates/account/password_reset_from_key.html:17 +msgid "change password" +msgstr "" + +#: templates/account/password_reset_from_key.html:20 +msgid "Your password is now changed." +msgstr "" + +#: templates/account/signup.html:11 templates/account/signup.html:22 +msgid "Sign Up" +msgstr "" + +#: templates/account/signup.html:13 +#, python-format +msgid "Already have an account? Then please sign in." +msgstr "" + +#: templates/account/signup.html:27 +msgid "Or use a SSO-provider for signup" +msgstr "" + #: templates/image_download.html:8 msgid "Specify URL for downloading image" msgstr "" @@ -6675,7 +6706,7 @@ msgid "Select Test Report Template" msgstr "" #: templates/js/report.js:98 templates/js/translated/label.js:29 -#: templates/js/translated/report.js:118 templates/js/translated/stock.js:313 +#: templates/js/translated/report.js:118 templates/js/translated/stock.js:297 msgid "Select Stock Items" msgstr "" @@ -6707,8 +6738,8 @@ msgstr "" msgid "No report templates found which match selected build(s)" msgstr "" -#: templates/js/report.js:205 templates/js/translated/label.js:134 -#: templates/js/translated/report.js:225 +#: templates/js/report.js:205 templates/js/translated/build.js:948 +#: templates/js/translated/label.js:134 templates/js/translated/report.js:225 msgid "Select Parts" msgstr "" @@ -6741,11 +6772,11 @@ msgstr "" msgid "Sales Order(s) must be selected before printing report" msgstr "" -#: templates/js/translated/api.js:174 templates/js/translated/modals.js:1041 +#: templates/js/translated/api.js:174 templates/js/translated/modals.js:1052 msgid "No Response" msgstr "" -#: templates/js/translated/api.js:175 templates/js/translated/modals.js:1042 +#: templates/js/translated/api.js:175 templates/js/translated/modals.js:1053 msgid "No response from the InvenTree server" msgstr "" @@ -6757,35 +6788,35 @@ msgstr "" msgid "API request returned error code 400" msgstr "" -#: templates/js/translated/api.js:186 templates/js/translated/modals.js:1051 +#: templates/js/translated/api.js:186 templates/js/translated/modals.js:1062 msgid "Error 401: Not Authenticated" msgstr "" -#: templates/js/translated/api.js:187 templates/js/translated/modals.js:1052 +#: templates/js/translated/api.js:187 templates/js/translated/modals.js:1063 msgid "Authentication credentials not supplied" msgstr "" -#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1056 +#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1067 msgid "Error 403: Permission Denied" msgstr "" -#: templates/js/translated/api.js:192 templates/js/translated/modals.js:1057 +#: templates/js/translated/api.js:192 templates/js/translated/modals.js:1068 msgid "You do not have the required permissions to access this function" msgstr "" -#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1061 +#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1072 msgid "Error 404: Resource Not Found" msgstr "" -#: templates/js/translated/api.js:197 templates/js/translated/modals.js:1062 +#: templates/js/translated/api.js:197 templates/js/translated/modals.js:1073 msgid "The requested resource could not be located on the server" msgstr "" -#: templates/js/translated/api.js:201 templates/js/translated/modals.js:1066 +#: templates/js/translated/api.js:201 templates/js/translated/modals.js:1077 msgid "Error 408: Timeout" msgstr "" -#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1067 +#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1078 msgid "Connection timeout while requesting data from server" msgstr "" @@ -6842,7 +6873,7 @@ msgid "Unknown response from server" msgstr "" #: templates/js/translated/barcode.js:141 -#: templates/js/translated/modals.js:1031 +#: templates/js/translated/modals.js:1042 msgid "Invalid server response" msgstr "" @@ -6870,7 +6901,7 @@ msgstr "" msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:398 templates/js/translated/stock.js:289 +#: templates/js/translated/barcode.js:398 templates/js/translated/stock.js:273 msgid "Remove stock item" msgstr "" @@ -6912,115 +6943,181 @@ msgstr "" msgid "Barcode does not match a valid location" msgstr "" -#: templates/js/translated/bom.js:215 templates/js/translated/build.js:1169 +#: templates/js/translated/bom.js:234 templates/js/translated/build.js:1495 msgid "Open subassembly" msgstr "" -#: templates/js/translated/bom.js:287 +#: templates/js/translated/bom.js:288 templates/js/translated/build.js:744 +#: templates/js/translated/build.js:1345 templates/js/translated/build.js:1522 +msgid "Available" +msgstr "" + +#: templates/js/translated/bom.js:307 msgid "Purchase Price Range" msgstr "" -#: templates/js/translated/bom.js:294 +#: templates/js/translated/bom.js:314 msgid "Purchase Price Average" msgstr "" -#: templates/js/translated/bom.js:342 templates/js/translated/bom.js:428 +#: templates/js/translated/bom.js:363 templates/js/translated/bom.js:449 msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:402 +#: templates/js/translated/bom.js:415 templates/js/translated/build.js:798 +#: templates/js/translated/build.js:1545 templates/js/translated/order.js:1285 +msgid "Actions" +msgstr "" + +#: templates/js/translated/bom.js:423 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:404 +#: templates/js/translated/bom.js:425 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:406 templates/js/translated/bom.js:569 +#: templates/js/translated/bom.js:427 templates/js/translated/bom.js:590 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:408 templates/js/translated/bom.js:554 +#: templates/js/translated/bom.js:429 templates/js/translated/bom.js:575 msgid "Delete BOM Item" msgstr "" -#: templates/js/translated/bom.js:499 templates/js/translated/build.js:483 -#: templates/js/translated/build.js:1267 +#: templates/js/translated/bom.js:520 templates/js/translated/build.js:485 +#: templates/js/translated/build.js:1593 msgid "No BOM items found" msgstr "" -#: templates/js/translated/build.js:69 +#: templates/js/translated/build.js:71 msgid "Edit Build Order" msgstr "" -#: templates/js/translated/build.js:95 +#: templates/js/translated/build.js:105 msgid "Create Build Order" msgstr "" -#: templates/js/translated/build.js:127 -msgid "Auto-allocate stock items to this output" +#: templates/js/translated/build.js:138 +msgid "Allocate stock items to this build output" msgstr "" -#: templates/js/translated/build.js:135 +#: templates/js/translated/build.js:146 msgid "Unallocate stock from build output" msgstr "" -#: templates/js/translated/build.js:145 +#: templates/js/translated/build.js:155 msgid "Complete build output" msgstr "" -#: templates/js/translated/build.js:154 +#: templates/js/translated/build.js:164 msgid "Delete build output" msgstr "" -#: templates/js/translated/build.js:249 +#: templates/js/translated/build.js:265 msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:287 templates/js/translated/order.js:813 +#: templates/js/translated/build.js:303 templates/js/translated/order.js:1159 msgid "Location not specified" msgstr "" -#: templates/js/translated/build.js:391 templates/stock_table.html:20 -msgid "New Stock Item" +#: templates/js/translated/build.js:675 templates/js/translated/build.js:1356 +#: templates/js/translated/order.js:1292 +msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/build.js:702 +#: templates/js/translated/build.js:677 templates/js/translated/build.js:1357 +#: templates/js/translated/order.js:1293 +msgid "Delete stock allocation" +msgstr "" + +#: templates/js/translated/build.js:695 +msgid "Edit Allocation" +msgstr "" + +#: templates/js/translated/build.js:705 +msgid "Remove Allocation" +msgstr "" + +#: templates/js/translated/build.js:718 msgid "Required Part" msgstr "" -#: templates/js/translated/build.js:723 +#: templates/js/translated/build.js:739 msgid "Quantity Per" msgstr "" -#: templates/js/translated/build.js:793 templates/js/translated/build.js:1231 +#: templates/js/translated/build.js:749 templates/js/translated/build.js:975 +#: templates/js/translated/build.js:1352 templates/js/translated/order.js:1514 +msgid "Allocated" +msgstr "" + +#: templates/js/translated/build.js:805 templates/js/translated/build.js:1553 +#: templates/js/translated/order.js:1567 +msgid "Build stock" +msgstr "" + +#: templates/js/translated/build.js:809 templates/js/translated/build.js:1557 #: templates/stock_table.html:59 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:846 +#: templates/js/translated/build.js:812 templates/js/translated/order.js:1560 +msgid "Allocate stock" +msgstr "" + +#: templates/js/translated/build.js:880 +msgid "Specify stock allocation quantity" +msgstr "" + +#: templates/js/translated/build.js:949 +msgid "You must select at least one part to allocate" +msgstr "" + +#: templates/js/translated/build.js:963 +msgid "Select source location (leave blank to take from all locations)" +msgstr "" + +#: templates/js/translated/build.js:992 +msgid "Confirm stock allocation" +msgstr "" + +#: templates/js/translated/build.js:993 +msgid "Allocate Stock Items to Build Order" +msgstr "" + +#: templates/js/translated/build.js:1004 +msgid "No matching stock locations" +msgstr "" + +#: templates/js/translated/build.js:1048 +msgid "No matching stock items" +msgstr "" + +#: templates/js/translated/build.js:1172 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:863 templates/js/translated/part.js:845 -#: templates/js/translated/part.js:1123 templates/js/translated/stock.js:783 -#: templates/js/translated/stock.js:1477 +#: templates/js/translated/build.js:1189 templates/js/translated/part.js:856 +#: templates/js/translated/part.js:1134 templates/js/translated/stock.js:762 +#: templates/js/translated/stock.js:1456 msgid "Select" msgstr "" -#: templates/js/translated/build.js:883 +#: templates/js/translated/build.js:1209 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:944 templates/js/translated/stock.js:1696 +#: templates/js/translated/build.js:1270 templates/js/translated/stock.js:1675 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:956 +#: templates/js/translated/build.js:1282 msgid "No information" msgstr "" -#: templates/js/translated/build.js:1007 +#: templates/js/translated/build.js:1333 msgid "No parts allocated for" msgstr "" @@ -7040,7 +7137,7 @@ msgstr "" msgid "Delete Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:164 templates/js/translated/order.js:86 +#: templates/js/translated/company.js:164 templates/js/translated/order.js:89 msgid "Add Supplier" msgstr "" @@ -7084,53 +7181,53 @@ msgstr "" msgid "Delete Manufacturer Parts" msgstr "" -#: templates/js/translated/company.js:475 +#: templates/js/translated/company.js:476 msgid "No manufacturer parts found" msgstr "" -#: templates/js/translated/company.js:495 -#: templates/js/translated/company.js:751 templates/js/translated/part.js:416 -#: templates/js/translated/part.js:501 +#: templates/js/translated/company.js:496 +#: templates/js/translated/company.js:753 templates/js/translated/part.js:427 +#: templates/js/translated/part.js:512 msgid "Template part" msgstr "" -#: templates/js/translated/company.js:499 -#: templates/js/translated/company.js:755 templates/js/translated/part.js:420 -#: templates/js/translated/part.js:505 +#: templates/js/translated/company.js:500 +#: templates/js/translated/company.js:757 templates/js/translated/part.js:431 +#: templates/js/translated/part.js:516 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:626 templates/js/translated/part.js:593 +#: templates/js/translated/company.js:627 templates/js/translated/part.js:604 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:663 templates/js/translated/part.js:635 +#: templates/js/translated/company.js:664 templates/js/translated/part.js:646 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:664 templates/js/translated/part.js:636 +#: templates/js/translated/company.js:665 templates/js/translated/part.js:647 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:683 templates/js/translated/part.js:653 +#: templates/js/translated/company.js:684 templates/js/translated/part.js:664 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:694 templates/js/translated/part.js:665 +#: templates/js/translated/company.js:695 templates/js/translated/part.js:676 msgid "Delete Parameter" msgstr "" -#: templates/js/translated/company.js:731 +#: templates/js/translated/company.js:733 msgid "No supplier parts found" msgstr "" #: templates/js/translated/filters.js:178 -#: templates/js/translated/filters.js:402 +#: templates/js/translated/filters.js:407 msgid "true" msgstr "" #: templates/js/translated/filters.js:182 -#: templates/js/translated/filters.js:403 +#: templates/js/translated/filters.js:408 msgid "false" msgstr "" @@ -7138,19 +7235,19 @@ msgstr "" msgid "Select filter" msgstr "" -#: templates/js/translated/filters.js:279 +#: templates/js/translated/filters.js:284 msgid "Reload data" msgstr "" -#: templates/js/translated/filters.js:281 +#: templates/js/translated/filters.js:286 msgid "Add new filter" msgstr "" -#: templates/js/translated/filters.js:284 +#: templates/js/translated/filters.js:289 msgid "Clear all filters" msgstr "" -#: templates/js/translated/filters.js:312 +#: templates/js/translated/filters.js:317 msgid "Create filter" msgstr "" @@ -7175,16 +7272,20 @@ msgstr "" msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:889 templates/modals.html:21 +#: templates/js/translated/forms.js:968 templates/modals.html:21 #: templates/modals.html:47 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1379 +#: templates/js/translated/forms.js:1323 +msgid "No results found" +msgstr "" + +#: templates/js/translated/forms.js:1525 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:1593 +#: templates/js/translated/forms.js:1742 msgid "Clear input" msgstr "" @@ -7247,7 +7348,7 @@ msgid "Cancel" msgstr "" #: templates/js/translated/modals.js:77 templates/js/translated/modals.js:119 -#: templates/js/translated/modals.js:677 templates/js/translated/modals.js:970 +#: templates/js/translated/modals.js:677 templates/js/translated/modals.js:981 #: templates/modals.html:30 templates/modals.html:55 msgid "Submit" msgstr "" @@ -7272,31 +7373,31 @@ msgstr "" msgid "Loading Data" msgstr "" -#: templates/js/translated/modals.js:922 +#: templates/js/translated/modals.js:933 msgid "Invalid response from server" msgstr "" -#: templates/js/translated/modals.js:922 +#: templates/js/translated/modals.js:933 msgid "Form data missing from server response" msgstr "" -#: templates/js/translated/modals.js:934 +#: templates/js/translated/modals.js:945 msgid "Error posting form data" msgstr "" -#: templates/js/translated/modals.js:1031 +#: templates/js/translated/modals.js:1042 msgid "JSON response missing form data" msgstr "" -#: templates/js/translated/modals.js:1046 +#: templates/js/translated/modals.js:1057 msgid "Error 400: Bad Request" msgstr "" -#: templates/js/translated/modals.js:1047 +#: templates/js/translated/modals.js:1058 msgid "Server returned error code 400" msgstr "" -#: templates/js/translated/modals.js:1070 +#: templates/js/translated/modals.js:1081 msgid "Error requesting form data" msgstr "" @@ -7304,70 +7405,195 @@ msgstr "" msgid "Company ID" msgstr "" -#: templates/js/translated/model_renderers.js:82 +#: templates/js/translated/model_renderers.js:90 +msgid "Stock ID" +msgstr "" + +#: templates/js/translated/model_renderers.js:125 msgid "Location ID" msgstr "" -#: templates/js/translated/model_renderers.js:99 +#: templates/js/translated/model_renderers.js:142 msgid "Build ID" msgstr "" -#: templates/js/translated/model_renderers.js:119 +#: templates/js/translated/model_renderers.js:177 msgid "Part ID" msgstr "" -#: templates/js/translated/model_renderers.js:171 +#: templates/js/translated/model_renderers.js:231 +msgid "Order ID" +msgstr "" + +#: templates/js/translated/model_renderers.js:251 msgid "Category ID" msgstr "" -#: templates/js/translated/model_renderers.js:208 +#: templates/js/translated/model_renderers.js:288 msgid "Manufacturer Part ID" msgstr "" -#: templates/js/translated/model_renderers.js:237 +#: templates/js/translated/model_renderers.js:317 msgid "Supplier Part ID" msgstr "" -#: templates/js/translated/order.js:45 +#: templates/js/translated/order.js:48 msgid "Add Customer" msgstr "" -#: templates/js/translated/order.js:70 +#: templates/js/translated/order.js:73 msgid "Create Sales Order" msgstr "" -#: templates/js/translated/order.js:295 +#: templates/js/translated/order.js:207 +msgid "Export Order" +msgstr "" + +#: templates/js/translated/order.js:210 templates/js/translated/stock.js:96 +msgid "Format" +msgstr "" + +#: templates/js/translated/order.js:211 templates/js/translated/stock.js:97 +msgid "Select file format" +msgstr "" + +#: templates/js/translated/order.js:299 +msgid "Select Line Items" +msgstr "" + +#: templates/js/translated/order.js:300 +msgid "At least one line item must be selected" +msgstr "" + +#: templates/js/translated/order.js:325 +msgid "Quantity to receive" +msgstr "" + +#: templates/js/translated/order.js:359 templates/js/translated/stock.js:1343 +msgid "Stock Status" +msgstr "" + +#: templates/js/translated/order.js:426 +msgid "Order Code" +msgstr "" + +#: templates/js/translated/order.js:427 +msgid "Ordered" +msgstr "" + +#: templates/js/translated/order.js:429 +msgid "Receive" +msgstr "" + +#: templates/js/translated/order.js:448 +msgid "Confirm receipt of items" +msgstr "" + +#: templates/js/translated/order.js:449 +msgid "Receive Purchase Order Items" +msgstr "" + +#: templates/js/translated/order.js:626 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/order.js:320 templates/js/translated/order.js:682 +#: templates/js/translated/order.js:651 templates/js/translated/order.js:1028 msgid "Order is overdue" msgstr "" -#: templates/js/translated/order.js:452 +#: templates/js/translated/order.js:749 templates/js/translated/order.js:1602 +msgid "Edit Line Item" +msgstr "" + +#: templates/js/translated/order.js:761 templates/js/translated/order.js:1613 +msgid "Delete Line Item" +msgstr "" + +#: templates/js/translated/order.js:800 msgid "No line items found" msgstr "" -#: templates/js/translated/order.js:617 +#: templates/js/translated/order.js:827 templates/js/translated/order.js:1432 +msgid "Total" +msgstr "" + +#: templates/js/translated/order.js:880 templates/js/translated/order.js:1457 +#: templates/js/translated/part.js:1343 templates/js/translated/part.js:1554 +msgid "Unit Price" +msgstr "" + +#: templates/js/translated/order.js:889 templates/js/translated/order.js:1464 +msgid "Total price" +msgstr "" + +#: templates/js/translated/order.js:962 templates/js/translated/order.js:1573 +msgid "Edit line item" +msgstr "" + +#: templates/js/translated/order.js:963 msgid "Delete line item" msgstr "" -#: templates/js/translated/order.js:621 +#: templates/js/translated/order.js:967 msgid "Receive line item" msgstr "" -#: templates/js/translated/order.js:658 +#: templates/js/translated/order.js:1004 msgid "No sales orders found" msgstr "" -#: templates/js/translated/order.js:696 +#: templates/js/translated/order.js:1042 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/order.js:774 +#: templates/js/translated/order.js:1120 msgid "No sales order allocations found" msgstr "" +#: templates/js/translated/order.js:1213 +msgid "Edit Stock Allocation" +msgstr "" + +#: templates/js/translated/order.js:1231 +msgid "Delete Stock Allocation" +msgstr "" + +#: templates/js/translated/order.js:1273 +msgid "Stock location not specified" +msgstr "" + +#: templates/js/translated/order.js:1514 +msgid "Fulfilled" +msgstr "" + +#: templates/js/translated/order.js:1557 +msgid "Allocate serial numbers" +msgstr "" + +#: templates/js/translated/order.js:1563 +msgid "Purchase stock" +msgstr "" + +#: templates/js/translated/order.js:1570 templates/js/translated/order.js:1725 +msgid "Calculate price" +msgstr "" + +#: templates/js/translated/order.js:1574 +msgid "Delete line item " +msgstr "" + +#: templates/js/translated/order.js:1673 +msgid "Allocate Stock Item" +msgstr "" + +#: templates/js/translated/order.js:1733 +msgid "Update Unit Price" +msgstr "" + +#: templates/js/translated/order.js:1747 +msgid "No matching line items" +msgstr "" + #: templates/js/translated/part.js:49 msgid "Part Attributes" msgstr "" @@ -7388,396 +7614,396 @@ msgstr "" msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:159 +#: templates/js/translated/part.js:164 msgid "Create Initial Stock" msgstr "" -#: templates/js/translated/part.js:160 +#: templates/js/translated/part.js:165 msgid "Create an initial stock item for this part" msgstr "" -#: templates/js/translated/part.js:167 +#: templates/js/translated/part.js:172 msgid "Initial Stock Quantity" msgstr "" -#: templates/js/translated/part.js:168 +#: templates/js/translated/part.js:173 msgid "Specify initial stock quantity for this part" msgstr "" -#: templates/js/translated/part.js:175 templates/js/translated/stock.js:330 +#: templates/js/translated/part.js:180 msgid "Select destination stock location" msgstr "" -#: templates/js/translated/part.js:186 +#: templates/js/translated/part.js:191 msgid "Copy Category Parameters" msgstr "" -#: templates/js/translated/part.js:187 +#: templates/js/translated/part.js:192 msgid "Copy parameter templates from selected part category" msgstr "" -#: templates/js/translated/part.js:195 +#: templates/js/translated/part.js:200 msgid "Add Supplier Data" msgstr "" -#: templates/js/translated/part.js:196 +#: templates/js/translated/part.js:201 msgid "Create initial supplier data for this part" msgstr "" -#: templates/js/translated/part.js:252 +#: templates/js/translated/part.js:257 msgid "Copy Image" msgstr "" -#: templates/js/translated/part.js:253 +#: templates/js/translated/part.js:258 msgid "Copy image from original part" msgstr "" -#: templates/js/translated/part.js:260 +#: templates/js/translated/part.js:265 msgid "Copy BOM" msgstr "" -#: templates/js/translated/part.js:261 +#: templates/js/translated/part.js:266 msgid "Copy bill of materials from original part" msgstr "" -#: templates/js/translated/part.js:268 +#: templates/js/translated/part.js:273 msgid "Copy Parameters" msgstr "" -#: templates/js/translated/part.js:269 +#: templates/js/translated/part.js:274 msgid "Copy parameter data from original part" msgstr "" -#: templates/js/translated/part.js:282 +#: templates/js/translated/part.js:287 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:323 +#: templates/js/translated/part.js:331 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:408 templates/js/translated/part.js:493 +#: templates/js/translated/part.js:419 templates/js/translated/part.js:504 msgid "Trackable part" msgstr "" -#: templates/js/translated/part.js:412 templates/js/translated/part.js:497 +#: templates/js/translated/part.js:423 templates/js/translated/part.js:508 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:424 +#: templates/js/translated/part.js:435 msgid "Starred part" msgstr "" -#: templates/js/translated/part.js:428 +#: templates/js/translated/part.js:439 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:543 +#: templates/js/translated/part.js:554 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:732 templates/js/translated/part.js:994 +#: templates/js/translated/part.js:743 templates/js/translated/part.js:1005 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:921 +#: templates/js/translated/part.js:932 msgid "No category" msgstr "" -#: templates/js/translated/part.js:944 -#: templates/js/translated/table_filters.js:350 +#: templates/js/translated/part.js:955 +#: templates/js/translated/table_filters.js:359 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:1148 templates/js/translated/stock.js:1501 +#: templates/js/translated/part.js:1159 templates/js/translated/stock.js:1480 msgid "Path" msgstr "" -#: templates/js/translated/part.js:1191 +#: templates/js/translated/part.js:1202 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:1242 templates/js/translated/stock.js:514 +#: templates/js/translated/part.js:1253 templates/js/translated/stock.js:493 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:1243 templates/js/translated/stock.js:515 +#: templates/js/translated/part.js:1254 templates/js/translated/stock.js:494 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:1249 +#: templates/js/translated/part.js:1260 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:1274 +#: templates/js/translated/part.js:1282 +msgid "Edit Test Result Template" +msgstr "" + +#: templates/js/translated/part.js:1296 +msgid "Delete Test Result Template" +msgstr "" + +#: templates/js/translated/part.js:1321 #, python-brace-format msgid "No ${human_name} information found" msgstr "" -#: templates/js/translated/part.js:1329 +#: templates/js/translated/part.js:1376 #, python-brace-format msgid "Edit ${human_name}" msgstr "" -#: templates/js/translated/part.js:1330 +#: templates/js/translated/part.js:1377 #, python-brace-format msgid "Delete ${human_name}" msgstr "" -#: templates/js/translated/part.js:1431 +#: templates/js/translated/part.js:1478 msgid "Single Price" msgstr "" -#: templates/js/translated/part.js:1450 +#: templates/js/translated/part.js:1497 msgid "Single Price Difference" msgstr "" -#: templates/js/translated/stock.js:66 +#: templates/js/translated/stock.js:63 msgid "Parent stock location" msgstr "" -#: templates/js/translated/stock.js:96 +#: templates/js/translated/stock.js:93 msgid "Export Stock" msgstr "" -#: templates/js/translated/stock.js:99 -msgid "Format" -msgstr "" - -#: templates/js/translated/stock.js:100 -msgid "Select file format" -msgstr "" - -#: templates/js/translated/stock.js:124 +#: templates/js/translated/stock.js:104 msgid "Include Sublocations" msgstr "" -#: templates/js/translated/stock.js:125 +#: templates/js/translated/stock.js:105 msgid "Include stock items in sublocations" msgstr "" -#: templates/js/translated/stock.js:167 +#: templates/js/translated/stock.js:147 msgid "Transfer Stock" msgstr "" -#: templates/js/translated/stock.js:168 +#: templates/js/translated/stock.js:148 msgid "Move" msgstr "" -#: templates/js/translated/stock.js:174 +#: templates/js/translated/stock.js:154 msgid "Count Stock" msgstr "" -#: templates/js/translated/stock.js:175 +#: templates/js/translated/stock.js:155 msgid "Count" msgstr "" -#: templates/js/translated/stock.js:179 +#: templates/js/translated/stock.js:159 msgid "Remove Stock" msgstr "" -#: templates/js/translated/stock.js:180 +#: templates/js/translated/stock.js:160 msgid "Take" msgstr "" -#: templates/js/translated/stock.js:184 +#: templates/js/translated/stock.js:164 msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:185 users/models.py:190 +#: templates/js/translated/stock.js:165 users/models.py:195 msgid "Add" msgstr "" -#: templates/js/translated/stock.js:189 templates/stock_table.html:63 +#: templates/js/translated/stock.js:169 templates/stock_table.html:63 msgid "Delete Stock" msgstr "" -#: templates/js/translated/stock.js:278 +#: templates/js/translated/stock.js:258 msgid "Quantity cannot be adjusted for serialized stock" msgstr "" -#: templates/js/translated/stock.js:278 +#: templates/js/translated/stock.js:258 msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:314 +#: templates/js/translated/stock.js:298 msgid "You must select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:339 -msgid "Stock transaction notes" -msgstr "" - -#: templates/js/translated/stock.js:477 +#: templates/js/translated/stock.js:456 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:479 +#: templates/js/translated/stock.js:458 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:484 +#: templates/js/translated/stock.js:463 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:510 +#: templates/js/translated/stock.js:489 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:536 +#: templates/js/translated/stock.js:515 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:584 +#: templates/js/translated/stock.js:563 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:691 +#: templates/js/translated/stock.js:670 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:695 +#: templates/js/translated/stock.js:674 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:703 +#: templates/js/translated/stock.js:678 +msgid "Shipped to customer" +msgstr "" + +#: templates/js/translated/stock.js:682 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:865 +#: templates/js/translated/stock.js:688 +msgid "No stock location set" +msgstr "" + +#: templates/js/translated/stock.js:844 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:870 +#: templates/js/translated/stock.js:849 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:873 +#: templates/js/translated/stock.js:852 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:877 +#: templates/js/translated/stock.js:856 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:879 +#: templates/js/translated/stock.js:858 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:883 +#: templates/js/translated/stock.js:862 msgid "Stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:887 +#: templates/js/translated/stock.js:866 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:894 +#: templates/js/translated/stock.js:873 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:896 +#: templates/js/translated/stock.js:875 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:898 +#: templates/js/translated/stock.js:877 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:902 +#: templates/js/translated/stock.js:881 #: templates/js/translated/table_filters.js:161 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:956 +#: templates/js/translated/stock.js:935 msgid "Stocktake" msgstr "" -#: templates/js/translated/stock.js:1029 +#: templates/js/translated/stock.js:1008 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:1067 +#: templates/js/translated/stock.js:1046 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:1088 templates/js/translated/stock.js:1136 +#: templates/js/translated/stock.js:1067 templates/js/translated/stock.js:1115 msgid "items" msgstr "" -#: templates/js/translated/stock.js:1176 +#: templates/js/translated/stock.js:1155 msgid "batches" msgstr "" -#: templates/js/translated/stock.js:1203 +#: templates/js/translated/stock.js:1182 msgid "locations" msgstr "" -#: templates/js/translated/stock.js:1205 +#: templates/js/translated/stock.js:1184 msgid "Undefined location" msgstr "" -#: templates/js/translated/stock.js:1364 -msgid "Stock Status" -msgstr "" - -#: templates/js/translated/stock.js:1379 +#: templates/js/translated/stock.js:1358 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:1393 +#: templates/js/translated/stock.js:1372 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:1394 +#: templates/js/translated/stock.js:1373 msgid "Status code must be selected" msgstr "" -#: templates/js/translated/stock.js:1533 +#: templates/js/translated/stock.js:1512 msgid "Invalid date" msgstr "" -#: templates/js/translated/stock.js:1580 +#: templates/js/translated/stock.js:1559 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:1599 +#: templates/js/translated/stock.js:1578 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:1618 +#: templates/js/translated/stock.js:1597 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:1636 +#: templates/js/translated/stock.js:1615 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:1659 +#: templates/js/translated/stock.js:1638 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:1667 +#: templates/js/translated/stock.js:1646 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:1708 +#: templates/js/translated/stock.js:1687 msgid "Edit tracking entry" msgstr "" -#: templates/js/translated/stock.js:1709 +#: templates/js/translated/stock.js:1688 msgid "Delete tracking entry" msgstr "" -#: templates/js/translated/stock.js:1833 +#: templates/js/translated/stock.js:1812 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:1856 +#: templates/js/translated/stock.js:1835 msgid "Serial" msgstr "" -#: templates/js/translated/stock.js:1884 +#: templates/js/translated/stock.js:1863 msgid "Uninstall Stock Item" msgstr "" @@ -7808,7 +8034,7 @@ msgstr "" #: templates/js/translated/table_filters.js:103 #: templates/js/translated/table_filters.js:104 -#: templates/js/translated/table_filters.js:327 +#: templates/js/translated/table_filters.js:336 msgid "Include subcategories" msgstr "" @@ -7850,7 +8076,7 @@ msgid "Batch code" msgstr "" #: templates/js/translated/table_filters.js:141 -#: templates/js/translated/table_filters.js:317 +#: templates/js/translated/table_filters.js:326 msgid "Active parts" msgstr "" @@ -7935,89 +8161,89 @@ msgstr "" msgid "Build status" msgstr "" -#: templates/js/translated/table_filters.js:282 -#: templates/js/translated/table_filters.js:299 +#: templates/js/translated/table_filters.js:291 +#: templates/js/translated/table_filters.js:308 msgid "Order status" msgstr "" -#: templates/js/translated/table_filters.js:287 -#: templates/js/translated/table_filters.js:304 +#: templates/js/translated/table_filters.js:296 +#: templates/js/translated/table_filters.js:313 msgid "Outstanding" msgstr "" -#: templates/js/translated/table_filters.js:328 +#: templates/js/translated/table_filters.js:337 msgid "Include parts in subcategories" msgstr "" -#: templates/js/translated/table_filters.js:332 +#: templates/js/translated/table_filters.js:341 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:333 +#: templates/js/translated/table_filters.js:342 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:338 +#: templates/js/translated/table_filters.js:347 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:346 +#: templates/js/translated/table_filters.js:355 msgid "Stock available" msgstr "" -#: templates/js/translated/table_filters.js:362 +#: templates/js/translated/table_filters.js:371 msgid "Starred" msgstr "" -#: templates/js/translated/table_filters.js:374 +#: templates/js/translated/table_filters.js:383 msgid "Purchasable" msgstr "" -#: templates/js/translated/tables.js:357 +#: templates/js/translated/tables.js:366 msgid "Loading data" msgstr "" -#: templates/js/translated/tables.js:360 +#: templates/js/translated/tables.js:369 msgid "rows per page" msgstr "" -#: templates/js/translated/tables.js:363 +#: templates/js/translated/tables.js:372 msgid "Showing" msgstr "" -#: templates/js/translated/tables.js:363 +#: templates/js/translated/tables.js:372 msgid "to" msgstr "" -#: templates/js/translated/tables.js:363 +#: templates/js/translated/tables.js:372 msgid "of" msgstr "" -#: templates/js/translated/tables.js:363 +#: templates/js/translated/tables.js:372 msgid "rows" msgstr "" -#: templates/js/translated/tables.js:369 +#: templates/js/translated/tables.js:378 msgid "No matching results" msgstr "" -#: templates/js/translated/tables.js:372 +#: templates/js/translated/tables.js:381 msgid "Hide/Show pagination" msgstr "" -#: templates/js/translated/tables.js:375 +#: templates/js/translated/tables.js:384 msgid "Refresh" msgstr "" -#: templates/js/translated/tables.js:378 +#: templates/js/translated/tables.js:387 msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:381 +#: templates/js/translated/tables.js:390 msgid "Columns" msgstr "" -#: templates/js/translated/tables.js:384 +#: templates/js/translated/tables.js:393 msgid "All" msgstr "" @@ -8033,19 +8259,15 @@ msgstr "" msgid "Sell" msgstr "" -#: templates/navbar.html:87 users/models.py:39 +#: templates/navbar.html:83 users/models.py:39 msgid "Admin" msgstr "" -#: templates/navbar.html:89 +#: templates/navbar.html:85 msgid "Logout" msgstr "" -#: templates/navbar.html:91 templates/registration/login.html:89 -msgid "Login" -msgstr "" - -#: templates/navbar.html:114 +#: templates/navbar.html:106 msgid "About InvenTree" msgstr "" @@ -8053,68 +8275,12 @@ msgstr "" msgid "QR data not provided" msgstr "" -#: templates/registration/logged_out.html:50 -msgid "You have been logged out" +#: templates/registration/logged_out.html:6 +msgid "You were logged out successfully." msgstr "" -#: templates/registration/logged_out.html:51 -#: templates/registration/password_reset_complete.html:51 -#: templates/registration/password_reset_done.html:58 -msgid "Return to login screen" -msgstr "" - -#: templates/registration/login.html:64 -msgid "Enter username" -msgstr "" - -#: templates/registration/login.html:70 -msgid "Password" -msgstr "" - -#: templates/registration/login.html:83 -msgid "Username / password combination is incorrect" -msgstr "" - -#: templates/registration/login.html:95 -#: templates/registration/password_reset_form.html:51 -msgid "Forgotten your password?" -msgstr "" - -#: templates/registration/login.html:95 -msgid "Click here to reset" -msgstr "" - -#: templates/registration/password_reset_complete.html:50 -msgid "Password reset complete" -msgstr "" - -#: templates/registration/password_reset_confirm.html:52 -#: templates/registration/password_reset_confirm.html:56 -msgid "Change password" -msgstr "" - -#: templates/registration/password_reset_confirm.html:60 -msgid "The password reset link was invalid, possibly because it has already been used. Please request a new password reset." -msgstr "" - -#: templates/registration/password_reset_done.html:51 -msgid "We've emailed you instructions for setting your password, if an account exists with the email you entered. You should receive them shortly." -msgstr "" - -#: templates/registration/password_reset_done.html:54 -msgid "If you don't receive an email, please make sure you've entered the address you registered with, and check your spam folder." -msgstr "" - -#: templates/registration/password_reset_form.html:52 -msgid "Enter your email address below." -msgstr "" - -#: templates/registration/password_reset_form.html:53 -msgid "An email will be sent with password reset instructions." -msgstr "" - -#: templates/registration/password_reset_form.html:58 -msgid "Send email" +#: templates/registration/logged_out.html:8 +msgid "Log in again" msgstr "" #: templates/stats.html:13 @@ -8169,6 +8335,10 @@ msgstr "" msgid "Export Stock Information" msgstr "" +#: templates/stock_table.html:20 +msgid "New Stock Item" +msgstr "" + #: templates/stock_table.html:27 msgid "Barcode Actions" msgstr "" @@ -8249,35 +8419,35 @@ msgstr "" msgid "Important dates" msgstr "" -#: users/models.py:177 +#: users/models.py:182 msgid "Permission set" msgstr "" -#: users/models.py:185 +#: users/models.py:190 msgid "Group" msgstr "" -#: users/models.py:188 +#: users/models.py:193 msgid "View" msgstr "" -#: users/models.py:188 +#: users/models.py:193 msgid "Permission to view items" msgstr "" -#: users/models.py:190 +#: users/models.py:195 msgid "Permission to add items" msgstr "" -#: users/models.py:192 +#: users/models.py:197 msgid "Change" msgstr "" -#: users/models.py:192 +#: users/models.py:197 msgid "Permissions to edit items" msgstr "" -#: users/models.py:194 +#: users/models.py:199 msgid "Permission to delete items" msgstr "" diff --git a/InvenTree/locale/ja/LC_MESSAGES/django.po b/InvenTree/locale/ja/LC_MESSAGES/django.po index 60ece0791e..e8eaefdd41 100644 --- a/InvenTree/locale/ja/LC_MESSAGES/django.po +++ b/InvenTree/locale/ja/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-09-12 13:15+0000\n" -"PO-Revision-Date: 2021-09-12 13:44\n" +"POT-Creation-Date: 2021-10-11 06:21+0000\n" +"PO-Revision-Date: 2021-10-11 06:29\n" "Last-Translator: \n" "Language-Team: Japanese\n" "Language: ja_JP\n" @@ -33,48 +33,61 @@ msgstr "一致するアクションが見つかりませんでした" msgid "Enter date" msgstr "日付を入力する" -#: InvenTree/forms.py:111 build/forms.py:102 build/forms.py:123 -#: build/forms.py:145 build/forms.py:169 build/forms.py:185 build/forms.py:227 -#: order/forms.py:30 order/forms.py:41 order/forms.py:52 order/forms.py:63 -#: order/forms.py:74 part/forms.py:108 templates/js/translated/forms.js:564 +#: InvenTree/forms.py:116 build/forms.py:102 build/forms.py:123 +#: build/forms.py:145 build/forms.py:173 build/forms.py:215 order/forms.py:27 +#: order/forms.py:38 order/forms.py:49 order/forms.py:60 order/forms.py:71 +#: part/forms.py:108 templates/account/email_confirm.html:20 +#: templates/js/translated/forms.js:564 msgid "Confirm" msgstr "確認" -#: InvenTree/forms.py:127 +#: InvenTree/forms.py:132 msgid "Confirm delete" msgstr "削除の確認" -#: InvenTree/forms.py:128 +#: InvenTree/forms.py:133 msgid "Confirm item deletion" msgstr "削除の確認" -#: InvenTree/forms.py:160 templates/registration/login.html:76 +#: InvenTree/forms.py:164 msgid "Enter password" msgstr "パスワードを入力してください" -#: InvenTree/forms.py:161 +#: InvenTree/forms.py:165 msgid "Enter new password" msgstr "新しいパスワードを入力してください。" -#: InvenTree/forms.py:168 +#: InvenTree/forms.py:172 msgid "Confirm password" msgstr "パスワードの確認" -#: InvenTree/forms.py:169 +#: InvenTree/forms.py:173 msgid "Confirm new password" msgstr "新しいパスワードの確認" -#: InvenTree/forms.py:201 +#: InvenTree/forms.py:205 msgid "Select Category" msgstr "カテゴリの選択" +#: InvenTree/forms.py:226 +msgid "E-mail (again)" +msgstr "" + +#: InvenTree/forms.py:230 +msgid "E-mail address confirmation" +msgstr "" + +#: InvenTree/forms.py:250 +msgid "You must type the same email each time." +msgstr "" + #: InvenTree/helpers.py:401 #, python-brace-format msgid "Duplicate serial: {n}" msgstr "" -#: InvenTree/helpers.py:408 order/models.py:315 order/models.py:430 -#: stock/views.py:1363 +#: InvenTree/helpers.py:408 order/models.py:315 order/models.py:437 +#: stock/views.py:1340 msgid "Invalid quantity provided" msgstr "数量コードが無効です" @@ -102,7 +115,7 @@ msgstr "シリアル番号が見つかりません" msgid "Number of unique serial number ({s}) must match quantity ({q})" msgstr "" -#: InvenTree/models.py:66 stock/models.py:1826 +#: InvenTree/models.py:66 stock/models.py:1823 msgid "Attachment" msgstr "添付ファイル" @@ -118,10 +131,10 @@ msgstr "コメント:" msgid "File comment" msgstr "ファイルコメント" -#: InvenTree/models.py:75 InvenTree/models.py:76 common/models.py:993 -#: common/models.py:994 part/models.py:2051 +#: InvenTree/models.py:75 InvenTree/models.py:76 common/models.py:1055 +#: common/models.py:1056 part/models.py:2055 #: report/templates/report/inventree_test_report_base.html:91 -#: templates/js/translated/stock.js:1690 +#: templates/js/translated/stock.js:1669 msgid "User" msgstr "ユーザー" @@ -158,37 +171,34 @@ msgstr "" msgid "Invalid choice" msgstr "無効な選択です" -#: InvenTree/models.py:200 InvenTree/models.py:201 company/models.py:414 -#: label/models.py:112 part/models.py:658 part/models.py:2212 +#: InvenTree/models.py:200 InvenTree/models.py:201 company/models.py:415 +#: label/models.py:112 part/models.py:659 part/models.py:2216 #: part/templates/part/part_base.html:241 report/models.py:181 -#: templates/InvenTree/search.html:137 templates/InvenTree/search.html:289 -#: templates/js/translated/company.js:636 templates/js/translated/part.js:466 -#: templates/js/translated/part.js:603 templates/js/translated/part.js:1130 -#: templates/js/translated/stock.js:1483 +#: templates/js/translated/company.js:637 templates/js/translated/part.js:477 +#: templates/js/translated/part.js:614 templates/js/translated/part.js:1141 +#: templates/js/translated/stock.js:1462 msgid "Name" msgstr "お名前" -#: InvenTree/models.py:207 build/models.py:187 -#: build/templates/build/detail.html:24 company/models.py:353 -#: company/models.py:569 company/templates/company/manufacturer_part.html:76 +#: InvenTree/models.py:207 build/models.py:189 +#: build/templates/build/detail.html:24 company/models.py:354 +#: company/models.py:570 company/templates/company/manufacturer_part.html:76 #: company/templates/company/supplier_part.html:75 label/models.py:119 -#: order/models.py:158 part/models.py:681 +#: order/models.py:158 part/models.py:682 #: part/templates/part/part_base.html:246 #: part/templates/part/set_category.html:14 report/models.py:194 #: report/models.py:551 report/models.py:590 #: report/templates/report/inventree_build_order_base.html:118 -#: templates/InvenTree/search.html:144 templates/InvenTree/search.html:224 -#: templates/InvenTree/search.html:296 #: templates/InvenTree/settings/header.html:9 -#: templates/js/translated/bom.js:230 templates/js/translated/build.js:891 -#: templates/js/translated/build.js:1179 templates/js/translated/company.js:344 -#: templates/js/translated/company.js:546 -#: templates/js/translated/company.js:834 templates/js/translated/order.js:341 -#: templates/js/translated/order.js:486 templates/js/translated/order.js:710 -#: templates/js/translated/part.js:525 templates/js/translated/part.js:713 -#: templates/js/translated/part.js:902 templates/js/translated/part.js:1142 -#: templates/js/translated/part.js:1210 templates/js/translated/stock.js:840 -#: templates/js/translated/stock.js:1495 templates/js/translated/stock.js:1540 +#: templates/js/translated/bom.js:249 templates/js/translated/build.js:1217 +#: templates/js/translated/build.js:1505 templates/js/translated/company.js:344 +#: templates/js/translated/company.js:547 +#: templates/js/translated/company.js:836 templates/js/translated/order.js:672 +#: templates/js/translated/order.js:832 templates/js/translated/order.js:1056 +#: templates/js/translated/part.js:536 templates/js/translated/part.js:724 +#: templates/js/translated/part.js:913 templates/js/translated/part.js:1153 +#: templates/js/translated/part.js:1221 templates/js/translated/stock.js:819 +#: templates/js/translated/stock.js:1474 templates/js/translated/stock.js:1519 msgid "Description" msgstr "説明" @@ -200,7 +210,7 @@ msgstr "説明 (オプション)" msgid "parent" msgstr "親" -#: InvenTree/serializers.py:55 part/models.py:2454 +#: InvenTree/serializers.py:55 part/models.py:2475 msgid "Must be a valid number" msgstr "有効な数字でなければなりません" @@ -208,75 +218,75 @@ msgstr "有効な数字でなければなりません" msgid "Filename" msgstr "" -#: InvenTree/settings.py:523 +#: InvenTree/settings.py:529 msgid "German" msgstr "ドイツ語" -#: InvenTree/settings.py:524 +#: InvenTree/settings.py:530 msgid "Greek" msgstr "" -#: InvenTree/settings.py:525 +#: InvenTree/settings.py:531 msgid "English" msgstr "英語" -#: InvenTree/settings.py:526 +#: InvenTree/settings.py:532 msgid "Spanish" msgstr "" -#: InvenTree/settings.py:527 +#: InvenTree/settings.py:533 msgid "French" msgstr "フランス語" -#: InvenTree/settings.py:528 +#: InvenTree/settings.py:534 msgid "Hebrew" msgstr "" -#: InvenTree/settings.py:529 +#: InvenTree/settings.py:535 msgid "Italian" msgstr "" -#: InvenTree/settings.py:530 +#: InvenTree/settings.py:536 msgid "Japanese" msgstr "" -#: InvenTree/settings.py:531 +#: InvenTree/settings.py:537 msgid "Korean" msgstr "" -#: InvenTree/settings.py:532 +#: InvenTree/settings.py:538 msgid "Dutch" msgstr "" -#: InvenTree/settings.py:533 +#: InvenTree/settings.py:539 msgid "Norwegian" msgstr "" -#: InvenTree/settings.py:534 +#: InvenTree/settings.py:540 msgid "Polish" msgstr "ポーランド語" -#: InvenTree/settings.py:535 +#: InvenTree/settings.py:541 msgid "Russian" msgstr "" -#: InvenTree/settings.py:536 +#: InvenTree/settings.py:542 msgid "Swedish" msgstr "" -#: InvenTree/settings.py:537 +#: InvenTree/settings.py:543 msgid "Thai" msgstr "" -#: InvenTree/settings.py:538 +#: InvenTree/settings.py:544 msgid "Turkish" msgstr "トルコ語" -#: InvenTree/settings.py:539 +#: InvenTree/settings.py:545 msgid "Vietnamese" msgstr "" -#: InvenTree/settings.py:540 +#: InvenTree/settings.py:546 msgid "Chinese" msgstr "" @@ -321,7 +331,7 @@ msgid "Returned" msgstr "返品済" #: InvenTree/status_codes.py:146 -#: order/templates/order/sales_order_base.html:126 +#: order/templates/order/sales_order_base.html:131 msgid "Shipped" msgstr "発送済み" @@ -461,27 +471,27 @@ msgstr "" msgid "Overage must be an integer value or a percentage" msgstr "" -#: InvenTree/views.py:610 +#: InvenTree/views.py:616 msgid "Delete Item" msgstr "" -#: InvenTree/views.py:659 +#: InvenTree/views.py:665 msgid "Check box to confirm item deletion" msgstr "" -#: InvenTree/views.py:674 templates/InvenTree/settings/user.html:14 +#: InvenTree/views.py:680 templates/InvenTree/settings/user.html:18 msgid "Edit User Information" msgstr "" -#: InvenTree/views.py:685 templates/InvenTree/settings/user.html:18 +#: InvenTree/views.py:691 templates/InvenTree/settings/user.html:22 msgid "Set Password" msgstr "" -#: InvenTree/views.py:704 +#: InvenTree/views.py:710 msgid "Password fields must match" msgstr "" -#: InvenTree/views.py:910 templates/navbar.html:105 +#: InvenTree/views.py:954 templates/navbar.html:97 msgid "System Information" msgstr "" @@ -525,6 +535,10 @@ msgstr "" msgid "Barcode associated with StockItem" msgstr "" +#: build/api.py:213 +msgid "Matching build order does not exist" +msgstr "" + #: build/forms.py:37 msgid "Build Order reference" msgstr "" @@ -536,33 +550,28 @@ msgstr "" #: build/forms.py:42 build/templates/build/build_base.html:146 #: build/templates/build/detail.html:124 #: order/templates/order/order_base.html:124 -#: order/templates/order/sales_order_base.html:119 +#: order/templates/order/sales_order_base.html:124 #: report/templates/report/inventree_build_order_base.html:126 -#: templates/js/translated/build.js:962 templates/js/translated/order.js:358 -#: templates/js/translated/order.js:728 +#: templates/js/translated/build.js:1288 templates/js/translated/order.js:689 +#: templates/js/translated/order.js:1074 msgid "Target Date" msgstr "" -#: build/forms.py:43 build/models.py:277 +#: build/forms.py:43 build/models.py:279 msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/forms.py:48 build/forms.py:90 build/forms.py:266 build/models.py:1402 +#: build/forms.py:48 build/forms.py:90 build/models.py:1281 #: build/templates/build/allocation_card.html:23 -#: build/templates/build/auto_allocate.html:17 #: build/templates/build/build_base.html:133 -#: build/templates/build/detail.html:34 common/models.py:1025 +#: build/templates/build/detail.html:34 common/models.py:1087 #: company/forms.py:42 company/templates/company/supplier_part.html:226 -#: order/forms.py:120 order/forms.py:142 order/forms.py:159 order/models.py:712 -#: order/models.py:964 order/templates/order/order_wizard/match_parts.html:30 -#: order/templates/order/order_wizard/select_parts.html:34 -#: order/templates/order/sales_order_detail.html:201 -#: order/templates/order/sales_order_detail.html:208 -#: order/templates/order/sales_order_detail.html:293 -#: order/templates/order/sales_order_detail.html:365 part/forms.py:249 -#: part/forms.py:265 part/forms.py:281 part/models.py:2356 +#: order/forms.py:101 order/forms.py:123 order/models.py:720 +#: order/models.py:982 order/templates/order/order_wizard/match_parts.html:30 +#: order/templates/order/order_wizard/select_parts.html:34 part/forms.py:249 +#: part/forms.py:265 part/forms.py:281 part/models.py:2377 #: part/templates/part/bom_upload/match_parts.html:31 -#: part/templates/part/detail.html:973 part/templates/part/detail.html:1059 +#: part/templates/part/detail.html:944 part/templates/part/detail.html:1030 #: part/templates/part/part_pricing.html:16 #: report/templates/report/inventree_build_order_base.html:114 #: report/templates/report/inventree_po_report.html:91 @@ -570,14 +579,16 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:77 #: stock/forms.py:140 stock/templates/stock/item_base.html:269 #: stock/templates/stock/stock_adjust.html:18 -#: templates/js/translated/barcode.js:386 templates/js/translated/bom.js:245 -#: templates/js/translated/build.js:298 templates/js/translated/build.js:629 -#: templates/js/translated/build.js:1189 -#: templates/js/translated/model_renderers.js:59 -#: templates/js/translated/order.js:522 templates/js/translated/order.js:824 -#: templates/js/translated/part.js:1317 templates/js/translated/part.js:1440 -#: templates/js/translated/part.js:1518 templates/js/translated/stock.js:1675 -#: templates/js/translated/stock.js:1850 +#: templates/js/translated/barcode.js:386 templates/js/translated/bom.js:264 +#: templates/js/translated/build.js:314 templates/js/translated/build.js:638 +#: templates/js/translated/build.js:977 templates/js/translated/build.js:1515 +#: templates/js/translated/model_renderers.js:74 +#: templates/js/translated/order.js:868 templates/js/translated/order.js:1170 +#: templates/js/translated/order.js:1248 templates/js/translated/order.js:1255 +#: templates/js/translated/order.js:1344 templates/js/translated/order.js:1444 +#: templates/js/translated/part.js:1364 templates/js/translated/part.js:1487 +#: templates/js/translated/part.js:1565 templates/js/translated/stock.js:1654 +#: templates/js/translated/stock.js:1829 msgid "Quantity" msgstr "" @@ -589,7 +600,7 @@ msgstr "" msgid "Enter quantity for build output" msgstr "" -#: build/forms.py:95 order/forms.py:114 stock/forms.py:83 +#: build/forms.py:95 order/forms.py:95 stock/forms.py:83 msgid "Serial Numbers" msgstr "" @@ -609,246 +620,238 @@ msgstr "" msgid "Confirm unallocation of stock" msgstr "" -#: build/forms.py:169 -msgid "Confirm stock allocation" -msgstr "" - -#: build/forms.py:186 +#: build/forms.py:174 msgid "Mark build as complete" msgstr "" -#: build/forms.py:210 build/templates/build/auto_allocate.html:18 -#: order/serializers.py:216 order/serializers.py:275 stock/forms.py:280 +#: build/forms.py:198 order/serializers.py:217 order/serializers.py:284 +#: stock/forms.py:280 stock/serializers.py:553 #: stock/templates/stock/item_base.html:299 #: stock/templates/stock/stock_adjust.html:17 -#: templates/InvenTree/search.html:260 templates/js/translated/barcode.js:385 -#: templates/js/translated/barcode.js:555 templates/js/translated/build.js:283 -#: templates/js/translated/build.js:643 templates/js/translated/order.js:809 -#: templates/js/translated/part.js:174 templates/js/translated/stock.js:203 -#: templates/js/translated/stock.js:329 templates/js/translated/stock.js:942 -#: templates/js/translated/stock.js:1567 +#: templates/js/translated/barcode.js:385 +#: templates/js/translated/barcode.js:555 templates/js/translated/build.js:299 +#: templates/js/translated/build.js:650 templates/js/translated/order.js:347 +#: templates/js/translated/order.js:1155 templates/js/translated/order.js:1263 +#: templates/js/translated/order.js:1269 templates/js/translated/part.js:179 +#: templates/js/translated/stock.js:183 templates/js/translated/stock.js:921 +#: templates/js/translated/stock.js:1546 msgid "Location" msgstr "" -#: build/forms.py:211 +#: build/forms.py:199 msgid "Location of completed parts" msgstr "完了したパーツの場所" -#: build/forms.py:215 build/templates/build/build_base.html:138 -#: build/templates/build/detail.html:62 order/models.py:555 -#: order/serializers.py:230 order/templates/order/receive_parts.html:24 -#: stock/templates/stock/item_base.html:422 templates/InvenTree/search.html:252 -#: templates/js/translated/barcode.js:141 templates/js/translated/build.js:925 -#: templates/js/translated/order.js:345 templates/js/translated/order.js:715 -#: templates/js/translated/stock.js:917 templates/js/translated/stock.js:1644 -#: templates/js/translated/stock.js:1866 +#: build/forms.py:203 build/templates/build/build_base.html:138 +#: build/templates/build/detail.html:62 order/models.py:563 +#: order/serializers.py:238 stock/templates/stock/item_base.html:422 +#: templates/js/translated/barcode.js:141 templates/js/translated/build.js:1251 +#: templates/js/translated/order.js:430 templates/js/translated/order.js:676 +#: templates/js/translated/order.js:1061 templates/js/translated/stock.js:896 +#: templates/js/translated/stock.js:1623 templates/js/translated/stock.js:1845 msgid "Status" msgstr "" -#: build/forms.py:216 +#: build/forms.py:204 msgid "Build output stock status" msgstr "" -#: build/forms.py:223 +#: build/forms.py:211 msgid "Confirm incomplete" msgstr "" -#: build/forms.py:224 +#: build/forms.py:212 msgid "Confirm completion with incomplete stock allocation" msgstr "" -#: build/forms.py:227 +#: build/forms.py:215 msgid "Confirm build completion" msgstr "" -#: build/forms.py:252 +#: build/forms.py:240 msgid "Confirm cancel" msgstr "" -#: build/forms.py:252 build/views.py:65 +#: build/forms.py:240 build/views.py:65 msgid "Confirm build cancellation" msgstr "" -#: build/forms.py:266 -msgid "Select quantity of stock to allocate" -msgstr "" - -#: build/models.py:113 +#: build/models.py:115 msgid "Invalid choice for parent build" msgstr "" -#: build/models.py:117 build/templates/build/build_base.html:9 +#: build/models.py:119 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:73 #: report/templates/report/inventree_build_order_base.html:106 -#: templates/js/translated/build.js:260 +#: templates/js/translated/build.js:276 msgid "Build Order" msgstr "" -#: build/models.py:118 build/templates/build/index.html:8 +#: build/models.py:120 build/templates/build/index.html:8 #: build/templates/build/index.html:15 #: order/templates/order/sales_order_detail.html:34 #: order/templates/order/so_navbar.html:19 #: order/templates/order/so_navbar.html:22 part/templates/part/navbar.html:50 #: part/templates/part/navbar.html:53 templates/InvenTree/index.html:229 -#: templates/InvenTree/search.html:185 -#: templates/InvenTree/settings/navbar.html:101 -#: templates/InvenTree/settings/navbar.html:103 users/models.py:44 +#: templates/InvenTree/search.html:171 +#: templates/InvenTree/settings/navbar.html:113 +#: templates/InvenTree/settings/navbar.html:115 users/models.py:44 msgid "Build Orders" msgstr "" -#: build/models.py:178 +#: build/models.py:180 msgid "Build Order Reference" msgstr "" -#: build/models.py:179 order/models.py:246 order/models.py:539 -#: order/models.py:719 order/templates/order/sales_order_detail.html:360 -#: part/models.py:2365 part/templates/part/bom_upload/match_parts.html:30 +#: build/models.py:181 order/models.py:246 order/models.py:547 +#: order/models.py:727 part/models.py:2386 +#: part/templates/part/bom_upload/match_parts.html:30 #: report/templates/report/inventree_po_report.html:92 #: report/templates/report/inventree_so_report.html:92 -#: templates/js/translated/bom.js:237 templates/js/translated/build.js:718 -#: templates/js/translated/build.js:1183 templates/js/translated/order.js:517 +#: templates/js/translated/bom.js:256 templates/js/translated/build.js:734 +#: templates/js/translated/build.js:1509 templates/js/translated/order.js:863 +#: templates/js/translated/order.js:1438 msgid "Reference" msgstr "" -#: build/models.py:190 +#: build/models.py:192 msgid "Brief description of the build" msgstr "" -#: build/models.py:199 build/templates/build/build_base.html:163 +#: build/models.py:201 build/templates/build/build_base.html:163 #: build/templates/build/detail.html:80 msgid "Parent Build" msgstr "" -#: build/models.py:200 +#: build/models.py:202 msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:205 build/templates/build/auto_allocate.html:16 -#: build/templates/build/build_base.html:128 -#: build/templates/build/detail.html:29 company/models.py:704 -#: order/models.py:772 order/models.py:837 -#: order/templates/order/order_wizard/select_parts.html:32 -#: order/templates/order/receive_parts.html:19 -#: order/templates/order/sales_order_detail.html:345 part/models.py:297 -#: part/models.py:1996 part/models.py:2012 part/models.py:2031 -#: part/models.py:2049 part/models.py:2128 part/models.py:2250 -#: part/models.py:2340 part/templates/part/detail.html:199 +#: build/models.py:207 build/templates/build/build_base.html:128 +#: build/templates/build/detail.html:29 company/models.py:705 +#: order/models.py:780 order/models.py:851 +#: order/templates/order/order_wizard/select_parts.html:32 part/models.py:298 +#: part/models.py:2000 part/models.py:2016 part/models.py:2035 +#: part/models.py:2053 part/models.py:2132 part/models.py:2254 +#: part/models.py:2361 part/templates/part/detail.html:199 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/set_category.html:13 #: report/templates/report/inventree_build_order_base.html:110 #: report/templates/report/inventree_po_report.html:90 #: report/templates/report/inventree_so_report.html:90 -#: templates/InvenTree/search.html:112 templates/InvenTree/search.html:210 -#: templates/js/translated/barcode.js:384 templates/js/translated/bom.js:203 -#: templates/js/translated/build.js:609 templates/js/translated/build.js:896 -#: templates/js/translated/build.js:1156 templates/js/translated/company.js:487 -#: templates/js/translated/company.js:743 templates/js/translated/order.js:471 -#: templates/js/translated/part.js:694 templates/js/translated/part.js:864 -#: templates/js/translated/stock.js:201 templates/js/translated/stock.js:797 -#: templates/js/translated/stock.js:1838 +#: templates/InvenTree/search.html:112 templates/js/translated/barcode.js:384 +#: templates/js/translated/bom.js:222 templates/js/translated/build.js:611 +#: templates/js/translated/build.js:974 templates/js/translated/build.js:1222 +#: templates/js/translated/build.js:1482 templates/js/translated/company.js:488 +#: templates/js/translated/company.js:745 templates/js/translated/order.js:425 +#: templates/js/translated/order.js:817 templates/js/translated/order.js:1422 +#: templates/js/translated/part.js:705 templates/js/translated/part.js:875 +#: templates/js/translated/stock.js:181 templates/js/translated/stock.js:776 +#: templates/js/translated/stock.js:1817 msgid "Part" msgstr "パーツ" -#: build/models.py:213 +#: build/models.py:215 msgid "Select part to build" msgstr "" -#: build/models.py:218 +#: build/models.py:220 msgid "Sales Order Reference" msgstr "" -#: build/models.py:222 +#: build/models.py:224 msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:227 +#: build/models.py:229 templates/js/translated/build.js:962 msgid "Source Location" msgstr "" -#: build/models.py:231 +#: build/models.py:233 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "" -#: build/models.py:236 +#: build/models.py:238 msgid "Destination Location" msgstr "" -#: build/models.py:240 +#: build/models.py:242 msgid "Select location where the completed items will be stored" msgstr "" -#: build/models.py:244 +#: build/models.py:246 msgid "Build Quantity" msgstr "" -#: build/models.py:247 +#: build/models.py:249 msgid "Number of stock items to build" msgstr "" -#: build/models.py:251 +#: build/models.py:253 msgid "Completed items" msgstr "" -#: build/models.py:253 +#: build/models.py:255 msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:257 part/templates/part/part_base.html:198 +#: build/models.py:259 part/templates/part/part_base.html:198 msgid "Build Status" msgstr "" -#: build/models.py:261 +#: build/models.py:263 msgid "Build status code" msgstr "" -#: build/models.py:265 stock/models.py:513 +#: build/models.py:267 stock/models.py:513 msgid "Batch Code" msgstr "" -#: build/models.py:269 +#: build/models.py:271 msgid "Batch code for this build output" msgstr "" -#: build/models.py:272 order/models.py:162 part/models.py:853 -#: part/templates/part/part_base.html:272 templates/js/translated/order.js:723 +#: build/models.py:274 order/models.py:162 part/models.py:854 +#: part/templates/part/part_base.html:272 templates/js/translated/order.js:1069 msgid "Creation Date" msgstr "" -#: build/models.py:276 order/models.py:561 +#: build/models.py:278 order/models.py:569 msgid "Target completion date" msgstr "" -#: build/models.py:280 order/models.py:288 templates/js/translated/build.js:967 +#: build/models.py:282 order/models.py:288 +#: templates/js/translated/build.js:1293 msgid "Completion Date" msgstr "" -#: build/models.py:286 +#: build/models.py:288 msgid "completed by" msgstr "" -#: build/models.py:294 templates/js/translated/build.js:938 +#: build/models.py:296 templates/js/translated/build.js:1264 msgid "Issued by" msgstr "" -#: build/models.py:295 +#: build/models.py:297 msgid "User who issued this build order" msgstr "" -#: build/models.py:303 build/templates/build/build_base.html:184 +#: build/models.py:305 build/templates/build/build_base.html:184 #: build/templates/build/detail.html:108 order/models.py:176 #: order/templates/order/order_base.html:138 -#: order/templates/order/sales_order_base.html:140 part/models.py:857 +#: order/templates/order/sales_order_base.html:145 part/models.py:858 #: report/templates/report/inventree_build_order_base.html:159 -#: templates/js/translated/build.js:950 +#: templates/js/translated/build.js:1276 msgid "Responsible" msgstr "" -#: build/models.py:304 +#: build/models.py:306 msgid "User responsible for this build order" msgstr "" -#: build/models.py:309 build/templates/build/detail.html:94 +#: build/models.py:311 build/templates/build/detail.html:94 #: company/templates/company/manufacturer_part.html:83 #: company/templates/company/supplier_part.html:82 #: part/templates/part/part_base.html:266 stock/models.py:507 @@ -856,140 +859,157 @@ msgstr "" msgid "External Link" msgstr "" -#: build/models.py:310 part/models.py:715 stock/models.py:509 +#: build/models.py:312 part/models.py:716 stock/models.py:509 msgid "Link to external URL" msgstr "" -#: build/models.py:314 build/templates/build/navbar.html:52 -#: company/models.py:141 company/models.py:576 +#: build/models.py:316 build/templates/build/navbar.html:52 +#: company/models.py:142 company/models.py:577 #: company/templates/company/navbar.html:69 #: company/templates/company/navbar.html:72 order/models.py:180 -#: order/models.py:721 order/templates/order/po_navbar.html:38 +#: order/models.py:729 order/templates/order/po_navbar.html:38 #: order/templates/order/po_navbar.html:41 -#: order/templates/order/sales_order_detail.html:440 #: order/templates/order/so_navbar.html:33 -#: order/templates/order/so_navbar.html:36 part/models.py:842 +#: order/templates/order/so_navbar.html:36 part/models.py:843 #: part/templates/part/detail.html:105 part/templates/part/navbar.html:120 #: part/templates/part/navbar.html:123 #: report/templates/report/inventree_build_order_base.html:173 #: stock/forms.py:138 stock/forms.py:250 stock/forms.py:282 stock/models.py:579 -#: stock/models.py:1726 stock/models.py:1832 +#: stock/models.py:1723 stock/models.py:1829 stock/serializers.py:451 #: stock/templates/stock/navbar.html:57 templates/js/translated/barcode.js:59 -#: templates/js/translated/bom.js:385 templates/js/translated/company.js:839 -#: templates/js/translated/order.js:604 templates/js/translated/stock.js:338 -#: templates/js/translated/stock.js:580 templates/js/translated/stock.js:1061 +#: templates/js/translated/bom.js:406 templates/js/translated/company.js:841 +#: templates/js/translated/order.js:950 templates/js/translated/order.js:1540 +#: templates/js/translated/stock.js:559 templates/js/translated/stock.js:1040 msgid "Notes" msgstr "" -#: build/models.py:315 +#: build/models.py:317 msgid "Extra build notes" msgstr "" -#: build/models.py:792 +#: build/models.py:714 msgid "No build output specified" msgstr "" -#: build/models.py:795 +#: build/models.py:717 msgid "Build output is already completed" msgstr "" -#: build/models.py:798 +#: build/models.py:720 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:1208 -msgid "BuildItem must be unique for build, stock_item and install_into" -msgstr "" - -#: build/models.py:1233 +#: build/models.py:1102 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1237 +#: build/models.py:1111 #, python-brace-format -msgid "Allocated quantity ({n}) must not exceed available quantity ({q})" +msgid "Allocated quantity ({q}) must not execed available stock quantity ({a})" msgstr "" -#: build/models.py:1244 order/models.py:938 -msgid "StockItem is over-allocated" +#: build/models.py:1121 +msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1248 order/models.py:941 +#: build/models.py:1127 order/models.py:955 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1252 +#: build/models.py:1133 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1312 -#, python-brace-format -msgid "Selected stock item not found in BOM for part '{p}'" +#: build/models.py:1191 +msgid "Selected stock item not found in BOM" msgstr "" -#: build/models.py:1372 stock/templates/stock/item_base.html:331 -#: templates/InvenTree/search.html:183 templates/js/translated/build.js:869 +#: build/models.py:1251 stock/templates/stock/item_base.html:331 +#: templates/InvenTree/search.html:169 templates/js/translated/build.js:1195 #: templates/navbar.html:35 msgid "Build" msgstr "" -#: build/models.py:1373 +#: build/models.py:1252 msgid "Build to allocate parts" msgstr "パーツを割り当てるためにビルドする" -#: build/models.py:1389 stock/templates/stock/item_base.html:8 +#: build/models.py:1268 build/serializers.py:151 +#: stock/templates/stock/item_base.html:8 #: stock/templates/stock/item_base.html:31 #: stock/templates/stock/item_base.html:353 #: stock/templates/stock/stock_adjust.html:16 -#: templates/js/translated/build.js:271 templates/js/translated/build.js:276 -#: templates/js/translated/build.js:1012 templates/js/translated/order.js:797 -#: templates/js/translated/order.js:802 templates/js/translated/stock.js:1626 +#: templates/js/translated/build.js:287 templates/js/translated/build.js:292 +#: templates/js/translated/build.js:976 templates/js/translated/build.js:1338 +#: templates/js/translated/order.js:1143 templates/js/translated/order.js:1148 +#: templates/js/translated/stock.js:1605 msgid "Stock Item" msgstr "" -#: build/models.py:1390 +#: build/models.py:1269 msgid "Source stock item" msgstr "" -#: build/models.py:1403 +#: build/models.py:1282 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1411 +#: build/models.py:1290 msgid "Install into" msgstr "" -#: build/models.py:1412 +#: build/models.py:1291 msgid "Destination stock item" msgstr "" +#: build/serializers.py:133 part/models.py:2501 +msgid "BOM Item" +msgstr "" + +#: build/serializers.py:142 +msgid "bom_item.part must point to the same part as the build order" +msgstr "" + +#: build/serializers.py:157 +msgid "Item must be in stock" +msgstr "" + +#: build/serializers.py:171 order/models.py:313 order/serializers.py:231 +#: stock/models.py:351 stock/models.py:1072 +msgid "Quantity must be greater than zero" +msgstr "" + +#: build/serializers.py:180 +msgid "Build Output" +msgstr "" + +#: build/serializers.py:213 +#, python-brace-format +msgid "Available quantity ({q}) exceeded" +msgstr "" + +#: build/serializers.py:219 +msgid "Build output must be specified for allocation of tracked parts" +msgstr "" + +#: build/serializers.py:226 +msgid "Build output cannot be specified for allocation of untracked parts" +msgstr "" + +#: build/serializers.py:254 +msgid "Allocation items must be provided" +msgstr "" + #: build/templates/build/allocation_card.html:21 #: build/templates/build/complete_output.html:46 -#: order/templates/order/sales_order_detail.html:206 -#: order/templates/order/sales_order_detail.html:291 #: report/templates/report/inventree_test_report_base.html:75 #: stock/models.py:501 stock/templates/stock/item_base.html:251 -#: templates/js/translated/build.js:627 -#: templates/js/translated/model_renderers.js:57 +#: templates/js/translated/build.js:636 +#: templates/js/translated/model_renderers.js:72 +#: templates/js/translated/order.js:1253 templates/js/translated/order.js:1342 msgid "Serial Number" msgstr "" -#: build/templates/build/auto_allocate.html:9 -msgid "Automatically Allocate Stock" -msgstr "" - -#: build/templates/build/auto_allocate.html:10 -msgid "The following stock items will be allocated to the specified build output" -msgstr "" - -#: build/templates/build/auto_allocate.html:37 -msgid "No stock items found that can be automatically allocated to this build" -msgstr "" - -#: build/templates/build/auto_allocate.html:39 -msgid "Stock items will have to be manually allocated" -msgstr "" - #: build/templates/build/build_base.html:18 #, python-format msgid "This Build Order is allocated to Sales Order %(link)s" @@ -1033,10 +1053,10 @@ msgstr "" #: order/templates/order/order_base.html:32 #: order/templates/order/order_base.html:86 #: order/templates/order/sales_order_base.html:43 -#: order/templates/order/sales_order_base.html:88 +#: order/templates/order/sales_order_base.html:93 #: templates/js/translated/table_filters.js:272 -#: templates/js/translated/table_filters.js:291 -#: templates/js/translated/table_filters.js:308 +#: templates/js/translated/table_filters.js:300 +#: templates/js/translated/table_filters.js:317 msgid "Overdue" msgstr "" @@ -1086,14 +1106,14 @@ msgid "Progress" msgstr "" #: build/templates/build/build_base.html:170 -#: build/templates/build/detail.html:87 order/models.py:835 +#: build/templates/build/detail.html:87 order/models.py:848 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:35 #: order/templates/order/sales_order_ship.html:25 #: report/templates/report/inventree_build_order_base.html:136 #: report/templates/report/inventree_so_report.html:77 #: stock/templates/stock/item_base.html:293 -#: templates/js/translated/order.js:670 +#: templates/js/translated/order.js:1016 msgid "Sales Order" msgstr "" @@ -1171,28 +1191,6 @@ msgstr "" msgid "The following items will be created" msgstr "" -#: build/templates/build/create_build_item.html:7 -msgid "Select a stock item to allocate to the selected build output" -msgstr "" - -#: build/templates/build/create_build_item.html:11 -#, python-format -msgid "The allocated stock will be installed into the following build output:
%(output)s" -msgstr "" - -#: build/templates/build/create_build_item.html:17 -#, python-format -msgid "No stock available for %(part)s" -msgstr "" - -#: build/templates/build/delete_build_item.html:8 -msgid "Are you sure you want to unallocate this stock?" -msgstr "" - -#: build/templates/build/delete_build_item.html:11 -msgid "The selected stock will be unallocated from the build output" -msgstr "" - #: build/templates/build/detail.html:38 msgid "Stock Source" msgstr "" @@ -1201,9 +1199,8 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/forms.py:88 order/models.py:794 -#: order/templates/order/receive_parts.html:25 stock/forms.py:134 -#: templates/js/translated/order.js:593 +#: build/templates/build/detail.html:49 order/models.py:802 stock/forms.py:134 +#: templates/js/translated/order.js:431 templates/js/translated/order.js:939 msgid "Destination" msgstr "" @@ -1213,7 +1210,7 @@ msgstr "" #: build/templates/build/detail.html:73 #: stock/templates/stock/item_base.html:317 -#: templates/js/translated/stock.js:931 templates/js/translated/stock.js:1873 +#: templates/js/translated/stock.js:910 templates/js/translated/stock.js:1852 #: templates/js/translated/table_filters.js:129 #: templates/js/translated/table_filters.js:211 msgid "Batch" @@ -1221,8 +1218,8 @@ msgstr "" #: build/templates/build/detail.html:119 #: order/templates/order/order_base.html:111 -#: order/templates/order/sales_order_base.html:113 -#: templates/js/translated/build.js:933 +#: order/templates/order/sales_order_base.html:118 +#: templates/js/translated/build.js:1259 msgid "Created" msgstr "" @@ -1230,7 +1227,8 @@ msgstr "" msgid "No target date set" msgstr "" -#: build/templates/build/detail.html:135 templates/js/translated/build.js:911 +#: build/templates/build/detail.html:135 templates/js/translated/build.js:1237 +#: templates/js/translated/table_filters.js:282 msgid "Completed" msgstr "" @@ -1250,15 +1248,16 @@ msgstr "" msgid "Allocate stock to build" msgstr "" -#: build/templates/build/detail.html:173 -msgid "Auto Allocate" +#: build/templates/build/detail.html:173 build/templates/build/navbar.html:20 +#: build/templates/build/navbar.html:23 +msgid "Allocate Stock" msgstr "" -#: build/templates/build/detail.html:175 templates/js/translated/build.js:801 +#: build/templates/build/detail.html:175 templates/js/translated/build.js:817 msgid "Unallocate stock" msgstr "" -#: build/templates/build/detail.html:176 build/views.py:318 build/views.py:638 +#: build/templates/build/detail.html:176 build/views.py:257 msgid "Unallocate Stock" msgstr "" @@ -1268,7 +1267,7 @@ msgstr "注文必須パーツ" #: build/templates/build/detail.html:180 #: company/templates/company/detail.html:32 -#: company/templates/company/detail.html:72 order/views.py:679 +#: company/templates/company/detail.html:72 order/views.py:509 #: part/templates/part/category.html:140 msgid "Order Parts" msgstr "パーツの注文" @@ -1282,38 +1281,42 @@ msgid "Untracked stock has not been fully allocated for this Build Order" msgstr "" #: build/templates/build/detail.html:197 +msgid "Allocate selected items" +msgstr "" + +#: build/templates/build/detail.html:209 msgid "This Build Order does not have any associated untracked BOM items" msgstr "" -#: build/templates/build/detail.html:206 +#: build/templates/build/detail.html:218 msgid "Incomplete Build Outputs" msgstr "" -#: build/templates/build/detail.html:211 +#: build/templates/build/detail.html:223 msgid "Create new build output" msgstr "" -#: build/templates/build/detail.html:212 +#: build/templates/build/detail.html:224 msgid "Create New Output" msgstr "" -#: build/templates/build/detail.html:225 +#: build/templates/build/detail.html:237 msgid "Create a new build output" msgstr "" -#: build/templates/build/detail.html:226 +#: build/templates/build/detail.html:238 msgid "No incomplete build outputs remain." msgstr "" -#: build/templates/build/detail.html:227 +#: build/templates/build/detail.html:239 msgid "Create a new build output using the button above" msgstr "" -#: build/templates/build/detail.html:235 +#: build/templates/build/detail.html:247 msgid "Completed Build Outputs" msgstr "" -#: build/templates/build/detail.html:246 build/templates/build/navbar.html:42 +#: build/templates/build/detail.html:258 build/templates/build/navbar.html:42 #: build/templates/build/navbar.html:45 order/templates/order/po_navbar.html:35 #: order/templates/order/sales_order_detail.html:43 #: order/templates/order/so_navbar.html:29 part/templates/part/detail.html:173 @@ -1323,15 +1326,15 @@ msgstr "" msgid "Attachments" msgstr "" -#: build/templates/build/detail.html:257 +#: build/templates/build/detail.html:269 msgid "Build Notes" msgstr "" -#: build/templates/build/detail.html:261 build/templates/build/detail.html:398 +#: build/templates/build/detail.html:273 build/templates/build/detail.html:414 #: company/templates/company/detail.html:169 #: company/templates/company/detail.html:196 -#: order/templates/order/purchase_order_detail.html:62 -#: order/templates/order/purchase_order_detail.html:95 +#: order/templates/order/purchase_order_detail.html:71 +#: order/templates/order/purchase_order_detail.html:104 #: order/templates/order/sales_order_detail.html:58 #: order/templates/order/sales_order_detail.html:85 #: part/templates/part/detail.html:109 stock/templates/stock/item.html:103 @@ -1339,39 +1342,48 @@ msgstr "" msgid "Edit Notes" msgstr "" -#: build/templates/build/detail.html:357 +#: build/templates/build/detail.html:373 #: order/templates/order/po_attachments.html:79 -#: order/templates/order/purchase_order_detail.html:157 +#: order/templates/order/purchase_order_detail.html:166 #: order/templates/order/sales_order_detail.html:146 -#: part/templates/part/detail.html:920 stock/templates/stock/item.html:253 +#: part/templates/part/detail.html:891 stock/templates/stock/item.html:253 #: templates/attachment_table.html:6 msgid "Add Attachment" msgstr "" -#: build/templates/build/detail.html:376 +#: build/templates/build/detail.html:392 #: order/templates/order/po_attachments.html:51 -#: order/templates/order/purchase_order_detail.html:129 +#: order/templates/order/purchase_order_detail.html:138 #: order/templates/order/sales_order_detail.html:119 -#: part/templates/part/detail.html:874 stock/templates/stock/item.html:221 +#: part/templates/part/detail.html:845 stock/templates/stock/item.html:221 msgid "Edit Attachment" msgstr "" -#: build/templates/build/detail.html:383 +#: build/templates/build/detail.html:399 #: order/templates/order/po_attachments.html:58 -#: order/templates/order/purchase_order_detail.html:136 +#: order/templates/order/purchase_order_detail.html:145 #: order/templates/order/sales_order_detail.html:125 -#: part/templates/part/detail.html:883 stock/templates/stock/item.html:230 +#: part/templates/part/detail.html:854 stock/templates/stock/item.html:230 +#: templates/js/translated/order.js:1230 msgid "Confirm Delete Operation" msgstr "" -#: build/templates/build/detail.html:384 +#: build/templates/build/detail.html:400 #: order/templates/order/po_attachments.html:59 -#: order/templates/order/purchase_order_detail.html:137 +#: order/templates/order/purchase_order_detail.html:146 #: order/templates/order/sales_order_detail.html:126 -#: part/templates/part/detail.html:884 stock/templates/stock/item.html:231 +#: part/templates/part/detail.html:855 stock/templates/stock/item.html:231 msgid "Delete Attachment" msgstr "" +#: build/templates/build/detail.html:443 +msgid "Allocation Complete" +msgstr "" + +#: build/templates/build/detail.html:444 +msgid "All untracked stock items have been allocated" +msgstr "" + #: build/templates/build/edit_build_item.html:7 msgid "Alter the quantity of stock allocated to the build output" msgstr "" @@ -1401,15 +1413,10 @@ msgid "Build Order Details" msgstr "" #: build/templates/build/navbar.html:15 order/templates/order/po_navbar.html:15 -#: templates/js/translated/stock.js:1555 +#: templates/js/translated/stock.js:1534 msgid "Details" msgstr "" -#: build/templates/build/navbar.html:20 build/templates/build/navbar.html:23 -#: build/views.py:90 -msgid "Allocate Stock" -msgstr "" - #: build/templates/build/navbar.html:28 build/templates/build/navbar.html:31 msgid "Build Outputs" msgstr "" @@ -1434,120 +1441,82 @@ msgstr "" msgid "Build was cancelled" msgstr "" -#: build/views.py:137 -msgid "Allocated stock to build output" -msgstr "" - -#: build/views.py:149 +#: build/views.py:88 msgid "Create Build Output" msgstr "" -#: build/views.py:167 +#: build/views.py:106 msgid "Maximum output quantity is " msgstr "" -#: build/views.py:183 stock/views.py:1389 +#: build/views.py:122 stock/views.py:1366 msgid "Serial numbers already exist" msgstr "" -#: build/views.py:192 +#: build/views.py:131 msgid "Serial numbers required for trackable build output" msgstr "" -#: build/views.py:258 +#: build/views.py:197 msgid "Delete Build Output" msgstr "" -#: build/views.py:279 build/views.py:369 +#: build/views.py:218 build/views.py:308 msgid "Confirm unallocation of build stock" msgstr "" -#: build/views.py:280 build/views.py:370 stock/views.py:404 +#: build/views.py:219 build/views.py:309 stock/views.py:381 msgid "Check the confirmation box" msgstr "" -#: build/views.py:292 +#: build/views.py:231 msgid "Build output does not match build" msgstr "" -#: build/views.py:294 build/views.py:495 +#: build/views.py:233 build/views.py:434 msgid "Build output must be specified" msgstr "" -#: build/views.py:306 +#: build/views.py:245 msgid "Build output deleted" msgstr "" -#: build/views.py:404 +#: build/views.py:343 msgid "Complete Build Order" msgstr "" -#: build/views.py:410 +#: build/views.py:349 msgid "Build order cannot be completed - incomplete outputs remain" msgstr "" -#: build/views.py:421 +#: build/views.py:360 msgid "Completed build order" msgstr "" -#: build/views.py:437 +#: build/views.py:376 msgid "Complete Build Output" msgstr "" -#: build/views.py:479 +#: build/views.py:418 msgid "Invalid stock status value selected" msgstr "" -#: build/views.py:486 +#: build/views.py:425 msgid "Quantity to complete cannot exceed build output quantity" msgstr "" -#: build/views.py:492 +#: build/views.py:431 msgid "Confirm completion of incomplete build" msgstr "" -#: build/views.py:591 +#: build/views.py:530 msgid "Build output completed" msgstr "" -#: build/views.py:628 +#: build/views.py:567 msgid "Delete Build Order" msgstr "" -#: build/views.py:643 -msgid "Removed parts from build allocation" -msgstr "" - -#: build/views.py:655 -msgid "Allocate stock to build output" -msgstr "" - -#: build/views.py:698 -msgid "Item must be currently in stock" -msgstr "" - -#: build/views.py:704 -msgid "Stock item is over-allocated" -msgstr "" - -#: build/views.py:705 templates/js/translated/bom.js:269 -#: templates/js/translated/build.js:728 templates/js/translated/build.js:1019 -#: templates/js/translated/build.js:1196 -msgid "Available" -msgstr "" - -#: build/views.py:707 -msgid "Stock item must be selected" -msgstr "" - -#: build/views.py:870 -msgid "Edit Stock Allocation" -msgstr "" - -#: build/views.py:874 -msgid "Updated Build Item" -msgstr "" - #: common/files.py:67 msgid "Unsupported file format: {ext.upper()}" msgstr "" @@ -1585,7 +1554,7 @@ msgstr "" msgid "Select {name} file to upload" msgstr "" -#: common/models.py:308 common/models.py:839 common/models.py:986 +#: common/models.py:308 common/models.py:887 common/models.py:1048 msgid "Settings key (must be unique - case insensitive" msgstr "" @@ -1625,7 +1594,7 @@ msgstr "" msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:522 company/models.py:99 company/models.py:100 +#: common/models.py:522 company/models.py:100 company/models.py:101 msgid "Company name" msgstr "" @@ -1721,9 +1690,9 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:603 part/models.py:2252 report/models.py:187 +#: common/models.py:603 part/models.py:2256 report/models.py:187 #: stock/forms.py:224 templates/js/translated/table_filters.js:38 -#: templates/js/translated/table_filters.js:342 +#: templates/js/translated/table_filters.js:351 msgid "Template" msgstr "テンプレート" @@ -1731,9 +1700,9 @@ msgstr "テンプレート" msgid "Parts are templates by default" msgstr "パーツはデフォルトのテンプレートです" -#: common/models.py:610 part/models.py:805 +#: common/models.py:610 part/models.py:806 #: templates/js/translated/table_filters.js:146 -#: templates/js/translated/table_filters.js:354 +#: templates/js/translated/table_filters.js:363 msgid "Assembly" msgstr "アセンブリ" @@ -1741,8 +1710,8 @@ msgstr "アセンブリ" msgid "Parts can be assembled from other components by default" msgstr "パーツはデフォルトで他のコンポーネントから組み立てることができます" -#: common/models.py:617 part/models.py:811 -#: templates/js/translated/table_filters.js:358 +#: common/models.py:617 part/models.py:812 +#: templates/js/translated/table_filters.js:367 msgid "Component" msgstr "コンポーネント" @@ -1750,7 +1719,7 @@ msgstr "コンポーネント" msgid "Parts can be used as sub-components by default" msgstr "パーツはデフォルトでサブコンポーネントとして使用できます" -#: common/models.py:624 part/models.py:822 +#: common/models.py:624 part/models.py:823 msgid "Purchaseable" msgstr "購入可能" @@ -1758,8 +1727,8 @@ msgstr "購入可能" msgid "Parts are purchaseable by default" msgstr "パーツはデフォルトで購入可能です" -#: common/models.py:631 part/models.py:827 -#: templates/js/translated/table_filters.js:366 +#: common/models.py:631 part/models.py:828 +#: templates/js/translated/table_filters.js:375 msgid "Salable" msgstr "" @@ -1767,9 +1736,9 @@ msgstr "" msgid "Parts are salable by default" msgstr "パーツはデフォルトで販売可能です" -#: common/models.py:638 part/models.py:817 +#: common/models.py:638 part/models.py:818 #: templates/js/translated/table_filters.js:46 -#: templates/js/translated/table_filters.js:370 +#: templates/js/translated/table_filters.js:379 msgid "Trackable" msgstr "追跡可能" @@ -1777,7 +1746,7 @@ msgstr "追跡可能" msgid "Parts are trackable by default" msgstr "パーツはデフォルトで追跡可能です" -#: common/models.py:645 part/models.py:837 +#: common/models.py:645 part/models.py:838 #: part/templates/part/part_base.html:66 #: templates/js/translated/table_filters.js:42 msgid "Virtual" @@ -1787,392 +1756,464 @@ msgstr "" msgid "Parts are virtual by default" msgstr "" -#: common/models.py:653 -msgid "Show Quantity in Forms" -msgstr "" - -#: common/models.py:654 -msgid "Display available part quantity in some forms" -msgstr "" - -#: common/models.py:660 +#: common/models.py:652 msgid "Show Import in Views" msgstr "" -#: common/models.py:661 +#: common/models.py:653 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:667 +#: common/models.py:659 msgid "Show Price in Forms" msgstr "" -#: common/models.py:668 +#: common/models.py:660 msgid "Display part price in some forms" msgstr "" -#: common/models.py:674 +#: common/models.py:671 +msgid "Show Price in BOM" +msgstr "" + +#: common/models.py:672 +msgid "Include pricing information in BOM tables" +msgstr "" + +#: common/models.py:678 msgid "Show related parts" msgstr "" -#: common/models.py:675 +#: common/models.py:679 msgid "Display related parts for a part" msgstr "" -#: common/models.py:681 +#: common/models.py:685 msgid "Create initial stock" msgstr "" -#: common/models.py:682 +#: common/models.py:686 msgid "Create initial stock on part creation" msgstr "" -#: common/models.py:688 +#: common/models.py:692 msgid "Internal Prices" msgstr "" -#: common/models.py:689 +#: common/models.py:693 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:695 +#: common/models.py:699 msgid "Internal Price as BOM-Price" msgstr "" -#: common/models.py:696 +#: common/models.py:700 msgid "Use the internal price (if set) in BOM-price calculations" msgstr "" -#: common/models.py:702 templates/stats.html:25 +#: common/models.py:706 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:703 +#: common/models.py:707 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:709 +#: common/models.py:713 msgid "Page Size" msgstr "" -#: common/models.py:710 +#: common/models.py:714 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:720 +#: common/models.py:724 msgid "Test Reports" msgstr "" -#: common/models.py:721 +#: common/models.py:725 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:727 +#: common/models.py:731 msgid "Stock Expiry" msgstr "" -#: common/models.py:728 +#: common/models.py:732 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:734 +#: common/models.py:738 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:735 +#: common/models.py:739 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:741 +#: common/models.py:745 msgid "Stock Stale Time" msgstr "" -#: common/models.py:742 +#: common/models.py:746 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:744 +#: common/models.py:748 msgid "days" msgstr "" -#: common/models.py:749 +#: common/models.py:753 msgid "Build Expired Stock" msgstr "" -#: common/models.py:750 +#: common/models.py:754 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:756 +#: common/models.py:760 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:757 +#: common/models.py:761 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:763 +#: common/models.py:767 msgid "Group by Part" msgstr "" -#: common/models.py:764 +#: common/models.py:768 msgid "Group stock items by part reference in table views" msgstr "" -#: common/models.py:770 +#: common/models.py:774 msgid "Build Order Reference Prefix" msgstr "" -#: common/models.py:771 +#: common/models.py:775 msgid "Prefix value for build order reference" msgstr "" -#: common/models.py:776 +#: common/models.py:780 msgid "Build Order Reference Regex" msgstr "" -#: common/models.py:777 +#: common/models.py:781 msgid "Regular expression pattern for matching build order reference" msgstr "" -#: common/models.py:781 +#: common/models.py:785 msgid "Sales Order Reference Prefix" msgstr "" -#: common/models.py:782 +#: common/models.py:786 msgid "Prefix value for sales order reference" msgstr "" -#: common/models.py:787 +#: common/models.py:791 msgid "Purchase Order Reference Prefix" msgstr "" -#: common/models.py:788 +#: common/models.py:792 msgid "Prefix value for purchase order reference" msgstr "" -#: common/models.py:794 +#: common/models.py:798 msgid "Enable build" msgstr "" -#: common/models.py:795 +#: common/models.py:799 msgid "Enable build functionality in InvenTree interface" msgstr "" -#: common/models.py:800 +#: common/models.py:804 msgid "Enable buy" msgstr "" -#: common/models.py:801 +#: common/models.py:805 msgid "Enable buy functionality in InvenTree interface" msgstr "" -#: common/models.py:806 +#: common/models.py:810 msgid "Enable sell" msgstr "" -#: common/models.py:807 +#: common/models.py:811 msgid "Enable sell functionality in InvenTree interface" msgstr "" -#: common/models.py:812 +#: common/models.py:816 msgid "Enable stock" msgstr "" -#: common/models.py:813 +#: common/models.py:817 msgid "Enable stock functionality in InvenTree interface" msgstr "" -#: common/models.py:818 +#: common/models.py:822 msgid "Enable SO" msgstr "" -#: common/models.py:819 +#: common/models.py:823 msgid "Enable SO functionality in InvenTree interface" msgstr "" -#: common/models.py:824 +#: common/models.py:828 msgid "Enable PO" msgstr "" -#: common/models.py:825 +#: common/models.py:829 msgid "Enable PO functionality in InvenTree interface" msgstr "" -#: common/models.py:850 +#: common/models.py:836 +msgid "Enable password forgot" +msgstr "" + +#: common/models.py:837 +msgid "Enable password forgot function on the login-pages" +msgstr "" + +#: common/models.py:842 +msgid "Enable registration" +msgstr "" + +#: common/models.py:843 +msgid "Enable self-registration for users on the login-pages" +msgstr "" + +#: common/models.py:848 +msgid "Enable SSO" +msgstr "" + +#: common/models.py:849 +msgid "Enable SSO on the login-pages" +msgstr "" + +#: common/models.py:854 +msgid "E-Mail required" +msgstr "" + +#: common/models.py:855 +msgid "Require user to supply mail on signup" +msgstr "" + +#: common/models.py:860 +msgid "Auto-fill SSO users" +msgstr "" + +#: common/models.py:861 +msgid "Automatically fill out user-details from SSO account-data" +msgstr "" + +#: common/models.py:866 +msgid "Mail twice" +msgstr "" + +#: common/models.py:867 +msgid "On signup ask users twice for their mail" +msgstr "" + +#: common/models.py:872 +msgid "Password twice" +msgstr "" + +#: common/models.py:873 +msgid "On signup ask users twice for their password" +msgstr "" + +#: common/models.py:898 msgid "Show starred parts" msgstr "" -#: common/models.py:851 +#: common/models.py:899 msgid "Show starred parts on the homepage" msgstr "" -#: common/models.py:856 +#: common/models.py:904 msgid "Show latest parts" msgstr "" -#: common/models.py:857 +#: common/models.py:905 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:862 +#: common/models.py:910 msgid "Recent Part Count" msgstr "" -#: common/models.py:863 +#: common/models.py:911 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:869 +#: common/models.py:917 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:870 +#: common/models.py:918 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:875 +#: common/models.py:923 msgid "Show recent stock changes" msgstr "" -#: common/models.py:876 +#: common/models.py:924 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:881 +#: common/models.py:929 msgid "Recent Stock Count" msgstr "" -#: common/models.py:882 +#: common/models.py:930 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:887 +#: common/models.py:935 msgid "Show low stock" msgstr "" -#: common/models.py:888 +#: common/models.py:936 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:893 +#: common/models.py:941 msgid "Show depleted stock" msgstr "" -#: common/models.py:894 +#: common/models.py:942 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:899 +#: common/models.py:947 msgid "Show needed stock" msgstr "" -#: common/models.py:900 +#: common/models.py:948 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:905 +#: common/models.py:953 msgid "Show expired stock" msgstr "" -#: common/models.py:906 +#: common/models.py:954 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:911 +#: common/models.py:959 msgid "Show stale stock" msgstr "" -#: common/models.py:912 +#: common/models.py:960 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:917 +#: common/models.py:965 msgid "Show pending builds" msgstr "" -#: common/models.py:918 +#: common/models.py:966 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:923 +#: common/models.py:971 msgid "Show overdue builds" msgstr "" -#: common/models.py:924 +#: common/models.py:972 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:929 +#: common/models.py:977 msgid "Show outstanding POs" msgstr "" -#: common/models.py:930 +#: common/models.py:978 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:935 +#: common/models.py:983 msgid "Show overdue POs" msgstr "" -#: common/models.py:936 +#: common/models.py:984 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:941 +#: common/models.py:989 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:942 +#: common/models.py:990 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:947 +#: common/models.py:995 msgid "Show overdue SOs" msgstr "" -#: common/models.py:948 +#: common/models.py:996 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:954 +#: common/models.py:1002 msgid "Inline label display" msgstr "" -#: common/models.py:955 +#: common/models.py:1003 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:961 +#: common/models.py:1009 msgid "Inline report display" msgstr "" -#: common/models.py:962 +#: common/models.py:1010 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:968 +#: common/models.py:1016 msgid "Search Preview Results" msgstr "" -#: common/models.py:969 +#: common/models.py:1017 msgid "Number of results to show in search preview window" msgstr "" -#: common/models.py:1026 company/forms.py:43 +#: common/models.py:1023 +msgid "Show Quantity in Forms" +msgstr "" + +#: common/models.py:1024 +msgid "Display available part quantity in some forms" +msgstr "" + +#: common/models.py:1030 +msgid "Escape Key Closes Forms" +msgstr "" + +#: common/models.py:1031 +msgid "Use the escape key to close modal forms" +msgstr "" + +#: common/models.py:1088 company/forms.py:43 msgid "Price break quantity" msgstr "" -#: common/models.py:1033 company/templates/company/supplier_part.html:231 -#: templates/js/translated/part.js:1322 +#: common/models.py:1095 company/templates/company/supplier_part.html:231 +#: templates/js/translated/part.js:1369 msgid "Price" msgstr "" -#: common/models.py:1034 +#: common/models.py:1096 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1127 +#: common/models.py:1189 msgid "Default" msgstr "" @@ -2199,7 +2240,7 @@ msgstr "" #: common/views.py:213 order/templates/order/order_wizard/po_upload.html:42 #: order/templates/order/po_navbar.html:19 #: order/templates/order/po_navbar.html:22 -#: order/templates/order/purchase_order_detail.html:26 order/views.py:290 +#: order/templates/order/purchase_order_detail.html:27 order/views.py:289 #: part/templates/part/bom_upload/upload_file.html:65 #: part/templates/part/import_wizard/part_upload.html:45 part/views.py:268 #: part/views.py:882 @@ -2207,7 +2248,7 @@ msgid "Upload File" msgstr "" #: common/views.py:214 order/templates/order/order_wizard/match_fields.html:52 -#: order/views.py:291 part/templates/part/bom_upload/match_fields.html:52 +#: order/views.py:290 part/templates/part/bom_upload/match_fields.html:52 #: part/templates/part/import_wizard/ajax_match_fields.html:45 #: part/templates/part/import_wizard/match_fields.html:52 part/views.py:269 #: part/views.py:883 @@ -2246,249 +2287,249 @@ msgstr "" msgid "Image URL" msgstr "" -#: company/models.py:104 +#: company/models.py:105 msgid "Company description" msgstr "" -#: company/models.py:105 +#: company/models.py:106 msgid "Description of the company" msgstr "" -#: company/models.py:111 company/templates/company/company_base.html:70 +#: company/models.py:112 company/templates/company/company_base.html:70 #: templates/js/translated/company.js:348 msgid "Website" msgstr "" -#: company/models.py:112 +#: company/models.py:113 msgid "Company website URL" msgstr "" -#: company/models.py:116 company/templates/company/company_base.html:88 +#: company/models.py:117 company/templates/company/company_base.html:88 msgid "Address" msgstr "" -#: company/models.py:117 +#: company/models.py:118 msgid "Company address" msgstr "" -#: company/models.py:120 +#: company/models.py:121 msgid "Phone number" msgstr "" -#: company/models.py:121 +#: company/models.py:122 msgid "Contact phone number" msgstr "" -#: company/models.py:124 company/templates/company/company_base.html:102 +#: company/models.py:125 company/templates/company/company_base.html:102 msgid "Email" msgstr "" -#: company/models.py:124 +#: company/models.py:125 msgid "Contact email address" msgstr "" -#: company/models.py:127 company/templates/company/company_base.html:109 +#: company/models.py:128 company/templates/company/company_base.html:109 msgid "Contact" msgstr "" -#: company/models.py:128 +#: company/models.py:129 msgid "Point of contact" msgstr "" -#: company/models.py:130 company/models.py:347 company/models.py:563 -#: order/models.py:160 part/models.py:714 +#: company/models.py:131 company/models.py:348 company/models.py:564 +#: order/models.py:160 part/models.py:715 #: report/templates/report/inventree_build_order_base.html:165 -#: templates/js/translated/company.js:535 -#: templates/js/translated/company.js:823 templates/js/translated/part.js:972 +#: templates/js/translated/company.js:536 +#: templates/js/translated/company.js:825 templates/js/translated/part.js:983 msgid "Link" msgstr "" -#: company/models.py:130 +#: company/models.py:131 msgid "Link to external company information" msgstr "" -#: company/models.py:138 part/models.py:724 +#: company/models.py:139 part/models.py:725 msgid "Image" msgstr "" -#: company/models.py:143 +#: company/models.py:144 msgid "is customer" msgstr "" -#: company/models.py:143 +#: company/models.py:144 msgid "Do you sell items to this company?" msgstr "" -#: company/models.py:145 +#: company/models.py:146 msgid "is supplier" msgstr "" -#: company/models.py:145 +#: company/models.py:146 msgid "Do you purchase items from this company?" msgstr "" -#: company/models.py:147 +#: company/models.py:148 msgid "is manufacturer" msgstr "" -#: company/models.py:147 +#: company/models.py:148 msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:151 company/serializers.py:264 -#: company/templates/company/company_base.html:76 stock/serializers.py:155 +#: company/models.py:152 company/serializers.py:264 +#: company/templates/company/company_base.html:76 stock/serializers.py:158 msgid "Currency" msgstr "" -#: company/models.py:154 +#: company/models.py:155 msgid "Default currency used for this company" msgstr "" -#: company/models.py:319 company/models.py:534 stock/models.py:454 +#: company/models.py:320 company/models.py:535 stock/models.py:454 #: stock/templates/stock/item_base.html:237 msgid "Base Part" msgstr "" -#: company/models.py:323 company/models.py:538 order/views.py:1082 +#: company/models.py:324 company/models.py:539 order/views.py:912 msgid "Select part" msgstr "" -#: company/models.py:334 company/templates/company/company_base.html:116 +#: company/models.py:335 company/templates/company/company_base.html:116 #: company/templates/company/manufacturer_part.html:89 #: company/templates/company/supplier_part.html:98 part/bom.py:170 -#: part/bom.py:241 stock/templates/stock/item_base.html:366 +#: part/bom.py:247 stock/templates/stock/item_base.html:366 #: templates/js/translated/company.js:332 -#: templates/js/translated/company.js:512 -#: templates/js/translated/company.js:794 templates/js/translated/part.js:222 +#: templates/js/translated/company.js:513 +#: templates/js/translated/company.js:796 templates/js/translated/part.js:227 msgid "Manufacturer" msgstr "" -#: company/models.py:335 templates/js/translated/part.js:223 +#: company/models.py:336 templates/js/translated/part.js:228 msgid "Select manufacturer" msgstr "" -#: company/models.py:341 company/templates/company/manufacturer_part.html:93 +#: company/models.py:342 company/templates/company/manufacturer_part.html:93 #: company/templates/company/supplier_part.html:106 part/bom.py:171 -#: part/bom.py:242 templates/js/translated/company.js:528 -#: templates/js/translated/company.js:812 templates/js/translated/order.js:505 -#: templates/js/translated/part.js:233 +#: part/bom.py:248 templates/js/translated/company.js:529 +#: templates/js/translated/company.js:814 templates/js/translated/order.js:851 +#: templates/js/translated/part.js:238 msgid "MPN" msgstr "" -#: company/models.py:342 templates/js/translated/part.js:234 +#: company/models.py:343 templates/js/translated/part.js:239 msgid "Manufacturer Part Number" msgstr "" -#: company/models.py:348 +#: company/models.py:349 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:354 +#: company/models.py:355 msgid "Manufacturer part description" msgstr "" -#: company/models.py:408 company/models.py:557 +#: company/models.py:409 company/models.py:558 #: company/templates/company/manufacturer_part.html:6 #: company/templates/company/manufacturer_part.html:23 #: stock/templates/stock/item_base.html:376 msgid "Manufacturer Part" msgstr "メーカー・パーツ" -#: company/models.py:415 +#: company/models.py:416 msgid "Parameter name" msgstr "" -#: company/models.py:421 +#: company/models.py:422 #: report/templates/report/inventree_test_report_base.html:90 -#: stock/models.py:1819 templates/InvenTree/settings/header.html:8 -#: templates/js/translated/company.js:642 templates/js/translated/part.js:612 -#: templates/js/translated/stock.js:576 +#: stock/models.py:1816 templates/InvenTree/settings/header.html:8 +#: templates/js/translated/company.js:643 templates/js/translated/part.js:623 +#: templates/js/translated/stock.js:555 msgid "Value" msgstr "" -#: company/models.py:422 +#: company/models.py:423 msgid "Parameter value" msgstr "" -#: company/models.py:428 part/models.py:799 part/models.py:2220 -#: templates/js/translated/company.js:648 templates/js/translated/part.js:618 +#: company/models.py:429 part/models.py:800 part/models.py:2224 +#: templates/js/translated/company.js:649 templates/js/translated/part.js:629 msgid "Units" msgstr "" -#: company/models.py:429 +#: company/models.py:430 msgid "Parameter units" msgstr "" -#: company/models.py:501 +#: company/models.py:502 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:544 company/templates/company/company_base.html:121 +#: company/models.py:545 company/templates/company/company_base.html:121 #: company/templates/company/supplier_part.html:88 order/models.py:260 #: order/templates/order/order_base.html:92 #: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:175 -#: part/bom.py:286 stock/templates/stock/item_base.html:383 +#: part/bom.py:292 stock/templates/stock/item_base.html:383 #: templates/js/translated/company.js:336 -#: templates/js/translated/company.js:768 templates/js/translated/order.js:328 -#: templates/js/translated/part.js:203 +#: templates/js/translated/company.js:770 templates/js/translated/order.js:659 +#: templates/js/translated/part.js:208 msgid "Supplier" msgstr "" -#: company/models.py:545 templates/js/translated/part.js:204 +#: company/models.py:546 templates/js/translated/part.js:209 msgid "Select supplier" msgstr "" -#: company/models.py:550 company/templates/company/supplier_part.html:92 -#: part/bom.py:176 part/bom.py:287 templates/js/translated/order.js:492 -#: templates/js/translated/part.js:214 +#: company/models.py:551 company/templates/company/supplier_part.html:92 +#: part/bom.py:176 part/bom.py:293 templates/js/translated/order.js:838 +#: templates/js/translated/part.js:219 msgid "SKU" msgstr "" -#: company/models.py:551 templates/js/translated/part.js:215 +#: company/models.py:552 templates/js/translated/part.js:220 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:558 +#: company/models.py:559 msgid "Select manufacturer part" msgstr "" -#: company/models.py:564 +#: company/models.py:565 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:570 +#: company/models.py:571 msgid "Supplier part description" msgstr "" -#: company/models.py:575 company/templates/company/supplier_part.html:120 -#: part/models.py:2368 report/templates/report/inventree_po_report.html:93 +#: company/models.py:576 company/templates/company/supplier_part.html:120 +#: part/models.py:2389 report/templates/report/inventree_po_report.html:93 #: report/templates/report/inventree_so_report.html:93 msgid "Note" msgstr "" -#: company/models.py:579 part/models.py:1599 +#: company/models.py:580 part/models.py:1603 msgid "base cost" msgstr "" -#: company/models.py:579 part/models.py:1599 +#: company/models.py:580 part/models.py:1603 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:581 company/templates/company/supplier_part.html:113 +#: company/models.py:582 company/templates/company/supplier_part.html:113 #: stock/models.py:478 stock/templates/stock/item_base.html:324 -#: templates/js/translated/company.js:844 templates/js/translated/stock.js:1057 +#: templates/js/translated/company.js:846 templates/js/translated/stock.js:1036 msgid "Packaging" msgstr "" -#: company/models.py:581 +#: company/models.py:582 msgid "Part packaging" msgstr "" -#: company/models.py:583 part/models.py:1601 +#: company/models.py:584 part/models.py:1605 msgid "multiple" msgstr "" -#: company/models.py:583 +#: company/models.py:584 msgid "Order multiple" msgstr "" @@ -2502,7 +2543,7 @@ msgstr "" #: company/templates/company/company_base.html:9 #: company/templates/company/company_base.html:35 -#: templates/InvenTree/search.html:304 templates/js/translated/company.js:321 +#: templates/InvenTree/search.html:208 templates/js/translated/company.js:321 msgid "Company" msgstr "" @@ -2517,7 +2558,7 @@ msgid "Download image from URL" msgstr "" #: company/templates/company/company_base.html:46 -#: templates/js/translated/order.js:117 +#: templates/js/translated/order.js:120 msgid "Create Purchase Order" msgstr "" @@ -2542,22 +2583,22 @@ msgstr "" msgid "Phone" msgstr "" -#: company/templates/company/company_base.html:126 order/models.py:550 -#: order/templates/order/sales_order_base.html:94 stock/models.py:496 +#: company/templates/company/company_base.html:126 order/models.py:558 +#: order/templates/order/sales_order_base.html:99 stock/models.py:496 #: stock/models.py:497 stock/templates/stock/item_base.html:276 -#: templates/js/translated/company.js:328 templates/js/translated/order.js:692 -#: templates/js/translated/stock.js:1608 +#: templates/js/translated/company.js:328 templates/js/translated/order.js:1038 +#: templates/js/translated/stock.js:1587 msgid "Customer" msgstr "" -#: company/templates/company/company_base.html:193 -#: part/templates/part/part_base.html:418 +#: company/templates/company/company_base.html:199 +#: part/templates/part/part_base.html:424 msgid "Upload Image" msgstr "" #: company/templates/company/detail.html:14 #: company/templates/company/manufacturer_part_navbar.html:18 -#: templates/InvenTree/search.html:164 +#: templates/InvenTree/search.html:150 msgid "Supplier Parts" msgstr "サプライヤー・パーツ" @@ -2597,7 +2638,7 @@ msgstr "パーツを削除" msgid "Delete Parts" msgstr "パーツを削除" -#: company/templates/company/detail.html:54 templates/InvenTree/search.html:149 +#: company/templates/company/detail.html:54 templates/InvenTree/search.html:135 msgid "Manufacturer Parts" msgstr "メーカー・パーツ" @@ -2620,9 +2661,9 @@ msgstr "" #: order/templates/order/purchase_orders.html:13 #: part/templates/part/detail.html:50 part/templates/part/navbar.html:82 #: part/templates/part/navbar.html:85 templates/InvenTree/index.html:260 -#: templates/InvenTree/search.html:325 -#: templates/InvenTree/settings/navbar.html:107 -#: templates/InvenTree/settings/navbar.html:109 templates/navbar.html:44 +#: templates/InvenTree/search.html:229 +#: templates/InvenTree/settings/navbar.html:119 +#: templates/InvenTree/settings/navbar.html:121 templates/navbar.html:44 #: users/models.py:45 msgid "Purchase Orders" msgstr "" @@ -2644,9 +2685,9 @@ msgstr "" #: order/templates/order/sales_orders.html:13 #: part/templates/part/detail.html:71 part/templates/part/navbar.html:91 #: part/templates/part/navbar.html:94 templates/InvenTree/index.html:291 -#: templates/InvenTree/search.html:345 -#: templates/InvenTree/settings/navbar.html:113 -#: templates/InvenTree/settings/navbar.html:115 templates/navbar.html:55 +#: templates/InvenTree/search.html:249 +#: templates/InvenTree/settings/navbar.html:125 +#: templates/InvenTree/settings/navbar.html:127 templates/navbar.html:55 #: users/models.py:46 msgid "Sales Orders" msgstr "" @@ -2664,7 +2705,7 @@ msgstr "" #: company/templates/company/detail.html:147 #: company/templates/company/navbar.html:61 #: company/templates/company/navbar.html:64 -#: templates/js/translated/build.js:620 +#: templates/js/translated/build.js:622 msgid "Assigned Stock" msgstr "" @@ -2696,12 +2737,12 @@ msgid "Order part" msgstr "パーツの注文" #: company/templates/company/manufacturer_part.html:45 -#: templates/js/translated/company.js:560 +#: templates/js/translated/company.js:561 msgid "Edit manufacturer part" msgstr "メーカー・パーツの編集" #: company/templates/company/manufacturer_part.html:49 -#: templates/js/translated/company.js:561 +#: templates/js/translated/company.js:562 msgid "Delete manufacturer part" msgstr "メーカー・パーツを削除" @@ -2718,7 +2759,7 @@ msgstr "内部パーツ" #: company/templates/company/manufacturer_part_navbar.html:21 #: company/views.py:49 part/templates/part/navbar.html:75 #: part/templates/part/navbar.html:78 part/templates/part/prices.html:163 -#: templates/InvenTree/search.html:316 templates/navbar.html:41 +#: templates/InvenTree/search.html:220 templates/navbar.html:41 msgid "Suppliers" msgstr "" @@ -2732,7 +2773,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:239 #: part/templates/part/detail.html:214 part/templates/part/detail.html:294 #: part/templates/part/detail.html:317 templates/js/translated/company.js:424 -#: templates/js/translated/helpers.js:31 users/models.py:194 +#: templates/js/translated/helpers.js:31 users/models.py:199 msgid "Delete" msgstr "" @@ -2758,7 +2799,7 @@ msgid "Delete parameters" msgstr "" #: company/templates/company/manufacturer_part.html:176 -#: part/templates/part/detail.html:834 +#: part/templates/part/detail.html:805 msgid "Add Parameter" msgstr "" @@ -2777,16 +2818,15 @@ msgstr "メーカー・パーツの在庫" #: company/templates/company/manufacturer_part_navbar.html:29 #: company/templates/company/navbar.html:39 #: company/templates/company/supplier_part_navbar.html:15 -#: part/templates/part/navbar.html:38 stock/api.py:54 +#: part/templates/part/navbar.html:38 stock/api.py:52 #: stock/templates/stock/loc_link.html:7 stock/templates/stock/location.html:36 #: stock/templates/stock/stock_app_base.html:10 -#: templates/InvenTree/index.html:150 templates/InvenTree/search.html:196 -#: templates/InvenTree/search.html:232 -#: templates/InvenTree/settings/navbar.html:95 -#: templates/InvenTree/settings/navbar.html:97 -#: templates/js/translated/part.js:529 templates/js/translated/part.js:758 -#: templates/js/translated/part.js:934 templates/js/translated/stock.js:202 -#: templates/js/translated/stock.js:850 templates/navbar.html:32 +#: templates/InvenTree/index.html:150 templates/InvenTree/search.html:182 +#: templates/InvenTree/settings/navbar.html:107 +#: templates/InvenTree/settings/navbar.html:109 +#: templates/js/translated/part.js:540 templates/js/translated/part.js:769 +#: templates/js/translated/part.js:945 templates/js/translated/stock.js:182 +#: templates/js/translated/stock.js:829 templates/navbar.html:32 msgid "Stock" msgstr "" @@ -2815,7 +2855,7 @@ msgstr "" #: stock/templates/stock/location.html:148 #: stock/templates/stock/location_navbar.html:18 #: stock/templates/stock/location_navbar.html:21 -#: templates/InvenTree/search.html:198 templates/js/translated/stock.js:1507 +#: templates/InvenTree/search.html:184 templates/js/translated/stock.js:1486 #: templates/stats.html:93 templates/stats.html:102 users/models.py:43 msgid "Stock Items" msgstr "" @@ -2823,17 +2863,17 @@ msgstr "" #: company/templates/company/supplier_part.html:7 #: company/templates/company/supplier_part.html:24 stock/models.py:463 #: stock/templates/stock/item_base.html:388 -#: templates/js/translated/company.js:784 templates/js/translated/stock.js:1014 +#: templates/js/translated/company.js:786 templates/js/translated/stock.js:993 msgid "Supplier Part" msgstr "" #: company/templates/company/supplier_part.html:44 -#: templates/js/translated/company.js:857 +#: templates/js/translated/company.js:859 msgid "Edit supplier part" msgstr "" #: company/templates/company/supplier_part.html:48 -#: templates/js/translated/company.js:858 +#: templates/js/translated/company.js:860 msgid "Delete supplier part" msgstr "" @@ -2900,7 +2940,7 @@ msgid "New Supplier" msgstr "" #: company/views.py:55 part/templates/part/prices.html:167 -#: templates/InvenTree/search.html:306 templates/navbar.html:42 +#: templates/InvenTree/search.html:210 templates/navbar.html:42 msgid "Manufacturers" msgstr "" @@ -2908,7 +2948,7 @@ msgstr "" msgid "New Manufacturer" msgstr "" -#: company/views.py:61 templates/InvenTree/search.html:336 +#: company/views.py:61 templates/InvenTree/search.html:240 #: templates/navbar.html:53 msgid "Customers" msgstr "" @@ -3011,36 +3051,32 @@ msgstr "" msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" -#: order/api.py:302 -msgid "Destination location must be specified" +#: order/api.py:250 +msgid "Matching purchase order does not exist" msgstr "" -#: order/forms.py:30 order/templates/order/order_base.html:47 +#: order/forms.py:27 order/templates/order/order_base.html:50 msgid "Place order" msgstr "" -#: order/forms.py:41 order/templates/order/order_base.html:54 +#: order/forms.py:38 order/templates/order/order_base.html:57 msgid "Mark order as complete" msgstr "" -#: order/forms.py:52 order/forms.py:63 order/templates/order/order_base.html:59 -#: order/templates/order/sales_order_base.html:61 +#: order/forms.py:49 order/forms.py:60 order/templates/order/order_base.html:62 +#: order/templates/order/sales_order_base.html:64 msgid "Cancel order" msgstr "" -#: order/forms.py:74 order/templates/order/sales_order_base.html:58 +#: order/forms.py:71 order/templates/order/sales_order_base.html:61 msgid "Ship order" msgstr "" -#: order/forms.py:89 -msgid "Set all received parts listed above to this location (if left blank, use \"Destination\" column value in above table)" -msgstr "" - -#: order/forms.py:116 +#: order/forms.py:97 msgid "Enter stock item serial numbers" msgstr "" -#: order/forms.py:122 +#: order/forms.py:103 msgid "Enter quantity of stock items" msgstr "" @@ -3064,11 +3100,11 @@ msgstr "" msgid "Order notes" msgstr "" -#: order/models.py:247 order/models.py:540 +#: order/models.py:247 order/models.py:548 msgid "Order reference" msgstr "" -#: order/models.py:252 order/models.py:555 +#: order/models.py:252 order/models.py:563 msgid "Purchase order status" msgstr "" @@ -3077,7 +3113,7 @@ msgid "Company from which the items are being ordered" msgstr "" #: order/models.py:264 order/templates/order/order_base.html:98 -#: templates/js/translated/order.js:337 +#: templates/js/translated/order.js:668 msgid "Supplier Reference" msgstr "" @@ -3109,190 +3145,190 @@ msgstr "" msgid "Date order was completed" msgstr "" -#: order/models.py:313 stock/models.py:351 stock/models.py:1072 -msgid "Quantity must be greater than zero" -msgstr "" - #: order/models.py:318 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:421 -msgid "Lines can only be received against an order marked as 'Placed'" -msgstr "" - -#: order/models.py:425 +#: order/models.py:428 msgid "Quantity must be an integer" msgstr "" -#: order/models.py:427 +#: order/models.py:432 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:551 +#: order/models.py:559 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:557 +#: order/models.py:565 msgid "Customer Reference " msgstr "" -#: order/models.py:557 +#: order/models.py:565 msgid "Customer order reference code" msgstr "" -#: order/models.py:562 +#: order/models.py:570 msgid "Target date for order completion. Order will be overdue after this date." msgstr "" -#: order/models.py:565 templates/js/translated/order.js:733 +#: order/models.py:573 templates/js/translated/order.js:1079 msgid "Shipment Date" msgstr "" -#: order/models.py:572 +#: order/models.py:580 msgid "shipped by" msgstr "" -#: order/models.py:616 +#: order/models.py:624 msgid "SalesOrder cannot be shipped as it is not currently pending" msgstr "" -#: order/models.py:713 +#: order/models.py:721 msgid "Item quantity" msgstr "" -#: order/models.py:719 +#: order/models.py:727 msgid "Line item reference" msgstr "" -#: order/models.py:721 +#: order/models.py:729 msgid "Line item notes" msgstr "" -#: order/models.py:751 order/models.py:835 templates/js/translated/order.js:785 +#: order/models.py:759 order/models.py:847 +#: templates/js/translated/order.js:1131 msgid "Order" msgstr "" -#: order/models.py:752 order/templates/order/order_base.html:9 +#: order/models.py:760 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:24 #: report/templates/report/inventree_po_report.html:77 #: stock/templates/stock/item_base.html:338 -#: templates/js/translated/order.js:306 templates/js/translated/stock.js:991 -#: templates/js/translated/stock.js:1589 +#: templates/js/translated/order.js:637 templates/js/translated/stock.js:970 +#: templates/js/translated/stock.js:1568 msgid "Purchase Order" msgstr "" -#: order/models.py:773 +#: order/models.py:781 msgid "Supplier part" msgstr "" -#: order/models.py:780 order/templates/order/order_base.html:131 -#: order/templates/order/receive_parts.html:22 -#: order/templates/order/sales_order_base.html:133 -#: templates/js/translated/order.js:573 +#: order/models.py:788 order/templates/order/order_base.html:131 +#: order/templates/order/sales_order_base.html:138 +#: templates/js/translated/order.js:428 templates/js/translated/order.js:919 msgid "Received" msgstr "" -#: order/models.py:781 +#: order/models.py:789 msgid "Number of items received" msgstr "" -#: order/models.py:788 part/templates/part/prices.html:176 stock/models.py:588 -#: stock/serializers.py:147 stock/templates/stock/item_base.html:345 -#: templates/js/translated/stock.js:1045 +#: order/models.py:796 part/templates/part/prices.html:176 stock/models.py:588 +#: stock/serializers.py:150 stock/templates/stock/item_base.html:345 +#: templates/js/translated/stock.js:1024 msgid "Purchase Price" msgstr "" -#: order/models.py:789 +#: order/models.py:797 msgid "Unit purchase price" msgstr "" -#: order/models.py:797 +#: order/models.py:805 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:843 part/templates/part/part_pricing.html:112 +#: order/models.py:857 part/templates/part/part_pricing.html:112 #: part/templates/part/prices.html:116 part/templates/part/prices.html:284 msgid "Sale Price" msgstr "" -#: order/models.py:844 +#: order/models.py:858 msgid "Unit sale price" msgstr "" -#: order/models.py:923 order/models.py:925 +#: order/models.py:937 order/models.py:939 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:929 +#: order/models.py:943 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:931 +#: order/models.py:945 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:934 +#: order/models.py:948 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:944 +#: order/models.py:952 +msgid "StockItem is over-allocated" +msgstr "" + +#: order/models.py:958 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:949 +#: order/models.py:966 msgid "Line" msgstr "" -#: order/models.py:960 +#: order/models.py:978 msgid "Item" msgstr "" -#: order/models.py:961 +#: order/models.py:979 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:964 +#: order/models.py:982 msgid "Enter stock allocation quantity" msgstr "" -#: order/serializers.py:166 +#: order/serializers.py:167 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:201 +#: order/serializers.py:202 msgid "Line Item" msgstr "" -#: order/serializers.py:207 +#: order/serializers.py:208 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:217 order/serializers.py:276 +#: order/serializers.py:218 order/serializers.py:285 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:234 +#: order/serializers.py:242 msgid "Barcode Hash" msgstr "" -#: order/serializers.py:235 +#: order/serializers.py:243 msgid "Unique identifier field" msgstr "" -#: order/serializers.py:250 +#: order/serializers.py:259 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:289 +#: order/serializers.py:297 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:299 +#: order/serializers.py:314 +msgid "Destination location must be specified" +msgstr "" + +#: order/serializers.py:325 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:514 +#: order/serializers.py:569 msgid "Sale price currency" msgstr "" @@ -3307,31 +3343,32 @@ msgstr "" msgid "Print" msgstr "" -#: order/templates/order/order_base.html:43 -#: order/templates/order/sales_order_base.html:54 +#: order/templates/order/order_base.html:42 +#: order/templates/order/sales_order_base.html:53 +msgid "Export order to file" +msgstr "" + +#: order/templates/order/order_base.html:46 +#: order/templates/order/sales_order_base.html:57 msgid "Edit order information" msgstr "" -#: order/templates/order/order_base.html:51 +#: order/templates/order/order_base.html:54 msgid "Receive items" msgstr "" -#: order/templates/order/order_base.html:64 -msgid "Export order to file" -msgstr "" - #: order/templates/order/order_base.html:72 #: order/templates/order/po_navbar.html:12 msgid "Purchase Order Details" msgstr "" #: order/templates/order/order_base.html:77 -#: order/templates/order/sales_order_base.html:79 +#: order/templates/order/sales_order_base.html:84 msgid "Order Reference" msgstr "" #: order/templates/order/order_base.html:82 -#: order/templates/order/sales_order_base.html:84 +#: order/templates/order/sales_order_base.html:89 msgid "Order Status" msgstr "" @@ -3344,16 +3381,6 @@ msgstr "" msgid "Edit Purchase Order" msgstr "" -#: order/templates/order/order_base.html:196 -#: stock/templates/stock/location.html:250 templates/js/translated/order.js:437 -msgid "New Location" -msgstr "" - -#: order/templates/order/order_base.html:197 -#: stock/templates/stock/location.html:42 templates/js/translated/order.js:438 -msgid "Create new stock location" -msgstr "" - #: order/templates/order/order_cancel.html:8 msgid "Cancelling this order means that the order and line items will no longer be editable." msgstr "" @@ -3426,6 +3453,7 @@ msgstr "" #: part/templates/part/import_wizard/ajax_match_references.html:42 #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 +#: templates/js/translated/build.js:869 templates/js/translated/order.js:376 msgid "Remove row" msgstr "" @@ -3502,7 +3530,7 @@ msgid "Select existing purchase orders, or create new orders." msgstr "" #: order/templates/order/order_wizard/select_pos.html:31 -#: templates/js/translated/order.js:363 templates/js/translated/order.js:738 +#: templates/js/translated/order.js:694 templates/js/translated/order.js:1084 msgid "Items" msgstr "" @@ -3522,7 +3550,7 @@ msgstr "" #: order/templates/order/po_attachments.html:12 #: order/templates/order/po_navbar.html:32 -#: order/templates/order/purchase_order_detail.html:47 +#: order/templates/order/purchase_order_detail.html:56 msgid "Purchase Order Attachments" msgstr "" @@ -3532,7 +3560,7 @@ msgstr "" #: order/templates/order/po_navbar.html:29 #: order/templates/order/po_received_items.html:12 -#: order/templates/order/purchase_order_detail.html:38 +#: order/templates/order/purchase_order_detail.html:47 msgid "Received Items" msgstr "" @@ -3540,14 +3568,22 @@ msgstr "" msgid "Purchase Order Items" msgstr "" -#: order/templates/order/purchase_order_detail.html:23 -#: order/templates/order/purchase_order_detail.html:203 +#: order/templates/order/purchase_order_detail.html:24 +#: order/templates/order/purchase_order_detail.html:212 #: order/templates/order/sales_order_detail.html:23 #: order/templates/order/sales_order_detail.html:177 msgid "Add Line Item" msgstr "" -#: order/templates/order/purchase_order_detail.html:58 +#: order/templates/order/purchase_order_detail.html:30 +msgid "Receive selected items" +msgstr "" + +#: order/templates/order/purchase_order_detail.html:31 +msgid "Receive Items" +msgstr "" + +#: order/templates/order/purchase_order_detail.html:67 #: order/templates/order/sales_order_detail.html:54 msgid "Order Notes" msgstr "" @@ -3557,67 +3593,24 @@ msgstr "" msgid "Print Order Reports" msgstr "" -#: order/templates/order/receive_parts.html:8 -#, python-format -msgid "Receive outstanding parts for %(order)s - %(desc)s" -msgstr "" - -#: order/templates/order/receive_parts.html:14 part/api.py:54 -#: part/models.py:298 part/templates/part/cat_link.html:7 -#: part/templates/part/category.html:108 part/templates/part/category.html:122 -#: part/templates/part/category_navbar.html:21 -#: part/templates/part/category_navbar.html:24 -#: templates/InvenTree/index.html:102 templates/InvenTree/search.html:114 -#: templates/InvenTree/settings/navbar.html:83 -#: templates/InvenTree/settings/navbar.html:85 -#: templates/js/translated/part.js:1154 templates/navbar.html:29 -#: templates/stats.html:80 templates/stats.html:89 users/models.py:41 -msgid "Parts" -msgstr "パーツ" - -#: order/templates/order/receive_parts.html:15 -msgid "Fill out number of parts received, the status and destination" -msgstr "" - -#: order/templates/order/receive_parts.html:20 -msgid "Order Code" -msgstr "" - -#: order/templates/order/receive_parts.html:21 -#: part/templates/part/part_base.html:167 templates/js/translated/part.js:949 -msgid "On Order" -msgstr "" - -#: order/templates/order/receive_parts.html:23 -msgid "Receive" -msgstr "" - -#: order/templates/order/receive_parts.html:37 -msgid "Error: Referenced part has been removed" -msgstr "" - -#: order/templates/order/receive_parts.html:68 -msgid "Remove line" -msgstr "" - #: order/templates/order/sales_order_base.html:16 msgid "This Sales Order has not been fully allocated" msgstr "" -#: order/templates/order/sales_order_base.html:66 +#: order/templates/order/sales_order_base.html:70 msgid "Packing List" msgstr "" -#: order/templates/order/sales_order_base.html:74 +#: order/templates/order/sales_order_base.html:79 msgid "Sales Order Details" msgstr "" -#: order/templates/order/sales_order_base.html:100 -#: templates/js/translated/order.js:705 +#: order/templates/order/sales_order_base.html:105 +#: templates/js/translated/order.js:1051 msgid "Customer Reference" msgstr "" -#: order/templates/order/sales_order_base.html:178 +#: order/templates/order/sales_order_base.html:183 msgid "Edit Sales Order" msgstr "" @@ -3636,105 +3629,6 @@ msgstr "" msgid "Sales Order Items" msgstr "" -#: order/templates/order/sales_order_detail.html:226 -#: templates/js/translated/bom.js:394 templates/js/translated/build.js:782 -#: templates/js/translated/build.js:1219 -msgid "Actions" -msgstr "" - -#: order/templates/order/sales_order_detail.html:233 -#: templates/js/translated/build.js:668 templates/js/translated/build.js:1030 -msgid "Edit stock allocation" -msgstr "" - -#: order/templates/order/sales_order_detail.html:234 -#: templates/js/translated/build.js:670 templates/js/translated/build.js:1031 -msgid "Delete stock allocation" -msgstr "" - -#: order/templates/order/sales_order_detail.html:307 -msgid "No matching line items" -msgstr "" - -#: order/templates/order/sales_order_detail.html:337 -msgid "ID" -msgstr "" - -#: order/templates/order/sales_order_detail.html:354 -#: templates/js/translated/order.js:481 -msgid "Total" -msgstr "" - -#: order/templates/order/sales_order_detail.html:377 -#: templates/js/translated/order.js:534 templates/js/translated/part.js:1296 -#: templates/js/translated/part.js:1507 -msgid "Unit Price" -msgstr "" - -#: order/templates/order/sales_order_detail.html:384 -#: templates/js/translated/order.js:543 -msgid "Total price" -msgstr "" - -#: order/templates/order/sales_order_detail.html:405 -#: templates/js/translated/build.js:733 templates/js/translated/build.js:1026 -msgid "Allocated" -msgstr "" - -#: order/templates/order/sales_order_detail.html:407 -msgid "Fulfilled" -msgstr "" - -#: order/templates/order/sales_order_detail.html:444 -msgid "PO" -msgstr "" - -#: order/templates/order/sales_order_detail.html:474 -msgid "Allocate serial numbers" -msgstr "" - -#: order/templates/order/sales_order_detail.html:477 -#: templates/js/translated/build.js:796 -msgid "Allocate stock" -msgstr "" - -#: order/templates/order/sales_order_detail.html:480 -msgid "Purchase stock" -msgstr "" - -#: order/templates/order/sales_order_detail.html:484 -#: templates/js/translated/build.js:789 templates/js/translated/build.js:1227 -msgid "Build stock" -msgstr "" - -#: order/templates/order/sales_order_detail.html:487 -#: order/templates/order/sales_order_detail.html:606 -msgid "Calculate price" -msgstr "" - -#: order/templates/order/sales_order_detail.html:490 -#: templates/js/translated/order.js:616 -msgid "Edit line item" -msgstr "" - -#: order/templates/order/sales_order_detail.html:491 -msgid "Delete line item " -msgstr "" - -#: order/templates/order/sales_order_detail.html:519 -#: templates/js/translated/order.js:403 -msgid "Edit Line Item" -msgstr "" - -#: order/templates/order/sales_order_detail.html:529 -#: templates/js/translated/order.js:415 -msgid "Delete Line Item" -msgstr "" - -#: order/templates/order/sales_order_detail.html:612 -msgid "Update Unit Price" -msgstr "" - #: order/templates/order/sales_order_ship.html:10 msgid "This order has not been fully allocated. If the order is marked as shipped, it can no longer be adjusted." msgstr "" @@ -3759,10 +3653,6 @@ msgstr "" msgid "Allocate stock items by serial number" msgstr "" -#: order/templates/order/so_allocation_delete.html:7 -msgid "This action will unallocate the following stock from the Sales Order" -msgstr "" - #: order/templates/order/so_navbar.html:12 msgid "Sales Order Line Items" msgstr "" @@ -3775,149 +3665,129 @@ msgstr "" msgid "Sales Order Attachments" msgstr "" -#: order/views.py:104 +#: order/views.py:103 msgid "Cancel Order" msgstr "" -#: order/views.py:113 order/views.py:139 +#: order/views.py:112 order/views.py:138 msgid "Confirm order cancellation" msgstr "" -#: order/views.py:116 order/views.py:142 +#: order/views.py:115 order/views.py:141 msgid "Order cannot be cancelled" msgstr "" -#: order/views.py:130 +#: order/views.py:129 msgid "Cancel sales order" msgstr "" -#: order/views.py:156 +#: order/views.py:155 msgid "Issue Order" msgstr "" -#: order/views.py:165 +#: order/views.py:164 msgid "Confirm order placement" msgstr "" -#: order/views.py:175 +#: order/views.py:174 msgid "Purchase order issued" msgstr "" -#: order/views.py:186 +#: order/views.py:185 msgid "Complete Order" msgstr "" -#: order/views.py:202 +#: order/views.py:201 msgid "Confirm order completion" msgstr "" -#: order/views.py:213 +#: order/views.py:212 msgid "Purchase order completed" msgstr "" -#: order/views.py:223 +#: order/views.py:222 msgid "Ship Order" msgstr "" -#: order/views.py:239 +#: order/views.py:238 msgid "Confirm order shipment" msgstr "" -#: order/views.py:245 +#: order/views.py:244 msgid "Could not ship order" msgstr "" -#: order/views.py:292 +#: order/views.py:291 msgid "Match Supplier Parts" msgstr "" -#: order/views.py:480 -msgid "Receive Parts" -msgstr "" - -#: order/views.py:552 -msgid "Items received" -msgstr "" - -#: order/views.py:620 -msgid "Error converting quantity to number" -msgstr "" - -#: order/views.py:626 -msgid "Receive quantity less than zero" -msgstr "" - -#: order/views.py:632 -msgid "No lines specified" -msgstr "" - -#: order/views.py:705 +#: order/views.py:535 msgid "Update prices" msgstr "" -#: order/views.py:963 +#: order/views.py:793 #, python-brace-format msgid "Ordered {n} parts" msgstr "" -#: order/views.py:1016 +#: order/views.py:846 msgid "Allocate Serial Numbers" msgstr "" -#: order/views.py:1061 +#: order/views.py:891 #, python-brace-format msgid "Allocated {n} items" msgstr "" -#: order/views.py:1077 +#: order/views.py:907 msgid "Select line item" msgstr "" -#: order/views.py:1108 +#: order/views.py:938 #, python-brace-format msgid "No matching item for serial {serial}" msgstr "" -#: order/views.py:1118 +#: order/views.py:948 #, python-brace-format msgid "{serial} is not in stock" msgstr "" -#: order/views.py:1126 +#: order/views.py:956 #, python-brace-format msgid "{serial} already allocated to an order" msgstr "" -#: order/views.py:1180 -msgid "Allocate Stock to Order" -msgstr "" - -#: order/views.py:1254 -msgid "Edit Allocation Quantity" -msgstr "" - -#: order/views.py:1269 -msgid "Remove allocation" -msgstr "" - -#: order/views.py:1341 +#: order/views.py:1072 msgid "Sales order not found" msgstr "" -#: order/views.py:1347 +#: order/views.py:1078 msgid "Price not found" msgstr "" -#: order/views.py:1350 +#: order/views.py:1081 #, python-brace-format msgid "Updated {part} unit-price to {price}" msgstr "" -#: order/views.py:1355 +#: order/views.py:1086 #, python-brace-format msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" +#: part/api.py:54 part/models.py:299 part/templates/part/cat_link.html:7 +#: part/templates/part/category.html:108 part/templates/part/category.html:122 +#: part/templates/part/category_navbar.html:21 +#: part/templates/part/category_navbar.html:24 +#: templates/InvenTree/index.html:102 templates/InvenTree/search.html:114 +#: templates/InvenTree/settings/navbar.html:95 +#: templates/InvenTree/settings/navbar.html:97 +#: templates/js/translated/part.js:1165 templates/navbar.html:29 +#: templates/stats.html:80 templates/stats.html:89 users/models.py:41 +msgid "Parts" +msgstr "パーツ" + #: part/api.py:700 msgid "Must be greater than zero" msgstr "" @@ -3934,7 +3804,7 @@ msgstr "" msgid "This field is required" msgstr "" -#: part/bom.py:133 part/models.py:75 part/models.py:733 +#: part/bom.py:133 part/models.py:76 part/models.py:734 #: part/templates/part/category.html:75 part/templates/part/part_base.html:290 msgid "Default Location" msgstr "" @@ -3999,7 +3869,7 @@ msgstr "" msgid "Include part supplier data in exported BOM" msgstr "" -#: part/forms.py:96 part/models.py:2250 +#: part/forms.py:96 part/models.py:2254 msgid "Parent Part" msgstr "" @@ -4043,391 +3913,387 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:76 +#: part/models.py:77 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:79 +#: part/models.py:80 msgid "Default keywords" msgstr "" -#: part/models.py:79 +#: part/models.py:80 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:89 part/models.py:2296 +#: part/models.py:90 part/models.py:2300 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:90 part/templates/part/category.html:32 +#: part/models.py:91 part/templates/part/category.html:32 #: part/templates/part/category.html:103 templates/InvenTree/search.html:127 #: templates/stats.html:84 users/models.py:40 msgid "Part Categories" msgstr "" -#: part/models.py:383 +#: part/models.py:384 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:435 part/models.py:447 +#: part/models.py:436 part/models.py:448 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:544 +#: part/models.py:545 msgid "Next available serial numbers are" msgstr "" -#: part/models.py:548 +#: part/models.py:549 msgid "Next available serial number is" msgstr "" -#: part/models.py:553 +#: part/models.py:554 msgid "Most recent serial number is" msgstr "" -#: part/models.py:632 +#: part/models.py:633 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:657 +#: part/models.py:658 msgid "Part name" msgstr "" -#: part/models.py:664 +#: part/models.py:665 msgid "Is Template" msgstr "" -#: part/models.py:665 +#: part/models.py:666 msgid "Is this part a template part?" msgstr "" -#: part/models.py:675 +#: part/models.py:676 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:676 +#: part/models.py:677 msgid "Variant Of" msgstr "" -#: part/models.py:682 +#: part/models.py:683 msgid "Part description" msgstr "" -#: part/models.py:687 part/templates/part/category.html:82 +#: part/models.py:688 part/templates/part/category.html:82 #: part/templates/part/part_base.html:259 msgid "Keywords" msgstr "" -#: part/models.py:688 +#: part/models.py:689 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:695 part/models.py:2295 +#: part/models.py:696 part/models.py:2299 #: part/templates/part/set_category.html:15 -#: templates/InvenTree/settings/settings.html:167 -#: templates/js/translated/part.js:916 +#: templates/InvenTree/settings/settings.html:169 +#: templates/js/translated/part.js:927 msgid "Category" msgstr "" -#: part/models.py:696 +#: part/models.py:697 msgid "Part category" msgstr "" -#: part/models.py:701 part/templates/part/part_base.html:235 -#: templates/js/translated/part.js:517 templates/js/translated/part.js:749 +#: part/models.py:702 part/templates/part/part_base.html:235 +#: templates/js/translated/part.js:528 templates/js/translated/part.js:760 msgid "IPN" msgstr "" -#: part/models.py:702 +#: part/models.py:703 msgid "Internal Part Number" msgstr "" -#: part/models.py:708 +#: part/models.py:709 msgid "Part revision or version number" msgstr "" -#: part/models.py:709 part/templates/part/part_base.html:252 -#: report/models.py:200 templates/js/translated/part.js:521 +#: part/models.py:710 part/templates/part/part_base.html:252 +#: report/models.py:200 templates/js/translated/part.js:532 msgid "Revision" msgstr "" -#: part/models.py:731 +#: part/models.py:732 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:778 part/templates/part/part_base.html:297 +#: part/models.py:779 part/templates/part/part_base.html:297 msgid "Default Supplier" msgstr "" -#: part/models.py:779 +#: part/models.py:780 msgid "Default supplier part" msgstr "" -#: part/models.py:786 +#: part/models.py:787 msgid "Default Expiry" msgstr "" -#: part/models.py:787 +#: part/models.py:788 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:792 +#: part/models.py:793 msgid "Minimum Stock" msgstr "" -#: part/models.py:793 +#: part/models.py:794 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:800 +#: part/models.py:801 msgid "Stock keeping units for this part" msgstr "" -#: part/models.py:806 +#: part/models.py:807 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:812 +#: part/models.py:813 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:818 +#: part/models.py:819 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:823 +#: part/models.py:824 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:828 +#: part/models.py:829 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:832 templates/js/translated/table_filters.js:34 +#: part/models.py:833 templates/js/translated/table_filters.js:34 #: templates/js/translated/table_filters.js:82 #: templates/js/translated/table_filters.js:268 -#: templates/js/translated/table_filters.js:337 +#: templates/js/translated/table_filters.js:346 msgid "Active" msgstr "" -#: part/models.py:833 +#: part/models.py:834 msgid "Is this part active?" msgstr "" -#: part/models.py:838 +#: part/models.py:839 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:843 +#: part/models.py:844 msgid "Part notes - supports Markdown formatting" msgstr "" -#: part/models.py:846 +#: part/models.py:847 msgid "BOM checksum" msgstr "" -#: part/models.py:846 +#: part/models.py:847 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:849 +#: part/models.py:850 msgid "BOM checked by" msgstr "" -#: part/models.py:851 +#: part/models.py:852 msgid "BOM checked date" msgstr "" -#: part/models.py:855 +#: part/models.py:856 msgid "Creation User" msgstr "" -#: part/models.py:1601 +#: part/models.py:1605 msgid "Sell multiple" msgstr "" -#: part/models.py:2096 +#: part/models.py:2100 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:2113 +#: part/models.py:2117 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:2133 templates/js/translated/part.js:1205 -#: templates/js/translated/stock.js:556 +#: part/models.py:2137 templates/js/translated/part.js:1216 +#: templates/js/translated/stock.js:535 msgid "Test Name" msgstr "" -#: part/models.py:2134 +#: part/models.py:2138 msgid "Enter a name for the test" msgstr "" -#: part/models.py:2139 +#: part/models.py:2143 msgid "Test Description" msgstr "" -#: part/models.py:2140 +#: part/models.py:2144 msgid "Enter description for this test" msgstr "" -#: part/models.py:2145 templates/js/translated/part.js:1214 +#: part/models.py:2149 templates/js/translated/part.js:1225 #: templates/js/translated/table_filters.js:254 msgid "Required" msgstr "" -#: part/models.py:2146 +#: part/models.py:2150 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:2151 templates/js/translated/part.js:1222 +#: part/models.py:2155 templates/js/translated/part.js:1233 msgid "Requires Value" msgstr "" -#: part/models.py:2152 +#: part/models.py:2156 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:2157 templates/js/translated/part.js:1229 +#: part/models.py:2161 templates/js/translated/part.js:1240 msgid "Requires Attachment" msgstr "" -#: part/models.py:2158 +#: part/models.py:2162 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:2169 +#: part/models.py:2173 #, python-brace-format msgid "Illegal character in template name ({c})" msgstr "" -#: part/models.py:2205 +#: part/models.py:2209 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:2213 +#: part/models.py:2217 msgid "Parameter Name" msgstr "" -#: part/models.py:2220 +#: part/models.py:2224 msgid "Parameter Units" msgstr "" -#: part/models.py:2252 part/models.py:2301 part/models.py:2302 -#: templates/InvenTree/settings/settings.html:162 +#: part/models.py:2256 part/models.py:2305 part/models.py:2306 +#: templates/InvenTree/settings/settings.html:164 msgid "Parameter Template" msgstr "" -#: part/models.py:2254 +#: part/models.py:2258 msgid "Data" msgstr "" -#: part/models.py:2254 +#: part/models.py:2258 msgid "Parameter Value" msgstr "" -#: part/models.py:2306 templates/InvenTree/settings/settings.html:171 +#: part/models.py:2310 templates/InvenTree/settings/settings.html:173 msgid "Default Value" msgstr "" -#: part/models.py:2307 +#: part/models.py:2311 msgid "Default Parameter Value" msgstr "" -#: part/models.py:2341 +#: part/models.py:2362 msgid "Select parent part" msgstr "" -#: part/models.py:2349 +#: part/models.py:2370 msgid "Sub part" msgstr "" -#: part/models.py:2350 +#: part/models.py:2371 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:2356 +#: part/models.py:2377 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:2358 templates/js/translated/bom.js:256 -#: templates/js/translated/bom.js:314 +#: part/models.py:2379 templates/js/translated/bom.js:275 +#: templates/js/translated/bom.js:335 msgid "Optional" msgstr "" -#: part/models.py:2358 +#: part/models.py:2379 msgid "This BOM item is optional" msgstr "" -#: part/models.py:2361 +#: part/models.py:2382 msgid "Overage" msgstr "" -#: part/models.py:2362 +#: part/models.py:2383 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:2365 +#: part/models.py:2386 msgid "BOM item reference" msgstr "" -#: part/models.py:2368 +#: part/models.py:2389 msgid "BOM item notes" msgstr "" -#: part/models.py:2370 +#: part/models.py:2391 msgid "Checksum" msgstr "" -#: part/models.py:2370 +#: part/models.py:2391 msgid "BOM line checksum" msgstr "" -#: part/models.py:2374 templates/js/translated/bom.js:331 -#: templates/js/translated/bom.js:338 +#: part/models.py:2395 templates/js/translated/bom.js:352 +#: templates/js/translated/bom.js:359 #: templates/js/translated/table_filters.js:68 msgid "Inherited" msgstr "" -#: part/models.py:2375 +#: part/models.py:2396 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:2380 templates/js/translated/bom.js:323 +#: part/models.py:2401 templates/js/translated/bom.js:344 msgid "Allow Variants" msgstr "" -#: part/models.py:2381 +#: part/models.py:2402 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:2466 stock/models.py:341 +#: part/models.py:2487 stock/models.py:341 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:2475 part/models.py:2477 +#: part/models.py:2496 part/models.py:2498 msgid "Sub part must be specified" msgstr "" -#: part/models.py:2480 -msgid "BOM Item" -msgstr "" - -#: part/models.py:2599 +#: part/models.py:2620 msgid "Part 1" msgstr "" -#: part/models.py:2603 +#: part/models.py:2624 msgid "Part 2" msgstr "" -#: part/models.py:2603 +#: part/models.py:2624 msgid "Select Related Part" msgstr "" -#: part/models.py:2635 +#: part/models.py:2656 msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique" msgstr "" @@ -4578,7 +4444,7 @@ msgstr "" msgid "Create new part" msgstr "" -#: part/templates/part/category.html:131 +#: part/templates/part/category.html:131 templates/js/translated/bom.js:39 msgid "New Part" msgstr "新規パーツ" @@ -4658,7 +4524,7 @@ msgstr "" msgid "Import Parts" msgstr "" -#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:352 +#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:363 msgid "Duplicate Part" msgstr "" @@ -4785,34 +4651,26 @@ msgstr "" msgid "Add Test Result Template" msgstr "" -#: part/templates/part/detail.html:716 -msgid "Edit Test Result Template" -msgstr "" - -#: part/templates/part/detail.html:728 -msgid "Delete Test Result Template" -msgstr "" - -#: part/templates/part/detail.html:784 +#: part/templates/part/detail.html:755 msgid "Edit Part Notes" msgstr "" -#: part/templates/part/detail.html:936 +#: part/templates/part/detail.html:907 #, python-format msgid "Purchase Unit Price - %(currency)s" msgstr "" -#: part/templates/part/detail.html:948 +#: part/templates/part/detail.html:919 #, python-format msgid "Unit Price-Cost Difference - %(currency)s" msgstr "" -#: part/templates/part/detail.html:960 +#: part/templates/part/detail.html:931 #, python-format msgid "Supplier Unit Cost - %(currency)s" msgstr "" -#: part/templates/part/detail.html:1049 +#: part/templates/part/detail.html:1020 #, python-format msgid "Unit Price - %(currency)s" msgstr "" @@ -4874,9 +4732,9 @@ msgstr "" msgid "Part is virtual (not a physical part)" msgstr "" -#: part/templates/part/part_base.html:58 templates/js/translated/company.js:503 -#: templates/js/translated/company.js:759 templates/js/translated/part.js:432 -#: templates/js/translated/part.js:509 +#: part/templates/part/part_base.html:58 templates/js/translated/company.js:504 +#: templates/js/translated/company.js:761 templates/js/translated/part.js:443 +#: templates/js/translated/part.js:520 msgid "Inactive" msgstr "" @@ -4942,10 +4800,16 @@ msgid "This part is a variant of %(link)s" msgstr "" #: part/templates/part/part_base.html:161 +#: templates/js/translated/model_renderers.js:169 +#: templates/js/translated/order.js:1503 #: templates/js/translated/table_filters.js:166 msgid "In Stock" msgstr "" +#: part/templates/part/part_base.html:167 templates/js/translated/part.js:960 +msgid "On Order" +msgstr "" + #: part/templates/part/part_base.html:174 templates/InvenTree/index.html:186 msgid "Required for Build Orders" msgstr "" @@ -4958,18 +4822,18 @@ msgstr "" msgid "Allocated to Orders" msgstr "" -#: part/templates/part/part_base.html:203 templates/js/translated/bom.js:352 +#: part/templates/part/part_base.html:203 templates/js/translated/bom.js:373 msgid "Can Build" msgstr "" -#: part/templates/part/part_base.html:209 templates/js/translated/part.js:765 -#: templates/js/translated/part.js:953 +#: part/templates/part/part_base.html:209 templates/js/translated/part.js:776 +#: templates/js/translated/part.js:964 msgid "Building" msgstr "" #: part/templates/part/part_base.html:223 -#: part/templates/part/part_base.html:524 -#: part/templates/part/part_base.html:550 +#: part/templates/part/part_base.html:531 +#: part/templates/part/part_base.html:557 msgid "Show Part Details" msgstr "" @@ -4977,16 +4841,16 @@ msgstr "" msgid "Latest Serial Number" msgstr "" -#: part/templates/part/part_base.html:396 part/templates/part/prices.html:144 +#: part/templates/part/part_base.html:402 part/templates/part/prices.html:144 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:439 +#: part/templates/part/part_base.html:445 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:519 -#: part/templates/part/part_base.html:544 +#: part/templates/part/part_base.html:526 +#: part/templates/part/part_base.html:551 msgid "Hide Part Details" msgstr "" @@ -5013,7 +4877,7 @@ msgid "Total Cost" msgstr "" #: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:40 -#: templates/js/translated/bom.js:307 +#: templates/js/translated/bom.js:327 msgid "No supplier pricing available" msgstr "" @@ -5051,32 +4915,39 @@ msgstr "" msgid "Select from existing images" msgstr "" -#: part/templates/part/partial_delete.html:7 +#: part/templates/part/partial_delete.html:9 +#, python-format +msgid "Part '%(full_name)s' cannot be deleted as it is still marked as active.\n" +"
Disable the \"Active\" part attribute and re-try.\n" +" " +msgstr "" + +#: part/templates/part/partial_delete.html:17 #, python-format msgid "Are you sure you want to delete part '%(full_name)s'?" msgstr "" -#: part/templates/part/partial_delete.html:12 +#: part/templates/part/partial_delete.html:22 #, python-format msgid "This part is used in BOMs for %(count)s other parts. If you delete this part, the BOMs for the following parts will be updated" msgstr "" -#: part/templates/part/partial_delete.html:22 +#: part/templates/part/partial_delete.html:32 #, python-format msgid "There are %(count)s stock entries defined for this part. If you delete this part, the following stock entries will also be deleted:" msgstr "" -#: part/templates/part/partial_delete.html:33 +#: part/templates/part/partial_delete.html:43 #, python-format msgid "There are %(count)s manufacturers defined for this part. If you delete this part, the following manufacturer parts will also be deleted:" msgstr "" -#: part/templates/part/partial_delete.html:44 +#: part/templates/part/partial_delete.html:54 #, python-format msgid "There are %(count)s suppliers defined for this part. If you delete this part, the following supplier parts will also be deleted:" msgstr "" -#: part/templates/part/partial_delete.html:55 +#: part/templates/part/partial_delete.html:65 #, python-format msgid "There are %(count)s unique parts tracked for '%(full_name)s'. Deleting this part will permanently remove this tracking information." msgstr "" @@ -5109,7 +4980,7 @@ msgstr "" msgid "Calculation parameters" msgstr "" -#: part/templates/part/prices.html:155 templates/js/translated/bom.js:301 +#: part/templates/part/prices.html:155 templates/js/translated/bom.js:321 msgid "Supplier Cost" msgstr "" @@ -5151,8 +5022,9 @@ msgstr "" msgid "Set category for the following parts" msgstr "" -#: part/templates/part/stock_count.html:7 templates/js/translated/bom.js:278 -#: templates/js/translated/part.js:755 templates/js/translated/part.js:957 +#: part/templates/part/stock_count.html:7 templates/js/translated/bom.js:297 +#: templates/js/translated/model_renderers.js:167 +#: templates/js/translated/part.js:766 templates/js/translated/part.js:968 msgid "No Stock" msgstr "" @@ -5262,7 +5134,7 @@ msgstr "" msgid "Delete Part Parameter Template" msgstr "" -#: part/views.py:1502 templates/js/translated/part.js:303 +#: part/views.py:1502 templates/js/translated/part.js:308 msgid "Edit Part Category" msgstr "" @@ -5400,17 +5272,17 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:88 -#: stock/models.py:1807 +#: stock/models.py:1804 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:89 -#: stock/models.py:1813 +#: stock/models.py:1810 msgid "Result" msgstr "" #: report/templates/report/inventree_test_report_base.html:92 -#: templates/js/translated/order.js:353 templates/js/translated/stock.js:1523 +#: templates/js/translated/order.js:684 templates/js/translated/stock.js:1502 msgid "Date" msgstr "" @@ -5422,51 +5294,9 @@ msgstr "" msgid "Fail" msgstr "" -#: stock/api.py:146 -msgid "Request must contain list of stock items" -msgstr "" - -#: stock/api.py:154 -msgid "Improperly formatted data" -msgstr "" - -#: stock/api.py:162 -msgid "Each entry must contain a valid integer primary-key" -msgstr "" - -#: stock/api.py:168 -msgid "Primary key does not match valid stock item" -msgstr "" - -#: stock/api.py:178 -msgid "Invalid quantity value" -msgstr "" - -#: stock/api.py:183 -msgid "Quantity must not be less than zero" -msgstr "" - -#: stock/api.py:211 -#, python-brace-format -msgid "Updated stock for {n} items" -msgstr "" - -#: stock/api.py:247 stock/api.py:280 -msgid "Specified quantity exceeds stock quantity" -msgstr "" - -#: stock/api.py:270 -msgid "Valid location must be specified" -msgstr "" - -#: stock/api.py:290 -#, python-brace-format -msgid "Moved {n} parts to {loc}" -msgstr "" - #: stock/forms.py:79 stock/forms.py:307 stock/models.py:556 #: stock/templates/stock/item_base.html:395 -#: templates/js/translated/stock.js:967 +#: templates/js/translated/stock.js:946 msgid "Expiry Date" msgstr "" @@ -5678,38 +5508,54 @@ msgstr "" msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:1727 +#: stock/models.py:1724 msgid "Entry notes" msgstr "" -#: stock/models.py:1784 +#: stock/models.py:1781 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:1790 +#: stock/models.py:1787 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:1808 +#: stock/models.py:1805 msgid "Test name" msgstr "" -#: stock/models.py:1814 templates/js/translated/table_filters.js:244 +#: stock/models.py:1811 templates/js/translated/table_filters.js:244 msgid "Test result" msgstr "" -#: stock/models.py:1820 +#: stock/models.py:1817 msgid "Test output value" msgstr "" -#: stock/models.py:1827 +#: stock/models.py:1824 msgid "Test result attachment" msgstr "" -#: stock/models.py:1833 +#: stock/models.py:1830 msgid "Test notes" msgstr "" +#: stock/serializers.py:424 +msgid "StockItem primary key value" +msgstr "" + +#: stock/serializers.py:452 +msgid "Stock transaction notes" +msgstr "" + +#: stock/serializers.py:462 +msgid "A list of stock items must be provided" +msgstr "" + +#: stock/serializers.py:554 +msgid "Destination stock location" +msgstr "" + #: stock/templates/stock/item.html:17 msgid "Stock Tracking Information" msgstr "" @@ -5747,7 +5593,7 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:125 stock/views.py:534 +#: stock/templates/stock/item.html:125 stock/views.py:511 msgid "Install Stock Item" msgstr "" @@ -5910,7 +5756,7 @@ msgid "next page" msgstr "" #: stock/templates/stock/item_base.html:303 -#: templates/js/translated/build.js:651 +#: templates/js/translated/build.js:658 msgid "No location set" msgstr "" @@ -5937,7 +5783,7 @@ msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:408 -#: templates/js/translated/stock.js:980 +#: templates/js/translated/stock.js:959 msgid "Last Updated" msgstr "" @@ -6019,6 +5865,10 @@ msgstr "" msgid "All stock items" msgstr "" +#: stock/templates/stock/location.html:42 +msgid "Create new stock location" +msgstr "" + #: stock/templates/stock/location.html:55 msgid "Check-in Items" msgstr "" @@ -6058,7 +5908,7 @@ msgstr "" msgid "Stock Details" msgstr "" -#: stock/templates/stock/location.html:129 templates/InvenTree/search.html:279 +#: stock/templates/stock/location.html:129 templates/InvenTree/search.html:196 #: templates/stats.html:97 users/models.py:42 msgid "Stock Locations" msgstr "" @@ -6071,6 +5921,10 @@ msgstr "" msgid "Print labels" msgstr "" +#: stock/templates/stock/location.html:250 +msgid "New Location" +msgstr "" + #: stock/templates/stock/location.html:251 msgid "Create new location" msgstr "" @@ -6111,7 +5965,7 @@ msgstr "" msgid "The following stock items will be uninstalled" msgstr "" -#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:932 +#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:909 msgid "Convert Stock Item" msgstr "" @@ -6132,104 +5986,104 @@ msgstr "" msgid "Are you sure you want to delete this stock tracking entry?" msgstr "" -#: stock/views.py:181 +#: stock/views.py:158 msgid "Edit Stock Location" msgstr "" -#: stock/views.py:288 stock/views.py:911 stock/views.py:1033 -#: stock/views.py:1398 +#: stock/views.py:265 stock/views.py:888 stock/views.py:1010 +#: stock/views.py:1375 msgid "Owner is required (ownership control is enabled)" msgstr "" -#: stock/views.py:303 +#: stock/views.py:280 msgid "Stock Location QR code" msgstr "" -#: stock/views.py:322 +#: stock/views.py:299 msgid "Assign to Customer" msgstr "" -#: stock/views.py:331 +#: stock/views.py:308 msgid "Customer must be specified" msgstr "" -#: stock/views.py:355 +#: stock/views.py:332 msgid "Return to Stock" msgstr "" -#: stock/views.py:364 +#: stock/views.py:341 msgid "Specify a valid location" msgstr "" -#: stock/views.py:375 +#: stock/views.py:352 msgid "Stock item returned from customer" msgstr "" -#: stock/views.py:386 +#: stock/views.py:363 msgid "Delete All Test Data" msgstr "" -#: stock/views.py:403 +#: stock/views.py:380 msgid "Confirm test data deletion" msgstr "" -#: stock/views.py:508 +#: stock/views.py:485 msgid "Stock Item QR Code" msgstr "" -#: stock/views.py:683 +#: stock/views.py:660 msgid "Uninstall Stock Items" msgstr "" -#: stock/views.py:780 templates/js/translated/stock.js:353 +#: stock/views.py:757 templates/js/translated/stock.js:321 msgid "Confirm stock adjustment" msgstr "" -#: stock/views.py:791 +#: stock/views.py:768 msgid "Uninstalled stock items" msgstr "" -#: stock/views.py:813 +#: stock/views.py:790 msgid "Edit Stock Item" msgstr "" -#: stock/views.py:959 +#: stock/views.py:936 msgid "Create new Stock Location" msgstr "" -#: stock/views.py:1050 +#: stock/views.py:1027 msgid "Serialize Stock" msgstr "" -#: stock/views.py:1143 templates/js/translated/build.js:392 +#: stock/views.py:1120 msgid "Create new Stock Item" msgstr "" -#: stock/views.py:1285 +#: stock/views.py:1262 msgid "Duplicate Stock Item" msgstr "" -#: stock/views.py:1367 +#: stock/views.py:1344 msgid "Quantity cannot be negative" msgstr "" -#: stock/views.py:1467 +#: stock/views.py:1444 msgid "Delete Stock Location" msgstr "" -#: stock/views.py:1480 +#: stock/views.py:1457 msgid "Delete Stock Item" msgstr "" -#: stock/views.py:1491 +#: stock/views.py:1468 msgid "Delete Stock Tracking Entry" msgstr "" -#: stock/views.py:1498 +#: stock/views.py:1475 msgid "Edit Stock Tracking Entry" msgstr "" -#: stock/views.py:1507 +#: stock/views.py:1484 msgid "Add Stock Tracking Entry" msgstr "" @@ -6313,14 +6167,6 @@ msgstr "" msgid "Enter a search query" msgstr "" -#: templates/InvenTree/search.html:268 templates/js/translated/stock.js:699 -msgid "Shipped to customer" -msgstr "" - -#: templates/InvenTree/search.html:271 templates/js/translated/stock.js:709 -msgid "No stock location set" -msgstr "" - #: templates/InvenTree/settings/barcode.html:8 msgid "Barcode Settings" msgstr "" @@ -6365,6 +6211,14 @@ msgstr "" msgid "Setting" msgstr "" +#: templates/InvenTree/settings/login.html:9 +msgid "Login Settings" +msgstr "" + +#: templates/InvenTree/settings/login.html:22 templates/account/signup.html:5 +msgid "Signup" +msgstr "" + #: templates/InvenTree/settings/navbar.html:12 #: templates/InvenTree/settings/user_settings.html:9 msgid "User Settings" @@ -6382,7 +6236,7 @@ msgstr "" #: templates/InvenTree/settings/navbar.html:27 #: templates/InvenTree/settings/navbar.html:29 -#: templates/js/translated/tables.js:366 templates/search_form.html:6 +#: templates/js/translated/tables.js:375 templates/search_form.html:6 #: templates/search_form.html:8 msgid "Search" msgstr "" @@ -6397,38 +6251,48 @@ msgstr "" msgid "Reports" msgstr "" -#: templates/InvenTree/settings/navbar.html:46 -#: templates/InvenTree/settings/navbar.html:48 -#: templates/InvenTree/settings/settings.html:8 templates/navbar.html:94 +#: templates/InvenTree/settings/navbar.html:45 +#: templates/InvenTree/settings/navbar.html:47 +msgid "Forms" +msgstr "" + +#: templates/InvenTree/settings/navbar.html:52 +#: templates/InvenTree/settings/navbar.html:54 +#: templates/InvenTree/settings/settings.html:8 templates/navbar.html:90 msgid "Settings" msgstr "" -#: templates/InvenTree/settings/navbar.html:56 +#: templates/InvenTree/settings/navbar.html:62 msgid "InvenTree Settings" msgstr "" -#: templates/InvenTree/settings/navbar.html:59 -#: templates/InvenTree/settings/navbar.html:61 templates/stats.html:9 +#: templates/InvenTree/settings/navbar.html:65 +#: templates/InvenTree/settings/navbar.html:67 templates/stats.html:9 msgid "Server" msgstr "" -#: templates/InvenTree/settings/navbar.html:65 -#: templates/InvenTree/settings/navbar.html:67 -msgid "Barcodes" -msgstr "" - #: templates/InvenTree/settings/navbar.html:71 -#: templates/InvenTree/settings/navbar.html:73 -msgid "Currencies" +#: templates/InvenTree/settings/navbar.html:73 templates/navbar.html:87 +msgid "Login" msgstr "" #: templates/InvenTree/settings/navbar.html:77 #: templates/InvenTree/settings/navbar.html:79 -msgid "Reporting" +msgid "Barcodes" +msgstr "" + +#: templates/InvenTree/settings/navbar.html:83 +#: templates/InvenTree/settings/navbar.html:85 +msgid "Currencies" msgstr "" #: templates/InvenTree/settings/navbar.html:89 #: templates/InvenTree/settings/navbar.html:91 +msgid "Reporting" +msgstr "" + +#: templates/InvenTree/settings/navbar.html:101 +#: templates/InvenTree/settings/navbar.html:103 msgid "Categories" msgstr "" @@ -6469,21 +6333,21 @@ msgstr "" msgid "Edit setting" msgstr "" -#: templates/InvenTree/settings/settings.html:152 +#: templates/InvenTree/settings/settings.html:154 msgid "No category parameter templates found" msgstr "" -#: templates/InvenTree/settings/settings.html:174 -#: templates/InvenTree/settings/settings.html:273 +#: templates/InvenTree/settings/settings.html:176 +#: templates/InvenTree/settings/settings.html:275 msgid "Edit Template" msgstr "" -#: templates/InvenTree/settings/settings.html:175 -#: templates/InvenTree/settings/settings.html:274 +#: templates/InvenTree/settings/settings.html:177 +#: templates/InvenTree/settings/settings.html:276 msgid "Delete Template" msgstr "" -#: templates/InvenTree/settings/settings.html:253 +#: templates/InvenTree/settings/settings.html:255 msgid "No part parameter templates found" msgstr "" @@ -6495,70 +6359,140 @@ msgstr "" msgid "Stock Settings" msgstr "" -#: templates/InvenTree/settings/user.html:9 +#: templates/InvenTree/settings/user.html:11 msgid "Account Settings" msgstr "" -#: templates/InvenTree/settings/user.html:15 +#: templates/InvenTree/settings/user.html:19 #: templates/js/translated/helpers.js:26 msgid "Edit" msgstr "" -#: templates/InvenTree/settings/user.html:17 +#: templates/InvenTree/settings/user.html:21 +#: templates/account/password_reset_from_key.html:4 +#: templates/account/password_reset_from_key.html:7 msgid "Change Password" msgstr "" -#: templates/InvenTree/settings/user.html:24 -#: templates/registration/login.html:58 +#: templates/InvenTree/settings/user.html:28 msgid "Username" msgstr "" -#: templates/InvenTree/settings/user.html:28 +#: templates/InvenTree/settings/user.html:32 msgid "First Name" msgstr "" -#: templates/InvenTree/settings/user.html:32 +#: templates/InvenTree/settings/user.html:36 msgid "Last Name" msgstr "" -#: templates/InvenTree/settings/user.html:36 -msgid "Email Address" +#: templates/InvenTree/settings/user.html:42 +msgid "E-Mail" msgstr "" -#: templates/InvenTree/settings/user.html:42 -msgid "Theme Settings" +#: templates/InvenTree/settings/user.html:47 +msgid "The following e-mail addresses are associated with your account:" +msgstr "" + +#: templates/InvenTree/settings/user.html:61 +msgid "Verified" msgstr "" #: templates/InvenTree/settings/user.html:63 +msgid "Unverified" +msgstr "" + +#: templates/InvenTree/settings/user.html:65 +msgid "Primary" +msgstr "" + +#: templates/InvenTree/settings/user.html:71 +msgid "Make Primary" +msgstr "" + +#: templates/InvenTree/settings/user.html:72 +msgid "Re-send Verification" +msgstr "" + +#: templates/InvenTree/settings/user.html:73 +#: templates/InvenTree/settings/user.html:130 +msgid "Remove" +msgstr "" + +#: templates/InvenTree/settings/user.html:80 +msgid "Warning:" +msgstr "" + +#: templates/InvenTree/settings/user.html:81 +msgid "You currently do not have any e-mail address set up. You should really add an e-mail address so you can receive notifications, reset your password, etc." +msgstr "" + +#: templates/InvenTree/settings/user.html:88 +msgid "Add E-mail Address" +msgstr "" + +#: templates/InvenTree/settings/user.html:93 +msgid "Add E-mail" +msgstr "" + +#: templates/InvenTree/settings/user.html:100 +msgid "Social Accounts" +msgstr "" + +#: templates/InvenTree/settings/user.html:105 +msgid "You can sign in to your account using any of the following third party accounts:" +msgstr "" + +#: templates/InvenTree/settings/user.html:138 +msgid "You currently have no social network accounts connected to this account." +msgstr "" + +#: templates/InvenTree/settings/user.html:142 +msgid "Add a 3rd Party Account" +msgstr "" + +#: templates/InvenTree/settings/user.html:153 +msgid "Theme Settings" +msgstr "" + +#: templates/InvenTree/settings/user.html:174 msgid "Set Theme" msgstr "" -#: templates/InvenTree/settings/user.html:70 +#: templates/InvenTree/settings/user.html:181 msgid "Language Settings" msgstr "" -#: templates/InvenTree/settings/user.html:89 +#: templates/InvenTree/settings/user.html:200 #, python-format msgid "%(lang_translated)s%% translated" msgstr "" -#: templates/InvenTree/settings/user.html:91 +#: templates/InvenTree/settings/user.html:202 msgid "No translations available" msgstr "" -#: templates/InvenTree/settings/user.html:98 +#: templates/InvenTree/settings/user.html:209 msgid "Set Language" msgstr "" -#: templates/InvenTree/settings/user.html:103 +#: templates/InvenTree/settings/user.html:214 msgid "Help the translation efforts!" msgstr "" -#: templates/InvenTree/settings/user.html:104 +#: templates/InvenTree/settings/user.html:215 #, python-format msgid "Native language translation of the InvenTree web application is community contributed via crowdin. Contributions are welcomed and encouraged." msgstr "" +#: templates/InvenTree/settings/user.html:223 +msgid "Do you really want to remove the selected e-mail address?" +msgstr "" + +#: templates/InvenTree/settings/user_forms.html:9 +msgid "Form Settings" +msgstr "" + #: templates/InvenTree/settings/user_homepage.html:9 msgid "Home Page Settings" msgstr "" @@ -6641,11 +6575,108 @@ msgstr "" #: templates/about.html:107 templates/js/translated/modals.js:50 #: templates/js/translated/modals.js:584 templates/js/translated/modals.js:678 -#: templates/js/translated/modals.js:971 templates/modals.html:29 +#: templates/js/translated/modals.js:982 templates/modals.html:29 #: templates/modals.html:54 msgid "Close" msgstr "" +#: templates/account/email_confirm.html:6 +#: templates/account/email_confirm.html:10 +msgid "Confirm E-mail Address" +msgstr "" + +#: templates/account/email_confirm.html:16 +#, python-format +msgid "Please confirm that %(email)s is an e-mail address for user %(user_display)s." +msgstr "" + +#: templates/account/email_confirm.html:27 +#, python-format +msgid "This e-mail confirmation link expired or is invalid. Please issue a new e-mail confirmation request." +msgstr "" + +#: templates/account/login.html:5 templates/account/login.html:14 +#: templates/account/login.html:36 +msgid "Sign In" +msgstr "" + +#: templates/account/login.html:19 +#, python-format +msgid "Please sign in with one\n" +"of your existing third party accounts or sign up\n" +"for a account and sign in below:" +msgstr "" + +#: templates/account/login.html:23 +#, python-format +msgid "If you have not created an account yet, then please\n" +"sign up first." +msgstr "" + +#: templates/account/login.html:38 +msgid "Forgot Password?" +msgstr "" + +#: templates/account/login.html:45 +msgid "or use SSO" +msgstr "" + +#: templates/account/logout.html:5 templates/account/logout.html:8 +#: templates/account/logout.html:17 +msgid "Sign Out" +msgstr "" + +#: templates/account/logout.html:10 +msgid "Are you sure you want to sign out?" +msgstr "" + +#: templates/account/password_reset.html:5 +#: templates/account/password_reset.html:12 +msgid "Password Reset" +msgstr "" + +#: templates/account/password_reset.html:18 +msgid "Forgotten your password? Enter your e-mail address below, and we'll send you an e-mail allowing you to reset it." +msgstr "" + +#: templates/account/password_reset.html:23 +msgid "Reset My Password" +msgstr "" + +#: templates/account/password_reset.html:27 templates/account/signup.html:36 +msgid "This function is currently disabled. Please contact an administrator." +msgstr "" + +#: templates/account/password_reset_from_key.html:7 +msgid "Bad Token" +msgstr "" + +#: templates/account/password_reset_from_key.html:11 +#, python-format +msgid "The password reset link was invalid, possibly because it has already been used. Please request a new password reset." +msgstr "" + +#: templates/account/password_reset_from_key.html:17 +msgid "change password" +msgstr "" + +#: templates/account/password_reset_from_key.html:20 +msgid "Your password is now changed." +msgstr "" + +#: templates/account/signup.html:11 templates/account/signup.html:22 +msgid "Sign Up" +msgstr "" + +#: templates/account/signup.html:13 +#, python-format +msgid "Already have an account? Then please sign in." +msgstr "" + +#: templates/account/signup.html:27 +msgid "Or use a SSO-provider for signup" +msgstr "" + #: templates/image_download.html:8 msgid "Specify URL for downloading image" msgstr "" @@ -6675,7 +6706,7 @@ msgid "Select Test Report Template" msgstr "" #: templates/js/report.js:98 templates/js/translated/label.js:29 -#: templates/js/translated/report.js:118 templates/js/translated/stock.js:313 +#: templates/js/translated/report.js:118 templates/js/translated/stock.js:297 msgid "Select Stock Items" msgstr "" @@ -6707,8 +6738,8 @@ msgstr "" msgid "No report templates found which match selected build(s)" msgstr "" -#: templates/js/report.js:205 templates/js/translated/label.js:134 -#: templates/js/translated/report.js:225 +#: templates/js/report.js:205 templates/js/translated/build.js:948 +#: templates/js/translated/label.js:134 templates/js/translated/report.js:225 msgid "Select Parts" msgstr "" @@ -6741,11 +6772,11 @@ msgstr "" msgid "Sales Order(s) must be selected before printing report" msgstr "" -#: templates/js/translated/api.js:174 templates/js/translated/modals.js:1041 +#: templates/js/translated/api.js:174 templates/js/translated/modals.js:1052 msgid "No Response" msgstr "" -#: templates/js/translated/api.js:175 templates/js/translated/modals.js:1042 +#: templates/js/translated/api.js:175 templates/js/translated/modals.js:1053 msgid "No response from the InvenTree server" msgstr "" @@ -6757,35 +6788,35 @@ msgstr "" msgid "API request returned error code 400" msgstr "" -#: templates/js/translated/api.js:186 templates/js/translated/modals.js:1051 +#: templates/js/translated/api.js:186 templates/js/translated/modals.js:1062 msgid "Error 401: Not Authenticated" msgstr "" -#: templates/js/translated/api.js:187 templates/js/translated/modals.js:1052 +#: templates/js/translated/api.js:187 templates/js/translated/modals.js:1063 msgid "Authentication credentials not supplied" msgstr "" -#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1056 +#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1067 msgid "Error 403: Permission Denied" msgstr "" -#: templates/js/translated/api.js:192 templates/js/translated/modals.js:1057 +#: templates/js/translated/api.js:192 templates/js/translated/modals.js:1068 msgid "You do not have the required permissions to access this function" msgstr "" -#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1061 +#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1072 msgid "Error 404: Resource Not Found" msgstr "" -#: templates/js/translated/api.js:197 templates/js/translated/modals.js:1062 +#: templates/js/translated/api.js:197 templates/js/translated/modals.js:1073 msgid "The requested resource could not be located on the server" msgstr "" -#: templates/js/translated/api.js:201 templates/js/translated/modals.js:1066 +#: templates/js/translated/api.js:201 templates/js/translated/modals.js:1077 msgid "Error 408: Timeout" msgstr "" -#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1067 +#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1078 msgid "Connection timeout while requesting data from server" msgstr "" @@ -6842,7 +6873,7 @@ msgid "Unknown response from server" msgstr "" #: templates/js/translated/barcode.js:141 -#: templates/js/translated/modals.js:1031 +#: templates/js/translated/modals.js:1042 msgid "Invalid server response" msgstr "" @@ -6870,7 +6901,7 @@ msgstr "" msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:398 templates/js/translated/stock.js:289 +#: templates/js/translated/barcode.js:398 templates/js/translated/stock.js:273 msgid "Remove stock item" msgstr "" @@ -6912,115 +6943,181 @@ msgstr "" msgid "Barcode does not match a valid location" msgstr "" -#: templates/js/translated/bom.js:215 templates/js/translated/build.js:1169 +#: templates/js/translated/bom.js:234 templates/js/translated/build.js:1495 msgid "Open subassembly" msgstr "" -#: templates/js/translated/bom.js:287 +#: templates/js/translated/bom.js:288 templates/js/translated/build.js:744 +#: templates/js/translated/build.js:1345 templates/js/translated/build.js:1522 +msgid "Available" +msgstr "" + +#: templates/js/translated/bom.js:307 msgid "Purchase Price Range" msgstr "" -#: templates/js/translated/bom.js:294 +#: templates/js/translated/bom.js:314 msgid "Purchase Price Average" msgstr "" -#: templates/js/translated/bom.js:342 templates/js/translated/bom.js:428 +#: templates/js/translated/bom.js:363 templates/js/translated/bom.js:449 msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:402 +#: templates/js/translated/bom.js:415 templates/js/translated/build.js:798 +#: templates/js/translated/build.js:1545 templates/js/translated/order.js:1285 +msgid "Actions" +msgstr "" + +#: templates/js/translated/bom.js:423 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:404 +#: templates/js/translated/bom.js:425 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:406 templates/js/translated/bom.js:569 +#: templates/js/translated/bom.js:427 templates/js/translated/bom.js:590 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:408 templates/js/translated/bom.js:554 +#: templates/js/translated/bom.js:429 templates/js/translated/bom.js:575 msgid "Delete BOM Item" msgstr "" -#: templates/js/translated/bom.js:499 templates/js/translated/build.js:483 -#: templates/js/translated/build.js:1267 +#: templates/js/translated/bom.js:520 templates/js/translated/build.js:485 +#: templates/js/translated/build.js:1593 msgid "No BOM items found" msgstr "" -#: templates/js/translated/build.js:69 +#: templates/js/translated/build.js:71 msgid "Edit Build Order" msgstr "" -#: templates/js/translated/build.js:95 +#: templates/js/translated/build.js:105 msgid "Create Build Order" msgstr "" -#: templates/js/translated/build.js:127 -msgid "Auto-allocate stock items to this output" +#: templates/js/translated/build.js:138 +msgid "Allocate stock items to this build output" msgstr "" -#: templates/js/translated/build.js:135 +#: templates/js/translated/build.js:146 msgid "Unallocate stock from build output" msgstr "" -#: templates/js/translated/build.js:145 +#: templates/js/translated/build.js:155 msgid "Complete build output" msgstr "" -#: templates/js/translated/build.js:154 +#: templates/js/translated/build.js:164 msgid "Delete build output" msgstr "" -#: templates/js/translated/build.js:249 +#: templates/js/translated/build.js:265 msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:287 templates/js/translated/order.js:813 +#: templates/js/translated/build.js:303 templates/js/translated/order.js:1159 msgid "Location not specified" msgstr "" -#: templates/js/translated/build.js:391 templates/stock_table.html:20 -msgid "New Stock Item" +#: templates/js/translated/build.js:675 templates/js/translated/build.js:1356 +#: templates/js/translated/order.js:1292 +msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/build.js:702 +#: templates/js/translated/build.js:677 templates/js/translated/build.js:1357 +#: templates/js/translated/order.js:1293 +msgid "Delete stock allocation" +msgstr "" + +#: templates/js/translated/build.js:695 +msgid "Edit Allocation" +msgstr "" + +#: templates/js/translated/build.js:705 +msgid "Remove Allocation" +msgstr "" + +#: templates/js/translated/build.js:718 msgid "Required Part" msgstr "" -#: templates/js/translated/build.js:723 +#: templates/js/translated/build.js:739 msgid "Quantity Per" msgstr "" -#: templates/js/translated/build.js:793 templates/js/translated/build.js:1231 +#: templates/js/translated/build.js:749 templates/js/translated/build.js:975 +#: templates/js/translated/build.js:1352 templates/js/translated/order.js:1514 +msgid "Allocated" +msgstr "" + +#: templates/js/translated/build.js:805 templates/js/translated/build.js:1553 +#: templates/js/translated/order.js:1567 +msgid "Build stock" +msgstr "" + +#: templates/js/translated/build.js:809 templates/js/translated/build.js:1557 #: templates/stock_table.html:59 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:846 +#: templates/js/translated/build.js:812 templates/js/translated/order.js:1560 +msgid "Allocate stock" +msgstr "" + +#: templates/js/translated/build.js:880 +msgid "Specify stock allocation quantity" +msgstr "" + +#: templates/js/translated/build.js:949 +msgid "You must select at least one part to allocate" +msgstr "" + +#: templates/js/translated/build.js:963 +msgid "Select source location (leave blank to take from all locations)" +msgstr "" + +#: templates/js/translated/build.js:992 +msgid "Confirm stock allocation" +msgstr "" + +#: templates/js/translated/build.js:993 +msgid "Allocate Stock Items to Build Order" +msgstr "" + +#: templates/js/translated/build.js:1004 +msgid "No matching stock locations" +msgstr "" + +#: templates/js/translated/build.js:1048 +msgid "No matching stock items" +msgstr "" + +#: templates/js/translated/build.js:1172 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:863 templates/js/translated/part.js:845 -#: templates/js/translated/part.js:1123 templates/js/translated/stock.js:783 -#: templates/js/translated/stock.js:1477 +#: templates/js/translated/build.js:1189 templates/js/translated/part.js:856 +#: templates/js/translated/part.js:1134 templates/js/translated/stock.js:762 +#: templates/js/translated/stock.js:1456 msgid "Select" msgstr "" -#: templates/js/translated/build.js:883 +#: templates/js/translated/build.js:1209 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:944 templates/js/translated/stock.js:1696 +#: templates/js/translated/build.js:1270 templates/js/translated/stock.js:1675 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:956 +#: templates/js/translated/build.js:1282 msgid "No information" msgstr "" -#: templates/js/translated/build.js:1007 +#: templates/js/translated/build.js:1333 msgid "No parts allocated for" msgstr "" @@ -7040,7 +7137,7 @@ msgstr "メーカー・パーツの編集" msgid "Delete Manufacturer Part" msgstr "メーカー・パーツを削除" -#: templates/js/translated/company.js:164 templates/js/translated/order.js:86 +#: templates/js/translated/company.js:164 templates/js/translated/order.js:89 msgid "Add Supplier" msgstr "" @@ -7084,53 +7181,53 @@ msgstr "" msgid "Delete Manufacturer Parts" msgstr "" -#: templates/js/translated/company.js:475 +#: templates/js/translated/company.js:476 msgid "No manufacturer parts found" msgstr "" -#: templates/js/translated/company.js:495 -#: templates/js/translated/company.js:751 templates/js/translated/part.js:416 -#: templates/js/translated/part.js:501 +#: templates/js/translated/company.js:496 +#: templates/js/translated/company.js:753 templates/js/translated/part.js:427 +#: templates/js/translated/part.js:512 msgid "Template part" msgstr "" -#: templates/js/translated/company.js:499 -#: templates/js/translated/company.js:755 templates/js/translated/part.js:420 -#: templates/js/translated/part.js:505 +#: templates/js/translated/company.js:500 +#: templates/js/translated/company.js:757 templates/js/translated/part.js:431 +#: templates/js/translated/part.js:516 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:626 templates/js/translated/part.js:593 +#: templates/js/translated/company.js:627 templates/js/translated/part.js:604 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:663 templates/js/translated/part.js:635 +#: templates/js/translated/company.js:664 templates/js/translated/part.js:646 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:664 templates/js/translated/part.js:636 +#: templates/js/translated/company.js:665 templates/js/translated/part.js:647 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:683 templates/js/translated/part.js:653 +#: templates/js/translated/company.js:684 templates/js/translated/part.js:664 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:694 templates/js/translated/part.js:665 +#: templates/js/translated/company.js:695 templates/js/translated/part.js:676 msgid "Delete Parameter" msgstr "" -#: templates/js/translated/company.js:731 +#: templates/js/translated/company.js:733 msgid "No supplier parts found" msgstr "" #: templates/js/translated/filters.js:178 -#: templates/js/translated/filters.js:402 +#: templates/js/translated/filters.js:407 msgid "true" msgstr "" #: templates/js/translated/filters.js:182 -#: templates/js/translated/filters.js:403 +#: templates/js/translated/filters.js:408 msgid "false" msgstr "" @@ -7138,19 +7235,19 @@ msgstr "" msgid "Select filter" msgstr "" -#: templates/js/translated/filters.js:279 +#: templates/js/translated/filters.js:284 msgid "Reload data" msgstr "" -#: templates/js/translated/filters.js:281 +#: templates/js/translated/filters.js:286 msgid "Add new filter" msgstr "" -#: templates/js/translated/filters.js:284 +#: templates/js/translated/filters.js:289 msgid "Clear all filters" msgstr "" -#: templates/js/translated/filters.js:312 +#: templates/js/translated/filters.js:317 msgid "Create filter" msgstr "" @@ -7175,16 +7272,20 @@ msgstr "" msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:889 templates/modals.html:21 +#: templates/js/translated/forms.js:968 templates/modals.html:21 #: templates/modals.html:47 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1379 +#: templates/js/translated/forms.js:1323 +msgid "No results found" +msgstr "" + +#: templates/js/translated/forms.js:1525 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:1593 +#: templates/js/translated/forms.js:1742 msgid "Clear input" msgstr "" @@ -7247,7 +7348,7 @@ msgid "Cancel" msgstr "" #: templates/js/translated/modals.js:77 templates/js/translated/modals.js:119 -#: templates/js/translated/modals.js:677 templates/js/translated/modals.js:970 +#: templates/js/translated/modals.js:677 templates/js/translated/modals.js:981 #: templates/modals.html:30 templates/modals.html:55 msgid "Submit" msgstr "" @@ -7272,31 +7373,31 @@ msgstr "" msgid "Loading Data" msgstr "" -#: templates/js/translated/modals.js:922 +#: templates/js/translated/modals.js:933 msgid "Invalid response from server" msgstr "" -#: templates/js/translated/modals.js:922 +#: templates/js/translated/modals.js:933 msgid "Form data missing from server response" msgstr "" -#: templates/js/translated/modals.js:934 +#: templates/js/translated/modals.js:945 msgid "Error posting form data" msgstr "" -#: templates/js/translated/modals.js:1031 +#: templates/js/translated/modals.js:1042 msgid "JSON response missing form data" msgstr "" -#: templates/js/translated/modals.js:1046 +#: templates/js/translated/modals.js:1057 msgid "Error 400: Bad Request" msgstr "" -#: templates/js/translated/modals.js:1047 +#: templates/js/translated/modals.js:1058 msgid "Server returned error code 400" msgstr "" -#: templates/js/translated/modals.js:1070 +#: templates/js/translated/modals.js:1081 msgid "Error requesting form data" msgstr "" @@ -7304,70 +7405,195 @@ msgstr "" msgid "Company ID" msgstr "" -#: templates/js/translated/model_renderers.js:82 +#: templates/js/translated/model_renderers.js:90 +msgid "Stock ID" +msgstr "" + +#: templates/js/translated/model_renderers.js:125 msgid "Location ID" msgstr "" -#: templates/js/translated/model_renderers.js:99 +#: templates/js/translated/model_renderers.js:142 msgid "Build ID" msgstr "" -#: templates/js/translated/model_renderers.js:119 +#: templates/js/translated/model_renderers.js:177 msgid "Part ID" msgstr "" -#: templates/js/translated/model_renderers.js:171 +#: templates/js/translated/model_renderers.js:231 +msgid "Order ID" +msgstr "" + +#: templates/js/translated/model_renderers.js:251 msgid "Category ID" msgstr "" -#: templates/js/translated/model_renderers.js:208 +#: templates/js/translated/model_renderers.js:288 msgid "Manufacturer Part ID" msgstr "" -#: templates/js/translated/model_renderers.js:237 +#: templates/js/translated/model_renderers.js:317 msgid "Supplier Part ID" msgstr "" -#: templates/js/translated/order.js:45 +#: templates/js/translated/order.js:48 msgid "Add Customer" msgstr "" -#: templates/js/translated/order.js:70 +#: templates/js/translated/order.js:73 msgid "Create Sales Order" msgstr "" -#: templates/js/translated/order.js:295 +#: templates/js/translated/order.js:207 +msgid "Export Order" +msgstr "" + +#: templates/js/translated/order.js:210 templates/js/translated/stock.js:96 +msgid "Format" +msgstr "" + +#: templates/js/translated/order.js:211 templates/js/translated/stock.js:97 +msgid "Select file format" +msgstr "" + +#: templates/js/translated/order.js:299 +msgid "Select Line Items" +msgstr "" + +#: templates/js/translated/order.js:300 +msgid "At least one line item must be selected" +msgstr "" + +#: templates/js/translated/order.js:325 +msgid "Quantity to receive" +msgstr "" + +#: templates/js/translated/order.js:359 templates/js/translated/stock.js:1343 +msgid "Stock Status" +msgstr "" + +#: templates/js/translated/order.js:426 +msgid "Order Code" +msgstr "" + +#: templates/js/translated/order.js:427 +msgid "Ordered" +msgstr "" + +#: templates/js/translated/order.js:429 +msgid "Receive" +msgstr "" + +#: templates/js/translated/order.js:448 +msgid "Confirm receipt of items" +msgstr "" + +#: templates/js/translated/order.js:449 +msgid "Receive Purchase Order Items" +msgstr "" + +#: templates/js/translated/order.js:626 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/order.js:320 templates/js/translated/order.js:682 +#: templates/js/translated/order.js:651 templates/js/translated/order.js:1028 msgid "Order is overdue" msgstr "" -#: templates/js/translated/order.js:452 +#: templates/js/translated/order.js:749 templates/js/translated/order.js:1602 +msgid "Edit Line Item" +msgstr "" + +#: templates/js/translated/order.js:761 templates/js/translated/order.js:1613 +msgid "Delete Line Item" +msgstr "" + +#: templates/js/translated/order.js:800 msgid "No line items found" msgstr "" -#: templates/js/translated/order.js:617 +#: templates/js/translated/order.js:827 templates/js/translated/order.js:1432 +msgid "Total" +msgstr "" + +#: templates/js/translated/order.js:880 templates/js/translated/order.js:1457 +#: templates/js/translated/part.js:1343 templates/js/translated/part.js:1554 +msgid "Unit Price" +msgstr "" + +#: templates/js/translated/order.js:889 templates/js/translated/order.js:1464 +msgid "Total price" +msgstr "" + +#: templates/js/translated/order.js:962 templates/js/translated/order.js:1573 +msgid "Edit line item" +msgstr "" + +#: templates/js/translated/order.js:963 msgid "Delete line item" msgstr "" -#: templates/js/translated/order.js:621 +#: templates/js/translated/order.js:967 msgid "Receive line item" msgstr "" -#: templates/js/translated/order.js:658 +#: templates/js/translated/order.js:1004 msgid "No sales orders found" msgstr "" -#: templates/js/translated/order.js:696 +#: templates/js/translated/order.js:1042 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/order.js:774 +#: templates/js/translated/order.js:1120 msgid "No sales order allocations found" msgstr "" +#: templates/js/translated/order.js:1213 +msgid "Edit Stock Allocation" +msgstr "" + +#: templates/js/translated/order.js:1231 +msgid "Delete Stock Allocation" +msgstr "" + +#: templates/js/translated/order.js:1273 +msgid "Stock location not specified" +msgstr "" + +#: templates/js/translated/order.js:1514 +msgid "Fulfilled" +msgstr "" + +#: templates/js/translated/order.js:1557 +msgid "Allocate serial numbers" +msgstr "" + +#: templates/js/translated/order.js:1563 +msgid "Purchase stock" +msgstr "" + +#: templates/js/translated/order.js:1570 templates/js/translated/order.js:1725 +msgid "Calculate price" +msgstr "" + +#: templates/js/translated/order.js:1574 +msgid "Delete line item " +msgstr "" + +#: templates/js/translated/order.js:1673 +msgid "Allocate Stock Item" +msgstr "" + +#: templates/js/translated/order.js:1733 +msgid "Update Unit Price" +msgstr "" + +#: templates/js/translated/order.js:1747 +msgid "No matching line items" +msgstr "" + #: templates/js/translated/part.js:49 msgid "Part Attributes" msgstr "" @@ -7388,396 +7614,396 @@ msgstr "" msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:159 +#: templates/js/translated/part.js:164 msgid "Create Initial Stock" msgstr "" -#: templates/js/translated/part.js:160 +#: templates/js/translated/part.js:165 msgid "Create an initial stock item for this part" msgstr "" -#: templates/js/translated/part.js:167 +#: templates/js/translated/part.js:172 msgid "Initial Stock Quantity" msgstr "" -#: templates/js/translated/part.js:168 +#: templates/js/translated/part.js:173 msgid "Specify initial stock quantity for this part" msgstr "" -#: templates/js/translated/part.js:175 templates/js/translated/stock.js:330 +#: templates/js/translated/part.js:180 msgid "Select destination stock location" msgstr "" -#: templates/js/translated/part.js:186 +#: templates/js/translated/part.js:191 msgid "Copy Category Parameters" msgstr "" -#: templates/js/translated/part.js:187 +#: templates/js/translated/part.js:192 msgid "Copy parameter templates from selected part category" msgstr "" -#: templates/js/translated/part.js:195 +#: templates/js/translated/part.js:200 msgid "Add Supplier Data" msgstr "" -#: templates/js/translated/part.js:196 +#: templates/js/translated/part.js:201 msgid "Create initial supplier data for this part" msgstr "" -#: templates/js/translated/part.js:252 +#: templates/js/translated/part.js:257 msgid "Copy Image" msgstr "" -#: templates/js/translated/part.js:253 +#: templates/js/translated/part.js:258 msgid "Copy image from original part" msgstr "" -#: templates/js/translated/part.js:260 +#: templates/js/translated/part.js:265 msgid "Copy BOM" msgstr "" -#: templates/js/translated/part.js:261 +#: templates/js/translated/part.js:266 msgid "Copy bill of materials from original part" msgstr "" -#: templates/js/translated/part.js:268 +#: templates/js/translated/part.js:273 msgid "Copy Parameters" msgstr "" -#: templates/js/translated/part.js:269 +#: templates/js/translated/part.js:274 msgid "Copy parameter data from original part" msgstr "" -#: templates/js/translated/part.js:282 +#: templates/js/translated/part.js:287 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:323 +#: templates/js/translated/part.js:331 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:408 templates/js/translated/part.js:493 +#: templates/js/translated/part.js:419 templates/js/translated/part.js:504 msgid "Trackable part" msgstr "" -#: templates/js/translated/part.js:412 templates/js/translated/part.js:497 +#: templates/js/translated/part.js:423 templates/js/translated/part.js:508 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:424 +#: templates/js/translated/part.js:435 msgid "Starred part" msgstr "" -#: templates/js/translated/part.js:428 +#: templates/js/translated/part.js:439 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:543 +#: templates/js/translated/part.js:554 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:732 templates/js/translated/part.js:994 +#: templates/js/translated/part.js:743 templates/js/translated/part.js:1005 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:921 +#: templates/js/translated/part.js:932 msgid "No category" msgstr "" -#: templates/js/translated/part.js:944 -#: templates/js/translated/table_filters.js:350 +#: templates/js/translated/part.js:955 +#: templates/js/translated/table_filters.js:359 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:1148 templates/js/translated/stock.js:1501 +#: templates/js/translated/part.js:1159 templates/js/translated/stock.js:1480 msgid "Path" msgstr "" -#: templates/js/translated/part.js:1191 +#: templates/js/translated/part.js:1202 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:1242 templates/js/translated/stock.js:514 +#: templates/js/translated/part.js:1253 templates/js/translated/stock.js:493 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:1243 templates/js/translated/stock.js:515 +#: templates/js/translated/part.js:1254 templates/js/translated/stock.js:494 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:1249 +#: templates/js/translated/part.js:1260 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:1274 +#: templates/js/translated/part.js:1282 +msgid "Edit Test Result Template" +msgstr "" + +#: templates/js/translated/part.js:1296 +msgid "Delete Test Result Template" +msgstr "" + +#: templates/js/translated/part.js:1321 #, python-brace-format msgid "No ${human_name} information found" msgstr "" -#: templates/js/translated/part.js:1329 +#: templates/js/translated/part.js:1376 #, python-brace-format msgid "Edit ${human_name}" msgstr "" -#: templates/js/translated/part.js:1330 +#: templates/js/translated/part.js:1377 #, python-brace-format msgid "Delete ${human_name}" msgstr "" -#: templates/js/translated/part.js:1431 +#: templates/js/translated/part.js:1478 msgid "Single Price" msgstr "" -#: templates/js/translated/part.js:1450 +#: templates/js/translated/part.js:1497 msgid "Single Price Difference" msgstr "" -#: templates/js/translated/stock.js:66 +#: templates/js/translated/stock.js:63 msgid "Parent stock location" msgstr "" -#: templates/js/translated/stock.js:96 +#: templates/js/translated/stock.js:93 msgid "Export Stock" msgstr "" -#: templates/js/translated/stock.js:99 -msgid "Format" -msgstr "" - -#: templates/js/translated/stock.js:100 -msgid "Select file format" -msgstr "" - -#: templates/js/translated/stock.js:124 +#: templates/js/translated/stock.js:104 msgid "Include Sublocations" msgstr "" -#: templates/js/translated/stock.js:125 +#: templates/js/translated/stock.js:105 msgid "Include stock items in sublocations" msgstr "" -#: templates/js/translated/stock.js:167 +#: templates/js/translated/stock.js:147 msgid "Transfer Stock" msgstr "" -#: templates/js/translated/stock.js:168 +#: templates/js/translated/stock.js:148 msgid "Move" msgstr "" -#: templates/js/translated/stock.js:174 +#: templates/js/translated/stock.js:154 msgid "Count Stock" msgstr "" -#: templates/js/translated/stock.js:175 +#: templates/js/translated/stock.js:155 msgid "Count" msgstr "" -#: templates/js/translated/stock.js:179 +#: templates/js/translated/stock.js:159 msgid "Remove Stock" msgstr "" -#: templates/js/translated/stock.js:180 +#: templates/js/translated/stock.js:160 msgid "Take" msgstr "" -#: templates/js/translated/stock.js:184 +#: templates/js/translated/stock.js:164 msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:185 users/models.py:190 +#: templates/js/translated/stock.js:165 users/models.py:195 msgid "Add" msgstr "" -#: templates/js/translated/stock.js:189 templates/stock_table.html:63 +#: templates/js/translated/stock.js:169 templates/stock_table.html:63 msgid "Delete Stock" msgstr "" -#: templates/js/translated/stock.js:278 +#: templates/js/translated/stock.js:258 msgid "Quantity cannot be adjusted for serialized stock" msgstr "" -#: templates/js/translated/stock.js:278 +#: templates/js/translated/stock.js:258 msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:314 +#: templates/js/translated/stock.js:298 msgid "You must select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:339 -msgid "Stock transaction notes" -msgstr "" - -#: templates/js/translated/stock.js:477 +#: templates/js/translated/stock.js:456 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:479 +#: templates/js/translated/stock.js:458 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:484 +#: templates/js/translated/stock.js:463 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:510 +#: templates/js/translated/stock.js:489 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:536 +#: templates/js/translated/stock.js:515 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:584 +#: templates/js/translated/stock.js:563 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:691 +#: templates/js/translated/stock.js:670 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:695 +#: templates/js/translated/stock.js:674 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:703 +#: templates/js/translated/stock.js:678 +msgid "Shipped to customer" +msgstr "" + +#: templates/js/translated/stock.js:682 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:865 +#: templates/js/translated/stock.js:688 +msgid "No stock location set" +msgstr "" + +#: templates/js/translated/stock.js:844 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:870 +#: templates/js/translated/stock.js:849 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:873 +#: templates/js/translated/stock.js:852 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:877 +#: templates/js/translated/stock.js:856 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:879 +#: templates/js/translated/stock.js:858 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:883 +#: templates/js/translated/stock.js:862 msgid "Stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:887 +#: templates/js/translated/stock.js:866 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:894 +#: templates/js/translated/stock.js:873 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:896 +#: templates/js/translated/stock.js:875 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:898 +#: templates/js/translated/stock.js:877 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:902 +#: templates/js/translated/stock.js:881 #: templates/js/translated/table_filters.js:161 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:956 +#: templates/js/translated/stock.js:935 msgid "Stocktake" msgstr "" -#: templates/js/translated/stock.js:1029 +#: templates/js/translated/stock.js:1008 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:1067 +#: templates/js/translated/stock.js:1046 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:1088 templates/js/translated/stock.js:1136 +#: templates/js/translated/stock.js:1067 templates/js/translated/stock.js:1115 msgid "items" msgstr "" -#: templates/js/translated/stock.js:1176 +#: templates/js/translated/stock.js:1155 msgid "batches" msgstr "" -#: templates/js/translated/stock.js:1203 +#: templates/js/translated/stock.js:1182 msgid "locations" msgstr "" -#: templates/js/translated/stock.js:1205 +#: templates/js/translated/stock.js:1184 msgid "Undefined location" msgstr "" -#: templates/js/translated/stock.js:1364 -msgid "Stock Status" -msgstr "" - -#: templates/js/translated/stock.js:1379 +#: templates/js/translated/stock.js:1358 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:1393 +#: templates/js/translated/stock.js:1372 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:1394 +#: templates/js/translated/stock.js:1373 msgid "Status code must be selected" msgstr "" -#: templates/js/translated/stock.js:1533 +#: templates/js/translated/stock.js:1512 msgid "Invalid date" msgstr "" -#: templates/js/translated/stock.js:1580 +#: templates/js/translated/stock.js:1559 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:1599 +#: templates/js/translated/stock.js:1578 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:1618 +#: templates/js/translated/stock.js:1597 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:1636 +#: templates/js/translated/stock.js:1615 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:1659 +#: templates/js/translated/stock.js:1638 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:1667 +#: templates/js/translated/stock.js:1646 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:1708 +#: templates/js/translated/stock.js:1687 msgid "Edit tracking entry" msgstr "" -#: templates/js/translated/stock.js:1709 +#: templates/js/translated/stock.js:1688 msgid "Delete tracking entry" msgstr "" -#: templates/js/translated/stock.js:1833 +#: templates/js/translated/stock.js:1812 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:1856 +#: templates/js/translated/stock.js:1835 msgid "Serial" msgstr "" -#: templates/js/translated/stock.js:1884 +#: templates/js/translated/stock.js:1863 msgid "Uninstall Stock Item" msgstr "" @@ -7808,7 +8034,7 @@ msgstr "" #: templates/js/translated/table_filters.js:103 #: templates/js/translated/table_filters.js:104 -#: templates/js/translated/table_filters.js:327 +#: templates/js/translated/table_filters.js:336 msgid "Include subcategories" msgstr "" @@ -7850,7 +8076,7 @@ msgid "Batch code" msgstr "" #: templates/js/translated/table_filters.js:141 -#: templates/js/translated/table_filters.js:317 +#: templates/js/translated/table_filters.js:326 msgid "Active parts" msgstr "" @@ -7935,89 +8161,89 @@ msgstr "" msgid "Build status" msgstr "" -#: templates/js/translated/table_filters.js:282 -#: templates/js/translated/table_filters.js:299 +#: templates/js/translated/table_filters.js:291 +#: templates/js/translated/table_filters.js:308 msgid "Order status" msgstr "" -#: templates/js/translated/table_filters.js:287 -#: templates/js/translated/table_filters.js:304 +#: templates/js/translated/table_filters.js:296 +#: templates/js/translated/table_filters.js:313 msgid "Outstanding" msgstr "" -#: templates/js/translated/table_filters.js:328 +#: templates/js/translated/table_filters.js:337 msgid "Include parts in subcategories" msgstr "" -#: templates/js/translated/table_filters.js:332 +#: templates/js/translated/table_filters.js:341 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:333 +#: templates/js/translated/table_filters.js:342 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:338 +#: templates/js/translated/table_filters.js:347 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:346 +#: templates/js/translated/table_filters.js:355 msgid "Stock available" msgstr "" -#: templates/js/translated/table_filters.js:362 +#: templates/js/translated/table_filters.js:371 msgid "Starred" msgstr "" -#: templates/js/translated/table_filters.js:374 +#: templates/js/translated/table_filters.js:383 msgid "Purchasable" msgstr "" -#: templates/js/translated/tables.js:357 +#: templates/js/translated/tables.js:366 msgid "Loading data" msgstr "" -#: templates/js/translated/tables.js:360 +#: templates/js/translated/tables.js:369 msgid "rows per page" msgstr "" -#: templates/js/translated/tables.js:363 +#: templates/js/translated/tables.js:372 msgid "Showing" msgstr "" -#: templates/js/translated/tables.js:363 +#: templates/js/translated/tables.js:372 msgid "to" msgstr "" -#: templates/js/translated/tables.js:363 +#: templates/js/translated/tables.js:372 msgid "of" msgstr "" -#: templates/js/translated/tables.js:363 +#: templates/js/translated/tables.js:372 msgid "rows" msgstr "" -#: templates/js/translated/tables.js:369 +#: templates/js/translated/tables.js:378 msgid "No matching results" msgstr "" -#: templates/js/translated/tables.js:372 +#: templates/js/translated/tables.js:381 msgid "Hide/Show pagination" msgstr "" -#: templates/js/translated/tables.js:375 +#: templates/js/translated/tables.js:384 msgid "Refresh" msgstr "" -#: templates/js/translated/tables.js:378 +#: templates/js/translated/tables.js:387 msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:381 +#: templates/js/translated/tables.js:390 msgid "Columns" msgstr "" -#: templates/js/translated/tables.js:384 +#: templates/js/translated/tables.js:393 msgid "All" msgstr "" @@ -8033,19 +8259,15 @@ msgstr "" msgid "Sell" msgstr "" -#: templates/navbar.html:87 users/models.py:39 +#: templates/navbar.html:83 users/models.py:39 msgid "Admin" msgstr "" -#: templates/navbar.html:89 +#: templates/navbar.html:85 msgid "Logout" msgstr "" -#: templates/navbar.html:91 templates/registration/login.html:89 -msgid "Login" -msgstr "" - -#: templates/navbar.html:114 +#: templates/navbar.html:106 msgid "About InvenTree" msgstr "" @@ -8053,68 +8275,12 @@ msgstr "" msgid "QR data not provided" msgstr "" -#: templates/registration/logged_out.html:50 -msgid "You have been logged out" +#: templates/registration/logged_out.html:6 +msgid "You were logged out successfully." msgstr "" -#: templates/registration/logged_out.html:51 -#: templates/registration/password_reset_complete.html:51 -#: templates/registration/password_reset_done.html:58 -msgid "Return to login screen" -msgstr "" - -#: templates/registration/login.html:64 -msgid "Enter username" -msgstr "" - -#: templates/registration/login.html:70 -msgid "Password" -msgstr "" - -#: templates/registration/login.html:83 -msgid "Username / password combination is incorrect" -msgstr "" - -#: templates/registration/login.html:95 -#: templates/registration/password_reset_form.html:51 -msgid "Forgotten your password?" -msgstr "" - -#: templates/registration/login.html:95 -msgid "Click here to reset" -msgstr "" - -#: templates/registration/password_reset_complete.html:50 -msgid "Password reset complete" -msgstr "" - -#: templates/registration/password_reset_confirm.html:52 -#: templates/registration/password_reset_confirm.html:56 -msgid "Change password" -msgstr "" - -#: templates/registration/password_reset_confirm.html:60 -msgid "The password reset link was invalid, possibly because it has already been used. Please request a new password reset." -msgstr "" - -#: templates/registration/password_reset_done.html:51 -msgid "We've emailed you instructions for setting your password, if an account exists with the email you entered. You should receive them shortly." -msgstr "" - -#: templates/registration/password_reset_done.html:54 -msgid "If you don't receive an email, please make sure you've entered the address you registered with, and check your spam folder." -msgstr "" - -#: templates/registration/password_reset_form.html:52 -msgid "Enter your email address below." -msgstr "" - -#: templates/registration/password_reset_form.html:53 -msgid "An email will be sent with password reset instructions." -msgstr "" - -#: templates/registration/password_reset_form.html:58 -msgid "Send email" +#: templates/registration/logged_out.html:8 +msgid "Log in again" msgstr "" #: templates/stats.html:13 @@ -8169,6 +8335,10 @@ msgstr "" msgid "Export Stock Information" msgstr "" +#: templates/stock_table.html:20 +msgid "New Stock Item" +msgstr "" + #: templates/stock_table.html:27 msgid "Barcode Actions" msgstr "" @@ -8249,35 +8419,35 @@ msgstr "" msgid "Important dates" msgstr "" -#: users/models.py:177 +#: users/models.py:182 msgid "Permission set" msgstr "" -#: users/models.py:185 +#: users/models.py:190 msgid "Group" msgstr "" -#: users/models.py:188 +#: users/models.py:193 msgid "View" msgstr "" -#: users/models.py:188 +#: users/models.py:193 msgid "Permission to view items" msgstr "" -#: users/models.py:190 +#: users/models.py:195 msgid "Permission to add items" msgstr "" -#: users/models.py:192 +#: users/models.py:197 msgid "Change" msgstr "" -#: users/models.py:192 +#: users/models.py:197 msgid "Permissions to edit items" msgstr "" -#: users/models.py:194 +#: users/models.py:199 msgid "Permission to delete items" msgstr "" diff --git a/InvenTree/locale/ko/LC_MESSAGES/django.po b/InvenTree/locale/ko/LC_MESSAGES/django.po index c0b31fe815..e1b5611439 100644 --- a/InvenTree/locale/ko/LC_MESSAGES/django.po +++ b/InvenTree/locale/ko/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-09-12 13:15+0000\n" -"PO-Revision-Date: 2021-09-12 13:44\n" +"POT-Creation-Date: 2021-10-11 06:21+0000\n" +"PO-Revision-Date: 2021-10-11 06:29\n" "Last-Translator: \n" "Language-Team: Korean\n" "Language: ko_KR\n" @@ -33,48 +33,61 @@ msgstr "" msgid "Enter date" msgstr "" -#: InvenTree/forms.py:111 build/forms.py:102 build/forms.py:123 -#: build/forms.py:145 build/forms.py:169 build/forms.py:185 build/forms.py:227 -#: order/forms.py:30 order/forms.py:41 order/forms.py:52 order/forms.py:63 -#: order/forms.py:74 part/forms.py:108 templates/js/translated/forms.js:564 +#: InvenTree/forms.py:116 build/forms.py:102 build/forms.py:123 +#: build/forms.py:145 build/forms.py:173 build/forms.py:215 order/forms.py:27 +#: order/forms.py:38 order/forms.py:49 order/forms.py:60 order/forms.py:71 +#: part/forms.py:108 templates/account/email_confirm.html:20 +#: templates/js/translated/forms.js:564 msgid "Confirm" msgstr "" -#: InvenTree/forms.py:127 +#: InvenTree/forms.py:132 msgid "Confirm delete" msgstr "" -#: InvenTree/forms.py:128 +#: InvenTree/forms.py:133 msgid "Confirm item deletion" msgstr "" -#: InvenTree/forms.py:160 templates/registration/login.html:76 +#: InvenTree/forms.py:164 msgid "Enter password" msgstr "" -#: InvenTree/forms.py:161 +#: InvenTree/forms.py:165 msgid "Enter new password" msgstr "" -#: InvenTree/forms.py:168 +#: InvenTree/forms.py:172 msgid "Confirm password" msgstr "" -#: InvenTree/forms.py:169 +#: InvenTree/forms.py:173 msgid "Confirm new password" msgstr "" -#: InvenTree/forms.py:201 +#: InvenTree/forms.py:205 msgid "Select Category" msgstr "" +#: InvenTree/forms.py:226 +msgid "E-mail (again)" +msgstr "" + +#: InvenTree/forms.py:230 +msgid "E-mail address confirmation" +msgstr "" + +#: InvenTree/forms.py:250 +msgid "You must type the same email each time." +msgstr "" + #: InvenTree/helpers.py:401 #, python-brace-format msgid "Duplicate serial: {n}" msgstr "" -#: InvenTree/helpers.py:408 order/models.py:315 order/models.py:430 -#: stock/views.py:1363 +#: InvenTree/helpers.py:408 order/models.py:315 order/models.py:437 +#: stock/views.py:1340 msgid "Invalid quantity provided" msgstr "" @@ -102,7 +115,7 @@ msgstr "" msgid "Number of unique serial number ({s}) must match quantity ({q})" msgstr "" -#: InvenTree/models.py:66 stock/models.py:1826 +#: InvenTree/models.py:66 stock/models.py:1823 msgid "Attachment" msgstr "" @@ -118,10 +131,10 @@ msgstr "" msgid "File comment" msgstr "" -#: InvenTree/models.py:75 InvenTree/models.py:76 common/models.py:993 -#: common/models.py:994 part/models.py:2051 +#: InvenTree/models.py:75 InvenTree/models.py:76 common/models.py:1055 +#: common/models.py:1056 part/models.py:2055 #: report/templates/report/inventree_test_report_base.html:91 -#: templates/js/translated/stock.js:1690 +#: templates/js/translated/stock.js:1669 msgid "User" msgstr "" @@ -158,37 +171,34 @@ msgstr "" msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:200 InvenTree/models.py:201 company/models.py:414 -#: label/models.py:112 part/models.py:658 part/models.py:2212 +#: InvenTree/models.py:200 InvenTree/models.py:201 company/models.py:415 +#: label/models.py:112 part/models.py:659 part/models.py:2216 #: part/templates/part/part_base.html:241 report/models.py:181 -#: templates/InvenTree/search.html:137 templates/InvenTree/search.html:289 -#: templates/js/translated/company.js:636 templates/js/translated/part.js:466 -#: templates/js/translated/part.js:603 templates/js/translated/part.js:1130 -#: templates/js/translated/stock.js:1483 +#: templates/js/translated/company.js:637 templates/js/translated/part.js:477 +#: templates/js/translated/part.js:614 templates/js/translated/part.js:1141 +#: templates/js/translated/stock.js:1462 msgid "Name" msgstr "" -#: InvenTree/models.py:207 build/models.py:187 -#: build/templates/build/detail.html:24 company/models.py:353 -#: company/models.py:569 company/templates/company/manufacturer_part.html:76 +#: InvenTree/models.py:207 build/models.py:189 +#: build/templates/build/detail.html:24 company/models.py:354 +#: company/models.py:570 company/templates/company/manufacturer_part.html:76 #: company/templates/company/supplier_part.html:75 label/models.py:119 -#: order/models.py:158 part/models.py:681 +#: order/models.py:158 part/models.py:682 #: part/templates/part/part_base.html:246 #: part/templates/part/set_category.html:14 report/models.py:194 #: report/models.py:551 report/models.py:590 #: report/templates/report/inventree_build_order_base.html:118 -#: templates/InvenTree/search.html:144 templates/InvenTree/search.html:224 -#: templates/InvenTree/search.html:296 #: templates/InvenTree/settings/header.html:9 -#: templates/js/translated/bom.js:230 templates/js/translated/build.js:891 -#: templates/js/translated/build.js:1179 templates/js/translated/company.js:344 -#: templates/js/translated/company.js:546 -#: templates/js/translated/company.js:834 templates/js/translated/order.js:341 -#: templates/js/translated/order.js:486 templates/js/translated/order.js:710 -#: templates/js/translated/part.js:525 templates/js/translated/part.js:713 -#: templates/js/translated/part.js:902 templates/js/translated/part.js:1142 -#: templates/js/translated/part.js:1210 templates/js/translated/stock.js:840 -#: templates/js/translated/stock.js:1495 templates/js/translated/stock.js:1540 +#: templates/js/translated/bom.js:249 templates/js/translated/build.js:1217 +#: templates/js/translated/build.js:1505 templates/js/translated/company.js:344 +#: templates/js/translated/company.js:547 +#: templates/js/translated/company.js:836 templates/js/translated/order.js:672 +#: templates/js/translated/order.js:832 templates/js/translated/order.js:1056 +#: templates/js/translated/part.js:536 templates/js/translated/part.js:724 +#: templates/js/translated/part.js:913 templates/js/translated/part.js:1153 +#: templates/js/translated/part.js:1221 templates/js/translated/stock.js:819 +#: templates/js/translated/stock.js:1474 templates/js/translated/stock.js:1519 msgid "Description" msgstr "" @@ -200,7 +210,7 @@ msgstr "" msgid "parent" msgstr "" -#: InvenTree/serializers.py:55 part/models.py:2454 +#: InvenTree/serializers.py:55 part/models.py:2475 msgid "Must be a valid number" msgstr "" @@ -208,75 +218,75 @@ msgstr "" msgid "Filename" msgstr "" -#: InvenTree/settings.py:523 +#: InvenTree/settings.py:529 msgid "German" msgstr "" -#: InvenTree/settings.py:524 +#: InvenTree/settings.py:530 msgid "Greek" msgstr "" -#: InvenTree/settings.py:525 +#: InvenTree/settings.py:531 msgid "English" msgstr "" -#: InvenTree/settings.py:526 +#: InvenTree/settings.py:532 msgid "Spanish" msgstr "" -#: InvenTree/settings.py:527 +#: InvenTree/settings.py:533 msgid "French" msgstr "" -#: InvenTree/settings.py:528 +#: InvenTree/settings.py:534 msgid "Hebrew" msgstr "" -#: InvenTree/settings.py:529 +#: InvenTree/settings.py:535 msgid "Italian" msgstr "" -#: InvenTree/settings.py:530 +#: InvenTree/settings.py:536 msgid "Japanese" msgstr "" -#: InvenTree/settings.py:531 +#: InvenTree/settings.py:537 msgid "Korean" msgstr "" -#: InvenTree/settings.py:532 +#: InvenTree/settings.py:538 msgid "Dutch" msgstr "" -#: InvenTree/settings.py:533 +#: InvenTree/settings.py:539 msgid "Norwegian" msgstr "" -#: InvenTree/settings.py:534 +#: InvenTree/settings.py:540 msgid "Polish" msgstr "" -#: InvenTree/settings.py:535 +#: InvenTree/settings.py:541 msgid "Russian" msgstr "" -#: InvenTree/settings.py:536 +#: InvenTree/settings.py:542 msgid "Swedish" msgstr "" -#: InvenTree/settings.py:537 +#: InvenTree/settings.py:543 msgid "Thai" msgstr "" -#: InvenTree/settings.py:538 +#: InvenTree/settings.py:544 msgid "Turkish" msgstr "" -#: InvenTree/settings.py:539 +#: InvenTree/settings.py:545 msgid "Vietnamese" msgstr "" -#: InvenTree/settings.py:540 +#: InvenTree/settings.py:546 msgid "Chinese" msgstr "" @@ -321,7 +331,7 @@ msgid "Returned" msgstr "" #: InvenTree/status_codes.py:146 -#: order/templates/order/sales_order_base.html:126 +#: order/templates/order/sales_order_base.html:131 msgid "Shipped" msgstr "" @@ -461,27 +471,27 @@ msgstr "" msgid "Overage must be an integer value or a percentage" msgstr "" -#: InvenTree/views.py:610 +#: InvenTree/views.py:616 msgid "Delete Item" msgstr "" -#: InvenTree/views.py:659 +#: InvenTree/views.py:665 msgid "Check box to confirm item deletion" msgstr "" -#: InvenTree/views.py:674 templates/InvenTree/settings/user.html:14 +#: InvenTree/views.py:680 templates/InvenTree/settings/user.html:18 msgid "Edit User Information" msgstr "" -#: InvenTree/views.py:685 templates/InvenTree/settings/user.html:18 +#: InvenTree/views.py:691 templates/InvenTree/settings/user.html:22 msgid "Set Password" msgstr "" -#: InvenTree/views.py:704 +#: InvenTree/views.py:710 msgid "Password fields must match" msgstr "" -#: InvenTree/views.py:910 templates/navbar.html:105 +#: InvenTree/views.py:954 templates/navbar.html:97 msgid "System Information" msgstr "" @@ -525,6 +535,10 @@ msgstr "" msgid "Barcode associated with StockItem" msgstr "" +#: build/api.py:213 +msgid "Matching build order does not exist" +msgstr "" + #: build/forms.py:37 msgid "Build Order reference" msgstr "" @@ -536,33 +550,28 @@ msgstr "" #: build/forms.py:42 build/templates/build/build_base.html:146 #: build/templates/build/detail.html:124 #: order/templates/order/order_base.html:124 -#: order/templates/order/sales_order_base.html:119 +#: order/templates/order/sales_order_base.html:124 #: report/templates/report/inventree_build_order_base.html:126 -#: templates/js/translated/build.js:962 templates/js/translated/order.js:358 -#: templates/js/translated/order.js:728 +#: templates/js/translated/build.js:1288 templates/js/translated/order.js:689 +#: templates/js/translated/order.js:1074 msgid "Target Date" msgstr "" -#: build/forms.py:43 build/models.py:277 +#: build/forms.py:43 build/models.py:279 msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/forms.py:48 build/forms.py:90 build/forms.py:266 build/models.py:1402 +#: build/forms.py:48 build/forms.py:90 build/models.py:1281 #: build/templates/build/allocation_card.html:23 -#: build/templates/build/auto_allocate.html:17 #: build/templates/build/build_base.html:133 -#: build/templates/build/detail.html:34 common/models.py:1025 +#: build/templates/build/detail.html:34 common/models.py:1087 #: company/forms.py:42 company/templates/company/supplier_part.html:226 -#: order/forms.py:120 order/forms.py:142 order/forms.py:159 order/models.py:712 -#: order/models.py:964 order/templates/order/order_wizard/match_parts.html:30 -#: order/templates/order/order_wizard/select_parts.html:34 -#: order/templates/order/sales_order_detail.html:201 -#: order/templates/order/sales_order_detail.html:208 -#: order/templates/order/sales_order_detail.html:293 -#: order/templates/order/sales_order_detail.html:365 part/forms.py:249 -#: part/forms.py:265 part/forms.py:281 part/models.py:2356 +#: order/forms.py:101 order/forms.py:123 order/models.py:720 +#: order/models.py:982 order/templates/order/order_wizard/match_parts.html:30 +#: order/templates/order/order_wizard/select_parts.html:34 part/forms.py:249 +#: part/forms.py:265 part/forms.py:281 part/models.py:2377 #: part/templates/part/bom_upload/match_parts.html:31 -#: part/templates/part/detail.html:973 part/templates/part/detail.html:1059 +#: part/templates/part/detail.html:944 part/templates/part/detail.html:1030 #: part/templates/part/part_pricing.html:16 #: report/templates/report/inventree_build_order_base.html:114 #: report/templates/report/inventree_po_report.html:91 @@ -570,14 +579,16 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:77 #: stock/forms.py:140 stock/templates/stock/item_base.html:269 #: stock/templates/stock/stock_adjust.html:18 -#: templates/js/translated/barcode.js:386 templates/js/translated/bom.js:245 -#: templates/js/translated/build.js:298 templates/js/translated/build.js:629 -#: templates/js/translated/build.js:1189 -#: templates/js/translated/model_renderers.js:59 -#: templates/js/translated/order.js:522 templates/js/translated/order.js:824 -#: templates/js/translated/part.js:1317 templates/js/translated/part.js:1440 -#: templates/js/translated/part.js:1518 templates/js/translated/stock.js:1675 -#: templates/js/translated/stock.js:1850 +#: templates/js/translated/barcode.js:386 templates/js/translated/bom.js:264 +#: templates/js/translated/build.js:314 templates/js/translated/build.js:638 +#: templates/js/translated/build.js:977 templates/js/translated/build.js:1515 +#: templates/js/translated/model_renderers.js:74 +#: templates/js/translated/order.js:868 templates/js/translated/order.js:1170 +#: templates/js/translated/order.js:1248 templates/js/translated/order.js:1255 +#: templates/js/translated/order.js:1344 templates/js/translated/order.js:1444 +#: templates/js/translated/part.js:1364 templates/js/translated/part.js:1487 +#: templates/js/translated/part.js:1565 templates/js/translated/stock.js:1654 +#: templates/js/translated/stock.js:1829 msgid "Quantity" msgstr "" @@ -589,7 +600,7 @@ msgstr "" msgid "Enter quantity for build output" msgstr "" -#: build/forms.py:95 order/forms.py:114 stock/forms.py:83 +#: build/forms.py:95 order/forms.py:95 stock/forms.py:83 msgid "Serial Numbers" msgstr "" @@ -609,246 +620,238 @@ msgstr "" msgid "Confirm unallocation of stock" msgstr "" -#: build/forms.py:169 -msgid "Confirm stock allocation" -msgstr "" - -#: build/forms.py:186 +#: build/forms.py:174 msgid "Mark build as complete" msgstr "" -#: build/forms.py:210 build/templates/build/auto_allocate.html:18 -#: order/serializers.py:216 order/serializers.py:275 stock/forms.py:280 +#: build/forms.py:198 order/serializers.py:217 order/serializers.py:284 +#: stock/forms.py:280 stock/serializers.py:553 #: stock/templates/stock/item_base.html:299 #: stock/templates/stock/stock_adjust.html:17 -#: templates/InvenTree/search.html:260 templates/js/translated/barcode.js:385 -#: templates/js/translated/barcode.js:555 templates/js/translated/build.js:283 -#: templates/js/translated/build.js:643 templates/js/translated/order.js:809 -#: templates/js/translated/part.js:174 templates/js/translated/stock.js:203 -#: templates/js/translated/stock.js:329 templates/js/translated/stock.js:942 -#: templates/js/translated/stock.js:1567 +#: templates/js/translated/barcode.js:385 +#: templates/js/translated/barcode.js:555 templates/js/translated/build.js:299 +#: templates/js/translated/build.js:650 templates/js/translated/order.js:347 +#: templates/js/translated/order.js:1155 templates/js/translated/order.js:1263 +#: templates/js/translated/order.js:1269 templates/js/translated/part.js:179 +#: templates/js/translated/stock.js:183 templates/js/translated/stock.js:921 +#: templates/js/translated/stock.js:1546 msgid "Location" msgstr "" -#: build/forms.py:211 +#: build/forms.py:199 msgid "Location of completed parts" msgstr "" -#: build/forms.py:215 build/templates/build/build_base.html:138 -#: build/templates/build/detail.html:62 order/models.py:555 -#: order/serializers.py:230 order/templates/order/receive_parts.html:24 -#: stock/templates/stock/item_base.html:422 templates/InvenTree/search.html:252 -#: templates/js/translated/barcode.js:141 templates/js/translated/build.js:925 -#: templates/js/translated/order.js:345 templates/js/translated/order.js:715 -#: templates/js/translated/stock.js:917 templates/js/translated/stock.js:1644 -#: templates/js/translated/stock.js:1866 +#: build/forms.py:203 build/templates/build/build_base.html:138 +#: build/templates/build/detail.html:62 order/models.py:563 +#: order/serializers.py:238 stock/templates/stock/item_base.html:422 +#: templates/js/translated/barcode.js:141 templates/js/translated/build.js:1251 +#: templates/js/translated/order.js:430 templates/js/translated/order.js:676 +#: templates/js/translated/order.js:1061 templates/js/translated/stock.js:896 +#: templates/js/translated/stock.js:1623 templates/js/translated/stock.js:1845 msgid "Status" msgstr "" -#: build/forms.py:216 +#: build/forms.py:204 msgid "Build output stock status" msgstr "" -#: build/forms.py:223 +#: build/forms.py:211 msgid "Confirm incomplete" msgstr "" -#: build/forms.py:224 +#: build/forms.py:212 msgid "Confirm completion with incomplete stock allocation" msgstr "" -#: build/forms.py:227 +#: build/forms.py:215 msgid "Confirm build completion" msgstr "" -#: build/forms.py:252 +#: build/forms.py:240 msgid "Confirm cancel" msgstr "" -#: build/forms.py:252 build/views.py:65 +#: build/forms.py:240 build/views.py:65 msgid "Confirm build cancellation" msgstr "" -#: build/forms.py:266 -msgid "Select quantity of stock to allocate" -msgstr "" - -#: build/models.py:113 +#: build/models.py:115 msgid "Invalid choice for parent build" msgstr "" -#: build/models.py:117 build/templates/build/build_base.html:9 +#: build/models.py:119 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:73 #: report/templates/report/inventree_build_order_base.html:106 -#: templates/js/translated/build.js:260 +#: templates/js/translated/build.js:276 msgid "Build Order" msgstr "" -#: build/models.py:118 build/templates/build/index.html:8 +#: build/models.py:120 build/templates/build/index.html:8 #: build/templates/build/index.html:15 #: order/templates/order/sales_order_detail.html:34 #: order/templates/order/so_navbar.html:19 #: order/templates/order/so_navbar.html:22 part/templates/part/navbar.html:50 #: part/templates/part/navbar.html:53 templates/InvenTree/index.html:229 -#: templates/InvenTree/search.html:185 -#: templates/InvenTree/settings/navbar.html:101 -#: templates/InvenTree/settings/navbar.html:103 users/models.py:44 +#: templates/InvenTree/search.html:171 +#: templates/InvenTree/settings/navbar.html:113 +#: templates/InvenTree/settings/navbar.html:115 users/models.py:44 msgid "Build Orders" msgstr "" -#: build/models.py:178 +#: build/models.py:180 msgid "Build Order Reference" msgstr "" -#: build/models.py:179 order/models.py:246 order/models.py:539 -#: order/models.py:719 order/templates/order/sales_order_detail.html:360 -#: part/models.py:2365 part/templates/part/bom_upload/match_parts.html:30 +#: build/models.py:181 order/models.py:246 order/models.py:547 +#: order/models.py:727 part/models.py:2386 +#: part/templates/part/bom_upload/match_parts.html:30 #: report/templates/report/inventree_po_report.html:92 #: report/templates/report/inventree_so_report.html:92 -#: templates/js/translated/bom.js:237 templates/js/translated/build.js:718 -#: templates/js/translated/build.js:1183 templates/js/translated/order.js:517 +#: templates/js/translated/bom.js:256 templates/js/translated/build.js:734 +#: templates/js/translated/build.js:1509 templates/js/translated/order.js:863 +#: templates/js/translated/order.js:1438 msgid "Reference" msgstr "" -#: build/models.py:190 +#: build/models.py:192 msgid "Brief description of the build" msgstr "" -#: build/models.py:199 build/templates/build/build_base.html:163 +#: build/models.py:201 build/templates/build/build_base.html:163 #: build/templates/build/detail.html:80 msgid "Parent Build" msgstr "" -#: build/models.py:200 +#: build/models.py:202 msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:205 build/templates/build/auto_allocate.html:16 -#: build/templates/build/build_base.html:128 -#: build/templates/build/detail.html:29 company/models.py:704 -#: order/models.py:772 order/models.py:837 -#: order/templates/order/order_wizard/select_parts.html:32 -#: order/templates/order/receive_parts.html:19 -#: order/templates/order/sales_order_detail.html:345 part/models.py:297 -#: part/models.py:1996 part/models.py:2012 part/models.py:2031 -#: part/models.py:2049 part/models.py:2128 part/models.py:2250 -#: part/models.py:2340 part/templates/part/detail.html:199 +#: build/models.py:207 build/templates/build/build_base.html:128 +#: build/templates/build/detail.html:29 company/models.py:705 +#: order/models.py:780 order/models.py:851 +#: order/templates/order/order_wizard/select_parts.html:32 part/models.py:298 +#: part/models.py:2000 part/models.py:2016 part/models.py:2035 +#: part/models.py:2053 part/models.py:2132 part/models.py:2254 +#: part/models.py:2361 part/templates/part/detail.html:199 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/set_category.html:13 #: report/templates/report/inventree_build_order_base.html:110 #: report/templates/report/inventree_po_report.html:90 #: report/templates/report/inventree_so_report.html:90 -#: templates/InvenTree/search.html:112 templates/InvenTree/search.html:210 -#: templates/js/translated/barcode.js:384 templates/js/translated/bom.js:203 -#: templates/js/translated/build.js:609 templates/js/translated/build.js:896 -#: templates/js/translated/build.js:1156 templates/js/translated/company.js:487 -#: templates/js/translated/company.js:743 templates/js/translated/order.js:471 -#: templates/js/translated/part.js:694 templates/js/translated/part.js:864 -#: templates/js/translated/stock.js:201 templates/js/translated/stock.js:797 -#: templates/js/translated/stock.js:1838 +#: templates/InvenTree/search.html:112 templates/js/translated/barcode.js:384 +#: templates/js/translated/bom.js:222 templates/js/translated/build.js:611 +#: templates/js/translated/build.js:974 templates/js/translated/build.js:1222 +#: templates/js/translated/build.js:1482 templates/js/translated/company.js:488 +#: templates/js/translated/company.js:745 templates/js/translated/order.js:425 +#: templates/js/translated/order.js:817 templates/js/translated/order.js:1422 +#: templates/js/translated/part.js:705 templates/js/translated/part.js:875 +#: templates/js/translated/stock.js:181 templates/js/translated/stock.js:776 +#: templates/js/translated/stock.js:1817 msgid "Part" msgstr "" -#: build/models.py:213 +#: build/models.py:215 msgid "Select part to build" msgstr "" -#: build/models.py:218 +#: build/models.py:220 msgid "Sales Order Reference" msgstr "" -#: build/models.py:222 +#: build/models.py:224 msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:227 +#: build/models.py:229 templates/js/translated/build.js:962 msgid "Source Location" msgstr "" -#: build/models.py:231 +#: build/models.py:233 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "" -#: build/models.py:236 +#: build/models.py:238 msgid "Destination Location" msgstr "" -#: build/models.py:240 +#: build/models.py:242 msgid "Select location where the completed items will be stored" msgstr "" -#: build/models.py:244 +#: build/models.py:246 msgid "Build Quantity" msgstr "" -#: build/models.py:247 +#: build/models.py:249 msgid "Number of stock items to build" msgstr "" -#: build/models.py:251 +#: build/models.py:253 msgid "Completed items" msgstr "" -#: build/models.py:253 +#: build/models.py:255 msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:257 part/templates/part/part_base.html:198 +#: build/models.py:259 part/templates/part/part_base.html:198 msgid "Build Status" msgstr "" -#: build/models.py:261 +#: build/models.py:263 msgid "Build status code" msgstr "" -#: build/models.py:265 stock/models.py:513 +#: build/models.py:267 stock/models.py:513 msgid "Batch Code" msgstr "" -#: build/models.py:269 +#: build/models.py:271 msgid "Batch code for this build output" msgstr "" -#: build/models.py:272 order/models.py:162 part/models.py:853 -#: part/templates/part/part_base.html:272 templates/js/translated/order.js:723 +#: build/models.py:274 order/models.py:162 part/models.py:854 +#: part/templates/part/part_base.html:272 templates/js/translated/order.js:1069 msgid "Creation Date" msgstr "" -#: build/models.py:276 order/models.py:561 +#: build/models.py:278 order/models.py:569 msgid "Target completion date" msgstr "" -#: build/models.py:280 order/models.py:288 templates/js/translated/build.js:967 +#: build/models.py:282 order/models.py:288 +#: templates/js/translated/build.js:1293 msgid "Completion Date" msgstr "" -#: build/models.py:286 +#: build/models.py:288 msgid "completed by" msgstr "" -#: build/models.py:294 templates/js/translated/build.js:938 +#: build/models.py:296 templates/js/translated/build.js:1264 msgid "Issued by" msgstr "" -#: build/models.py:295 +#: build/models.py:297 msgid "User who issued this build order" msgstr "" -#: build/models.py:303 build/templates/build/build_base.html:184 +#: build/models.py:305 build/templates/build/build_base.html:184 #: build/templates/build/detail.html:108 order/models.py:176 #: order/templates/order/order_base.html:138 -#: order/templates/order/sales_order_base.html:140 part/models.py:857 +#: order/templates/order/sales_order_base.html:145 part/models.py:858 #: report/templates/report/inventree_build_order_base.html:159 -#: templates/js/translated/build.js:950 +#: templates/js/translated/build.js:1276 msgid "Responsible" msgstr "" -#: build/models.py:304 +#: build/models.py:306 msgid "User responsible for this build order" msgstr "" -#: build/models.py:309 build/templates/build/detail.html:94 +#: build/models.py:311 build/templates/build/detail.html:94 #: company/templates/company/manufacturer_part.html:83 #: company/templates/company/supplier_part.html:82 #: part/templates/part/part_base.html:266 stock/models.py:507 @@ -856,140 +859,157 @@ msgstr "" msgid "External Link" msgstr "" -#: build/models.py:310 part/models.py:715 stock/models.py:509 +#: build/models.py:312 part/models.py:716 stock/models.py:509 msgid "Link to external URL" msgstr "" -#: build/models.py:314 build/templates/build/navbar.html:52 -#: company/models.py:141 company/models.py:576 +#: build/models.py:316 build/templates/build/navbar.html:52 +#: company/models.py:142 company/models.py:577 #: company/templates/company/navbar.html:69 #: company/templates/company/navbar.html:72 order/models.py:180 -#: order/models.py:721 order/templates/order/po_navbar.html:38 +#: order/models.py:729 order/templates/order/po_navbar.html:38 #: order/templates/order/po_navbar.html:41 -#: order/templates/order/sales_order_detail.html:440 #: order/templates/order/so_navbar.html:33 -#: order/templates/order/so_navbar.html:36 part/models.py:842 +#: order/templates/order/so_navbar.html:36 part/models.py:843 #: part/templates/part/detail.html:105 part/templates/part/navbar.html:120 #: part/templates/part/navbar.html:123 #: report/templates/report/inventree_build_order_base.html:173 #: stock/forms.py:138 stock/forms.py:250 stock/forms.py:282 stock/models.py:579 -#: stock/models.py:1726 stock/models.py:1832 +#: stock/models.py:1723 stock/models.py:1829 stock/serializers.py:451 #: stock/templates/stock/navbar.html:57 templates/js/translated/barcode.js:59 -#: templates/js/translated/bom.js:385 templates/js/translated/company.js:839 -#: templates/js/translated/order.js:604 templates/js/translated/stock.js:338 -#: templates/js/translated/stock.js:580 templates/js/translated/stock.js:1061 +#: templates/js/translated/bom.js:406 templates/js/translated/company.js:841 +#: templates/js/translated/order.js:950 templates/js/translated/order.js:1540 +#: templates/js/translated/stock.js:559 templates/js/translated/stock.js:1040 msgid "Notes" msgstr "" -#: build/models.py:315 +#: build/models.py:317 msgid "Extra build notes" msgstr "" -#: build/models.py:792 +#: build/models.py:714 msgid "No build output specified" msgstr "" -#: build/models.py:795 +#: build/models.py:717 msgid "Build output is already completed" msgstr "" -#: build/models.py:798 +#: build/models.py:720 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:1208 -msgid "BuildItem must be unique for build, stock_item and install_into" -msgstr "" - -#: build/models.py:1233 +#: build/models.py:1102 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1237 +#: build/models.py:1111 #, python-brace-format -msgid "Allocated quantity ({n}) must not exceed available quantity ({q})" +msgid "Allocated quantity ({q}) must not execed available stock quantity ({a})" msgstr "" -#: build/models.py:1244 order/models.py:938 -msgid "StockItem is over-allocated" +#: build/models.py:1121 +msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1248 order/models.py:941 +#: build/models.py:1127 order/models.py:955 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1252 +#: build/models.py:1133 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1312 -#, python-brace-format -msgid "Selected stock item not found in BOM for part '{p}'" +#: build/models.py:1191 +msgid "Selected stock item not found in BOM" msgstr "" -#: build/models.py:1372 stock/templates/stock/item_base.html:331 -#: templates/InvenTree/search.html:183 templates/js/translated/build.js:869 +#: build/models.py:1251 stock/templates/stock/item_base.html:331 +#: templates/InvenTree/search.html:169 templates/js/translated/build.js:1195 #: templates/navbar.html:35 msgid "Build" msgstr "" -#: build/models.py:1373 +#: build/models.py:1252 msgid "Build to allocate parts" msgstr "" -#: build/models.py:1389 stock/templates/stock/item_base.html:8 +#: build/models.py:1268 build/serializers.py:151 +#: stock/templates/stock/item_base.html:8 #: stock/templates/stock/item_base.html:31 #: stock/templates/stock/item_base.html:353 #: stock/templates/stock/stock_adjust.html:16 -#: templates/js/translated/build.js:271 templates/js/translated/build.js:276 -#: templates/js/translated/build.js:1012 templates/js/translated/order.js:797 -#: templates/js/translated/order.js:802 templates/js/translated/stock.js:1626 +#: templates/js/translated/build.js:287 templates/js/translated/build.js:292 +#: templates/js/translated/build.js:976 templates/js/translated/build.js:1338 +#: templates/js/translated/order.js:1143 templates/js/translated/order.js:1148 +#: templates/js/translated/stock.js:1605 msgid "Stock Item" msgstr "" -#: build/models.py:1390 +#: build/models.py:1269 msgid "Source stock item" msgstr "" -#: build/models.py:1403 +#: build/models.py:1282 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1411 +#: build/models.py:1290 msgid "Install into" msgstr "" -#: build/models.py:1412 +#: build/models.py:1291 msgid "Destination stock item" msgstr "" +#: build/serializers.py:133 part/models.py:2501 +msgid "BOM Item" +msgstr "" + +#: build/serializers.py:142 +msgid "bom_item.part must point to the same part as the build order" +msgstr "" + +#: build/serializers.py:157 +msgid "Item must be in stock" +msgstr "" + +#: build/serializers.py:171 order/models.py:313 order/serializers.py:231 +#: stock/models.py:351 stock/models.py:1072 +msgid "Quantity must be greater than zero" +msgstr "" + +#: build/serializers.py:180 +msgid "Build Output" +msgstr "" + +#: build/serializers.py:213 +#, python-brace-format +msgid "Available quantity ({q}) exceeded" +msgstr "" + +#: build/serializers.py:219 +msgid "Build output must be specified for allocation of tracked parts" +msgstr "" + +#: build/serializers.py:226 +msgid "Build output cannot be specified for allocation of untracked parts" +msgstr "" + +#: build/serializers.py:254 +msgid "Allocation items must be provided" +msgstr "" + #: build/templates/build/allocation_card.html:21 #: build/templates/build/complete_output.html:46 -#: order/templates/order/sales_order_detail.html:206 -#: order/templates/order/sales_order_detail.html:291 #: report/templates/report/inventree_test_report_base.html:75 #: stock/models.py:501 stock/templates/stock/item_base.html:251 -#: templates/js/translated/build.js:627 -#: templates/js/translated/model_renderers.js:57 +#: templates/js/translated/build.js:636 +#: templates/js/translated/model_renderers.js:72 +#: templates/js/translated/order.js:1253 templates/js/translated/order.js:1342 msgid "Serial Number" msgstr "" -#: build/templates/build/auto_allocate.html:9 -msgid "Automatically Allocate Stock" -msgstr "" - -#: build/templates/build/auto_allocate.html:10 -msgid "The following stock items will be allocated to the specified build output" -msgstr "" - -#: build/templates/build/auto_allocate.html:37 -msgid "No stock items found that can be automatically allocated to this build" -msgstr "" - -#: build/templates/build/auto_allocate.html:39 -msgid "Stock items will have to be manually allocated" -msgstr "" - #: build/templates/build/build_base.html:18 #, python-format msgid "This Build Order is allocated to Sales Order %(link)s" @@ -1033,10 +1053,10 @@ msgstr "" #: order/templates/order/order_base.html:32 #: order/templates/order/order_base.html:86 #: order/templates/order/sales_order_base.html:43 -#: order/templates/order/sales_order_base.html:88 +#: order/templates/order/sales_order_base.html:93 #: templates/js/translated/table_filters.js:272 -#: templates/js/translated/table_filters.js:291 -#: templates/js/translated/table_filters.js:308 +#: templates/js/translated/table_filters.js:300 +#: templates/js/translated/table_filters.js:317 msgid "Overdue" msgstr "" @@ -1086,14 +1106,14 @@ msgid "Progress" msgstr "" #: build/templates/build/build_base.html:170 -#: build/templates/build/detail.html:87 order/models.py:835 +#: build/templates/build/detail.html:87 order/models.py:848 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:35 #: order/templates/order/sales_order_ship.html:25 #: report/templates/report/inventree_build_order_base.html:136 #: report/templates/report/inventree_so_report.html:77 #: stock/templates/stock/item_base.html:293 -#: templates/js/translated/order.js:670 +#: templates/js/translated/order.js:1016 msgid "Sales Order" msgstr "" @@ -1171,28 +1191,6 @@ msgstr "" msgid "The following items will be created" msgstr "" -#: build/templates/build/create_build_item.html:7 -msgid "Select a stock item to allocate to the selected build output" -msgstr "" - -#: build/templates/build/create_build_item.html:11 -#, python-format -msgid "The allocated stock will be installed into the following build output:
%(output)s" -msgstr "" - -#: build/templates/build/create_build_item.html:17 -#, python-format -msgid "No stock available for %(part)s" -msgstr "" - -#: build/templates/build/delete_build_item.html:8 -msgid "Are you sure you want to unallocate this stock?" -msgstr "" - -#: build/templates/build/delete_build_item.html:11 -msgid "The selected stock will be unallocated from the build output" -msgstr "" - #: build/templates/build/detail.html:38 msgid "Stock Source" msgstr "" @@ -1201,9 +1199,8 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/forms.py:88 order/models.py:794 -#: order/templates/order/receive_parts.html:25 stock/forms.py:134 -#: templates/js/translated/order.js:593 +#: build/templates/build/detail.html:49 order/models.py:802 stock/forms.py:134 +#: templates/js/translated/order.js:431 templates/js/translated/order.js:939 msgid "Destination" msgstr "" @@ -1213,7 +1210,7 @@ msgstr "" #: build/templates/build/detail.html:73 #: stock/templates/stock/item_base.html:317 -#: templates/js/translated/stock.js:931 templates/js/translated/stock.js:1873 +#: templates/js/translated/stock.js:910 templates/js/translated/stock.js:1852 #: templates/js/translated/table_filters.js:129 #: templates/js/translated/table_filters.js:211 msgid "Batch" @@ -1221,8 +1218,8 @@ msgstr "" #: build/templates/build/detail.html:119 #: order/templates/order/order_base.html:111 -#: order/templates/order/sales_order_base.html:113 -#: templates/js/translated/build.js:933 +#: order/templates/order/sales_order_base.html:118 +#: templates/js/translated/build.js:1259 msgid "Created" msgstr "" @@ -1230,7 +1227,8 @@ msgstr "" msgid "No target date set" msgstr "" -#: build/templates/build/detail.html:135 templates/js/translated/build.js:911 +#: build/templates/build/detail.html:135 templates/js/translated/build.js:1237 +#: templates/js/translated/table_filters.js:282 msgid "Completed" msgstr "" @@ -1250,15 +1248,16 @@ msgstr "" msgid "Allocate stock to build" msgstr "" -#: build/templates/build/detail.html:173 -msgid "Auto Allocate" +#: build/templates/build/detail.html:173 build/templates/build/navbar.html:20 +#: build/templates/build/navbar.html:23 +msgid "Allocate Stock" msgstr "" -#: build/templates/build/detail.html:175 templates/js/translated/build.js:801 +#: build/templates/build/detail.html:175 templates/js/translated/build.js:817 msgid "Unallocate stock" msgstr "" -#: build/templates/build/detail.html:176 build/views.py:318 build/views.py:638 +#: build/templates/build/detail.html:176 build/views.py:257 msgid "Unallocate Stock" msgstr "" @@ -1268,7 +1267,7 @@ msgstr "" #: build/templates/build/detail.html:180 #: company/templates/company/detail.html:32 -#: company/templates/company/detail.html:72 order/views.py:679 +#: company/templates/company/detail.html:72 order/views.py:509 #: part/templates/part/category.html:140 msgid "Order Parts" msgstr "" @@ -1282,38 +1281,42 @@ msgid "Untracked stock has not been fully allocated for this Build Order" msgstr "" #: build/templates/build/detail.html:197 +msgid "Allocate selected items" +msgstr "" + +#: build/templates/build/detail.html:209 msgid "This Build Order does not have any associated untracked BOM items" msgstr "" -#: build/templates/build/detail.html:206 +#: build/templates/build/detail.html:218 msgid "Incomplete Build Outputs" msgstr "" -#: build/templates/build/detail.html:211 +#: build/templates/build/detail.html:223 msgid "Create new build output" msgstr "" -#: build/templates/build/detail.html:212 +#: build/templates/build/detail.html:224 msgid "Create New Output" msgstr "" -#: build/templates/build/detail.html:225 +#: build/templates/build/detail.html:237 msgid "Create a new build output" msgstr "" -#: build/templates/build/detail.html:226 +#: build/templates/build/detail.html:238 msgid "No incomplete build outputs remain." msgstr "" -#: build/templates/build/detail.html:227 +#: build/templates/build/detail.html:239 msgid "Create a new build output using the button above" msgstr "" -#: build/templates/build/detail.html:235 +#: build/templates/build/detail.html:247 msgid "Completed Build Outputs" msgstr "" -#: build/templates/build/detail.html:246 build/templates/build/navbar.html:42 +#: build/templates/build/detail.html:258 build/templates/build/navbar.html:42 #: build/templates/build/navbar.html:45 order/templates/order/po_navbar.html:35 #: order/templates/order/sales_order_detail.html:43 #: order/templates/order/so_navbar.html:29 part/templates/part/detail.html:173 @@ -1323,15 +1326,15 @@ msgstr "" msgid "Attachments" msgstr "" -#: build/templates/build/detail.html:257 +#: build/templates/build/detail.html:269 msgid "Build Notes" msgstr "" -#: build/templates/build/detail.html:261 build/templates/build/detail.html:398 +#: build/templates/build/detail.html:273 build/templates/build/detail.html:414 #: company/templates/company/detail.html:169 #: company/templates/company/detail.html:196 -#: order/templates/order/purchase_order_detail.html:62 -#: order/templates/order/purchase_order_detail.html:95 +#: order/templates/order/purchase_order_detail.html:71 +#: order/templates/order/purchase_order_detail.html:104 #: order/templates/order/sales_order_detail.html:58 #: order/templates/order/sales_order_detail.html:85 #: part/templates/part/detail.html:109 stock/templates/stock/item.html:103 @@ -1339,39 +1342,48 @@ msgstr "" msgid "Edit Notes" msgstr "" -#: build/templates/build/detail.html:357 +#: build/templates/build/detail.html:373 #: order/templates/order/po_attachments.html:79 -#: order/templates/order/purchase_order_detail.html:157 +#: order/templates/order/purchase_order_detail.html:166 #: order/templates/order/sales_order_detail.html:146 -#: part/templates/part/detail.html:920 stock/templates/stock/item.html:253 +#: part/templates/part/detail.html:891 stock/templates/stock/item.html:253 #: templates/attachment_table.html:6 msgid "Add Attachment" msgstr "" -#: build/templates/build/detail.html:376 +#: build/templates/build/detail.html:392 #: order/templates/order/po_attachments.html:51 -#: order/templates/order/purchase_order_detail.html:129 +#: order/templates/order/purchase_order_detail.html:138 #: order/templates/order/sales_order_detail.html:119 -#: part/templates/part/detail.html:874 stock/templates/stock/item.html:221 +#: part/templates/part/detail.html:845 stock/templates/stock/item.html:221 msgid "Edit Attachment" msgstr "" -#: build/templates/build/detail.html:383 +#: build/templates/build/detail.html:399 #: order/templates/order/po_attachments.html:58 -#: order/templates/order/purchase_order_detail.html:136 +#: order/templates/order/purchase_order_detail.html:145 #: order/templates/order/sales_order_detail.html:125 -#: part/templates/part/detail.html:883 stock/templates/stock/item.html:230 +#: part/templates/part/detail.html:854 stock/templates/stock/item.html:230 +#: templates/js/translated/order.js:1230 msgid "Confirm Delete Operation" msgstr "" -#: build/templates/build/detail.html:384 +#: build/templates/build/detail.html:400 #: order/templates/order/po_attachments.html:59 -#: order/templates/order/purchase_order_detail.html:137 +#: order/templates/order/purchase_order_detail.html:146 #: order/templates/order/sales_order_detail.html:126 -#: part/templates/part/detail.html:884 stock/templates/stock/item.html:231 +#: part/templates/part/detail.html:855 stock/templates/stock/item.html:231 msgid "Delete Attachment" msgstr "" +#: build/templates/build/detail.html:443 +msgid "Allocation Complete" +msgstr "" + +#: build/templates/build/detail.html:444 +msgid "All untracked stock items have been allocated" +msgstr "" + #: build/templates/build/edit_build_item.html:7 msgid "Alter the quantity of stock allocated to the build output" msgstr "" @@ -1401,15 +1413,10 @@ msgid "Build Order Details" msgstr "" #: build/templates/build/navbar.html:15 order/templates/order/po_navbar.html:15 -#: templates/js/translated/stock.js:1555 +#: templates/js/translated/stock.js:1534 msgid "Details" msgstr "" -#: build/templates/build/navbar.html:20 build/templates/build/navbar.html:23 -#: build/views.py:90 -msgid "Allocate Stock" -msgstr "" - #: build/templates/build/navbar.html:28 build/templates/build/navbar.html:31 msgid "Build Outputs" msgstr "" @@ -1434,120 +1441,82 @@ msgstr "" msgid "Build was cancelled" msgstr "" -#: build/views.py:137 -msgid "Allocated stock to build output" -msgstr "" - -#: build/views.py:149 +#: build/views.py:88 msgid "Create Build Output" msgstr "" -#: build/views.py:167 +#: build/views.py:106 msgid "Maximum output quantity is " msgstr "" -#: build/views.py:183 stock/views.py:1389 +#: build/views.py:122 stock/views.py:1366 msgid "Serial numbers already exist" msgstr "" -#: build/views.py:192 +#: build/views.py:131 msgid "Serial numbers required for trackable build output" msgstr "" -#: build/views.py:258 +#: build/views.py:197 msgid "Delete Build Output" msgstr "" -#: build/views.py:279 build/views.py:369 +#: build/views.py:218 build/views.py:308 msgid "Confirm unallocation of build stock" msgstr "" -#: build/views.py:280 build/views.py:370 stock/views.py:404 +#: build/views.py:219 build/views.py:309 stock/views.py:381 msgid "Check the confirmation box" msgstr "" -#: build/views.py:292 +#: build/views.py:231 msgid "Build output does not match build" msgstr "" -#: build/views.py:294 build/views.py:495 +#: build/views.py:233 build/views.py:434 msgid "Build output must be specified" msgstr "" -#: build/views.py:306 +#: build/views.py:245 msgid "Build output deleted" msgstr "" -#: build/views.py:404 +#: build/views.py:343 msgid "Complete Build Order" msgstr "" -#: build/views.py:410 +#: build/views.py:349 msgid "Build order cannot be completed - incomplete outputs remain" msgstr "" -#: build/views.py:421 +#: build/views.py:360 msgid "Completed build order" msgstr "" -#: build/views.py:437 +#: build/views.py:376 msgid "Complete Build Output" msgstr "" -#: build/views.py:479 +#: build/views.py:418 msgid "Invalid stock status value selected" msgstr "" -#: build/views.py:486 +#: build/views.py:425 msgid "Quantity to complete cannot exceed build output quantity" msgstr "" -#: build/views.py:492 +#: build/views.py:431 msgid "Confirm completion of incomplete build" msgstr "" -#: build/views.py:591 +#: build/views.py:530 msgid "Build output completed" msgstr "" -#: build/views.py:628 +#: build/views.py:567 msgid "Delete Build Order" msgstr "" -#: build/views.py:643 -msgid "Removed parts from build allocation" -msgstr "" - -#: build/views.py:655 -msgid "Allocate stock to build output" -msgstr "" - -#: build/views.py:698 -msgid "Item must be currently in stock" -msgstr "" - -#: build/views.py:704 -msgid "Stock item is over-allocated" -msgstr "" - -#: build/views.py:705 templates/js/translated/bom.js:269 -#: templates/js/translated/build.js:728 templates/js/translated/build.js:1019 -#: templates/js/translated/build.js:1196 -msgid "Available" -msgstr "" - -#: build/views.py:707 -msgid "Stock item must be selected" -msgstr "" - -#: build/views.py:870 -msgid "Edit Stock Allocation" -msgstr "" - -#: build/views.py:874 -msgid "Updated Build Item" -msgstr "" - #: common/files.py:67 msgid "Unsupported file format: {ext.upper()}" msgstr "" @@ -1585,7 +1554,7 @@ msgstr "" msgid "Select {name} file to upload" msgstr "" -#: common/models.py:308 common/models.py:839 common/models.py:986 +#: common/models.py:308 common/models.py:887 common/models.py:1048 msgid "Settings key (must be unique - case insensitive" msgstr "" @@ -1625,7 +1594,7 @@ msgstr "" msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:522 company/models.py:99 company/models.py:100 +#: common/models.py:522 company/models.py:100 company/models.py:101 msgid "Company name" msgstr "" @@ -1721,9 +1690,9 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:603 part/models.py:2252 report/models.py:187 +#: common/models.py:603 part/models.py:2256 report/models.py:187 #: stock/forms.py:224 templates/js/translated/table_filters.js:38 -#: templates/js/translated/table_filters.js:342 +#: templates/js/translated/table_filters.js:351 msgid "Template" msgstr "" @@ -1731,9 +1700,9 @@ msgstr "" msgid "Parts are templates by default" msgstr "" -#: common/models.py:610 part/models.py:805 +#: common/models.py:610 part/models.py:806 #: templates/js/translated/table_filters.js:146 -#: templates/js/translated/table_filters.js:354 +#: templates/js/translated/table_filters.js:363 msgid "Assembly" msgstr "" @@ -1741,8 +1710,8 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:617 part/models.py:811 -#: templates/js/translated/table_filters.js:358 +#: common/models.py:617 part/models.py:812 +#: templates/js/translated/table_filters.js:367 msgid "Component" msgstr "" @@ -1750,7 +1719,7 @@ msgstr "" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:624 part/models.py:822 +#: common/models.py:624 part/models.py:823 msgid "Purchaseable" msgstr "" @@ -1758,8 +1727,8 @@ msgstr "" msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:631 part/models.py:827 -#: templates/js/translated/table_filters.js:366 +#: common/models.py:631 part/models.py:828 +#: templates/js/translated/table_filters.js:375 msgid "Salable" msgstr "" @@ -1767,9 +1736,9 @@ msgstr "" msgid "Parts are salable by default" msgstr "" -#: common/models.py:638 part/models.py:817 +#: common/models.py:638 part/models.py:818 #: templates/js/translated/table_filters.js:46 -#: templates/js/translated/table_filters.js:370 +#: templates/js/translated/table_filters.js:379 msgid "Trackable" msgstr "" @@ -1777,7 +1746,7 @@ msgstr "" msgid "Parts are trackable by default" msgstr "" -#: common/models.py:645 part/models.py:837 +#: common/models.py:645 part/models.py:838 #: part/templates/part/part_base.html:66 #: templates/js/translated/table_filters.js:42 msgid "Virtual" @@ -1787,392 +1756,464 @@ msgstr "" msgid "Parts are virtual by default" msgstr "" -#: common/models.py:653 -msgid "Show Quantity in Forms" -msgstr "" - -#: common/models.py:654 -msgid "Display available part quantity in some forms" -msgstr "" - -#: common/models.py:660 +#: common/models.py:652 msgid "Show Import in Views" msgstr "" -#: common/models.py:661 +#: common/models.py:653 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:667 +#: common/models.py:659 msgid "Show Price in Forms" msgstr "" -#: common/models.py:668 +#: common/models.py:660 msgid "Display part price in some forms" msgstr "" -#: common/models.py:674 +#: common/models.py:671 +msgid "Show Price in BOM" +msgstr "" + +#: common/models.py:672 +msgid "Include pricing information in BOM tables" +msgstr "" + +#: common/models.py:678 msgid "Show related parts" msgstr "" -#: common/models.py:675 +#: common/models.py:679 msgid "Display related parts for a part" msgstr "" -#: common/models.py:681 +#: common/models.py:685 msgid "Create initial stock" msgstr "" -#: common/models.py:682 +#: common/models.py:686 msgid "Create initial stock on part creation" msgstr "" -#: common/models.py:688 +#: common/models.py:692 msgid "Internal Prices" msgstr "" -#: common/models.py:689 +#: common/models.py:693 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:695 +#: common/models.py:699 msgid "Internal Price as BOM-Price" msgstr "" -#: common/models.py:696 +#: common/models.py:700 msgid "Use the internal price (if set) in BOM-price calculations" msgstr "" -#: common/models.py:702 templates/stats.html:25 +#: common/models.py:706 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:703 +#: common/models.py:707 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:709 +#: common/models.py:713 msgid "Page Size" msgstr "" -#: common/models.py:710 +#: common/models.py:714 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:720 +#: common/models.py:724 msgid "Test Reports" msgstr "" -#: common/models.py:721 +#: common/models.py:725 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:727 +#: common/models.py:731 msgid "Stock Expiry" msgstr "" -#: common/models.py:728 +#: common/models.py:732 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:734 +#: common/models.py:738 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:735 +#: common/models.py:739 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:741 +#: common/models.py:745 msgid "Stock Stale Time" msgstr "" -#: common/models.py:742 +#: common/models.py:746 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:744 +#: common/models.py:748 msgid "days" msgstr "" -#: common/models.py:749 +#: common/models.py:753 msgid "Build Expired Stock" msgstr "" -#: common/models.py:750 +#: common/models.py:754 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:756 +#: common/models.py:760 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:757 +#: common/models.py:761 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:763 +#: common/models.py:767 msgid "Group by Part" msgstr "" -#: common/models.py:764 +#: common/models.py:768 msgid "Group stock items by part reference in table views" msgstr "" -#: common/models.py:770 +#: common/models.py:774 msgid "Build Order Reference Prefix" msgstr "" -#: common/models.py:771 +#: common/models.py:775 msgid "Prefix value for build order reference" msgstr "" -#: common/models.py:776 +#: common/models.py:780 msgid "Build Order Reference Regex" msgstr "" -#: common/models.py:777 +#: common/models.py:781 msgid "Regular expression pattern for matching build order reference" msgstr "" -#: common/models.py:781 +#: common/models.py:785 msgid "Sales Order Reference Prefix" msgstr "" -#: common/models.py:782 +#: common/models.py:786 msgid "Prefix value for sales order reference" msgstr "" -#: common/models.py:787 +#: common/models.py:791 msgid "Purchase Order Reference Prefix" msgstr "" -#: common/models.py:788 +#: common/models.py:792 msgid "Prefix value for purchase order reference" msgstr "" -#: common/models.py:794 +#: common/models.py:798 msgid "Enable build" msgstr "" -#: common/models.py:795 +#: common/models.py:799 msgid "Enable build functionality in InvenTree interface" msgstr "" -#: common/models.py:800 +#: common/models.py:804 msgid "Enable buy" msgstr "" -#: common/models.py:801 +#: common/models.py:805 msgid "Enable buy functionality in InvenTree interface" msgstr "" -#: common/models.py:806 +#: common/models.py:810 msgid "Enable sell" msgstr "" -#: common/models.py:807 +#: common/models.py:811 msgid "Enable sell functionality in InvenTree interface" msgstr "" -#: common/models.py:812 +#: common/models.py:816 msgid "Enable stock" msgstr "" -#: common/models.py:813 +#: common/models.py:817 msgid "Enable stock functionality in InvenTree interface" msgstr "" -#: common/models.py:818 +#: common/models.py:822 msgid "Enable SO" msgstr "" -#: common/models.py:819 +#: common/models.py:823 msgid "Enable SO functionality in InvenTree interface" msgstr "" -#: common/models.py:824 +#: common/models.py:828 msgid "Enable PO" msgstr "" -#: common/models.py:825 +#: common/models.py:829 msgid "Enable PO functionality in InvenTree interface" msgstr "" -#: common/models.py:850 +#: common/models.py:836 +msgid "Enable password forgot" +msgstr "" + +#: common/models.py:837 +msgid "Enable password forgot function on the login-pages" +msgstr "" + +#: common/models.py:842 +msgid "Enable registration" +msgstr "" + +#: common/models.py:843 +msgid "Enable self-registration for users on the login-pages" +msgstr "" + +#: common/models.py:848 +msgid "Enable SSO" +msgstr "" + +#: common/models.py:849 +msgid "Enable SSO on the login-pages" +msgstr "" + +#: common/models.py:854 +msgid "E-Mail required" +msgstr "" + +#: common/models.py:855 +msgid "Require user to supply mail on signup" +msgstr "" + +#: common/models.py:860 +msgid "Auto-fill SSO users" +msgstr "" + +#: common/models.py:861 +msgid "Automatically fill out user-details from SSO account-data" +msgstr "" + +#: common/models.py:866 +msgid "Mail twice" +msgstr "" + +#: common/models.py:867 +msgid "On signup ask users twice for their mail" +msgstr "" + +#: common/models.py:872 +msgid "Password twice" +msgstr "" + +#: common/models.py:873 +msgid "On signup ask users twice for their password" +msgstr "" + +#: common/models.py:898 msgid "Show starred parts" msgstr "" -#: common/models.py:851 +#: common/models.py:899 msgid "Show starred parts on the homepage" msgstr "" -#: common/models.py:856 +#: common/models.py:904 msgid "Show latest parts" msgstr "" -#: common/models.py:857 +#: common/models.py:905 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:862 +#: common/models.py:910 msgid "Recent Part Count" msgstr "" -#: common/models.py:863 +#: common/models.py:911 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:869 +#: common/models.py:917 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:870 +#: common/models.py:918 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:875 +#: common/models.py:923 msgid "Show recent stock changes" msgstr "" -#: common/models.py:876 +#: common/models.py:924 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:881 +#: common/models.py:929 msgid "Recent Stock Count" msgstr "" -#: common/models.py:882 +#: common/models.py:930 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:887 +#: common/models.py:935 msgid "Show low stock" msgstr "" -#: common/models.py:888 +#: common/models.py:936 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:893 +#: common/models.py:941 msgid "Show depleted stock" msgstr "" -#: common/models.py:894 +#: common/models.py:942 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:899 +#: common/models.py:947 msgid "Show needed stock" msgstr "" -#: common/models.py:900 +#: common/models.py:948 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:905 +#: common/models.py:953 msgid "Show expired stock" msgstr "" -#: common/models.py:906 +#: common/models.py:954 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:911 +#: common/models.py:959 msgid "Show stale stock" msgstr "" -#: common/models.py:912 +#: common/models.py:960 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:917 +#: common/models.py:965 msgid "Show pending builds" msgstr "" -#: common/models.py:918 +#: common/models.py:966 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:923 +#: common/models.py:971 msgid "Show overdue builds" msgstr "" -#: common/models.py:924 +#: common/models.py:972 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:929 +#: common/models.py:977 msgid "Show outstanding POs" msgstr "" -#: common/models.py:930 +#: common/models.py:978 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:935 +#: common/models.py:983 msgid "Show overdue POs" msgstr "" -#: common/models.py:936 +#: common/models.py:984 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:941 +#: common/models.py:989 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:942 +#: common/models.py:990 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:947 +#: common/models.py:995 msgid "Show overdue SOs" msgstr "" -#: common/models.py:948 +#: common/models.py:996 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:954 +#: common/models.py:1002 msgid "Inline label display" msgstr "" -#: common/models.py:955 +#: common/models.py:1003 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:961 +#: common/models.py:1009 msgid "Inline report display" msgstr "" -#: common/models.py:962 +#: common/models.py:1010 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:968 +#: common/models.py:1016 msgid "Search Preview Results" msgstr "" -#: common/models.py:969 +#: common/models.py:1017 msgid "Number of results to show in search preview window" msgstr "" -#: common/models.py:1026 company/forms.py:43 +#: common/models.py:1023 +msgid "Show Quantity in Forms" +msgstr "" + +#: common/models.py:1024 +msgid "Display available part quantity in some forms" +msgstr "" + +#: common/models.py:1030 +msgid "Escape Key Closes Forms" +msgstr "" + +#: common/models.py:1031 +msgid "Use the escape key to close modal forms" +msgstr "" + +#: common/models.py:1088 company/forms.py:43 msgid "Price break quantity" msgstr "" -#: common/models.py:1033 company/templates/company/supplier_part.html:231 -#: templates/js/translated/part.js:1322 +#: common/models.py:1095 company/templates/company/supplier_part.html:231 +#: templates/js/translated/part.js:1369 msgid "Price" msgstr "" -#: common/models.py:1034 +#: common/models.py:1096 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1127 +#: common/models.py:1189 msgid "Default" msgstr "" @@ -2199,7 +2240,7 @@ msgstr "" #: common/views.py:213 order/templates/order/order_wizard/po_upload.html:42 #: order/templates/order/po_navbar.html:19 #: order/templates/order/po_navbar.html:22 -#: order/templates/order/purchase_order_detail.html:26 order/views.py:290 +#: order/templates/order/purchase_order_detail.html:27 order/views.py:289 #: part/templates/part/bom_upload/upload_file.html:65 #: part/templates/part/import_wizard/part_upload.html:45 part/views.py:268 #: part/views.py:882 @@ -2207,7 +2248,7 @@ msgid "Upload File" msgstr "" #: common/views.py:214 order/templates/order/order_wizard/match_fields.html:52 -#: order/views.py:291 part/templates/part/bom_upload/match_fields.html:52 +#: order/views.py:290 part/templates/part/bom_upload/match_fields.html:52 #: part/templates/part/import_wizard/ajax_match_fields.html:45 #: part/templates/part/import_wizard/match_fields.html:52 part/views.py:269 #: part/views.py:883 @@ -2246,249 +2287,249 @@ msgstr "" msgid "Image URL" msgstr "" -#: company/models.py:104 +#: company/models.py:105 msgid "Company description" msgstr "" -#: company/models.py:105 +#: company/models.py:106 msgid "Description of the company" msgstr "" -#: company/models.py:111 company/templates/company/company_base.html:70 +#: company/models.py:112 company/templates/company/company_base.html:70 #: templates/js/translated/company.js:348 msgid "Website" msgstr "" -#: company/models.py:112 +#: company/models.py:113 msgid "Company website URL" msgstr "" -#: company/models.py:116 company/templates/company/company_base.html:88 +#: company/models.py:117 company/templates/company/company_base.html:88 msgid "Address" msgstr "" -#: company/models.py:117 +#: company/models.py:118 msgid "Company address" msgstr "" -#: company/models.py:120 +#: company/models.py:121 msgid "Phone number" msgstr "" -#: company/models.py:121 +#: company/models.py:122 msgid "Contact phone number" msgstr "" -#: company/models.py:124 company/templates/company/company_base.html:102 +#: company/models.py:125 company/templates/company/company_base.html:102 msgid "Email" msgstr "" -#: company/models.py:124 +#: company/models.py:125 msgid "Contact email address" msgstr "" -#: company/models.py:127 company/templates/company/company_base.html:109 +#: company/models.py:128 company/templates/company/company_base.html:109 msgid "Contact" msgstr "" -#: company/models.py:128 +#: company/models.py:129 msgid "Point of contact" msgstr "" -#: company/models.py:130 company/models.py:347 company/models.py:563 -#: order/models.py:160 part/models.py:714 +#: company/models.py:131 company/models.py:348 company/models.py:564 +#: order/models.py:160 part/models.py:715 #: report/templates/report/inventree_build_order_base.html:165 -#: templates/js/translated/company.js:535 -#: templates/js/translated/company.js:823 templates/js/translated/part.js:972 +#: templates/js/translated/company.js:536 +#: templates/js/translated/company.js:825 templates/js/translated/part.js:983 msgid "Link" msgstr "" -#: company/models.py:130 +#: company/models.py:131 msgid "Link to external company information" msgstr "" -#: company/models.py:138 part/models.py:724 +#: company/models.py:139 part/models.py:725 msgid "Image" msgstr "" -#: company/models.py:143 +#: company/models.py:144 msgid "is customer" msgstr "" -#: company/models.py:143 +#: company/models.py:144 msgid "Do you sell items to this company?" msgstr "" -#: company/models.py:145 +#: company/models.py:146 msgid "is supplier" msgstr "" -#: company/models.py:145 +#: company/models.py:146 msgid "Do you purchase items from this company?" msgstr "" -#: company/models.py:147 +#: company/models.py:148 msgid "is manufacturer" msgstr "" -#: company/models.py:147 +#: company/models.py:148 msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:151 company/serializers.py:264 -#: company/templates/company/company_base.html:76 stock/serializers.py:155 +#: company/models.py:152 company/serializers.py:264 +#: company/templates/company/company_base.html:76 stock/serializers.py:158 msgid "Currency" msgstr "" -#: company/models.py:154 +#: company/models.py:155 msgid "Default currency used for this company" msgstr "" -#: company/models.py:319 company/models.py:534 stock/models.py:454 +#: company/models.py:320 company/models.py:535 stock/models.py:454 #: stock/templates/stock/item_base.html:237 msgid "Base Part" msgstr "" -#: company/models.py:323 company/models.py:538 order/views.py:1082 +#: company/models.py:324 company/models.py:539 order/views.py:912 msgid "Select part" msgstr "" -#: company/models.py:334 company/templates/company/company_base.html:116 +#: company/models.py:335 company/templates/company/company_base.html:116 #: company/templates/company/manufacturer_part.html:89 #: company/templates/company/supplier_part.html:98 part/bom.py:170 -#: part/bom.py:241 stock/templates/stock/item_base.html:366 +#: part/bom.py:247 stock/templates/stock/item_base.html:366 #: templates/js/translated/company.js:332 -#: templates/js/translated/company.js:512 -#: templates/js/translated/company.js:794 templates/js/translated/part.js:222 +#: templates/js/translated/company.js:513 +#: templates/js/translated/company.js:796 templates/js/translated/part.js:227 msgid "Manufacturer" msgstr "" -#: company/models.py:335 templates/js/translated/part.js:223 +#: company/models.py:336 templates/js/translated/part.js:228 msgid "Select manufacturer" msgstr "" -#: company/models.py:341 company/templates/company/manufacturer_part.html:93 +#: company/models.py:342 company/templates/company/manufacturer_part.html:93 #: company/templates/company/supplier_part.html:106 part/bom.py:171 -#: part/bom.py:242 templates/js/translated/company.js:528 -#: templates/js/translated/company.js:812 templates/js/translated/order.js:505 -#: templates/js/translated/part.js:233 +#: part/bom.py:248 templates/js/translated/company.js:529 +#: templates/js/translated/company.js:814 templates/js/translated/order.js:851 +#: templates/js/translated/part.js:238 msgid "MPN" msgstr "" -#: company/models.py:342 templates/js/translated/part.js:234 +#: company/models.py:343 templates/js/translated/part.js:239 msgid "Manufacturer Part Number" msgstr "" -#: company/models.py:348 +#: company/models.py:349 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:354 +#: company/models.py:355 msgid "Manufacturer part description" msgstr "" -#: company/models.py:408 company/models.py:557 +#: company/models.py:409 company/models.py:558 #: company/templates/company/manufacturer_part.html:6 #: company/templates/company/manufacturer_part.html:23 #: stock/templates/stock/item_base.html:376 msgid "Manufacturer Part" msgstr "" -#: company/models.py:415 +#: company/models.py:416 msgid "Parameter name" msgstr "" -#: company/models.py:421 +#: company/models.py:422 #: report/templates/report/inventree_test_report_base.html:90 -#: stock/models.py:1819 templates/InvenTree/settings/header.html:8 -#: templates/js/translated/company.js:642 templates/js/translated/part.js:612 -#: templates/js/translated/stock.js:576 +#: stock/models.py:1816 templates/InvenTree/settings/header.html:8 +#: templates/js/translated/company.js:643 templates/js/translated/part.js:623 +#: templates/js/translated/stock.js:555 msgid "Value" msgstr "" -#: company/models.py:422 +#: company/models.py:423 msgid "Parameter value" msgstr "" -#: company/models.py:428 part/models.py:799 part/models.py:2220 -#: templates/js/translated/company.js:648 templates/js/translated/part.js:618 +#: company/models.py:429 part/models.py:800 part/models.py:2224 +#: templates/js/translated/company.js:649 templates/js/translated/part.js:629 msgid "Units" msgstr "" -#: company/models.py:429 +#: company/models.py:430 msgid "Parameter units" msgstr "" -#: company/models.py:501 +#: company/models.py:502 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:544 company/templates/company/company_base.html:121 +#: company/models.py:545 company/templates/company/company_base.html:121 #: company/templates/company/supplier_part.html:88 order/models.py:260 #: order/templates/order/order_base.html:92 #: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:175 -#: part/bom.py:286 stock/templates/stock/item_base.html:383 +#: part/bom.py:292 stock/templates/stock/item_base.html:383 #: templates/js/translated/company.js:336 -#: templates/js/translated/company.js:768 templates/js/translated/order.js:328 -#: templates/js/translated/part.js:203 +#: templates/js/translated/company.js:770 templates/js/translated/order.js:659 +#: templates/js/translated/part.js:208 msgid "Supplier" msgstr "" -#: company/models.py:545 templates/js/translated/part.js:204 +#: company/models.py:546 templates/js/translated/part.js:209 msgid "Select supplier" msgstr "" -#: company/models.py:550 company/templates/company/supplier_part.html:92 -#: part/bom.py:176 part/bom.py:287 templates/js/translated/order.js:492 -#: templates/js/translated/part.js:214 +#: company/models.py:551 company/templates/company/supplier_part.html:92 +#: part/bom.py:176 part/bom.py:293 templates/js/translated/order.js:838 +#: templates/js/translated/part.js:219 msgid "SKU" msgstr "" -#: company/models.py:551 templates/js/translated/part.js:215 +#: company/models.py:552 templates/js/translated/part.js:220 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:558 +#: company/models.py:559 msgid "Select manufacturer part" msgstr "" -#: company/models.py:564 +#: company/models.py:565 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:570 +#: company/models.py:571 msgid "Supplier part description" msgstr "" -#: company/models.py:575 company/templates/company/supplier_part.html:120 -#: part/models.py:2368 report/templates/report/inventree_po_report.html:93 +#: company/models.py:576 company/templates/company/supplier_part.html:120 +#: part/models.py:2389 report/templates/report/inventree_po_report.html:93 #: report/templates/report/inventree_so_report.html:93 msgid "Note" msgstr "" -#: company/models.py:579 part/models.py:1599 +#: company/models.py:580 part/models.py:1603 msgid "base cost" msgstr "" -#: company/models.py:579 part/models.py:1599 +#: company/models.py:580 part/models.py:1603 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:581 company/templates/company/supplier_part.html:113 +#: company/models.py:582 company/templates/company/supplier_part.html:113 #: stock/models.py:478 stock/templates/stock/item_base.html:324 -#: templates/js/translated/company.js:844 templates/js/translated/stock.js:1057 +#: templates/js/translated/company.js:846 templates/js/translated/stock.js:1036 msgid "Packaging" msgstr "" -#: company/models.py:581 +#: company/models.py:582 msgid "Part packaging" msgstr "" -#: company/models.py:583 part/models.py:1601 +#: company/models.py:584 part/models.py:1605 msgid "multiple" msgstr "" -#: company/models.py:583 +#: company/models.py:584 msgid "Order multiple" msgstr "" @@ -2502,7 +2543,7 @@ msgstr "" #: company/templates/company/company_base.html:9 #: company/templates/company/company_base.html:35 -#: templates/InvenTree/search.html:304 templates/js/translated/company.js:321 +#: templates/InvenTree/search.html:208 templates/js/translated/company.js:321 msgid "Company" msgstr "" @@ -2517,7 +2558,7 @@ msgid "Download image from URL" msgstr "" #: company/templates/company/company_base.html:46 -#: templates/js/translated/order.js:117 +#: templates/js/translated/order.js:120 msgid "Create Purchase Order" msgstr "" @@ -2542,22 +2583,22 @@ msgstr "" msgid "Phone" msgstr "" -#: company/templates/company/company_base.html:126 order/models.py:550 -#: order/templates/order/sales_order_base.html:94 stock/models.py:496 +#: company/templates/company/company_base.html:126 order/models.py:558 +#: order/templates/order/sales_order_base.html:99 stock/models.py:496 #: stock/models.py:497 stock/templates/stock/item_base.html:276 -#: templates/js/translated/company.js:328 templates/js/translated/order.js:692 -#: templates/js/translated/stock.js:1608 +#: templates/js/translated/company.js:328 templates/js/translated/order.js:1038 +#: templates/js/translated/stock.js:1587 msgid "Customer" msgstr "" -#: company/templates/company/company_base.html:193 -#: part/templates/part/part_base.html:418 +#: company/templates/company/company_base.html:199 +#: part/templates/part/part_base.html:424 msgid "Upload Image" msgstr "" #: company/templates/company/detail.html:14 #: company/templates/company/manufacturer_part_navbar.html:18 -#: templates/InvenTree/search.html:164 +#: templates/InvenTree/search.html:150 msgid "Supplier Parts" msgstr "" @@ -2597,7 +2638,7 @@ msgstr "" msgid "Delete Parts" msgstr "" -#: company/templates/company/detail.html:54 templates/InvenTree/search.html:149 +#: company/templates/company/detail.html:54 templates/InvenTree/search.html:135 msgid "Manufacturer Parts" msgstr "" @@ -2620,9 +2661,9 @@ msgstr "" #: order/templates/order/purchase_orders.html:13 #: part/templates/part/detail.html:50 part/templates/part/navbar.html:82 #: part/templates/part/navbar.html:85 templates/InvenTree/index.html:260 -#: templates/InvenTree/search.html:325 -#: templates/InvenTree/settings/navbar.html:107 -#: templates/InvenTree/settings/navbar.html:109 templates/navbar.html:44 +#: templates/InvenTree/search.html:229 +#: templates/InvenTree/settings/navbar.html:119 +#: templates/InvenTree/settings/navbar.html:121 templates/navbar.html:44 #: users/models.py:45 msgid "Purchase Orders" msgstr "" @@ -2644,9 +2685,9 @@ msgstr "" #: order/templates/order/sales_orders.html:13 #: part/templates/part/detail.html:71 part/templates/part/navbar.html:91 #: part/templates/part/navbar.html:94 templates/InvenTree/index.html:291 -#: templates/InvenTree/search.html:345 -#: templates/InvenTree/settings/navbar.html:113 -#: templates/InvenTree/settings/navbar.html:115 templates/navbar.html:55 +#: templates/InvenTree/search.html:249 +#: templates/InvenTree/settings/navbar.html:125 +#: templates/InvenTree/settings/navbar.html:127 templates/navbar.html:55 #: users/models.py:46 msgid "Sales Orders" msgstr "" @@ -2664,7 +2705,7 @@ msgstr "" #: company/templates/company/detail.html:147 #: company/templates/company/navbar.html:61 #: company/templates/company/navbar.html:64 -#: templates/js/translated/build.js:620 +#: templates/js/translated/build.js:622 msgid "Assigned Stock" msgstr "" @@ -2696,12 +2737,12 @@ msgid "Order part" msgstr "" #: company/templates/company/manufacturer_part.html:45 -#: templates/js/translated/company.js:560 +#: templates/js/translated/company.js:561 msgid "Edit manufacturer part" msgstr "" #: company/templates/company/manufacturer_part.html:49 -#: templates/js/translated/company.js:561 +#: templates/js/translated/company.js:562 msgid "Delete manufacturer part" msgstr "" @@ -2718,7 +2759,7 @@ msgstr "" #: company/templates/company/manufacturer_part_navbar.html:21 #: company/views.py:49 part/templates/part/navbar.html:75 #: part/templates/part/navbar.html:78 part/templates/part/prices.html:163 -#: templates/InvenTree/search.html:316 templates/navbar.html:41 +#: templates/InvenTree/search.html:220 templates/navbar.html:41 msgid "Suppliers" msgstr "" @@ -2732,7 +2773,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:239 #: part/templates/part/detail.html:214 part/templates/part/detail.html:294 #: part/templates/part/detail.html:317 templates/js/translated/company.js:424 -#: templates/js/translated/helpers.js:31 users/models.py:194 +#: templates/js/translated/helpers.js:31 users/models.py:199 msgid "Delete" msgstr "" @@ -2758,7 +2799,7 @@ msgid "Delete parameters" msgstr "" #: company/templates/company/manufacturer_part.html:176 -#: part/templates/part/detail.html:834 +#: part/templates/part/detail.html:805 msgid "Add Parameter" msgstr "" @@ -2777,16 +2818,15 @@ msgstr "" #: company/templates/company/manufacturer_part_navbar.html:29 #: company/templates/company/navbar.html:39 #: company/templates/company/supplier_part_navbar.html:15 -#: part/templates/part/navbar.html:38 stock/api.py:54 +#: part/templates/part/navbar.html:38 stock/api.py:52 #: stock/templates/stock/loc_link.html:7 stock/templates/stock/location.html:36 #: stock/templates/stock/stock_app_base.html:10 -#: templates/InvenTree/index.html:150 templates/InvenTree/search.html:196 -#: templates/InvenTree/search.html:232 -#: templates/InvenTree/settings/navbar.html:95 -#: templates/InvenTree/settings/navbar.html:97 -#: templates/js/translated/part.js:529 templates/js/translated/part.js:758 -#: templates/js/translated/part.js:934 templates/js/translated/stock.js:202 -#: templates/js/translated/stock.js:850 templates/navbar.html:32 +#: templates/InvenTree/index.html:150 templates/InvenTree/search.html:182 +#: templates/InvenTree/settings/navbar.html:107 +#: templates/InvenTree/settings/navbar.html:109 +#: templates/js/translated/part.js:540 templates/js/translated/part.js:769 +#: templates/js/translated/part.js:945 templates/js/translated/stock.js:182 +#: templates/js/translated/stock.js:829 templates/navbar.html:32 msgid "Stock" msgstr "" @@ -2815,7 +2855,7 @@ msgstr "" #: stock/templates/stock/location.html:148 #: stock/templates/stock/location_navbar.html:18 #: stock/templates/stock/location_navbar.html:21 -#: templates/InvenTree/search.html:198 templates/js/translated/stock.js:1507 +#: templates/InvenTree/search.html:184 templates/js/translated/stock.js:1486 #: templates/stats.html:93 templates/stats.html:102 users/models.py:43 msgid "Stock Items" msgstr "" @@ -2823,17 +2863,17 @@ msgstr "" #: company/templates/company/supplier_part.html:7 #: company/templates/company/supplier_part.html:24 stock/models.py:463 #: stock/templates/stock/item_base.html:388 -#: templates/js/translated/company.js:784 templates/js/translated/stock.js:1014 +#: templates/js/translated/company.js:786 templates/js/translated/stock.js:993 msgid "Supplier Part" msgstr "" #: company/templates/company/supplier_part.html:44 -#: templates/js/translated/company.js:857 +#: templates/js/translated/company.js:859 msgid "Edit supplier part" msgstr "" #: company/templates/company/supplier_part.html:48 -#: templates/js/translated/company.js:858 +#: templates/js/translated/company.js:860 msgid "Delete supplier part" msgstr "" @@ -2900,7 +2940,7 @@ msgid "New Supplier" msgstr "" #: company/views.py:55 part/templates/part/prices.html:167 -#: templates/InvenTree/search.html:306 templates/navbar.html:42 +#: templates/InvenTree/search.html:210 templates/navbar.html:42 msgid "Manufacturers" msgstr "" @@ -2908,7 +2948,7 @@ msgstr "" msgid "New Manufacturer" msgstr "" -#: company/views.py:61 templates/InvenTree/search.html:336 +#: company/views.py:61 templates/InvenTree/search.html:240 #: templates/navbar.html:53 msgid "Customers" msgstr "" @@ -3011,36 +3051,32 @@ msgstr "" msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" -#: order/api.py:302 -msgid "Destination location must be specified" +#: order/api.py:250 +msgid "Matching purchase order does not exist" msgstr "" -#: order/forms.py:30 order/templates/order/order_base.html:47 +#: order/forms.py:27 order/templates/order/order_base.html:50 msgid "Place order" msgstr "" -#: order/forms.py:41 order/templates/order/order_base.html:54 +#: order/forms.py:38 order/templates/order/order_base.html:57 msgid "Mark order as complete" msgstr "" -#: order/forms.py:52 order/forms.py:63 order/templates/order/order_base.html:59 -#: order/templates/order/sales_order_base.html:61 +#: order/forms.py:49 order/forms.py:60 order/templates/order/order_base.html:62 +#: order/templates/order/sales_order_base.html:64 msgid "Cancel order" msgstr "" -#: order/forms.py:74 order/templates/order/sales_order_base.html:58 +#: order/forms.py:71 order/templates/order/sales_order_base.html:61 msgid "Ship order" msgstr "" -#: order/forms.py:89 -msgid "Set all received parts listed above to this location (if left blank, use \"Destination\" column value in above table)" -msgstr "" - -#: order/forms.py:116 +#: order/forms.py:97 msgid "Enter stock item serial numbers" msgstr "" -#: order/forms.py:122 +#: order/forms.py:103 msgid "Enter quantity of stock items" msgstr "" @@ -3064,11 +3100,11 @@ msgstr "" msgid "Order notes" msgstr "" -#: order/models.py:247 order/models.py:540 +#: order/models.py:247 order/models.py:548 msgid "Order reference" msgstr "" -#: order/models.py:252 order/models.py:555 +#: order/models.py:252 order/models.py:563 msgid "Purchase order status" msgstr "" @@ -3077,7 +3113,7 @@ msgid "Company from which the items are being ordered" msgstr "" #: order/models.py:264 order/templates/order/order_base.html:98 -#: templates/js/translated/order.js:337 +#: templates/js/translated/order.js:668 msgid "Supplier Reference" msgstr "" @@ -3109,190 +3145,190 @@ msgstr "" msgid "Date order was completed" msgstr "" -#: order/models.py:313 stock/models.py:351 stock/models.py:1072 -msgid "Quantity must be greater than zero" -msgstr "" - #: order/models.py:318 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:421 -msgid "Lines can only be received against an order marked as 'Placed'" -msgstr "" - -#: order/models.py:425 +#: order/models.py:428 msgid "Quantity must be an integer" msgstr "" -#: order/models.py:427 +#: order/models.py:432 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:551 +#: order/models.py:559 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:557 +#: order/models.py:565 msgid "Customer Reference " msgstr "" -#: order/models.py:557 +#: order/models.py:565 msgid "Customer order reference code" msgstr "" -#: order/models.py:562 +#: order/models.py:570 msgid "Target date for order completion. Order will be overdue after this date." msgstr "" -#: order/models.py:565 templates/js/translated/order.js:733 +#: order/models.py:573 templates/js/translated/order.js:1079 msgid "Shipment Date" msgstr "" -#: order/models.py:572 +#: order/models.py:580 msgid "shipped by" msgstr "" -#: order/models.py:616 +#: order/models.py:624 msgid "SalesOrder cannot be shipped as it is not currently pending" msgstr "" -#: order/models.py:713 +#: order/models.py:721 msgid "Item quantity" msgstr "" -#: order/models.py:719 +#: order/models.py:727 msgid "Line item reference" msgstr "" -#: order/models.py:721 +#: order/models.py:729 msgid "Line item notes" msgstr "" -#: order/models.py:751 order/models.py:835 templates/js/translated/order.js:785 +#: order/models.py:759 order/models.py:847 +#: templates/js/translated/order.js:1131 msgid "Order" msgstr "" -#: order/models.py:752 order/templates/order/order_base.html:9 +#: order/models.py:760 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:24 #: report/templates/report/inventree_po_report.html:77 #: stock/templates/stock/item_base.html:338 -#: templates/js/translated/order.js:306 templates/js/translated/stock.js:991 -#: templates/js/translated/stock.js:1589 +#: templates/js/translated/order.js:637 templates/js/translated/stock.js:970 +#: templates/js/translated/stock.js:1568 msgid "Purchase Order" msgstr "" -#: order/models.py:773 +#: order/models.py:781 msgid "Supplier part" msgstr "" -#: order/models.py:780 order/templates/order/order_base.html:131 -#: order/templates/order/receive_parts.html:22 -#: order/templates/order/sales_order_base.html:133 -#: templates/js/translated/order.js:573 +#: order/models.py:788 order/templates/order/order_base.html:131 +#: order/templates/order/sales_order_base.html:138 +#: templates/js/translated/order.js:428 templates/js/translated/order.js:919 msgid "Received" msgstr "" -#: order/models.py:781 +#: order/models.py:789 msgid "Number of items received" msgstr "" -#: order/models.py:788 part/templates/part/prices.html:176 stock/models.py:588 -#: stock/serializers.py:147 stock/templates/stock/item_base.html:345 -#: templates/js/translated/stock.js:1045 +#: order/models.py:796 part/templates/part/prices.html:176 stock/models.py:588 +#: stock/serializers.py:150 stock/templates/stock/item_base.html:345 +#: templates/js/translated/stock.js:1024 msgid "Purchase Price" msgstr "" -#: order/models.py:789 +#: order/models.py:797 msgid "Unit purchase price" msgstr "" -#: order/models.py:797 +#: order/models.py:805 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:843 part/templates/part/part_pricing.html:112 +#: order/models.py:857 part/templates/part/part_pricing.html:112 #: part/templates/part/prices.html:116 part/templates/part/prices.html:284 msgid "Sale Price" msgstr "" -#: order/models.py:844 +#: order/models.py:858 msgid "Unit sale price" msgstr "" -#: order/models.py:923 order/models.py:925 +#: order/models.py:937 order/models.py:939 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:929 +#: order/models.py:943 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:931 +#: order/models.py:945 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:934 +#: order/models.py:948 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:944 +#: order/models.py:952 +msgid "StockItem is over-allocated" +msgstr "" + +#: order/models.py:958 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:949 +#: order/models.py:966 msgid "Line" msgstr "" -#: order/models.py:960 +#: order/models.py:978 msgid "Item" msgstr "" -#: order/models.py:961 +#: order/models.py:979 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:964 +#: order/models.py:982 msgid "Enter stock allocation quantity" msgstr "" -#: order/serializers.py:166 +#: order/serializers.py:167 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:201 +#: order/serializers.py:202 msgid "Line Item" msgstr "" -#: order/serializers.py:207 +#: order/serializers.py:208 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:217 order/serializers.py:276 +#: order/serializers.py:218 order/serializers.py:285 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:234 +#: order/serializers.py:242 msgid "Barcode Hash" msgstr "" -#: order/serializers.py:235 +#: order/serializers.py:243 msgid "Unique identifier field" msgstr "" -#: order/serializers.py:250 +#: order/serializers.py:259 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:289 +#: order/serializers.py:297 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:299 +#: order/serializers.py:314 +msgid "Destination location must be specified" +msgstr "" + +#: order/serializers.py:325 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:514 +#: order/serializers.py:569 msgid "Sale price currency" msgstr "" @@ -3307,31 +3343,32 @@ msgstr "" msgid "Print" msgstr "" -#: order/templates/order/order_base.html:43 -#: order/templates/order/sales_order_base.html:54 +#: order/templates/order/order_base.html:42 +#: order/templates/order/sales_order_base.html:53 +msgid "Export order to file" +msgstr "" + +#: order/templates/order/order_base.html:46 +#: order/templates/order/sales_order_base.html:57 msgid "Edit order information" msgstr "" -#: order/templates/order/order_base.html:51 +#: order/templates/order/order_base.html:54 msgid "Receive items" msgstr "" -#: order/templates/order/order_base.html:64 -msgid "Export order to file" -msgstr "" - #: order/templates/order/order_base.html:72 #: order/templates/order/po_navbar.html:12 msgid "Purchase Order Details" msgstr "" #: order/templates/order/order_base.html:77 -#: order/templates/order/sales_order_base.html:79 +#: order/templates/order/sales_order_base.html:84 msgid "Order Reference" msgstr "" #: order/templates/order/order_base.html:82 -#: order/templates/order/sales_order_base.html:84 +#: order/templates/order/sales_order_base.html:89 msgid "Order Status" msgstr "" @@ -3344,16 +3381,6 @@ msgstr "" msgid "Edit Purchase Order" msgstr "" -#: order/templates/order/order_base.html:196 -#: stock/templates/stock/location.html:250 templates/js/translated/order.js:437 -msgid "New Location" -msgstr "" - -#: order/templates/order/order_base.html:197 -#: stock/templates/stock/location.html:42 templates/js/translated/order.js:438 -msgid "Create new stock location" -msgstr "" - #: order/templates/order/order_cancel.html:8 msgid "Cancelling this order means that the order and line items will no longer be editable." msgstr "" @@ -3426,6 +3453,7 @@ msgstr "" #: part/templates/part/import_wizard/ajax_match_references.html:42 #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 +#: templates/js/translated/build.js:869 templates/js/translated/order.js:376 msgid "Remove row" msgstr "" @@ -3502,7 +3530,7 @@ msgid "Select existing purchase orders, or create new orders." msgstr "" #: order/templates/order/order_wizard/select_pos.html:31 -#: templates/js/translated/order.js:363 templates/js/translated/order.js:738 +#: templates/js/translated/order.js:694 templates/js/translated/order.js:1084 msgid "Items" msgstr "" @@ -3522,7 +3550,7 @@ msgstr "" #: order/templates/order/po_attachments.html:12 #: order/templates/order/po_navbar.html:32 -#: order/templates/order/purchase_order_detail.html:47 +#: order/templates/order/purchase_order_detail.html:56 msgid "Purchase Order Attachments" msgstr "" @@ -3532,7 +3560,7 @@ msgstr "" #: order/templates/order/po_navbar.html:29 #: order/templates/order/po_received_items.html:12 -#: order/templates/order/purchase_order_detail.html:38 +#: order/templates/order/purchase_order_detail.html:47 msgid "Received Items" msgstr "" @@ -3540,14 +3568,22 @@ msgstr "" msgid "Purchase Order Items" msgstr "" -#: order/templates/order/purchase_order_detail.html:23 -#: order/templates/order/purchase_order_detail.html:203 +#: order/templates/order/purchase_order_detail.html:24 +#: order/templates/order/purchase_order_detail.html:212 #: order/templates/order/sales_order_detail.html:23 #: order/templates/order/sales_order_detail.html:177 msgid "Add Line Item" msgstr "" -#: order/templates/order/purchase_order_detail.html:58 +#: order/templates/order/purchase_order_detail.html:30 +msgid "Receive selected items" +msgstr "" + +#: order/templates/order/purchase_order_detail.html:31 +msgid "Receive Items" +msgstr "" + +#: order/templates/order/purchase_order_detail.html:67 #: order/templates/order/sales_order_detail.html:54 msgid "Order Notes" msgstr "" @@ -3557,67 +3593,24 @@ msgstr "" msgid "Print Order Reports" msgstr "" -#: order/templates/order/receive_parts.html:8 -#, python-format -msgid "Receive outstanding parts for %(order)s - %(desc)s" -msgstr "" - -#: order/templates/order/receive_parts.html:14 part/api.py:54 -#: part/models.py:298 part/templates/part/cat_link.html:7 -#: part/templates/part/category.html:108 part/templates/part/category.html:122 -#: part/templates/part/category_navbar.html:21 -#: part/templates/part/category_navbar.html:24 -#: templates/InvenTree/index.html:102 templates/InvenTree/search.html:114 -#: templates/InvenTree/settings/navbar.html:83 -#: templates/InvenTree/settings/navbar.html:85 -#: templates/js/translated/part.js:1154 templates/navbar.html:29 -#: templates/stats.html:80 templates/stats.html:89 users/models.py:41 -msgid "Parts" -msgstr "" - -#: order/templates/order/receive_parts.html:15 -msgid "Fill out number of parts received, the status and destination" -msgstr "" - -#: order/templates/order/receive_parts.html:20 -msgid "Order Code" -msgstr "" - -#: order/templates/order/receive_parts.html:21 -#: part/templates/part/part_base.html:167 templates/js/translated/part.js:949 -msgid "On Order" -msgstr "" - -#: order/templates/order/receive_parts.html:23 -msgid "Receive" -msgstr "" - -#: order/templates/order/receive_parts.html:37 -msgid "Error: Referenced part has been removed" -msgstr "" - -#: order/templates/order/receive_parts.html:68 -msgid "Remove line" -msgstr "" - #: order/templates/order/sales_order_base.html:16 msgid "This Sales Order has not been fully allocated" msgstr "" -#: order/templates/order/sales_order_base.html:66 +#: order/templates/order/sales_order_base.html:70 msgid "Packing List" msgstr "" -#: order/templates/order/sales_order_base.html:74 +#: order/templates/order/sales_order_base.html:79 msgid "Sales Order Details" msgstr "" -#: order/templates/order/sales_order_base.html:100 -#: templates/js/translated/order.js:705 +#: order/templates/order/sales_order_base.html:105 +#: templates/js/translated/order.js:1051 msgid "Customer Reference" msgstr "" -#: order/templates/order/sales_order_base.html:178 +#: order/templates/order/sales_order_base.html:183 msgid "Edit Sales Order" msgstr "" @@ -3636,105 +3629,6 @@ msgstr "" msgid "Sales Order Items" msgstr "" -#: order/templates/order/sales_order_detail.html:226 -#: templates/js/translated/bom.js:394 templates/js/translated/build.js:782 -#: templates/js/translated/build.js:1219 -msgid "Actions" -msgstr "" - -#: order/templates/order/sales_order_detail.html:233 -#: templates/js/translated/build.js:668 templates/js/translated/build.js:1030 -msgid "Edit stock allocation" -msgstr "" - -#: order/templates/order/sales_order_detail.html:234 -#: templates/js/translated/build.js:670 templates/js/translated/build.js:1031 -msgid "Delete stock allocation" -msgstr "" - -#: order/templates/order/sales_order_detail.html:307 -msgid "No matching line items" -msgstr "" - -#: order/templates/order/sales_order_detail.html:337 -msgid "ID" -msgstr "" - -#: order/templates/order/sales_order_detail.html:354 -#: templates/js/translated/order.js:481 -msgid "Total" -msgstr "" - -#: order/templates/order/sales_order_detail.html:377 -#: templates/js/translated/order.js:534 templates/js/translated/part.js:1296 -#: templates/js/translated/part.js:1507 -msgid "Unit Price" -msgstr "" - -#: order/templates/order/sales_order_detail.html:384 -#: templates/js/translated/order.js:543 -msgid "Total price" -msgstr "" - -#: order/templates/order/sales_order_detail.html:405 -#: templates/js/translated/build.js:733 templates/js/translated/build.js:1026 -msgid "Allocated" -msgstr "" - -#: order/templates/order/sales_order_detail.html:407 -msgid "Fulfilled" -msgstr "" - -#: order/templates/order/sales_order_detail.html:444 -msgid "PO" -msgstr "" - -#: order/templates/order/sales_order_detail.html:474 -msgid "Allocate serial numbers" -msgstr "" - -#: order/templates/order/sales_order_detail.html:477 -#: templates/js/translated/build.js:796 -msgid "Allocate stock" -msgstr "" - -#: order/templates/order/sales_order_detail.html:480 -msgid "Purchase stock" -msgstr "" - -#: order/templates/order/sales_order_detail.html:484 -#: templates/js/translated/build.js:789 templates/js/translated/build.js:1227 -msgid "Build stock" -msgstr "" - -#: order/templates/order/sales_order_detail.html:487 -#: order/templates/order/sales_order_detail.html:606 -msgid "Calculate price" -msgstr "" - -#: order/templates/order/sales_order_detail.html:490 -#: templates/js/translated/order.js:616 -msgid "Edit line item" -msgstr "" - -#: order/templates/order/sales_order_detail.html:491 -msgid "Delete line item " -msgstr "" - -#: order/templates/order/sales_order_detail.html:519 -#: templates/js/translated/order.js:403 -msgid "Edit Line Item" -msgstr "" - -#: order/templates/order/sales_order_detail.html:529 -#: templates/js/translated/order.js:415 -msgid "Delete Line Item" -msgstr "" - -#: order/templates/order/sales_order_detail.html:612 -msgid "Update Unit Price" -msgstr "" - #: order/templates/order/sales_order_ship.html:10 msgid "This order has not been fully allocated. If the order is marked as shipped, it can no longer be adjusted." msgstr "" @@ -3759,10 +3653,6 @@ msgstr "" msgid "Allocate stock items by serial number" msgstr "" -#: order/templates/order/so_allocation_delete.html:7 -msgid "This action will unallocate the following stock from the Sales Order" -msgstr "" - #: order/templates/order/so_navbar.html:12 msgid "Sales Order Line Items" msgstr "" @@ -3775,149 +3665,129 @@ msgstr "" msgid "Sales Order Attachments" msgstr "" -#: order/views.py:104 +#: order/views.py:103 msgid "Cancel Order" msgstr "" -#: order/views.py:113 order/views.py:139 +#: order/views.py:112 order/views.py:138 msgid "Confirm order cancellation" msgstr "" -#: order/views.py:116 order/views.py:142 +#: order/views.py:115 order/views.py:141 msgid "Order cannot be cancelled" msgstr "" -#: order/views.py:130 +#: order/views.py:129 msgid "Cancel sales order" msgstr "" -#: order/views.py:156 +#: order/views.py:155 msgid "Issue Order" msgstr "" -#: order/views.py:165 +#: order/views.py:164 msgid "Confirm order placement" msgstr "" -#: order/views.py:175 +#: order/views.py:174 msgid "Purchase order issued" msgstr "" -#: order/views.py:186 +#: order/views.py:185 msgid "Complete Order" msgstr "" -#: order/views.py:202 +#: order/views.py:201 msgid "Confirm order completion" msgstr "" -#: order/views.py:213 +#: order/views.py:212 msgid "Purchase order completed" msgstr "" -#: order/views.py:223 +#: order/views.py:222 msgid "Ship Order" msgstr "" -#: order/views.py:239 +#: order/views.py:238 msgid "Confirm order shipment" msgstr "" -#: order/views.py:245 +#: order/views.py:244 msgid "Could not ship order" msgstr "" -#: order/views.py:292 +#: order/views.py:291 msgid "Match Supplier Parts" msgstr "" -#: order/views.py:480 -msgid "Receive Parts" -msgstr "" - -#: order/views.py:552 -msgid "Items received" -msgstr "" - -#: order/views.py:620 -msgid "Error converting quantity to number" -msgstr "" - -#: order/views.py:626 -msgid "Receive quantity less than zero" -msgstr "" - -#: order/views.py:632 -msgid "No lines specified" -msgstr "" - -#: order/views.py:705 +#: order/views.py:535 msgid "Update prices" msgstr "" -#: order/views.py:963 +#: order/views.py:793 #, python-brace-format msgid "Ordered {n} parts" msgstr "" -#: order/views.py:1016 +#: order/views.py:846 msgid "Allocate Serial Numbers" msgstr "" -#: order/views.py:1061 +#: order/views.py:891 #, python-brace-format msgid "Allocated {n} items" msgstr "" -#: order/views.py:1077 +#: order/views.py:907 msgid "Select line item" msgstr "" -#: order/views.py:1108 +#: order/views.py:938 #, python-brace-format msgid "No matching item for serial {serial}" msgstr "" -#: order/views.py:1118 +#: order/views.py:948 #, python-brace-format msgid "{serial} is not in stock" msgstr "" -#: order/views.py:1126 +#: order/views.py:956 #, python-brace-format msgid "{serial} already allocated to an order" msgstr "" -#: order/views.py:1180 -msgid "Allocate Stock to Order" -msgstr "" - -#: order/views.py:1254 -msgid "Edit Allocation Quantity" -msgstr "" - -#: order/views.py:1269 -msgid "Remove allocation" -msgstr "" - -#: order/views.py:1341 +#: order/views.py:1072 msgid "Sales order not found" msgstr "" -#: order/views.py:1347 +#: order/views.py:1078 msgid "Price not found" msgstr "" -#: order/views.py:1350 +#: order/views.py:1081 #, python-brace-format msgid "Updated {part} unit-price to {price}" msgstr "" -#: order/views.py:1355 +#: order/views.py:1086 #, python-brace-format msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" +#: part/api.py:54 part/models.py:299 part/templates/part/cat_link.html:7 +#: part/templates/part/category.html:108 part/templates/part/category.html:122 +#: part/templates/part/category_navbar.html:21 +#: part/templates/part/category_navbar.html:24 +#: templates/InvenTree/index.html:102 templates/InvenTree/search.html:114 +#: templates/InvenTree/settings/navbar.html:95 +#: templates/InvenTree/settings/navbar.html:97 +#: templates/js/translated/part.js:1165 templates/navbar.html:29 +#: templates/stats.html:80 templates/stats.html:89 users/models.py:41 +msgid "Parts" +msgstr "" + #: part/api.py:700 msgid "Must be greater than zero" msgstr "" @@ -3934,7 +3804,7 @@ msgstr "" msgid "This field is required" msgstr "" -#: part/bom.py:133 part/models.py:75 part/models.py:733 +#: part/bom.py:133 part/models.py:76 part/models.py:734 #: part/templates/part/category.html:75 part/templates/part/part_base.html:290 msgid "Default Location" msgstr "" @@ -3999,7 +3869,7 @@ msgstr "" msgid "Include part supplier data in exported BOM" msgstr "" -#: part/forms.py:96 part/models.py:2250 +#: part/forms.py:96 part/models.py:2254 msgid "Parent Part" msgstr "" @@ -4043,391 +3913,387 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:76 +#: part/models.py:77 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:79 +#: part/models.py:80 msgid "Default keywords" msgstr "" -#: part/models.py:79 +#: part/models.py:80 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:89 part/models.py:2296 +#: part/models.py:90 part/models.py:2300 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:90 part/templates/part/category.html:32 +#: part/models.py:91 part/templates/part/category.html:32 #: part/templates/part/category.html:103 templates/InvenTree/search.html:127 #: templates/stats.html:84 users/models.py:40 msgid "Part Categories" msgstr "" -#: part/models.py:383 +#: part/models.py:384 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:435 part/models.py:447 +#: part/models.py:436 part/models.py:448 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:544 +#: part/models.py:545 msgid "Next available serial numbers are" msgstr "" -#: part/models.py:548 +#: part/models.py:549 msgid "Next available serial number is" msgstr "" -#: part/models.py:553 +#: part/models.py:554 msgid "Most recent serial number is" msgstr "" -#: part/models.py:632 +#: part/models.py:633 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:657 +#: part/models.py:658 msgid "Part name" msgstr "" -#: part/models.py:664 +#: part/models.py:665 msgid "Is Template" msgstr "" -#: part/models.py:665 +#: part/models.py:666 msgid "Is this part a template part?" msgstr "" -#: part/models.py:675 +#: part/models.py:676 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:676 +#: part/models.py:677 msgid "Variant Of" msgstr "" -#: part/models.py:682 +#: part/models.py:683 msgid "Part description" msgstr "" -#: part/models.py:687 part/templates/part/category.html:82 +#: part/models.py:688 part/templates/part/category.html:82 #: part/templates/part/part_base.html:259 msgid "Keywords" msgstr "" -#: part/models.py:688 +#: part/models.py:689 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:695 part/models.py:2295 +#: part/models.py:696 part/models.py:2299 #: part/templates/part/set_category.html:15 -#: templates/InvenTree/settings/settings.html:167 -#: templates/js/translated/part.js:916 +#: templates/InvenTree/settings/settings.html:169 +#: templates/js/translated/part.js:927 msgid "Category" msgstr "" -#: part/models.py:696 +#: part/models.py:697 msgid "Part category" msgstr "" -#: part/models.py:701 part/templates/part/part_base.html:235 -#: templates/js/translated/part.js:517 templates/js/translated/part.js:749 +#: part/models.py:702 part/templates/part/part_base.html:235 +#: templates/js/translated/part.js:528 templates/js/translated/part.js:760 msgid "IPN" msgstr "" -#: part/models.py:702 +#: part/models.py:703 msgid "Internal Part Number" msgstr "" -#: part/models.py:708 +#: part/models.py:709 msgid "Part revision or version number" msgstr "" -#: part/models.py:709 part/templates/part/part_base.html:252 -#: report/models.py:200 templates/js/translated/part.js:521 +#: part/models.py:710 part/templates/part/part_base.html:252 +#: report/models.py:200 templates/js/translated/part.js:532 msgid "Revision" msgstr "" -#: part/models.py:731 +#: part/models.py:732 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:778 part/templates/part/part_base.html:297 +#: part/models.py:779 part/templates/part/part_base.html:297 msgid "Default Supplier" msgstr "" -#: part/models.py:779 +#: part/models.py:780 msgid "Default supplier part" msgstr "" -#: part/models.py:786 +#: part/models.py:787 msgid "Default Expiry" msgstr "" -#: part/models.py:787 +#: part/models.py:788 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:792 +#: part/models.py:793 msgid "Minimum Stock" msgstr "" -#: part/models.py:793 +#: part/models.py:794 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:800 +#: part/models.py:801 msgid "Stock keeping units for this part" msgstr "" -#: part/models.py:806 +#: part/models.py:807 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:812 +#: part/models.py:813 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:818 +#: part/models.py:819 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:823 +#: part/models.py:824 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:828 +#: part/models.py:829 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:832 templates/js/translated/table_filters.js:34 +#: part/models.py:833 templates/js/translated/table_filters.js:34 #: templates/js/translated/table_filters.js:82 #: templates/js/translated/table_filters.js:268 -#: templates/js/translated/table_filters.js:337 +#: templates/js/translated/table_filters.js:346 msgid "Active" msgstr "" -#: part/models.py:833 +#: part/models.py:834 msgid "Is this part active?" msgstr "" -#: part/models.py:838 +#: part/models.py:839 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:843 +#: part/models.py:844 msgid "Part notes - supports Markdown formatting" msgstr "" -#: part/models.py:846 +#: part/models.py:847 msgid "BOM checksum" msgstr "" -#: part/models.py:846 +#: part/models.py:847 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:849 +#: part/models.py:850 msgid "BOM checked by" msgstr "" -#: part/models.py:851 +#: part/models.py:852 msgid "BOM checked date" msgstr "" -#: part/models.py:855 +#: part/models.py:856 msgid "Creation User" msgstr "" -#: part/models.py:1601 +#: part/models.py:1605 msgid "Sell multiple" msgstr "" -#: part/models.py:2096 +#: part/models.py:2100 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:2113 +#: part/models.py:2117 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:2133 templates/js/translated/part.js:1205 -#: templates/js/translated/stock.js:556 +#: part/models.py:2137 templates/js/translated/part.js:1216 +#: templates/js/translated/stock.js:535 msgid "Test Name" msgstr "" -#: part/models.py:2134 +#: part/models.py:2138 msgid "Enter a name for the test" msgstr "" -#: part/models.py:2139 +#: part/models.py:2143 msgid "Test Description" msgstr "" -#: part/models.py:2140 +#: part/models.py:2144 msgid "Enter description for this test" msgstr "" -#: part/models.py:2145 templates/js/translated/part.js:1214 +#: part/models.py:2149 templates/js/translated/part.js:1225 #: templates/js/translated/table_filters.js:254 msgid "Required" msgstr "" -#: part/models.py:2146 +#: part/models.py:2150 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:2151 templates/js/translated/part.js:1222 +#: part/models.py:2155 templates/js/translated/part.js:1233 msgid "Requires Value" msgstr "" -#: part/models.py:2152 +#: part/models.py:2156 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:2157 templates/js/translated/part.js:1229 +#: part/models.py:2161 templates/js/translated/part.js:1240 msgid "Requires Attachment" msgstr "" -#: part/models.py:2158 +#: part/models.py:2162 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:2169 +#: part/models.py:2173 #, python-brace-format msgid "Illegal character in template name ({c})" msgstr "" -#: part/models.py:2205 +#: part/models.py:2209 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:2213 +#: part/models.py:2217 msgid "Parameter Name" msgstr "" -#: part/models.py:2220 +#: part/models.py:2224 msgid "Parameter Units" msgstr "" -#: part/models.py:2252 part/models.py:2301 part/models.py:2302 -#: templates/InvenTree/settings/settings.html:162 +#: part/models.py:2256 part/models.py:2305 part/models.py:2306 +#: templates/InvenTree/settings/settings.html:164 msgid "Parameter Template" msgstr "" -#: part/models.py:2254 +#: part/models.py:2258 msgid "Data" msgstr "" -#: part/models.py:2254 +#: part/models.py:2258 msgid "Parameter Value" msgstr "" -#: part/models.py:2306 templates/InvenTree/settings/settings.html:171 +#: part/models.py:2310 templates/InvenTree/settings/settings.html:173 msgid "Default Value" msgstr "" -#: part/models.py:2307 +#: part/models.py:2311 msgid "Default Parameter Value" msgstr "" -#: part/models.py:2341 +#: part/models.py:2362 msgid "Select parent part" msgstr "" -#: part/models.py:2349 +#: part/models.py:2370 msgid "Sub part" msgstr "" -#: part/models.py:2350 +#: part/models.py:2371 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:2356 +#: part/models.py:2377 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:2358 templates/js/translated/bom.js:256 -#: templates/js/translated/bom.js:314 +#: part/models.py:2379 templates/js/translated/bom.js:275 +#: templates/js/translated/bom.js:335 msgid "Optional" msgstr "" -#: part/models.py:2358 +#: part/models.py:2379 msgid "This BOM item is optional" msgstr "" -#: part/models.py:2361 +#: part/models.py:2382 msgid "Overage" msgstr "" -#: part/models.py:2362 +#: part/models.py:2383 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:2365 +#: part/models.py:2386 msgid "BOM item reference" msgstr "" -#: part/models.py:2368 +#: part/models.py:2389 msgid "BOM item notes" msgstr "" -#: part/models.py:2370 +#: part/models.py:2391 msgid "Checksum" msgstr "" -#: part/models.py:2370 +#: part/models.py:2391 msgid "BOM line checksum" msgstr "" -#: part/models.py:2374 templates/js/translated/bom.js:331 -#: templates/js/translated/bom.js:338 +#: part/models.py:2395 templates/js/translated/bom.js:352 +#: templates/js/translated/bom.js:359 #: templates/js/translated/table_filters.js:68 msgid "Inherited" msgstr "" -#: part/models.py:2375 +#: part/models.py:2396 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:2380 templates/js/translated/bom.js:323 +#: part/models.py:2401 templates/js/translated/bom.js:344 msgid "Allow Variants" msgstr "" -#: part/models.py:2381 +#: part/models.py:2402 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:2466 stock/models.py:341 +#: part/models.py:2487 stock/models.py:341 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:2475 part/models.py:2477 +#: part/models.py:2496 part/models.py:2498 msgid "Sub part must be specified" msgstr "" -#: part/models.py:2480 -msgid "BOM Item" -msgstr "" - -#: part/models.py:2599 +#: part/models.py:2620 msgid "Part 1" msgstr "" -#: part/models.py:2603 +#: part/models.py:2624 msgid "Part 2" msgstr "" -#: part/models.py:2603 +#: part/models.py:2624 msgid "Select Related Part" msgstr "" -#: part/models.py:2635 +#: part/models.py:2656 msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique" msgstr "" @@ -4578,7 +4444,7 @@ msgstr "" msgid "Create new part" msgstr "" -#: part/templates/part/category.html:131 +#: part/templates/part/category.html:131 templates/js/translated/bom.js:39 msgid "New Part" msgstr "" @@ -4658,7 +4524,7 @@ msgstr "" msgid "Import Parts" msgstr "" -#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:352 +#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:363 msgid "Duplicate Part" msgstr "" @@ -4785,34 +4651,26 @@ msgstr "" msgid "Add Test Result Template" msgstr "" -#: part/templates/part/detail.html:716 -msgid "Edit Test Result Template" -msgstr "" - -#: part/templates/part/detail.html:728 -msgid "Delete Test Result Template" -msgstr "" - -#: part/templates/part/detail.html:784 +#: part/templates/part/detail.html:755 msgid "Edit Part Notes" msgstr "" -#: part/templates/part/detail.html:936 +#: part/templates/part/detail.html:907 #, python-format msgid "Purchase Unit Price - %(currency)s" msgstr "" -#: part/templates/part/detail.html:948 +#: part/templates/part/detail.html:919 #, python-format msgid "Unit Price-Cost Difference - %(currency)s" msgstr "" -#: part/templates/part/detail.html:960 +#: part/templates/part/detail.html:931 #, python-format msgid "Supplier Unit Cost - %(currency)s" msgstr "" -#: part/templates/part/detail.html:1049 +#: part/templates/part/detail.html:1020 #, python-format msgid "Unit Price - %(currency)s" msgstr "" @@ -4874,9 +4732,9 @@ msgstr "" msgid "Part is virtual (not a physical part)" msgstr "" -#: part/templates/part/part_base.html:58 templates/js/translated/company.js:503 -#: templates/js/translated/company.js:759 templates/js/translated/part.js:432 -#: templates/js/translated/part.js:509 +#: part/templates/part/part_base.html:58 templates/js/translated/company.js:504 +#: templates/js/translated/company.js:761 templates/js/translated/part.js:443 +#: templates/js/translated/part.js:520 msgid "Inactive" msgstr "" @@ -4942,10 +4800,16 @@ msgid "This part is a variant of %(link)s" msgstr "" #: part/templates/part/part_base.html:161 +#: templates/js/translated/model_renderers.js:169 +#: templates/js/translated/order.js:1503 #: templates/js/translated/table_filters.js:166 msgid "In Stock" msgstr "" +#: part/templates/part/part_base.html:167 templates/js/translated/part.js:960 +msgid "On Order" +msgstr "" + #: part/templates/part/part_base.html:174 templates/InvenTree/index.html:186 msgid "Required for Build Orders" msgstr "" @@ -4958,18 +4822,18 @@ msgstr "" msgid "Allocated to Orders" msgstr "" -#: part/templates/part/part_base.html:203 templates/js/translated/bom.js:352 +#: part/templates/part/part_base.html:203 templates/js/translated/bom.js:373 msgid "Can Build" msgstr "" -#: part/templates/part/part_base.html:209 templates/js/translated/part.js:765 -#: templates/js/translated/part.js:953 +#: part/templates/part/part_base.html:209 templates/js/translated/part.js:776 +#: templates/js/translated/part.js:964 msgid "Building" msgstr "" #: part/templates/part/part_base.html:223 -#: part/templates/part/part_base.html:524 -#: part/templates/part/part_base.html:550 +#: part/templates/part/part_base.html:531 +#: part/templates/part/part_base.html:557 msgid "Show Part Details" msgstr "" @@ -4977,16 +4841,16 @@ msgstr "" msgid "Latest Serial Number" msgstr "" -#: part/templates/part/part_base.html:396 part/templates/part/prices.html:144 +#: part/templates/part/part_base.html:402 part/templates/part/prices.html:144 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:439 +#: part/templates/part/part_base.html:445 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:519 -#: part/templates/part/part_base.html:544 +#: part/templates/part/part_base.html:526 +#: part/templates/part/part_base.html:551 msgid "Hide Part Details" msgstr "" @@ -5013,7 +4877,7 @@ msgid "Total Cost" msgstr "" #: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:40 -#: templates/js/translated/bom.js:307 +#: templates/js/translated/bom.js:327 msgid "No supplier pricing available" msgstr "" @@ -5051,32 +4915,39 @@ msgstr "" msgid "Select from existing images" msgstr "" -#: part/templates/part/partial_delete.html:7 +#: part/templates/part/partial_delete.html:9 +#, python-format +msgid "Part '%(full_name)s' cannot be deleted as it is still marked as active.\n" +"
Disable the \"Active\" part attribute and re-try.\n" +" " +msgstr "" + +#: part/templates/part/partial_delete.html:17 #, python-format msgid "Are you sure you want to delete part '%(full_name)s'?" msgstr "" -#: part/templates/part/partial_delete.html:12 +#: part/templates/part/partial_delete.html:22 #, python-format msgid "This part is used in BOMs for %(count)s other parts. If you delete this part, the BOMs for the following parts will be updated" msgstr "" -#: part/templates/part/partial_delete.html:22 +#: part/templates/part/partial_delete.html:32 #, python-format msgid "There are %(count)s stock entries defined for this part. If you delete this part, the following stock entries will also be deleted:" msgstr "" -#: part/templates/part/partial_delete.html:33 +#: part/templates/part/partial_delete.html:43 #, python-format msgid "There are %(count)s manufacturers defined for this part. If you delete this part, the following manufacturer parts will also be deleted:" msgstr "" -#: part/templates/part/partial_delete.html:44 +#: part/templates/part/partial_delete.html:54 #, python-format msgid "There are %(count)s suppliers defined for this part. If you delete this part, the following supplier parts will also be deleted:" msgstr "" -#: part/templates/part/partial_delete.html:55 +#: part/templates/part/partial_delete.html:65 #, python-format msgid "There are %(count)s unique parts tracked for '%(full_name)s'. Deleting this part will permanently remove this tracking information." msgstr "" @@ -5109,7 +4980,7 @@ msgstr "" msgid "Calculation parameters" msgstr "" -#: part/templates/part/prices.html:155 templates/js/translated/bom.js:301 +#: part/templates/part/prices.html:155 templates/js/translated/bom.js:321 msgid "Supplier Cost" msgstr "" @@ -5151,8 +5022,9 @@ msgstr "" msgid "Set category for the following parts" msgstr "" -#: part/templates/part/stock_count.html:7 templates/js/translated/bom.js:278 -#: templates/js/translated/part.js:755 templates/js/translated/part.js:957 +#: part/templates/part/stock_count.html:7 templates/js/translated/bom.js:297 +#: templates/js/translated/model_renderers.js:167 +#: templates/js/translated/part.js:766 templates/js/translated/part.js:968 msgid "No Stock" msgstr "" @@ -5262,7 +5134,7 @@ msgstr "" msgid "Delete Part Parameter Template" msgstr "" -#: part/views.py:1502 templates/js/translated/part.js:303 +#: part/views.py:1502 templates/js/translated/part.js:308 msgid "Edit Part Category" msgstr "" @@ -5400,17 +5272,17 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:88 -#: stock/models.py:1807 +#: stock/models.py:1804 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:89 -#: stock/models.py:1813 +#: stock/models.py:1810 msgid "Result" msgstr "" #: report/templates/report/inventree_test_report_base.html:92 -#: templates/js/translated/order.js:353 templates/js/translated/stock.js:1523 +#: templates/js/translated/order.js:684 templates/js/translated/stock.js:1502 msgid "Date" msgstr "" @@ -5422,51 +5294,9 @@ msgstr "" msgid "Fail" msgstr "" -#: stock/api.py:146 -msgid "Request must contain list of stock items" -msgstr "" - -#: stock/api.py:154 -msgid "Improperly formatted data" -msgstr "" - -#: stock/api.py:162 -msgid "Each entry must contain a valid integer primary-key" -msgstr "" - -#: stock/api.py:168 -msgid "Primary key does not match valid stock item" -msgstr "" - -#: stock/api.py:178 -msgid "Invalid quantity value" -msgstr "" - -#: stock/api.py:183 -msgid "Quantity must not be less than zero" -msgstr "" - -#: stock/api.py:211 -#, python-brace-format -msgid "Updated stock for {n} items" -msgstr "" - -#: stock/api.py:247 stock/api.py:280 -msgid "Specified quantity exceeds stock quantity" -msgstr "" - -#: stock/api.py:270 -msgid "Valid location must be specified" -msgstr "" - -#: stock/api.py:290 -#, python-brace-format -msgid "Moved {n} parts to {loc}" -msgstr "" - #: stock/forms.py:79 stock/forms.py:307 stock/models.py:556 #: stock/templates/stock/item_base.html:395 -#: templates/js/translated/stock.js:967 +#: templates/js/translated/stock.js:946 msgid "Expiry Date" msgstr "" @@ -5678,38 +5508,54 @@ msgstr "" msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:1727 +#: stock/models.py:1724 msgid "Entry notes" msgstr "" -#: stock/models.py:1784 +#: stock/models.py:1781 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:1790 +#: stock/models.py:1787 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:1808 +#: stock/models.py:1805 msgid "Test name" msgstr "" -#: stock/models.py:1814 templates/js/translated/table_filters.js:244 +#: stock/models.py:1811 templates/js/translated/table_filters.js:244 msgid "Test result" msgstr "" -#: stock/models.py:1820 +#: stock/models.py:1817 msgid "Test output value" msgstr "" -#: stock/models.py:1827 +#: stock/models.py:1824 msgid "Test result attachment" msgstr "" -#: stock/models.py:1833 +#: stock/models.py:1830 msgid "Test notes" msgstr "" +#: stock/serializers.py:424 +msgid "StockItem primary key value" +msgstr "" + +#: stock/serializers.py:452 +msgid "Stock transaction notes" +msgstr "" + +#: stock/serializers.py:462 +msgid "A list of stock items must be provided" +msgstr "" + +#: stock/serializers.py:554 +msgid "Destination stock location" +msgstr "" + #: stock/templates/stock/item.html:17 msgid "Stock Tracking Information" msgstr "" @@ -5747,7 +5593,7 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:125 stock/views.py:534 +#: stock/templates/stock/item.html:125 stock/views.py:511 msgid "Install Stock Item" msgstr "" @@ -5910,7 +5756,7 @@ msgid "next page" msgstr "" #: stock/templates/stock/item_base.html:303 -#: templates/js/translated/build.js:651 +#: templates/js/translated/build.js:658 msgid "No location set" msgstr "" @@ -5937,7 +5783,7 @@ msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:408 -#: templates/js/translated/stock.js:980 +#: templates/js/translated/stock.js:959 msgid "Last Updated" msgstr "" @@ -6019,6 +5865,10 @@ msgstr "" msgid "All stock items" msgstr "" +#: stock/templates/stock/location.html:42 +msgid "Create new stock location" +msgstr "" + #: stock/templates/stock/location.html:55 msgid "Check-in Items" msgstr "" @@ -6058,7 +5908,7 @@ msgstr "" msgid "Stock Details" msgstr "" -#: stock/templates/stock/location.html:129 templates/InvenTree/search.html:279 +#: stock/templates/stock/location.html:129 templates/InvenTree/search.html:196 #: templates/stats.html:97 users/models.py:42 msgid "Stock Locations" msgstr "" @@ -6071,6 +5921,10 @@ msgstr "" msgid "Print labels" msgstr "" +#: stock/templates/stock/location.html:250 +msgid "New Location" +msgstr "" + #: stock/templates/stock/location.html:251 msgid "Create new location" msgstr "" @@ -6111,7 +5965,7 @@ msgstr "" msgid "The following stock items will be uninstalled" msgstr "" -#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:932 +#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:909 msgid "Convert Stock Item" msgstr "" @@ -6132,104 +5986,104 @@ msgstr "" msgid "Are you sure you want to delete this stock tracking entry?" msgstr "" -#: stock/views.py:181 +#: stock/views.py:158 msgid "Edit Stock Location" msgstr "" -#: stock/views.py:288 stock/views.py:911 stock/views.py:1033 -#: stock/views.py:1398 +#: stock/views.py:265 stock/views.py:888 stock/views.py:1010 +#: stock/views.py:1375 msgid "Owner is required (ownership control is enabled)" msgstr "" -#: stock/views.py:303 +#: stock/views.py:280 msgid "Stock Location QR code" msgstr "" -#: stock/views.py:322 +#: stock/views.py:299 msgid "Assign to Customer" msgstr "" -#: stock/views.py:331 +#: stock/views.py:308 msgid "Customer must be specified" msgstr "" -#: stock/views.py:355 +#: stock/views.py:332 msgid "Return to Stock" msgstr "" -#: stock/views.py:364 +#: stock/views.py:341 msgid "Specify a valid location" msgstr "" -#: stock/views.py:375 +#: stock/views.py:352 msgid "Stock item returned from customer" msgstr "" -#: stock/views.py:386 +#: stock/views.py:363 msgid "Delete All Test Data" msgstr "" -#: stock/views.py:403 +#: stock/views.py:380 msgid "Confirm test data deletion" msgstr "" -#: stock/views.py:508 +#: stock/views.py:485 msgid "Stock Item QR Code" msgstr "" -#: stock/views.py:683 +#: stock/views.py:660 msgid "Uninstall Stock Items" msgstr "" -#: stock/views.py:780 templates/js/translated/stock.js:353 +#: stock/views.py:757 templates/js/translated/stock.js:321 msgid "Confirm stock adjustment" msgstr "" -#: stock/views.py:791 +#: stock/views.py:768 msgid "Uninstalled stock items" msgstr "" -#: stock/views.py:813 +#: stock/views.py:790 msgid "Edit Stock Item" msgstr "" -#: stock/views.py:959 +#: stock/views.py:936 msgid "Create new Stock Location" msgstr "" -#: stock/views.py:1050 +#: stock/views.py:1027 msgid "Serialize Stock" msgstr "" -#: stock/views.py:1143 templates/js/translated/build.js:392 +#: stock/views.py:1120 msgid "Create new Stock Item" msgstr "" -#: stock/views.py:1285 +#: stock/views.py:1262 msgid "Duplicate Stock Item" msgstr "" -#: stock/views.py:1367 +#: stock/views.py:1344 msgid "Quantity cannot be negative" msgstr "" -#: stock/views.py:1467 +#: stock/views.py:1444 msgid "Delete Stock Location" msgstr "" -#: stock/views.py:1480 +#: stock/views.py:1457 msgid "Delete Stock Item" msgstr "" -#: stock/views.py:1491 +#: stock/views.py:1468 msgid "Delete Stock Tracking Entry" msgstr "" -#: stock/views.py:1498 +#: stock/views.py:1475 msgid "Edit Stock Tracking Entry" msgstr "" -#: stock/views.py:1507 +#: stock/views.py:1484 msgid "Add Stock Tracking Entry" msgstr "" @@ -6313,14 +6167,6 @@ msgstr "" msgid "Enter a search query" msgstr "" -#: templates/InvenTree/search.html:268 templates/js/translated/stock.js:699 -msgid "Shipped to customer" -msgstr "" - -#: templates/InvenTree/search.html:271 templates/js/translated/stock.js:709 -msgid "No stock location set" -msgstr "" - #: templates/InvenTree/settings/barcode.html:8 msgid "Barcode Settings" msgstr "" @@ -6365,6 +6211,14 @@ msgstr "" msgid "Setting" msgstr "" +#: templates/InvenTree/settings/login.html:9 +msgid "Login Settings" +msgstr "" + +#: templates/InvenTree/settings/login.html:22 templates/account/signup.html:5 +msgid "Signup" +msgstr "" + #: templates/InvenTree/settings/navbar.html:12 #: templates/InvenTree/settings/user_settings.html:9 msgid "User Settings" @@ -6382,7 +6236,7 @@ msgstr "" #: templates/InvenTree/settings/navbar.html:27 #: templates/InvenTree/settings/navbar.html:29 -#: templates/js/translated/tables.js:366 templates/search_form.html:6 +#: templates/js/translated/tables.js:375 templates/search_form.html:6 #: templates/search_form.html:8 msgid "Search" msgstr "" @@ -6397,38 +6251,48 @@ msgstr "" msgid "Reports" msgstr "" -#: templates/InvenTree/settings/navbar.html:46 -#: templates/InvenTree/settings/navbar.html:48 -#: templates/InvenTree/settings/settings.html:8 templates/navbar.html:94 +#: templates/InvenTree/settings/navbar.html:45 +#: templates/InvenTree/settings/navbar.html:47 +msgid "Forms" +msgstr "" + +#: templates/InvenTree/settings/navbar.html:52 +#: templates/InvenTree/settings/navbar.html:54 +#: templates/InvenTree/settings/settings.html:8 templates/navbar.html:90 msgid "Settings" msgstr "" -#: templates/InvenTree/settings/navbar.html:56 +#: templates/InvenTree/settings/navbar.html:62 msgid "InvenTree Settings" msgstr "" -#: templates/InvenTree/settings/navbar.html:59 -#: templates/InvenTree/settings/navbar.html:61 templates/stats.html:9 +#: templates/InvenTree/settings/navbar.html:65 +#: templates/InvenTree/settings/navbar.html:67 templates/stats.html:9 msgid "Server" msgstr "" -#: templates/InvenTree/settings/navbar.html:65 -#: templates/InvenTree/settings/navbar.html:67 -msgid "Barcodes" -msgstr "" - #: templates/InvenTree/settings/navbar.html:71 -#: templates/InvenTree/settings/navbar.html:73 -msgid "Currencies" +#: templates/InvenTree/settings/navbar.html:73 templates/navbar.html:87 +msgid "Login" msgstr "" #: templates/InvenTree/settings/navbar.html:77 #: templates/InvenTree/settings/navbar.html:79 -msgid "Reporting" +msgid "Barcodes" +msgstr "" + +#: templates/InvenTree/settings/navbar.html:83 +#: templates/InvenTree/settings/navbar.html:85 +msgid "Currencies" msgstr "" #: templates/InvenTree/settings/navbar.html:89 #: templates/InvenTree/settings/navbar.html:91 +msgid "Reporting" +msgstr "" + +#: templates/InvenTree/settings/navbar.html:101 +#: templates/InvenTree/settings/navbar.html:103 msgid "Categories" msgstr "" @@ -6469,21 +6333,21 @@ msgstr "" msgid "Edit setting" msgstr "" -#: templates/InvenTree/settings/settings.html:152 +#: templates/InvenTree/settings/settings.html:154 msgid "No category parameter templates found" msgstr "" -#: templates/InvenTree/settings/settings.html:174 -#: templates/InvenTree/settings/settings.html:273 +#: templates/InvenTree/settings/settings.html:176 +#: templates/InvenTree/settings/settings.html:275 msgid "Edit Template" msgstr "" -#: templates/InvenTree/settings/settings.html:175 -#: templates/InvenTree/settings/settings.html:274 +#: templates/InvenTree/settings/settings.html:177 +#: templates/InvenTree/settings/settings.html:276 msgid "Delete Template" msgstr "" -#: templates/InvenTree/settings/settings.html:253 +#: templates/InvenTree/settings/settings.html:255 msgid "No part parameter templates found" msgstr "" @@ -6495,70 +6359,140 @@ msgstr "" msgid "Stock Settings" msgstr "" -#: templates/InvenTree/settings/user.html:9 +#: templates/InvenTree/settings/user.html:11 msgid "Account Settings" msgstr "" -#: templates/InvenTree/settings/user.html:15 +#: templates/InvenTree/settings/user.html:19 #: templates/js/translated/helpers.js:26 msgid "Edit" msgstr "" -#: templates/InvenTree/settings/user.html:17 +#: templates/InvenTree/settings/user.html:21 +#: templates/account/password_reset_from_key.html:4 +#: templates/account/password_reset_from_key.html:7 msgid "Change Password" msgstr "" -#: templates/InvenTree/settings/user.html:24 -#: templates/registration/login.html:58 +#: templates/InvenTree/settings/user.html:28 msgid "Username" msgstr "" -#: templates/InvenTree/settings/user.html:28 +#: templates/InvenTree/settings/user.html:32 msgid "First Name" msgstr "" -#: templates/InvenTree/settings/user.html:32 +#: templates/InvenTree/settings/user.html:36 msgid "Last Name" msgstr "" -#: templates/InvenTree/settings/user.html:36 -msgid "Email Address" +#: templates/InvenTree/settings/user.html:42 +msgid "E-Mail" msgstr "" -#: templates/InvenTree/settings/user.html:42 -msgid "Theme Settings" +#: templates/InvenTree/settings/user.html:47 +msgid "The following e-mail addresses are associated with your account:" +msgstr "" + +#: templates/InvenTree/settings/user.html:61 +msgid "Verified" msgstr "" #: templates/InvenTree/settings/user.html:63 +msgid "Unverified" +msgstr "" + +#: templates/InvenTree/settings/user.html:65 +msgid "Primary" +msgstr "" + +#: templates/InvenTree/settings/user.html:71 +msgid "Make Primary" +msgstr "" + +#: templates/InvenTree/settings/user.html:72 +msgid "Re-send Verification" +msgstr "" + +#: templates/InvenTree/settings/user.html:73 +#: templates/InvenTree/settings/user.html:130 +msgid "Remove" +msgstr "" + +#: templates/InvenTree/settings/user.html:80 +msgid "Warning:" +msgstr "" + +#: templates/InvenTree/settings/user.html:81 +msgid "You currently do not have any e-mail address set up. You should really add an e-mail address so you can receive notifications, reset your password, etc." +msgstr "" + +#: templates/InvenTree/settings/user.html:88 +msgid "Add E-mail Address" +msgstr "" + +#: templates/InvenTree/settings/user.html:93 +msgid "Add E-mail" +msgstr "" + +#: templates/InvenTree/settings/user.html:100 +msgid "Social Accounts" +msgstr "" + +#: templates/InvenTree/settings/user.html:105 +msgid "You can sign in to your account using any of the following third party accounts:" +msgstr "" + +#: templates/InvenTree/settings/user.html:138 +msgid "You currently have no social network accounts connected to this account." +msgstr "" + +#: templates/InvenTree/settings/user.html:142 +msgid "Add a 3rd Party Account" +msgstr "" + +#: templates/InvenTree/settings/user.html:153 +msgid "Theme Settings" +msgstr "" + +#: templates/InvenTree/settings/user.html:174 msgid "Set Theme" msgstr "" -#: templates/InvenTree/settings/user.html:70 +#: templates/InvenTree/settings/user.html:181 msgid "Language Settings" msgstr "" -#: templates/InvenTree/settings/user.html:89 +#: templates/InvenTree/settings/user.html:200 #, python-format msgid "%(lang_translated)s%% translated" msgstr "" -#: templates/InvenTree/settings/user.html:91 +#: templates/InvenTree/settings/user.html:202 msgid "No translations available" msgstr "" -#: templates/InvenTree/settings/user.html:98 +#: templates/InvenTree/settings/user.html:209 msgid "Set Language" msgstr "" -#: templates/InvenTree/settings/user.html:103 +#: templates/InvenTree/settings/user.html:214 msgid "Help the translation efforts!" msgstr "" -#: templates/InvenTree/settings/user.html:104 +#: templates/InvenTree/settings/user.html:215 #, python-format msgid "Native language translation of the InvenTree web application is community contributed via crowdin. Contributions are welcomed and encouraged." msgstr "" +#: templates/InvenTree/settings/user.html:223 +msgid "Do you really want to remove the selected e-mail address?" +msgstr "" + +#: templates/InvenTree/settings/user_forms.html:9 +msgid "Form Settings" +msgstr "" + #: templates/InvenTree/settings/user_homepage.html:9 msgid "Home Page Settings" msgstr "" @@ -6641,11 +6575,108 @@ msgstr "" #: templates/about.html:107 templates/js/translated/modals.js:50 #: templates/js/translated/modals.js:584 templates/js/translated/modals.js:678 -#: templates/js/translated/modals.js:971 templates/modals.html:29 +#: templates/js/translated/modals.js:982 templates/modals.html:29 #: templates/modals.html:54 msgid "Close" msgstr "" +#: templates/account/email_confirm.html:6 +#: templates/account/email_confirm.html:10 +msgid "Confirm E-mail Address" +msgstr "" + +#: templates/account/email_confirm.html:16 +#, python-format +msgid "Please confirm that %(email)s is an e-mail address for user %(user_display)s." +msgstr "" + +#: templates/account/email_confirm.html:27 +#, python-format +msgid "This e-mail confirmation link expired or is invalid. Please issue a new e-mail confirmation request." +msgstr "" + +#: templates/account/login.html:5 templates/account/login.html:14 +#: templates/account/login.html:36 +msgid "Sign In" +msgstr "" + +#: templates/account/login.html:19 +#, python-format +msgid "Please sign in with one\n" +"of your existing third party accounts or sign up\n" +"for a account and sign in below:" +msgstr "" + +#: templates/account/login.html:23 +#, python-format +msgid "If you have not created an account yet, then please\n" +"sign up first." +msgstr "" + +#: templates/account/login.html:38 +msgid "Forgot Password?" +msgstr "" + +#: templates/account/login.html:45 +msgid "or use SSO" +msgstr "" + +#: templates/account/logout.html:5 templates/account/logout.html:8 +#: templates/account/logout.html:17 +msgid "Sign Out" +msgstr "" + +#: templates/account/logout.html:10 +msgid "Are you sure you want to sign out?" +msgstr "" + +#: templates/account/password_reset.html:5 +#: templates/account/password_reset.html:12 +msgid "Password Reset" +msgstr "" + +#: templates/account/password_reset.html:18 +msgid "Forgotten your password? Enter your e-mail address below, and we'll send you an e-mail allowing you to reset it." +msgstr "" + +#: templates/account/password_reset.html:23 +msgid "Reset My Password" +msgstr "" + +#: templates/account/password_reset.html:27 templates/account/signup.html:36 +msgid "This function is currently disabled. Please contact an administrator." +msgstr "" + +#: templates/account/password_reset_from_key.html:7 +msgid "Bad Token" +msgstr "" + +#: templates/account/password_reset_from_key.html:11 +#, python-format +msgid "The password reset link was invalid, possibly because it has already been used. Please request a new password reset." +msgstr "" + +#: templates/account/password_reset_from_key.html:17 +msgid "change password" +msgstr "" + +#: templates/account/password_reset_from_key.html:20 +msgid "Your password is now changed." +msgstr "" + +#: templates/account/signup.html:11 templates/account/signup.html:22 +msgid "Sign Up" +msgstr "" + +#: templates/account/signup.html:13 +#, python-format +msgid "Already have an account? Then please sign in." +msgstr "" + +#: templates/account/signup.html:27 +msgid "Or use a SSO-provider for signup" +msgstr "" + #: templates/image_download.html:8 msgid "Specify URL for downloading image" msgstr "" @@ -6675,7 +6706,7 @@ msgid "Select Test Report Template" msgstr "" #: templates/js/report.js:98 templates/js/translated/label.js:29 -#: templates/js/translated/report.js:118 templates/js/translated/stock.js:313 +#: templates/js/translated/report.js:118 templates/js/translated/stock.js:297 msgid "Select Stock Items" msgstr "" @@ -6707,8 +6738,8 @@ msgstr "" msgid "No report templates found which match selected build(s)" msgstr "" -#: templates/js/report.js:205 templates/js/translated/label.js:134 -#: templates/js/translated/report.js:225 +#: templates/js/report.js:205 templates/js/translated/build.js:948 +#: templates/js/translated/label.js:134 templates/js/translated/report.js:225 msgid "Select Parts" msgstr "" @@ -6741,11 +6772,11 @@ msgstr "" msgid "Sales Order(s) must be selected before printing report" msgstr "" -#: templates/js/translated/api.js:174 templates/js/translated/modals.js:1041 +#: templates/js/translated/api.js:174 templates/js/translated/modals.js:1052 msgid "No Response" msgstr "" -#: templates/js/translated/api.js:175 templates/js/translated/modals.js:1042 +#: templates/js/translated/api.js:175 templates/js/translated/modals.js:1053 msgid "No response from the InvenTree server" msgstr "" @@ -6757,35 +6788,35 @@ msgstr "" msgid "API request returned error code 400" msgstr "" -#: templates/js/translated/api.js:186 templates/js/translated/modals.js:1051 +#: templates/js/translated/api.js:186 templates/js/translated/modals.js:1062 msgid "Error 401: Not Authenticated" msgstr "" -#: templates/js/translated/api.js:187 templates/js/translated/modals.js:1052 +#: templates/js/translated/api.js:187 templates/js/translated/modals.js:1063 msgid "Authentication credentials not supplied" msgstr "" -#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1056 +#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1067 msgid "Error 403: Permission Denied" msgstr "" -#: templates/js/translated/api.js:192 templates/js/translated/modals.js:1057 +#: templates/js/translated/api.js:192 templates/js/translated/modals.js:1068 msgid "You do not have the required permissions to access this function" msgstr "" -#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1061 +#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1072 msgid "Error 404: Resource Not Found" msgstr "" -#: templates/js/translated/api.js:197 templates/js/translated/modals.js:1062 +#: templates/js/translated/api.js:197 templates/js/translated/modals.js:1073 msgid "The requested resource could not be located on the server" msgstr "" -#: templates/js/translated/api.js:201 templates/js/translated/modals.js:1066 +#: templates/js/translated/api.js:201 templates/js/translated/modals.js:1077 msgid "Error 408: Timeout" msgstr "" -#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1067 +#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1078 msgid "Connection timeout while requesting data from server" msgstr "" @@ -6842,7 +6873,7 @@ msgid "Unknown response from server" msgstr "" #: templates/js/translated/barcode.js:141 -#: templates/js/translated/modals.js:1031 +#: templates/js/translated/modals.js:1042 msgid "Invalid server response" msgstr "" @@ -6870,7 +6901,7 @@ msgstr "" msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:398 templates/js/translated/stock.js:289 +#: templates/js/translated/barcode.js:398 templates/js/translated/stock.js:273 msgid "Remove stock item" msgstr "" @@ -6912,115 +6943,181 @@ msgstr "" msgid "Barcode does not match a valid location" msgstr "" -#: templates/js/translated/bom.js:215 templates/js/translated/build.js:1169 +#: templates/js/translated/bom.js:234 templates/js/translated/build.js:1495 msgid "Open subassembly" msgstr "" -#: templates/js/translated/bom.js:287 +#: templates/js/translated/bom.js:288 templates/js/translated/build.js:744 +#: templates/js/translated/build.js:1345 templates/js/translated/build.js:1522 +msgid "Available" +msgstr "" + +#: templates/js/translated/bom.js:307 msgid "Purchase Price Range" msgstr "" -#: templates/js/translated/bom.js:294 +#: templates/js/translated/bom.js:314 msgid "Purchase Price Average" msgstr "" -#: templates/js/translated/bom.js:342 templates/js/translated/bom.js:428 +#: templates/js/translated/bom.js:363 templates/js/translated/bom.js:449 msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:402 +#: templates/js/translated/bom.js:415 templates/js/translated/build.js:798 +#: templates/js/translated/build.js:1545 templates/js/translated/order.js:1285 +msgid "Actions" +msgstr "" + +#: templates/js/translated/bom.js:423 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:404 +#: templates/js/translated/bom.js:425 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:406 templates/js/translated/bom.js:569 +#: templates/js/translated/bom.js:427 templates/js/translated/bom.js:590 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:408 templates/js/translated/bom.js:554 +#: templates/js/translated/bom.js:429 templates/js/translated/bom.js:575 msgid "Delete BOM Item" msgstr "" -#: templates/js/translated/bom.js:499 templates/js/translated/build.js:483 -#: templates/js/translated/build.js:1267 +#: templates/js/translated/bom.js:520 templates/js/translated/build.js:485 +#: templates/js/translated/build.js:1593 msgid "No BOM items found" msgstr "" -#: templates/js/translated/build.js:69 +#: templates/js/translated/build.js:71 msgid "Edit Build Order" msgstr "" -#: templates/js/translated/build.js:95 +#: templates/js/translated/build.js:105 msgid "Create Build Order" msgstr "" -#: templates/js/translated/build.js:127 -msgid "Auto-allocate stock items to this output" +#: templates/js/translated/build.js:138 +msgid "Allocate stock items to this build output" msgstr "" -#: templates/js/translated/build.js:135 +#: templates/js/translated/build.js:146 msgid "Unallocate stock from build output" msgstr "" -#: templates/js/translated/build.js:145 +#: templates/js/translated/build.js:155 msgid "Complete build output" msgstr "" -#: templates/js/translated/build.js:154 +#: templates/js/translated/build.js:164 msgid "Delete build output" msgstr "" -#: templates/js/translated/build.js:249 +#: templates/js/translated/build.js:265 msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:287 templates/js/translated/order.js:813 +#: templates/js/translated/build.js:303 templates/js/translated/order.js:1159 msgid "Location not specified" msgstr "" -#: templates/js/translated/build.js:391 templates/stock_table.html:20 -msgid "New Stock Item" +#: templates/js/translated/build.js:675 templates/js/translated/build.js:1356 +#: templates/js/translated/order.js:1292 +msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/build.js:702 +#: templates/js/translated/build.js:677 templates/js/translated/build.js:1357 +#: templates/js/translated/order.js:1293 +msgid "Delete stock allocation" +msgstr "" + +#: templates/js/translated/build.js:695 +msgid "Edit Allocation" +msgstr "" + +#: templates/js/translated/build.js:705 +msgid "Remove Allocation" +msgstr "" + +#: templates/js/translated/build.js:718 msgid "Required Part" msgstr "" -#: templates/js/translated/build.js:723 +#: templates/js/translated/build.js:739 msgid "Quantity Per" msgstr "" -#: templates/js/translated/build.js:793 templates/js/translated/build.js:1231 +#: templates/js/translated/build.js:749 templates/js/translated/build.js:975 +#: templates/js/translated/build.js:1352 templates/js/translated/order.js:1514 +msgid "Allocated" +msgstr "" + +#: templates/js/translated/build.js:805 templates/js/translated/build.js:1553 +#: templates/js/translated/order.js:1567 +msgid "Build stock" +msgstr "" + +#: templates/js/translated/build.js:809 templates/js/translated/build.js:1557 #: templates/stock_table.html:59 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:846 +#: templates/js/translated/build.js:812 templates/js/translated/order.js:1560 +msgid "Allocate stock" +msgstr "" + +#: templates/js/translated/build.js:880 +msgid "Specify stock allocation quantity" +msgstr "" + +#: templates/js/translated/build.js:949 +msgid "You must select at least one part to allocate" +msgstr "" + +#: templates/js/translated/build.js:963 +msgid "Select source location (leave blank to take from all locations)" +msgstr "" + +#: templates/js/translated/build.js:992 +msgid "Confirm stock allocation" +msgstr "" + +#: templates/js/translated/build.js:993 +msgid "Allocate Stock Items to Build Order" +msgstr "" + +#: templates/js/translated/build.js:1004 +msgid "No matching stock locations" +msgstr "" + +#: templates/js/translated/build.js:1048 +msgid "No matching stock items" +msgstr "" + +#: templates/js/translated/build.js:1172 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:863 templates/js/translated/part.js:845 -#: templates/js/translated/part.js:1123 templates/js/translated/stock.js:783 -#: templates/js/translated/stock.js:1477 +#: templates/js/translated/build.js:1189 templates/js/translated/part.js:856 +#: templates/js/translated/part.js:1134 templates/js/translated/stock.js:762 +#: templates/js/translated/stock.js:1456 msgid "Select" msgstr "" -#: templates/js/translated/build.js:883 +#: templates/js/translated/build.js:1209 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:944 templates/js/translated/stock.js:1696 +#: templates/js/translated/build.js:1270 templates/js/translated/stock.js:1675 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:956 +#: templates/js/translated/build.js:1282 msgid "No information" msgstr "" -#: templates/js/translated/build.js:1007 +#: templates/js/translated/build.js:1333 msgid "No parts allocated for" msgstr "" @@ -7040,7 +7137,7 @@ msgstr "" msgid "Delete Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:164 templates/js/translated/order.js:86 +#: templates/js/translated/company.js:164 templates/js/translated/order.js:89 msgid "Add Supplier" msgstr "" @@ -7084,53 +7181,53 @@ msgstr "" msgid "Delete Manufacturer Parts" msgstr "" -#: templates/js/translated/company.js:475 +#: templates/js/translated/company.js:476 msgid "No manufacturer parts found" msgstr "" -#: templates/js/translated/company.js:495 -#: templates/js/translated/company.js:751 templates/js/translated/part.js:416 -#: templates/js/translated/part.js:501 +#: templates/js/translated/company.js:496 +#: templates/js/translated/company.js:753 templates/js/translated/part.js:427 +#: templates/js/translated/part.js:512 msgid "Template part" msgstr "" -#: templates/js/translated/company.js:499 -#: templates/js/translated/company.js:755 templates/js/translated/part.js:420 -#: templates/js/translated/part.js:505 +#: templates/js/translated/company.js:500 +#: templates/js/translated/company.js:757 templates/js/translated/part.js:431 +#: templates/js/translated/part.js:516 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:626 templates/js/translated/part.js:593 +#: templates/js/translated/company.js:627 templates/js/translated/part.js:604 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:663 templates/js/translated/part.js:635 +#: templates/js/translated/company.js:664 templates/js/translated/part.js:646 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:664 templates/js/translated/part.js:636 +#: templates/js/translated/company.js:665 templates/js/translated/part.js:647 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:683 templates/js/translated/part.js:653 +#: templates/js/translated/company.js:684 templates/js/translated/part.js:664 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:694 templates/js/translated/part.js:665 +#: templates/js/translated/company.js:695 templates/js/translated/part.js:676 msgid "Delete Parameter" msgstr "" -#: templates/js/translated/company.js:731 +#: templates/js/translated/company.js:733 msgid "No supplier parts found" msgstr "" #: templates/js/translated/filters.js:178 -#: templates/js/translated/filters.js:402 +#: templates/js/translated/filters.js:407 msgid "true" msgstr "" #: templates/js/translated/filters.js:182 -#: templates/js/translated/filters.js:403 +#: templates/js/translated/filters.js:408 msgid "false" msgstr "" @@ -7138,19 +7235,19 @@ msgstr "" msgid "Select filter" msgstr "" -#: templates/js/translated/filters.js:279 +#: templates/js/translated/filters.js:284 msgid "Reload data" msgstr "" -#: templates/js/translated/filters.js:281 +#: templates/js/translated/filters.js:286 msgid "Add new filter" msgstr "" -#: templates/js/translated/filters.js:284 +#: templates/js/translated/filters.js:289 msgid "Clear all filters" msgstr "" -#: templates/js/translated/filters.js:312 +#: templates/js/translated/filters.js:317 msgid "Create filter" msgstr "" @@ -7175,16 +7272,20 @@ msgstr "" msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:889 templates/modals.html:21 +#: templates/js/translated/forms.js:968 templates/modals.html:21 #: templates/modals.html:47 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1379 +#: templates/js/translated/forms.js:1323 +msgid "No results found" +msgstr "" + +#: templates/js/translated/forms.js:1525 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:1593 +#: templates/js/translated/forms.js:1742 msgid "Clear input" msgstr "" @@ -7247,7 +7348,7 @@ msgid "Cancel" msgstr "" #: templates/js/translated/modals.js:77 templates/js/translated/modals.js:119 -#: templates/js/translated/modals.js:677 templates/js/translated/modals.js:970 +#: templates/js/translated/modals.js:677 templates/js/translated/modals.js:981 #: templates/modals.html:30 templates/modals.html:55 msgid "Submit" msgstr "" @@ -7272,31 +7373,31 @@ msgstr "" msgid "Loading Data" msgstr "" -#: templates/js/translated/modals.js:922 +#: templates/js/translated/modals.js:933 msgid "Invalid response from server" msgstr "" -#: templates/js/translated/modals.js:922 +#: templates/js/translated/modals.js:933 msgid "Form data missing from server response" msgstr "" -#: templates/js/translated/modals.js:934 +#: templates/js/translated/modals.js:945 msgid "Error posting form data" msgstr "" -#: templates/js/translated/modals.js:1031 +#: templates/js/translated/modals.js:1042 msgid "JSON response missing form data" msgstr "" -#: templates/js/translated/modals.js:1046 +#: templates/js/translated/modals.js:1057 msgid "Error 400: Bad Request" msgstr "" -#: templates/js/translated/modals.js:1047 +#: templates/js/translated/modals.js:1058 msgid "Server returned error code 400" msgstr "" -#: templates/js/translated/modals.js:1070 +#: templates/js/translated/modals.js:1081 msgid "Error requesting form data" msgstr "" @@ -7304,70 +7405,195 @@ msgstr "" msgid "Company ID" msgstr "" -#: templates/js/translated/model_renderers.js:82 +#: templates/js/translated/model_renderers.js:90 +msgid "Stock ID" +msgstr "" + +#: templates/js/translated/model_renderers.js:125 msgid "Location ID" msgstr "" -#: templates/js/translated/model_renderers.js:99 +#: templates/js/translated/model_renderers.js:142 msgid "Build ID" msgstr "" -#: templates/js/translated/model_renderers.js:119 +#: templates/js/translated/model_renderers.js:177 msgid "Part ID" msgstr "" -#: templates/js/translated/model_renderers.js:171 +#: templates/js/translated/model_renderers.js:231 +msgid "Order ID" +msgstr "" + +#: templates/js/translated/model_renderers.js:251 msgid "Category ID" msgstr "" -#: templates/js/translated/model_renderers.js:208 +#: templates/js/translated/model_renderers.js:288 msgid "Manufacturer Part ID" msgstr "" -#: templates/js/translated/model_renderers.js:237 +#: templates/js/translated/model_renderers.js:317 msgid "Supplier Part ID" msgstr "" -#: templates/js/translated/order.js:45 +#: templates/js/translated/order.js:48 msgid "Add Customer" msgstr "" -#: templates/js/translated/order.js:70 +#: templates/js/translated/order.js:73 msgid "Create Sales Order" msgstr "" -#: templates/js/translated/order.js:295 +#: templates/js/translated/order.js:207 +msgid "Export Order" +msgstr "" + +#: templates/js/translated/order.js:210 templates/js/translated/stock.js:96 +msgid "Format" +msgstr "" + +#: templates/js/translated/order.js:211 templates/js/translated/stock.js:97 +msgid "Select file format" +msgstr "" + +#: templates/js/translated/order.js:299 +msgid "Select Line Items" +msgstr "" + +#: templates/js/translated/order.js:300 +msgid "At least one line item must be selected" +msgstr "" + +#: templates/js/translated/order.js:325 +msgid "Quantity to receive" +msgstr "" + +#: templates/js/translated/order.js:359 templates/js/translated/stock.js:1343 +msgid "Stock Status" +msgstr "" + +#: templates/js/translated/order.js:426 +msgid "Order Code" +msgstr "" + +#: templates/js/translated/order.js:427 +msgid "Ordered" +msgstr "" + +#: templates/js/translated/order.js:429 +msgid "Receive" +msgstr "" + +#: templates/js/translated/order.js:448 +msgid "Confirm receipt of items" +msgstr "" + +#: templates/js/translated/order.js:449 +msgid "Receive Purchase Order Items" +msgstr "" + +#: templates/js/translated/order.js:626 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/order.js:320 templates/js/translated/order.js:682 +#: templates/js/translated/order.js:651 templates/js/translated/order.js:1028 msgid "Order is overdue" msgstr "" -#: templates/js/translated/order.js:452 +#: templates/js/translated/order.js:749 templates/js/translated/order.js:1602 +msgid "Edit Line Item" +msgstr "" + +#: templates/js/translated/order.js:761 templates/js/translated/order.js:1613 +msgid "Delete Line Item" +msgstr "" + +#: templates/js/translated/order.js:800 msgid "No line items found" msgstr "" -#: templates/js/translated/order.js:617 +#: templates/js/translated/order.js:827 templates/js/translated/order.js:1432 +msgid "Total" +msgstr "" + +#: templates/js/translated/order.js:880 templates/js/translated/order.js:1457 +#: templates/js/translated/part.js:1343 templates/js/translated/part.js:1554 +msgid "Unit Price" +msgstr "" + +#: templates/js/translated/order.js:889 templates/js/translated/order.js:1464 +msgid "Total price" +msgstr "" + +#: templates/js/translated/order.js:962 templates/js/translated/order.js:1573 +msgid "Edit line item" +msgstr "" + +#: templates/js/translated/order.js:963 msgid "Delete line item" msgstr "" -#: templates/js/translated/order.js:621 +#: templates/js/translated/order.js:967 msgid "Receive line item" msgstr "" -#: templates/js/translated/order.js:658 +#: templates/js/translated/order.js:1004 msgid "No sales orders found" msgstr "" -#: templates/js/translated/order.js:696 +#: templates/js/translated/order.js:1042 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/order.js:774 +#: templates/js/translated/order.js:1120 msgid "No sales order allocations found" msgstr "" +#: templates/js/translated/order.js:1213 +msgid "Edit Stock Allocation" +msgstr "" + +#: templates/js/translated/order.js:1231 +msgid "Delete Stock Allocation" +msgstr "" + +#: templates/js/translated/order.js:1273 +msgid "Stock location not specified" +msgstr "" + +#: templates/js/translated/order.js:1514 +msgid "Fulfilled" +msgstr "" + +#: templates/js/translated/order.js:1557 +msgid "Allocate serial numbers" +msgstr "" + +#: templates/js/translated/order.js:1563 +msgid "Purchase stock" +msgstr "" + +#: templates/js/translated/order.js:1570 templates/js/translated/order.js:1725 +msgid "Calculate price" +msgstr "" + +#: templates/js/translated/order.js:1574 +msgid "Delete line item " +msgstr "" + +#: templates/js/translated/order.js:1673 +msgid "Allocate Stock Item" +msgstr "" + +#: templates/js/translated/order.js:1733 +msgid "Update Unit Price" +msgstr "" + +#: templates/js/translated/order.js:1747 +msgid "No matching line items" +msgstr "" + #: templates/js/translated/part.js:49 msgid "Part Attributes" msgstr "" @@ -7388,396 +7614,396 @@ msgstr "" msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:159 +#: templates/js/translated/part.js:164 msgid "Create Initial Stock" msgstr "" -#: templates/js/translated/part.js:160 +#: templates/js/translated/part.js:165 msgid "Create an initial stock item for this part" msgstr "" -#: templates/js/translated/part.js:167 +#: templates/js/translated/part.js:172 msgid "Initial Stock Quantity" msgstr "" -#: templates/js/translated/part.js:168 +#: templates/js/translated/part.js:173 msgid "Specify initial stock quantity for this part" msgstr "" -#: templates/js/translated/part.js:175 templates/js/translated/stock.js:330 +#: templates/js/translated/part.js:180 msgid "Select destination stock location" msgstr "" -#: templates/js/translated/part.js:186 +#: templates/js/translated/part.js:191 msgid "Copy Category Parameters" msgstr "" -#: templates/js/translated/part.js:187 +#: templates/js/translated/part.js:192 msgid "Copy parameter templates from selected part category" msgstr "" -#: templates/js/translated/part.js:195 +#: templates/js/translated/part.js:200 msgid "Add Supplier Data" msgstr "" -#: templates/js/translated/part.js:196 +#: templates/js/translated/part.js:201 msgid "Create initial supplier data for this part" msgstr "" -#: templates/js/translated/part.js:252 +#: templates/js/translated/part.js:257 msgid "Copy Image" msgstr "" -#: templates/js/translated/part.js:253 +#: templates/js/translated/part.js:258 msgid "Copy image from original part" msgstr "" -#: templates/js/translated/part.js:260 +#: templates/js/translated/part.js:265 msgid "Copy BOM" msgstr "" -#: templates/js/translated/part.js:261 +#: templates/js/translated/part.js:266 msgid "Copy bill of materials from original part" msgstr "" -#: templates/js/translated/part.js:268 +#: templates/js/translated/part.js:273 msgid "Copy Parameters" msgstr "" -#: templates/js/translated/part.js:269 +#: templates/js/translated/part.js:274 msgid "Copy parameter data from original part" msgstr "" -#: templates/js/translated/part.js:282 +#: templates/js/translated/part.js:287 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:323 +#: templates/js/translated/part.js:331 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:408 templates/js/translated/part.js:493 +#: templates/js/translated/part.js:419 templates/js/translated/part.js:504 msgid "Trackable part" msgstr "" -#: templates/js/translated/part.js:412 templates/js/translated/part.js:497 +#: templates/js/translated/part.js:423 templates/js/translated/part.js:508 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:424 +#: templates/js/translated/part.js:435 msgid "Starred part" msgstr "" -#: templates/js/translated/part.js:428 +#: templates/js/translated/part.js:439 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:543 +#: templates/js/translated/part.js:554 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:732 templates/js/translated/part.js:994 +#: templates/js/translated/part.js:743 templates/js/translated/part.js:1005 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:921 +#: templates/js/translated/part.js:932 msgid "No category" msgstr "" -#: templates/js/translated/part.js:944 -#: templates/js/translated/table_filters.js:350 +#: templates/js/translated/part.js:955 +#: templates/js/translated/table_filters.js:359 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:1148 templates/js/translated/stock.js:1501 +#: templates/js/translated/part.js:1159 templates/js/translated/stock.js:1480 msgid "Path" msgstr "" -#: templates/js/translated/part.js:1191 +#: templates/js/translated/part.js:1202 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:1242 templates/js/translated/stock.js:514 +#: templates/js/translated/part.js:1253 templates/js/translated/stock.js:493 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:1243 templates/js/translated/stock.js:515 +#: templates/js/translated/part.js:1254 templates/js/translated/stock.js:494 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:1249 +#: templates/js/translated/part.js:1260 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:1274 +#: templates/js/translated/part.js:1282 +msgid "Edit Test Result Template" +msgstr "" + +#: templates/js/translated/part.js:1296 +msgid "Delete Test Result Template" +msgstr "" + +#: templates/js/translated/part.js:1321 #, python-brace-format msgid "No ${human_name} information found" msgstr "" -#: templates/js/translated/part.js:1329 +#: templates/js/translated/part.js:1376 #, python-brace-format msgid "Edit ${human_name}" msgstr "" -#: templates/js/translated/part.js:1330 +#: templates/js/translated/part.js:1377 #, python-brace-format msgid "Delete ${human_name}" msgstr "" -#: templates/js/translated/part.js:1431 +#: templates/js/translated/part.js:1478 msgid "Single Price" msgstr "" -#: templates/js/translated/part.js:1450 +#: templates/js/translated/part.js:1497 msgid "Single Price Difference" msgstr "" -#: templates/js/translated/stock.js:66 +#: templates/js/translated/stock.js:63 msgid "Parent stock location" msgstr "" -#: templates/js/translated/stock.js:96 +#: templates/js/translated/stock.js:93 msgid "Export Stock" msgstr "" -#: templates/js/translated/stock.js:99 -msgid "Format" -msgstr "" - -#: templates/js/translated/stock.js:100 -msgid "Select file format" -msgstr "" - -#: templates/js/translated/stock.js:124 +#: templates/js/translated/stock.js:104 msgid "Include Sublocations" msgstr "" -#: templates/js/translated/stock.js:125 +#: templates/js/translated/stock.js:105 msgid "Include stock items in sublocations" msgstr "" -#: templates/js/translated/stock.js:167 +#: templates/js/translated/stock.js:147 msgid "Transfer Stock" msgstr "" -#: templates/js/translated/stock.js:168 +#: templates/js/translated/stock.js:148 msgid "Move" msgstr "" -#: templates/js/translated/stock.js:174 +#: templates/js/translated/stock.js:154 msgid "Count Stock" msgstr "" -#: templates/js/translated/stock.js:175 +#: templates/js/translated/stock.js:155 msgid "Count" msgstr "" -#: templates/js/translated/stock.js:179 +#: templates/js/translated/stock.js:159 msgid "Remove Stock" msgstr "" -#: templates/js/translated/stock.js:180 +#: templates/js/translated/stock.js:160 msgid "Take" msgstr "" -#: templates/js/translated/stock.js:184 +#: templates/js/translated/stock.js:164 msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:185 users/models.py:190 +#: templates/js/translated/stock.js:165 users/models.py:195 msgid "Add" msgstr "" -#: templates/js/translated/stock.js:189 templates/stock_table.html:63 +#: templates/js/translated/stock.js:169 templates/stock_table.html:63 msgid "Delete Stock" msgstr "" -#: templates/js/translated/stock.js:278 +#: templates/js/translated/stock.js:258 msgid "Quantity cannot be adjusted for serialized stock" msgstr "" -#: templates/js/translated/stock.js:278 +#: templates/js/translated/stock.js:258 msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:314 +#: templates/js/translated/stock.js:298 msgid "You must select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:339 -msgid "Stock transaction notes" -msgstr "" - -#: templates/js/translated/stock.js:477 +#: templates/js/translated/stock.js:456 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:479 +#: templates/js/translated/stock.js:458 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:484 +#: templates/js/translated/stock.js:463 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:510 +#: templates/js/translated/stock.js:489 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:536 +#: templates/js/translated/stock.js:515 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:584 +#: templates/js/translated/stock.js:563 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:691 +#: templates/js/translated/stock.js:670 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:695 +#: templates/js/translated/stock.js:674 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:703 +#: templates/js/translated/stock.js:678 +msgid "Shipped to customer" +msgstr "" + +#: templates/js/translated/stock.js:682 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:865 +#: templates/js/translated/stock.js:688 +msgid "No stock location set" +msgstr "" + +#: templates/js/translated/stock.js:844 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:870 +#: templates/js/translated/stock.js:849 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:873 +#: templates/js/translated/stock.js:852 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:877 +#: templates/js/translated/stock.js:856 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:879 +#: templates/js/translated/stock.js:858 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:883 +#: templates/js/translated/stock.js:862 msgid "Stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:887 +#: templates/js/translated/stock.js:866 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:894 +#: templates/js/translated/stock.js:873 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:896 +#: templates/js/translated/stock.js:875 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:898 +#: templates/js/translated/stock.js:877 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:902 +#: templates/js/translated/stock.js:881 #: templates/js/translated/table_filters.js:161 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:956 +#: templates/js/translated/stock.js:935 msgid "Stocktake" msgstr "" -#: templates/js/translated/stock.js:1029 +#: templates/js/translated/stock.js:1008 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:1067 +#: templates/js/translated/stock.js:1046 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:1088 templates/js/translated/stock.js:1136 +#: templates/js/translated/stock.js:1067 templates/js/translated/stock.js:1115 msgid "items" msgstr "" -#: templates/js/translated/stock.js:1176 +#: templates/js/translated/stock.js:1155 msgid "batches" msgstr "" -#: templates/js/translated/stock.js:1203 +#: templates/js/translated/stock.js:1182 msgid "locations" msgstr "" -#: templates/js/translated/stock.js:1205 +#: templates/js/translated/stock.js:1184 msgid "Undefined location" msgstr "" -#: templates/js/translated/stock.js:1364 -msgid "Stock Status" -msgstr "" - -#: templates/js/translated/stock.js:1379 +#: templates/js/translated/stock.js:1358 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:1393 +#: templates/js/translated/stock.js:1372 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:1394 +#: templates/js/translated/stock.js:1373 msgid "Status code must be selected" msgstr "" -#: templates/js/translated/stock.js:1533 +#: templates/js/translated/stock.js:1512 msgid "Invalid date" msgstr "" -#: templates/js/translated/stock.js:1580 +#: templates/js/translated/stock.js:1559 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:1599 +#: templates/js/translated/stock.js:1578 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:1618 +#: templates/js/translated/stock.js:1597 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:1636 +#: templates/js/translated/stock.js:1615 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:1659 +#: templates/js/translated/stock.js:1638 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:1667 +#: templates/js/translated/stock.js:1646 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:1708 +#: templates/js/translated/stock.js:1687 msgid "Edit tracking entry" msgstr "" -#: templates/js/translated/stock.js:1709 +#: templates/js/translated/stock.js:1688 msgid "Delete tracking entry" msgstr "" -#: templates/js/translated/stock.js:1833 +#: templates/js/translated/stock.js:1812 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:1856 +#: templates/js/translated/stock.js:1835 msgid "Serial" msgstr "" -#: templates/js/translated/stock.js:1884 +#: templates/js/translated/stock.js:1863 msgid "Uninstall Stock Item" msgstr "" @@ -7808,7 +8034,7 @@ msgstr "" #: templates/js/translated/table_filters.js:103 #: templates/js/translated/table_filters.js:104 -#: templates/js/translated/table_filters.js:327 +#: templates/js/translated/table_filters.js:336 msgid "Include subcategories" msgstr "" @@ -7850,7 +8076,7 @@ msgid "Batch code" msgstr "" #: templates/js/translated/table_filters.js:141 -#: templates/js/translated/table_filters.js:317 +#: templates/js/translated/table_filters.js:326 msgid "Active parts" msgstr "" @@ -7935,89 +8161,89 @@ msgstr "" msgid "Build status" msgstr "" -#: templates/js/translated/table_filters.js:282 -#: templates/js/translated/table_filters.js:299 +#: templates/js/translated/table_filters.js:291 +#: templates/js/translated/table_filters.js:308 msgid "Order status" msgstr "" -#: templates/js/translated/table_filters.js:287 -#: templates/js/translated/table_filters.js:304 +#: templates/js/translated/table_filters.js:296 +#: templates/js/translated/table_filters.js:313 msgid "Outstanding" msgstr "" -#: templates/js/translated/table_filters.js:328 +#: templates/js/translated/table_filters.js:337 msgid "Include parts in subcategories" msgstr "" -#: templates/js/translated/table_filters.js:332 +#: templates/js/translated/table_filters.js:341 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:333 +#: templates/js/translated/table_filters.js:342 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:338 +#: templates/js/translated/table_filters.js:347 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:346 +#: templates/js/translated/table_filters.js:355 msgid "Stock available" msgstr "" -#: templates/js/translated/table_filters.js:362 +#: templates/js/translated/table_filters.js:371 msgid "Starred" msgstr "" -#: templates/js/translated/table_filters.js:374 +#: templates/js/translated/table_filters.js:383 msgid "Purchasable" msgstr "" -#: templates/js/translated/tables.js:357 +#: templates/js/translated/tables.js:366 msgid "Loading data" msgstr "" -#: templates/js/translated/tables.js:360 +#: templates/js/translated/tables.js:369 msgid "rows per page" msgstr "" -#: templates/js/translated/tables.js:363 +#: templates/js/translated/tables.js:372 msgid "Showing" msgstr "" -#: templates/js/translated/tables.js:363 +#: templates/js/translated/tables.js:372 msgid "to" msgstr "" -#: templates/js/translated/tables.js:363 +#: templates/js/translated/tables.js:372 msgid "of" msgstr "" -#: templates/js/translated/tables.js:363 +#: templates/js/translated/tables.js:372 msgid "rows" msgstr "" -#: templates/js/translated/tables.js:369 +#: templates/js/translated/tables.js:378 msgid "No matching results" msgstr "" -#: templates/js/translated/tables.js:372 +#: templates/js/translated/tables.js:381 msgid "Hide/Show pagination" msgstr "" -#: templates/js/translated/tables.js:375 +#: templates/js/translated/tables.js:384 msgid "Refresh" msgstr "" -#: templates/js/translated/tables.js:378 +#: templates/js/translated/tables.js:387 msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:381 +#: templates/js/translated/tables.js:390 msgid "Columns" msgstr "" -#: templates/js/translated/tables.js:384 +#: templates/js/translated/tables.js:393 msgid "All" msgstr "" @@ -8033,19 +8259,15 @@ msgstr "" msgid "Sell" msgstr "" -#: templates/navbar.html:87 users/models.py:39 +#: templates/navbar.html:83 users/models.py:39 msgid "Admin" msgstr "" -#: templates/navbar.html:89 +#: templates/navbar.html:85 msgid "Logout" msgstr "" -#: templates/navbar.html:91 templates/registration/login.html:89 -msgid "Login" -msgstr "" - -#: templates/navbar.html:114 +#: templates/navbar.html:106 msgid "About InvenTree" msgstr "" @@ -8053,68 +8275,12 @@ msgstr "" msgid "QR data not provided" msgstr "" -#: templates/registration/logged_out.html:50 -msgid "You have been logged out" +#: templates/registration/logged_out.html:6 +msgid "You were logged out successfully." msgstr "" -#: templates/registration/logged_out.html:51 -#: templates/registration/password_reset_complete.html:51 -#: templates/registration/password_reset_done.html:58 -msgid "Return to login screen" -msgstr "" - -#: templates/registration/login.html:64 -msgid "Enter username" -msgstr "" - -#: templates/registration/login.html:70 -msgid "Password" -msgstr "" - -#: templates/registration/login.html:83 -msgid "Username / password combination is incorrect" -msgstr "" - -#: templates/registration/login.html:95 -#: templates/registration/password_reset_form.html:51 -msgid "Forgotten your password?" -msgstr "" - -#: templates/registration/login.html:95 -msgid "Click here to reset" -msgstr "" - -#: templates/registration/password_reset_complete.html:50 -msgid "Password reset complete" -msgstr "" - -#: templates/registration/password_reset_confirm.html:52 -#: templates/registration/password_reset_confirm.html:56 -msgid "Change password" -msgstr "" - -#: templates/registration/password_reset_confirm.html:60 -msgid "The password reset link was invalid, possibly because it has already been used. Please request a new password reset." -msgstr "" - -#: templates/registration/password_reset_done.html:51 -msgid "We've emailed you instructions for setting your password, if an account exists with the email you entered. You should receive them shortly." -msgstr "" - -#: templates/registration/password_reset_done.html:54 -msgid "If you don't receive an email, please make sure you've entered the address you registered with, and check your spam folder." -msgstr "" - -#: templates/registration/password_reset_form.html:52 -msgid "Enter your email address below." -msgstr "" - -#: templates/registration/password_reset_form.html:53 -msgid "An email will be sent with password reset instructions." -msgstr "" - -#: templates/registration/password_reset_form.html:58 -msgid "Send email" +#: templates/registration/logged_out.html:8 +msgid "Log in again" msgstr "" #: templates/stats.html:13 @@ -8169,6 +8335,10 @@ msgstr "" msgid "Export Stock Information" msgstr "" +#: templates/stock_table.html:20 +msgid "New Stock Item" +msgstr "" + #: templates/stock_table.html:27 msgid "Barcode Actions" msgstr "" @@ -8249,35 +8419,35 @@ msgstr "" msgid "Important dates" msgstr "" -#: users/models.py:177 +#: users/models.py:182 msgid "Permission set" msgstr "" -#: users/models.py:185 +#: users/models.py:190 msgid "Group" msgstr "" -#: users/models.py:188 +#: users/models.py:193 msgid "View" msgstr "" -#: users/models.py:188 +#: users/models.py:193 msgid "Permission to view items" msgstr "" -#: users/models.py:190 +#: users/models.py:195 msgid "Permission to add items" msgstr "" -#: users/models.py:192 +#: users/models.py:197 msgid "Change" msgstr "" -#: users/models.py:192 +#: users/models.py:197 msgid "Permissions to edit items" msgstr "" -#: users/models.py:194 +#: users/models.py:199 msgid "Permission to delete items" msgstr "" diff --git a/InvenTree/locale/nl/LC_MESSAGES/django.po b/InvenTree/locale/nl/LC_MESSAGES/django.po index 8a14f3628d..78a85dfaa1 100644 --- a/InvenTree/locale/nl/LC_MESSAGES/django.po +++ b/InvenTree/locale/nl/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-09-12 13:15+0000\n" -"PO-Revision-Date: 2021-09-12 13:44\n" +"POT-Creation-Date: 2021-10-11 06:21+0000\n" +"PO-Revision-Date: 2021-10-11 06:29\n" "Last-Translator: \n" "Language-Team: Dutch\n" "Language: nl_NL\n" @@ -33,48 +33,61 @@ msgstr "Geen overeenkomende actie gevonden" msgid "Enter date" msgstr "Voer datum in" -#: InvenTree/forms.py:111 build/forms.py:102 build/forms.py:123 -#: build/forms.py:145 build/forms.py:169 build/forms.py:185 build/forms.py:227 -#: order/forms.py:30 order/forms.py:41 order/forms.py:52 order/forms.py:63 -#: order/forms.py:74 part/forms.py:108 templates/js/translated/forms.js:564 +#: InvenTree/forms.py:116 build/forms.py:102 build/forms.py:123 +#: build/forms.py:145 build/forms.py:173 build/forms.py:215 order/forms.py:27 +#: order/forms.py:38 order/forms.py:49 order/forms.py:60 order/forms.py:71 +#: part/forms.py:108 templates/account/email_confirm.html:20 +#: templates/js/translated/forms.js:564 msgid "Confirm" msgstr "Bevestigen" -#: InvenTree/forms.py:127 +#: InvenTree/forms.py:132 msgid "Confirm delete" msgstr "Bevestigen verwijdering" -#: InvenTree/forms.py:128 +#: InvenTree/forms.py:133 msgid "Confirm item deletion" msgstr "Bevestig item verwijdering" -#: InvenTree/forms.py:160 templates/registration/login.html:76 +#: InvenTree/forms.py:164 msgid "Enter password" msgstr "Voer wachtwoord in" -#: InvenTree/forms.py:161 +#: InvenTree/forms.py:165 msgid "Enter new password" msgstr "Voer een nieuw wachtwoord in" -#: InvenTree/forms.py:168 +#: InvenTree/forms.py:172 msgid "Confirm password" msgstr "Wachtwoord bevestigen" -#: InvenTree/forms.py:169 +#: InvenTree/forms.py:173 msgid "Confirm new password" msgstr "Nieuw wachtwoord bevestigen" -#: InvenTree/forms.py:201 +#: InvenTree/forms.py:205 msgid "Select Category" msgstr "Categorie selecteren" +#: InvenTree/forms.py:226 +msgid "E-mail (again)" +msgstr "" + +#: InvenTree/forms.py:230 +msgid "E-mail address confirmation" +msgstr "" + +#: InvenTree/forms.py:250 +msgid "You must type the same email each time." +msgstr "" + #: InvenTree/helpers.py:401 #, python-brace-format msgid "Duplicate serial: {n}" msgstr "Dubbel serienummer: {n}" -#: InvenTree/helpers.py:408 order/models.py:315 order/models.py:430 -#: stock/views.py:1363 +#: InvenTree/helpers.py:408 order/models.py:315 order/models.py:437 +#: stock/views.py:1340 msgid "Invalid quantity provided" msgstr "Ongeldige hoeveeldheid ingevoerd" @@ -102,7 +115,7 @@ msgstr "Geen serienummers gevonden" msgid "Number of unique serial number ({s}) must match quantity ({q})" msgstr "Aantal unieke serienummer ({s}) moet overeenkomen met de hoeveelheid ({q})" -#: InvenTree/models.py:66 stock/models.py:1826 +#: InvenTree/models.py:66 stock/models.py:1823 msgid "Attachment" msgstr "Bijlage" @@ -118,10 +131,10 @@ msgstr "Opmerking" msgid "File comment" msgstr "Bijlage opmerking" -#: InvenTree/models.py:75 InvenTree/models.py:76 common/models.py:993 -#: common/models.py:994 part/models.py:2051 +#: InvenTree/models.py:75 InvenTree/models.py:76 common/models.py:1055 +#: common/models.py:1056 part/models.py:2055 #: report/templates/report/inventree_test_report_base.html:91 -#: templates/js/translated/stock.js:1690 +#: templates/js/translated/stock.js:1669 msgid "User" msgstr "Gebruiker" @@ -158,37 +171,34 @@ msgstr "Fout bij hernoemen bestand" msgid "Invalid choice" msgstr "Ongeldige keuze" -#: InvenTree/models.py:200 InvenTree/models.py:201 company/models.py:414 -#: label/models.py:112 part/models.py:658 part/models.py:2212 +#: InvenTree/models.py:200 InvenTree/models.py:201 company/models.py:415 +#: label/models.py:112 part/models.py:659 part/models.py:2216 #: part/templates/part/part_base.html:241 report/models.py:181 -#: templates/InvenTree/search.html:137 templates/InvenTree/search.html:289 -#: templates/js/translated/company.js:636 templates/js/translated/part.js:466 -#: templates/js/translated/part.js:603 templates/js/translated/part.js:1130 -#: templates/js/translated/stock.js:1483 +#: templates/js/translated/company.js:637 templates/js/translated/part.js:477 +#: templates/js/translated/part.js:614 templates/js/translated/part.js:1141 +#: templates/js/translated/stock.js:1462 msgid "Name" msgstr "Naam" -#: InvenTree/models.py:207 build/models.py:187 -#: build/templates/build/detail.html:24 company/models.py:353 -#: company/models.py:569 company/templates/company/manufacturer_part.html:76 +#: InvenTree/models.py:207 build/models.py:189 +#: build/templates/build/detail.html:24 company/models.py:354 +#: company/models.py:570 company/templates/company/manufacturer_part.html:76 #: company/templates/company/supplier_part.html:75 label/models.py:119 -#: order/models.py:158 part/models.py:681 +#: order/models.py:158 part/models.py:682 #: part/templates/part/part_base.html:246 #: part/templates/part/set_category.html:14 report/models.py:194 #: report/models.py:551 report/models.py:590 #: report/templates/report/inventree_build_order_base.html:118 -#: templates/InvenTree/search.html:144 templates/InvenTree/search.html:224 -#: templates/InvenTree/search.html:296 #: templates/InvenTree/settings/header.html:9 -#: templates/js/translated/bom.js:230 templates/js/translated/build.js:891 -#: templates/js/translated/build.js:1179 templates/js/translated/company.js:344 -#: templates/js/translated/company.js:546 -#: templates/js/translated/company.js:834 templates/js/translated/order.js:341 -#: templates/js/translated/order.js:486 templates/js/translated/order.js:710 -#: templates/js/translated/part.js:525 templates/js/translated/part.js:713 -#: templates/js/translated/part.js:902 templates/js/translated/part.js:1142 -#: templates/js/translated/part.js:1210 templates/js/translated/stock.js:840 -#: templates/js/translated/stock.js:1495 templates/js/translated/stock.js:1540 +#: templates/js/translated/bom.js:249 templates/js/translated/build.js:1217 +#: templates/js/translated/build.js:1505 templates/js/translated/company.js:344 +#: templates/js/translated/company.js:547 +#: templates/js/translated/company.js:836 templates/js/translated/order.js:672 +#: templates/js/translated/order.js:832 templates/js/translated/order.js:1056 +#: templates/js/translated/part.js:536 templates/js/translated/part.js:724 +#: templates/js/translated/part.js:913 templates/js/translated/part.js:1153 +#: templates/js/translated/part.js:1221 templates/js/translated/stock.js:819 +#: templates/js/translated/stock.js:1474 templates/js/translated/stock.js:1519 msgid "Description" msgstr "Omschrijving" @@ -200,7 +210,7 @@ msgstr "Omschrijving (optioneel)" msgid "parent" msgstr "overkoepelend" -#: InvenTree/serializers.py:55 part/models.py:2454 +#: InvenTree/serializers.py:55 part/models.py:2475 msgid "Must be a valid number" msgstr "Moet een geldig nummer zijn" @@ -208,75 +218,75 @@ msgstr "Moet een geldig nummer zijn" msgid "Filename" msgstr "Bestandsnaam" -#: InvenTree/settings.py:523 +#: InvenTree/settings.py:529 msgid "German" msgstr "Duits" -#: InvenTree/settings.py:524 +#: InvenTree/settings.py:530 msgid "Greek" msgstr "Grieks" -#: InvenTree/settings.py:525 +#: InvenTree/settings.py:531 msgid "English" msgstr "Engels" -#: InvenTree/settings.py:526 +#: InvenTree/settings.py:532 msgid "Spanish" msgstr "Spaans" -#: InvenTree/settings.py:527 +#: InvenTree/settings.py:533 msgid "French" msgstr "Frans" -#: InvenTree/settings.py:528 +#: InvenTree/settings.py:534 msgid "Hebrew" msgstr "Hebreeuws" -#: InvenTree/settings.py:529 +#: InvenTree/settings.py:535 msgid "Italian" msgstr "Italiaans" -#: InvenTree/settings.py:530 +#: InvenTree/settings.py:536 msgid "Japanese" msgstr "Japans" -#: InvenTree/settings.py:531 +#: InvenTree/settings.py:537 msgid "Korean" msgstr "Koreaans" -#: InvenTree/settings.py:532 +#: InvenTree/settings.py:538 msgid "Dutch" msgstr "Nederlands" -#: InvenTree/settings.py:533 +#: InvenTree/settings.py:539 msgid "Norwegian" msgstr "Noors" -#: InvenTree/settings.py:534 +#: InvenTree/settings.py:540 msgid "Polish" msgstr "Pools" -#: InvenTree/settings.py:535 +#: InvenTree/settings.py:541 msgid "Russian" msgstr "Russisch" -#: InvenTree/settings.py:536 +#: InvenTree/settings.py:542 msgid "Swedish" msgstr "Zweeds" -#: InvenTree/settings.py:537 +#: InvenTree/settings.py:543 msgid "Thai" msgstr "Thais" -#: InvenTree/settings.py:538 +#: InvenTree/settings.py:544 msgid "Turkish" msgstr "Turks" -#: InvenTree/settings.py:539 +#: InvenTree/settings.py:545 msgid "Vietnamese" msgstr "Vietnamees" -#: InvenTree/settings.py:540 +#: InvenTree/settings.py:546 msgid "Chinese" msgstr "Chinees" @@ -321,7 +331,7 @@ msgid "Returned" msgstr "Retour" #: InvenTree/status_codes.py:146 -#: order/templates/order/sales_order_base.html:126 +#: order/templates/order/sales_order_base.html:131 msgid "Shipped" msgstr "Verzonden" @@ -461,27 +471,27 @@ msgstr "" msgid "Overage must be an integer value or a percentage" msgstr "" -#: InvenTree/views.py:610 +#: InvenTree/views.py:616 msgid "Delete Item" msgstr "Verwijder item" -#: InvenTree/views.py:659 +#: InvenTree/views.py:665 msgid "Check box to confirm item deletion" msgstr "Selectievakje aanvinken om de verwijdering van items te bevestigen" -#: InvenTree/views.py:674 templates/InvenTree/settings/user.html:14 +#: InvenTree/views.py:680 templates/InvenTree/settings/user.html:18 msgid "Edit User Information" msgstr "Gebruikersgegevens bewerken" -#: InvenTree/views.py:685 templates/InvenTree/settings/user.html:18 +#: InvenTree/views.py:691 templates/InvenTree/settings/user.html:22 msgid "Set Password" msgstr "Wachtwoord instellen" -#: InvenTree/views.py:704 +#: InvenTree/views.py:710 msgid "Password fields must match" msgstr "Wachtwoordvelden komen niet overeen" -#: InvenTree/views.py:910 templates/navbar.html:105 +#: InvenTree/views.py:954 templates/navbar.html:97 msgid "System Information" msgstr "Systeeminformatie" @@ -525,6 +535,10 @@ msgstr "Barcode komt al overeen met StockItem object" msgid "Barcode associated with StockItem" msgstr "Barcode gekoppeld aan StockItem" +#: build/api.py:213 +msgid "Matching build order does not exist" +msgstr "" + #: build/forms.py:37 msgid "Build Order reference" msgstr "Bouwopdracht referentie" @@ -536,33 +550,28 @@ msgstr "Order streefdatum" #: build/forms.py:42 build/templates/build/build_base.html:146 #: build/templates/build/detail.html:124 #: order/templates/order/order_base.html:124 -#: order/templates/order/sales_order_base.html:119 +#: order/templates/order/sales_order_base.html:124 #: report/templates/report/inventree_build_order_base.html:126 -#: templates/js/translated/build.js:962 templates/js/translated/order.js:358 -#: templates/js/translated/order.js:728 +#: templates/js/translated/build.js:1288 templates/js/translated/order.js:689 +#: templates/js/translated/order.js:1074 msgid "Target Date" msgstr "Streefdatum" -#: build/forms.py:43 build/models.py:277 +#: build/forms.py:43 build/models.py:279 msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/forms.py:48 build/forms.py:90 build/forms.py:266 build/models.py:1402 +#: build/forms.py:48 build/forms.py:90 build/models.py:1281 #: build/templates/build/allocation_card.html:23 -#: build/templates/build/auto_allocate.html:17 #: build/templates/build/build_base.html:133 -#: build/templates/build/detail.html:34 common/models.py:1025 +#: build/templates/build/detail.html:34 common/models.py:1087 #: company/forms.py:42 company/templates/company/supplier_part.html:226 -#: order/forms.py:120 order/forms.py:142 order/forms.py:159 order/models.py:712 -#: order/models.py:964 order/templates/order/order_wizard/match_parts.html:30 -#: order/templates/order/order_wizard/select_parts.html:34 -#: order/templates/order/sales_order_detail.html:201 -#: order/templates/order/sales_order_detail.html:208 -#: order/templates/order/sales_order_detail.html:293 -#: order/templates/order/sales_order_detail.html:365 part/forms.py:249 -#: part/forms.py:265 part/forms.py:281 part/models.py:2356 +#: order/forms.py:101 order/forms.py:123 order/models.py:720 +#: order/models.py:982 order/templates/order/order_wizard/match_parts.html:30 +#: order/templates/order/order_wizard/select_parts.html:34 part/forms.py:249 +#: part/forms.py:265 part/forms.py:281 part/models.py:2377 #: part/templates/part/bom_upload/match_parts.html:31 -#: part/templates/part/detail.html:973 part/templates/part/detail.html:1059 +#: part/templates/part/detail.html:944 part/templates/part/detail.html:1030 #: part/templates/part/part_pricing.html:16 #: report/templates/report/inventree_build_order_base.html:114 #: report/templates/report/inventree_po_report.html:91 @@ -570,14 +579,16 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:77 #: stock/forms.py:140 stock/templates/stock/item_base.html:269 #: stock/templates/stock/stock_adjust.html:18 -#: templates/js/translated/barcode.js:386 templates/js/translated/bom.js:245 -#: templates/js/translated/build.js:298 templates/js/translated/build.js:629 -#: templates/js/translated/build.js:1189 -#: templates/js/translated/model_renderers.js:59 -#: templates/js/translated/order.js:522 templates/js/translated/order.js:824 -#: templates/js/translated/part.js:1317 templates/js/translated/part.js:1440 -#: templates/js/translated/part.js:1518 templates/js/translated/stock.js:1675 -#: templates/js/translated/stock.js:1850 +#: templates/js/translated/barcode.js:386 templates/js/translated/bom.js:264 +#: templates/js/translated/build.js:314 templates/js/translated/build.js:638 +#: templates/js/translated/build.js:977 templates/js/translated/build.js:1515 +#: templates/js/translated/model_renderers.js:74 +#: templates/js/translated/order.js:868 templates/js/translated/order.js:1170 +#: templates/js/translated/order.js:1248 templates/js/translated/order.js:1255 +#: templates/js/translated/order.js:1344 templates/js/translated/order.js:1444 +#: templates/js/translated/part.js:1364 templates/js/translated/part.js:1487 +#: templates/js/translated/part.js:1565 templates/js/translated/stock.js:1654 +#: templates/js/translated/stock.js:1829 msgid "Quantity" msgstr "Aantal" @@ -589,7 +600,7 @@ msgstr "Aantal items om te maken" msgid "Enter quantity for build output" msgstr "Voer hoeveelheid in voor build-output" -#: build/forms.py:95 order/forms.py:114 stock/forms.py:83 +#: build/forms.py:95 order/forms.py:95 stock/forms.py:83 msgid "Serial Numbers" msgstr "Serienummers" @@ -609,246 +620,238 @@ msgstr "Bevestig verwijdering van build-output" msgid "Confirm unallocation of stock" msgstr "Bevestig het ongedaan maken van de toewijzing van voorraad" -#: build/forms.py:169 -msgid "Confirm stock allocation" -msgstr "Bevestig de voorraadtoewijzing" - -#: build/forms.py:186 +#: build/forms.py:174 msgid "Mark build as complete" msgstr "Markeer build als voltooid" -#: build/forms.py:210 build/templates/build/auto_allocate.html:18 -#: order/serializers.py:216 order/serializers.py:275 stock/forms.py:280 +#: build/forms.py:198 order/serializers.py:217 order/serializers.py:284 +#: stock/forms.py:280 stock/serializers.py:553 #: stock/templates/stock/item_base.html:299 #: stock/templates/stock/stock_adjust.html:17 -#: templates/InvenTree/search.html:260 templates/js/translated/barcode.js:385 -#: templates/js/translated/barcode.js:555 templates/js/translated/build.js:283 -#: templates/js/translated/build.js:643 templates/js/translated/order.js:809 -#: templates/js/translated/part.js:174 templates/js/translated/stock.js:203 -#: templates/js/translated/stock.js:329 templates/js/translated/stock.js:942 -#: templates/js/translated/stock.js:1567 +#: templates/js/translated/barcode.js:385 +#: templates/js/translated/barcode.js:555 templates/js/translated/build.js:299 +#: templates/js/translated/build.js:650 templates/js/translated/order.js:347 +#: templates/js/translated/order.js:1155 templates/js/translated/order.js:1263 +#: templates/js/translated/order.js:1269 templates/js/translated/part.js:179 +#: templates/js/translated/stock.js:183 templates/js/translated/stock.js:921 +#: templates/js/translated/stock.js:1546 msgid "Location" msgstr "Locatie" -#: build/forms.py:211 +#: build/forms.py:199 msgid "Location of completed parts" msgstr "Locatie van voltooide onderdelen" -#: build/forms.py:215 build/templates/build/build_base.html:138 -#: build/templates/build/detail.html:62 order/models.py:555 -#: order/serializers.py:230 order/templates/order/receive_parts.html:24 -#: stock/templates/stock/item_base.html:422 templates/InvenTree/search.html:252 -#: templates/js/translated/barcode.js:141 templates/js/translated/build.js:925 -#: templates/js/translated/order.js:345 templates/js/translated/order.js:715 -#: templates/js/translated/stock.js:917 templates/js/translated/stock.js:1644 -#: templates/js/translated/stock.js:1866 +#: build/forms.py:203 build/templates/build/build_base.html:138 +#: build/templates/build/detail.html:62 order/models.py:563 +#: order/serializers.py:238 stock/templates/stock/item_base.html:422 +#: templates/js/translated/barcode.js:141 templates/js/translated/build.js:1251 +#: templates/js/translated/order.js:430 templates/js/translated/order.js:676 +#: templates/js/translated/order.js:1061 templates/js/translated/stock.js:896 +#: templates/js/translated/stock.js:1623 templates/js/translated/stock.js:1845 msgid "Status" msgstr "Status" -#: build/forms.py:216 +#: build/forms.py:204 msgid "Build output stock status" msgstr "Build output voorraad status" -#: build/forms.py:223 +#: build/forms.py:211 msgid "Confirm incomplete" msgstr "Bevestig onvolledigheid" -#: build/forms.py:224 +#: build/forms.py:212 msgid "Confirm completion with incomplete stock allocation" msgstr "Bevestig voltooiing met onvolledige voorraadtoewijzing" -#: build/forms.py:227 +#: build/forms.py:215 msgid "Confirm build completion" msgstr "Bevestig build voltooiing" -#: build/forms.py:252 +#: build/forms.py:240 msgid "Confirm cancel" msgstr "Annuleren bevestigen" -#: build/forms.py:252 build/views.py:65 +#: build/forms.py:240 build/views.py:65 msgid "Confirm build cancellation" msgstr "Bevestig annulering van de build" -#: build/forms.py:266 -msgid "Select quantity of stock to allocate" -msgstr "Selecteer de te toewijzen hoeveelheid voorraad" - -#: build/models.py:113 +#: build/models.py:115 msgid "Invalid choice for parent build" msgstr "Ongeldige keuze voor bovenliggende build" -#: build/models.py:117 build/templates/build/build_base.html:9 +#: build/models.py:119 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:73 #: report/templates/report/inventree_build_order_base.html:106 -#: templates/js/translated/build.js:260 +#: templates/js/translated/build.js:276 msgid "Build Order" msgstr "Bouwopdracht" -#: build/models.py:118 build/templates/build/index.html:8 +#: build/models.py:120 build/templates/build/index.html:8 #: build/templates/build/index.html:15 #: order/templates/order/sales_order_detail.html:34 #: order/templates/order/so_navbar.html:19 #: order/templates/order/so_navbar.html:22 part/templates/part/navbar.html:50 #: part/templates/part/navbar.html:53 templates/InvenTree/index.html:229 -#: templates/InvenTree/search.html:185 -#: templates/InvenTree/settings/navbar.html:101 -#: templates/InvenTree/settings/navbar.html:103 users/models.py:44 +#: templates/InvenTree/search.html:171 +#: templates/InvenTree/settings/navbar.html:113 +#: templates/InvenTree/settings/navbar.html:115 users/models.py:44 msgid "Build Orders" msgstr "Bouwopdrachten" -#: build/models.py:178 +#: build/models.py:180 msgid "Build Order Reference" msgstr "Bouwopdracht referentie" -#: build/models.py:179 order/models.py:246 order/models.py:539 -#: order/models.py:719 order/templates/order/sales_order_detail.html:360 -#: part/models.py:2365 part/templates/part/bom_upload/match_parts.html:30 +#: build/models.py:181 order/models.py:246 order/models.py:547 +#: order/models.py:727 part/models.py:2386 +#: part/templates/part/bom_upload/match_parts.html:30 #: report/templates/report/inventree_po_report.html:92 #: report/templates/report/inventree_so_report.html:92 -#: templates/js/translated/bom.js:237 templates/js/translated/build.js:718 -#: templates/js/translated/build.js:1183 templates/js/translated/order.js:517 +#: templates/js/translated/bom.js:256 templates/js/translated/build.js:734 +#: templates/js/translated/build.js:1509 templates/js/translated/order.js:863 +#: templates/js/translated/order.js:1438 msgid "Reference" msgstr "Referentie" -#: build/models.py:190 +#: build/models.py:192 msgid "Brief description of the build" msgstr "Korte beschrijving van de build" -#: build/models.py:199 build/templates/build/build_base.html:163 +#: build/models.py:201 build/templates/build/build_base.html:163 #: build/templates/build/detail.html:80 msgid "Parent Build" msgstr "Bovenliggende bouw" -#: build/models.py:200 +#: build/models.py:202 msgid "BuildOrder to which this build is allocated" msgstr "BuildOrder waaraan deze build is toegewezen" -#: build/models.py:205 build/templates/build/auto_allocate.html:16 -#: build/templates/build/build_base.html:128 -#: build/templates/build/detail.html:29 company/models.py:704 -#: order/models.py:772 order/models.py:837 -#: order/templates/order/order_wizard/select_parts.html:32 -#: order/templates/order/receive_parts.html:19 -#: order/templates/order/sales_order_detail.html:345 part/models.py:297 -#: part/models.py:1996 part/models.py:2012 part/models.py:2031 -#: part/models.py:2049 part/models.py:2128 part/models.py:2250 -#: part/models.py:2340 part/templates/part/detail.html:199 +#: build/models.py:207 build/templates/build/build_base.html:128 +#: build/templates/build/detail.html:29 company/models.py:705 +#: order/models.py:780 order/models.py:851 +#: order/templates/order/order_wizard/select_parts.html:32 part/models.py:298 +#: part/models.py:2000 part/models.py:2016 part/models.py:2035 +#: part/models.py:2053 part/models.py:2132 part/models.py:2254 +#: part/models.py:2361 part/templates/part/detail.html:199 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/set_category.html:13 #: report/templates/report/inventree_build_order_base.html:110 #: report/templates/report/inventree_po_report.html:90 #: report/templates/report/inventree_so_report.html:90 -#: templates/InvenTree/search.html:112 templates/InvenTree/search.html:210 -#: templates/js/translated/barcode.js:384 templates/js/translated/bom.js:203 -#: templates/js/translated/build.js:609 templates/js/translated/build.js:896 -#: templates/js/translated/build.js:1156 templates/js/translated/company.js:487 -#: templates/js/translated/company.js:743 templates/js/translated/order.js:471 -#: templates/js/translated/part.js:694 templates/js/translated/part.js:864 -#: templates/js/translated/stock.js:201 templates/js/translated/stock.js:797 -#: templates/js/translated/stock.js:1838 +#: templates/InvenTree/search.html:112 templates/js/translated/barcode.js:384 +#: templates/js/translated/bom.js:222 templates/js/translated/build.js:611 +#: templates/js/translated/build.js:974 templates/js/translated/build.js:1222 +#: templates/js/translated/build.js:1482 templates/js/translated/company.js:488 +#: templates/js/translated/company.js:745 templates/js/translated/order.js:425 +#: templates/js/translated/order.js:817 templates/js/translated/order.js:1422 +#: templates/js/translated/part.js:705 templates/js/translated/part.js:875 +#: templates/js/translated/stock.js:181 templates/js/translated/stock.js:776 +#: templates/js/translated/stock.js:1817 msgid "Part" msgstr "Onderdeel" -#: build/models.py:213 +#: build/models.py:215 msgid "Select part to build" msgstr "Selecteer onderdeel om te bouwen" -#: build/models.py:218 +#: build/models.py:220 msgid "Sales Order Reference" msgstr "Verkoop Order Referentie" -#: build/models.py:222 +#: build/models.py:224 msgid "SalesOrder to which this build is allocated" msgstr "Verkooporder waaraan deze build is toegewezen" -#: build/models.py:227 +#: build/models.py:229 templates/js/translated/build.js:962 msgid "Source Location" msgstr "Bron Locatie" -#: build/models.py:231 +#: build/models.py:233 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "Selecteer de locatie waar de voorraad van de build vandaan moet komen (laat leeg om vanaf elke standaard locatie te nemen)" -#: build/models.py:236 +#: build/models.py:238 msgid "Destination Location" msgstr "Bestemmings Locatie" -#: build/models.py:240 +#: build/models.py:242 msgid "Select location where the completed items will be stored" msgstr "Selecteer locatie waar de voltooide items zullen worden opgeslagen" -#: build/models.py:244 +#: build/models.py:246 msgid "Build Quantity" msgstr "Bouwkwaliteit" -#: build/models.py:247 +#: build/models.py:249 msgid "Number of stock items to build" msgstr "" -#: build/models.py:251 +#: build/models.py:253 msgid "Completed items" msgstr "Voltooide voorraadartikelen" -#: build/models.py:253 +#: build/models.py:255 msgid "Number of stock items which have been completed" msgstr "Aantal voorraadartikelen die zijn voltooid" -#: build/models.py:257 part/templates/part/part_base.html:198 +#: build/models.py:259 part/templates/part/part_base.html:198 msgid "Build Status" msgstr "Bouwstatus" -#: build/models.py:261 +#: build/models.py:263 msgid "Build status code" msgstr "Bouwstatuscode" -#: build/models.py:265 stock/models.py:513 +#: build/models.py:267 stock/models.py:513 msgid "Batch Code" msgstr "" -#: build/models.py:269 +#: build/models.py:271 msgid "Batch code for this build output" msgstr "" -#: build/models.py:272 order/models.py:162 part/models.py:853 -#: part/templates/part/part_base.html:272 templates/js/translated/order.js:723 +#: build/models.py:274 order/models.py:162 part/models.py:854 +#: part/templates/part/part_base.html:272 templates/js/translated/order.js:1069 msgid "Creation Date" msgstr "Aanmaakdatum" -#: build/models.py:276 order/models.py:561 +#: build/models.py:278 order/models.py:569 msgid "Target completion date" msgstr "Verwachte voltooiingsdatum" -#: build/models.py:280 order/models.py:288 templates/js/translated/build.js:967 +#: build/models.py:282 order/models.py:288 +#: templates/js/translated/build.js:1293 msgid "Completion Date" msgstr "Voltooiingsdatum" -#: build/models.py:286 +#: build/models.py:288 msgid "completed by" msgstr "voltooid door" -#: build/models.py:294 templates/js/translated/build.js:938 +#: build/models.py:296 templates/js/translated/build.js:1264 msgid "Issued by" msgstr "" -#: build/models.py:295 +#: build/models.py:297 msgid "User who issued this build order" msgstr "Gebruiker die bouwopdracht heeft gegeven" -#: build/models.py:303 build/templates/build/build_base.html:184 +#: build/models.py:305 build/templates/build/build_base.html:184 #: build/templates/build/detail.html:108 order/models.py:176 #: order/templates/order/order_base.html:138 -#: order/templates/order/sales_order_base.html:140 part/models.py:857 +#: order/templates/order/sales_order_base.html:145 part/models.py:858 #: report/templates/report/inventree_build_order_base.html:159 -#: templates/js/translated/build.js:950 +#: templates/js/translated/build.js:1276 msgid "Responsible" msgstr "Verantwoordelijke" -#: build/models.py:304 +#: build/models.py:306 msgid "User responsible for this build order" msgstr "Gebruiker verantwoordelijk voor deze bouwopdracht" -#: build/models.py:309 build/templates/build/detail.html:94 +#: build/models.py:311 build/templates/build/detail.html:94 #: company/templates/company/manufacturer_part.html:83 #: company/templates/company/supplier_part.html:82 #: part/templates/part/part_base.html:266 stock/models.py:507 @@ -856,140 +859,157 @@ msgstr "Gebruiker verantwoordelijk voor deze bouwopdracht" msgid "External Link" msgstr "Externe Link" -#: build/models.py:310 part/models.py:715 stock/models.py:509 +#: build/models.py:312 part/models.py:716 stock/models.py:509 msgid "Link to external URL" msgstr "Link naar externe URL" -#: build/models.py:314 build/templates/build/navbar.html:52 -#: company/models.py:141 company/models.py:576 +#: build/models.py:316 build/templates/build/navbar.html:52 +#: company/models.py:142 company/models.py:577 #: company/templates/company/navbar.html:69 #: company/templates/company/navbar.html:72 order/models.py:180 -#: order/models.py:721 order/templates/order/po_navbar.html:38 +#: order/models.py:729 order/templates/order/po_navbar.html:38 #: order/templates/order/po_navbar.html:41 -#: order/templates/order/sales_order_detail.html:440 #: order/templates/order/so_navbar.html:33 -#: order/templates/order/so_navbar.html:36 part/models.py:842 +#: order/templates/order/so_navbar.html:36 part/models.py:843 #: part/templates/part/detail.html:105 part/templates/part/navbar.html:120 #: part/templates/part/navbar.html:123 #: report/templates/report/inventree_build_order_base.html:173 #: stock/forms.py:138 stock/forms.py:250 stock/forms.py:282 stock/models.py:579 -#: stock/models.py:1726 stock/models.py:1832 +#: stock/models.py:1723 stock/models.py:1829 stock/serializers.py:451 #: stock/templates/stock/navbar.html:57 templates/js/translated/barcode.js:59 -#: templates/js/translated/bom.js:385 templates/js/translated/company.js:839 -#: templates/js/translated/order.js:604 templates/js/translated/stock.js:338 -#: templates/js/translated/stock.js:580 templates/js/translated/stock.js:1061 +#: templates/js/translated/bom.js:406 templates/js/translated/company.js:841 +#: templates/js/translated/order.js:950 templates/js/translated/order.js:1540 +#: templates/js/translated/stock.js:559 templates/js/translated/stock.js:1040 msgid "Notes" msgstr "Opmerkingen" -#: build/models.py:315 +#: build/models.py:317 msgid "Extra build notes" msgstr "Opmerkingen over de bouw" -#: build/models.py:792 +#: build/models.py:714 msgid "No build output specified" msgstr "Geen bouwuitvoer opgegeven" -#: build/models.py:795 +#: build/models.py:717 msgid "Build output is already completed" msgstr "Bouwuitvoer is al voltooid" -#: build/models.py:798 +#: build/models.py:720 msgid "Build output does not match Build Order" msgstr "Bouwuitvoer komt niet overeen met bouwopdracht" -#: build/models.py:1208 -msgid "BuildItem must be unique for build, stock_item and install_into" -msgstr "" - -#: build/models.py:1233 +#: build/models.py:1102 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1237 +#: build/models.py:1111 #, python-brace-format -msgid "Allocated quantity ({n}) must not exceed available quantity ({q})" +msgid "Allocated quantity ({q}) must not execed available stock quantity ({a})" msgstr "" -#: build/models.py:1244 order/models.py:938 -msgid "StockItem is over-allocated" +#: build/models.py:1121 +msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1248 order/models.py:941 +#: build/models.py:1127 order/models.py:955 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1252 +#: build/models.py:1133 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1312 -#, python-brace-format -msgid "Selected stock item not found in BOM for part '{p}'" -msgstr "Geselecteerde voorraadartikel niet gevonden in stuklijst voor onderdeel '{p}'" +#: build/models.py:1191 +msgid "Selected stock item not found in BOM" +msgstr "" -#: build/models.py:1372 stock/templates/stock/item_base.html:331 -#: templates/InvenTree/search.html:183 templates/js/translated/build.js:869 +#: build/models.py:1251 stock/templates/stock/item_base.html:331 +#: templates/InvenTree/search.html:169 templates/js/translated/build.js:1195 #: templates/navbar.html:35 msgid "Build" msgstr "Product" -#: build/models.py:1373 +#: build/models.py:1252 msgid "Build to allocate parts" msgstr "Bouw om onderdelen toe te wijzen" -#: build/models.py:1389 stock/templates/stock/item_base.html:8 +#: build/models.py:1268 build/serializers.py:151 +#: stock/templates/stock/item_base.html:8 #: stock/templates/stock/item_base.html:31 #: stock/templates/stock/item_base.html:353 #: stock/templates/stock/stock_adjust.html:16 -#: templates/js/translated/build.js:271 templates/js/translated/build.js:276 -#: templates/js/translated/build.js:1012 templates/js/translated/order.js:797 -#: templates/js/translated/order.js:802 templates/js/translated/stock.js:1626 +#: templates/js/translated/build.js:287 templates/js/translated/build.js:292 +#: templates/js/translated/build.js:976 templates/js/translated/build.js:1338 +#: templates/js/translated/order.js:1143 templates/js/translated/order.js:1148 +#: templates/js/translated/stock.js:1605 msgid "Stock Item" msgstr "Voorraadartikel" -#: build/models.py:1390 +#: build/models.py:1269 msgid "Source stock item" msgstr "Bron voorraadartikel" -#: build/models.py:1403 +#: build/models.py:1282 msgid "Stock quantity to allocate to build" msgstr "Voorraad hoeveelheid te alloceren aan bouw" -#: build/models.py:1411 +#: build/models.py:1290 msgid "Install into" msgstr "Installeren in" -#: build/models.py:1412 +#: build/models.py:1291 msgid "Destination stock item" msgstr "Bestemming voorraadartikel" +#: build/serializers.py:133 part/models.py:2501 +msgid "BOM Item" +msgstr "" + +#: build/serializers.py:142 +msgid "bom_item.part must point to the same part as the build order" +msgstr "" + +#: build/serializers.py:157 +msgid "Item must be in stock" +msgstr "" + +#: build/serializers.py:171 order/models.py:313 order/serializers.py:231 +#: stock/models.py:351 stock/models.py:1072 +msgid "Quantity must be greater than zero" +msgstr "" + +#: build/serializers.py:180 +msgid "Build Output" +msgstr "" + +#: build/serializers.py:213 +#, python-brace-format +msgid "Available quantity ({q}) exceeded" +msgstr "" + +#: build/serializers.py:219 +msgid "Build output must be specified for allocation of tracked parts" +msgstr "" + +#: build/serializers.py:226 +msgid "Build output cannot be specified for allocation of untracked parts" +msgstr "" + +#: build/serializers.py:254 +msgid "Allocation items must be provided" +msgstr "" + #: build/templates/build/allocation_card.html:21 #: build/templates/build/complete_output.html:46 -#: order/templates/order/sales_order_detail.html:206 -#: order/templates/order/sales_order_detail.html:291 #: report/templates/report/inventree_test_report_base.html:75 #: stock/models.py:501 stock/templates/stock/item_base.html:251 -#: templates/js/translated/build.js:627 -#: templates/js/translated/model_renderers.js:57 +#: templates/js/translated/build.js:636 +#: templates/js/translated/model_renderers.js:72 +#: templates/js/translated/order.js:1253 templates/js/translated/order.js:1342 msgid "Serial Number" msgstr "Serienummer" -#: build/templates/build/auto_allocate.html:9 -msgid "Automatically Allocate Stock" -msgstr "Automatisch voorraad toewijzen" - -#: build/templates/build/auto_allocate.html:10 -msgid "The following stock items will be allocated to the specified build output" -msgstr "De volgende voorraadartikelen zullen worden toegewezen aan het opgegeven product" - -#: build/templates/build/auto_allocate.html:37 -msgid "No stock items found that can be automatically allocated to this build" -msgstr "Geen voorraadartikelen gevonden die automatisch aan dit product toegewezen kunnen worden" - -#: build/templates/build/auto_allocate.html:39 -msgid "Stock items will have to be manually allocated" -msgstr "Voorraad items zullen handmatig moeten worden toegewezen" - #: build/templates/build/build_base.html:18 #, python-format msgid "This Build Order is allocated to Sales Order %(link)s" @@ -1033,10 +1053,10 @@ msgstr "Beheerder weergave" #: order/templates/order/order_base.html:32 #: order/templates/order/order_base.html:86 #: order/templates/order/sales_order_base.html:43 -#: order/templates/order/sales_order_base.html:88 +#: order/templates/order/sales_order_base.html:93 #: templates/js/translated/table_filters.js:272 -#: templates/js/translated/table_filters.js:291 -#: templates/js/translated/table_filters.js:308 +#: templates/js/translated/table_filters.js:300 +#: templates/js/translated/table_filters.js:317 msgid "Overdue" msgstr "Achterstallig" @@ -1086,14 +1106,14 @@ msgid "Progress" msgstr "Voortgang" #: build/templates/build/build_base.html:170 -#: build/templates/build/detail.html:87 order/models.py:835 +#: build/templates/build/detail.html:87 order/models.py:848 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:35 #: order/templates/order/sales_order_ship.html:25 #: report/templates/report/inventree_build_order_base.html:136 #: report/templates/report/inventree_so_report.html:77 #: stock/templates/stock/item_base.html:293 -#: templates/js/translated/order.js:670 +#: templates/js/translated/order.js:1016 msgid "Sales Order" msgstr "Verkoop Order" @@ -1171,28 +1191,6 @@ msgstr "" msgid "The following items will be created" msgstr "" -#: build/templates/build/create_build_item.html:7 -msgid "Select a stock item to allocate to the selected build output" -msgstr "" - -#: build/templates/build/create_build_item.html:11 -#, python-format -msgid "The allocated stock will be installed into the following build output:
%(output)s" -msgstr "" - -#: build/templates/build/create_build_item.html:17 -#, python-format -msgid "No stock available for %(part)s" -msgstr "" - -#: build/templates/build/delete_build_item.html:8 -msgid "Are you sure you want to unallocate this stock?" -msgstr "" - -#: build/templates/build/delete_build_item.html:11 -msgid "The selected stock will be unallocated from the build output" -msgstr "" - #: build/templates/build/detail.html:38 msgid "Stock Source" msgstr "Voorraadbron" @@ -1201,9 +1199,8 @@ msgstr "Voorraadbron" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/forms.py:88 order/models.py:794 -#: order/templates/order/receive_parts.html:25 stock/forms.py:134 -#: templates/js/translated/order.js:593 +#: build/templates/build/detail.html:49 order/models.py:802 stock/forms.py:134 +#: templates/js/translated/order.js:431 templates/js/translated/order.js:939 msgid "Destination" msgstr "" @@ -1213,7 +1210,7 @@ msgstr "" #: build/templates/build/detail.html:73 #: stock/templates/stock/item_base.html:317 -#: templates/js/translated/stock.js:931 templates/js/translated/stock.js:1873 +#: templates/js/translated/stock.js:910 templates/js/translated/stock.js:1852 #: templates/js/translated/table_filters.js:129 #: templates/js/translated/table_filters.js:211 msgid "Batch" @@ -1221,8 +1218,8 @@ msgstr "Batch" #: build/templates/build/detail.html:119 #: order/templates/order/order_base.html:111 -#: order/templates/order/sales_order_base.html:113 -#: templates/js/translated/build.js:933 +#: order/templates/order/sales_order_base.html:118 +#: templates/js/translated/build.js:1259 msgid "Created" msgstr "Gecreëerd" @@ -1230,7 +1227,8 @@ msgstr "Gecreëerd" msgid "No target date set" msgstr "Geen doeldatum ingesteld" -#: build/templates/build/detail.html:135 templates/js/translated/build.js:911 +#: build/templates/build/detail.html:135 templates/js/translated/build.js:1237 +#: templates/js/translated/table_filters.js:282 msgid "Completed" msgstr "" @@ -1250,15 +1248,16 @@ msgstr "" msgid "Allocate stock to build" msgstr "" -#: build/templates/build/detail.html:173 -msgid "Auto Allocate" -msgstr "Automatisch toewijzen" +#: build/templates/build/detail.html:173 build/templates/build/navbar.html:20 +#: build/templates/build/navbar.html:23 +msgid "Allocate Stock" +msgstr "" -#: build/templates/build/detail.html:175 templates/js/translated/build.js:801 +#: build/templates/build/detail.html:175 templates/js/translated/build.js:817 msgid "Unallocate stock" msgstr "Niet toegewezen voorraad" -#: build/templates/build/detail.html:176 build/views.py:318 build/views.py:638 +#: build/templates/build/detail.html:176 build/views.py:257 msgid "Unallocate Stock" msgstr "Niet toegewezen voorraad" @@ -1268,7 +1267,7 @@ msgstr "" #: build/templates/build/detail.html:180 #: company/templates/company/detail.html:32 -#: company/templates/company/detail.html:72 order/views.py:679 +#: company/templates/company/detail.html:72 order/views.py:509 #: part/templates/part/category.html:140 msgid "Order Parts" msgstr "Bestel onderdelen" @@ -1282,38 +1281,42 @@ msgid "Untracked stock has not been fully allocated for this Build Order" msgstr "" #: build/templates/build/detail.html:197 +msgid "Allocate selected items" +msgstr "" + +#: build/templates/build/detail.html:209 msgid "This Build Order does not have any associated untracked BOM items" msgstr "" -#: build/templates/build/detail.html:206 +#: build/templates/build/detail.html:218 msgid "Incomplete Build Outputs" msgstr "" -#: build/templates/build/detail.html:211 +#: build/templates/build/detail.html:223 msgid "Create new build output" msgstr "" -#: build/templates/build/detail.html:212 +#: build/templates/build/detail.html:224 msgid "Create New Output" msgstr "" -#: build/templates/build/detail.html:225 +#: build/templates/build/detail.html:237 msgid "Create a new build output" msgstr "" -#: build/templates/build/detail.html:226 +#: build/templates/build/detail.html:238 msgid "No incomplete build outputs remain." msgstr "" -#: build/templates/build/detail.html:227 +#: build/templates/build/detail.html:239 msgid "Create a new build output using the button above" msgstr "" -#: build/templates/build/detail.html:235 +#: build/templates/build/detail.html:247 msgid "Completed Build Outputs" msgstr "" -#: build/templates/build/detail.html:246 build/templates/build/navbar.html:42 +#: build/templates/build/detail.html:258 build/templates/build/navbar.html:42 #: build/templates/build/navbar.html:45 order/templates/order/po_navbar.html:35 #: order/templates/order/sales_order_detail.html:43 #: order/templates/order/so_navbar.html:29 part/templates/part/detail.html:173 @@ -1323,15 +1326,15 @@ msgstr "" msgid "Attachments" msgstr "Bijlagen" -#: build/templates/build/detail.html:257 +#: build/templates/build/detail.html:269 msgid "Build Notes" msgstr "Bouw notities" -#: build/templates/build/detail.html:261 build/templates/build/detail.html:398 +#: build/templates/build/detail.html:273 build/templates/build/detail.html:414 #: company/templates/company/detail.html:169 #: company/templates/company/detail.html:196 -#: order/templates/order/purchase_order_detail.html:62 -#: order/templates/order/purchase_order_detail.html:95 +#: order/templates/order/purchase_order_detail.html:71 +#: order/templates/order/purchase_order_detail.html:104 #: order/templates/order/sales_order_detail.html:58 #: order/templates/order/sales_order_detail.html:85 #: part/templates/part/detail.html:109 stock/templates/stock/item.html:103 @@ -1339,39 +1342,48 @@ msgstr "Bouw notities" msgid "Edit Notes" msgstr "Notities Bewerken" -#: build/templates/build/detail.html:357 +#: build/templates/build/detail.html:373 #: order/templates/order/po_attachments.html:79 -#: order/templates/order/purchase_order_detail.html:157 +#: order/templates/order/purchase_order_detail.html:166 #: order/templates/order/sales_order_detail.html:146 -#: part/templates/part/detail.html:920 stock/templates/stock/item.html:253 +#: part/templates/part/detail.html:891 stock/templates/stock/item.html:253 #: templates/attachment_table.html:6 msgid "Add Attachment" msgstr "" -#: build/templates/build/detail.html:376 +#: build/templates/build/detail.html:392 #: order/templates/order/po_attachments.html:51 -#: order/templates/order/purchase_order_detail.html:129 +#: order/templates/order/purchase_order_detail.html:138 #: order/templates/order/sales_order_detail.html:119 -#: part/templates/part/detail.html:874 stock/templates/stock/item.html:221 +#: part/templates/part/detail.html:845 stock/templates/stock/item.html:221 msgid "Edit Attachment" msgstr "" -#: build/templates/build/detail.html:383 +#: build/templates/build/detail.html:399 #: order/templates/order/po_attachments.html:58 -#: order/templates/order/purchase_order_detail.html:136 +#: order/templates/order/purchase_order_detail.html:145 #: order/templates/order/sales_order_detail.html:125 -#: part/templates/part/detail.html:883 stock/templates/stock/item.html:230 +#: part/templates/part/detail.html:854 stock/templates/stock/item.html:230 +#: templates/js/translated/order.js:1230 msgid "Confirm Delete Operation" msgstr "" -#: build/templates/build/detail.html:384 +#: build/templates/build/detail.html:400 #: order/templates/order/po_attachments.html:59 -#: order/templates/order/purchase_order_detail.html:137 +#: order/templates/order/purchase_order_detail.html:146 #: order/templates/order/sales_order_detail.html:126 -#: part/templates/part/detail.html:884 stock/templates/stock/item.html:231 +#: part/templates/part/detail.html:855 stock/templates/stock/item.html:231 msgid "Delete Attachment" msgstr "" +#: build/templates/build/detail.html:443 +msgid "Allocation Complete" +msgstr "" + +#: build/templates/build/detail.html:444 +msgid "All untracked stock items have been allocated" +msgstr "" + #: build/templates/build/edit_build_item.html:7 msgid "Alter the quantity of stock allocated to the build output" msgstr "" @@ -1401,15 +1413,10 @@ msgid "Build Order Details" msgstr "" #: build/templates/build/navbar.html:15 order/templates/order/po_navbar.html:15 -#: templates/js/translated/stock.js:1555 +#: templates/js/translated/stock.js:1534 msgid "Details" msgstr "" -#: build/templates/build/navbar.html:20 build/templates/build/navbar.html:23 -#: build/views.py:90 -msgid "Allocate Stock" -msgstr "" - #: build/templates/build/navbar.html:28 build/templates/build/navbar.html:31 msgid "Build Outputs" msgstr "" @@ -1434,120 +1441,82 @@ msgstr "" msgid "Build was cancelled" msgstr "" -#: build/views.py:137 -msgid "Allocated stock to build output" -msgstr "" - -#: build/views.py:149 +#: build/views.py:88 msgid "Create Build Output" msgstr "" -#: build/views.py:167 +#: build/views.py:106 msgid "Maximum output quantity is " msgstr "" -#: build/views.py:183 stock/views.py:1389 +#: build/views.py:122 stock/views.py:1366 msgid "Serial numbers already exist" msgstr "" -#: build/views.py:192 +#: build/views.py:131 msgid "Serial numbers required for trackable build output" msgstr "" -#: build/views.py:258 +#: build/views.py:197 msgid "Delete Build Output" msgstr "" -#: build/views.py:279 build/views.py:369 +#: build/views.py:218 build/views.py:308 msgid "Confirm unallocation of build stock" msgstr "" -#: build/views.py:280 build/views.py:370 stock/views.py:404 +#: build/views.py:219 build/views.py:309 stock/views.py:381 msgid "Check the confirmation box" msgstr "" -#: build/views.py:292 +#: build/views.py:231 msgid "Build output does not match build" msgstr "" -#: build/views.py:294 build/views.py:495 +#: build/views.py:233 build/views.py:434 msgid "Build output must be specified" msgstr "" -#: build/views.py:306 +#: build/views.py:245 msgid "Build output deleted" msgstr "" -#: build/views.py:404 +#: build/views.py:343 msgid "Complete Build Order" msgstr "" -#: build/views.py:410 +#: build/views.py:349 msgid "Build order cannot be completed - incomplete outputs remain" msgstr "" -#: build/views.py:421 +#: build/views.py:360 msgid "Completed build order" msgstr "" -#: build/views.py:437 +#: build/views.py:376 msgid "Complete Build Output" msgstr "" -#: build/views.py:479 +#: build/views.py:418 msgid "Invalid stock status value selected" msgstr "" -#: build/views.py:486 +#: build/views.py:425 msgid "Quantity to complete cannot exceed build output quantity" msgstr "" -#: build/views.py:492 +#: build/views.py:431 msgid "Confirm completion of incomplete build" msgstr "" -#: build/views.py:591 +#: build/views.py:530 msgid "Build output completed" msgstr "" -#: build/views.py:628 +#: build/views.py:567 msgid "Delete Build Order" msgstr "" -#: build/views.py:643 -msgid "Removed parts from build allocation" -msgstr "" - -#: build/views.py:655 -msgid "Allocate stock to build output" -msgstr "" - -#: build/views.py:698 -msgid "Item must be currently in stock" -msgstr "" - -#: build/views.py:704 -msgid "Stock item is over-allocated" -msgstr "" - -#: build/views.py:705 templates/js/translated/bom.js:269 -#: templates/js/translated/build.js:728 templates/js/translated/build.js:1019 -#: templates/js/translated/build.js:1196 -msgid "Available" -msgstr "" - -#: build/views.py:707 -msgid "Stock item must be selected" -msgstr "" - -#: build/views.py:870 -msgid "Edit Stock Allocation" -msgstr "" - -#: build/views.py:874 -msgid "Updated Build Item" -msgstr "" - #: common/files.py:67 msgid "Unsupported file format: {ext.upper()}" msgstr "" @@ -1585,7 +1554,7 @@ msgstr "" msgid "Select {name} file to upload" msgstr "" -#: common/models.py:308 common/models.py:839 common/models.py:986 +#: common/models.py:308 common/models.py:887 common/models.py:1048 msgid "Settings key (must be unique - case insensitive" msgstr "Instellingssleutel (moet uniek zijn - hoofdletter ongevoelig" @@ -1625,7 +1594,7 @@ msgstr "Gebruik de instantie naam" msgid "Use the instance name in the title-bar" msgstr "Gebruik de naam van de instantie in de titelbalk" -#: common/models.py:522 company/models.py:99 company/models.py:100 +#: common/models.py:522 company/models.py:100 company/models.py:101 msgid "Company name" msgstr "Bedrijfsnaam" @@ -1721,9 +1690,9 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:603 part/models.py:2252 report/models.py:187 +#: common/models.py:603 part/models.py:2256 report/models.py:187 #: stock/forms.py:224 templates/js/translated/table_filters.js:38 -#: templates/js/translated/table_filters.js:342 +#: templates/js/translated/table_filters.js:351 msgid "Template" msgstr "" @@ -1731,9 +1700,9 @@ msgstr "" msgid "Parts are templates by default" msgstr "" -#: common/models.py:610 part/models.py:805 +#: common/models.py:610 part/models.py:806 #: templates/js/translated/table_filters.js:146 -#: templates/js/translated/table_filters.js:354 +#: templates/js/translated/table_filters.js:363 msgid "Assembly" msgstr "" @@ -1741,8 +1710,8 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:617 part/models.py:811 -#: templates/js/translated/table_filters.js:358 +#: common/models.py:617 part/models.py:812 +#: templates/js/translated/table_filters.js:367 msgid "Component" msgstr "" @@ -1750,7 +1719,7 @@ msgstr "" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:624 part/models.py:822 +#: common/models.py:624 part/models.py:823 msgid "Purchaseable" msgstr "" @@ -1758,8 +1727,8 @@ msgstr "" msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:631 part/models.py:827 -#: templates/js/translated/table_filters.js:366 +#: common/models.py:631 part/models.py:828 +#: templates/js/translated/table_filters.js:375 msgid "Salable" msgstr "" @@ -1767,9 +1736,9 @@ msgstr "" msgid "Parts are salable by default" msgstr "" -#: common/models.py:638 part/models.py:817 +#: common/models.py:638 part/models.py:818 #: templates/js/translated/table_filters.js:46 -#: templates/js/translated/table_filters.js:370 +#: templates/js/translated/table_filters.js:379 msgid "Trackable" msgstr "" @@ -1777,7 +1746,7 @@ msgstr "" msgid "Parts are trackable by default" msgstr "" -#: common/models.py:645 part/models.py:837 +#: common/models.py:645 part/models.py:838 #: part/templates/part/part_base.html:66 #: templates/js/translated/table_filters.js:42 msgid "Virtual" @@ -1787,392 +1756,464 @@ msgstr "" msgid "Parts are virtual by default" msgstr "" -#: common/models.py:653 -msgid "Show Quantity in Forms" -msgstr "" - -#: common/models.py:654 -msgid "Display available part quantity in some forms" -msgstr "" - -#: common/models.py:660 +#: common/models.py:652 msgid "Show Import in Views" msgstr "" -#: common/models.py:661 +#: common/models.py:653 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:667 +#: common/models.py:659 msgid "Show Price in Forms" msgstr "" -#: common/models.py:668 +#: common/models.py:660 msgid "Display part price in some forms" msgstr "" -#: common/models.py:674 +#: common/models.py:671 +msgid "Show Price in BOM" +msgstr "" + +#: common/models.py:672 +msgid "Include pricing information in BOM tables" +msgstr "" + +#: common/models.py:678 msgid "Show related parts" msgstr "" -#: common/models.py:675 +#: common/models.py:679 msgid "Display related parts for a part" msgstr "" -#: common/models.py:681 +#: common/models.py:685 msgid "Create initial stock" msgstr "" -#: common/models.py:682 +#: common/models.py:686 msgid "Create initial stock on part creation" msgstr "" -#: common/models.py:688 +#: common/models.py:692 msgid "Internal Prices" msgstr "Interne prijzen" -#: common/models.py:689 +#: common/models.py:693 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:695 +#: common/models.py:699 msgid "Internal Price as BOM-Price" msgstr "" -#: common/models.py:696 +#: common/models.py:700 msgid "Use the internal price (if set) in BOM-price calculations" msgstr "" -#: common/models.py:702 templates/stats.html:25 +#: common/models.py:706 templates/stats.html:25 msgid "Debug Mode" msgstr "Foutopsporingsmodus" -#: common/models.py:703 +#: common/models.py:707 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:709 +#: common/models.py:713 msgid "Page Size" msgstr "Paginagrootte" -#: common/models.py:710 +#: common/models.py:714 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:720 +#: common/models.py:724 msgid "Test Reports" msgstr "Testrapport" -#: common/models.py:721 +#: common/models.py:725 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:727 +#: common/models.py:731 msgid "Stock Expiry" msgstr "Verlopen voorraad" -#: common/models.py:728 +#: common/models.py:732 msgid "Enable stock expiry functionality" msgstr "Verlopen voorraad functionaliteit inschakelen" -#: common/models.py:734 +#: common/models.py:738 msgid "Sell Expired Stock" msgstr "Verkoop verlopen voorraad" -#: common/models.py:735 +#: common/models.py:739 msgid "Allow sale of expired stock" msgstr "Verkoop verlopen voorraad toestaan" -#: common/models.py:741 +#: common/models.py:745 msgid "Stock Stale Time" msgstr "" -#: common/models.py:742 +#: common/models.py:746 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:744 +#: common/models.py:748 msgid "days" msgstr "dagen" -#: common/models.py:749 +#: common/models.py:753 msgid "Build Expired Stock" msgstr "" -#: common/models.py:750 +#: common/models.py:754 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:756 +#: common/models.py:760 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:757 +#: common/models.py:761 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:763 +#: common/models.py:767 msgid "Group by Part" msgstr "" -#: common/models.py:764 +#: common/models.py:768 msgid "Group stock items by part reference in table views" msgstr "" -#: common/models.py:770 +#: common/models.py:774 msgid "Build Order Reference Prefix" msgstr "" -#: common/models.py:771 +#: common/models.py:775 msgid "Prefix value for build order reference" msgstr "" -#: common/models.py:776 +#: common/models.py:780 msgid "Build Order Reference Regex" msgstr "" -#: common/models.py:777 +#: common/models.py:781 msgid "Regular expression pattern for matching build order reference" msgstr "" -#: common/models.py:781 +#: common/models.py:785 msgid "Sales Order Reference Prefix" msgstr "" -#: common/models.py:782 +#: common/models.py:786 msgid "Prefix value for sales order reference" msgstr "" -#: common/models.py:787 +#: common/models.py:791 msgid "Purchase Order Reference Prefix" msgstr "" -#: common/models.py:788 +#: common/models.py:792 msgid "Prefix value for purchase order reference" msgstr "" -#: common/models.py:794 +#: common/models.py:798 msgid "Enable build" msgstr "" -#: common/models.py:795 +#: common/models.py:799 msgid "Enable build functionality in InvenTree interface" msgstr "" -#: common/models.py:800 +#: common/models.py:804 msgid "Enable buy" msgstr "" -#: common/models.py:801 +#: common/models.py:805 msgid "Enable buy functionality in InvenTree interface" msgstr "" -#: common/models.py:806 +#: common/models.py:810 msgid "Enable sell" msgstr "" -#: common/models.py:807 +#: common/models.py:811 msgid "Enable sell functionality in InvenTree interface" msgstr "" -#: common/models.py:812 +#: common/models.py:816 msgid "Enable stock" msgstr "" -#: common/models.py:813 +#: common/models.py:817 msgid "Enable stock functionality in InvenTree interface" msgstr "" -#: common/models.py:818 +#: common/models.py:822 msgid "Enable SO" msgstr "" -#: common/models.py:819 +#: common/models.py:823 msgid "Enable SO functionality in InvenTree interface" msgstr "" -#: common/models.py:824 +#: common/models.py:828 msgid "Enable PO" msgstr "" -#: common/models.py:825 +#: common/models.py:829 msgid "Enable PO functionality in InvenTree interface" msgstr "" -#: common/models.py:850 +#: common/models.py:836 +msgid "Enable password forgot" +msgstr "" + +#: common/models.py:837 +msgid "Enable password forgot function on the login-pages" +msgstr "" + +#: common/models.py:842 +msgid "Enable registration" +msgstr "" + +#: common/models.py:843 +msgid "Enable self-registration for users on the login-pages" +msgstr "" + +#: common/models.py:848 +msgid "Enable SSO" +msgstr "" + +#: common/models.py:849 +msgid "Enable SSO on the login-pages" +msgstr "" + +#: common/models.py:854 +msgid "E-Mail required" +msgstr "" + +#: common/models.py:855 +msgid "Require user to supply mail on signup" +msgstr "" + +#: common/models.py:860 +msgid "Auto-fill SSO users" +msgstr "" + +#: common/models.py:861 +msgid "Automatically fill out user-details from SSO account-data" +msgstr "" + +#: common/models.py:866 +msgid "Mail twice" +msgstr "" + +#: common/models.py:867 +msgid "On signup ask users twice for their mail" +msgstr "" + +#: common/models.py:872 +msgid "Password twice" +msgstr "" + +#: common/models.py:873 +msgid "On signup ask users twice for their password" +msgstr "" + +#: common/models.py:898 msgid "Show starred parts" msgstr "" -#: common/models.py:851 +#: common/models.py:899 msgid "Show starred parts on the homepage" msgstr "" -#: common/models.py:856 +#: common/models.py:904 msgid "Show latest parts" msgstr "" -#: common/models.py:857 +#: common/models.py:905 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:862 +#: common/models.py:910 msgid "Recent Part Count" msgstr "" -#: common/models.py:863 +#: common/models.py:911 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:869 +#: common/models.py:917 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:870 +#: common/models.py:918 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:875 +#: common/models.py:923 msgid "Show recent stock changes" msgstr "" -#: common/models.py:876 +#: common/models.py:924 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:881 +#: common/models.py:929 msgid "Recent Stock Count" msgstr "" -#: common/models.py:882 +#: common/models.py:930 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:887 +#: common/models.py:935 msgid "Show low stock" msgstr "" -#: common/models.py:888 +#: common/models.py:936 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:893 +#: common/models.py:941 msgid "Show depleted stock" msgstr "" -#: common/models.py:894 +#: common/models.py:942 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:899 +#: common/models.py:947 msgid "Show needed stock" msgstr "" -#: common/models.py:900 +#: common/models.py:948 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:905 +#: common/models.py:953 msgid "Show expired stock" msgstr "" -#: common/models.py:906 +#: common/models.py:954 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:911 +#: common/models.py:959 msgid "Show stale stock" msgstr "" -#: common/models.py:912 +#: common/models.py:960 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:917 +#: common/models.py:965 msgid "Show pending builds" msgstr "" -#: common/models.py:918 +#: common/models.py:966 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:923 +#: common/models.py:971 msgid "Show overdue builds" msgstr "" -#: common/models.py:924 +#: common/models.py:972 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:929 +#: common/models.py:977 msgid "Show outstanding POs" msgstr "" -#: common/models.py:930 +#: common/models.py:978 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:935 +#: common/models.py:983 msgid "Show overdue POs" msgstr "" -#: common/models.py:936 +#: common/models.py:984 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:941 +#: common/models.py:989 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:942 +#: common/models.py:990 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:947 +#: common/models.py:995 msgid "Show overdue SOs" msgstr "" -#: common/models.py:948 +#: common/models.py:996 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:954 +#: common/models.py:1002 msgid "Inline label display" msgstr "" -#: common/models.py:955 +#: common/models.py:1003 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:961 +#: common/models.py:1009 msgid "Inline report display" msgstr "" -#: common/models.py:962 +#: common/models.py:1010 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:968 +#: common/models.py:1016 msgid "Search Preview Results" msgstr "" -#: common/models.py:969 +#: common/models.py:1017 msgid "Number of results to show in search preview window" msgstr "" -#: common/models.py:1026 company/forms.py:43 +#: common/models.py:1023 +msgid "Show Quantity in Forms" +msgstr "" + +#: common/models.py:1024 +msgid "Display available part quantity in some forms" +msgstr "" + +#: common/models.py:1030 +msgid "Escape Key Closes Forms" +msgstr "" + +#: common/models.py:1031 +msgid "Use the escape key to close modal forms" +msgstr "" + +#: common/models.py:1088 company/forms.py:43 msgid "Price break quantity" msgstr "" -#: common/models.py:1033 company/templates/company/supplier_part.html:231 -#: templates/js/translated/part.js:1322 +#: common/models.py:1095 company/templates/company/supplier_part.html:231 +#: templates/js/translated/part.js:1369 msgid "Price" msgstr "" -#: common/models.py:1034 +#: common/models.py:1096 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1127 +#: common/models.py:1189 msgid "Default" msgstr "" @@ -2199,7 +2240,7 @@ msgstr "" #: common/views.py:213 order/templates/order/order_wizard/po_upload.html:42 #: order/templates/order/po_navbar.html:19 #: order/templates/order/po_navbar.html:22 -#: order/templates/order/purchase_order_detail.html:26 order/views.py:290 +#: order/templates/order/purchase_order_detail.html:27 order/views.py:289 #: part/templates/part/bom_upload/upload_file.html:65 #: part/templates/part/import_wizard/part_upload.html:45 part/views.py:268 #: part/views.py:882 @@ -2207,7 +2248,7 @@ msgid "Upload File" msgstr "" #: common/views.py:214 order/templates/order/order_wizard/match_fields.html:52 -#: order/views.py:291 part/templates/part/bom_upload/match_fields.html:52 +#: order/views.py:290 part/templates/part/bom_upload/match_fields.html:52 #: part/templates/part/import_wizard/ajax_match_fields.html:45 #: part/templates/part/import_wizard/match_fields.html:52 part/views.py:269 #: part/views.py:883 @@ -2246,249 +2287,249 @@ msgstr "" msgid "Image URL" msgstr "" -#: company/models.py:104 +#: company/models.py:105 msgid "Company description" msgstr "" -#: company/models.py:105 +#: company/models.py:106 msgid "Description of the company" msgstr "" -#: company/models.py:111 company/templates/company/company_base.html:70 +#: company/models.py:112 company/templates/company/company_base.html:70 #: templates/js/translated/company.js:348 msgid "Website" msgstr "" -#: company/models.py:112 +#: company/models.py:113 msgid "Company website URL" msgstr "" -#: company/models.py:116 company/templates/company/company_base.html:88 +#: company/models.py:117 company/templates/company/company_base.html:88 msgid "Address" msgstr "" -#: company/models.py:117 +#: company/models.py:118 msgid "Company address" msgstr "" -#: company/models.py:120 +#: company/models.py:121 msgid "Phone number" msgstr "" -#: company/models.py:121 +#: company/models.py:122 msgid "Contact phone number" msgstr "" -#: company/models.py:124 company/templates/company/company_base.html:102 +#: company/models.py:125 company/templates/company/company_base.html:102 msgid "Email" msgstr "" -#: company/models.py:124 +#: company/models.py:125 msgid "Contact email address" msgstr "" -#: company/models.py:127 company/templates/company/company_base.html:109 +#: company/models.py:128 company/templates/company/company_base.html:109 msgid "Contact" msgstr "" -#: company/models.py:128 +#: company/models.py:129 msgid "Point of contact" msgstr "" -#: company/models.py:130 company/models.py:347 company/models.py:563 -#: order/models.py:160 part/models.py:714 +#: company/models.py:131 company/models.py:348 company/models.py:564 +#: order/models.py:160 part/models.py:715 #: report/templates/report/inventree_build_order_base.html:165 -#: templates/js/translated/company.js:535 -#: templates/js/translated/company.js:823 templates/js/translated/part.js:972 +#: templates/js/translated/company.js:536 +#: templates/js/translated/company.js:825 templates/js/translated/part.js:983 msgid "Link" msgstr "" -#: company/models.py:130 +#: company/models.py:131 msgid "Link to external company information" msgstr "" -#: company/models.py:138 part/models.py:724 +#: company/models.py:139 part/models.py:725 msgid "Image" msgstr "" -#: company/models.py:143 +#: company/models.py:144 msgid "is customer" msgstr "" -#: company/models.py:143 +#: company/models.py:144 msgid "Do you sell items to this company?" msgstr "" -#: company/models.py:145 +#: company/models.py:146 msgid "is supplier" msgstr "" -#: company/models.py:145 +#: company/models.py:146 msgid "Do you purchase items from this company?" msgstr "" -#: company/models.py:147 +#: company/models.py:148 msgid "is manufacturer" msgstr "" -#: company/models.py:147 +#: company/models.py:148 msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:151 company/serializers.py:264 -#: company/templates/company/company_base.html:76 stock/serializers.py:155 +#: company/models.py:152 company/serializers.py:264 +#: company/templates/company/company_base.html:76 stock/serializers.py:158 msgid "Currency" msgstr "" -#: company/models.py:154 +#: company/models.py:155 msgid "Default currency used for this company" msgstr "" -#: company/models.py:319 company/models.py:534 stock/models.py:454 +#: company/models.py:320 company/models.py:535 stock/models.py:454 #: stock/templates/stock/item_base.html:237 msgid "Base Part" msgstr "" -#: company/models.py:323 company/models.py:538 order/views.py:1082 +#: company/models.py:324 company/models.py:539 order/views.py:912 msgid "Select part" msgstr "" -#: company/models.py:334 company/templates/company/company_base.html:116 +#: company/models.py:335 company/templates/company/company_base.html:116 #: company/templates/company/manufacturer_part.html:89 #: company/templates/company/supplier_part.html:98 part/bom.py:170 -#: part/bom.py:241 stock/templates/stock/item_base.html:366 +#: part/bom.py:247 stock/templates/stock/item_base.html:366 #: templates/js/translated/company.js:332 -#: templates/js/translated/company.js:512 -#: templates/js/translated/company.js:794 templates/js/translated/part.js:222 +#: templates/js/translated/company.js:513 +#: templates/js/translated/company.js:796 templates/js/translated/part.js:227 msgid "Manufacturer" msgstr "" -#: company/models.py:335 templates/js/translated/part.js:223 +#: company/models.py:336 templates/js/translated/part.js:228 msgid "Select manufacturer" msgstr "" -#: company/models.py:341 company/templates/company/manufacturer_part.html:93 +#: company/models.py:342 company/templates/company/manufacturer_part.html:93 #: company/templates/company/supplier_part.html:106 part/bom.py:171 -#: part/bom.py:242 templates/js/translated/company.js:528 -#: templates/js/translated/company.js:812 templates/js/translated/order.js:505 -#: templates/js/translated/part.js:233 +#: part/bom.py:248 templates/js/translated/company.js:529 +#: templates/js/translated/company.js:814 templates/js/translated/order.js:851 +#: templates/js/translated/part.js:238 msgid "MPN" msgstr "" -#: company/models.py:342 templates/js/translated/part.js:234 +#: company/models.py:343 templates/js/translated/part.js:239 msgid "Manufacturer Part Number" msgstr "" -#: company/models.py:348 +#: company/models.py:349 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:354 +#: company/models.py:355 msgid "Manufacturer part description" msgstr "" -#: company/models.py:408 company/models.py:557 +#: company/models.py:409 company/models.py:558 #: company/templates/company/manufacturer_part.html:6 #: company/templates/company/manufacturer_part.html:23 #: stock/templates/stock/item_base.html:376 msgid "Manufacturer Part" msgstr "" -#: company/models.py:415 +#: company/models.py:416 msgid "Parameter name" msgstr "" -#: company/models.py:421 +#: company/models.py:422 #: report/templates/report/inventree_test_report_base.html:90 -#: stock/models.py:1819 templates/InvenTree/settings/header.html:8 -#: templates/js/translated/company.js:642 templates/js/translated/part.js:612 -#: templates/js/translated/stock.js:576 +#: stock/models.py:1816 templates/InvenTree/settings/header.html:8 +#: templates/js/translated/company.js:643 templates/js/translated/part.js:623 +#: templates/js/translated/stock.js:555 msgid "Value" msgstr "" -#: company/models.py:422 +#: company/models.py:423 msgid "Parameter value" msgstr "" -#: company/models.py:428 part/models.py:799 part/models.py:2220 -#: templates/js/translated/company.js:648 templates/js/translated/part.js:618 +#: company/models.py:429 part/models.py:800 part/models.py:2224 +#: templates/js/translated/company.js:649 templates/js/translated/part.js:629 msgid "Units" msgstr "" -#: company/models.py:429 +#: company/models.py:430 msgid "Parameter units" msgstr "" -#: company/models.py:501 +#: company/models.py:502 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:544 company/templates/company/company_base.html:121 +#: company/models.py:545 company/templates/company/company_base.html:121 #: company/templates/company/supplier_part.html:88 order/models.py:260 #: order/templates/order/order_base.html:92 #: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:175 -#: part/bom.py:286 stock/templates/stock/item_base.html:383 +#: part/bom.py:292 stock/templates/stock/item_base.html:383 #: templates/js/translated/company.js:336 -#: templates/js/translated/company.js:768 templates/js/translated/order.js:328 -#: templates/js/translated/part.js:203 +#: templates/js/translated/company.js:770 templates/js/translated/order.js:659 +#: templates/js/translated/part.js:208 msgid "Supplier" msgstr "" -#: company/models.py:545 templates/js/translated/part.js:204 +#: company/models.py:546 templates/js/translated/part.js:209 msgid "Select supplier" msgstr "" -#: company/models.py:550 company/templates/company/supplier_part.html:92 -#: part/bom.py:176 part/bom.py:287 templates/js/translated/order.js:492 -#: templates/js/translated/part.js:214 +#: company/models.py:551 company/templates/company/supplier_part.html:92 +#: part/bom.py:176 part/bom.py:293 templates/js/translated/order.js:838 +#: templates/js/translated/part.js:219 msgid "SKU" msgstr "" -#: company/models.py:551 templates/js/translated/part.js:215 +#: company/models.py:552 templates/js/translated/part.js:220 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:558 +#: company/models.py:559 msgid "Select manufacturer part" msgstr "" -#: company/models.py:564 +#: company/models.py:565 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:570 +#: company/models.py:571 msgid "Supplier part description" msgstr "" -#: company/models.py:575 company/templates/company/supplier_part.html:120 -#: part/models.py:2368 report/templates/report/inventree_po_report.html:93 +#: company/models.py:576 company/templates/company/supplier_part.html:120 +#: part/models.py:2389 report/templates/report/inventree_po_report.html:93 #: report/templates/report/inventree_so_report.html:93 msgid "Note" msgstr "" -#: company/models.py:579 part/models.py:1599 +#: company/models.py:580 part/models.py:1603 msgid "base cost" msgstr "" -#: company/models.py:579 part/models.py:1599 +#: company/models.py:580 part/models.py:1603 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:581 company/templates/company/supplier_part.html:113 +#: company/models.py:582 company/templates/company/supplier_part.html:113 #: stock/models.py:478 stock/templates/stock/item_base.html:324 -#: templates/js/translated/company.js:844 templates/js/translated/stock.js:1057 +#: templates/js/translated/company.js:846 templates/js/translated/stock.js:1036 msgid "Packaging" msgstr "" -#: company/models.py:581 +#: company/models.py:582 msgid "Part packaging" msgstr "" -#: company/models.py:583 part/models.py:1601 +#: company/models.py:584 part/models.py:1605 msgid "multiple" msgstr "" -#: company/models.py:583 +#: company/models.py:584 msgid "Order multiple" msgstr "" @@ -2502,7 +2543,7 @@ msgstr "" #: company/templates/company/company_base.html:9 #: company/templates/company/company_base.html:35 -#: templates/InvenTree/search.html:304 templates/js/translated/company.js:321 +#: templates/InvenTree/search.html:208 templates/js/translated/company.js:321 msgid "Company" msgstr "" @@ -2517,7 +2558,7 @@ msgid "Download image from URL" msgstr "" #: company/templates/company/company_base.html:46 -#: templates/js/translated/order.js:117 +#: templates/js/translated/order.js:120 msgid "Create Purchase Order" msgstr "" @@ -2542,22 +2583,22 @@ msgstr "" msgid "Phone" msgstr "" -#: company/templates/company/company_base.html:126 order/models.py:550 -#: order/templates/order/sales_order_base.html:94 stock/models.py:496 +#: company/templates/company/company_base.html:126 order/models.py:558 +#: order/templates/order/sales_order_base.html:99 stock/models.py:496 #: stock/models.py:497 stock/templates/stock/item_base.html:276 -#: templates/js/translated/company.js:328 templates/js/translated/order.js:692 -#: templates/js/translated/stock.js:1608 +#: templates/js/translated/company.js:328 templates/js/translated/order.js:1038 +#: templates/js/translated/stock.js:1587 msgid "Customer" msgstr "" -#: company/templates/company/company_base.html:193 -#: part/templates/part/part_base.html:418 +#: company/templates/company/company_base.html:199 +#: part/templates/part/part_base.html:424 msgid "Upload Image" msgstr "" #: company/templates/company/detail.html:14 #: company/templates/company/manufacturer_part_navbar.html:18 -#: templates/InvenTree/search.html:164 +#: templates/InvenTree/search.html:150 msgid "Supplier Parts" msgstr "" @@ -2597,7 +2638,7 @@ msgstr "" msgid "Delete Parts" msgstr "" -#: company/templates/company/detail.html:54 templates/InvenTree/search.html:149 +#: company/templates/company/detail.html:54 templates/InvenTree/search.html:135 msgid "Manufacturer Parts" msgstr "" @@ -2620,9 +2661,9 @@ msgstr "" #: order/templates/order/purchase_orders.html:13 #: part/templates/part/detail.html:50 part/templates/part/navbar.html:82 #: part/templates/part/navbar.html:85 templates/InvenTree/index.html:260 -#: templates/InvenTree/search.html:325 -#: templates/InvenTree/settings/navbar.html:107 -#: templates/InvenTree/settings/navbar.html:109 templates/navbar.html:44 +#: templates/InvenTree/search.html:229 +#: templates/InvenTree/settings/navbar.html:119 +#: templates/InvenTree/settings/navbar.html:121 templates/navbar.html:44 #: users/models.py:45 msgid "Purchase Orders" msgstr "" @@ -2644,9 +2685,9 @@ msgstr "" #: order/templates/order/sales_orders.html:13 #: part/templates/part/detail.html:71 part/templates/part/navbar.html:91 #: part/templates/part/navbar.html:94 templates/InvenTree/index.html:291 -#: templates/InvenTree/search.html:345 -#: templates/InvenTree/settings/navbar.html:113 -#: templates/InvenTree/settings/navbar.html:115 templates/navbar.html:55 +#: templates/InvenTree/search.html:249 +#: templates/InvenTree/settings/navbar.html:125 +#: templates/InvenTree/settings/navbar.html:127 templates/navbar.html:55 #: users/models.py:46 msgid "Sales Orders" msgstr "" @@ -2664,7 +2705,7 @@ msgstr "" #: company/templates/company/detail.html:147 #: company/templates/company/navbar.html:61 #: company/templates/company/navbar.html:64 -#: templates/js/translated/build.js:620 +#: templates/js/translated/build.js:622 msgid "Assigned Stock" msgstr "" @@ -2696,12 +2737,12 @@ msgid "Order part" msgstr "" #: company/templates/company/manufacturer_part.html:45 -#: templates/js/translated/company.js:560 +#: templates/js/translated/company.js:561 msgid "Edit manufacturer part" msgstr "" #: company/templates/company/manufacturer_part.html:49 -#: templates/js/translated/company.js:561 +#: templates/js/translated/company.js:562 msgid "Delete manufacturer part" msgstr "" @@ -2718,7 +2759,7 @@ msgstr "" #: company/templates/company/manufacturer_part_navbar.html:21 #: company/views.py:49 part/templates/part/navbar.html:75 #: part/templates/part/navbar.html:78 part/templates/part/prices.html:163 -#: templates/InvenTree/search.html:316 templates/navbar.html:41 +#: templates/InvenTree/search.html:220 templates/navbar.html:41 msgid "Suppliers" msgstr "" @@ -2732,7 +2773,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:239 #: part/templates/part/detail.html:214 part/templates/part/detail.html:294 #: part/templates/part/detail.html:317 templates/js/translated/company.js:424 -#: templates/js/translated/helpers.js:31 users/models.py:194 +#: templates/js/translated/helpers.js:31 users/models.py:199 msgid "Delete" msgstr "" @@ -2758,7 +2799,7 @@ msgid "Delete parameters" msgstr "" #: company/templates/company/manufacturer_part.html:176 -#: part/templates/part/detail.html:834 +#: part/templates/part/detail.html:805 msgid "Add Parameter" msgstr "" @@ -2777,16 +2818,15 @@ msgstr "" #: company/templates/company/manufacturer_part_navbar.html:29 #: company/templates/company/navbar.html:39 #: company/templates/company/supplier_part_navbar.html:15 -#: part/templates/part/navbar.html:38 stock/api.py:54 +#: part/templates/part/navbar.html:38 stock/api.py:52 #: stock/templates/stock/loc_link.html:7 stock/templates/stock/location.html:36 #: stock/templates/stock/stock_app_base.html:10 -#: templates/InvenTree/index.html:150 templates/InvenTree/search.html:196 -#: templates/InvenTree/search.html:232 -#: templates/InvenTree/settings/navbar.html:95 -#: templates/InvenTree/settings/navbar.html:97 -#: templates/js/translated/part.js:529 templates/js/translated/part.js:758 -#: templates/js/translated/part.js:934 templates/js/translated/stock.js:202 -#: templates/js/translated/stock.js:850 templates/navbar.html:32 +#: templates/InvenTree/index.html:150 templates/InvenTree/search.html:182 +#: templates/InvenTree/settings/navbar.html:107 +#: templates/InvenTree/settings/navbar.html:109 +#: templates/js/translated/part.js:540 templates/js/translated/part.js:769 +#: templates/js/translated/part.js:945 templates/js/translated/stock.js:182 +#: templates/js/translated/stock.js:829 templates/navbar.html:32 msgid "Stock" msgstr "" @@ -2815,7 +2855,7 @@ msgstr "" #: stock/templates/stock/location.html:148 #: stock/templates/stock/location_navbar.html:18 #: stock/templates/stock/location_navbar.html:21 -#: templates/InvenTree/search.html:198 templates/js/translated/stock.js:1507 +#: templates/InvenTree/search.html:184 templates/js/translated/stock.js:1486 #: templates/stats.html:93 templates/stats.html:102 users/models.py:43 msgid "Stock Items" msgstr "" @@ -2823,17 +2863,17 @@ msgstr "" #: company/templates/company/supplier_part.html:7 #: company/templates/company/supplier_part.html:24 stock/models.py:463 #: stock/templates/stock/item_base.html:388 -#: templates/js/translated/company.js:784 templates/js/translated/stock.js:1014 +#: templates/js/translated/company.js:786 templates/js/translated/stock.js:993 msgid "Supplier Part" msgstr "" #: company/templates/company/supplier_part.html:44 -#: templates/js/translated/company.js:857 +#: templates/js/translated/company.js:859 msgid "Edit supplier part" msgstr "" #: company/templates/company/supplier_part.html:48 -#: templates/js/translated/company.js:858 +#: templates/js/translated/company.js:860 msgid "Delete supplier part" msgstr "" @@ -2900,7 +2940,7 @@ msgid "New Supplier" msgstr "" #: company/views.py:55 part/templates/part/prices.html:167 -#: templates/InvenTree/search.html:306 templates/navbar.html:42 +#: templates/InvenTree/search.html:210 templates/navbar.html:42 msgid "Manufacturers" msgstr "" @@ -2908,7 +2948,7 @@ msgstr "" msgid "New Manufacturer" msgstr "" -#: company/views.py:61 templates/InvenTree/search.html:336 +#: company/views.py:61 templates/InvenTree/search.html:240 #: templates/navbar.html:53 msgid "Customers" msgstr "" @@ -3011,36 +3051,32 @@ msgstr "" msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" -#: order/api.py:302 -msgid "Destination location must be specified" +#: order/api.py:250 +msgid "Matching purchase order does not exist" msgstr "" -#: order/forms.py:30 order/templates/order/order_base.html:47 +#: order/forms.py:27 order/templates/order/order_base.html:50 msgid "Place order" msgstr "" -#: order/forms.py:41 order/templates/order/order_base.html:54 +#: order/forms.py:38 order/templates/order/order_base.html:57 msgid "Mark order as complete" msgstr "" -#: order/forms.py:52 order/forms.py:63 order/templates/order/order_base.html:59 -#: order/templates/order/sales_order_base.html:61 +#: order/forms.py:49 order/forms.py:60 order/templates/order/order_base.html:62 +#: order/templates/order/sales_order_base.html:64 msgid "Cancel order" msgstr "" -#: order/forms.py:74 order/templates/order/sales_order_base.html:58 +#: order/forms.py:71 order/templates/order/sales_order_base.html:61 msgid "Ship order" msgstr "" -#: order/forms.py:89 -msgid "Set all received parts listed above to this location (if left blank, use \"Destination\" column value in above table)" -msgstr "" - -#: order/forms.py:116 +#: order/forms.py:97 msgid "Enter stock item serial numbers" msgstr "" -#: order/forms.py:122 +#: order/forms.py:103 msgid "Enter quantity of stock items" msgstr "" @@ -3064,11 +3100,11 @@ msgstr "" msgid "Order notes" msgstr "" -#: order/models.py:247 order/models.py:540 +#: order/models.py:247 order/models.py:548 msgid "Order reference" msgstr "" -#: order/models.py:252 order/models.py:555 +#: order/models.py:252 order/models.py:563 msgid "Purchase order status" msgstr "" @@ -3077,7 +3113,7 @@ msgid "Company from which the items are being ordered" msgstr "" #: order/models.py:264 order/templates/order/order_base.html:98 -#: templates/js/translated/order.js:337 +#: templates/js/translated/order.js:668 msgid "Supplier Reference" msgstr "" @@ -3109,190 +3145,190 @@ msgstr "" msgid "Date order was completed" msgstr "" -#: order/models.py:313 stock/models.py:351 stock/models.py:1072 -msgid "Quantity must be greater than zero" -msgstr "" - #: order/models.py:318 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:421 -msgid "Lines can only be received against an order marked as 'Placed'" -msgstr "" - -#: order/models.py:425 +#: order/models.py:428 msgid "Quantity must be an integer" msgstr "" -#: order/models.py:427 +#: order/models.py:432 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:551 +#: order/models.py:559 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:557 +#: order/models.py:565 msgid "Customer Reference " msgstr "" -#: order/models.py:557 +#: order/models.py:565 msgid "Customer order reference code" msgstr "" -#: order/models.py:562 +#: order/models.py:570 msgid "Target date for order completion. Order will be overdue after this date." msgstr "" -#: order/models.py:565 templates/js/translated/order.js:733 +#: order/models.py:573 templates/js/translated/order.js:1079 msgid "Shipment Date" msgstr "" -#: order/models.py:572 +#: order/models.py:580 msgid "shipped by" msgstr "" -#: order/models.py:616 +#: order/models.py:624 msgid "SalesOrder cannot be shipped as it is not currently pending" msgstr "" -#: order/models.py:713 +#: order/models.py:721 msgid "Item quantity" msgstr "" -#: order/models.py:719 +#: order/models.py:727 msgid "Line item reference" msgstr "" -#: order/models.py:721 +#: order/models.py:729 msgid "Line item notes" msgstr "" -#: order/models.py:751 order/models.py:835 templates/js/translated/order.js:785 +#: order/models.py:759 order/models.py:847 +#: templates/js/translated/order.js:1131 msgid "Order" msgstr "" -#: order/models.py:752 order/templates/order/order_base.html:9 +#: order/models.py:760 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:24 #: report/templates/report/inventree_po_report.html:77 #: stock/templates/stock/item_base.html:338 -#: templates/js/translated/order.js:306 templates/js/translated/stock.js:991 -#: templates/js/translated/stock.js:1589 +#: templates/js/translated/order.js:637 templates/js/translated/stock.js:970 +#: templates/js/translated/stock.js:1568 msgid "Purchase Order" msgstr "" -#: order/models.py:773 +#: order/models.py:781 msgid "Supplier part" msgstr "" -#: order/models.py:780 order/templates/order/order_base.html:131 -#: order/templates/order/receive_parts.html:22 -#: order/templates/order/sales_order_base.html:133 -#: templates/js/translated/order.js:573 +#: order/models.py:788 order/templates/order/order_base.html:131 +#: order/templates/order/sales_order_base.html:138 +#: templates/js/translated/order.js:428 templates/js/translated/order.js:919 msgid "Received" msgstr "" -#: order/models.py:781 +#: order/models.py:789 msgid "Number of items received" msgstr "" -#: order/models.py:788 part/templates/part/prices.html:176 stock/models.py:588 -#: stock/serializers.py:147 stock/templates/stock/item_base.html:345 -#: templates/js/translated/stock.js:1045 +#: order/models.py:796 part/templates/part/prices.html:176 stock/models.py:588 +#: stock/serializers.py:150 stock/templates/stock/item_base.html:345 +#: templates/js/translated/stock.js:1024 msgid "Purchase Price" msgstr "" -#: order/models.py:789 +#: order/models.py:797 msgid "Unit purchase price" msgstr "" -#: order/models.py:797 +#: order/models.py:805 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:843 part/templates/part/part_pricing.html:112 +#: order/models.py:857 part/templates/part/part_pricing.html:112 #: part/templates/part/prices.html:116 part/templates/part/prices.html:284 msgid "Sale Price" msgstr "" -#: order/models.py:844 +#: order/models.py:858 msgid "Unit sale price" msgstr "" -#: order/models.py:923 order/models.py:925 +#: order/models.py:937 order/models.py:939 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:929 +#: order/models.py:943 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:931 +#: order/models.py:945 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:934 +#: order/models.py:948 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:944 +#: order/models.py:952 +msgid "StockItem is over-allocated" +msgstr "" + +#: order/models.py:958 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:949 +#: order/models.py:966 msgid "Line" msgstr "" -#: order/models.py:960 +#: order/models.py:978 msgid "Item" msgstr "" -#: order/models.py:961 +#: order/models.py:979 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:964 +#: order/models.py:982 msgid "Enter stock allocation quantity" msgstr "" -#: order/serializers.py:166 +#: order/serializers.py:167 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:201 +#: order/serializers.py:202 msgid "Line Item" msgstr "" -#: order/serializers.py:207 +#: order/serializers.py:208 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:217 order/serializers.py:276 +#: order/serializers.py:218 order/serializers.py:285 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:234 +#: order/serializers.py:242 msgid "Barcode Hash" msgstr "" -#: order/serializers.py:235 +#: order/serializers.py:243 msgid "Unique identifier field" msgstr "" -#: order/serializers.py:250 +#: order/serializers.py:259 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:289 +#: order/serializers.py:297 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:299 +#: order/serializers.py:314 +msgid "Destination location must be specified" +msgstr "" + +#: order/serializers.py:325 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:514 +#: order/serializers.py:569 msgid "Sale price currency" msgstr "" @@ -3307,31 +3343,32 @@ msgstr "" msgid "Print" msgstr "" -#: order/templates/order/order_base.html:43 -#: order/templates/order/sales_order_base.html:54 +#: order/templates/order/order_base.html:42 +#: order/templates/order/sales_order_base.html:53 +msgid "Export order to file" +msgstr "" + +#: order/templates/order/order_base.html:46 +#: order/templates/order/sales_order_base.html:57 msgid "Edit order information" msgstr "" -#: order/templates/order/order_base.html:51 +#: order/templates/order/order_base.html:54 msgid "Receive items" msgstr "" -#: order/templates/order/order_base.html:64 -msgid "Export order to file" -msgstr "" - #: order/templates/order/order_base.html:72 #: order/templates/order/po_navbar.html:12 msgid "Purchase Order Details" msgstr "" #: order/templates/order/order_base.html:77 -#: order/templates/order/sales_order_base.html:79 +#: order/templates/order/sales_order_base.html:84 msgid "Order Reference" msgstr "" #: order/templates/order/order_base.html:82 -#: order/templates/order/sales_order_base.html:84 +#: order/templates/order/sales_order_base.html:89 msgid "Order Status" msgstr "" @@ -3344,16 +3381,6 @@ msgstr "" msgid "Edit Purchase Order" msgstr "" -#: order/templates/order/order_base.html:196 -#: stock/templates/stock/location.html:250 templates/js/translated/order.js:437 -msgid "New Location" -msgstr "Nieuwe locatie" - -#: order/templates/order/order_base.html:197 -#: stock/templates/stock/location.html:42 templates/js/translated/order.js:438 -msgid "Create new stock location" -msgstr "Maak nieuwe voorraadlocatie" - #: order/templates/order/order_cancel.html:8 msgid "Cancelling this order means that the order and line items will no longer be editable." msgstr "" @@ -3426,6 +3453,7 @@ msgstr "" #: part/templates/part/import_wizard/ajax_match_references.html:42 #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 +#: templates/js/translated/build.js:869 templates/js/translated/order.js:376 msgid "Remove row" msgstr "" @@ -3502,7 +3530,7 @@ msgid "Select existing purchase orders, or create new orders." msgstr "" #: order/templates/order/order_wizard/select_pos.html:31 -#: templates/js/translated/order.js:363 templates/js/translated/order.js:738 +#: templates/js/translated/order.js:694 templates/js/translated/order.js:1084 msgid "Items" msgstr "" @@ -3522,7 +3550,7 @@ msgstr "" #: order/templates/order/po_attachments.html:12 #: order/templates/order/po_navbar.html:32 -#: order/templates/order/purchase_order_detail.html:47 +#: order/templates/order/purchase_order_detail.html:56 msgid "Purchase Order Attachments" msgstr "" @@ -3532,7 +3560,7 @@ msgstr "" #: order/templates/order/po_navbar.html:29 #: order/templates/order/po_received_items.html:12 -#: order/templates/order/purchase_order_detail.html:38 +#: order/templates/order/purchase_order_detail.html:47 msgid "Received Items" msgstr "" @@ -3540,14 +3568,22 @@ msgstr "" msgid "Purchase Order Items" msgstr "" -#: order/templates/order/purchase_order_detail.html:23 -#: order/templates/order/purchase_order_detail.html:203 +#: order/templates/order/purchase_order_detail.html:24 +#: order/templates/order/purchase_order_detail.html:212 #: order/templates/order/sales_order_detail.html:23 #: order/templates/order/sales_order_detail.html:177 msgid "Add Line Item" msgstr "" -#: order/templates/order/purchase_order_detail.html:58 +#: order/templates/order/purchase_order_detail.html:30 +msgid "Receive selected items" +msgstr "" + +#: order/templates/order/purchase_order_detail.html:31 +msgid "Receive Items" +msgstr "" + +#: order/templates/order/purchase_order_detail.html:67 #: order/templates/order/sales_order_detail.html:54 msgid "Order Notes" msgstr "" @@ -3557,67 +3593,24 @@ msgstr "" msgid "Print Order Reports" msgstr "" -#: order/templates/order/receive_parts.html:8 -#, python-format -msgid "Receive outstanding parts for %(order)s - %(desc)s" -msgstr "" - -#: order/templates/order/receive_parts.html:14 part/api.py:54 -#: part/models.py:298 part/templates/part/cat_link.html:7 -#: part/templates/part/category.html:108 part/templates/part/category.html:122 -#: part/templates/part/category_navbar.html:21 -#: part/templates/part/category_navbar.html:24 -#: templates/InvenTree/index.html:102 templates/InvenTree/search.html:114 -#: templates/InvenTree/settings/navbar.html:83 -#: templates/InvenTree/settings/navbar.html:85 -#: templates/js/translated/part.js:1154 templates/navbar.html:29 -#: templates/stats.html:80 templates/stats.html:89 users/models.py:41 -msgid "Parts" -msgstr "" - -#: order/templates/order/receive_parts.html:15 -msgid "Fill out number of parts received, the status and destination" -msgstr "" - -#: order/templates/order/receive_parts.html:20 -msgid "Order Code" -msgstr "" - -#: order/templates/order/receive_parts.html:21 -#: part/templates/part/part_base.html:167 templates/js/translated/part.js:949 -msgid "On Order" -msgstr "" - -#: order/templates/order/receive_parts.html:23 -msgid "Receive" -msgstr "" - -#: order/templates/order/receive_parts.html:37 -msgid "Error: Referenced part has been removed" -msgstr "" - -#: order/templates/order/receive_parts.html:68 -msgid "Remove line" -msgstr "" - #: order/templates/order/sales_order_base.html:16 msgid "This Sales Order has not been fully allocated" msgstr "" -#: order/templates/order/sales_order_base.html:66 +#: order/templates/order/sales_order_base.html:70 msgid "Packing List" msgstr "" -#: order/templates/order/sales_order_base.html:74 +#: order/templates/order/sales_order_base.html:79 msgid "Sales Order Details" msgstr "" -#: order/templates/order/sales_order_base.html:100 -#: templates/js/translated/order.js:705 +#: order/templates/order/sales_order_base.html:105 +#: templates/js/translated/order.js:1051 msgid "Customer Reference" msgstr "" -#: order/templates/order/sales_order_base.html:178 +#: order/templates/order/sales_order_base.html:183 msgid "Edit Sales Order" msgstr "" @@ -3636,105 +3629,6 @@ msgstr "" msgid "Sales Order Items" msgstr "" -#: order/templates/order/sales_order_detail.html:226 -#: templates/js/translated/bom.js:394 templates/js/translated/build.js:782 -#: templates/js/translated/build.js:1219 -msgid "Actions" -msgstr "" - -#: order/templates/order/sales_order_detail.html:233 -#: templates/js/translated/build.js:668 templates/js/translated/build.js:1030 -msgid "Edit stock allocation" -msgstr "" - -#: order/templates/order/sales_order_detail.html:234 -#: templates/js/translated/build.js:670 templates/js/translated/build.js:1031 -msgid "Delete stock allocation" -msgstr "" - -#: order/templates/order/sales_order_detail.html:307 -msgid "No matching line items" -msgstr "" - -#: order/templates/order/sales_order_detail.html:337 -msgid "ID" -msgstr "" - -#: order/templates/order/sales_order_detail.html:354 -#: templates/js/translated/order.js:481 -msgid "Total" -msgstr "" - -#: order/templates/order/sales_order_detail.html:377 -#: templates/js/translated/order.js:534 templates/js/translated/part.js:1296 -#: templates/js/translated/part.js:1507 -msgid "Unit Price" -msgstr "" - -#: order/templates/order/sales_order_detail.html:384 -#: templates/js/translated/order.js:543 -msgid "Total price" -msgstr "" - -#: order/templates/order/sales_order_detail.html:405 -#: templates/js/translated/build.js:733 templates/js/translated/build.js:1026 -msgid "Allocated" -msgstr "" - -#: order/templates/order/sales_order_detail.html:407 -msgid "Fulfilled" -msgstr "" - -#: order/templates/order/sales_order_detail.html:444 -msgid "PO" -msgstr "" - -#: order/templates/order/sales_order_detail.html:474 -msgid "Allocate serial numbers" -msgstr "" - -#: order/templates/order/sales_order_detail.html:477 -#: templates/js/translated/build.js:796 -msgid "Allocate stock" -msgstr "" - -#: order/templates/order/sales_order_detail.html:480 -msgid "Purchase stock" -msgstr "" - -#: order/templates/order/sales_order_detail.html:484 -#: templates/js/translated/build.js:789 templates/js/translated/build.js:1227 -msgid "Build stock" -msgstr "" - -#: order/templates/order/sales_order_detail.html:487 -#: order/templates/order/sales_order_detail.html:606 -msgid "Calculate price" -msgstr "" - -#: order/templates/order/sales_order_detail.html:490 -#: templates/js/translated/order.js:616 -msgid "Edit line item" -msgstr "" - -#: order/templates/order/sales_order_detail.html:491 -msgid "Delete line item " -msgstr "" - -#: order/templates/order/sales_order_detail.html:519 -#: templates/js/translated/order.js:403 -msgid "Edit Line Item" -msgstr "" - -#: order/templates/order/sales_order_detail.html:529 -#: templates/js/translated/order.js:415 -msgid "Delete Line Item" -msgstr "" - -#: order/templates/order/sales_order_detail.html:612 -msgid "Update Unit Price" -msgstr "" - #: order/templates/order/sales_order_ship.html:10 msgid "This order has not been fully allocated. If the order is marked as shipped, it can no longer be adjusted." msgstr "" @@ -3759,10 +3653,6 @@ msgstr "" msgid "Allocate stock items by serial number" msgstr "" -#: order/templates/order/so_allocation_delete.html:7 -msgid "This action will unallocate the following stock from the Sales Order" -msgstr "" - #: order/templates/order/so_navbar.html:12 msgid "Sales Order Line Items" msgstr "" @@ -3775,149 +3665,129 @@ msgstr "" msgid "Sales Order Attachments" msgstr "" -#: order/views.py:104 +#: order/views.py:103 msgid "Cancel Order" msgstr "" -#: order/views.py:113 order/views.py:139 +#: order/views.py:112 order/views.py:138 msgid "Confirm order cancellation" msgstr "" -#: order/views.py:116 order/views.py:142 +#: order/views.py:115 order/views.py:141 msgid "Order cannot be cancelled" msgstr "" -#: order/views.py:130 +#: order/views.py:129 msgid "Cancel sales order" msgstr "" -#: order/views.py:156 +#: order/views.py:155 msgid "Issue Order" msgstr "" -#: order/views.py:165 +#: order/views.py:164 msgid "Confirm order placement" msgstr "" -#: order/views.py:175 +#: order/views.py:174 msgid "Purchase order issued" msgstr "" -#: order/views.py:186 +#: order/views.py:185 msgid "Complete Order" msgstr "" -#: order/views.py:202 +#: order/views.py:201 msgid "Confirm order completion" msgstr "" -#: order/views.py:213 +#: order/views.py:212 msgid "Purchase order completed" msgstr "" -#: order/views.py:223 +#: order/views.py:222 msgid "Ship Order" msgstr "" -#: order/views.py:239 +#: order/views.py:238 msgid "Confirm order shipment" msgstr "" -#: order/views.py:245 +#: order/views.py:244 msgid "Could not ship order" msgstr "" -#: order/views.py:292 +#: order/views.py:291 msgid "Match Supplier Parts" msgstr "" -#: order/views.py:480 -msgid "Receive Parts" -msgstr "" - -#: order/views.py:552 -msgid "Items received" -msgstr "" - -#: order/views.py:620 -msgid "Error converting quantity to number" -msgstr "" - -#: order/views.py:626 -msgid "Receive quantity less than zero" -msgstr "" - -#: order/views.py:632 -msgid "No lines specified" -msgstr "" - -#: order/views.py:705 +#: order/views.py:535 msgid "Update prices" msgstr "" -#: order/views.py:963 +#: order/views.py:793 #, python-brace-format msgid "Ordered {n} parts" msgstr "" -#: order/views.py:1016 +#: order/views.py:846 msgid "Allocate Serial Numbers" msgstr "" -#: order/views.py:1061 +#: order/views.py:891 #, python-brace-format msgid "Allocated {n} items" msgstr "" -#: order/views.py:1077 +#: order/views.py:907 msgid "Select line item" msgstr "" -#: order/views.py:1108 +#: order/views.py:938 #, python-brace-format msgid "No matching item for serial {serial}" msgstr "" -#: order/views.py:1118 +#: order/views.py:948 #, python-brace-format msgid "{serial} is not in stock" msgstr "" -#: order/views.py:1126 +#: order/views.py:956 #, python-brace-format msgid "{serial} already allocated to an order" msgstr "" -#: order/views.py:1180 -msgid "Allocate Stock to Order" -msgstr "" - -#: order/views.py:1254 -msgid "Edit Allocation Quantity" -msgstr "" - -#: order/views.py:1269 -msgid "Remove allocation" -msgstr "" - -#: order/views.py:1341 +#: order/views.py:1072 msgid "Sales order not found" msgstr "" -#: order/views.py:1347 +#: order/views.py:1078 msgid "Price not found" msgstr "" -#: order/views.py:1350 +#: order/views.py:1081 #, python-brace-format msgid "Updated {part} unit-price to {price}" msgstr "" -#: order/views.py:1355 +#: order/views.py:1086 #, python-brace-format msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" +#: part/api.py:54 part/models.py:299 part/templates/part/cat_link.html:7 +#: part/templates/part/category.html:108 part/templates/part/category.html:122 +#: part/templates/part/category_navbar.html:21 +#: part/templates/part/category_navbar.html:24 +#: templates/InvenTree/index.html:102 templates/InvenTree/search.html:114 +#: templates/InvenTree/settings/navbar.html:95 +#: templates/InvenTree/settings/navbar.html:97 +#: templates/js/translated/part.js:1165 templates/navbar.html:29 +#: templates/stats.html:80 templates/stats.html:89 users/models.py:41 +msgid "Parts" +msgstr "" + #: part/api.py:700 msgid "Must be greater than zero" msgstr "" @@ -3934,7 +3804,7 @@ msgstr "" msgid "This field is required" msgstr "" -#: part/bom.py:133 part/models.py:75 part/models.py:733 +#: part/bom.py:133 part/models.py:76 part/models.py:734 #: part/templates/part/category.html:75 part/templates/part/part_base.html:290 msgid "Default Location" msgstr "Standaard locatie" @@ -3999,7 +3869,7 @@ msgstr "" msgid "Include part supplier data in exported BOM" msgstr "" -#: part/forms.py:96 part/models.py:2250 +#: part/forms.py:96 part/models.py:2254 msgid "Parent Part" msgstr "" @@ -4043,391 +3913,387 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:76 +#: part/models.py:77 msgid "Default location for parts in this category" msgstr "Standaard locatie voor onderdelen in deze categorie" -#: part/models.py:79 +#: part/models.py:80 msgid "Default keywords" msgstr "" -#: part/models.py:79 +#: part/models.py:80 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:89 part/models.py:2296 +#: part/models.py:90 part/models.py:2300 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:90 part/templates/part/category.html:32 +#: part/models.py:91 part/templates/part/category.html:32 #: part/templates/part/category.html:103 templates/InvenTree/search.html:127 #: templates/stats.html:84 users/models.py:40 msgid "Part Categories" msgstr "" -#: part/models.py:383 +#: part/models.py:384 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:435 part/models.py:447 +#: part/models.py:436 part/models.py:448 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:544 +#: part/models.py:545 msgid "Next available serial numbers are" msgstr "" -#: part/models.py:548 +#: part/models.py:549 msgid "Next available serial number is" msgstr "" -#: part/models.py:553 +#: part/models.py:554 msgid "Most recent serial number is" msgstr "" -#: part/models.py:632 +#: part/models.py:633 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:657 +#: part/models.py:658 msgid "Part name" msgstr "" -#: part/models.py:664 +#: part/models.py:665 msgid "Is Template" msgstr "" -#: part/models.py:665 +#: part/models.py:666 msgid "Is this part a template part?" msgstr "" -#: part/models.py:675 +#: part/models.py:676 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:676 +#: part/models.py:677 msgid "Variant Of" msgstr "" -#: part/models.py:682 +#: part/models.py:683 msgid "Part description" msgstr "" -#: part/models.py:687 part/templates/part/category.html:82 +#: part/models.py:688 part/templates/part/category.html:82 #: part/templates/part/part_base.html:259 msgid "Keywords" msgstr "" -#: part/models.py:688 +#: part/models.py:689 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:695 part/models.py:2295 +#: part/models.py:696 part/models.py:2299 #: part/templates/part/set_category.html:15 -#: templates/InvenTree/settings/settings.html:167 -#: templates/js/translated/part.js:916 +#: templates/InvenTree/settings/settings.html:169 +#: templates/js/translated/part.js:927 msgid "Category" msgstr "" -#: part/models.py:696 +#: part/models.py:697 msgid "Part category" msgstr "" -#: part/models.py:701 part/templates/part/part_base.html:235 -#: templates/js/translated/part.js:517 templates/js/translated/part.js:749 +#: part/models.py:702 part/templates/part/part_base.html:235 +#: templates/js/translated/part.js:528 templates/js/translated/part.js:760 msgid "IPN" msgstr "" -#: part/models.py:702 +#: part/models.py:703 msgid "Internal Part Number" msgstr "" -#: part/models.py:708 +#: part/models.py:709 msgid "Part revision or version number" msgstr "" -#: part/models.py:709 part/templates/part/part_base.html:252 -#: report/models.py:200 templates/js/translated/part.js:521 +#: part/models.py:710 part/templates/part/part_base.html:252 +#: report/models.py:200 templates/js/translated/part.js:532 msgid "Revision" msgstr "" -#: part/models.py:731 +#: part/models.py:732 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:778 part/templates/part/part_base.html:297 +#: part/models.py:779 part/templates/part/part_base.html:297 msgid "Default Supplier" msgstr "" -#: part/models.py:779 +#: part/models.py:780 msgid "Default supplier part" msgstr "" -#: part/models.py:786 +#: part/models.py:787 msgid "Default Expiry" msgstr "" -#: part/models.py:787 +#: part/models.py:788 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:792 +#: part/models.py:793 msgid "Minimum Stock" msgstr "" -#: part/models.py:793 +#: part/models.py:794 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:800 +#: part/models.py:801 msgid "Stock keeping units for this part" msgstr "" -#: part/models.py:806 +#: part/models.py:807 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:812 +#: part/models.py:813 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:818 +#: part/models.py:819 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:823 +#: part/models.py:824 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:828 +#: part/models.py:829 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:832 templates/js/translated/table_filters.js:34 +#: part/models.py:833 templates/js/translated/table_filters.js:34 #: templates/js/translated/table_filters.js:82 #: templates/js/translated/table_filters.js:268 -#: templates/js/translated/table_filters.js:337 +#: templates/js/translated/table_filters.js:346 msgid "Active" msgstr "" -#: part/models.py:833 +#: part/models.py:834 msgid "Is this part active?" msgstr "" -#: part/models.py:838 +#: part/models.py:839 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:843 +#: part/models.py:844 msgid "Part notes - supports Markdown formatting" msgstr "" -#: part/models.py:846 +#: part/models.py:847 msgid "BOM checksum" msgstr "" -#: part/models.py:846 +#: part/models.py:847 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:849 +#: part/models.py:850 msgid "BOM checked by" msgstr "" -#: part/models.py:851 +#: part/models.py:852 msgid "BOM checked date" msgstr "" -#: part/models.py:855 +#: part/models.py:856 msgid "Creation User" msgstr "" -#: part/models.py:1601 +#: part/models.py:1605 msgid "Sell multiple" msgstr "" -#: part/models.py:2096 +#: part/models.py:2100 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:2113 +#: part/models.py:2117 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:2133 templates/js/translated/part.js:1205 -#: templates/js/translated/stock.js:556 +#: part/models.py:2137 templates/js/translated/part.js:1216 +#: templates/js/translated/stock.js:535 msgid "Test Name" msgstr "" -#: part/models.py:2134 +#: part/models.py:2138 msgid "Enter a name for the test" msgstr "" -#: part/models.py:2139 +#: part/models.py:2143 msgid "Test Description" msgstr "" -#: part/models.py:2140 +#: part/models.py:2144 msgid "Enter description for this test" msgstr "" -#: part/models.py:2145 templates/js/translated/part.js:1214 +#: part/models.py:2149 templates/js/translated/part.js:1225 #: templates/js/translated/table_filters.js:254 msgid "Required" msgstr "" -#: part/models.py:2146 +#: part/models.py:2150 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:2151 templates/js/translated/part.js:1222 +#: part/models.py:2155 templates/js/translated/part.js:1233 msgid "Requires Value" msgstr "" -#: part/models.py:2152 +#: part/models.py:2156 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:2157 templates/js/translated/part.js:1229 +#: part/models.py:2161 templates/js/translated/part.js:1240 msgid "Requires Attachment" msgstr "" -#: part/models.py:2158 +#: part/models.py:2162 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:2169 +#: part/models.py:2173 #, python-brace-format msgid "Illegal character in template name ({c})" msgstr "" -#: part/models.py:2205 +#: part/models.py:2209 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:2213 +#: part/models.py:2217 msgid "Parameter Name" msgstr "" -#: part/models.py:2220 +#: part/models.py:2224 msgid "Parameter Units" msgstr "" -#: part/models.py:2252 part/models.py:2301 part/models.py:2302 -#: templates/InvenTree/settings/settings.html:162 +#: part/models.py:2256 part/models.py:2305 part/models.py:2306 +#: templates/InvenTree/settings/settings.html:164 msgid "Parameter Template" msgstr "" -#: part/models.py:2254 +#: part/models.py:2258 msgid "Data" msgstr "" -#: part/models.py:2254 +#: part/models.py:2258 msgid "Parameter Value" msgstr "" -#: part/models.py:2306 templates/InvenTree/settings/settings.html:171 +#: part/models.py:2310 templates/InvenTree/settings/settings.html:173 msgid "Default Value" msgstr "" -#: part/models.py:2307 +#: part/models.py:2311 msgid "Default Parameter Value" msgstr "" -#: part/models.py:2341 +#: part/models.py:2362 msgid "Select parent part" msgstr "" -#: part/models.py:2349 +#: part/models.py:2370 msgid "Sub part" msgstr "" -#: part/models.py:2350 +#: part/models.py:2371 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:2356 +#: part/models.py:2377 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:2358 templates/js/translated/bom.js:256 -#: templates/js/translated/bom.js:314 +#: part/models.py:2379 templates/js/translated/bom.js:275 +#: templates/js/translated/bom.js:335 msgid "Optional" msgstr "" -#: part/models.py:2358 +#: part/models.py:2379 msgid "This BOM item is optional" msgstr "" -#: part/models.py:2361 +#: part/models.py:2382 msgid "Overage" msgstr "" -#: part/models.py:2362 +#: part/models.py:2383 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:2365 +#: part/models.py:2386 msgid "BOM item reference" msgstr "" -#: part/models.py:2368 +#: part/models.py:2389 msgid "BOM item notes" msgstr "" -#: part/models.py:2370 +#: part/models.py:2391 msgid "Checksum" msgstr "" -#: part/models.py:2370 +#: part/models.py:2391 msgid "BOM line checksum" msgstr "" -#: part/models.py:2374 templates/js/translated/bom.js:331 -#: templates/js/translated/bom.js:338 +#: part/models.py:2395 templates/js/translated/bom.js:352 +#: templates/js/translated/bom.js:359 #: templates/js/translated/table_filters.js:68 msgid "Inherited" msgstr "" -#: part/models.py:2375 +#: part/models.py:2396 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:2380 templates/js/translated/bom.js:323 +#: part/models.py:2401 templates/js/translated/bom.js:344 msgid "Allow Variants" msgstr "" -#: part/models.py:2381 +#: part/models.py:2402 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:2466 stock/models.py:341 +#: part/models.py:2487 stock/models.py:341 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:2475 part/models.py:2477 +#: part/models.py:2496 part/models.py:2498 msgid "Sub part must be specified" msgstr "" -#: part/models.py:2480 -msgid "BOM Item" -msgstr "" - -#: part/models.py:2599 +#: part/models.py:2620 msgid "Part 1" msgstr "" -#: part/models.py:2603 +#: part/models.py:2624 msgid "Part 2" msgstr "" -#: part/models.py:2603 +#: part/models.py:2624 msgid "Select Related Part" msgstr "" -#: part/models.py:2635 +#: part/models.py:2656 msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique" msgstr "" @@ -4578,7 +4444,7 @@ msgstr "" msgid "Create new part" msgstr "" -#: part/templates/part/category.html:131 +#: part/templates/part/category.html:131 templates/js/translated/bom.js:39 msgid "New Part" msgstr "" @@ -4658,7 +4524,7 @@ msgstr "" msgid "Import Parts" msgstr "" -#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:352 +#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:363 msgid "Duplicate Part" msgstr "" @@ -4785,34 +4651,26 @@ msgstr "" msgid "Add Test Result Template" msgstr "" -#: part/templates/part/detail.html:716 -msgid "Edit Test Result Template" -msgstr "" - -#: part/templates/part/detail.html:728 -msgid "Delete Test Result Template" -msgstr "" - -#: part/templates/part/detail.html:784 +#: part/templates/part/detail.html:755 msgid "Edit Part Notes" msgstr "" -#: part/templates/part/detail.html:936 +#: part/templates/part/detail.html:907 #, python-format msgid "Purchase Unit Price - %(currency)s" msgstr "" -#: part/templates/part/detail.html:948 +#: part/templates/part/detail.html:919 #, python-format msgid "Unit Price-Cost Difference - %(currency)s" msgstr "" -#: part/templates/part/detail.html:960 +#: part/templates/part/detail.html:931 #, python-format msgid "Supplier Unit Cost - %(currency)s" msgstr "" -#: part/templates/part/detail.html:1049 +#: part/templates/part/detail.html:1020 #, python-format msgid "Unit Price - %(currency)s" msgstr "" @@ -4874,9 +4732,9 @@ msgstr "" msgid "Part is virtual (not a physical part)" msgstr "" -#: part/templates/part/part_base.html:58 templates/js/translated/company.js:503 -#: templates/js/translated/company.js:759 templates/js/translated/part.js:432 -#: templates/js/translated/part.js:509 +#: part/templates/part/part_base.html:58 templates/js/translated/company.js:504 +#: templates/js/translated/company.js:761 templates/js/translated/part.js:443 +#: templates/js/translated/part.js:520 msgid "Inactive" msgstr "" @@ -4942,10 +4800,16 @@ msgid "This part is a variant of %(link)s" msgstr "" #: part/templates/part/part_base.html:161 +#: templates/js/translated/model_renderers.js:169 +#: templates/js/translated/order.js:1503 #: templates/js/translated/table_filters.js:166 msgid "In Stock" msgstr "" +#: part/templates/part/part_base.html:167 templates/js/translated/part.js:960 +msgid "On Order" +msgstr "" + #: part/templates/part/part_base.html:174 templates/InvenTree/index.html:186 msgid "Required for Build Orders" msgstr "" @@ -4958,18 +4822,18 @@ msgstr "" msgid "Allocated to Orders" msgstr "" -#: part/templates/part/part_base.html:203 templates/js/translated/bom.js:352 +#: part/templates/part/part_base.html:203 templates/js/translated/bom.js:373 msgid "Can Build" msgstr "" -#: part/templates/part/part_base.html:209 templates/js/translated/part.js:765 -#: templates/js/translated/part.js:953 +#: part/templates/part/part_base.html:209 templates/js/translated/part.js:776 +#: templates/js/translated/part.js:964 msgid "Building" msgstr "" #: part/templates/part/part_base.html:223 -#: part/templates/part/part_base.html:524 -#: part/templates/part/part_base.html:550 +#: part/templates/part/part_base.html:531 +#: part/templates/part/part_base.html:557 msgid "Show Part Details" msgstr "" @@ -4977,16 +4841,16 @@ msgstr "" msgid "Latest Serial Number" msgstr "" -#: part/templates/part/part_base.html:396 part/templates/part/prices.html:144 +#: part/templates/part/part_base.html:402 part/templates/part/prices.html:144 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:439 +#: part/templates/part/part_base.html:445 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:519 -#: part/templates/part/part_base.html:544 +#: part/templates/part/part_base.html:526 +#: part/templates/part/part_base.html:551 msgid "Hide Part Details" msgstr "" @@ -5013,7 +4877,7 @@ msgid "Total Cost" msgstr "" #: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:40 -#: templates/js/translated/bom.js:307 +#: templates/js/translated/bom.js:327 msgid "No supplier pricing available" msgstr "" @@ -5051,32 +4915,39 @@ msgstr "" msgid "Select from existing images" msgstr "" -#: part/templates/part/partial_delete.html:7 +#: part/templates/part/partial_delete.html:9 +#, python-format +msgid "Part '%(full_name)s' cannot be deleted as it is still marked as active.\n" +"
Disable the \"Active\" part attribute and re-try.\n" +" " +msgstr "" + +#: part/templates/part/partial_delete.html:17 #, python-format msgid "Are you sure you want to delete part '%(full_name)s'?" msgstr "" -#: part/templates/part/partial_delete.html:12 +#: part/templates/part/partial_delete.html:22 #, python-format msgid "This part is used in BOMs for %(count)s other parts. If you delete this part, the BOMs for the following parts will be updated" msgstr "" -#: part/templates/part/partial_delete.html:22 +#: part/templates/part/partial_delete.html:32 #, python-format msgid "There are %(count)s stock entries defined for this part. If you delete this part, the following stock entries will also be deleted:" msgstr "" -#: part/templates/part/partial_delete.html:33 +#: part/templates/part/partial_delete.html:43 #, python-format msgid "There are %(count)s manufacturers defined for this part. If you delete this part, the following manufacturer parts will also be deleted:" msgstr "" -#: part/templates/part/partial_delete.html:44 +#: part/templates/part/partial_delete.html:54 #, python-format msgid "There are %(count)s suppliers defined for this part. If you delete this part, the following supplier parts will also be deleted:" msgstr "" -#: part/templates/part/partial_delete.html:55 +#: part/templates/part/partial_delete.html:65 #, python-format msgid "There are %(count)s unique parts tracked for '%(full_name)s'. Deleting this part will permanently remove this tracking information." msgstr "" @@ -5109,7 +4980,7 @@ msgstr "" msgid "Calculation parameters" msgstr "" -#: part/templates/part/prices.html:155 templates/js/translated/bom.js:301 +#: part/templates/part/prices.html:155 templates/js/translated/bom.js:321 msgid "Supplier Cost" msgstr "" @@ -5151,8 +5022,9 @@ msgstr "" msgid "Set category for the following parts" msgstr "" -#: part/templates/part/stock_count.html:7 templates/js/translated/bom.js:278 -#: templates/js/translated/part.js:755 templates/js/translated/part.js:957 +#: part/templates/part/stock_count.html:7 templates/js/translated/bom.js:297 +#: templates/js/translated/model_renderers.js:167 +#: templates/js/translated/part.js:766 templates/js/translated/part.js:968 msgid "No Stock" msgstr "" @@ -5262,7 +5134,7 @@ msgstr "" msgid "Delete Part Parameter Template" msgstr "" -#: part/views.py:1502 templates/js/translated/part.js:303 +#: part/views.py:1502 templates/js/translated/part.js:308 msgid "Edit Part Category" msgstr "" @@ -5400,17 +5272,17 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:88 -#: stock/models.py:1807 +#: stock/models.py:1804 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:89 -#: stock/models.py:1813 +#: stock/models.py:1810 msgid "Result" msgstr "" #: report/templates/report/inventree_test_report_base.html:92 -#: templates/js/translated/order.js:353 templates/js/translated/stock.js:1523 +#: templates/js/translated/order.js:684 templates/js/translated/stock.js:1502 msgid "Date" msgstr "" @@ -5422,51 +5294,9 @@ msgstr "" msgid "Fail" msgstr "" -#: stock/api.py:146 -msgid "Request must contain list of stock items" -msgstr "" - -#: stock/api.py:154 -msgid "Improperly formatted data" -msgstr "" - -#: stock/api.py:162 -msgid "Each entry must contain a valid integer primary-key" -msgstr "" - -#: stock/api.py:168 -msgid "Primary key does not match valid stock item" -msgstr "" - -#: stock/api.py:178 -msgid "Invalid quantity value" -msgstr "" - -#: stock/api.py:183 -msgid "Quantity must not be less than zero" -msgstr "" - -#: stock/api.py:211 -#, python-brace-format -msgid "Updated stock for {n} items" -msgstr "" - -#: stock/api.py:247 stock/api.py:280 -msgid "Specified quantity exceeds stock quantity" -msgstr "" - -#: stock/api.py:270 -msgid "Valid location must be specified" -msgstr "" - -#: stock/api.py:290 -#, python-brace-format -msgid "Moved {n} parts to {loc}" -msgstr "" - #: stock/forms.py:79 stock/forms.py:307 stock/models.py:556 #: stock/templates/stock/item_base.html:395 -#: templates/js/translated/stock.js:967 +#: templates/js/translated/stock.js:946 msgid "Expiry Date" msgstr "" @@ -5678,38 +5508,54 @@ msgstr "" msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:1727 +#: stock/models.py:1724 msgid "Entry notes" msgstr "" -#: stock/models.py:1784 +#: stock/models.py:1781 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:1790 +#: stock/models.py:1787 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:1808 +#: stock/models.py:1805 msgid "Test name" msgstr "" -#: stock/models.py:1814 templates/js/translated/table_filters.js:244 +#: stock/models.py:1811 templates/js/translated/table_filters.js:244 msgid "Test result" msgstr "" -#: stock/models.py:1820 +#: stock/models.py:1817 msgid "Test output value" msgstr "" -#: stock/models.py:1827 +#: stock/models.py:1824 msgid "Test result attachment" msgstr "" -#: stock/models.py:1833 +#: stock/models.py:1830 msgid "Test notes" msgstr "" +#: stock/serializers.py:424 +msgid "StockItem primary key value" +msgstr "" + +#: stock/serializers.py:452 +msgid "Stock transaction notes" +msgstr "" + +#: stock/serializers.py:462 +msgid "A list of stock items must be provided" +msgstr "" + +#: stock/serializers.py:554 +msgid "Destination stock location" +msgstr "" + #: stock/templates/stock/item.html:17 msgid "Stock Tracking Information" msgstr "" @@ -5747,7 +5593,7 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:125 stock/views.py:534 +#: stock/templates/stock/item.html:125 stock/views.py:511 msgid "Install Stock Item" msgstr "" @@ -5910,7 +5756,7 @@ msgid "next page" msgstr "" #: stock/templates/stock/item_base.html:303 -#: templates/js/translated/build.js:651 +#: templates/js/translated/build.js:658 msgid "No location set" msgstr "Geen Locatie ingesteld" @@ -5937,7 +5783,7 @@ msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:408 -#: templates/js/translated/stock.js:980 +#: templates/js/translated/stock.js:959 msgid "Last Updated" msgstr "" @@ -6019,6 +5865,10 @@ msgstr "U staat niet in de lijst van eigenaars van deze locatie. Deze voorraadlo msgid "All stock items" msgstr "Alle voorraadartikelen" +#: stock/templates/stock/location.html:42 +msgid "Create new stock location" +msgstr "Maak nieuwe voorraadlocatie" + #: stock/templates/stock/location.html:55 msgid "Check-in Items" msgstr "" @@ -6058,7 +5908,7 @@ msgstr "Sublocaties" msgid "Stock Details" msgstr "Voorraadgegevens" -#: stock/templates/stock/location.html:129 templates/InvenTree/search.html:279 +#: stock/templates/stock/location.html:129 templates/InvenTree/search.html:196 #: templates/stats.html:97 users/models.py:42 msgid "Stock Locations" msgstr "Voorraadlocaties" @@ -6071,6 +5921,10 @@ msgstr "Afdrukacties" msgid "Print labels" msgstr "Labels afdrukken" +#: stock/templates/stock/location.html:250 +msgid "New Location" +msgstr "Nieuwe locatie" + #: stock/templates/stock/location.html:251 msgid "Create new location" msgstr "Maak nieuwe locatie" @@ -6111,7 +5965,7 @@ msgstr "" msgid "The following stock items will be uninstalled" msgstr "" -#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:932 +#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:909 msgid "Convert Stock Item" msgstr "" @@ -6132,104 +5986,104 @@ msgstr "" msgid "Are you sure you want to delete this stock tracking entry?" msgstr "" -#: stock/views.py:181 +#: stock/views.py:158 msgid "Edit Stock Location" msgstr "Bewerk voorraadlocatie" -#: stock/views.py:288 stock/views.py:911 stock/views.py:1033 -#: stock/views.py:1398 +#: stock/views.py:265 stock/views.py:888 stock/views.py:1010 +#: stock/views.py:1375 msgid "Owner is required (ownership control is enabled)" msgstr "" -#: stock/views.py:303 +#: stock/views.py:280 msgid "Stock Location QR code" msgstr "QR-code voor voorraadlocatie" -#: stock/views.py:322 +#: stock/views.py:299 msgid "Assign to Customer" msgstr "" -#: stock/views.py:331 +#: stock/views.py:308 msgid "Customer must be specified" msgstr "" -#: stock/views.py:355 +#: stock/views.py:332 msgid "Return to Stock" msgstr "" -#: stock/views.py:364 +#: stock/views.py:341 msgid "Specify a valid location" msgstr "Specificeer een geldige locatie" -#: stock/views.py:375 +#: stock/views.py:352 msgid "Stock item returned from customer" msgstr "" -#: stock/views.py:386 +#: stock/views.py:363 msgid "Delete All Test Data" msgstr "" -#: stock/views.py:403 +#: stock/views.py:380 msgid "Confirm test data deletion" msgstr "" -#: stock/views.py:508 +#: stock/views.py:485 msgid "Stock Item QR Code" msgstr "" -#: stock/views.py:683 +#: stock/views.py:660 msgid "Uninstall Stock Items" msgstr "" -#: stock/views.py:780 templates/js/translated/stock.js:353 +#: stock/views.py:757 templates/js/translated/stock.js:321 msgid "Confirm stock adjustment" msgstr "" -#: stock/views.py:791 +#: stock/views.py:768 msgid "Uninstalled stock items" msgstr "" -#: stock/views.py:813 +#: stock/views.py:790 msgid "Edit Stock Item" msgstr "" -#: stock/views.py:959 +#: stock/views.py:936 msgid "Create new Stock Location" msgstr "Maak nieuwe voorraadlocatie" -#: stock/views.py:1050 +#: stock/views.py:1027 msgid "Serialize Stock" msgstr "" -#: stock/views.py:1143 templates/js/translated/build.js:392 +#: stock/views.py:1120 msgid "Create new Stock Item" msgstr "" -#: stock/views.py:1285 +#: stock/views.py:1262 msgid "Duplicate Stock Item" msgstr "" -#: stock/views.py:1367 +#: stock/views.py:1344 msgid "Quantity cannot be negative" msgstr "" -#: stock/views.py:1467 +#: stock/views.py:1444 msgid "Delete Stock Location" msgstr "Verwijder voorraadlocatie" -#: stock/views.py:1480 +#: stock/views.py:1457 msgid "Delete Stock Item" msgstr "" -#: stock/views.py:1491 +#: stock/views.py:1468 msgid "Delete Stock Tracking Entry" msgstr "" -#: stock/views.py:1498 +#: stock/views.py:1475 msgid "Edit Stock Tracking Entry" msgstr "" -#: stock/views.py:1507 +#: stock/views.py:1484 msgid "Add Stock Tracking Entry" msgstr "" @@ -6313,14 +6167,6 @@ msgstr "" msgid "Enter a search query" msgstr "" -#: templates/InvenTree/search.html:268 templates/js/translated/stock.js:699 -msgid "Shipped to customer" -msgstr "" - -#: templates/InvenTree/search.html:271 templates/js/translated/stock.js:709 -msgid "No stock location set" -msgstr "Geen voorraadlocatie ingesteld" - #: templates/InvenTree/settings/barcode.html:8 msgid "Barcode Settings" msgstr "" @@ -6365,6 +6211,14 @@ msgstr "" msgid "Setting" msgstr "" +#: templates/InvenTree/settings/login.html:9 +msgid "Login Settings" +msgstr "" + +#: templates/InvenTree/settings/login.html:22 templates/account/signup.html:5 +msgid "Signup" +msgstr "" + #: templates/InvenTree/settings/navbar.html:12 #: templates/InvenTree/settings/user_settings.html:9 msgid "User Settings" @@ -6382,7 +6236,7 @@ msgstr "" #: templates/InvenTree/settings/navbar.html:27 #: templates/InvenTree/settings/navbar.html:29 -#: templates/js/translated/tables.js:366 templates/search_form.html:6 +#: templates/js/translated/tables.js:375 templates/search_form.html:6 #: templates/search_form.html:8 msgid "Search" msgstr "" @@ -6397,38 +6251,48 @@ msgstr "" msgid "Reports" msgstr "" -#: templates/InvenTree/settings/navbar.html:46 -#: templates/InvenTree/settings/navbar.html:48 -#: templates/InvenTree/settings/settings.html:8 templates/navbar.html:94 +#: templates/InvenTree/settings/navbar.html:45 +#: templates/InvenTree/settings/navbar.html:47 +msgid "Forms" +msgstr "" + +#: templates/InvenTree/settings/navbar.html:52 +#: templates/InvenTree/settings/navbar.html:54 +#: templates/InvenTree/settings/settings.html:8 templates/navbar.html:90 msgid "Settings" msgstr "" -#: templates/InvenTree/settings/navbar.html:56 +#: templates/InvenTree/settings/navbar.html:62 msgid "InvenTree Settings" msgstr "" -#: templates/InvenTree/settings/navbar.html:59 -#: templates/InvenTree/settings/navbar.html:61 templates/stats.html:9 +#: templates/InvenTree/settings/navbar.html:65 +#: templates/InvenTree/settings/navbar.html:67 templates/stats.html:9 msgid "Server" msgstr "" -#: templates/InvenTree/settings/navbar.html:65 -#: templates/InvenTree/settings/navbar.html:67 -msgid "Barcodes" -msgstr "" - #: templates/InvenTree/settings/navbar.html:71 -#: templates/InvenTree/settings/navbar.html:73 -msgid "Currencies" +#: templates/InvenTree/settings/navbar.html:73 templates/navbar.html:87 +msgid "Login" msgstr "" #: templates/InvenTree/settings/navbar.html:77 #: templates/InvenTree/settings/navbar.html:79 -msgid "Reporting" +msgid "Barcodes" +msgstr "" + +#: templates/InvenTree/settings/navbar.html:83 +#: templates/InvenTree/settings/navbar.html:85 +msgid "Currencies" msgstr "" #: templates/InvenTree/settings/navbar.html:89 #: templates/InvenTree/settings/navbar.html:91 +msgid "Reporting" +msgstr "" + +#: templates/InvenTree/settings/navbar.html:101 +#: templates/InvenTree/settings/navbar.html:103 msgid "Categories" msgstr "" @@ -6469,21 +6333,21 @@ msgstr "" msgid "Edit setting" msgstr "" -#: templates/InvenTree/settings/settings.html:152 +#: templates/InvenTree/settings/settings.html:154 msgid "No category parameter templates found" msgstr "" -#: templates/InvenTree/settings/settings.html:174 -#: templates/InvenTree/settings/settings.html:273 +#: templates/InvenTree/settings/settings.html:176 +#: templates/InvenTree/settings/settings.html:275 msgid "Edit Template" msgstr "" -#: templates/InvenTree/settings/settings.html:175 -#: templates/InvenTree/settings/settings.html:274 +#: templates/InvenTree/settings/settings.html:177 +#: templates/InvenTree/settings/settings.html:276 msgid "Delete Template" msgstr "" -#: templates/InvenTree/settings/settings.html:253 +#: templates/InvenTree/settings/settings.html:255 msgid "No part parameter templates found" msgstr "" @@ -6495,70 +6359,140 @@ msgstr "" msgid "Stock Settings" msgstr "" -#: templates/InvenTree/settings/user.html:9 +#: templates/InvenTree/settings/user.html:11 msgid "Account Settings" msgstr "" -#: templates/InvenTree/settings/user.html:15 +#: templates/InvenTree/settings/user.html:19 #: templates/js/translated/helpers.js:26 msgid "Edit" msgstr "" -#: templates/InvenTree/settings/user.html:17 +#: templates/InvenTree/settings/user.html:21 +#: templates/account/password_reset_from_key.html:4 +#: templates/account/password_reset_from_key.html:7 msgid "Change Password" msgstr "" -#: templates/InvenTree/settings/user.html:24 -#: templates/registration/login.html:58 +#: templates/InvenTree/settings/user.html:28 msgid "Username" msgstr "" -#: templates/InvenTree/settings/user.html:28 +#: templates/InvenTree/settings/user.html:32 msgid "First Name" msgstr "" -#: templates/InvenTree/settings/user.html:32 +#: templates/InvenTree/settings/user.html:36 msgid "Last Name" msgstr "" -#: templates/InvenTree/settings/user.html:36 -msgid "Email Address" +#: templates/InvenTree/settings/user.html:42 +msgid "E-Mail" msgstr "" -#: templates/InvenTree/settings/user.html:42 -msgid "Theme Settings" +#: templates/InvenTree/settings/user.html:47 +msgid "The following e-mail addresses are associated with your account:" +msgstr "" + +#: templates/InvenTree/settings/user.html:61 +msgid "Verified" msgstr "" #: templates/InvenTree/settings/user.html:63 +msgid "Unverified" +msgstr "" + +#: templates/InvenTree/settings/user.html:65 +msgid "Primary" +msgstr "" + +#: templates/InvenTree/settings/user.html:71 +msgid "Make Primary" +msgstr "" + +#: templates/InvenTree/settings/user.html:72 +msgid "Re-send Verification" +msgstr "" + +#: templates/InvenTree/settings/user.html:73 +#: templates/InvenTree/settings/user.html:130 +msgid "Remove" +msgstr "" + +#: templates/InvenTree/settings/user.html:80 +msgid "Warning:" +msgstr "" + +#: templates/InvenTree/settings/user.html:81 +msgid "You currently do not have any e-mail address set up. You should really add an e-mail address so you can receive notifications, reset your password, etc." +msgstr "" + +#: templates/InvenTree/settings/user.html:88 +msgid "Add E-mail Address" +msgstr "" + +#: templates/InvenTree/settings/user.html:93 +msgid "Add E-mail" +msgstr "" + +#: templates/InvenTree/settings/user.html:100 +msgid "Social Accounts" +msgstr "" + +#: templates/InvenTree/settings/user.html:105 +msgid "You can sign in to your account using any of the following third party accounts:" +msgstr "" + +#: templates/InvenTree/settings/user.html:138 +msgid "You currently have no social network accounts connected to this account." +msgstr "" + +#: templates/InvenTree/settings/user.html:142 +msgid "Add a 3rd Party Account" +msgstr "" + +#: templates/InvenTree/settings/user.html:153 +msgid "Theme Settings" +msgstr "" + +#: templates/InvenTree/settings/user.html:174 msgid "Set Theme" msgstr "" -#: templates/InvenTree/settings/user.html:70 +#: templates/InvenTree/settings/user.html:181 msgid "Language Settings" msgstr "" -#: templates/InvenTree/settings/user.html:89 +#: templates/InvenTree/settings/user.html:200 #, python-format msgid "%(lang_translated)s%% translated" msgstr "" -#: templates/InvenTree/settings/user.html:91 +#: templates/InvenTree/settings/user.html:202 msgid "No translations available" msgstr "" -#: templates/InvenTree/settings/user.html:98 +#: templates/InvenTree/settings/user.html:209 msgid "Set Language" msgstr "" -#: templates/InvenTree/settings/user.html:103 +#: templates/InvenTree/settings/user.html:214 msgid "Help the translation efforts!" msgstr "" -#: templates/InvenTree/settings/user.html:104 +#: templates/InvenTree/settings/user.html:215 #, python-format msgid "Native language translation of the InvenTree web application is community contributed via crowdin. Contributions are welcomed and encouraged." msgstr "" +#: templates/InvenTree/settings/user.html:223 +msgid "Do you really want to remove the selected e-mail address?" +msgstr "" + +#: templates/InvenTree/settings/user_forms.html:9 +msgid "Form Settings" +msgstr "" + #: templates/InvenTree/settings/user_homepage.html:9 msgid "Home Page Settings" msgstr "" @@ -6641,11 +6575,108 @@ msgstr "" #: templates/about.html:107 templates/js/translated/modals.js:50 #: templates/js/translated/modals.js:584 templates/js/translated/modals.js:678 -#: templates/js/translated/modals.js:971 templates/modals.html:29 +#: templates/js/translated/modals.js:982 templates/modals.html:29 #: templates/modals.html:54 msgid "Close" msgstr "" +#: templates/account/email_confirm.html:6 +#: templates/account/email_confirm.html:10 +msgid "Confirm E-mail Address" +msgstr "" + +#: templates/account/email_confirm.html:16 +#, python-format +msgid "Please confirm that %(email)s is an e-mail address for user %(user_display)s." +msgstr "" + +#: templates/account/email_confirm.html:27 +#, python-format +msgid "This e-mail confirmation link expired or is invalid. Please issue a new e-mail confirmation request." +msgstr "" + +#: templates/account/login.html:5 templates/account/login.html:14 +#: templates/account/login.html:36 +msgid "Sign In" +msgstr "" + +#: templates/account/login.html:19 +#, python-format +msgid "Please sign in with one\n" +"of your existing third party accounts or sign up\n" +"for a account and sign in below:" +msgstr "" + +#: templates/account/login.html:23 +#, python-format +msgid "If you have not created an account yet, then please\n" +"sign up first." +msgstr "" + +#: templates/account/login.html:38 +msgid "Forgot Password?" +msgstr "" + +#: templates/account/login.html:45 +msgid "or use SSO" +msgstr "" + +#: templates/account/logout.html:5 templates/account/logout.html:8 +#: templates/account/logout.html:17 +msgid "Sign Out" +msgstr "" + +#: templates/account/logout.html:10 +msgid "Are you sure you want to sign out?" +msgstr "" + +#: templates/account/password_reset.html:5 +#: templates/account/password_reset.html:12 +msgid "Password Reset" +msgstr "" + +#: templates/account/password_reset.html:18 +msgid "Forgotten your password? Enter your e-mail address below, and we'll send you an e-mail allowing you to reset it." +msgstr "" + +#: templates/account/password_reset.html:23 +msgid "Reset My Password" +msgstr "" + +#: templates/account/password_reset.html:27 templates/account/signup.html:36 +msgid "This function is currently disabled. Please contact an administrator." +msgstr "" + +#: templates/account/password_reset_from_key.html:7 +msgid "Bad Token" +msgstr "" + +#: templates/account/password_reset_from_key.html:11 +#, python-format +msgid "The password reset link was invalid, possibly because it has already been used. Please request a new password reset." +msgstr "" + +#: templates/account/password_reset_from_key.html:17 +msgid "change password" +msgstr "" + +#: templates/account/password_reset_from_key.html:20 +msgid "Your password is now changed." +msgstr "" + +#: templates/account/signup.html:11 templates/account/signup.html:22 +msgid "Sign Up" +msgstr "" + +#: templates/account/signup.html:13 +#, python-format +msgid "Already have an account? Then please sign in." +msgstr "" + +#: templates/account/signup.html:27 +msgid "Or use a SSO-provider for signup" +msgstr "" + #: templates/image_download.html:8 msgid "Specify URL for downloading image" msgstr "" @@ -6675,7 +6706,7 @@ msgid "Select Test Report Template" msgstr "" #: templates/js/report.js:98 templates/js/translated/label.js:29 -#: templates/js/translated/report.js:118 templates/js/translated/stock.js:313 +#: templates/js/translated/report.js:118 templates/js/translated/stock.js:297 msgid "Select Stock Items" msgstr "" @@ -6707,8 +6738,8 @@ msgstr "" msgid "No report templates found which match selected build(s)" msgstr "" -#: templates/js/report.js:205 templates/js/translated/label.js:134 -#: templates/js/translated/report.js:225 +#: templates/js/report.js:205 templates/js/translated/build.js:948 +#: templates/js/translated/label.js:134 templates/js/translated/report.js:225 msgid "Select Parts" msgstr "" @@ -6741,11 +6772,11 @@ msgstr "" msgid "Sales Order(s) must be selected before printing report" msgstr "" -#: templates/js/translated/api.js:174 templates/js/translated/modals.js:1041 +#: templates/js/translated/api.js:174 templates/js/translated/modals.js:1052 msgid "No Response" msgstr "" -#: templates/js/translated/api.js:175 templates/js/translated/modals.js:1042 +#: templates/js/translated/api.js:175 templates/js/translated/modals.js:1053 msgid "No response from the InvenTree server" msgstr "" @@ -6757,35 +6788,35 @@ msgstr "" msgid "API request returned error code 400" msgstr "" -#: templates/js/translated/api.js:186 templates/js/translated/modals.js:1051 +#: templates/js/translated/api.js:186 templates/js/translated/modals.js:1062 msgid "Error 401: Not Authenticated" msgstr "" -#: templates/js/translated/api.js:187 templates/js/translated/modals.js:1052 +#: templates/js/translated/api.js:187 templates/js/translated/modals.js:1063 msgid "Authentication credentials not supplied" msgstr "" -#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1056 +#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1067 msgid "Error 403: Permission Denied" msgstr "" -#: templates/js/translated/api.js:192 templates/js/translated/modals.js:1057 +#: templates/js/translated/api.js:192 templates/js/translated/modals.js:1068 msgid "You do not have the required permissions to access this function" msgstr "" -#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1061 +#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1072 msgid "Error 404: Resource Not Found" msgstr "" -#: templates/js/translated/api.js:197 templates/js/translated/modals.js:1062 +#: templates/js/translated/api.js:197 templates/js/translated/modals.js:1073 msgid "The requested resource could not be located on the server" msgstr "" -#: templates/js/translated/api.js:201 templates/js/translated/modals.js:1066 +#: templates/js/translated/api.js:201 templates/js/translated/modals.js:1077 msgid "Error 408: Timeout" msgstr "" -#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1067 +#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1078 msgid "Connection timeout while requesting data from server" msgstr "" @@ -6842,7 +6873,7 @@ msgid "Unknown response from server" msgstr "" #: templates/js/translated/barcode.js:141 -#: templates/js/translated/modals.js:1031 +#: templates/js/translated/modals.js:1042 msgid "Invalid server response" msgstr "" @@ -6870,7 +6901,7 @@ msgstr "" msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:398 templates/js/translated/stock.js:289 +#: templates/js/translated/barcode.js:398 templates/js/translated/stock.js:273 msgid "Remove stock item" msgstr "" @@ -6912,115 +6943,181 @@ msgstr "" msgid "Barcode does not match a valid location" msgstr "" -#: templates/js/translated/bom.js:215 templates/js/translated/build.js:1169 +#: templates/js/translated/bom.js:234 templates/js/translated/build.js:1495 msgid "Open subassembly" msgstr "" -#: templates/js/translated/bom.js:287 +#: templates/js/translated/bom.js:288 templates/js/translated/build.js:744 +#: templates/js/translated/build.js:1345 templates/js/translated/build.js:1522 +msgid "Available" +msgstr "" + +#: templates/js/translated/bom.js:307 msgid "Purchase Price Range" msgstr "" -#: templates/js/translated/bom.js:294 +#: templates/js/translated/bom.js:314 msgid "Purchase Price Average" msgstr "" -#: templates/js/translated/bom.js:342 templates/js/translated/bom.js:428 +#: templates/js/translated/bom.js:363 templates/js/translated/bom.js:449 msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:402 +#: templates/js/translated/bom.js:415 templates/js/translated/build.js:798 +#: templates/js/translated/build.js:1545 templates/js/translated/order.js:1285 +msgid "Actions" +msgstr "" + +#: templates/js/translated/bom.js:423 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:404 +#: templates/js/translated/bom.js:425 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:406 templates/js/translated/bom.js:569 +#: templates/js/translated/bom.js:427 templates/js/translated/bom.js:590 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:408 templates/js/translated/bom.js:554 +#: templates/js/translated/bom.js:429 templates/js/translated/bom.js:575 msgid "Delete BOM Item" msgstr "" -#: templates/js/translated/bom.js:499 templates/js/translated/build.js:483 -#: templates/js/translated/build.js:1267 +#: templates/js/translated/bom.js:520 templates/js/translated/build.js:485 +#: templates/js/translated/build.js:1593 msgid "No BOM items found" msgstr "" -#: templates/js/translated/build.js:69 +#: templates/js/translated/build.js:71 msgid "Edit Build Order" msgstr "" -#: templates/js/translated/build.js:95 +#: templates/js/translated/build.js:105 msgid "Create Build Order" msgstr "" -#: templates/js/translated/build.js:127 -msgid "Auto-allocate stock items to this output" +#: templates/js/translated/build.js:138 +msgid "Allocate stock items to this build output" msgstr "" -#: templates/js/translated/build.js:135 +#: templates/js/translated/build.js:146 msgid "Unallocate stock from build output" msgstr "" -#: templates/js/translated/build.js:145 +#: templates/js/translated/build.js:155 msgid "Complete build output" msgstr "" -#: templates/js/translated/build.js:154 +#: templates/js/translated/build.js:164 msgid "Delete build output" msgstr "" -#: templates/js/translated/build.js:249 +#: templates/js/translated/build.js:265 msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:287 templates/js/translated/order.js:813 +#: templates/js/translated/build.js:303 templates/js/translated/order.js:1159 msgid "Location not specified" msgstr "" -#: templates/js/translated/build.js:391 templates/stock_table.html:20 -msgid "New Stock Item" +#: templates/js/translated/build.js:675 templates/js/translated/build.js:1356 +#: templates/js/translated/order.js:1292 +msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/build.js:702 +#: templates/js/translated/build.js:677 templates/js/translated/build.js:1357 +#: templates/js/translated/order.js:1293 +msgid "Delete stock allocation" +msgstr "" + +#: templates/js/translated/build.js:695 +msgid "Edit Allocation" +msgstr "" + +#: templates/js/translated/build.js:705 +msgid "Remove Allocation" +msgstr "" + +#: templates/js/translated/build.js:718 msgid "Required Part" msgstr "" -#: templates/js/translated/build.js:723 +#: templates/js/translated/build.js:739 msgid "Quantity Per" msgstr "" -#: templates/js/translated/build.js:793 templates/js/translated/build.js:1231 +#: templates/js/translated/build.js:749 templates/js/translated/build.js:975 +#: templates/js/translated/build.js:1352 templates/js/translated/order.js:1514 +msgid "Allocated" +msgstr "" + +#: templates/js/translated/build.js:805 templates/js/translated/build.js:1553 +#: templates/js/translated/order.js:1567 +msgid "Build stock" +msgstr "" + +#: templates/js/translated/build.js:809 templates/js/translated/build.js:1557 #: templates/stock_table.html:59 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:846 +#: templates/js/translated/build.js:812 templates/js/translated/order.js:1560 +msgid "Allocate stock" +msgstr "" + +#: templates/js/translated/build.js:880 +msgid "Specify stock allocation quantity" +msgstr "" + +#: templates/js/translated/build.js:949 +msgid "You must select at least one part to allocate" +msgstr "" + +#: templates/js/translated/build.js:963 +msgid "Select source location (leave blank to take from all locations)" +msgstr "" + +#: templates/js/translated/build.js:992 +msgid "Confirm stock allocation" +msgstr "Bevestig de voorraadtoewijzing" + +#: templates/js/translated/build.js:993 +msgid "Allocate Stock Items to Build Order" +msgstr "" + +#: templates/js/translated/build.js:1004 +msgid "No matching stock locations" +msgstr "" + +#: templates/js/translated/build.js:1048 +msgid "No matching stock items" +msgstr "" + +#: templates/js/translated/build.js:1172 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:863 templates/js/translated/part.js:845 -#: templates/js/translated/part.js:1123 templates/js/translated/stock.js:783 -#: templates/js/translated/stock.js:1477 +#: templates/js/translated/build.js:1189 templates/js/translated/part.js:856 +#: templates/js/translated/part.js:1134 templates/js/translated/stock.js:762 +#: templates/js/translated/stock.js:1456 msgid "Select" msgstr "" -#: templates/js/translated/build.js:883 +#: templates/js/translated/build.js:1209 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:944 templates/js/translated/stock.js:1696 +#: templates/js/translated/build.js:1270 templates/js/translated/stock.js:1675 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:956 +#: templates/js/translated/build.js:1282 msgid "No information" msgstr "" -#: templates/js/translated/build.js:1007 +#: templates/js/translated/build.js:1333 msgid "No parts allocated for" msgstr "" @@ -7040,7 +7137,7 @@ msgstr "" msgid "Delete Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:164 templates/js/translated/order.js:86 +#: templates/js/translated/company.js:164 templates/js/translated/order.js:89 msgid "Add Supplier" msgstr "" @@ -7084,53 +7181,53 @@ msgstr "" msgid "Delete Manufacturer Parts" msgstr "" -#: templates/js/translated/company.js:475 +#: templates/js/translated/company.js:476 msgid "No manufacturer parts found" msgstr "" -#: templates/js/translated/company.js:495 -#: templates/js/translated/company.js:751 templates/js/translated/part.js:416 -#: templates/js/translated/part.js:501 +#: templates/js/translated/company.js:496 +#: templates/js/translated/company.js:753 templates/js/translated/part.js:427 +#: templates/js/translated/part.js:512 msgid "Template part" msgstr "" -#: templates/js/translated/company.js:499 -#: templates/js/translated/company.js:755 templates/js/translated/part.js:420 -#: templates/js/translated/part.js:505 +#: templates/js/translated/company.js:500 +#: templates/js/translated/company.js:757 templates/js/translated/part.js:431 +#: templates/js/translated/part.js:516 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:626 templates/js/translated/part.js:593 +#: templates/js/translated/company.js:627 templates/js/translated/part.js:604 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:663 templates/js/translated/part.js:635 +#: templates/js/translated/company.js:664 templates/js/translated/part.js:646 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:664 templates/js/translated/part.js:636 +#: templates/js/translated/company.js:665 templates/js/translated/part.js:647 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:683 templates/js/translated/part.js:653 +#: templates/js/translated/company.js:684 templates/js/translated/part.js:664 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:694 templates/js/translated/part.js:665 +#: templates/js/translated/company.js:695 templates/js/translated/part.js:676 msgid "Delete Parameter" msgstr "" -#: templates/js/translated/company.js:731 +#: templates/js/translated/company.js:733 msgid "No supplier parts found" msgstr "" #: templates/js/translated/filters.js:178 -#: templates/js/translated/filters.js:402 +#: templates/js/translated/filters.js:407 msgid "true" msgstr "" #: templates/js/translated/filters.js:182 -#: templates/js/translated/filters.js:403 +#: templates/js/translated/filters.js:408 msgid "false" msgstr "" @@ -7138,19 +7235,19 @@ msgstr "" msgid "Select filter" msgstr "" -#: templates/js/translated/filters.js:279 +#: templates/js/translated/filters.js:284 msgid "Reload data" msgstr "" -#: templates/js/translated/filters.js:281 +#: templates/js/translated/filters.js:286 msgid "Add new filter" msgstr "" -#: templates/js/translated/filters.js:284 +#: templates/js/translated/filters.js:289 msgid "Clear all filters" msgstr "" -#: templates/js/translated/filters.js:312 +#: templates/js/translated/filters.js:317 msgid "Create filter" msgstr "" @@ -7175,16 +7272,20 @@ msgstr "" msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:889 templates/modals.html:21 +#: templates/js/translated/forms.js:968 templates/modals.html:21 #: templates/modals.html:47 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1379 +#: templates/js/translated/forms.js:1323 +msgid "No results found" +msgstr "" + +#: templates/js/translated/forms.js:1525 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:1593 +#: templates/js/translated/forms.js:1742 msgid "Clear input" msgstr "" @@ -7247,7 +7348,7 @@ msgid "Cancel" msgstr "" #: templates/js/translated/modals.js:77 templates/js/translated/modals.js:119 -#: templates/js/translated/modals.js:677 templates/js/translated/modals.js:970 +#: templates/js/translated/modals.js:677 templates/js/translated/modals.js:981 #: templates/modals.html:30 templates/modals.html:55 msgid "Submit" msgstr "" @@ -7272,31 +7373,31 @@ msgstr "" msgid "Loading Data" msgstr "" -#: templates/js/translated/modals.js:922 +#: templates/js/translated/modals.js:933 msgid "Invalid response from server" msgstr "" -#: templates/js/translated/modals.js:922 +#: templates/js/translated/modals.js:933 msgid "Form data missing from server response" msgstr "" -#: templates/js/translated/modals.js:934 +#: templates/js/translated/modals.js:945 msgid "Error posting form data" msgstr "" -#: templates/js/translated/modals.js:1031 +#: templates/js/translated/modals.js:1042 msgid "JSON response missing form data" msgstr "" -#: templates/js/translated/modals.js:1046 +#: templates/js/translated/modals.js:1057 msgid "Error 400: Bad Request" msgstr "" -#: templates/js/translated/modals.js:1047 +#: templates/js/translated/modals.js:1058 msgid "Server returned error code 400" msgstr "" -#: templates/js/translated/modals.js:1070 +#: templates/js/translated/modals.js:1081 msgid "Error requesting form data" msgstr "" @@ -7304,70 +7405,195 @@ msgstr "" msgid "Company ID" msgstr "" -#: templates/js/translated/model_renderers.js:82 +#: templates/js/translated/model_renderers.js:90 +msgid "Stock ID" +msgstr "" + +#: templates/js/translated/model_renderers.js:125 msgid "Location ID" msgstr "" -#: templates/js/translated/model_renderers.js:99 +#: templates/js/translated/model_renderers.js:142 msgid "Build ID" msgstr "" -#: templates/js/translated/model_renderers.js:119 +#: templates/js/translated/model_renderers.js:177 msgid "Part ID" msgstr "" -#: templates/js/translated/model_renderers.js:171 +#: templates/js/translated/model_renderers.js:231 +msgid "Order ID" +msgstr "" + +#: templates/js/translated/model_renderers.js:251 msgid "Category ID" msgstr "" -#: templates/js/translated/model_renderers.js:208 +#: templates/js/translated/model_renderers.js:288 msgid "Manufacturer Part ID" msgstr "" -#: templates/js/translated/model_renderers.js:237 +#: templates/js/translated/model_renderers.js:317 msgid "Supplier Part ID" msgstr "" -#: templates/js/translated/order.js:45 +#: templates/js/translated/order.js:48 msgid "Add Customer" msgstr "" -#: templates/js/translated/order.js:70 +#: templates/js/translated/order.js:73 msgid "Create Sales Order" msgstr "" -#: templates/js/translated/order.js:295 +#: templates/js/translated/order.js:207 +msgid "Export Order" +msgstr "" + +#: templates/js/translated/order.js:210 templates/js/translated/stock.js:96 +msgid "Format" +msgstr "" + +#: templates/js/translated/order.js:211 templates/js/translated/stock.js:97 +msgid "Select file format" +msgstr "" + +#: templates/js/translated/order.js:299 +msgid "Select Line Items" +msgstr "" + +#: templates/js/translated/order.js:300 +msgid "At least one line item must be selected" +msgstr "" + +#: templates/js/translated/order.js:325 +msgid "Quantity to receive" +msgstr "" + +#: templates/js/translated/order.js:359 templates/js/translated/stock.js:1343 +msgid "Stock Status" +msgstr "" + +#: templates/js/translated/order.js:426 +msgid "Order Code" +msgstr "" + +#: templates/js/translated/order.js:427 +msgid "Ordered" +msgstr "" + +#: templates/js/translated/order.js:429 +msgid "Receive" +msgstr "" + +#: templates/js/translated/order.js:448 +msgid "Confirm receipt of items" +msgstr "" + +#: templates/js/translated/order.js:449 +msgid "Receive Purchase Order Items" +msgstr "" + +#: templates/js/translated/order.js:626 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/order.js:320 templates/js/translated/order.js:682 +#: templates/js/translated/order.js:651 templates/js/translated/order.js:1028 msgid "Order is overdue" msgstr "" -#: templates/js/translated/order.js:452 +#: templates/js/translated/order.js:749 templates/js/translated/order.js:1602 +msgid "Edit Line Item" +msgstr "" + +#: templates/js/translated/order.js:761 templates/js/translated/order.js:1613 +msgid "Delete Line Item" +msgstr "" + +#: templates/js/translated/order.js:800 msgid "No line items found" msgstr "" -#: templates/js/translated/order.js:617 +#: templates/js/translated/order.js:827 templates/js/translated/order.js:1432 +msgid "Total" +msgstr "" + +#: templates/js/translated/order.js:880 templates/js/translated/order.js:1457 +#: templates/js/translated/part.js:1343 templates/js/translated/part.js:1554 +msgid "Unit Price" +msgstr "" + +#: templates/js/translated/order.js:889 templates/js/translated/order.js:1464 +msgid "Total price" +msgstr "" + +#: templates/js/translated/order.js:962 templates/js/translated/order.js:1573 +msgid "Edit line item" +msgstr "" + +#: templates/js/translated/order.js:963 msgid "Delete line item" msgstr "" -#: templates/js/translated/order.js:621 +#: templates/js/translated/order.js:967 msgid "Receive line item" msgstr "" -#: templates/js/translated/order.js:658 +#: templates/js/translated/order.js:1004 msgid "No sales orders found" msgstr "" -#: templates/js/translated/order.js:696 +#: templates/js/translated/order.js:1042 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/order.js:774 +#: templates/js/translated/order.js:1120 msgid "No sales order allocations found" msgstr "" +#: templates/js/translated/order.js:1213 +msgid "Edit Stock Allocation" +msgstr "" + +#: templates/js/translated/order.js:1231 +msgid "Delete Stock Allocation" +msgstr "" + +#: templates/js/translated/order.js:1273 +msgid "Stock location not specified" +msgstr "" + +#: templates/js/translated/order.js:1514 +msgid "Fulfilled" +msgstr "" + +#: templates/js/translated/order.js:1557 +msgid "Allocate serial numbers" +msgstr "" + +#: templates/js/translated/order.js:1563 +msgid "Purchase stock" +msgstr "" + +#: templates/js/translated/order.js:1570 templates/js/translated/order.js:1725 +msgid "Calculate price" +msgstr "" + +#: templates/js/translated/order.js:1574 +msgid "Delete line item " +msgstr "" + +#: templates/js/translated/order.js:1673 +msgid "Allocate Stock Item" +msgstr "" + +#: templates/js/translated/order.js:1733 +msgid "Update Unit Price" +msgstr "" + +#: templates/js/translated/order.js:1747 +msgid "No matching line items" +msgstr "" + #: templates/js/translated/part.js:49 msgid "Part Attributes" msgstr "" @@ -7388,396 +7614,396 @@ msgstr "" msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:159 +#: templates/js/translated/part.js:164 msgid "Create Initial Stock" msgstr "" -#: templates/js/translated/part.js:160 +#: templates/js/translated/part.js:165 msgid "Create an initial stock item for this part" msgstr "" -#: templates/js/translated/part.js:167 +#: templates/js/translated/part.js:172 msgid "Initial Stock Quantity" msgstr "" -#: templates/js/translated/part.js:168 +#: templates/js/translated/part.js:173 msgid "Specify initial stock quantity for this part" msgstr "" -#: templates/js/translated/part.js:175 templates/js/translated/stock.js:330 +#: templates/js/translated/part.js:180 msgid "Select destination stock location" msgstr "" -#: templates/js/translated/part.js:186 +#: templates/js/translated/part.js:191 msgid "Copy Category Parameters" msgstr "" -#: templates/js/translated/part.js:187 +#: templates/js/translated/part.js:192 msgid "Copy parameter templates from selected part category" msgstr "" -#: templates/js/translated/part.js:195 +#: templates/js/translated/part.js:200 msgid "Add Supplier Data" msgstr "" -#: templates/js/translated/part.js:196 +#: templates/js/translated/part.js:201 msgid "Create initial supplier data for this part" msgstr "" -#: templates/js/translated/part.js:252 +#: templates/js/translated/part.js:257 msgid "Copy Image" msgstr "" -#: templates/js/translated/part.js:253 +#: templates/js/translated/part.js:258 msgid "Copy image from original part" msgstr "" -#: templates/js/translated/part.js:260 +#: templates/js/translated/part.js:265 msgid "Copy BOM" msgstr "" -#: templates/js/translated/part.js:261 +#: templates/js/translated/part.js:266 msgid "Copy bill of materials from original part" msgstr "" -#: templates/js/translated/part.js:268 +#: templates/js/translated/part.js:273 msgid "Copy Parameters" msgstr "" -#: templates/js/translated/part.js:269 +#: templates/js/translated/part.js:274 msgid "Copy parameter data from original part" msgstr "" -#: templates/js/translated/part.js:282 +#: templates/js/translated/part.js:287 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:323 +#: templates/js/translated/part.js:331 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:408 templates/js/translated/part.js:493 +#: templates/js/translated/part.js:419 templates/js/translated/part.js:504 msgid "Trackable part" msgstr "" -#: templates/js/translated/part.js:412 templates/js/translated/part.js:497 +#: templates/js/translated/part.js:423 templates/js/translated/part.js:508 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:424 +#: templates/js/translated/part.js:435 msgid "Starred part" msgstr "" -#: templates/js/translated/part.js:428 +#: templates/js/translated/part.js:439 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:543 +#: templates/js/translated/part.js:554 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:732 templates/js/translated/part.js:994 +#: templates/js/translated/part.js:743 templates/js/translated/part.js:1005 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:921 +#: templates/js/translated/part.js:932 msgid "No category" msgstr "" -#: templates/js/translated/part.js:944 -#: templates/js/translated/table_filters.js:350 +#: templates/js/translated/part.js:955 +#: templates/js/translated/table_filters.js:359 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:1148 templates/js/translated/stock.js:1501 +#: templates/js/translated/part.js:1159 templates/js/translated/stock.js:1480 msgid "Path" msgstr "" -#: templates/js/translated/part.js:1191 +#: templates/js/translated/part.js:1202 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:1242 templates/js/translated/stock.js:514 +#: templates/js/translated/part.js:1253 templates/js/translated/stock.js:493 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:1243 templates/js/translated/stock.js:515 +#: templates/js/translated/part.js:1254 templates/js/translated/stock.js:494 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:1249 +#: templates/js/translated/part.js:1260 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:1274 +#: templates/js/translated/part.js:1282 +msgid "Edit Test Result Template" +msgstr "" + +#: templates/js/translated/part.js:1296 +msgid "Delete Test Result Template" +msgstr "" + +#: templates/js/translated/part.js:1321 #, python-brace-format msgid "No ${human_name} information found" msgstr "" -#: templates/js/translated/part.js:1329 +#: templates/js/translated/part.js:1376 #, python-brace-format msgid "Edit ${human_name}" msgstr "" -#: templates/js/translated/part.js:1330 +#: templates/js/translated/part.js:1377 #, python-brace-format msgid "Delete ${human_name}" msgstr "" -#: templates/js/translated/part.js:1431 +#: templates/js/translated/part.js:1478 msgid "Single Price" msgstr "" -#: templates/js/translated/part.js:1450 +#: templates/js/translated/part.js:1497 msgid "Single Price Difference" msgstr "" -#: templates/js/translated/stock.js:66 +#: templates/js/translated/stock.js:63 msgid "Parent stock location" msgstr "" -#: templates/js/translated/stock.js:96 +#: templates/js/translated/stock.js:93 msgid "Export Stock" msgstr "" -#: templates/js/translated/stock.js:99 -msgid "Format" -msgstr "" - -#: templates/js/translated/stock.js:100 -msgid "Select file format" -msgstr "" - -#: templates/js/translated/stock.js:124 +#: templates/js/translated/stock.js:104 msgid "Include Sublocations" msgstr "" -#: templates/js/translated/stock.js:125 +#: templates/js/translated/stock.js:105 msgid "Include stock items in sublocations" msgstr "" -#: templates/js/translated/stock.js:167 +#: templates/js/translated/stock.js:147 msgid "Transfer Stock" msgstr "" -#: templates/js/translated/stock.js:168 +#: templates/js/translated/stock.js:148 msgid "Move" msgstr "" -#: templates/js/translated/stock.js:174 +#: templates/js/translated/stock.js:154 msgid "Count Stock" msgstr "" -#: templates/js/translated/stock.js:175 +#: templates/js/translated/stock.js:155 msgid "Count" msgstr "" -#: templates/js/translated/stock.js:179 +#: templates/js/translated/stock.js:159 msgid "Remove Stock" msgstr "" -#: templates/js/translated/stock.js:180 +#: templates/js/translated/stock.js:160 msgid "Take" msgstr "" -#: templates/js/translated/stock.js:184 +#: templates/js/translated/stock.js:164 msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:185 users/models.py:190 +#: templates/js/translated/stock.js:165 users/models.py:195 msgid "Add" msgstr "" -#: templates/js/translated/stock.js:189 templates/stock_table.html:63 +#: templates/js/translated/stock.js:169 templates/stock_table.html:63 msgid "Delete Stock" msgstr "" -#: templates/js/translated/stock.js:278 +#: templates/js/translated/stock.js:258 msgid "Quantity cannot be adjusted for serialized stock" msgstr "" -#: templates/js/translated/stock.js:278 +#: templates/js/translated/stock.js:258 msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:314 +#: templates/js/translated/stock.js:298 msgid "You must select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:339 -msgid "Stock transaction notes" -msgstr "" - -#: templates/js/translated/stock.js:477 +#: templates/js/translated/stock.js:456 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:479 +#: templates/js/translated/stock.js:458 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:484 +#: templates/js/translated/stock.js:463 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:510 +#: templates/js/translated/stock.js:489 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:536 +#: templates/js/translated/stock.js:515 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:584 +#: templates/js/translated/stock.js:563 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:691 +#: templates/js/translated/stock.js:670 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:695 +#: templates/js/translated/stock.js:674 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:703 +#: templates/js/translated/stock.js:678 +msgid "Shipped to customer" +msgstr "" + +#: templates/js/translated/stock.js:682 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:865 +#: templates/js/translated/stock.js:688 +msgid "No stock location set" +msgstr "Geen voorraadlocatie ingesteld" + +#: templates/js/translated/stock.js:844 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:870 +#: templates/js/translated/stock.js:849 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:873 +#: templates/js/translated/stock.js:852 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:877 +#: templates/js/translated/stock.js:856 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:879 +#: templates/js/translated/stock.js:858 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:883 +#: templates/js/translated/stock.js:862 msgid "Stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:887 +#: templates/js/translated/stock.js:866 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:894 +#: templates/js/translated/stock.js:873 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:896 +#: templates/js/translated/stock.js:875 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:898 +#: templates/js/translated/stock.js:877 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:902 +#: templates/js/translated/stock.js:881 #: templates/js/translated/table_filters.js:161 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:956 +#: templates/js/translated/stock.js:935 msgid "Stocktake" msgstr "" -#: templates/js/translated/stock.js:1029 +#: templates/js/translated/stock.js:1008 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:1067 +#: templates/js/translated/stock.js:1046 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:1088 templates/js/translated/stock.js:1136 +#: templates/js/translated/stock.js:1067 templates/js/translated/stock.js:1115 msgid "items" msgstr "" -#: templates/js/translated/stock.js:1176 +#: templates/js/translated/stock.js:1155 msgid "batches" msgstr "" -#: templates/js/translated/stock.js:1203 +#: templates/js/translated/stock.js:1182 msgid "locations" msgstr "" -#: templates/js/translated/stock.js:1205 +#: templates/js/translated/stock.js:1184 msgid "Undefined location" msgstr "" -#: templates/js/translated/stock.js:1364 -msgid "Stock Status" -msgstr "" - -#: templates/js/translated/stock.js:1379 +#: templates/js/translated/stock.js:1358 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:1393 +#: templates/js/translated/stock.js:1372 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:1394 +#: templates/js/translated/stock.js:1373 msgid "Status code must be selected" msgstr "" -#: templates/js/translated/stock.js:1533 +#: templates/js/translated/stock.js:1512 msgid "Invalid date" msgstr "" -#: templates/js/translated/stock.js:1580 +#: templates/js/translated/stock.js:1559 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:1599 +#: templates/js/translated/stock.js:1578 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:1618 +#: templates/js/translated/stock.js:1597 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:1636 +#: templates/js/translated/stock.js:1615 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:1659 +#: templates/js/translated/stock.js:1638 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:1667 +#: templates/js/translated/stock.js:1646 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:1708 +#: templates/js/translated/stock.js:1687 msgid "Edit tracking entry" msgstr "" -#: templates/js/translated/stock.js:1709 +#: templates/js/translated/stock.js:1688 msgid "Delete tracking entry" msgstr "" -#: templates/js/translated/stock.js:1833 +#: templates/js/translated/stock.js:1812 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:1856 +#: templates/js/translated/stock.js:1835 msgid "Serial" msgstr "" -#: templates/js/translated/stock.js:1884 +#: templates/js/translated/stock.js:1863 msgid "Uninstall Stock Item" msgstr "" @@ -7808,7 +8034,7 @@ msgstr "" #: templates/js/translated/table_filters.js:103 #: templates/js/translated/table_filters.js:104 -#: templates/js/translated/table_filters.js:327 +#: templates/js/translated/table_filters.js:336 msgid "Include subcategories" msgstr "" @@ -7850,7 +8076,7 @@ msgid "Batch code" msgstr "" #: templates/js/translated/table_filters.js:141 -#: templates/js/translated/table_filters.js:317 +#: templates/js/translated/table_filters.js:326 msgid "Active parts" msgstr "" @@ -7935,89 +8161,89 @@ msgstr "" msgid "Build status" msgstr "" -#: templates/js/translated/table_filters.js:282 -#: templates/js/translated/table_filters.js:299 +#: templates/js/translated/table_filters.js:291 +#: templates/js/translated/table_filters.js:308 msgid "Order status" msgstr "" -#: templates/js/translated/table_filters.js:287 -#: templates/js/translated/table_filters.js:304 +#: templates/js/translated/table_filters.js:296 +#: templates/js/translated/table_filters.js:313 msgid "Outstanding" msgstr "" -#: templates/js/translated/table_filters.js:328 +#: templates/js/translated/table_filters.js:337 msgid "Include parts in subcategories" msgstr "" -#: templates/js/translated/table_filters.js:332 +#: templates/js/translated/table_filters.js:341 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:333 +#: templates/js/translated/table_filters.js:342 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:338 +#: templates/js/translated/table_filters.js:347 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:346 +#: templates/js/translated/table_filters.js:355 msgid "Stock available" msgstr "" -#: templates/js/translated/table_filters.js:362 +#: templates/js/translated/table_filters.js:371 msgid "Starred" msgstr "" -#: templates/js/translated/table_filters.js:374 +#: templates/js/translated/table_filters.js:383 msgid "Purchasable" msgstr "" -#: templates/js/translated/tables.js:357 +#: templates/js/translated/tables.js:366 msgid "Loading data" msgstr "" -#: templates/js/translated/tables.js:360 +#: templates/js/translated/tables.js:369 msgid "rows per page" msgstr "" -#: templates/js/translated/tables.js:363 +#: templates/js/translated/tables.js:372 msgid "Showing" msgstr "" -#: templates/js/translated/tables.js:363 +#: templates/js/translated/tables.js:372 msgid "to" msgstr "" -#: templates/js/translated/tables.js:363 +#: templates/js/translated/tables.js:372 msgid "of" msgstr "" -#: templates/js/translated/tables.js:363 +#: templates/js/translated/tables.js:372 msgid "rows" msgstr "" -#: templates/js/translated/tables.js:369 +#: templates/js/translated/tables.js:378 msgid "No matching results" msgstr "" -#: templates/js/translated/tables.js:372 +#: templates/js/translated/tables.js:381 msgid "Hide/Show pagination" msgstr "" -#: templates/js/translated/tables.js:375 +#: templates/js/translated/tables.js:384 msgid "Refresh" msgstr "" -#: templates/js/translated/tables.js:378 +#: templates/js/translated/tables.js:387 msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:381 +#: templates/js/translated/tables.js:390 msgid "Columns" msgstr "" -#: templates/js/translated/tables.js:384 +#: templates/js/translated/tables.js:393 msgid "All" msgstr "" @@ -8033,19 +8259,15 @@ msgstr "Inkoop" msgid "Sell" msgstr "Verkoop" -#: templates/navbar.html:87 users/models.py:39 +#: templates/navbar.html:83 users/models.py:39 msgid "Admin" msgstr "" -#: templates/navbar.html:89 +#: templates/navbar.html:85 msgid "Logout" msgstr "" -#: templates/navbar.html:91 templates/registration/login.html:89 -msgid "Login" -msgstr "" - -#: templates/navbar.html:114 +#: templates/navbar.html:106 msgid "About InvenTree" msgstr "" @@ -8053,68 +8275,12 @@ msgstr "" msgid "QR data not provided" msgstr "" -#: templates/registration/logged_out.html:50 -msgid "You have been logged out" +#: templates/registration/logged_out.html:6 +msgid "You were logged out successfully." msgstr "" -#: templates/registration/logged_out.html:51 -#: templates/registration/password_reset_complete.html:51 -#: templates/registration/password_reset_done.html:58 -msgid "Return to login screen" -msgstr "" - -#: templates/registration/login.html:64 -msgid "Enter username" -msgstr "" - -#: templates/registration/login.html:70 -msgid "Password" -msgstr "" - -#: templates/registration/login.html:83 -msgid "Username / password combination is incorrect" -msgstr "" - -#: templates/registration/login.html:95 -#: templates/registration/password_reset_form.html:51 -msgid "Forgotten your password?" -msgstr "" - -#: templates/registration/login.html:95 -msgid "Click here to reset" -msgstr "" - -#: templates/registration/password_reset_complete.html:50 -msgid "Password reset complete" -msgstr "" - -#: templates/registration/password_reset_confirm.html:52 -#: templates/registration/password_reset_confirm.html:56 -msgid "Change password" -msgstr "" - -#: templates/registration/password_reset_confirm.html:60 -msgid "The password reset link was invalid, possibly because it has already been used. Please request a new password reset." -msgstr "" - -#: templates/registration/password_reset_done.html:51 -msgid "We've emailed you instructions for setting your password, if an account exists with the email you entered. You should receive them shortly." -msgstr "" - -#: templates/registration/password_reset_done.html:54 -msgid "If you don't receive an email, please make sure you've entered the address you registered with, and check your spam folder." -msgstr "" - -#: templates/registration/password_reset_form.html:52 -msgid "Enter your email address below." -msgstr "" - -#: templates/registration/password_reset_form.html:53 -msgid "An email will be sent with password reset instructions." -msgstr "" - -#: templates/registration/password_reset_form.html:58 -msgid "Send email" +#: templates/registration/logged_out.html:8 +msgid "Log in again" msgstr "" #: templates/stats.html:13 @@ -8169,6 +8335,10 @@ msgstr "" msgid "Export Stock Information" msgstr "" +#: templates/stock_table.html:20 +msgid "New Stock Item" +msgstr "" + #: templates/stock_table.html:27 msgid "Barcode Actions" msgstr "" @@ -8249,35 +8419,35 @@ msgstr "" msgid "Important dates" msgstr "" -#: users/models.py:177 +#: users/models.py:182 msgid "Permission set" msgstr "" -#: users/models.py:185 +#: users/models.py:190 msgid "Group" msgstr "" -#: users/models.py:188 +#: users/models.py:193 msgid "View" msgstr "" -#: users/models.py:188 +#: users/models.py:193 msgid "Permission to view items" msgstr "" -#: users/models.py:190 +#: users/models.py:195 msgid "Permission to add items" msgstr "" -#: users/models.py:192 +#: users/models.py:197 msgid "Change" msgstr "" -#: users/models.py:192 +#: users/models.py:197 msgid "Permissions to edit items" msgstr "" -#: users/models.py:194 +#: users/models.py:199 msgid "Permission to delete items" msgstr "" diff --git a/InvenTree/locale/no/LC_MESSAGES/django.po b/InvenTree/locale/no/LC_MESSAGES/django.po index 391caec1d4..4d8661bf32 100644 --- a/InvenTree/locale/no/LC_MESSAGES/django.po +++ b/InvenTree/locale/no/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-09-12 13:15+0000\n" -"PO-Revision-Date: 2021-09-12 13:44\n" +"POT-Creation-Date: 2021-10-11 06:21+0000\n" +"PO-Revision-Date: 2021-10-11 06:28\n" "Last-Translator: \n" "Language-Team: Norwegian\n" "Language: no_NO\n" @@ -33,48 +33,61 @@ msgstr "Ingen samsvarende handling funnet" msgid "Enter date" msgstr "Oppgi dato" -#: InvenTree/forms.py:111 build/forms.py:102 build/forms.py:123 -#: build/forms.py:145 build/forms.py:169 build/forms.py:185 build/forms.py:227 -#: order/forms.py:30 order/forms.py:41 order/forms.py:52 order/forms.py:63 -#: order/forms.py:74 part/forms.py:108 templates/js/translated/forms.js:564 +#: InvenTree/forms.py:116 build/forms.py:102 build/forms.py:123 +#: build/forms.py:145 build/forms.py:173 build/forms.py:215 order/forms.py:27 +#: order/forms.py:38 order/forms.py:49 order/forms.py:60 order/forms.py:71 +#: part/forms.py:108 templates/account/email_confirm.html:20 +#: templates/js/translated/forms.js:564 msgid "Confirm" msgstr "Bekreft" -#: InvenTree/forms.py:127 +#: InvenTree/forms.py:132 msgid "Confirm delete" msgstr "Bekreft sletting" -#: InvenTree/forms.py:128 +#: InvenTree/forms.py:133 msgid "Confirm item deletion" msgstr "" -#: InvenTree/forms.py:160 templates/registration/login.html:76 +#: InvenTree/forms.py:164 msgid "Enter password" msgstr "Oppgi passord" -#: InvenTree/forms.py:161 +#: InvenTree/forms.py:165 msgid "Enter new password" msgstr "Oppgi nytt passord" -#: InvenTree/forms.py:168 +#: InvenTree/forms.py:172 msgid "Confirm password" msgstr "Bekreft passord" -#: InvenTree/forms.py:169 +#: InvenTree/forms.py:173 msgid "Confirm new password" msgstr "Bekreft nytt passord" -#: InvenTree/forms.py:201 +#: InvenTree/forms.py:205 msgid "Select Category" msgstr "Velg kategori" +#: InvenTree/forms.py:226 +msgid "E-mail (again)" +msgstr "" + +#: InvenTree/forms.py:230 +msgid "E-mail address confirmation" +msgstr "" + +#: InvenTree/forms.py:250 +msgid "You must type the same email each time." +msgstr "" + #: InvenTree/helpers.py:401 #, python-brace-format msgid "Duplicate serial: {n}" msgstr "Dupliser serie: {n}" -#: InvenTree/helpers.py:408 order/models.py:315 order/models.py:430 -#: stock/views.py:1363 +#: InvenTree/helpers.py:408 order/models.py:315 order/models.py:437 +#: stock/views.py:1340 msgid "Invalid quantity provided" msgstr "Ugyldig mengde oppgitt" @@ -102,7 +115,7 @@ msgstr "Ingen serienummer funnet" msgid "Number of unique serial number ({s}) must match quantity ({q})" msgstr "Antall unike serienummer ({s}) må samsvare mengde ({q})" -#: InvenTree/models.py:66 stock/models.py:1826 +#: InvenTree/models.py:66 stock/models.py:1823 msgid "Attachment" msgstr "Vedlegg" @@ -118,10 +131,10 @@ msgstr "Kommenter" msgid "File comment" msgstr "Kommentar til fil" -#: InvenTree/models.py:75 InvenTree/models.py:76 common/models.py:993 -#: common/models.py:994 part/models.py:2051 +#: InvenTree/models.py:75 InvenTree/models.py:76 common/models.py:1055 +#: common/models.py:1056 part/models.py:2055 #: report/templates/report/inventree_test_report_base.html:91 -#: templates/js/translated/stock.js:1690 +#: templates/js/translated/stock.js:1669 msgid "User" msgstr "Bruker" @@ -158,37 +171,34 @@ msgstr "" msgid "Invalid choice" msgstr "Ugyldig valg" -#: InvenTree/models.py:200 InvenTree/models.py:201 company/models.py:414 -#: label/models.py:112 part/models.py:658 part/models.py:2212 +#: InvenTree/models.py:200 InvenTree/models.py:201 company/models.py:415 +#: label/models.py:112 part/models.py:659 part/models.py:2216 #: part/templates/part/part_base.html:241 report/models.py:181 -#: templates/InvenTree/search.html:137 templates/InvenTree/search.html:289 -#: templates/js/translated/company.js:636 templates/js/translated/part.js:466 -#: templates/js/translated/part.js:603 templates/js/translated/part.js:1130 -#: templates/js/translated/stock.js:1483 +#: templates/js/translated/company.js:637 templates/js/translated/part.js:477 +#: templates/js/translated/part.js:614 templates/js/translated/part.js:1141 +#: templates/js/translated/stock.js:1462 msgid "Name" msgstr "Navn" -#: InvenTree/models.py:207 build/models.py:187 -#: build/templates/build/detail.html:24 company/models.py:353 -#: company/models.py:569 company/templates/company/manufacturer_part.html:76 +#: InvenTree/models.py:207 build/models.py:189 +#: build/templates/build/detail.html:24 company/models.py:354 +#: company/models.py:570 company/templates/company/manufacturer_part.html:76 #: company/templates/company/supplier_part.html:75 label/models.py:119 -#: order/models.py:158 part/models.py:681 +#: order/models.py:158 part/models.py:682 #: part/templates/part/part_base.html:246 #: part/templates/part/set_category.html:14 report/models.py:194 #: report/models.py:551 report/models.py:590 #: report/templates/report/inventree_build_order_base.html:118 -#: templates/InvenTree/search.html:144 templates/InvenTree/search.html:224 -#: templates/InvenTree/search.html:296 #: templates/InvenTree/settings/header.html:9 -#: templates/js/translated/bom.js:230 templates/js/translated/build.js:891 -#: templates/js/translated/build.js:1179 templates/js/translated/company.js:344 -#: templates/js/translated/company.js:546 -#: templates/js/translated/company.js:834 templates/js/translated/order.js:341 -#: templates/js/translated/order.js:486 templates/js/translated/order.js:710 -#: templates/js/translated/part.js:525 templates/js/translated/part.js:713 -#: templates/js/translated/part.js:902 templates/js/translated/part.js:1142 -#: templates/js/translated/part.js:1210 templates/js/translated/stock.js:840 -#: templates/js/translated/stock.js:1495 templates/js/translated/stock.js:1540 +#: templates/js/translated/bom.js:249 templates/js/translated/build.js:1217 +#: templates/js/translated/build.js:1505 templates/js/translated/company.js:344 +#: templates/js/translated/company.js:547 +#: templates/js/translated/company.js:836 templates/js/translated/order.js:672 +#: templates/js/translated/order.js:832 templates/js/translated/order.js:1056 +#: templates/js/translated/part.js:536 templates/js/translated/part.js:724 +#: templates/js/translated/part.js:913 templates/js/translated/part.js:1153 +#: templates/js/translated/part.js:1221 templates/js/translated/stock.js:819 +#: templates/js/translated/stock.js:1474 templates/js/translated/stock.js:1519 msgid "Description" msgstr "Beskrivelse" @@ -200,7 +210,7 @@ msgstr "Beskrivelse (valgfritt)" msgid "parent" msgstr "" -#: InvenTree/serializers.py:55 part/models.py:2454 +#: InvenTree/serializers.py:55 part/models.py:2475 msgid "Must be a valid number" msgstr "Nummer må være gyldig" @@ -208,75 +218,75 @@ msgstr "Nummer må være gyldig" msgid "Filename" msgstr "" -#: InvenTree/settings.py:523 +#: InvenTree/settings.py:529 msgid "German" msgstr "Tysk" -#: InvenTree/settings.py:524 +#: InvenTree/settings.py:530 msgid "Greek" msgstr "Gresk" -#: InvenTree/settings.py:525 +#: InvenTree/settings.py:531 msgid "English" msgstr "Engelsk" -#: InvenTree/settings.py:526 +#: InvenTree/settings.py:532 msgid "Spanish" msgstr "Spansk" -#: InvenTree/settings.py:527 +#: InvenTree/settings.py:533 msgid "French" msgstr "Fransk" -#: InvenTree/settings.py:528 +#: InvenTree/settings.py:534 msgid "Hebrew" msgstr "Hebraisk" -#: InvenTree/settings.py:529 +#: InvenTree/settings.py:535 msgid "Italian" msgstr "Italiensk" -#: InvenTree/settings.py:530 +#: InvenTree/settings.py:536 msgid "Japanese" msgstr "Japansk" -#: InvenTree/settings.py:531 +#: InvenTree/settings.py:537 msgid "Korean" msgstr "Koreansk" -#: InvenTree/settings.py:532 +#: InvenTree/settings.py:538 msgid "Dutch" msgstr "Nederlandsk" -#: InvenTree/settings.py:533 +#: InvenTree/settings.py:539 msgid "Norwegian" msgstr "Norsk" -#: InvenTree/settings.py:534 +#: InvenTree/settings.py:540 msgid "Polish" msgstr "Polsk" -#: InvenTree/settings.py:535 +#: InvenTree/settings.py:541 msgid "Russian" msgstr "Russisk" -#: InvenTree/settings.py:536 +#: InvenTree/settings.py:542 msgid "Swedish" msgstr "Svensk" -#: InvenTree/settings.py:537 +#: InvenTree/settings.py:543 msgid "Thai" msgstr "Thailandsk" -#: InvenTree/settings.py:538 +#: InvenTree/settings.py:544 msgid "Turkish" msgstr "Tyrkisk" -#: InvenTree/settings.py:539 +#: InvenTree/settings.py:545 msgid "Vietnamese" msgstr "Vietnamesisk" -#: InvenTree/settings.py:540 +#: InvenTree/settings.py:546 msgid "Chinese" msgstr "Kinesisk" @@ -321,7 +331,7 @@ msgid "Returned" msgstr "" #: InvenTree/status_codes.py:146 -#: order/templates/order/sales_order_base.html:126 +#: order/templates/order/sales_order_base.html:131 msgid "Shipped" msgstr "" @@ -461,27 +471,27 @@ msgstr "" msgid "Overage must be an integer value or a percentage" msgstr "" -#: InvenTree/views.py:610 +#: InvenTree/views.py:616 msgid "Delete Item" msgstr "" -#: InvenTree/views.py:659 +#: InvenTree/views.py:665 msgid "Check box to confirm item deletion" msgstr "" -#: InvenTree/views.py:674 templates/InvenTree/settings/user.html:14 +#: InvenTree/views.py:680 templates/InvenTree/settings/user.html:18 msgid "Edit User Information" msgstr "" -#: InvenTree/views.py:685 templates/InvenTree/settings/user.html:18 +#: InvenTree/views.py:691 templates/InvenTree/settings/user.html:22 msgid "Set Password" msgstr "" -#: InvenTree/views.py:704 +#: InvenTree/views.py:710 msgid "Password fields must match" msgstr "" -#: InvenTree/views.py:910 templates/navbar.html:105 +#: InvenTree/views.py:954 templates/navbar.html:97 msgid "System Information" msgstr "" @@ -525,6 +535,10 @@ msgstr "" msgid "Barcode associated with StockItem" msgstr "" +#: build/api.py:213 +msgid "Matching build order does not exist" +msgstr "" + #: build/forms.py:37 msgid "Build Order reference" msgstr "" @@ -536,33 +550,28 @@ msgstr "" #: build/forms.py:42 build/templates/build/build_base.html:146 #: build/templates/build/detail.html:124 #: order/templates/order/order_base.html:124 -#: order/templates/order/sales_order_base.html:119 +#: order/templates/order/sales_order_base.html:124 #: report/templates/report/inventree_build_order_base.html:126 -#: templates/js/translated/build.js:962 templates/js/translated/order.js:358 -#: templates/js/translated/order.js:728 +#: templates/js/translated/build.js:1288 templates/js/translated/order.js:689 +#: templates/js/translated/order.js:1074 msgid "Target Date" msgstr "" -#: build/forms.py:43 build/models.py:277 +#: build/forms.py:43 build/models.py:279 msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/forms.py:48 build/forms.py:90 build/forms.py:266 build/models.py:1402 +#: build/forms.py:48 build/forms.py:90 build/models.py:1281 #: build/templates/build/allocation_card.html:23 -#: build/templates/build/auto_allocate.html:17 #: build/templates/build/build_base.html:133 -#: build/templates/build/detail.html:34 common/models.py:1025 +#: build/templates/build/detail.html:34 common/models.py:1087 #: company/forms.py:42 company/templates/company/supplier_part.html:226 -#: order/forms.py:120 order/forms.py:142 order/forms.py:159 order/models.py:712 -#: order/models.py:964 order/templates/order/order_wizard/match_parts.html:30 -#: order/templates/order/order_wizard/select_parts.html:34 -#: order/templates/order/sales_order_detail.html:201 -#: order/templates/order/sales_order_detail.html:208 -#: order/templates/order/sales_order_detail.html:293 -#: order/templates/order/sales_order_detail.html:365 part/forms.py:249 -#: part/forms.py:265 part/forms.py:281 part/models.py:2356 +#: order/forms.py:101 order/forms.py:123 order/models.py:720 +#: order/models.py:982 order/templates/order/order_wizard/match_parts.html:30 +#: order/templates/order/order_wizard/select_parts.html:34 part/forms.py:249 +#: part/forms.py:265 part/forms.py:281 part/models.py:2377 #: part/templates/part/bom_upload/match_parts.html:31 -#: part/templates/part/detail.html:973 part/templates/part/detail.html:1059 +#: part/templates/part/detail.html:944 part/templates/part/detail.html:1030 #: part/templates/part/part_pricing.html:16 #: report/templates/report/inventree_build_order_base.html:114 #: report/templates/report/inventree_po_report.html:91 @@ -570,14 +579,16 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:77 #: stock/forms.py:140 stock/templates/stock/item_base.html:269 #: stock/templates/stock/stock_adjust.html:18 -#: templates/js/translated/barcode.js:386 templates/js/translated/bom.js:245 -#: templates/js/translated/build.js:298 templates/js/translated/build.js:629 -#: templates/js/translated/build.js:1189 -#: templates/js/translated/model_renderers.js:59 -#: templates/js/translated/order.js:522 templates/js/translated/order.js:824 -#: templates/js/translated/part.js:1317 templates/js/translated/part.js:1440 -#: templates/js/translated/part.js:1518 templates/js/translated/stock.js:1675 -#: templates/js/translated/stock.js:1850 +#: templates/js/translated/barcode.js:386 templates/js/translated/bom.js:264 +#: templates/js/translated/build.js:314 templates/js/translated/build.js:638 +#: templates/js/translated/build.js:977 templates/js/translated/build.js:1515 +#: templates/js/translated/model_renderers.js:74 +#: templates/js/translated/order.js:868 templates/js/translated/order.js:1170 +#: templates/js/translated/order.js:1248 templates/js/translated/order.js:1255 +#: templates/js/translated/order.js:1344 templates/js/translated/order.js:1444 +#: templates/js/translated/part.js:1364 templates/js/translated/part.js:1487 +#: templates/js/translated/part.js:1565 templates/js/translated/stock.js:1654 +#: templates/js/translated/stock.js:1829 msgid "Quantity" msgstr "" @@ -589,7 +600,7 @@ msgstr "" msgid "Enter quantity for build output" msgstr "" -#: build/forms.py:95 order/forms.py:114 stock/forms.py:83 +#: build/forms.py:95 order/forms.py:95 stock/forms.py:83 msgid "Serial Numbers" msgstr "" @@ -609,246 +620,238 @@ msgstr "" msgid "Confirm unallocation of stock" msgstr "" -#: build/forms.py:169 -msgid "Confirm stock allocation" -msgstr "" - -#: build/forms.py:186 +#: build/forms.py:174 msgid "Mark build as complete" msgstr "" -#: build/forms.py:210 build/templates/build/auto_allocate.html:18 -#: order/serializers.py:216 order/serializers.py:275 stock/forms.py:280 +#: build/forms.py:198 order/serializers.py:217 order/serializers.py:284 +#: stock/forms.py:280 stock/serializers.py:553 #: stock/templates/stock/item_base.html:299 #: stock/templates/stock/stock_adjust.html:17 -#: templates/InvenTree/search.html:260 templates/js/translated/barcode.js:385 -#: templates/js/translated/barcode.js:555 templates/js/translated/build.js:283 -#: templates/js/translated/build.js:643 templates/js/translated/order.js:809 -#: templates/js/translated/part.js:174 templates/js/translated/stock.js:203 -#: templates/js/translated/stock.js:329 templates/js/translated/stock.js:942 -#: templates/js/translated/stock.js:1567 +#: templates/js/translated/barcode.js:385 +#: templates/js/translated/barcode.js:555 templates/js/translated/build.js:299 +#: templates/js/translated/build.js:650 templates/js/translated/order.js:347 +#: templates/js/translated/order.js:1155 templates/js/translated/order.js:1263 +#: templates/js/translated/order.js:1269 templates/js/translated/part.js:179 +#: templates/js/translated/stock.js:183 templates/js/translated/stock.js:921 +#: templates/js/translated/stock.js:1546 msgid "Location" msgstr "" -#: build/forms.py:211 +#: build/forms.py:199 msgid "Location of completed parts" msgstr "" -#: build/forms.py:215 build/templates/build/build_base.html:138 -#: build/templates/build/detail.html:62 order/models.py:555 -#: order/serializers.py:230 order/templates/order/receive_parts.html:24 -#: stock/templates/stock/item_base.html:422 templates/InvenTree/search.html:252 -#: templates/js/translated/barcode.js:141 templates/js/translated/build.js:925 -#: templates/js/translated/order.js:345 templates/js/translated/order.js:715 -#: templates/js/translated/stock.js:917 templates/js/translated/stock.js:1644 -#: templates/js/translated/stock.js:1866 +#: build/forms.py:203 build/templates/build/build_base.html:138 +#: build/templates/build/detail.html:62 order/models.py:563 +#: order/serializers.py:238 stock/templates/stock/item_base.html:422 +#: templates/js/translated/barcode.js:141 templates/js/translated/build.js:1251 +#: templates/js/translated/order.js:430 templates/js/translated/order.js:676 +#: templates/js/translated/order.js:1061 templates/js/translated/stock.js:896 +#: templates/js/translated/stock.js:1623 templates/js/translated/stock.js:1845 msgid "Status" msgstr "" -#: build/forms.py:216 +#: build/forms.py:204 msgid "Build output stock status" msgstr "" -#: build/forms.py:223 +#: build/forms.py:211 msgid "Confirm incomplete" msgstr "" -#: build/forms.py:224 +#: build/forms.py:212 msgid "Confirm completion with incomplete stock allocation" msgstr "" -#: build/forms.py:227 +#: build/forms.py:215 msgid "Confirm build completion" msgstr "" -#: build/forms.py:252 +#: build/forms.py:240 msgid "Confirm cancel" msgstr "" -#: build/forms.py:252 build/views.py:65 +#: build/forms.py:240 build/views.py:65 msgid "Confirm build cancellation" msgstr "" -#: build/forms.py:266 -msgid "Select quantity of stock to allocate" -msgstr "" - -#: build/models.py:113 +#: build/models.py:115 msgid "Invalid choice for parent build" msgstr "" -#: build/models.py:117 build/templates/build/build_base.html:9 +#: build/models.py:119 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:73 #: report/templates/report/inventree_build_order_base.html:106 -#: templates/js/translated/build.js:260 +#: templates/js/translated/build.js:276 msgid "Build Order" msgstr "" -#: build/models.py:118 build/templates/build/index.html:8 +#: build/models.py:120 build/templates/build/index.html:8 #: build/templates/build/index.html:15 #: order/templates/order/sales_order_detail.html:34 #: order/templates/order/so_navbar.html:19 #: order/templates/order/so_navbar.html:22 part/templates/part/navbar.html:50 #: part/templates/part/navbar.html:53 templates/InvenTree/index.html:229 -#: templates/InvenTree/search.html:185 -#: templates/InvenTree/settings/navbar.html:101 -#: templates/InvenTree/settings/navbar.html:103 users/models.py:44 +#: templates/InvenTree/search.html:171 +#: templates/InvenTree/settings/navbar.html:113 +#: templates/InvenTree/settings/navbar.html:115 users/models.py:44 msgid "Build Orders" msgstr "" -#: build/models.py:178 +#: build/models.py:180 msgid "Build Order Reference" msgstr "" -#: build/models.py:179 order/models.py:246 order/models.py:539 -#: order/models.py:719 order/templates/order/sales_order_detail.html:360 -#: part/models.py:2365 part/templates/part/bom_upload/match_parts.html:30 +#: build/models.py:181 order/models.py:246 order/models.py:547 +#: order/models.py:727 part/models.py:2386 +#: part/templates/part/bom_upload/match_parts.html:30 #: report/templates/report/inventree_po_report.html:92 #: report/templates/report/inventree_so_report.html:92 -#: templates/js/translated/bom.js:237 templates/js/translated/build.js:718 -#: templates/js/translated/build.js:1183 templates/js/translated/order.js:517 +#: templates/js/translated/bom.js:256 templates/js/translated/build.js:734 +#: templates/js/translated/build.js:1509 templates/js/translated/order.js:863 +#: templates/js/translated/order.js:1438 msgid "Reference" msgstr "" -#: build/models.py:190 +#: build/models.py:192 msgid "Brief description of the build" msgstr "" -#: build/models.py:199 build/templates/build/build_base.html:163 +#: build/models.py:201 build/templates/build/build_base.html:163 #: build/templates/build/detail.html:80 msgid "Parent Build" msgstr "" -#: build/models.py:200 +#: build/models.py:202 msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:205 build/templates/build/auto_allocate.html:16 -#: build/templates/build/build_base.html:128 -#: build/templates/build/detail.html:29 company/models.py:704 -#: order/models.py:772 order/models.py:837 -#: order/templates/order/order_wizard/select_parts.html:32 -#: order/templates/order/receive_parts.html:19 -#: order/templates/order/sales_order_detail.html:345 part/models.py:297 -#: part/models.py:1996 part/models.py:2012 part/models.py:2031 -#: part/models.py:2049 part/models.py:2128 part/models.py:2250 -#: part/models.py:2340 part/templates/part/detail.html:199 +#: build/models.py:207 build/templates/build/build_base.html:128 +#: build/templates/build/detail.html:29 company/models.py:705 +#: order/models.py:780 order/models.py:851 +#: order/templates/order/order_wizard/select_parts.html:32 part/models.py:298 +#: part/models.py:2000 part/models.py:2016 part/models.py:2035 +#: part/models.py:2053 part/models.py:2132 part/models.py:2254 +#: part/models.py:2361 part/templates/part/detail.html:199 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/set_category.html:13 #: report/templates/report/inventree_build_order_base.html:110 #: report/templates/report/inventree_po_report.html:90 #: report/templates/report/inventree_so_report.html:90 -#: templates/InvenTree/search.html:112 templates/InvenTree/search.html:210 -#: templates/js/translated/barcode.js:384 templates/js/translated/bom.js:203 -#: templates/js/translated/build.js:609 templates/js/translated/build.js:896 -#: templates/js/translated/build.js:1156 templates/js/translated/company.js:487 -#: templates/js/translated/company.js:743 templates/js/translated/order.js:471 -#: templates/js/translated/part.js:694 templates/js/translated/part.js:864 -#: templates/js/translated/stock.js:201 templates/js/translated/stock.js:797 -#: templates/js/translated/stock.js:1838 +#: templates/InvenTree/search.html:112 templates/js/translated/barcode.js:384 +#: templates/js/translated/bom.js:222 templates/js/translated/build.js:611 +#: templates/js/translated/build.js:974 templates/js/translated/build.js:1222 +#: templates/js/translated/build.js:1482 templates/js/translated/company.js:488 +#: templates/js/translated/company.js:745 templates/js/translated/order.js:425 +#: templates/js/translated/order.js:817 templates/js/translated/order.js:1422 +#: templates/js/translated/part.js:705 templates/js/translated/part.js:875 +#: templates/js/translated/stock.js:181 templates/js/translated/stock.js:776 +#: templates/js/translated/stock.js:1817 msgid "Part" msgstr "" -#: build/models.py:213 +#: build/models.py:215 msgid "Select part to build" msgstr "" -#: build/models.py:218 +#: build/models.py:220 msgid "Sales Order Reference" msgstr "" -#: build/models.py:222 +#: build/models.py:224 msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:227 +#: build/models.py:229 templates/js/translated/build.js:962 msgid "Source Location" msgstr "" -#: build/models.py:231 +#: build/models.py:233 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "" -#: build/models.py:236 +#: build/models.py:238 msgid "Destination Location" msgstr "" -#: build/models.py:240 +#: build/models.py:242 msgid "Select location where the completed items will be stored" msgstr "" -#: build/models.py:244 +#: build/models.py:246 msgid "Build Quantity" msgstr "" -#: build/models.py:247 +#: build/models.py:249 msgid "Number of stock items to build" msgstr "" -#: build/models.py:251 +#: build/models.py:253 msgid "Completed items" msgstr "" -#: build/models.py:253 +#: build/models.py:255 msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:257 part/templates/part/part_base.html:198 +#: build/models.py:259 part/templates/part/part_base.html:198 msgid "Build Status" msgstr "" -#: build/models.py:261 +#: build/models.py:263 msgid "Build status code" msgstr "" -#: build/models.py:265 stock/models.py:513 +#: build/models.py:267 stock/models.py:513 msgid "Batch Code" msgstr "" -#: build/models.py:269 +#: build/models.py:271 msgid "Batch code for this build output" msgstr "" -#: build/models.py:272 order/models.py:162 part/models.py:853 -#: part/templates/part/part_base.html:272 templates/js/translated/order.js:723 +#: build/models.py:274 order/models.py:162 part/models.py:854 +#: part/templates/part/part_base.html:272 templates/js/translated/order.js:1069 msgid "Creation Date" msgstr "" -#: build/models.py:276 order/models.py:561 +#: build/models.py:278 order/models.py:569 msgid "Target completion date" msgstr "" -#: build/models.py:280 order/models.py:288 templates/js/translated/build.js:967 +#: build/models.py:282 order/models.py:288 +#: templates/js/translated/build.js:1293 msgid "Completion Date" msgstr "" -#: build/models.py:286 +#: build/models.py:288 msgid "completed by" msgstr "" -#: build/models.py:294 templates/js/translated/build.js:938 +#: build/models.py:296 templates/js/translated/build.js:1264 msgid "Issued by" msgstr "" -#: build/models.py:295 +#: build/models.py:297 msgid "User who issued this build order" msgstr "" -#: build/models.py:303 build/templates/build/build_base.html:184 +#: build/models.py:305 build/templates/build/build_base.html:184 #: build/templates/build/detail.html:108 order/models.py:176 #: order/templates/order/order_base.html:138 -#: order/templates/order/sales_order_base.html:140 part/models.py:857 +#: order/templates/order/sales_order_base.html:145 part/models.py:858 #: report/templates/report/inventree_build_order_base.html:159 -#: templates/js/translated/build.js:950 +#: templates/js/translated/build.js:1276 msgid "Responsible" msgstr "" -#: build/models.py:304 +#: build/models.py:306 msgid "User responsible for this build order" msgstr "" -#: build/models.py:309 build/templates/build/detail.html:94 +#: build/models.py:311 build/templates/build/detail.html:94 #: company/templates/company/manufacturer_part.html:83 #: company/templates/company/supplier_part.html:82 #: part/templates/part/part_base.html:266 stock/models.py:507 @@ -856,140 +859,157 @@ msgstr "" msgid "External Link" msgstr "" -#: build/models.py:310 part/models.py:715 stock/models.py:509 +#: build/models.py:312 part/models.py:716 stock/models.py:509 msgid "Link to external URL" msgstr "" -#: build/models.py:314 build/templates/build/navbar.html:52 -#: company/models.py:141 company/models.py:576 +#: build/models.py:316 build/templates/build/navbar.html:52 +#: company/models.py:142 company/models.py:577 #: company/templates/company/navbar.html:69 #: company/templates/company/navbar.html:72 order/models.py:180 -#: order/models.py:721 order/templates/order/po_navbar.html:38 +#: order/models.py:729 order/templates/order/po_navbar.html:38 #: order/templates/order/po_navbar.html:41 -#: order/templates/order/sales_order_detail.html:440 #: order/templates/order/so_navbar.html:33 -#: order/templates/order/so_navbar.html:36 part/models.py:842 +#: order/templates/order/so_navbar.html:36 part/models.py:843 #: part/templates/part/detail.html:105 part/templates/part/navbar.html:120 #: part/templates/part/navbar.html:123 #: report/templates/report/inventree_build_order_base.html:173 #: stock/forms.py:138 stock/forms.py:250 stock/forms.py:282 stock/models.py:579 -#: stock/models.py:1726 stock/models.py:1832 +#: stock/models.py:1723 stock/models.py:1829 stock/serializers.py:451 #: stock/templates/stock/navbar.html:57 templates/js/translated/barcode.js:59 -#: templates/js/translated/bom.js:385 templates/js/translated/company.js:839 -#: templates/js/translated/order.js:604 templates/js/translated/stock.js:338 -#: templates/js/translated/stock.js:580 templates/js/translated/stock.js:1061 +#: templates/js/translated/bom.js:406 templates/js/translated/company.js:841 +#: templates/js/translated/order.js:950 templates/js/translated/order.js:1540 +#: templates/js/translated/stock.js:559 templates/js/translated/stock.js:1040 msgid "Notes" msgstr "" -#: build/models.py:315 +#: build/models.py:317 msgid "Extra build notes" msgstr "" -#: build/models.py:792 +#: build/models.py:714 msgid "No build output specified" msgstr "" -#: build/models.py:795 +#: build/models.py:717 msgid "Build output is already completed" msgstr "" -#: build/models.py:798 +#: build/models.py:720 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:1208 -msgid "BuildItem must be unique for build, stock_item and install_into" -msgstr "" - -#: build/models.py:1233 +#: build/models.py:1102 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1237 +#: build/models.py:1111 #, python-brace-format -msgid "Allocated quantity ({n}) must not exceed available quantity ({q})" +msgid "Allocated quantity ({q}) must not execed available stock quantity ({a})" msgstr "" -#: build/models.py:1244 order/models.py:938 -msgid "StockItem is over-allocated" +#: build/models.py:1121 +msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1248 order/models.py:941 +#: build/models.py:1127 order/models.py:955 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1252 +#: build/models.py:1133 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1312 -#, python-brace-format -msgid "Selected stock item not found in BOM for part '{p}'" +#: build/models.py:1191 +msgid "Selected stock item not found in BOM" msgstr "" -#: build/models.py:1372 stock/templates/stock/item_base.html:331 -#: templates/InvenTree/search.html:183 templates/js/translated/build.js:869 +#: build/models.py:1251 stock/templates/stock/item_base.html:331 +#: templates/InvenTree/search.html:169 templates/js/translated/build.js:1195 #: templates/navbar.html:35 msgid "Build" msgstr "" -#: build/models.py:1373 +#: build/models.py:1252 msgid "Build to allocate parts" msgstr "" -#: build/models.py:1389 stock/templates/stock/item_base.html:8 +#: build/models.py:1268 build/serializers.py:151 +#: stock/templates/stock/item_base.html:8 #: stock/templates/stock/item_base.html:31 #: stock/templates/stock/item_base.html:353 #: stock/templates/stock/stock_adjust.html:16 -#: templates/js/translated/build.js:271 templates/js/translated/build.js:276 -#: templates/js/translated/build.js:1012 templates/js/translated/order.js:797 -#: templates/js/translated/order.js:802 templates/js/translated/stock.js:1626 +#: templates/js/translated/build.js:287 templates/js/translated/build.js:292 +#: templates/js/translated/build.js:976 templates/js/translated/build.js:1338 +#: templates/js/translated/order.js:1143 templates/js/translated/order.js:1148 +#: templates/js/translated/stock.js:1605 msgid "Stock Item" msgstr "" -#: build/models.py:1390 +#: build/models.py:1269 msgid "Source stock item" msgstr "" -#: build/models.py:1403 +#: build/models.py:1282 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1411 +#: build/models.py:1290 msgid "Install into" msgstr "" -#: build/models.py:1412 +#: build/models.py:1291 msgid "Destination stock item" msgstr "" +#: build/serializers.py:133 part/models.py:2501 +msgid "BOM Item" +msgstr "" + +#: build/serializers.py:142 +msgid "bom_item.part must point to the same part as the build order" +msgstr "" + +#: build/serializers.py:157 +msgid "Item must be in stock" +msgstr "" + +#: build/serializers.py:171 order/models.py:313 order/serializers.py:231 +#: stock/models.py:351 stock/models.py:1072 +msgid "Quantity must be greater than zero" +msgstr "" + +#: build/serializers.py:180 +msgid "Build Output" +msgstr "" + +#: build/serializers.py:213 +#, python-brace-format +msgid "Available quantity ({q}) exceeded" +msgstr "" + +#: build/serializers.py:219 +msgid "Build output must be specified for allocation of tracked parts" +msgstr "" + +#: build/serializers.py:226 +msgid "Build output cannot be specified for allocation of untracked parts" +msgstr "" + +#: build/serializers.py:254 +msgid "Allocation items must be provided" +msgstr "" + #: build/templates/build/allocation_card.html:21 #: build/templates/build/complete_output.html:46 -#: order/templates/order/sales_order_detail.html:206 -#: order/templates/order/sales_order_detail.html:291 #: report/templates/report/inventree_test_report_base.html:75 #: stock/models.py:501 stock/templates/stock/item_base.html:251 -#: templates/js/translated/build.js:627 -#: templates/js/translated/model_renderers.js:57 +#: templates/js/translated/build.js:636 +#: templates/js/translated/model_renderers.js:72 +#: templates/js/translated/order.js:1253 templates/js/translated/order.js:1342 msgid "Serial Number" msgstr "" -#: build/templates/build/auto_allocate.html:9 -msgid "Automatically Allocate Stock" -msgstr "" - -#: build/templates/build/auto_allocate.html:10 -msgid "The following stock items will be allocated to the specified build output" -msgstr "" - -#: build/templates/build/auto_allocate.html:37 -msgid "No stock items found that can be automatically allocated to this build" -msgstr "" - -#: build/templates/build/auto_allocate.html:39 -msgid "Stock items will have to be manually allocated" -msgstr "" - #: build/templates/build/build_base.html:18 #, python-format msgid "This Build Order is allocated to Sales Order %(link)s" @@ -1033,10 +1053,10 @@ msgstr "" #: order/templates/order/order_base.html:32 #: order/templates/order/order_base.html:86 #: order/templates/order/sales_order_base.html:43 -#: order/templates/order/sales_order_base.html:88 +#: order/templates/order/sales_order_base.html:93 #: templates/js/translated/table_filters.js:272 -#: templates/js/translated/table_filters.js:291 -#: templates/js/translated/table_filters.js:308 +#: templates/js/translated/table_filters.js:300 +#: templates/js/translated/table_filters.js:317 msgid "Overdue" msgstr "" @@ -1086,14 +1106,14 @@ msgid "Progress" msgstr "" #: build/templates/build/build_base.html:170 -#: build/templates/build/detail.html:87 order/models.py:835 +#: build/templates/build/detail.html:87 order/models.py:848 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:35 #: order/templates/order/sales_order_ship.html:25 #: report/templates/report/inventree_build_order_base.html:136 #: report/templates/report/inventree_so_report.html:77 #: stock/templates/stock/item_base.html:293 -#: templates/js/translated/order.js:670 +#: templates/js/translated/order.js:1016 msgid "Sales Order" msgstr "" @@ -1171,28 +1191,6 @@ msgstr "" msgid "The following items will be created" msgstr "" -#: build/templates/build/create_build_item.html:7 -msgid "Select a stock item to allocate to the selected build output" -msgstr "" - -#: build/templates/build/create_build_item.html:11 -#, python-format -msgid "The allocated stock will be installed into the following build output:
%(output)s" -msgstr "" - -#: build/templates/build/create_build_item.html:17 -#, python-format -msgid "No stock available for %(part)s" -msgstr "" - -#: build/templates/build/delete_build_item.html:8 -msgid "Are you sure you want to unallocate this stock?" -msgstr "" - -#: build/templates/build/delete_build_item.html:11 -msgid "The selected stock will be unallocated from the build output" -msgstr "" - #: build/templates/build/detail.html:38 msgid "Stock Source" msgstr "" @@ -1201,9 +1199,8 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/forms.py:88 order/models.py:794 -#: order/templates/order/receive_parts.html:25 stock/forms.py:134 -#: templates/js/translated/order.js:593 +#: build/templates/build/detail.html:49 order/models.py:802 stock/forms.py:134 +#: templates/js/translated/order.js:431 templates/js/translated/order.js:939 msgid "Destination" msgstr "" @@ -1213,7 +1210,7 @@ msgstr "" #: build/templates/build/detail.html:73 #: stock/templates/stock/item_base.html:317 -#: templates/js/translated/stock.js:931 templates/js/translated/stock.js:1873 +#: templates/js/translated/stock.js:910 templates/js/translated/stock.js:1852 #: templates/js/translated/table_filters.js:129 #: templates/js/translated/table_filters.js:211 msgid "Batch" @@ -1221,8 +1218,8 @@ msgstr "" #: build/templates/build/detail.html:119 #: order/templates/order/order_base.html:111 -#: order/templates/order/sales_order_base.html:113 -#: templates/js/translated/build.js:933 +#: order/templates/order/sales_order_base.html:118 +#: templates/js/translated/build.js:1259 msgid "Created" msgstr "" @@ -1230,7 +1227,8 @@ msgstr "" msgid "No target date set" msgstr "" -#: build/templates/build/detail.html:135 templates/js/translated/build.js:911 +#: build/templates/build/detail.html:135 templates/js/translated/build.js:1237 +#: templates/js/translated/table_filters.js:282 msgid "Completed" msgstr "" @@ -1250,15 +1248,16 @@ msgstr "" msgid "Allocate stock to build" msgstr "" -#: build/templates/build/detail.html:173 -msgid "Auto Allocate" +#: build/templates/build/detail.html:173 build/templates/build/navbar.html:20 +#: build/templates/build/navbar.html:23 +msgid "Allocate Stock" msgstr "" -#: build/templates/build/detail.html:175 templates/js/translated/build.js:801 +#: build/templates/build/detail.html:175 templates/js/translated/build.js:817 msgid "Unallocate stock" msgstr "" -#: build/templates/build/detail.html:176 build/views.py:318 build/views.py:638 +#: build/templates/build/detail.html:176 build/views.py:257 msgid "Unallocate Stock" msgstr "" @@ -1268,7 +1267,7 @@ msgstr "" #: build/templates/build/detail.html:180 #: company/templates/company/detail.html:32 -#: company/templates/company/detail.html:72 order/views.py:679 +#: company/templates/company/detail.html:72 order/views.py:509 #: part/templates/part/category.html:140 msgid "Order Parts" msgstr "" @@ -1282,38 +1281,42 @@ msgid "Untracked stock has not been fully allocated for this Build Order" msgstr "" #: build/templates/build/detail.html:197 +msgid "Allocate selected items" +msgstr "" + +#: build/templates/build/detail.html:209 msgid "This Build Order does not have any associated untracked BOM items" msgstr "" -#: build/templates/build/detail.html:206 +#: build/templates/build/detail.html:218 msgid "Incomplete Build Outputs" msgstr "" -#: build/templates/build/detail.html:211 +#: build/templates/build/detail.html:223 msgid "Create new build output" msgstr "" -#: build/templates/build/detail.html:212 +#: build/templates/build/detail.html:224 msgid "Create New Output" msgstr "" -#: build/templates/build/detail.html:225 +#: build/templates/build/detail.html:237 msgid "Create a new build output" msgstr "" -#: build/templates/build/detail.html:226 +#: build/templates/build/detail.html:238 msgid "No incomplete build outputs remain." msgstr "" -#: build/templates/build/detail.html:227 +#: build/templates/build/detail.html:239 msgid "Create a new build output using the button above" msgstr "" -#: build/templates/build/detail.html:235 +#: build/templates/build/detail.html:247 msgid "Completed Build Outputs" msgstr "" -#: build/templates/build/detail.html:246 build/templates/build/navbar.html:42 +#: build/templates/build/detail.html:258 build/templates/build/navbar.html:42 #: build/templates/build/navbar.html:45 order/templates/order/po_navbar.html:35 #: order/templates/order/sales_order_detail.html:43 #: order/templates/order/so_navbar.html:29 part/templates/part/detail.html:173 @@ -1323,15 +1326,15 @@ msgstr "" msgid "Attachments" msgstr "" -#: build/templates/build/detail.html:257 +#: build/templates/build/detail.html:269 msgid "Build Notes" msgstr "" -#: build/templates/build/detail.html:261 build/templates/build/detail.html:398 +#: build/templates/build/detail.html:273 build/templates/build/detail.html:414 #: company/templates/company/detail.html:169 #: company/templates/company/detail.html:196 -#: order/templates/order/purchase_order_detail.html:62 -#: order/templates/order/purchase_order_detail.html:95 +#: order/templates/order/purchase_order_detail.html:71 +#: order/templates/order/purchase_order_detail.html:104 #: order/templates/order/sales_order_detail.html:58 #: order/templates/order/sales_order_detail.html:85 #: part/templates/part/detail.html:109 stock/templates/stock/item.html:103 @@ -1339,39 +1342,48 @@ msgstr "" msgid "Edit Notes" msgstr "" -#: build/templates/build/detail.html:357 +#: build/templates/build/detail.html:373 #: order/templates/order/po_attachments.html:79 -#: order/templates/order/purchase_order_detail.html:157 +#: order/templates/order/purchase_order_detail.html:166 #: order/templates/order/sales_order_detail.html:146 -#: part/templates/part/detail.html:920 stock/templates/stock/item.html:253 +#: part/templates/part/detail.html:891 stock/templates/stock/item.html:253 #: templates/attachment_table.html:6 msgid "Add Attachment" msgstr "" -#: build/templates/build/detail.html:376 +#: build/templates/build/detail.html:392 #: order/templates/order/po_attachments.html:51 -#: order/templates/order/purchase_order_detail.html:129 +#: order/templates/order/purchase_order_detail.html:138 #: order/templates/order/sales_order_detail.html:119 -#: part/templates/part/detail.html:874 stock/templates/stock/item.html:221 +#: part/templates/part/detail.html:845 stock/templates/stock/item.html:221 msgid "Edit Attachment" msgstr "" -#: build/templates/build/detail.html:383 +#: build/templates/build/detail.html:399 #: order/templates/order/po_attachments.html:58 -#: order/templates/order/purchase_order_detail.html:136 +#: order/templates/order/purchase_order_detail.html:145 #: order/templates/order/sales_order_detail.html:125 -#: part/templates/part/detail.html:883 stock/templates/stock/item.html:230 +#: part/templates/part/detail.html:854 stock/templates/stock/item.html:230 +#: templates/js/translated/order.js:1230 msgid "Confirm Delete Operation" msgstr "" -#: build/templates/build/detail.html:384 +#: build/templates/build/detail.html:400 #: order/templates/order/po_attachments.html:59 -#: order/templates/order/purchase_order_detail.html:137 +#: order/templates/order/purchase_order_detail.html:146 #: order/templates/order/sales_order_detail.html:126 -#: part/templates/part/detail.html:884 stock/templates/stock/item.html:231 +#: part/templates/part/detail.html:855 stock/templates/stock/item.html:231 msgid "Delete Attachment" msgstr "" +#: build/templates/build/detail.html:443 +msgid "Allocation Complete" +msgstr "" + +#: build/templates/build/detail.html:444 +msgid "All untracked stock items have been allocated" +msgstr "" + #: build/templates/build/edit_build_item.html:7 msgid "Alter the quantity of stock allocated to the build output" msgstr "" @@ -1401,15 +1413,10 @@ msgid "Build Order Details" msgstr "" #: build/templates/build/navbar.html:15 order/templates/order/po_navbar.html:15 -#: templates/js/translated/stock.js:1555 +#: templates/js/translated/stock.js:1534 msgid "Details" msgstr "" -#: build/templates/build/navbar.html:20 build/templates/build/navbar.html:23 -#: build/views.py:90 -msgid "Allocate Stock" -msgstr "" - #: build/templates/build/navbar.html:28 build/templates/build/navbar.html:31 msgid "Build Outputs" msgstr "" @@ -1434,120 +1441,82 @@ msgstr "" msgid "Build was cancelled" msgstr "" -#: build/views.py:137 -msgid "Allocated stock to build output" -msgstr "" - -#: build/views.py:149 +#: build/views.py:88 msgid "Create Build Output" msgstr "" -#: build/views.py:167 +#: build/views.py:106 msgid "Maximum output quantity is " msgstr "" -#: build/views.py:183 stock/views.py:1389 +#: build/views.py:122 stock/views.py:1366 msgid "Serial numbers already exist" msgstr "" -#: build/views.py:192 +#: build/views.py:131 msgid "Serial numbers required for trackable build output" msgstr "" -#: build/views.py:258 +#: build/views.py:197 msgid "Delete Build Output" msgstr "" -#: build/views.py:279 build/views.py:369 +#: build/views.py:218 build/views.py:308 msgid "Confirm unallocation of build stock" msgstr "" -#: build/views.py:280 build/views.py:370 stock/views.py:404 +#: build/views.py:219 build/views.py:309 stock/views.py:381 msgid "Check the confirmation box" msgstr "" -#: build/views.py:292 +#: build/views.py:231 msgid "Build output does not match build" msgstr "" -#: build/views.py:294 build/views.py:495 +#: build/views.py:233 build/views.py:434 msgid "Build output must be specified" msgstr "" -#: build/views.py:306 +#: build/views.py:245 msgid "Build output deleted" msgstr "" -#: build/views.py:404 +#: build/views.py:343 msgid "Complete Build Order" msgstr "" -#: build/views.py:410 +#: build/views.py:349 msgid "Build order cannot be completed - incomplete outputs remain" msgstr "" -#: build/views.py:421 +#: build/views.py:360 msgid "Completed build order" msgstr "" -#: build/views.py:437 +#: build/views.py:376 msgid "Complete Build Output" msgstr "" -#: build/views.py:479 +#: build/views.py:418 msgid "Invalid stock status value selected" msgstr "" -#: build/views.py:486 +#: build/views.py:425 msgid "Quantity to complete cannot exceed build output quantity" msgstr "" -#: build/views.py:492 +#: build/views.py:431 msgid "Confirm completion of incomplete build" msgstr "" -#: build/views.py:591 +#: build/views.py:530 msgid "Build output completed" msgstr "" -#: build/views.py:628 +#: build/views.py:567 msgid "Delete Build Order" msgstr "" -#: build/views.py:643 -msgid "Removed parts from build allocation" -msgstr "" - -#: build/views.py:655 -msgid "Allocate stock to build output" -msgstr "" - -#: build/views.py:698 -msgid "Item must be currently in stock" -msgstr "" - -#: build/views.py:704 -msgid "Stock item is over-allocated" -msgstr "" - -#: build/views.py:705 templates/js/translated/bom.js:269 -#: templates/js/translated/build.js:728 templates/js/translated/build.js:1019 -#: templates/js/translated/build.js:1196 -msgid "Available" -msgstr "" - -#: build/views.py:707 -msgid "Stock item must be selected" -msgstr "" - -#: build/views.py:870 -msgid "Edit Stock Allocation" -msgstr "" - -#: build/views.py:874 -msgid "Updated Build Item" -msgstr "" - #: common/files.py:67 msgid "Unsupported file format: {ext.upper()}" msgstr "" @@ -1585,7 +1554,7 @@ msgstr "" msgid "Select {name} file to upload" msgstr "" -#: common/models.py:308 common/models.py:839 common/models.py:986 +#: common/models.py:308 common/models.py:887 common/models.py:1048 msgid "Settings key (must be unique - case insensitive" msgstr "" @@ -1625,7 +1594,7 @@ msgstr "" msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:522 company/models.py:99 company/models.py:100 +#: common/models.py:522 company/models.py:100 company/models.py:101 msgid "Company name" msgstr "" @@ -1721,9 +1690,9 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:603 part/models.py:2252 report/models.py:187 +#: common/models.py:603 part/models.py:2256 report/models.py:187 #: stock/forms.py:224 templates/js/translated/table_filters.js:38 -#: templates/js/translated/table_filters.js:342 +#: templates/js/translated/table_filters.js:351 msgid "Template" msgstr "" @@ -1731,9 +1700,9 @@ msgstr "" msgid "Parts are templates by default" msgstr "" -#: common/models.py:610 part/models.py:805 +#: common/models.py:610 part/models.py:806 #: templates/js/translated/table_filters.js:146 -#: templates/js/translated/table_filters.js:354 +#: templates/js/translated/table_filters.js:363 msgid "Assembly" msgstr "" @@ -1741,8 +1710,8 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:617 part/models.py:811 -#: templates/js/translated/table_filters.js:358 +#: common/models.py:617 part/models.py:812 +#: templates/js/translated/table_filters.js:367 msgid "Component" msgstr "" @@ -1750,7 +1719,7 @@ msgstr "" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:624 part/models.py:822 +#: common/models.py:624 part/models.py:823 msgid "Purchaseable" msgstr "" @@ -1758,8 +1727,8 @@ msgstr "" msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:631 part/models.py:827 -#: templates/js/translated/table_filters.js:366 +#: common/models.py:631 part/models.py:828 +#: templates/js/translated/table_filters.js:375 msgid "Salable" msgstr "" @@ -1767,9 +1736,9 @@ msgstr "" msgid "Parts are salable by default" msgstr "" -#: common/models.py:638 part/models.py:817 +#: common/models.py:638 part/models.py:818 #: templates/js/translated/table_filters.js:46 -#: templates/js/translated/table_filters.js:370 +#: templates/js/translated/table_filters.js:379 msgid "Trackable" msgstr "" @@ -1777,7 +1746,7 @@ msgstr "" msgid "Parts are trackable by default" msgstr "" -#: common/models.py:645 part/models.py:837 +#: common/models.py:645 part/models.py:838 #: part/templates/part/part_base.html:66 #: templates/js/translated/table_filters.js:42 msgid "Virtual" @@ -1787,392 +1756,464 @@ msgstr "" msgid "Parts are virtual by default" msgstr "" -#: common/models.py:653 -msgid "Show Quantity in Forms" -msgstr "" - -#: common/models.py:654 -msgid "Display available part quantity in some forms" -msgstr "" - -#: common/models.py:660 +#: common/models.py:652 msgid "Show Import in Views" msgstr "" -#: common/models.py:661 +#: common/models.py:653 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:667 +#: common/models.py:659 msgid "Show Price in Forms" msgstr "" -#: common/models.py:668 +#: common/models.py:660 msgid "Display part price in some forms" msgstr "" -#: common/models.py:674 +#: common/models.py:671 +msgid "Show Price in BOM" +msgstr "" + +#: common/models.py:672 +msgid "Include pricing information in BOM tables" +msgstr "" + +#: common/models.py:678 msgid "Show related parts" msgstr "" -#: common/models.py:675 +#: common/models.py:679 msgid "Display related parts for a part" msgstr "" -#: common/models.py:681 +#: common/models.py:685 msgid "Create initial stock" msgstr "" -#: common/models.py:682 +#: common/models.py:686 msgid "Create initial stock on part creation" msgstr "" -#: common/models.py:688 +#: common/models.py:692 msgid "Internal Prices" msgstr "" -#: common/models.py:689 +#: common/models.py:693 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:695 +#: common/models.py:699 msgid "Internal Price as BOM-Price" msgstr "" -#: common/models.py:696 +#: common/models.py:700 msgid "Use the internal price (if set) in BOM-price calculations" msgstr "" -#: common/models.py:702 templates/stats.html:25 +#: common/models.py:706 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:703 +#: common/models.py:707 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:709 +#: common/models.py:713 msgid "Page Size" msgstr "" -#: common/models.py:710 +#: common/models.py:714 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:720 +#: common/models.py:724 msgid "Test Reports" msgstr "" -#: common/models.py:721 +#: common/models.py:725 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:727 +#: common/models.py:731 msgid "Stock Expiry" msgstr "" -#: common/models.py:728 +#: common/models.py:732 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:734 +#: common/models.py:738 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:735 +#: common/models.py:739 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:741 +#: common/models.py:745 msgid "Stock Stale Time" msgstr "" -#: common/models.py:742 +#: common/models.py:746 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:744 +#: common/models.py:748 msgid "days" msgstr "" -#: common/models.py:749 +#: common/models.py:753 msgid "Build Expired Stock" msgstr "" -#: common/models.py:750 +#: common/models.py:754 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:756 +#: common/models.py:760 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:757 +#: common/models.py:761 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:763 +#: common/models.py:767 msgid "Group by Part" msgstr "" -#: common/models.py:764 +#: common/models.py:768 msgid "Group stock items by part reference in table views" msgstr "" -#: common/models.py:770 +#: common/models.py:774 msgid "Build Order Reference Prefix" msgstr "" -#: common/models.py:771 +#: common/models.py:775 msgid "Prefix value for build order reference" msgstr "" -#: common/models.py:776 +#: common/models.py:780 msgid "Build Order Reference Regex" msgstr "" -#: common/models.py:777 +#: common/models.py:781 msgid "Regular expression pattern for matching build order reference" msgstr "" -#: common/models.py:781 +#: common/models.py:785 msgid "Sales Order Reference Prefix" msgstr "" -#: common/models.py:782 +#: common/models.py:786 msgid "Prefix value for sales order reference" msgstr "" -#: common/models.py:787 +#: common/models.py:791 msgid "Purchase Order Reference Prefix" msgstr "" -#: common/models.py:788 +#: common/models.py:792 msgid "Prefix value for purchase order reference" msgstr "" -#: common/models.py:794 +#: common/models.py:798 msgid "Enable build" msgstr "" -#: common/models.py:795 +#: common/models.py:799 msgid "Enable build functionality in InvenTree interface" msgstr "" -#: common/models.py:800 +#: common/models.py:804 msgid "Enable buy" msgstr "" -#: common/models.py:801 +#: common/models.py:805 msgid "Enable buy functionality in InvenTree interface" msgstr "" -#: common/models.py:806 +#: common/models.py:810 msgid "Enable sell" msgstr "" -#: common/models.py:807 +#: common/models.py:811 msgid "Enable sell functionality in InvenTree interface" msgstr "" -#: common/models.py:812 +#: common/models.py:816 msgid "Enable stock" msgstr "" -#: common/models.py:813 +#: common/models.py:817 msgid "Enable stock functionality in InvenTree interface" msgstr "" -#: common/models.py:818 +#: common/models.py:822 msgid "Enable SO" msgstr "" -#: common/models.py:819 +#: common/models.py:823 msgid "Enable SO functionality in InvenTree interface" msgstr "" -#: common/models.py:824 +#: common/models.py:828 msgid "Enable PO" msgstr "" -#: common/models.py:825 +#: common/models.py:829 msgid "Enable PO functionality in InvenTree interface" msgstr "" -#: common/models.py:850 +#: common/models.py:836 +msgid "Enable password forgot" +msgstr "" + +#: common/models.py:837 +msgid "Enable password forgot function on the login-pages" +msgstr "" + +#: common/models.py:842 +msgid "Enable registration" +msgstr "" + +#: common/models.py:843 +msgid "Enable self-registration for users on the login-pages" +msgstr "" + +#: common/models.py:848 +msgid "Enable SSO" +msgstr "" + +#: common/models.py:849 +msgid "Enable SSO on the login-pages" +msgstr "" + +#: common/models.py:854 +msgid "E-Mail required" +msgstr "" + +#: common/models.py:855 +msgid "Require user to supply mail on signup" +msgstr "" + +#: common/models.py:860 +msgid "Auto-fill SSO users" +msgstr "" + +#: common/models.py:861 +msgid "Automatically fill out user-details from SSO account-data" +msgstr "" + +#: common/models.py:866 +msgid "Mail twice" +msgstr "" + +#: common/models.py:867 +msgid "On signup ask users twice for their mail" +msgstr "" + +#: common/models.py:872 +msgid "Password twice" +msgstr "" + +#: common/models.py:873 +msgid "On signup ask users twice for their password" +msgstr "" + +#: common/models.py:898 msgid "Show starred parts" msgstr "" -#: common/models.py:851 +#: common/models.py:899 msgid "Show starred parts on the homepage" msgstr "" -#: common/models.py:856 +#: common/models.py:904 msgid "Show latest parts" msgstr "" -#: common/models.py:857 +#: common/models.py:905 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:862 +#: common/models.py:910 msgid "Recent Part Count" msgstr "" -#: common/models.py:863 +#: common/models.py:911 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:869 +#: common/models.py:917 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:870 +#: common/models.py:918 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:875 +#: common/models.py:923 msgid "Show recent stock changes" msgstr "" -#: common/models.py:876 +#: common/models.py:924 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:881 +#: common/models.py:929 msgid "Recent Stock Count" msgstr "" -#: common/models.py:882 +#: common/models.py:930 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:887 +#: common/models.py:935 msgid "Show low stock" msgstr "" -#: common/models.py:888 +#: common/models.py:936 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:893 +#: common/models.py:941 msgid "Show depleted stock" msgstr "" -#: common/models.py:894 +#: common/models.py:942 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:899 +#: common/models.py:947 msgid "Show needed stock" msgstr "" -#: common/models.py:900 +#: common/models.py:948 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:905 +#: common/models.py:953 msgid "Show expired stock" msgstr "" -#: common/models.py:906 +#: common/models.py:954 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:911 +#: common/models.py:959 msgid "Show stale stock" msgstr "" -#: common/models.py:912 +#: common/models.py:960 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:917 +#: common/models.py:965 msgid "Show pending builds" msgstr "" -#: common/models.py:918 +#: common/models.py:966 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:923 +#: common/models.py:971 msgid "Show overdue builds" msgstr "" -#: common/models.py:924 +#: common/models.py:972 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:929 +#: common/models.py:977 msgid "Show outstanding POs" msgstr "" -#: common/models.py:930 +#: common/models.py:978 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:935 +#: common/models.py:983 msgid "Show overdue POs" msgstr "" -#: common/models.py:936 +#: common/models.py:984 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:941 +#: common/models.py:989 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:942 +#: common/models.py:990 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:947 +#: common/models.py:995 msgid "Show overdue SOs" msgstr "" -#: common/models.py:948 +#: common/models.py:996 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:954 +#: common/models.py:1002 msgid "Inline label display" msgstr "" -#: common/models.py:955 +#: common/models.py:1003 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:961 +#: common/models.py:1009 msgid "Inline report display" msgstr "" -#: common/models.py:962 +#: common/models.py:1010 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:968 +#: common/models.py:1016 msgid "Search Preview Results" msgstr "" -#: common/models.py:969 +#: common/models.py:1017 msgid "Number of results to show in search preview window" msgstr "" -#: common/models.py:1026 company/forms.py:43 +#: common/models.py:1023 +msgid "Show Quantity in Forms" +msgstr "" + +#: common/models.py:1024 +msgid "Display available part quantity in some forms" +msgstr "" + +#: common/models.py:1030 +msgid "Escape Key Closes Forms" +msgstr "" + +#: common/models.py:1031 +msgid "Use the escape key to close modal forms" +msgstr "" + +#: common/models.py:1088 company/forms.py:43 msgid "Price break quantity" msgstr "" -#: common/models.py:1033 company/templates/company/supplier_part.html:231 -#: templates/js/translated/part.js:1322 +#: common/models.py:1095 company/templates/company/supplier_part.html:231 +#: templates/js/translated/part.js:1369 msgid "Price" msgstr "" -#: common/models.py:1034 +#: common/models.py:1096 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1127 +#: common/models.py:1189 msgid "Default" msgstr "" @@ -2199,7 +2240,7 @@ msgstr "" #: common/views.py:213 order/templates/order/order_wizard/po_upload.html:42 #: order/templates/order/po_navbar.html:19 #: order/templates/order/po_navbar.html:22 -#: order/templates/order/purchase_order_detail.html:26 order/views.py:290 +#: order/templates/order/purchase_order_detail.html:27 order/views.py:289 #: part/templates/part/bom_upload/upload_file.html:65 #: part/templates/part/import_wizard/part_upload.html:45 part/views.py:268 #: part/views.py:882 @@ -2207,7 +2248,7 @@ msgid "Upload File" msgstr "" #: common/views.py:214 order/templates/order/order_wizard/match_fields.html:52 -#: order/views.py:291 part/templates/part/bom_upload/match_fields.html:52 +#: order/views.py:290 part/templates/part/bom_upload/match_fields.html:52 #: part/templates/part/import_wizard/ajax_match_fields.html:45 #: part/templates/part/import_wizard/match_fields.html:52 part/views.py:269 #: part/views.py:883 @@ -2246,249 +2287,249 @@ msgstr "" msgid "Image URL" msgstr "" -#: company/models.py:104 +#: company/models.py:105 msgid "Company description" msgstr "" -#: company/models.py:105 +#: company/models.py:106 msgid "Description of the company" msgstr "" -#: company/models.py:111 company/templates/company/company_base.html:70 +#: company/models.py:112 company/templates/company/company_base.html:70 #: templates/js/translated/company.js:348 msgid "Website" msgstr "" -#: company/models.py:112 +#: company/models.py:113 msgid "Company website URL" msgstr "" -#: company/models.py:116 company/templates/company/company_base.html:88 +#: company/models.py:117 company/templates/company/company_base.html:88 msgid "Address" msgstr "" -#: company/models.py:117 +#: company/models.py:118 msgid "Company address" msgstr "" -#: company/models.py:120 +#: company/models.py:121 msgid "Phone number" msgstr "" -#: company/models.py:121 +#: company/models.py:122 msgid "Contact phone number" msgstr "" -#: company/models.py:124 company/templates/company/company_base.html:102 +#: company/models.py:125 company/templates/company/company_base.html:102 msgid "Email" msgstr "" -#: company/models.py:124 +#: company/models.py:125 msgid "Contact email address" msgstr "" -#: company/models.py:127 company/templates/company/company_base.html:109 +#: company/models.py:128 company/templates/company/company_base.html:109 msgid "Contact" msgstr "" -#: company/models.py:128 +#: company/models.py:129 msgid "Point of contact" msgstr "" -#: company/models.py:130 company/models.py:347 company/models.py:563 -#: order/models.py:160 part/models.py:714 +#: company/models.py:131 company/models.py:348 company/models.py:564 +#: order/models.py:160 part/models.py:715 #: report/templates/report/inventree_build_order_base.html:165 -#: templates/js/translated/company.js:535 -#: templates/js/translated/company.js:823 templates/js/translated/part.js:972 +#: templates/js/translated/company.js:536 +#: templates/js/translated/company.js:825 templates/js/translated/part.js:983 msgid "Link" msgstr "" -#: company/models.py:130 +#: company/models.py:131 msgid "Link to external company information" msgstr "" -#: company/models.py:138 part/models.py:724 +#: company/models.py:139 part/models.py:725 msgid "Image" msgstr "" -#: company/models.py:143 +#: company/models.py:144 msgid "is customer" msgstr "" -#: company/models.py:143 +#: company/models.py:144 msgid "Do you sell items to this company?" msgstr "" -#: company/models.py:145 +#: company/models.py:146 msgid "is supplier" msgstr "" -#: company/models.py:145 +#: company/models.py:146 msgid "Do you purchase items from this company?" msgstr "" -#: company/models.py:147 +#: company/models.py:148 msgid "is manufacturer" msgstr "" -#: company/models.py:147 +#: company/models.py:148 msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:151 company/serializers.py:264 -#: company/templates/company/company_base.html:76 stock/serializers.py:155 +#: company/models.py:152 company/serializers.py:264 +#: company/templates/company/company_base.html:76 stock/serializers.py:158 msgid "Currency" msgstr "" -#: company/models.py:154 +#: company/models.py:155 msgid "Default currency used for this company" msgstr "" -#: company/models.py:319 company/models.py:534 stock/models.py:454 +#: company/models.py:320 company/models.py:535 stock/models.py:454 #: stock/templates/stock/item_base.html:237 msgid "Base Part" msgstr "" -#: company/models.py:323 company/models.py:538 order/views.py:1082 +#: company/models.py:324 company/models.py:539 order/views.py:912 msgid "Select part" msgstr "" -#: company/models.py:334 company/templates/company/company_base.html:116 +#: company/models.py:335 company/templates/company/company_base.html:116 #: company/templates/company/manufacturer_part.html:89 #: company/templates/company/supplier_part.html:98 part/bom.py:170 -#: part/bom.py:241 stock/templates/stock/item_base.html:366 +#: part/bom.py:247 stock/templates/stock/item_base.html:366 #: templates/js/translated/company.js:332 -#: templates/js/translated/company.js:512 -#: templates/js/translated/company.js:794 templates/js/translated/part.js:222 +#: templates/js/translated/company.js:513 +#: templates/js/translated/company.js:796 templates/js/translated/part.js:227 msgid "Manufacturer" msgstr "" -#: company/models.py:335 templates/js/translated/part.js:223 +#: company/models.py:336 templates/js/translated/part.js:228 msgid "Select manufacturer" msgstr "" -#: company/models.py:341 company/templates/company/manufacturer_part.html:93 +#: company/models.py:342 company/templates/company/manufacturer_part.html:93 #: company/templates/company/supplier_part.html:106 part/bom.py:171 -#: part/bom.py:242 templates/js/translated/company.js:528 -#: templates/js/translated/company.js:812 templates/js/translated/order.js:505 -#: templates/js/translated/part.js:233 +#: part/bom.py:248 templates/js/translated/company.js:529 +#: templates/js/translated/company.js:814 templates/js/translated/order.js:851 +#: templates/js/translated/part.js:238 msgid "MPN" msgstr "" -#: company/models.py:342 templates/js/translated/part.js:234 +#: company/models.py:343 templates/js/translated/part.js:239 msgid "Manufacturer Part Number" msgstr "" -#: company/models.py:348 +#: company/models.py:349 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:354 +#: company/models.py:355 msgid "Manufacturer part description" msgstr "" -#: company/models.py:408 company/models.py:557 +#: company/models.py:409 company/models.py:558 #: company/templates/company/manufacturer_part.html:6 #: company/templates/company/manufacturer_part.html:23 #: stock/templates/stock/item_base.html:376 msgid "Manufacturer Part" msgstr "" -#: company/models.py:415 +#: company/models.py:416 msgid "Parameter name" msgstr "" -#: company/models.py:421 +#: company/models.py:422 #: report/templates/report/inventree_test_report_base.html:90 -#: stock/models.py:1819 templates/InvenTree/settings/header.html:8 -#: templates/js/translated/company.js:642 templates/js/translated/part.js:612 -#: templates/js/translated/stock.js:576 +#: stock/models.py:1816 templates/InvenTree/settings/header.html:8 +#: templates/js/translated/company.js:643 templates/js/translated/part.js:623 +#: templates/js/translated/stock.js:555 msgid "Value" msgstr "" -#: company/models.py:422 +#: company/models.py:423 msgid "Parameter value" msgstr "" -#: company/models.py:428 part/models.py:799 part/models.py:2220 -#: templates/js/translated/company.js:648 templates/js/translated/part.js:618 +#: company/models.py:429 part/models.py:800 part/models.py:2224 +#: templates/js/translated/company.js:649 templates/js/translated/part.js:629 msgid "Units" msgstr "" -#: company/models.py:429 +#: company/models.py:430 msgid "Parameter units" msgstr "" -#: company/models.py:501 +#: company/models.py:502 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:544 company/templates/company/company_base.html:121 +#: company/models.py:545 company/templates/company/company_base.html:121 #: company/templates/company/supplier_part.html:88 order/models.py:260 #: order/templates/order/order_base.html:92 #: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:175 -#: part/bom.py:286 stock/templates/stock/item_base.html:383 +#: part/bom.py:292 stock/templates/stock/item_base.html:383 #: templates/js/translated/company.js:336 -#: templates/js/translated/company.js:768 templates/js/translated/order.js:328 -#: templates/js/translated/part.js:203 +#: templates/js/translated/company.js:770 templates/js/translated/order.js:659 +#: templates/js/translated/part.js:208 msgid "Supplier" msgstr "" -#: company/models.py:545 templates/js/translated/part.js:204 +#: company/models.py:546 templates/js/translated/part.js:209 msgid "Select supplier" msgstr "" -#: company/models.py:550 company/templates/company/supplier_part.html:92 -#: part/bom.py:176 part/bom.py:287 templates/js/translated/order.js:492 -#: templates/js/translated/part.js:214 +#: company/models.py:551 company/templates/company/supplier_part.html:92 +#: part/bom.py:176 part/bom.py:293 templates/js/translated/order.js:838 +#: templates/js/translated/part.js:219 msgid "SKU" msgstr "" -#: company/models.py:551 templates/js/translated/part.js:215 +#: company/models.py:552 templates/js/translated/part.js:220 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:558 +#: company/models.py:559 msgid "Select manufacturer part" msgstr "" -#: company/models.py:564 +#: company/models.py:565 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:570 +#: company/models.py:571 msgid "Supplier part description" msgstr "" -#: company/models.py:575 company/templates/company/supplier_part.html:120 -#: part/models.py:2368 report/templates/report/inventree_po_report.html:93 +#: company/models.py:576 company/templates/company/supplier_part.html:120 +#: part/models.py:2389 report/templates/report/inventree_po_report.html:93 #: report/templates/report/inventree_so_report.html:93 msgid "Note" msgstr "" -#: company/models.py:579 part/models.py:1599 +#: company/models.py:580 part/models.py:1603 msgid "base cost" msgstr "" -#: company/models.py:579 part/models.py:1599 +#: company/models.py:580 part/models.py:1603 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:581 company/templates/company/supplier_part.html:113 +#: company/models.py:582 company/templates/company/supplier_part.html:113 #: stock/models.py:478 stock/templates/stock/item_base.html:324 -#: templates/js/translated/company.js:844 templates/js/translated/stock.js:1057 +#: templates/js/translated/company.js:846 templates/js/translated/stock.js:1036 msgid "Packaging" msgstr "" -#: company/models.py:581 +#: company/models.py:582 msgid "Part packaging" msgstr "" -#: company/models.py:583 part/models.py:1601 +#: company/models.py:584 part/models.py:1605 msgid "multiple" msgstr "" -#: company/models.py:583 +#: company/models.py:584 msgid "Order multiple" msgstr "" @@ -2502,7 +2543,7 @@ msgstr "" #: company/templates/company/company_base.html:9 #: company/templates/company/company_base.html:35 -#: templates/InvenTree/search.html:304 templates/js/translated/company.js:321 +#: templates/InvenTree/search.html:208 templates/js/translated/company.js:321 msgid "Company" msgstr "" @@ -2517,7 +2558,7 @@ msgid "Download image from URL" msgstr "" #: company/templates/company/company_base.html:46 -#: templates/js/translated/order.js:117 +#: templates/js/translated/order.js:120 msgid "Create Purchase Order" msgstr "" @@ -2542,22 +2583,22 @@ msgstr "" msgid "Phone" msgstr "" -#: company/templates/company/company_base.html:126 order/models.py:550 -#: order/templates/order/sales_order_base.html:94 stock/models.py:496 +#: company/templates/company/company_base.html:126 order/models.py:558 +#: order/templates/order/sales_order_base.html:99 stock/models.py:496 #: stock/models.py:497 stock/templates/stock/item_base.html:276 -#: templates/js/translated/company.js:328 templates/js/translated/order.js:692 -#: templates/js/translated/stock.js:1608 +#: templates/js/translated/company.js:328 templates/js/translated/order.js:1038 +#: templates/js/translated/stock.js:1587 msgid "Customer" msgstr "" -#: company/templates/company/company_base.html:193 -#: part/templates/part/part_base.html:418 +#: company/templates/company/company_base.html:199 +#: part/templates/part/part_base.html:424 msgid "Upload Image" msgstr "" #: company/templates/company/detail.html:14 #: company/templates/company/manufacturer_part_navbar.html:18 -#: templates/InvenTree/search.html:164 +#: templates/InvenTree/search.html:150 msgid "Supplier Parts" msgstr "" @@ -2597,7 +2638,7 @@ msgstr "" msgid "Delete Parts" msgstr "" -#: company/templates/company/detail.html:54 templates/InvenTree/search.html:149 +#: company/templates/company/detail.html:54 templates/InvenTree/search.html:135 msgid "Manufacturer Parts" msgstr "" @@ -2620,9 +2661,9 @@ msgstr "" #: order/templates/order/purchase_orders.html:13 #: part/templates/part/detail.html:50 part/templates/part/navbar.html:82 #: part/templates/part/navbar.html:85 templates/InvenTree/index.html:260 -#: templates/InvenTree/search.html:325 -#: templates/InvenTree/settings/navbar.html:107 -#: templates/InvenTree/settings/navbar.html:109 templates/navbar.html:44 +#: templates/InvenTree/search.html:229 +#: templates/InvenTree/settings/navbar.html:119 +#: templates/InvenTree/settings/navbar.html:121 templates/navbar.html:44 #: users/models.py:45 msgid "Purchase Orders" msgstr "" @@ -2644,9 +2685,9 @@ msgstr "" #: order/templates/order/sales_orders.html:13 #: part/templates/part/detail.html:71 part/templates/part/navbar.html:91 #: part/templates/part/navbar.html:94 templates/InvenTree/index.html:291 -#: templates/InvenTree/search.html:345 -#: templates/InvenTree/settings/navbar.html:113 -#: templates/InvenTree/settings/navbar.html:115 templates/navbar.html:55 +#: templates/InvenTree/search.html:249 +#: templates/InvenTree/settings/navbar.html:125 +#: templates/InvenTree/settings/navbar.html:127 templates/navbar.html:55 #: users/models.py:46 msgid "Sales Orders" msgstr "" @@ -2664,7 +2705,7 @@ msgstr "" #: company/templates/company/detail.html:147 #: company/templates/company/navbar.html:61 #: company/templates/company/navbar.html:64 -#: templates/js/translated/build.js:620 +#: templates/js/translated/build.js:622 msgid "Assigned Stock" msgstr "" @@ -2696,12 +2737,12 @@ msgid "Order part" msgstr "" #: company/templates/company/manufacturer_part.html:45 -#: templates/js/translated/company.js:560 +#: templates/js/translated/company.js:561 msgid "Edit manufacturer part" msgstr "" #: company/templates/company/manufacturer_part.html:49 -#: templates/js/translated/company.js:561 +#: templates/js/translated/company.js:562 msgid "Delete manufacturer part" msgstr "" @@ -2718,7 +2759,7 @@ msgstr "" #: company/templates/company/manufacturer_part_navbar.html:21 #: company/views.py:49 part/templates/part/navbar.html:75 #: part/templates/part/navbar.html:78 part/templates/part/prices.html:163 -#: templates/InvenTree/search.html:316 templates/navbar.html:41 +#: templates/InvenTree/search.html:220 templates/navbar.html:41 msgid "Suppliers" msgstr "" @@ -2732,7 +2773,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:239 #: part/templates/part/detail.html:214 part/templates/part/detail.html:294 #: part/templates/part/detail.html:317 templates/js/translated/company.js:424 -#: templates/js/translated/helpers.js:31 users/models.py:194 +#: templates/js/translated/helpers.js:31 users/models.py:199 msgid "Delete" msgstr "" @@ -2758,7 +2799,7 @@ msgid "Delete parameters" msgstr "" #: company/templates/company/manufacturer_part.html:176 -#: part/templates/part/detail.html:834 +#: part/templates/part/detail.html:805 msgid "Add Parameter" msgstr "" @@ -2777,16 +2818,15 @@ msgstr "" #: company/templates/company/manufacturer_part_navbar.html:29 #: company/templates/company/navbar.html:39 #: company/templates/company/supplier_part_navbar.html:15 -#: part/templates/part/navbar.html:38 stock/api.py:54 +#: part/templates/part/navbar.html:38 stock/api.py:52 #: stock/templates/stock/loc_link.html:7 stock/templates/stock/location.html:36 #: stock/templates/stock/stock_app_base.html:10 -#: templates/InvenTree/index.html:150 templates/InvenTree/search.html:196 -#: templates/InvenTree/search.html:232 -#: templates/InvenTree/settings/navbar.html:95 -#: templates/InvenTree/settings/navbar.html:97 -#: templates/js/translated/part.js:529 templates/js/translated/part.js:758 -#: templates/js/translated/part.js:934 templates/js/translated/stock.js:202 -#: templates/js/translated/stock.js:850 templates/navbar.html:32 +#: templates/InvenTree/index.html:150 templates/InvenTree/search.html:182 +#: templates/InvenTree/settings/navbar.html:107 +#: templates/InvenTree/settings/navbar.html:109 +#: templates/js/translated/part.js:540 templates/js/translated/part.js:769 +#: templates/js/translated/part.js:945 templates/js/translated/stock.js:182 +#: templates/js/translated/stock.js:829 templates/navbar.html:32 msgid "Stock" msgstr "" @@ -2815,7 +2855,7 @@ msgstr "" #: stock/templates/stock/location.html:148 #: stock/templates/stock/location_navbar.html:18 #: stock/templates/stock/location_navbar.html:21 -#: templates/InvenTree/search.html:198 templates/js/translated/stock.js:1507 +#: templates/InvenTree/search.html:184 templates/js/translated/stock.js:1486 #: templates/stats.html:93 templates/stats.html:102 users/models.py:43 msgid "Stock Items" msgstr "" @@ -2823,17 +2863,17 @@ msgstr "" #: company/templates/company/supplier_part.html:7 #: company/templates/company/supplier_part.html:24 stock/models.py:463 #: stock/templates/stock/item_base.html:388 -#: templates/js/translated/company.js:784 templates/js/translated/stock.js:1014 +#: templates/js/translated/company.js:786 templates/js/translated/stock.js:993 msgid "Supplier Part" msgstr "" #: company/templates/company/supplier_part.html:44 -#: templates/js/translated/company.js:857 +#: templates/js/translated/company.js:859 msgid "Edit supplier part" msgstr "" #: company/templates/company/supplier_part.html:48 -#: templates/js/translated/company.js:858 +#: templates/js/translated/company.js:860 msgid "Delete supplier part" msgstr "" @@ -2900,7 +2940,7 @@ msgid "New Supplier" msgstr "" #: company/views.py:55 part/templates/part/prices.html:167 -#: templates/InvenTree/search.html:306 templates/navbar.html:42 +#: templates/InvenTree/search.html:210 templates/navbar.html:42 msgid "Manufacturers" msgstr "" @@ -2908,7 +2948,7 @@ msgstr "" msgid "New Manufacturer" msgstr "" -#: company/views.py:61 templates/InvenTree/search.html:336 +#: company/views.py:61 templates/InvenTree/search.html:240 #: templates/navbar.html:53 msgid "Customers" msgstr "" @@ -3011,36 +3051,32 @@ msgstr "" msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" -#: order/api.py:302 -msgid "Destination location must be specified" +#: order/api.py:250 +msgid "Matching purchase order does not exist" msgstr "" -#: order/forms.py:30 order/templates/order/order_base.html:47 +#: order/forms.py:27 order/templates/order/order_base.html:50 msgid "Place order" msgstr "" -#: order/forms.py:41 order/templates/order/order_base.html:54 +#: order/forms.py:38 order/templates/order/order_base.html:57 msgid "Mark order as complete" msgstr "" -#: order/forms.py:52 order/forms.py:63 order/templates/order/order_base.html:59 -#: order/templates/order/sales_order_base.html:61 +#: order/forms.py:49 order/forms.py:60 order/templates/order/order_base.html:62 +#: order/templates/order/sales_order_base.html:64 msgid "Cancel order" msgstr "" -#: order/forms.py:74 order/templates/order/sales_order_base.html:58 +#: order/forms.py:71 order/templates/order/sales_order_base.html:61 msgid "Ship order" msgstr "" -#: order/forms.py:89 -msgid "Set all received parts listed above to this location (if left blank, use \"Destination\" column value in above table)" -msgstr "" - -#: order/forms.py:116 +#: order/forms.py:97 msgid "Enter stock item serial numbers" msgstr "" -#: order/forms.py:122 +#: order/forms.py:103 msgid "Enter quantity of stock items" msgstr "" @@ -3064,11 +3100,11 @@ msgstr "" msgid "Order notes" msgstr "" -#: order/models.py:247 order/models.py:540 +#: order/models.py:247 order/models.py:548 msgid "Order reference" msgstr "" -#: order/models.py:252 order/models.py:555 +#: order/models.py:252 order/models.py:563 msgid "Purchase order status" msgstr "" @@ -3077,7 +3113,7 @@ msgid "Company from which the items are being ordered" msgstr "" #: order/models.py:264 order/templates/order/order_base.html:98 -#: templates/js/translated/order.js:337 +#: templates/js/translated/order.js:668 msgid "Supplier Reference" msgstr "" @@ -3109,190 +3145,190 @@ msgstr "" msgid "Date order was completed" msgstr "" -#: order/models.py:313 stock/models.py:351 stock/models.py:1072 -msgid "Quantity must be greater than zero" -msgstr "" - #: order/models.py:318 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:421 -msgid "Lines can only be received against an order marked as 'Placed'" -msgstr "" - -#: order/models.py:425 +#: order/models.py:428 msgid "Quantity must be an integer" msgstr "" -#: order/models.py:427 +#: order/models.py:432 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:551 +#: order/models.py:559 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:557 +#: order/models.py:565 msgid "Customer Reference " msgstr "" -#: order/models.py:557 +#: order/models.py:565 msgid "Customer order reference code" msgstr "" -#: order/models.py:562 +#: order/models.py:570 msgid "Target date for order completion. Order will be overdue after this date." msgstr "" -#: order/models.py:565 templates/js/translated/order.js:733 +#: order/models.py:573 templates/js/translated/order.js:1079 msgid "Shipment Date" msgstr "" -#: order/models.py:572 +#: order/models.py:580 msgid "shipped by" msgstr "" -#: order/models.py:616 +#: order/models.py:624 msgid "SalesOrder cannot be shipped as it is not currently pending" msgstr "" -#: order/models.py:713 +#: order/models.py:721 msgid "Item quantity" msgstr "" -#: order/models.py:719 +#: order/models.py:727 msgid "Line item reference" msgstr "" -#: order/models.py:721 +#: order/models.py:729 msgid "Line item notes" msgstr "" -#: order/models.py:751 order/models.py:835 templates/js/translated/order.js:785 +#: order/models.py:759 order/models.py:847 +#: templates/js/translated/order.js:1131 msgid "Order" msgstr "" -#: order/models.py:752 order/templates/order/order_base.html:9 +#: order/models.py:760 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:24 #: report/templates/report/inventree_po_report.html:77 #: stock/templates/stock/item_base.html:338 -#: templates/js/translated/order.js:306 templates/js/translated/stock.js:991 -#: templates/js/translated/stock.js:1589 +#: templates/js/translated/order.js:637 templates/js/translated/stock.js:970 +#: templates/js/translated/stock.js:1568 msgid "Purchase Order" msgstr "" -#: order/models.py:773 +#: order/models.py:781 msgid "Supplier part" msgstr "" -#: order/models.py:780 order/templates/order/order_base.html:131 -#: order/templates/order/receive_parts.html:22 -#: order/templates/order/sales_order_base.html:133 -#: templates/js/translated/order.js:573 +#: order/models.py:788 order/templates/order/order_base.html:131 +#: order/templates/order/sales_order_base.html:138 +#: templates/js/translated/order.js:428 templates/js/translated/order.js:919 msgid "Received" msgstr "" -#: order/models.py:781 +#: order/models.py:789 msgid "Number of items received" msgstr "" -#: order/models.py:788 part/templates/part/prices.html:176 stock/models.py:588 -#: stock/serializers.py:147 stock/templates/stock/item_base.html:345 -#: templates/js/translated/stock.js:1045 +#: order/models.py:796 part/templates/part/prices.html:176 stock/models.py:588 +#: stock/serializers.py:150 stock/templates/stock/item_base.html:345 +#: templates/js/translated/stock.js:1024 msgid "Purchase Price" msgstr "" -#: order/models.py:789 +#: order/models.py:797 msgid "Unit purchase price" msgstr "" -#: order/models.py:797 +#: order/models.py:805 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:843 part/templates/part/part_pricing.html:112 +#: order/models.py:857 part/templates/part/part_pricing.html:112 #: part/templates/part/prices.html:116 part/templates/part/prices.html:284 msgid "Sale Price" msgstr "" -#: order/models.py:844 +#: order/models.py:858 msgid "Unit sale price" msgstr "" -#: order/models.py:923 order/models.py:925 +#: order/models.py:937 order/models.py:939 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:929 +#: order/models.py:943 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:931 +#: order/models.py:945 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:934 +#: order/models.py:948 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:944 +#: order/models.py:952 +msgid "StockItem is over-allocated" +msgstr "" + +#: order/models.py:958 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:949 +#: order/models.py:966 msgid "Line" msgstr "" -#: order/models.py:960 +#: order/models.py:978 msgid "Item" msgstr "" -#: order/models.py:961 +#: order/models.py:979 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:964 +#: order/models.py:982 msgid "Enter stock allocation quantity" msgstr "" -#: order/serializers.py:166 +#: order/serializers.py:167 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:201 +#: order/serializers.py:202 msgid "Line Item" msgstr "" -#: order/serializers.py:207 +#: order/serializers.py:208 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:217 order/serializers.py:276 +#: order/serializers.py:218 order/serializers.py:285 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:234 +#: order/serializers.py:242 msgid "Barcode Hash" msgstr "" -#: order/serializers.py:235 +#: order/serializers.py:243 msgid "Unique identifier field" msgstr "" -#: order/serializers.py:250 +#: order/serializers.py:259 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:289 +#: order/serializers.py:297 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:299 +#: order/serializers.py:314 +msgid "Destination location must be specified" +msgstr "" + +#: order/serializers.py:325 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:514 +#: order/serializers.py:569 msgid "Sale price currency" msgstr "" @@ -3307,31 +3343,32 @@ msgstr "" msgid "Print" msgstr "" -#: order/templates/order/order_base.html:43 -#: order/templates/order/sales_order_base.html:54 +#: order/templates/order/order_base.html:42 +#: order/templates/order/sales_order_base.html:53 +msgid "Export order to file" +msgstr "" + +#: order/templates/order/order_base.html:46 +#: order/templates/order/sales_order_base.html:57 msgid "Edit order information" msgstr "" -#: order/templates/order/order_base.html:51 +#: order/templates/order/order_base.html:54 msgid "Receive items" msgstr "" -#: order/templates/order/order_base.html:64 -msgid "Export order to file" -msgstr "" - #: order/templates/order/order_base.html:72 #: order/templates/order/po_navbar.html:12 msgid "Purchase Order Details" msgstr "" #: order/templates/order/order_base.html:77 -#: order/templates/order/sales_order_base.html:79 +#: order/templates/order/sales_order_base.html:84 msgid "Order Reference" msgstr "" #: order/templates/order/order_base.html:82 -#: order/templates/order/sales_order_base.html:84 +#: order/templates/order/sales_order_base.html:89 msgid "Order Status" msgstr "" @@ -3344,16 +3381,6 @@ msgstr "" msgid "Edit Purchase Order" msgstr "" -#: order/templates/order/order_base.html:196 -#: stock/templates/stock/location.html:250 templates/js/translated/order.js:437 -msgid "New Location" -msgstr "" - -#: order/templates/order/order_base.html:197 -#: stock/templates/stock/location.html:42 templates/js/translated/order.js:438 -msgid "Create new stock location" -msgstr "" - #: order/templates/order/order_cancel.html:8 msgid "Cancelling this order means that the order and line items will no longer be editable." msgstr "" @@ -3426,6 +3453,7 @@ msgstr "" #: part/templates/part/import_wizard/ajax_match_references.html:42 #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 +#: templates/js/translated/build.js:869 templates/js/translated/order.js:376 msgid "Remove row" msgstr "" @@ -3502,7 +3530,7 @@ msgid "Select existing purchase orders, or create new orders." msgstr "" #: order/templates/order/order_wizard/select_pos.html:31 -#: templates/js/translated/order.js:363 templates/js/translated/order.js:738 +#: templates/js/translated/order.js:694 templates/js/translated/order.js:1084 msgid "Items" msgstr "" @@ -3522,7 +3550,7 @@ msgstr "" #: order/templates/order/po_attachments.html:12 #: order/templates/order/po_navbar.html:32 -#: order/templates/order/purchase_order_detail.html:47 +#: order/templates/order/purchase_order_detail.html:56 msgid "Purchase Order Attachments" msgstr "" @@ -3532,7 +3560,7 @@ msgstr "" #: order/templates/order/po_navbar.html:29 #: order/templates/order/po_received_items.html:12 -#: order/templates/order/purchase_order_detail.html:38 +#: order/templates/order/purchase_order_detail.html:47 msgid "Received Items" msgstr "" @@ -3540,14 +3568,22 @@ msgstr "" msgid "Purchase Order Items" msgstr "" -#: order/templates/order/purchase_order_detail.html:23 -#: order/templates/order/purchase_order_detail.html:203 +#: order/templates/order/purchase_order_detail.html:24 +#: order/templates/order/purchase_order_detail.html:212 #: order/templates/order/sales_order_detail.html:23 #: order/templates/order/sales_order_detail.html:177 msgid "Add Line Item" msgstr "" -#: order/templates/order/purchase_order_detail.html:58 +#: order/templates/order/purchase_order_detail.html:30 +msgid "Receive selected items" +msgstr "" + +#: order/templates/order/purchase_order_detail.html:31 +msgid "Receive Items" +msgstr "" + +#: order/templates/order/purchase_order_detail.html:67 #: order/templates/order/sales_order_detail.html:54 msgid "Order Notes" msgstr "" @@ -3557,67 +3593,24 @@ msgstr "" msgid "Print Order Reports" msgstr "" -#: order/templates/order/receive_parts.html:8 -#, python-format -msgid "Receive outstanding parts for %(order)s - %(desc)s" -msgstr "" - -#: order/templates/order/receive_parts.html:14 part/api.py:54 -#: part/models.py:298 part/templates/part/cat_link.html:7 -#: part/templates/part/category.html:108 part/templates/part/category.html:122 -#: part/templates/part/category_navbar.html:21 -#: part/templates/part/category_navbar.html:24 -#: templates/InvenTree/index.html:102 templates/InvenTree/search.html:114 -#: templates/InvenTree/settings/navbar.html:83 -#: templates/InvenTree/settings/navbar.html:85 -#: templates/js/translated/part.js:1154 templates/navbar.html:29 -#: templates/stats.html:80 templates/stats.html:89 users/models.py:41 -msgid "Parts" -msgstr "" - -#: order/templates/order/receive_parts.html:15 -msgid "Fill out number of parts received, the status and destination" -msgstr "" - -#: order/templates/order/receive_parts.html:20 -msgid "Order Code" -msgstr "" - -#: order/templates/order/receive_parts.html:21 -#: part/templates/part/part_base.html:167 templates/js/translated/part.js:949 -msgid "On Order" -msgstr "" - -#: order/templates/order/receive_parts.html:23 -msgid "Receive" -msgstr "" - -#: order/templates/order/receive_parts.html:37 -msgid "Error: Referenced part has been removed" -msgstr "" - -#: order/templates/order/receive_parts.html:68 -msgid "Remove line" -msgstr "" - #: order/templates/order/sales_order_base.html:16 msgid "This Sales Order has not been fully allocated" msgstr "" -#: order/templates/order/sales_order_base.html:66 +#: order/templates/order/sales_order_base.html:70 msgid "Packing List" msgstr "" -#: order/templates/order/sales_order_base.html:74 +#: order/templates/order/sales_order_base.html:79 msgid "Sales Order Details" msgstr "" -#: order/templates/order/sales_order_base.html:100 -#: templates/js/translated/order.js:705 +#: order/templates/order/sales_order_base.html:105 +#: templates/js/translated/order.js:1051 msgid "Customer Reference" msgstr "" -#: order/templates/order/sales_order_base.html:178 +#: order/templates/order/sales_order_base.html:183 msgid "Edit Sales Order" msgstr "" @@ -3636,105 +3629,6 @@ msgstr "" msgid "Sales Order Items" msgstr "" -#: order/templates/order/sales_order_detail.html:226 -#: templates/js/translated/bom.js:394 templates/js/translated/build.js:782 -#: templates/js/translated/build.js:1219 -msgid "Actions" -msgstr "" - -#: order/templates/order/sales_order_detail.html:233 -#: templates/js/translated/build.js:668 templates/js/translated/build.js:1030 -msgid "Edit stock allocation" -msgstr "" - -#: order/templates/order/sales_order_detail.html:234 -#: templates/js/translated/build.js:670 templates/js/translated/build.js:1031 -msgid "Delete stock allocation" -msgstr "" - -#: order/templates/order/sales_order_detail.html:307 -msgid "No matching line items" -msgstr "" - -#: order/templates/order/sales_order_detail.html:337 -msgid "ID" -msgstr "" - -#: order/templates/order/sales_order_detail.html:354 -#: templates/js/translated/order.js:481 -msgid "Total" -msgstr "" - -#: order/templates/order/sales_order_detail.html:377 -#: templates/js/translated/order.js:534 templates/js/translated/part.js:1296 -#: templates/js/translated/part.js:1507 -msgid "Unit Price" -msgstr "" - -#: order/templates/order/sales_order_detail.html:384 -#: templates/js/translated/order.js:543 -msgid "Total price" -msgstr "" - -#: order/templates/order/sales_order_detail.html:405 -#: templates/js/translated/build.js:733 templates/js/translated/build.js:1026 -msgid "Allocated" -msgstr "" - -#: order/templates/order/sales_order_detail.html:407 -msgid "Fulfilled" -msgstr "" - -#: order/templates/order/sales_order_detail.html:444 -msgid "PO" -msgstr "" - -#: order/templates/order/sales_order_detail.html:474 -msgid "Allocate serial numbers" -msgstr "" - -#: order/templates/order/sales_order_detail.html:477 -#: templates/js/translated/build.js:796 -msgid "Allocate stock" -msgstr "" - -#: order/templates/order/sales_order_detail.html:480 -msgid "Purchase stock" -msgstr "" - -#: order/templates/order/sales_order_detail.html:484 -#: templates/js/translated/build.js:789 templates/js/translated/build.js:1227 -msgid "Build stock" -msgstr "" - -#: order/templates/order/sales_order_detail.html:487 -#: order/templates/order/sales_order_detail.html:606 -msgid "Calculate price" -msgstr "" - -#: order/templates/order/sales_order_detail.html:490 -#: templates/js/translated/order.js:616 -msgid "Edit line item" -msgstr "" - -#: order/templates/order/sales_order_detail.html:491 -msgid "Delete line item " -msgstr "" - -#: order/templates/order/sales_order_detail.html:519 -#: templates/js/translated/order.js:403 -msgid "Edit Line Item" -msgstr "" - -#: order/templates/order/sales_order_detail.html:529 -#: templates/js/translated/order.js:415 -msgid "Delete Line Item" -msgstr "" - -#: order/templates/order/sales_order_detail.html:612 -msgid "Update Unit Price" -msgstr "" - #: order/templates/order/sales_order_ship.html:10 msgid "This order has not been fully allocated. If the order is marked as shipped, it can no longer be adjusted." msgstr "" @@ -3759,10 +3653,6 @@ msgstr "" msgid "Allocate stock items by serial number" msgstr "" -#: order/templates/order/so_allocation_delete.html:7 -msgid "This action will unallocate the following stock from the Sales Order" -msgstr "" - #: order/templates/order/so_navbar.html:12 msgid "Sales Order Line Items" msgstr "" @@ -3775,149 +3665,129 @@ msgstr "" msgid "Sales Order Attachments" msgstr "" -#: order/views.py:104 +#: order/views.py:103 msgid "Cancel Order" msgstr "" -#: order/views.py:113 order/views.py:139 +#: order/views.py:112 order/views.py:138 msgid "Confirm order cancellation" msgstr "" -#: order/views.py:116 order/views.py:142 +#: order/views.py:115 order/views.py:141 msgid "Order cannot be cancelled" msgstr "" -#: order/views.py:130 +#: order/views.py:129 msgid "Cancel sales order" msgstr "" -#: order/views.py:156 +#: order/views.py:155 msgid "Issue Order" msgstr "" -#: order/views.py:165 +#: order/views.py:164 msgid "Confirm order placement" msgstr "" -#: order/views.py:175 +#: order/views.py:174 msgid "Purchase order issued" msgstr "" -#: order/views.py:186 +#: order/views.py:185 msgid "Complete Order" msgstr "" -#: order/views.py:202 +#: order/views.py:201 msgid "Confirm order completion" msgstr "" -#: order/views.py:213 +#: order/views.py:212 msgid "Purchase order completed" msgstr "" -#: order/views.py:223 +#: order/views.py:222 msgid "Ship Order" msgstr "" -#: order/views.py:239 +#: order/views.py:238 msgid "Confirm order shipment" msgstr "" -#: order/views.py:245 +#: order/views.py:244 msgid "Could not ship order" msgstr "" -#: order/views.py:292 +#: order/views.py:291 msgid "Match Supplier Parts" msgstr "" -#: order/views.py:480 -msgid "Receive Parts" -msgstr "" - -#: order/views.py:552 -msgid "Items received" -msgstr "" - -#: order/views.py:620 -msgid "Error converting quantity to number" -msgstr "" - -#: order/views.py:626 -msgid "Receive quantity less than zero" -msgstr "" - -#: order/views.py:632 -msgid "No lines specified" -msgstr "" - -#: order/views.py:705 +#: order/views.py:535 msgid "Update prices" msgstr "" -#: order/views.py:963 +#: order/views.py:793 #, python-brace-format msgid "Ordered {n} parts" msgstr "" -#: order/views.py:1016 +#: order/views.py:846 msgid "Allocate Serial Numbers" msgstr "" -#: order/views.py:1061 +#: order/views.py:891 #, python-brace-format msgid "Allocated {n} items" msgstr "" -#: order/views.py:1077 +#: order/views.py:907 msgid "Select line item" msgstr "" -#: order/views.py:1108 +#: order/views.py:938 #, python-brace-format msgid "No matching item for serial {serial}" msgstr "" -#: order/views.py:1118 +#: order/views.py:948 #, python-brace-format msgid "{serial} is not in stock" msgstr "" -#: order/views.py:1126 +#: order/views.py:956 #, python-brace-format msgid "{serial} already allocated to an order" msgstr "" -#: order/views.py:1180 -msgid "Allocate Stock to Order" -msgstr "" - -#: order/views.py:1254 -msgid "Edit Allocation Quantity" -msgstr "" - -#: order/views.py:1269 -msgid "Remove allocation" -msgstr "" - -#: order/views.py:1341 +#: order/views.py:1072 msgid "Sales order not found" msgstr "" -#: order/views.py:1347 +#: order/views.py:1078 msgid "Price not found" msgstr "" -#: order/views.py:1350 +#: order/views.py:1081 #, python-brace-format msgid "Updated {part} unit-price to {price}" msgstr "" -#: order/views.py:1355 +#: order/views.py:1086 #, python-brace-format msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" +#: part/api.py:54 part/models.py:299 part/templates/part/cat_link.html:7 +#: part/templates/part/category.html:108 part/templates/part/category.html:122 +#: part/templates/part/category_navbar.html:21 +#: part/templates/part/category_navbar.html:24 +#: templates/InvenTree/index.html:102 templates/InvenTree/search.html:114 +#: templates/InvenTree/settings/navbar.html:95 +#: templates/InvenTree/settings/navbar.html:97 +#: templates/js/translated/part.js:1165 templates/navbar.html:29 +#: templates/stats.html:80 templates/stats.html:89 users/models.py:41 +msgid "Parts" +msgstr "" + #: part/api.py:700 msgid "Must be greater than zero" msgstr "" @@ -3934,7 +3804,7 @@ msgstr "" msgid "This field is required" msgstr "" -#: part/bom.py:133 part/models.py:75 part/models.py:733 +#: part/bom.py:133 part/models.py:76 part/models.py:734 #: part/templates/part/category.html:75 part/templates/part/part_base.html:290 msgid "Default Location" msgstr "" @@ -3999,7 +3869,7 @@ msgstr "" msgid "Include part supplier data in exported BOM" msgstr "" -#: part/forms.py:96 part/models.py:2250 +#: part/forms.py:96 part/models.py:2254 msgid "Parent Part" msgstr "" @@ -4043,391 +3913,387 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:76 +#: part/models.py:77 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:79 +#: part/models.py:80 msgid "Default keywords" msgstr "" -#: part/models.py:79 +#: part/models.py:80 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:89 part/models.py:2296 +#: part/models.py:90 part/models.py:2300 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:90 part/templates/part/category.html:32 +#: part/models.py:91 part/templates/part/category.html:32 #: part/templates/part/category.html:103 templates/InvenTree/search.html:127 #: templates/stats.html:84 users/models.py:40 msgid "Part Categories" msgstr "" -#: part/models.py:383 +#: part/models.py:384 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:435 part/models.py:447 +#: part/models.py:436 part/models.py:448 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:544 +#: part/models.py:545 msgid "Next available serial numbers are" msgstr "" -#: part/models.py:548 +#: part/models.py:549 msgid "Next available serial number is" msgstr "" -#: part/models.py:553 +#: part/models.py:554 msgid "Most recent serial number is" msgstr "" -#: part/models.py:632 +#: part/models.py:633 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:657 +#: part/models.py:658 msgid "Part name" msgstr "" -#: part/models.py:664 +#: part/models.py:665 msgid "Is Template" msgstr "" -#: part/models.py:665 +#: part/models.py:666 msgid "Is this part a template part?" msgstr "" -#: part/models.py:675 +#: part/models.py:676 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:676 +#: part/models.py:677 msgid "Variant Of" msgstr "" -#: part/models.py:682 +#: part/models.py:683 msgid "Part description" msgstr "" -#: part/models.py:687 part/templates/part/category.html:82 +#: part/models.py:688 part/templates/part/category.html:82 #: part/templates/part/part_base.html:259 msgid "Keywords" msgstr "" -#: part/models.py:688 +#: part/models.py:689 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:695 part/models.py:2295 +#: part/models.py:696 part/models.py:2299 #: part/templates/part/set_category.html:15 -#: templates/InvenTree/settings/settings.html:167 -#: templates/js/translated/part.js:916 +#: templates/InvenTree/settings/settings.html:169 +#: templates/js/translated/part.js:927 msgid "Category" msgstr "" -#: part/models.py:696 +#: part/models.py:697 msgid "Part category" msgstr "" -#: part/models.py:701 part/templates/part/part_base.html:235 -#: templates/js/translated/part.js:517 templates/js/translated/part.js:749 +#: part/models.py:702 part/templates/part/part_base.html:235 +#: templates/js/translated/part.js:528 templates/js/translated/part.js:760 msgid "IPN" msgstr "" -#: part/models.py:702 +#: part/models.py:703 msgid "Internal Part Number" msgstr "" -#: part/models.py:708 +#: part/models.py:709 msgid "Part revision or version number" msgstr "" -#: part/models.py:709 part/templates/part/part_base.html:252 -#: report/models.py:200 templates/js/translated/part.js:521 +#: part/models.py:710 part/templates/part/part_base.html:252 +#: report/models.py:200 templates/js/translated/part.js:532 msgid "Revision" msgstr "" -#: part/models.py:731 +#: part/models.py:732 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:778 part/templates/part/part_base.html:297 +#: part/models.py:779 part/templates/part/part_base.html:297 msgid "Default Supplier" msgstr "" -#: part/models.py:779 +#: part/models.py:780 msgid "Default supplier part" msgstr "" -#: part/models.py:786 +#: part/models.py:787 msgid "Default Expiry" msgstr "" -#: part/models.py:787 +#: part/models.py:788 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:792 +#: part/models.py:793 msgid "Minimum Stock" msgstr "" -#: part/models.py:793 +#: part/models.py:794 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:800 +#: part/models.py:801 msgid "Stock keeping units for this part" msgstr "" -#: part/models.py:806 +#: part/models.py:807 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:812 +#: part/models.py:813 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:818 +#: part/models.py:819 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:823 +#: part/models.py:824 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:828 +#: part/models.py:829 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:832 templates/js/translated/table_filters.js:34 +#: part/models.py:833 templates/js/translated/table_filters.js:34 #: templates/js/translated/table_filters.js:82 #: templates/js/translated/table_filters.js:268 -#: templates/js/translated/table_filters.js:337 +#: templates/js/translated/table_filters.js:346 msgid "Active" msgstr "" -#: part/models.py:833 +#: part/models.py:834 msgid "Is this part active?" msgstr "" -#: part/models.py:838 +#: part/models.py:839 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:843 +#: part/models.py:844 msgid "Part notes - supports Markdown formatting" msgstr "" -#: part/models.py:846 +#: part/models.py:847 msgid "BOM checksum" msgstr "" -#: part/models.py:846 +#: part/models.py:847 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:849 +#: part/models.py:850 msgid "BOM checked by" msgstr "" -#: part/models.py:851 +#: part/models.py:852 msgid "BOM checked date" msgstr "" -#: part/models.py:855 +#: part/models.py:856 msgid "Creation User" msgstr "" -#: part/models.py:1601 +#: part/models.py:1605 msgid "Sell multiple" msgstr "" -#: part/models.py:2096 +#: part/models.py:2100 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:2113 +#: part/models.py:2117 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:2133 templates/js/translated/part.js:1205 -#: templates/js/translated/stock.js:556 +#: part/models.py:2137 templates/js/translated/part.js:1216 +#: templates/js/translated/stock.js:535 msgid "Test Name" msgstr "" -#: part/models.py:2134 +#: part/models.py:2138 msgid "Enter a name for the test" msgstr "" -#: part/models.py:2139 +#: part/models.py:2143 msgid "Test Description" msgstr "" -#: part/models.py:2140 +#: part/models.py:2144 msgid "Enter description for this test" msgstr "" -#: part/models.py:2145 templates/js/translated/part.js:1214 +#: part/models.py:2149 templates/js/translated/part.js:1225 #: templates/js/translated/table_filters.js:254 msgid "Required" msgstr "" -#: part/models.py:2146 +#: part/models.py:2150 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:2151 templates/js/translated/part.js:1222 +#: part/models.py:2155 templates/js/translated/part.js:1233 msgid "Requires Value" msgstr "" -#: part/models.py:2152 +#: part/models.py:2156 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:2157 templates/js/translated/part.js:1229 +#: part/models.py:2161 templates/js/translated/part.js:1240 msgid "Requires Attachment" msgstr "" -#: part/models.py:2158 +#: part/models.py:2162 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:2169 +#: part/models.py:2173 #, python-brace-format msgid "Illegal character in template name ({c})" msgstr "" -#: part/models.py:2205 +#: part/models.py:2209 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:2213 +#: part/models.py:2217 msgid "Parameter Name" msgstr "" -#: part/models.py:2220 +#: part/models.py:2224 msgid "Parameter Units" msgstr "" -#: part/models.py:2252 part/models.py:2301 part/models.py:2302 -#: templates/InvenTree/settings/settings.html:162 +#: part/models.py:2256 part/models.py:2305 part/models.py:2306 +#: templates/InvenTree/settings/settings.html:164 msgid "Parameter Template" msgstr "" -#: part/models.py:2254 +#: part/models.py:2258 msgid "Data" msgstr "" -#: part/models.py:2254 +#: part/models.py:2258 msgid "Parameter Value" msgstr "" -#: part/models.py:2306 templates/InvenTree/settings/settings.html:171 +#: part/models.py:2310 templates/InvenTree/settings/settings.html:173 msgid "Default Value" msgstr "" -#: part/models.py:2307 +#: part/models.py:2311 msgid "Default Parameter Value" msgstr "" -#: part/models.py:2341 +#: part/models.py:2362 msgid "Select parent part" msgstr "" -#: part/models.py:2349 +#: part/models.py:2370 msgid "Sub part" msgstr "" -#: part/models.py:2350 +#: part/models.py:2371 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:2356 +#: part/models.py:2377 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:2358 templates/js/translated/bom.js:256 -#: templates/js/translated/bom.js:314 +#: part/models.py:2379 templates/js/translated/bom.js:275 +#: templates/js/translated/bom.js:335 msgid "Optional" msgstr "" -#: part/models.py:2358 +#: part/models.py:2379 msgid "This BOM item is optional" msgstr "" -#: part/models.py:2361 +#: part/models.py:2382 msgid "Overage" msgstr "" -#: part/models.py:2362 +#: part/models.py:2383 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:2365 +#: part/models.py:2386 msgid "BOM item reference" msgstr "" -#: part/models.py:2368 +#: part/models.py:2389 msgid "BOM item notes" msgstr "" -#: part/models.py:2370 +#: part/models.py:2391 msgid "Checksum" msgstr "" -#: part/models.py:2370 +#: part/models.py:2391 msgid "BOM line checksum" msgstr "" -#: part/models.py:2374 templates/js/translated/bom.js:331 -#: templates/js/translated/bom.js:338 +#: part/models.py:2395 templates/js/translated/bom.js:352 +#: templates/js/translated/bom.js:359 #: templates/js/translated/table_filters.js:68 msgid "Inherited" msgstr "" -#: part/models.py:2375 +#: part/models.py:2396 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:2380 templates/js/translated/bom.js:323 +#: part/models.py:2401 templates/js/translated/bom.js:344 msgid "Allow Variants" msgstr "" -#: part/models.py:2381 +#: part/models.py:2402 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:2466 stock/models.py:341 +#: part/models.py:2487 stock/models.py:341 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:2475 part/models.py:2477 +#: part/models.py:2496 part/models.py:2498 msgid "Sub part must be specified" msgstr "" -#: part/models.py:2480 -msgid "BOM Item" -msgstr "" - -#: part/models.py:2599 +#: part/models.py:2620 msgid "Part 1" msgstr "" -#: part/models.py:2603 +#: part/models.py:2624 msgid "Part 2" msgstr "" -#: part/models.py:2603 +#: part/models.py:2624 msgid "Select Related Part" msgstr "" -#: part/models.py:2635 +#: part/models.py:2656 msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique" msgstr "" @@ -4578,7 +4444,7 @@ msgstr "" msgid "Create new part" msgstr "" -#: part/templates/part/category.html:131 +#: part/templates/part/category.html:131 templates/js/translated/bom.js:39 msgid "New Part" msgstr "" @@ -4658,7 +4524,7 @@ msgstr "" msgid "Import Parts" msgstr "" -#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:352 +#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:363 msgid "Duplicate Part" msgstr "" @@ -4785,34 +4651,26 @@ msgstr "" msgid "Add Test Result Template" msgstr "" -#: part/templates/part/detail.html:716 -msgid "Edit Test Result Template" -msgstr "" - -#: part/templates/part/detail.html:728 -msgid "Delete Test Result Template" -msgstr "" - -#: part/templates/part/detail.html:784 +#: part/templates/part/detail.html:755 msgid "Edit Part Notes" msgstr "" -#: part/templates/part/detail.html:936 +#: part/templates/part/detail.html:907 #, python-format msgid "Purchase Unit Price - %(currency)s" msgstr "" -#: part/templates/part/detail.html:948 +#: part/templates/part/detail.html:919 #, python-format msgid "Unit Price-Cost Difference - %(currency)s" msgstr "" -#: part/templates/part/detail.html:960 +#: part/templates/part/detail.html:931 #, python-format msgid "Supplier Unit Cost - %(currency)s" msgstr "" -#: part/templates/part/detail.html:1049 +#: part/templates/part/detail.html:1020 #, python-format msgid "Unit Price - %(currency)s" msgstr "" @@ -4874,9 +4732,9 @@ msgstr "" msgid "Part is virtual (not a physical part)" msgstr "" -#: part/templates/part/part_base.html:58 templates/js/translated/company.js:503 -#: templates/js/translated/company.js:759 templates/js/translated/part.js:432 -#: templates/js/translated/part.js:509 +#: part/templates/part/part_base.html:58 templates/js/translated/company.js:504 +#: templates/js/translated/company.js:761 templates/js/translated/part.js:443 +#: templates/js/translated/part.js:520 msgid "Inactive" msgstr "" @@ -4942,10 +4800,16 @@ msgid "This part is a variant of %(link)s" msgstr "" #: part/templates/part/part_base.html:161 +#: templates/js/translated/model_renderers.js:169 +#: templates/js/translated/order.js:1503 #: templates/js/translated/table_filters.js:166 msgid "In Stock" msgstr "" +#: part/templates/part/part_base.html:167 templates/js/translated/part.js:960 +msgid "On Order" +msgstr "" + #: part/templates/part/part_base.html:174 templates/InvenTree/index.html:186 msgid "Required for Build Orders" msgstr "" @@ -4958,18 +4822,18 @@ msgstr "" msgid "Allocated to Orders" msgstr "" -#: part/templates/part/part_base.html:203 templates/js/translated/bom.js:352 +#: part/templates/part/part_base.html:203 templates/js/translated/bom.js:373 msgid "Can Build" msgstr "" -#: part/templates/part/part_base.html:209 templates/js/translated/part.js:765 -#: templates/js/translated/part.js:953 +#: part/templates/part/part_base.html:209 templates/js/translated/part.js:776 +#: templates/js/translated/part.js:964 msgid "Building" msgstr "" #: part/templates/part/part_base.html:223 -#: part/templates/part/part_base.html:524 -#: part/templates/part/part_base.html:550 +#: part/templates/part/part_base.html:531 +#: part/templates/part/part_base.html:557 msgid "Show Part Details" msgstr "" @@ -4977,16 +4841,16 @@ msgstr "" msgid "Latest Serial Number" msgstr "" -#: part/templates/part/part_base.html:396 part/templates/part/prices.html:144 +#: part/templates/part/part_base.html:402 part/templates/part/prices.html:144 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:439 +#: part/templates/part/part_base.html:445 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:519 -#: part/templates/part/part_base.html:544 +#: part/templates/part/part_base.html:526 +#: part/templates/part/part_base.html:551 msgid "Hide Part Details" msgstr "" @@ -5013,7 +4877,7 @@ msgid "Total Cost" msgstr "" #: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:40 -#: templates/js/translated/bom.js:307 +#: templates/js/translated/bom.js:327 msgid "No supplier pricing available" msgstr "" @@ -5051,32 +4915,39 @@ msgstr "" msgid "Select from existing images" msgstr "" -#: part/templates/part/partial_delete.html:7 +#: part/templates/part/partial_delete.html:9 +#, python-format +msgid "Part '%(full_name)s' cannot be deleted as it is still marked as active.\n" +"
Disable the \"Active\" part attribute and re-try.\n" +" " +msgstr "" + +#: part/templates/part/partial_delete.html:17 #, python-format msgid "Are you sure you want to delete part '%(full_name)s'?" msgstr "" -#: part/templates/part/partial_delete.html:12 +#: part/templates/part/partial_delete.html:22 #, python-format msgid "This part is used in BOMs for %(count)s other parts. If you delete this part, the BOMs for the following parts will be updated" msgstr "" -#: part/templates/part/partial_delete.html:22 +#: part/templates/part/partial_delete.html:32 #, python-format msgid "There are %(count)s stock entries defined for this part. If you delete this part, the following stock entries will also be deleted:" msgstr "" -#: part/templates/part/partial_delete.html:33 +#: part/templates/part/partial_delete.html:43 #, python-format msgid "There are %(count)s manufacturers defined for this part. If you delete this part, the following manufacturer parts will also be deleted:" msgstr "" -#: part/templates/part/partial_delete.html:44 +#: part/templates/part/partial_delete.html:54 #, python-format msgid "There are %(count)s suppliers defined for this part. If you delete this part, the following supplier parts will also be deleted:" msgstr "" -#: part/templates/part/partial_delete.html:55 +#: part/templates/part/partial_delete.html:65 #, python-format msgid "There are %(count)s unique parts tracked for '%(full_name)s'. Deleting this part will permanently remove this tracking information." msgstr "" @@ -5109,7 +4980,7 @@ msgstr "" msgid "Calculation parameters" msgstr "" -#: part/templates/part/prices.html:155 templates/js/translated/bom.js:301 +#: part/templates/part/prices.html:155 templates/js/translated/bom.js:321 msgid "Supplier Cost" msgstr "" @@ -5151,8 +5022,9 @@ msgstr "" msgid "Set category for the following parts" msgstr "" -#: part/templates/part/stock_count.html:7 templates/js/translated/bom.js:278 -#: templates/js/translated/part.js:755 templates/js/translated/part.js:957 +#: part/templates/part/stock_count.html:7 templates/js/translated/bom.js:297 +#: templates/js/translated/model_renderers.js:167 +#: templates/js/translated/part.js:766 templates/js/translated/part.js:968 msgid "No Stock" msgstr "" @@ -5262,7 +5134,7 @@ msgstr "" msgid "Delete Part Parameter Template" msgstr "" -#: part/views.py:1502 templates/js/translated/part.js:303 +#: part/views.py:1502 templates/js/translated/part.js:308 msgid "Edit Part Category" msgstr "" @@ -5400,17 +5272,17 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:88 -#: stock/models.py:1807 +#: stock/models.py:1804 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:89 -#: stock/models.py:1813 +#: stock/models.py:1810 msgid "Result" msgstr "" #: report/templates/report/inventree_test_report_base.html:92 -#: templates/js/translated/order.js:353 templates/js/translated/stock.js:1523 +#: templates/js/translated/order.js:684 templates/js/translated/stock.js:1502 msgid "Date" msgstr "" @@ -5422,51 +5294,9 @@ msgstr "" msgid "Fail" msgstr "" -#: stock/api.py:146 -msgid "Request must contain list of stock items" -msgstr "" - -#: stock/api.py:154 -msgid "Improperly formatted data" -msgstr "" - -#: stock/api.py:162 -msgid "Each entry must contain a valid integer primary-key" -msgstr "" - -#: stock/api.py:168 -msgid "Primary key does not match valid stock item" -msgstr "" - -#: stock/api.py:178 -msgid "Invalid quantity value" -msgstr "" - -#: stock/api.py:183 -msgid "Quantity must not be less than zero" -msgstr "" - -#: stock/api.py:211 -#, python-brace-format -msgid "Updated stock for {n} items" -msgstr "" - -#: stock/api.py:247 stock/api.py:280 -msgid "Specified quantity exceeds stock quantity" -msgstr "" - -#: stock/api.py:270 -msgid "Valid location must be specified" -msgstr "" - -#: stock/api.py:290 -#, python-brace-format -msgid "Moved {n} parts to {loc}" -msgstr "" - #: stock/forms.py:79 stock/forms.py:307 stock/models.py:556 #: stock/templates/stock/item_base.html:395 -#: templates/js/translated/stock.js:967 +#: templates/js/translated/stock.js:946 msgid "Expiry Date" msgstr "" @@ -5678,38 +5508,54 @@ msgstr "" msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:1727 +#: stock/models.py:1724 msgid "Entry notes" msgstr "" -#: stock/models.py:1784 +#: stock/models.py:1781 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:1790 +#: stock/models.py:1787 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:1808 +#: stock/models.py:1805 msgid "Test name" msgstr "" -#: stock/models.py:1814 templates/js/translated/table_filters.js:244 +#: stock/models.py:1811 templates/js/translated/table_filters.js:244 msgid "Test result" msgstr "" -#: stock/models.py:1820 +#: stock/models.py:1817 msgid "Test output value" msgstr "" -#: stock/models.py:1827 +#: stock/models.py:1824 msgid "Test result attachment" msgstr "" -#: stock/models.py:1833 +#: stock/models.py:1830 msgid "Test notes" msgstr "" +#: stock/serializers.py:424 +msgid "StockItem primary key value" +msgstr "" + +#: stock/serializers.py:452 +msgid "Stock transaction notes" +msgstr "" + +#: stock/serializers.py:462 +msgid "A list of stock items must be provided" +msgstr "" + +#: stock/serializers.py:554 +msgid "Destination stock location" +msgstr "" + #: stock/templates/stock/item.html:17 msgid "Stock Tracking Information" msgstr "" @@ -5747,7 +5593,7 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:125 stock/views.py:534 +#: stock/templates/stock/item.html:125 stock/views.py:511 msgid "Install Stock Item" msgstr "" @@ -5910,7 +5756,7 @@ msgid "next page" msgstr "" #: stock/templates/stock/item_base.html:303 -#: templates/js/translated/build.js:651 +#: templates/js/translated/build.js:658 msgid "No location set" msgstr "" @@ -5937,7 +5783,7 @@ msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:408 -#: templates/js/translated/stock.js:980 +#: templates/js/translated/stock.js:959 msgid "Last Updated" msgstr "" @@ -6019,6 +5865,10 @@ msgstr "" msgid "All stock items" msgstr "" +#: stock/templates/stock/location.html:42 +msgid "Create new stock location" +msgstr "" + #: stock/templates/stock/location.html:55 msgid "Check-in Items" msgstr "" @@ -6058,7 +5908,7 @@ msgstr "" msgid "Stock Details" msgstr "" -#: stock/templates/stock/location.html:129 templates/InvenTree/search.html:279 +#: stock/templates/stock/location.html:129 templates/InvenTree/search.html:196 #: templates/stats.html:97 users/models.py:42 msgid "Stock Locations" msgstr "" @@ -6071,6 +5921,10 @@ msgstr "" msgid "Print labels" msgstr "" +#: stock/templates/stock/location.html:250 +msgid "New Location" +msgstr "" + #: stock/templates/stock/location.html:251 msgid "Create new location" msgstr "" @@ -6111,7 +5965,7 @@ msgstr "" msgid "The following stock items will be uninstalled" msgstr "" -#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:932 +#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:909 msgid "Convert Stock Item" msgstr "" @@ -6132,104 +5986,104 @@ msgstr "" msgid "Are you sure you want to delete this stock tracking entry?" msgstr "" -#: stock/views.py:181 +#: stock/views.py:158 msgid "Edit Stock Location" msgstr "" -#: stock/views.py:288 stock/views.py:911 stock/views.py:1033 -#: stock/views.py:1398 +#: stock/views.py:265 stock/views.py:888 stock/views.py:1010 +#: stock/views.py:1375 msgid "Owner is required (ownership control is enabled)" msgstr "" -#: stock/views.py:303 +#: stock/views.py:280 msgid "Stock Location QR code" msgstr "" -#: stock/views.py:322 +#: stock/views.py:299 msgid "Assign to Customer" msgstr "" -#: stock/views.py:331 +#: stock/views.py:308 msgid "Customer must be specified" msgstr "" -#: stock/views.py:355 +#: stock/views.py:332 msgid "Return to Stock" msgstr "" -#: stock/views.py:364 +#: stock/views.py:341 msgid "Specify a valid location" msgstr "" -#: stock/views.py:375 +#: stock/views.py:352 msgid "Stock item returned from customer" msgstr "" -#: stock/views.py:386 +#: stock/views.py:363 msgid "Delete All Test Data" msgstr "" -#: stock/views.py:403 +#: stock/views.py:380 msgid "Confirm test data deletion" msgstr "" -#: stock/views.py:508 +#: stock/views.py:485 msgid "Stock Item QR Code" msgstr "" -#: stock/views.py:683 +#: stock/views.py:660 msgid "Uninstall Stock Items" msgstr "" -#: stock/views.py:780 templates/js/translated/stock.js:353 +#: stock/views.py:757 templates/js/translated/stock.js:321 msgid "Confirm stock adjustment" msgstr "" -#: stock/views.py:791 +#: stock/views.py:768 msgid "Uninstalled stock items" msgstr "" -#: stock/views.py:813 +#: stock/views.py:790 msgid "Edit Stock Item" msgstr "" -#: stock/views.py:959 +#: stock/views.py:936 msgid "Create new Stock Location" msgstr "" -#: stock/views.py:1050 +#: stock/views.py:1027 msgid "Serialize Stock" msgstr "" -#: stock/views.py:1143 templates/js/translated/build.js:392 +#: stock/views.py:1120 msgid "Create new Stock Item" msgstr "" -#: stock/views.py:1285 +#: stock/views.py:1262 msgid "Duplicate Stock Item" msgstr "" -#: stock/views.py:1367 +#: stock/views.py:1344 msgid "Quantity cannot be negative" msgstr "" -#: stock/views.py:1467 +#: stock/views.py:1444 msgid "Delete Stock Location" msgstr "" -#: stock/views.py:1480 +#: stock/views.py:1457 msgid "Delete Stock Item" msgstr "" -#: stock/views.py:1491 +#: stock/views.py:1468 msgid "Delete Stock Tracking Entry" msgstr "" -#: stock/views.py:1498 +#: stock/views.py:1475 msgid "Edit Stock Tracking Entry" msgstr "" -#: stock/views.py:1507 +#: stock/views.py:1484 msgid "Add Stock Tracking Entry" msgstr "" @@ -6313,14 +6167,6 @@ msgstr "" msgid "Enter a search query" msgstr "" -#: templates/InvenTree/search.html:268 templates/js/translated/stock.js:699 -msgid "Shipped to customer" -msgstr "" - -#: templates/InvenTree/search.html:271 templates/js/translated/stock.js:709 -msgid "No stock location set" -msgstr "" - #: templates/InvenTree/settings/barcode.html:8 msgid "Barcode Settings" msgstr "" @@ -6365,6 +6211,14 @@ msgstr "" msgid "Setting" msgstr "" +#: templates/InvenTree/settings/login.html:9 +msgid "Login Settings" +msgstr "" + +#: templates/InvenTree/settings/login.html:22 templates/account/signup.html:5 +msgid "Signup" +msgstr "" + #: templates/InvenTree/settings/navbar.html:12 #: templates/InvenTree/settings/user_settings.html:9 msgid "User Settings" @@ -6382,7 +6236,7 @@ msgstr "" #: templates/InvenTree/settings/navbar.html:27 #: templates/InvenTree/settings/navbar.html:29 -#: templates/js/translated/tables.js:366 templates/search_form.html:6 +#: templates/js/translated/tables.js:375 templates/search_form.html:6 #: templates/search_form.html:8 msgid "Search" msgstr "" @@ -6397,38 +6251,48 @@ msgstr "" msgid "Reports" msgstr "" -#: templates/InvenTree/settings/navbar.html:46 -#: templates/InvenTree/settings/navbar.html:48 -#: templates/InvenTree/settings/settings.html:8 templates/navbar.html:94 +#: templates/InvenTree/settings/navbar.html:45 +#: templates/InvenTree/settings/navbar.html:47 +msgid "Forms" +msgstr "" + +#: templates/InvenTree/settings/navbar.html:52 +#: templates/InvenTree/settings/navbar.html:54 +#: templates/InvenTree/settings/settings.html:8 templates/navbar.html:90 msgid "Settings" msgstr "" -#: templates/InvenTree/settings/navbar.html:56 +#: templates/InvenTree/settings/navbar.html:62 msgid "InvenTree Settings" msgstr "" -#: templates/InvenTree/settings/navbar.html:59 -#: templates/InvenTree/settings/navbar.html:61 templates/stats.html:9 +#: templates/InvenTree/settings/navbar.html:65 +#: templates/InvenTree/settings/navbar.html:67 templates/stats.html:9 msgid "Server" msgstr "" -#: templates/InvenTree/settings/navbar.html:65 -#: templates/InvenTree/settings/navbar.html:67 -msgid "Barcodes" -msgstr "" - #: templates/InvenTree/settings/navbar.html:71 -#: templates/InvenTree/settings/navbar.html:73 -msgid "Currencies" +#: templates/InvenTree/settings/navbar.html:73 templates/navbar.html:87 +msgid "Login" msgstr "" #: templates/InvenTree/settings/navbar.html:77 #: templates/InvenTree/settings/navbar.html:79 -msgid "Reporting" +msgid "Barcodes" +msgstr "" + +#: templates/InvenTree/settings/navbar.html:83 +#: templates/InvenTree/settings/navbar.html:85 +msgid "Currencies" msgstr "" #: templates/InvenTree/settings/navbar.html:89 #: templates/InvenTree/settings/navbar.html:91 +msgid "Reporting" +msgstr "" + +#: templates/InvenTree/settings/navbar.html:101 +#: templates/InvenTree/settings/navbar.html:103 msgid "Categories" msgstr "" @@ -6469,21 +6333,21 @@ msgstr "" msgid "Edit setting" msgstr "" -#: templates/InvenTree/settings/settings.html:152 +#: templates/InvenTree/settings/settings.html:154 msgid "No category parameter templates found" msgstr "" -#: templates/InvenTree/settings/settings.html:174 -#: templates/InvenTree/settings/settings.html:273 +#: templates/InvenTree/settings/settings.html:176 +#: templates/InvenTree/settings/settings.html:275 msgid "Edit Template" msgstr "" -#: templates/InvenTree/settings/settings.html:175 -#: templates/InvenTree/settings/settings.html:274 +#: templates/InvenTree/settings/settings.html:177 +#: templates/InvenTree/settings/settings.html:276 msgid "Delete Template" msgstr "" -#: templates/InvenTree/settings/settings.html:253 +#: templates/InvenTree/settings/settings.html:255 msgid "No part parameter templates found" msgstr "" @@ -6495,70 +6359,140 @@ msgstr "" msgid "Stock Settings" msgstr "" -#: templates/InvenTree/settings/user.html:9 +#: templates/InvenTree/settings/user.html:11 msgid "Account Settings" msgstr "" -#: templates/InvenTree/settings/user.html:15 +#: templates/InvenTree/settings/user.html:19 #: templates/js/translated/helpers.js:26 msgid "Edit" msgstr "" -#: templates/InvenTree/settings/user.html:17 +#: templates/InvenTree/settings/user.html:21 +#: templates/account/password_reset_from_key.html:4 +#: templates/account/password_reset_from_key.html:7 msgid "Change Password" msgstr "" -#: templates/InvenTree/settings/user.html:24 -#: templates/registration/login.html:58 +#: templates/InvenTree/settings/user.html:28 msgid "Username" msgstr "" -#: templates/InvenTree/settings/user.html:28 +#: templates/InvenTree/settings/user.html:32 msgid "First Name" msgstr "" -#: templates/InvenTree/settings/user.html:32 +#: templates/InvenTree/settings/user.html:36 msgid "Last Name" msgstr "" -#: templates/InvenTree/settings/user.html:36 -msgid "Email Address" +#: templates/InvenTree/settings/user.html:42 +msgid "E-Mail" msgstr "" -#: templates/InvenTree/settings/user.html:42 -msgid "Theme Settings" +#: templates/InvenTree/settings/user.html:47 +msgid "The following e-mail addresses are associated with your account:" +msgstr "" + +#: templates/InvenTree/settings/user.html:61 +msgid "Verified" msgstr "" #: templates/InvenTree/settings/user.html:63 +msgid "Unverified" +msgstr "" + +#: templates/InvenTree/settings/user.html:65 +msgid "Primary" +msgstr "" + +#: templates/InvenTree/settings/user.html:71 +msgid "Make Primary" +msgstr "" + +#: templates/InvenTree/settings/user.html:72 +msgid "Re-send Verification" +msgstr "" + +#: templates/InvenTree/settings/user.html:73 +#: templates/InvenTree/settings/user.html:130 +msgid "Remove" +msgstr "" + +#: templates/InvenTree/settings/user.html:80 +msgid "Warning:" +msgstr "" + +#: templates/InvenTree/settings/user.html:81 +msgid "You currently do not have any e-mail address set up. You should really add an e-mail address so you can receive notifications, reset your password, etc." +msgstr "" + +#: templates/InvenTree/settings/user.html:88 +msgid "Add E-mail Address" +msgstr "" + +#: templates/InvenTree/settings/user.html:93 +msgid "Add E-mail" +msgstr "" + +#: templates/InvenTree/settings/user.html:100 +msgid "Social Accounts" +msgstr "" + +#: templates/InvenTree/settings/user.html:105 +msgid "You can sign in to your account using any of the following third party accounts:" +msgstr "" + +#: templates/InvenTree/settings/user.html:138 +msgid "You currently have no social network accounts connected to this account." +msgstr "" + +#: templates/InvenTree/settings/user.html:142 +msgid "Add a 3rd Party Account" +msgstr "" + +#: templates/InvenTree/settings/user.html:153 +msgid "Theme Settings" +msgstr "" + +#: templates/InvenTree/settings/user.html:174 msgid "Set Theme" msgstr "" -#: templates/InvenTree/settings/user.html:70 +#: templates/InvenTree/settings/user.html:181 msgid "Language Settings" msgstr "" -#: templates/InvenTree/settings/user.html:89 +#: templates/InvenTree/settings/user.html:200 #, python-format msgid "%(lang_translated)s%% translated" msgstr "" -#: templates/InvenTree/settings/user.html:91 +#: templates/InvenTree/settings/user.html:202 msgid "No translations available" msgstr "" -#: templates/InvenTree/settings/user.html:98 +#: templates/InvenTree/settings/user.html:209 msgid "Set Language" msgstr "" -#: templates/InvenTree/settings/user.html:103 +#: templates/InvenTree/settings/user.html:214 msgid "Help the translation efforts!" msgstr "" -#: templates/InvenTree/settings/user.html:104 +#: templates/InvenTree/settings/user.html:215 #, python-format msgid "Native language translation of the InvenTree web application is community contributed via crowdin. Contributions are welcomed and encouraged." msgstr "" +#: templates/InvenTree/settings/user.html:223 +msgid "Do you really want to remove the selected e-mail address?" +msgstr "" + +#: templates/InvenTree/settings/user_forms.html:9 +msgid "Form Settings" +msgstr "" + #: templates/InvenTree/settings/user_homepage.html:9 msgid "Home Page Settings" msgstr "" @@ -6641,11 +6575,108 @@ msgstr "" #: templates/about.html:107 templates/js/translated/modals.js:50 #: templates/js/translated/modals.js:584 templates/js/translated/modals.js:678 -#: templates/js/translated/modals.js:971 templates/modals.html:29 +#: templates/js/translated/modals.js:982 templates/modals.html:29 #: templates/modals.html:54 msgid "Close" msgstr "" +#: templates/account/email_confirm.html:6 +#: templates/account/email_confirm.html:10 +msgid "Confirm E-mail Address" +msgstr "" + +#: templates/account/email_confirm.html:16 +#, python-format +msgid "Please confirm that %(email)s is an e-mail address for user %(user_display)s." +msgstr "" + +#: templates/account/email_confirm.html:27 +#, python-format +msgid "This e-mail confirmation link expired or is invalid. Please issue a new e-mail confirmation request." +msgstr "" + +#: templates/account/login.html:5 templates/account/login.html:14 +#: templates/account/login.html:36 +msgid "Sign In" +msgstr "" + +#: templates/account/login.html:19 +#, python-format +msgid "Please sign in with one\n" +"of your existing third party accounts or sign up\n" +"for a account and sign in below:" +msgstr "" + +#: templates/account/login.html:23 +#, python-format +msgid "If you have not created an account yet, then please\n" +"sign up first." +msgstr "" + +#: templates/account/login.html:38 +msgid "Forgot Password?" +msgstr "" + +#: templates/account/login.html:45 +msgid "or use SSO" +msgstr "" + +#: templates/account/logout.html:5 templates/account/logout.html:8 +#: templates/account/logout.html:17 +msgid "Sign Out" +msgstr "" + +#: templates/account/logout.html:10 +msgid "Are you sure you want to sign out?" +msgstr "" + +#: templates/account/password_reset.html:5 +#: templates/account/password_reset.html:12 +msgid "Password Reset" +msgstr "" + +#: templates/account/password_reset.html:18 +msgid "Forgotten your password? Enter your e-mail address below, and we'll send you an e-mail allowing you to reset it." +msgstr "" + +#: templates/account/password_reset.html:23 +msgid "Reset My Password" +msgstr "" + +#: templates/account/password_reset.html:27 templates/account/signup.html:36 +msgid "This function is currently disabled. Please contact an administrator." +msgstr "" + +#: templates/account/password_reset_from_key.html:7 +msgid "Bad Token" +msgstr "" + +#: templates/account/password_reset_from_key.html:11 +#, python-format +msgid "The password reset link was invalid, possibly because it has already been used. Please request a new password reset." +msgstr "" + +#: templates/account/password_reset_from_key.html:17 +msgid "change password" +msgstr "" + +#: templates/account/password_reset_from_key.html:20 +msgid "Your password is now changed." +msgstr "" + +#: templates/account/signup.html:11 templates/account/signup.html:22 +msgid "Sign Up" +msgstr "" + +#: templates/account/signup.html:13 +#, python-format +msgid "Already have an account? Then please sign in." +msgstr "" + +#: templates/account/signup.html:27 +msgid "Or use a SSO-provider for signup" +msgstr "" + #: templates/image_download.html:8 msgid "Specify URL for downloading image" msgstr "" @@ -6675,7 +6706,7 @@ msgid "Select Test Report Template" msgstr "" #: templates/js/report.js:98 templates/js/translated/label.js:29 -#: templates/js/translated/report.js:118 templates/js/translated/stock.js:313 +#: templates/js/translated/report.js:118 templates/js/translated/stock.js:297 msgid "Select Stock Items" msgstr "" @@ -6707,8 +6738,8 @@ msgstr "" msgid "No report templates found which match selected build(s)" msgstr "" -#: templates/js/report.js:205 templates/js/translated/label.js:134 -#: templates/js/translated/report.js:225 +#: templates/js/report.js:205 templates/js/translated/build.js:948 +#: templates/js/translated/label.js:134 templates/js/translated/report.js:225 msgid "Select Parts" msgstr "" @@ -6741,11 +6772,11 @@ msgstr "" msgid "Sales Order(s) must be selected before printing report" msgstr "" -#: templates/js/translated/api.js:174 templates/js/translated/modals.js:1041 +#: templates/js/translated/api.js:174 templates/js/translated/modals.js:1052 msgid "No Response" msgstr "" -#: templates/js/translated/api.js:175 templates/js/translated/modals.js:1042 +#: templates/js/translated/api.js:175 templates/js/translated/modals.js:1053 msgid "No response from the InvenTree server" msgstr "" @@ -6757,35 +6788,35 @@ msgstr "" msgid "API request returned error code 400" msgstr "" -#: templates/js/translated/api.js:186 templates/js/translated/modals.js:1051 +#: templates/js/translated/api.js:186 templates/js/translated/modals.js:1062 msgid "Error 401: Not Authenticated" msgstr "" -#: templates/js/translated/api.js:187 templates/js/translated/modals.js:1052 +#: templates/js/translated/api.js:187 templates/js/translated/modals.js:1063 msgid "Authentication credentials not supplied" msgstr "" -#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1056 +#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1067 msgid "Error 403: Permission Denied" msgstr "" -#: templates/js/translated/api.js:192 templates/js/translated/modals.js:1057 +#: templates/js/translated/api.js:192 templates/js/translated/modals.js:1068 msgid "You do not have the required permissions to access this function" msgstr "" -#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1061 +#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1072 msgid "Error 404: Resource Not Found" msgstr "" -#: templates/js/translated/api.js:197 templates/js/translated/modals.js:1062 +#: templates/js/translated/api.js:197 templates/js/translated/modals.js:1073 msgid "The requested resource could not be located on the server" msgstr "" -#: templates/js/translated/api.js:201 templates/js/translated/modals.js:1066 +#: templates/js/translated/api.js:201 templates/js/translated/modals.js:1077 msgid "Error 408: Timeout" msgstr "" -#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1067 +#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1078 msgid "Connection timeout while requesting data from server" msgstr "" @@ -6842,7 +6873,7 @@ msgid "Unknown response from server" msgstr "" #: templates/js/translated/barcode.js:141 -#: templates/js/translated/modals.js:1031 +#: templates/js/translated/modals.js:1042 msgid "Invalid server response" msgstr "" @@ -6870,7 +6901,7 @@ msgstr "" msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:398 templates/js/translated/stock.js:289 +#: templates/js/translated/barcode.js:398 templates/js/translated/stock.js:273 msgid "Remove stock item" msgstr "" @@ -6912,115 +6943,181 @@ msgstr "" msgid "Barcode does not match a valid location" msgstr "" -#: templates/js/translated/bom.js:215 templates/js/translated/build.js:1169 +#: templates/js/translated/bom.js:234 templates/js/translated/build.js:1495 msgid "Open subassembly" msgstr "" -#: templates/js/translated/bom.js:287 +#: templates/js/translated/bom.js:288 templates/js/translated/build.js:744 +#: templates/js/translated/build.js:1345 templates/js/translated/build.js:1522 +msgid "Available" +msgstr "" + +#: templates/js/translated/bom.js:307 msgid "Purchase Price Range" msgstr "" -#: templates/js/translated/bom.js:294 +#: templates/js/translated/bom.js:314 msgid "Purchase Price Average" msgstr "" -#: templates/js/translated/bom.js:342 templates/js/translated/bom.js:428 +#: templates/js/translated/bom.js:363 templates/js/translated/bom.js:449 msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:402 +#: templates/js/translated/bom.js:415 templates/js/translated/build.js:798 +#: templates/js/translated/build.js:1545 templates/js/translated/order.js:1285 +msgid "Actions" +msgstr "" + +#: templates/js/translated/bom.js:423 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:404 +#: templates/js/translated/bom.js:425 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:406 templates/js/translated/bom.js:569 +#: templates/js/translated/bom.js:427 templates/js/translated/bom.js:590 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:408 templates/js/translated/bom.js:554 +#: templates/js/translated/bom.js:429 templates/js/translated/bom.js:575 msgid "Delete BOM Item" msgstr "" -#: templates/js/translated/bom.js:499 templates/js/translated/build.js:483 -#: templates/js/translated/build.js:1267 +#: templates/js/translated/bom.js:520 templates/js/translated/build.js:485 +#: templates/js/translated/build.js:1593 msgid "No BOM items found" msgstr "" -#: templates/js/translated/build.js:69 +#: templates/js/translated/build.js:71 msgid "Edit Build Order" msgstr "" -#: templates/js/translated/build.js:95 +#: templates/js/translated/build.js:105 msgid "Create Build Order" msgstr "" -#: templates/js/translated/build.js:127 -msgid "Auto-allocate stock items to this output" +#: templates/js/translated/build.js:138 +msgid "Allocate stock items to this build output" msgstr "" -#: templates/js/translated/build.js:135 +#: templates/js/translated/build.js:146 msgid "Unallocate stock from build output" msgstr "" -#: templates/js/translated/build.js:145 +#: templates/js/translated/build.js:155 msgid "Complete build output" msgstr "" -#: templates/js/translated/build.js:154 +#: templates/js/translated/build.js:164 msgid "Delete build output" msgstr "" -#: templates/js/translated/build.js:249 +#: templates/js/translated/build.js:265 msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:287 templates/js/translated/order.js:813 +#: templates/js/translated/build.js:303 templates/js/translated/order.js:1159 msgid "Location not specified" msgstr "" -#: templates/js/translated/build.js:391 templates/stock_table.html:20 -msgid "New Stock Item" +#: templates/js/translated/build.js:675 templates/js/translated/build.js:1356 +#: templates/js/translated/order.js:1292 +msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/build.js:702 +#: templates/js/translated/build.js:677 templates/js/translated/build.js:1357 +#: templates/js/translated/order.js:1293 +msgid "Delete stock allocation" +msgstr "" + +#: templates/js/translated/build.js:695 +msgid "Edit Allocation" +msgstr "" + +#: templates/js/translated/build.js:705 +msgid "Remove Allocation" +msgstr "" + +#: templates/js/translated/build.js:718 msgid "Required Part" msgstr "" -#: templates/js/translated/build.js:723 +#: templates/js/translated/build.js:739 msgid "Quantity Per" msgstr "" -#: templates/js/translated/build.js:793 templates/js/translated/build.js:1231 +#: templates/js/translated/build.js:749 templates/js/translated/build.js:975 +#: templates/js/translated/build.js:1352 templates/js/translated/order.js:1514 +msgid "Allocated" +msgstr "" + +#: templates/js/translated/build.js:805 templates/js/translated/build.js:1553 +#: templates/js/translated/order.js:1567 +msgid "Build stock" +msgstr "" + +#: templates/js/translated/build.js:809 templates/js/translated/build.js:1557 #: templates/stock_table.html:59 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:846 +#: templates/js/translated/build.js:812 templates/js/translated/order.js:1560 +msgid "Allocate stock" +msgstr "" + +#: templates/js/translated/build.js:880 +msgid "Specify stock allocation quantity" +msgstr "" + +#: templates/js/translated/build.js:949 +msgid "You must select at least one part to allocate" +msgstr "" + +#: templates/js/translated/build.js:963 +msgid "Select source location (leave blank to take from all locations)" +msgstr "" + +#: templates/js/translated/build.js:992 +msgid "Confirm stock allocation" +msgstr "" + +#: templates/js/translated/build.js:993 +msgid "Allocate Stock Items to Build Order" +msgstr "" + +#: templates/js/translated/build.js:1004 +msgid "No matching stock locations" +msgstr "" + +#: templates/js/translated/build.js:1048 +msgid "No matching stock items" +msgstr "" + +#: templates/js/translated/build.js:1172 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:863 templates/js/translated/part.js:845 -#: templates/js/translated/part.js:1123 templates/js/translated/stock.js:783 -#: templates/js/translated/stock.js:1477 +#: templates/js/translated/build.js:1189 templates/js/translated/part.js:856 +#: templates/js/translated/part.js:1134 templates/js/translated/stock.js:762 +#: templates/js/translated/stock.js:1456 msgid "Select" msgstr "" -#: templates/js/translated/build.js:883 +#: templates/js/translated/build.js:1209 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:944 templates/js/translated/stock.js:1696 +#: templates/js/translated/build.js:1270 templates/js/translated/stock.js:1675 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:956 +#: templates/js/translated/build.js:1282 msgid "No information" msgstr "" -#: templates/js/translated/build.js:1007 +#: templates/js/translated/build.js:1333 msgid "No parts allocated for" msgstr "" @@ -7040,7 +7137,7 @@ msgstr "" msgid "Delete Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:164 templates/js/translated/order.js:86 +#: templates/js/translated/company.js:164 templates/js/translated/order.js:89 msgid "Add Supplier" msgstr "" @@ -7084,53 +7181,53 @@ msgstr "" msgid "Delete Manufacturer Parts" msgstr "" -#: templates/js/translated/company.js:475 +#: templates/js/translated/company.js:476 msgid "No manufacturer parts found" msgstr "" -#: templates/js/translated/company.js:495 -#: templates/js/translated/company.js:751 templates/js/translated/part.js:416 -#: templates/js/translated/part.js:501 +#: templates/js/translated/company.js:496 +#: templates/js/translated/company.js:753 templates/js/translated/part.js:427 +#: templates/js/translated/part.js:512 msgid "Template part" msgstr "" -#: templates/js/translated/company.js:499 -#: templates/js/translated/company.js:755 templates/js/translated/part.js:420 -#: templates/js/translated/part.js:505 +#: templates/js/translated/company.js:500 +#: templates/js/translated/company.js:757 templates/js/translated/part.js:431 +#: templates/js/translated/part.js:516 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:626 templates/js/translated/part.js:593 +#: templates/js/translated/company.js:627 templates/js/translated/part.js:604 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:663 templates/js/translated/part.js:635 +#: templates/js/translated/company.js:664 templates/js/translated/part.js:646 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:664 templates/js/translated/part.js:636 +#: templates/js/translated/company.js:665 templates/js/translated/part.js:647 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:683 templates/js/translated/part.js:653 +#: templates/js/translated/company.js:684 templates/js/translated/part.js:664 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:694 templates/js/translated/part.js:665 +#: templates/js/translated/company.js:695 templates/js/translated/part.js:676 msgid "Delete Parameter" msgstr "" -#: templates/js/translated/company.js:731 +#: templates/js/translated/company.js:733 msgid "No supplier parts found" msgstr "" #: templates/js/translated/filters.js:178 -#: templates/js/translated/filters.js:402 +#: templates/js/translated/filters.js:407 msgid "true" msgstr "" #: templates/js/translated/filters.js:182 -#: templates/js/translated/filters.js:403 +#: templates/js/translated/filters.js:408 msgid "false" msgstr "" @@ -7138,19 +7235,19 @@ msgstr "" msgid "Select filter" msgstr "" -#: templates/js/translated/filters.js:279 +#: templates/js/translated/filters.js:284 msgid "Reload data" msgstr "" -#: templates/js/translated/filters.js:281 +#: templates/js/translated/filters.js:286 msgid "Add new filter" msgstr "" -#: templates/js/translated/filters.js:284 +#: templates/js/translated/filters.js:289 msgid "Clear all filters" msgstr "" -#: templates/js/translated/filters.js:312 +#: templates/js/translated/filters.js:317 msgid "Create filter" msgstr "" @@ -7175,16 +7272,20 @@ msgstr "" msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:889 templates/modals.html:21 +#: templates/js/translated/forms.js:968 templates/modals.html:21 #: templates/modals.html:47 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1379 +#: templates/js/translated/forms.js:1323 +msgid "No results found" +msgstr "" + +#: templates/js/translated/forms.js:1525 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:1593 +#: templates/js/translated/forms.js:1742 msgid "Clear input" msgstr "" @@ -7247,7 +7348,7 @@ msgid "Cancel" msgstr "" #: templates/js/translated/modals.js:77 templates/js/translated/modals.js:119 -#: templates/js/translated/modals.js:677 templates/js/translated/modals.js:970 +#: templates/js/translated/modals.js:677 templates/js/translated/modals.js:981 #: templates/modals.html:30 templates/modals.html:55 msgid "Submit" msgstr "" @@ -7272,31 +7373,31 @@ msgstr "" msgid "Loading Data" msgstr "" -#: templates/js/translated/modals.js:922 +#: templates/js/translated/modals.js:933 msgid "Invalid response from server" msgstr "" -#: templates/js/translated/modals.js:922 +#: templates/js/translated/modals.js:933 msgid "Form data missing from server response" msgstr "" -#: templates/js/translated/modals.js:934 +#: templates/js/translated/modals.js:945 msgid "Error posting form data" msgstr "" -#: templates/js/translated/modals.js:1031 +#: templates/js/translated/modals.js:1042 msgid "JSON response missing form data" msgstr "" -#: templates/js/translated/modals.js:1046 +#: templates/js/translated/modals.js:1057 msgid "Error 400: Bad Request" msgstr "" -#: templates/js/translated/modals.js:1047 +#: templates/js/translated/modals.js:1058 msgid "Server returned error code 400" msgstr "" -#: templates/js/translated/modals.js:1070 +#: templates/js/translated/modals.js:1081 msgid "Error requesting form data" msgstr "" @@ -7304,70 +7405,195 @@ msgstr "" msgid "Company ID" msgstr "" -#: templates/js/translated/model_renderers.js:82 +#: templates/js/translated/model_renderers.js:90 +msgid "Stock ID" +msgstr "" + +#: templates/js/translated/model_renderers.js:125 msgid "Location ID" msgstr "" -#: templates/js/translated/model_renderers.js:99 +#: templates/js/translated/model_renderers.js:142 msgid "Build ID" msgstr "" -#: templates/js/translated/model_renderers.js:119 +#: templates/js/translated/model_renderers.js:177 msgid "Part ID" msgstr "" -#: templates/js/translated/model_renderers.js:171 +#: templates/js/translated/model_renderers.js:231 +msgid "Order ID" +msgstr "" + +#: templates/js/translated/model_renderers.js:251 msgid "Category ID" msgstr "" -#: templates/js/translated/model_renderers.js:208 +#: templates/js/translated/model_renderers.js:288 msgid "Manufacturer Part ID" msgstr "" -#: templates/js/translated/model_renderers.js:237 +#: templates/js/translated/model_renderers.js:317 msgid "Supplier Part ID" msgstr "" -#: templates/js/translated/order.js:45 +#: templates/js/translated/order.js:48 msgid "Add Customer" msgstr "" -#: templates/js/translated/order.js:70 +#: templates/js/translated/order.js:73 msgid "Create Sales Order" msgstr "" -#: templates/js/translated/order.js:295 +#: templates/js/translated/order.js:207 +msgid "Export Order" +msgstr "" + +#: templates/js/translated/order.js:210 templates/js/translated/stock.js:96 +msgid "Format" +msgstr "" + +#: templates/js/translated/order.js:211 templates/js/translated/stock.js:97 +msgid "Select file format" +msgstr "" + +#: templates/js/translated/order.js:299 +msgid "Select Line Items" +msgstr "" + +#: templates/js/translated/order.js:300 +msgid "At least one line item must be selected" +msgstr "" + +#: templates/js/translated/order.js:325 +msgid "Quantity to receive" +msgstr "" + +#: templates/js/translated/order.js:359 templates/js/translated/stock.js:1343 +msgid "Stock Status" +msgstr "" + +#: templates/js/translated/order.js:426 +msgid "Order Code" +msgstr "" + +#: templates/js/translated/order.js:427 +msgid "Ordered" +msgstr "" + +#: templates/js/translated/order.js:429 +msgid "Receive" +msgstr "" + +#: templates/js/translated/order.js:448 +msgid "Confirm receipt of items" +msgstr "" + +#: templates/js/translated/order.js:449 +msgid "Receive Purchase Order Items" +msgstr "" + +#: templates/js/translated/order.js:626 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/order.js:320 templates/js/translated/order.js:682 +#: templates/js/translated/order.js:651 templates/js/translated/order.js:1028 msgid "Order is overdue" msgstr "" -#: templates/js/translated/order.js:452 +#: templates/js/translated/order.js:749 templates/js/translated/order.js:1602 +msgid "Edit Line Item" +msgstr "" + +#: templates/js/translated/order.js:761 templates/js/translated/order.js:1613 +msgid "Delete Line Item" +msgstr "" + +#: templates/js/translated/order.js:800 msgid "No line items found" msgstr "" -#: templates/js/translated/order.js:617 +#: templates/js/translated/order.js:827 templates/js/translated/order.js:1432 +msgid "Total" +msgstr "" + +#: templates/js/translated/order.js:880 templates/js/translated/order.js:1457 +#: templates/js/translated/part.js:1343 templates/js/translated/part.js:1554 +msgid "Unit Price" +msgstr "" + +#: templates/js/translated/order.js:889 templates/js/translated/order.js:1464 +msgid "Total price" +msgstr "" + +#: templates/js/translated/order.js:962 templates/js/translated/order.js:1573 +msgid "Edit line item" +msgstr "" + +#: templates/js/translated/order.js:963 msgid "Delete line item" msgstr "" -#: templates/js/translated/order.js:621 +#: templates/js/translated/order.js:967 msgid "Receive line item" msgstr "" -#: templates/js/translated/order.js:658 +#: templates/js/translated/order.js:1004 msgid "No sales orders found" msgstr "" -#: templates/js/translated/order.js:696 +#: templates/js/translated/order.js:1042 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/order.js:774 +#: templates/js/translated/order.js:1120 msgid "No sales order allocations found" msgstr "" +#: templates/js/translated/order.js:1213 +msgid "Edit Stock Allocation" +msgstr "" + +#: templates/js/translated/order.js:1231 +msgid "Delete Stock Allocation" +msgstr "" + +#: templates/js/translated/order.js:1273 +msgid "Stock location not specified" +msgstr "" + +#: templates/js/translated/order.js:1514 +msgid "Fulfilled" +msgstr "" + +#: templates/js/translated/order.js:1557 +msgid "Allocate serial numbers" +msgstr "" + +#: templates/js/translated/order.js:1563 +msgid "Purchase stock" +msgstr "" + +#: templates/js/translated/order.js:1570 templates/js/translated/order.js:1725 +msgid "Calculate price" +msgstr "" + +#: templates/js/translated/order.js:1574 +msgid "Delete line item " +msgstr "" + +#: templates/js/translated/order.js:1673 +msgid "Allocate Stock Item" +msgstr "" + +#: templates/js/translated/order.js:1733 +msgid "Update Unit Price" +msgstr "" + +#: templates/js/translated/order.js:1747 +msgid "No matching line items" +msgstr "" + #: templates/js/translated/part.js:49 msgid "Part Attributes" msgstr "" @@ -7388,396 +7614,396 @@ msgstr "" msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:159 +#: templates/js/translated/part.js:164 msgid "Create Initial Stock" msgstr "" -#: templates/js/translated/part.js:160 +#: templates/js/translated/part.js:165 msgid "Create an initial stock item for this part" msgstr "" -#: templates/js/translated/part.js:167 +#: templates/js/translated/part.js:172 msgid "Initial Stock Quantity" msgstr "" -#: templates/js/translated/part.js:168 +#: templates/js/translated/part.js:173 msgid "Specify initial stock quantity for this part" msgstr "" -#: templates/js/translated/part.js:175 templates/js/translated/stock.js:330 +#: templates/js/translated/part.js:180 msgid "Select destination stock location" msgstr "" -#: templates/js/translated/part.js:186 +#: templates/js/translated/part.js:191 msgid "Copy Category Parameters" msgstr "" -#: templates/js/translated/part.js:187 +#: templates/js/translated/part.js:192 msgid "Copy parameter templates from selected part category" msgstr "" -#: templates/js/translated/part.js:195 +#: templates/js/translated/part.js:200 msgid "Add Supplier Data" msgstr "" -#: templates/js/translated/part.js:196 +#: templates/js/translated/part.js:201 msgid "Create initial supplier data for this part" msgstr "" -#: templates/js/translated/part.js:252 +#: templates/js/translated/part.js:257 msgid "Copy Image" msgstr "" -#: templates/js/translated/part.js:253 +#: templates/js/translated/part.js:258 msgid "Copy image from original part" msgstr "" -#: templates/js/translated/part.js:260 +#: templates/js/translated/part.js:265 msgid "Copy BOM" msgstr "" -#: templates/js/translated/part.js:261 +#: templates/js/translated/part.js:266 msgid "Copy bill of materials from original part" msgstr "" -#: templates/js/translated/part.js:268 +#: templates/js/translated/part.js:273 msgid "Copy Parameters" msgstr "" -#: templates/js/translated/part.js:269 +#: templates/js/translated/part.js:274 msgid "Copy parameter data from original part" msgstr "" -#: templates/js/translated/part.js:282 +#: templates/js/translated/part.js:287 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:323 +#: templates/js/translated/part.js:331 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:408 templates/js/translated/part.js:493 +#: templates/js/translated/part.js:419 templates/js/translated/part.js:504 msgid "Trackable part" msgstr "" -#: templates/js/translated/part.js:412 templates/js/translated/part.js:497 +#: templates/js/translated/part.js:423 templates/js/translated/part.js:508 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:424 +#: templates/js/translated/part.js:435 msgid "Starred part" msgstr "" -#: templates/js/translated/part.js:428 +#: templates/js/translated/part.js:439 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:543 +#: templates/js/translated/part.js:554 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:732 templates/js/translated/part.js:994 +#: templates/js/translated/part.js:743 templates/js/translated/part.js:1005 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:921 +#: templates/js/translated/part.js:932 msgid "No category" msgstr "" -#: templates/js/translated/part.js:944 -#: templates/js/translated/table_filters.js:350 +#: templates/js/translated/part.js:955 +#: templates/js/translated/table_filters.js:359 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:1148 templates/js/translated/stock.js:1501 +#: templates/js/translated/part.js:1159 templates/js/translated/stock.js:1480 msgid "Path" msgstr "" -#: templates/js/translated/part.js:1191 +#: templates/js/translated/part.js:1202 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:1242 templates/js/translated/stock.js:514 +#: templates/js/translated/part.js:1253 templates/js/translated/stock.js:493 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:1243 templates/js/translated/stock.js:515 +#: templates/js/translated/part.js:1254 templates/js/translated/stock.js:494 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:1249 +#: templates/js/translated/part.js:1260 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:1274 +#: templates/js/translated/part.js:1282 +msgid "Edit Test Result Template" +msgstr "" + +#: templates/js/translated/part.js:1296 +msgid "Delete Test Result Template" +msgstr "" + +#: templates/js/translated/part.js:1321 #, python-brace-format msgid "No ${human_name} information found" msgstr "" -#: templates/js/translated/part.js:1329 +#: templates/js/translated/part.js:1376 #, python-brace-format msgid "Edit ${human_name}" msgstr "" -#: templates/js/translated/part.js:1330 +#: templates/js/translated/part.js:1377 #, python-brace-format msgid "Delete ${human_name}" msgstr "" -#: templates/js/translated/part.js:1431 +#: templates/js/translated/part.js:1478 msgid "Single Price" msgstr "" -#: templates/js/translated/part.js:1450 +#: templates/js/translated/part.js:1497 msgid "Single Price Difference" msgstr "" -#: templates/js/translated/stock.js:66 +#: templates/js/translated/stock.js:63 msgid "Parent stock location" msgstr "" -#: templates/js/translated/stock.js:96 +#: templates/js/translated/stock.js:93 msgid "Export Stock" msgstr "" -#: templates/js/translated/stock.js:99 -msgid "Format" -msgstr "" - -#: templates/js/translated/stock.js:100 -msgid "Select file format" -msgstr "" - -#: templates/js/translated/stock.js:124 +#: templates/js/translated/stock.js:104 msgid "Include Sublocations" msgstr "" -#: templates/js/translated/stock.js:125 +#: templates/js/translated/stock.js:105 msgid "Include stock items in sublocations" msgstr "" -#: templates/js/translated/stock.js:167 +#: templates/js/translated/stock.js:147 msgid "Transfer Stock" msgstr "" -#: templates/js/translated/stock.js:168 +#: templates/js/translated/stock.js:148 msgid "Move" msgstr "" -#: templates/js/translated/stock.js:174 +#: templates/js/translated/stock.js:154 msgid "Count Stock" msgstr "" -#: templates/js/translated/stock.js:175 +#: templates/js/translated/stock.js:155 msgid "Count" msgstr "" -#: templates/js/translated/stock.js:179 +#: templates/js/translated/stock.js:159 msgid "Remove Stock" msgstr "" -#: templates/js/translated/stock.js:180 +#: templates/js/translated/stock.js:160 msgid "Take" msgstr "" -#: templates/js/translated/stock.js:184 +#: templates/js/translated/stock.js:164 msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:185 users/models.py:190 +#: templates/js/translated/stock.js:165 users/models.py:195 msgid "Add" msgstr "" -#: templates/js/translated/stock.js:189 templates/stock_table.html:63 +#: templates/js/translated/stock.js:169 templates/stock_table.html:63 msgid "Delete Stock" msgstr "" -#: templates/js/translated/stock.js:278 +#: templates/js/translated/stock.js:258 msgid "Quantity cannot be adjusted for serialized stock" msgstr "" -#: templates/js/translated/stock.js:278 +#: templates/js/translated/stock.js:258 msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:314 +#: templates/js/translated/stock.js:298 msgid "You must select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:339 -msgid "Stock transaction notes" -msgstr "" - -#: templates/js/translated/stock.js:477 +#: templates/js/translated/stock.js:456 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:479 +#: templates/js/translated/stock.js:458 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:484 +#: templates/js/translated/stock.js:463 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:510 +#: templates/js/translated/stock.js:489 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:536 +#: templates/js/translated/stock.js:515 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:584 +#: templates/js/translated/stock.js:563 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:691 +#: templates/js/translated/stock.js:670 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:695 +#: templates/js/translated/stock.js:674 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:703 +#: templates/js/translated/stock.js:678 +msgid "Shipped to customer" +msgstr "" + +#: templates/js/translated/stock.js:682 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:865 +#: templates/js/translated/stock.js:688 +msgid "No stock location set" +msgstr "" + +#: templates/js/translated/stock.js:844 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:870 +#: templates/js/translated/stock.js:849 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:873 +#: templates/js/translated/stock.js:852 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:877 +#: templates/js/translated/stock.js:856 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:879 +#: templates/js/translated/stock.js:858 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:883 +#: templates/js/translated/stock.js:862 msgid "Stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:887 +#: templates/js/translated/stock.js:866 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:894 +#: templates/js/translated/stock.js:873 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:896 +#: templates/js/translated/stock.js:875 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:898 +#: templates/js/translated/stock.js:877 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:902 +#: templates/js/translated/stock.js:881 #: templates/js/translated/table_filters.js:161 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:956 +#: templates/js/translated/stock.js:935 msgid "Stocktake" msgstr "" -#: templates/js/translated/stock.js:1029 +#: templates/js/translated/stock.js:1008 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:1067 +#: templates/js/translated/stock.js:1046 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:1088 templates/js/translated/stock.js:1136 +#: templates/js/translated/stock.js:1067 templates/js/translated/stock.js:1115 msgid "items" msgstr "" -#: templates/js/translated/stock.js:1176 +#: templates/js/translated/stock.js:1155 msgid "batches" msgstr "" -#: templates/js/translated/stock.js:1203 +#: templates/js/translated/stock.js:1182 msgid "locations" msgstr "" -#: templates/js/translated/stock.js:1205 +#: templates/js/translated/stock.js:1184 msgid "Undefined location" msgstr "" -#: templates/js/translated/stock.js:1364 -msgid "Stock Status" -msgstr "" - -#: templates/js/translated/stock.js:1379 +#: templates/js/translated/stock.js:1358 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:1393 +#: templates/js/translated/stock.js:1372 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:1394 +#: templates/js/translated/stock.js:1373 msgid "Status code must be selected" msgstr "" -#: templates/js/translated/stock.js:1533 +#: templates/js/translated/stock.js:1512 msgid "Invalid date" msgstr "" -#: templates/js/translated/stock.js:1580 +#: templates/js/translated/stock.js:1559 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:1599 +#: templates/js/translated/stock.js:1578 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:1618 +#: templates/js/translated/stock.js:1597 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:1636 +#: templates/js/translated/stock.js:1615 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:1659 +#: templates/js/translated/stock.js:1638 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:1667 +#: templates/js/translated/stock.js:1646 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:1708 +#: templates/js/translated/stock.js:1687 msgid "Edit tracking entry" msgstr "" -#: templates/js/translated/stock.js:1709 +#: templates/js/translated/stock.js:1688 msgid "Delete tracking entry" msgstr "" -#: templates/js/translated/stock.js:1833 +#: templates/js/translated/stock.js:1812 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:1856 +#: templates/js/translated/stock.js:1835 msgid "Serial" msgstr "" -#: templates/js/translated/stock.js:1884 +#: templates/js/translated/stock.js:1863 msgid "Uninstall Stock Item" msgstr "" @@ -7808,7 +8034,7 @@ msgstr "" #: templates/js/translated/table_filters.js:103 #: templates/js/translated/table_filters.js:104 -#: templates/js/translated/table_filters.js:327 +#: templates/js/translated/table_filters.js:336 msgid "Include subcategories" msgstr "" @@ -7850,7 +8076,7 @@ msgid "Batch code" msgstr "" #: templates/js/translated/table_filters.js:141 -#: templates/js/translated/table_filters.js:317 +#: templates/js/translated/table_filters.js:326 msgid "Active parts" msgstr "" @@ -7935,89 +8161,89 @@ msgstr "" msgid "Build status" msgstr "" -#: templates/js/translated/table_filters.js:282 -#: templates/js/translated/table_filters.js:299 +#: templates/js/translated/table_filters.js:291 +#: templates/js/translated/table_filters.js:308 msgid "Order status" msgstr "" -#: templates/js/translated/table_filters.js:287 -#: templates/js/translated/table_filters.js:304 +#: templates/js/translated/table_filters.js:296 +#: templates/js/translated/table_filters.js:313 msgid "Outstanding" msgstr "" -#: templates/js/translated/table_filters.js:328 +#: templates/js/translated/table_filters.js:337 msgid "Include parts in subcategories" msgstr "" -#: templates/js/translated/table_filters.js:332 +#: templates/js/translated/table_filters.js:341 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:333 +#: templates/js/translated/table_filters.js:342 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:338 +#: templates/js/translated/table_filters.js:347 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:346 +#: templates/js/translated/table_filters.js:355 msgid "Stock available" msgstr "" -#: templates/js/translated/table_filters.js:362 +#: templates/js/translated/table_filters.js:371 msgid "Starred" msgstr "" -#: templates/js/translated/table_filters.js:374 +#: templates/js/translated/table_filters.js:383 msgid "Purchasable" msgstr "" -#: templates/js/translated/tables.js:357 +#: templates/js/translated/tables.js:366 msgid "Loading data" msgstr "" -#: templates/js/translated/tables.js:360 +#: templates/js/translated/tables.js:369 msgid "rows per page" msgstr "" -#: templates/js/translated/tables.js:363 +#: templates/js/translated/tables.js:372 msgid "Showing" msgstr "" -#: templates/js/translated/tables.js:363 +#: templates/js/translated/tables.js:372 msgid "to" msgstr "" -#: templates/js/translated/tables.js:363 +#: templates/js/translated/tables.js:372 msgid "of" msgstr "" -#: templates/js/translated/tables.js:363 +#: templates/js/translated/tables.js:372 msgid "rows" msgstr "" -#: templates/js/translated/tables.js:369 +#: templates/js/translated/tables.js:378 msgid "No matching results" msgstr "" -#: templates/js/translated/tables.js:372 +#: templates/js/translated/tables.js:381 msgid "Hide/Show pagination" msgstr "" -#: templates/js/translated/tables.js:375 +#: templates/js/translated/tables.js:384 msgid "Refresh" msgstr "" -#: templates/js/translated/tables.js:378 +#: templates/js/translated/tables.js:387 msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:381 +#: templates/js/translated/tables.js:390 msgid "Columns" msgstr "" -#: templates/js/translated/tables.js:384 +#: templates/js/translated/tables.js:393 msgid "All" msgstr "" @@ -8033,19 +8259,15 @@ msgstr "" msgid "Sell" msgstr "" -#: templates/navbar.html:87 users/models.py:39 +#: templates/navbar.html:83 users/models.py:39 msgid "Admin" msgstr "" -#: templates/navbar.html:89 +#: templates/navbar.html:85 msgid "Logout" msgstr "" -#: templates/navbar.html:91 templates/registration/login.html:89 -msgid "Login" -msgstr "" - -#: templates/navbar.html:114 +#: templates/navbar.html:106 msgid "About InvenTree" msgstr "" @@ -8053,68 +8275,12 @@ msgstr "" msgid "QR data not provided" msgstr "" -#: templates/registration/logged_out.html:50 -msgid "You have been logged out" +#: templates/registration/logged_out.html:6 +msgid "You were logged out successfully." msgstr "" -#: templates/registration/logged_out.html:51 -#: templates/registration/password_reset_complete.html:51 -#: templates/registration/password_reset_done.html:58 -msgid "Return to login screen" -msgstr "" - -#: templates/registration/login.html:64 -msgid "Enter username" -msgstr "" - -#: templates/registration/login.html:70 -msgid "Password" -msgstr "" - -#: templates/registration/login.html:83 -msgid "Username / password combination is incorrect" -msgstr "" - -#: templates/registration/login.html:95 -#: templates/registration/password_reset_form.html:51 -msgid "Forgotten your password?" -msgstr "" - -#: templates/registration/login.html:95 -msgid "Click here to reset" -msgstr "" - -#: templates/registration/password_reset_complete.html:50 -msgid "Password reset complete" -msgstr "" - -#: templates/registration/password_reset_confirm.html:52 -#: templates/registration/password_reset_confirm.html:56 -msgid "Change password" -msgstr "" - -#: templates/registration/password_reset_confirm.html:60 -msgid "The password reset link was invalid, possibly because it has already been used. Please request a new password reset." -msgstr "" - -#: templates/registration/password_reset_done.html:51 -msgid "We've emailed you instructions for setting your password, if an account exists with the email you entered. You should receive them shortly." -msgstr "" - -#: templates/registration/password_reset_done.html:54 -msgid "If you don't receive an email, please make sure you've entered the address you registered with, and check your spam folder." -msgstr "" - -#: templates/registration/password_reset_form.html:52 -msgid "Enter your email address below." -msgstr "" - -#: templates/registration/password_reset_form.html:53 -msgid "An email will be sent with password reset instructions." -msgstr "" - -#: templates/registration/password_reset_form.html:58 -msgid "Send email" +#: templates/registration/logged_out.html:8 +msgid "Log in again" msgstr "" #: templates/stats.html:13 @@ -8169,6 +8335,10 @@ msgstr "" msgid "Export Stock Information" msgstr "" +#: templates/stock_table.html:20 +msgid "New Stock Item" +msgstr "" + #: templates/stock_table.html:27 msgid "Barcode Actions" msgstr "" @@ -8249,35 +8419,35 @@ msgstr "" msgid "Important dates" msgstr "" -#: users/models.py:177 +#: users/models.py:182 msgid "Permission set" msgstr "" -#: users/models.py:185 +#: users/models.py:190 msgid "Group" msgstr "" -#: users/models.py:188 +#: users/models.py:193 msgid "View" msgstr "" -#: users/models.py:188 +#: users/models.py:193 msgid "Permission to view items" msgstr "" -#: users/models.py:190 +#: users/models.py:195 msgid "Permission to add items" msgstr "" -#: users/models.py:192 +#: users/models.py:197 msgid "Change" msgstr "" -#: users/models.py:192 +#: users/models.py:197 msgid "Permissions to edit items" msgstr "" -#: users/models.py:194 +#: users/models.py:199 msgid "Permission to delete items" msgstr "" diff --git a/InvenTree/locale/pl/LC_MESSAGES/django.po b/InvenTree/locale/pl/LC_MESSAGES/django.po index 820073e7f7..e76b836ff9 100644 --- a/InvenTree/locale/pl/LC_MESSAGES/django.po +++ b/InvenTree/locale/pl/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-09-12 13:15+0000\n" -"PO-Revision-Date: 2021-09-12 13:44\n" +"POT-Creation-Date: 2021-10-11 06:21+0000\n" +"PO-Revision-Date: 2021-10-11 06:29\n" "Last-Translator: \n" "Language-Team: Polish\n" "Language: pl_PL\n" @@ -33,48 +33,61 @@ msgstr "Nie znaleziono pasującej akcji" msgid "Enter date" msgstr "Wprowadź dane" -#: InvenTree/forms.py:111 build/forms.py:102 build/forms.py:123 -#: build/forms.py:145 build/forms.py:169 build/forms.py:185 build/forms.py:227 -#: order/forms.py:30 order/forms.py:41 order/forms.py:52 order/forms.py:63 -#: order/forms.py:74 part/forms.py:108 templates/js/translated/forms.js:564 +#: InvenTree/forms.py:116 build/forms.py:102 build/forms.py:123 +#: build/forms.py:145 build/forms.py:173 build/forms.py:215 order/forms.py:27 +#: order/forms.py:38 order/forms.py:49 order/forms.py:60 order/forms.py:71 +#: part/forms.py:108 templates/account/email_confirm.html:20 +#: templates/js/translated/forms.js:564 msgid "Confirm" msgstr "Potwierdź" -#: InvenTree/forms.py:127 +#: InvenTree/forms.py:132 msgid "Confirm delete" msgstr "Potwierdź usunięcie" -#: InvenTree/forms.py:128 +#: InvenTree/forms.py:133 msgid "Confirm item deletion" msgstr "Potwierdź usuwanie elementu" -#: InvenTree/forms.py:160 templates/registration/login.html:76 +#: InvenTree/forms.py:164 msgid "Enter password" msgstr "Wprowadź hasło" -#: InvenTree/forms.py:161 +#: InvenTree/forms.py:165 msgid "Enter new password" msgstr "Wprowadź nowe hasło" -#: InvenTree/forms.py:168 +#: InvenTree/forms.py:172 msgid "Confirm password" msgstr "Potwierdź hasło" -#: InvenTree/forms.py:169 +#: InvenTree/forms.py:173 msgid "Confirm new password" msgstr "Potwierdź nowe hasło" -#: InvenTree/forms.py:201 +#: InvenTree/forms.py:205 msgid "Select Category" msgstr "Wybierz kategorię" +#: InvenTree/forms.py:226 +msgid "E-mail (again)" +msgstr "" + +#: InvenTree/forms.py:230 +msgid "E-mail address confirmation" +msgstr "" + +#: InvenTree/forms.py:250 +msgid "You must type the same email each time." +msgstr "" + #: InvenTree/helpers.py:401 #, python-brace-format msgid "Duplicate serial: {n}" msgstr "Powtórzony numer seryjny: {n}" -#: InvenTree/helpers.py:408 order/models.py:315 order/models.py:430 -#: stock/views.py:1363 +#: InvenTree/helpers.py:408 order/models.py:315 order/models.py:437 +#: stock/views.py:1340 msgid "Invalid quantity provided" msgstr "Podano nieprawidłową ilość" @@ -102,7 +115,7 @@ msgstr "Nie znaleziono numerów seryjnych" msgid "Number of unique serial number ({s}) must match quantity ({q})" msgstr "Ilość numerów seryjnych ({s}) musi odpowiadać ilości ({q})" -#: InvenTree/models.py:66 stock/models.py:1826 +#: InvenTree/models.py:66 stock/models.py:1823 msgid "Attachment" msgstr "Załącznik" @@ -118,10 +131,10 @@ msgstr "Komentarz" msgid "File comment" msgstr "Komentarz pliku" -#: InvenTree/models.py:75 InvenTree/models.py:76 common/models.py:993 -#: common/models.py:994 part/models.py:2051 +#: InvenTree/models.py:75 InvenTree/models.py:76 common/models.py:1055 +#: common/models.py:1056 part/models.py:2055 #: report/templates/report/inventree_test_report_base.html:91 -#: templates/js/translated/stock.js:1690 +#: templates/js/translated/stock.js:1669 msgid "User" msgstr "Użytkownik" @@ -158,37 +171,34 @@ msgstr "" msgid "Invalid choice" msgstr "Błędny wybór" -#: InvenTree/models.py:200 InvenTree/models.py:201 company/models.py:414 -#: label/models.py:112 part/models.py:658 part/models.py:2212 +#: InvenTree/models.py:200 InvenTree/models.py:201 company/models.py:415 +#: label/models.py:112 part/models.py:659 part/models.py:2216 #: part/templates/part/part_base.html:241 report/models.py:181 -#: templates/InvenTree/search.html:137 templates/InvenTree/search.html:289 -#: templates/js/translated/company.js:636 templates/js/translated/part.js:466 -#: templates/js/translated/part.js:603 templates/js/translated/part.js:1130 -#: templates/js/translated/stock.js:1483 +#: templates/js/translated/company.js:637 templates/js/translated/part.js:477 +#: templates/js/translated/part.js:614 templates/js/translated/part.js:1141 +#: templates/js/translated/stock.js:1462 msgid "Name" msgstr "Nazwa" -#: InvenTree/models.py:207 build/models.py:187 -#: build/templates/build/detail.html:24 company/models.py:353 -#: company/models.py:569 company/templates/company/manufacturer_part.html:76 +#: InvenTree/models.py:207 build/models.py:189 +#: build/templates/build/detail.html:24 company/models.py:354 +#: company/models.py:570 company/templates/company/manufacturer_part.html:76 #: company/templates/company/supplier_part.html:75 label/models.py:119 -#: order/models.py:158 part/models.py:681 +#: order/models.py:158 part/models.py:682 #: part/templates/part/part_base.html:246 #: part/templates/part/set_category.html:14 report/models.py:194 #: report/models.py:551 report/models.py:590 #: report/templates/report/inventree_build_order_base.html:118 -#: templates/InvenTree/search.html:144 templates/InvenTree/search.html:224 -#: templates/InvenTree/search.html:296 #: templates/InvenTree/settings/header.html:9 -#: templates/js/translated/bom.js:230 templates/js/translated/build.js:891 -#: templates/js/translated/build.js:1179 templates/js/translated/company.js:344 -#: templates/js/translated/company.js:546 -#: templates/js/translated/company.js:834 templates/js/translated/order.js:341 -#: templates/js/translated/order.js:486 templates/js/translated/order.js:710 -#: templates/js/translated/part.js:525 templates/js/translated/part.js:713 -#: templates/js/translated/part.js:902 templates/js/translated/part.js:1142 -#: templates/js/translated/part.js:1210 templates/js/translated/stock.js:840 -#: templates/js/translated/stock.js:1495 templates/js/translated/stock.js:1540 +#: templates/js/translated/bom.js:249 templates/js/translated/build.js:1217 +#: templates/js/translated/build.js:1505 templates/js/translated/company.js:344 +#: templates/js/translated/company.js:547 +#: templates/js/translated/company.js:836 templates/js/translated/order.js:672 +#: templates/js/translated/order.js:832 templates/js/translated/order.js:1056 +#: templates/js/translated/part.js:536 templates/js/translated/part.js:724 +#: templates/js/translated/part.js:913 templates/js/translated/part.js:1153 +#: templates/js/translated/part.js:1221 templates/js/translated/stock.js:819 +#: templates/js/translated/stock.js:1474 templates/js/translated/stock.js:1519 msgid "Description" msgstr "Opis" @@ -200,7 +210,7 @@ msgstr "Opis (opcjonalny)" msgid "parent" msgstr "nadrzędny" -#: InvenTree/serializers.py:55 part/models.py:2454 +#: InvenTree/serializers.py:55 part/models.py:2475 msgid "Must be a valid number" msgstr "Numer musi być prawidłowy" @@ -208,75 +218,75 @@ msgstr "Numer musi być prawidłowy" msgid "Filename" msgstr "" -#: InvenTree/settings.py:523 +#: InvenTree/settings.py:529 msgid "German" msgstr "Niemiecki" -#: InvenTree/settings.py:524 +#: InvenTree/settings.py:530 msgid "Greek" msgstr "Grecki" -#: InvenTree/settings.py:525 +#: InvenTree/settings.py:531 msgid "English" msgstr "Angielski" -#: InvenTree/settings.py:526 +#: InvenTree/settings.py:532 msgid "Spanish" msgstr "Hiszpański" -#: InvenTree/settings.py:527 +#: InvenTree/settings.py:533 msgid "French" msgstr "Francuski" -#: InvenTree/settings.py:528 +#: InvenTree/settings.py:534 msgid "Hebrew" msgstr "Hebrajski" -#: InvenTree/settings.py:529 +#: InvenTree/settings.py:535 msgid "Italian" msgstr "Włoski" -#: InvenTree/settings.py:530 +#: InvenTree/settings.py:536 msgid "Japanese" msgstr "Japoński" -#: InvenTree/settings.py:531 +#: InvenTree/settings.py:537 msgid "Korean" msgstr "Koreański" -#: InvenTree/settings.py:532 +#: InvenTree/settings.py:538 msgid "Dutch" msgstr "Holenderski" -#: InvenTree/settings.py:533 +#: InvenTree/settings.py:539 msgid "Norwegian" msgstr "Norweski" -#: InvenTree/settings.py:534 +#: InvenTree/settings.py:540 msgid "Polish" msgstr "Polski" -#: InvenTree/settings.py:535 +#: InvenTree/settings.py:541 msgid "Russian" msgstr "Rosyjski" -#: InvenTree/settings.py:536 +#: InvenTree/settings.py:542 msgid "Swedish" msgstr "Szwedzki" -#: InvenTree/settings.py:537 +#: InvenTree/settings.py:543 msgid "Thai" msgstr "Tajski" -#: InvenTree/settings.py:538 +#: InvenTree/settings.py:544 msgid "Turkish" msgstr "Turecki" -#: InvenTree/settings.py:539 +#: InvenTree/settings.py:545 msgid "Vietnamese" msgstr "Wietnamski" -#: InvenTree/settings.py:540 +#: InvenTree/settings.py:546 msgid "Chinese" msgstr "Chiński" @@ -321,7 +331,7 @@ msgid "Returned" msgstr "Zwrócone" #: InvenTree/status_codes.py:146 -#: order/templates/order/sales_order_base.html:126 +#: order/templates/order/sales_order_base.html:131 msgid "Shipped" msgstr "Wysłane" @@ -461,27 +471,27 @@ msgstr "" msgid "Overage must be an integer value or a percentage" msgstr "" -#: InvenTree/views.py:610 +#: InvenTree/views.py:616 msgid "Delete Item" msgstr "Usuń element" -#: InvenTree/views.py:659 +#: InvenTree/views.py:665 msgid "Check box to confirm item deletion" msgstr "Zaznacz pole aby potwierdzić usunięcie elementu" -#: InvenTree/views.py:674 templates/InvenTree/settings/user.html:14 +#: InvenTree/views.py:680 templates/InvenTree/settings/user.html:18 msgid "Edit User Information" msgstr "Edytuj informacje użytkownika" -#: InvenTree/views.py:685 templates/InvenTree/settings/user.html:18 +#: InvenTree/views.py:691 templates/InvenTree/settings/user.html:22 msgid "Set Password" msgstr "Ustaw hasło" -#: InvenTree/views.py:704 +#: InvenTree/views.py:710 msgid "Password fields must match" msgstr "Hasła muszą być zgodne" -#: InvenTree/views.py:910 templates/navbar.html:105 +#: InvenTree/views.py:954 templates/navbar.html:97 msgid "System Information" msgstr "Informacja systemowa" @@ -525,6 +535,10 @@ msgstr "" msgid "Barcode associated with StockItem" msgstr "" +#: build/api.py:213 +msgid "Matching build order does not exist" +msgstr "" + #: build/forms.py:37 msgid "Build Order reference" msgstr "Numer Zlecenia Budowy" @@ -536,33 +550,28 @@ msgstr "" #: build/forms.py:42 build/templates/build/build_base.html:146 #: build/templates/build/detail.html:124 #: order/templates/order/order_base.html:124 -#: order/templates/order/sales_order_base.html:119 +#: order/templates/order/sales_order_base.html:124 #: report/templates/report/inventree_build_order_base.html:126 -#: templates/js/translated/build.js:962 templates/js/translated/order.js:358 -#: templates/js/translated/order.js:728 +#: templates/js/translated/build.js:1288 templates/js/translated/order.js:689 +#: templates/js/translated/order.js:1074 msgid "Target Date" msgstr "Data docelowa" -#: build/forms.py:43 build/models.py:277 +#: build/forms.py:43 build/models.py:279 msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/forms.py:48 build/forms.py:90 build/forms.py:266 build/models.py:1402 +#: build/forms.py:48 build/forms.py:90 build/models.py:1281 #: build/templates/build/allocation_card.html:23 -#: build/templates/build/auto_allocate.html:17 #: build/templates/build/build_base.html:133 -#: build/templates/build/detail.html:34 common/models.py:1025 +#: build/templates/build/detail.html:34 common/models.py:1087 #: company/forms.py:42 company/templates/company/supplier_part.html:226 -#: order/forms.py:120 order/forms.py:142 order/forms.py:159 order/models.py:712 -#: order/models.py:964 order/templates/order/order_wizard/match_parts.html:30 -#: order/templates/order/order_wizard/select_parts.html:34 -#: order/templates/order/sales_order_detail.html:201 -#: order/templates/order/sales_order_detail.html:208 -#: order/templates/order/sales_order_detail.html:293 -#: order/templates/order/sales_order_detail.html:365 part/forms.py:249 -#: part/forms.py:265 part/forms.py:281 part/models.py:2356 +#: order/forms.py:101 order/forms.py:123 order/models.py:720 +#: order/models.py:982 order/templates/order/order_wizard/match_parts.html:30 +#: order/templates/order/order_wizard/select_parts.html:34 part/forms.py:249 +#: part/forms.py:265 part/forms.py:281 part/models.py:2377 #: part/templates/part/bom_upload/match_parts.html:31 -#: part/templates/part/detail.html:973 part/templates/part/detail.html:1059 +#: part/templates/part/detail.html:944 part/templates/part/detail.html:1030 #: part/templates/part/part_pricing.html:16 #: report/templates/report/inventree_build_order_base.html:114 #: report/templates/report/inventree_po_report.html:91 @@ -570,14 +579,16 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:77 #: stock/forms.py:140 stock/templates/stock/item_base.html:269 #: stock/templates/stock/stock_adjust.html:18 -#: templates/js/translated/barcode.js:386 templates/js/translated/bom.js:245 -#: templates/js/translated/build.js:298 templates/js/translated/build.js:629 -#: templates/js/translated/build.js:1189 -#: templates/js/translated/model_renderers.js:59 -#: templates/js/translated/order.js:522 templates/js/translated/order.js:824 -#: templates/js/translated/part.js:1317 templates/js/translated/part.js:1440 -#: templates/js/translated/part.js:1518 templates/js/translated/stock.js:1675 -#: templates/js/translated/stock.js:1850 +#: templates/js/translated/barcode.js:386 templates/js/translated/bom.js:264 +#: templates/js/translated/build.js:314 templates/js/translated/build.js:638 +#: templates/js/translated/build.js:977 templates/js/translated/build.js:1515 +#: templates/js/translated/model_renderers.js:74 +#: templates/js/translated/order.js:868 templates/js/translated/order.js:1170 +#: templates/js/translated/order.js:1248 templates/js/translated/order.js:1255 +#: templates/js/translated/order.js:1344 templates/js/translated/order.js:1444 +#: templates/js/translated/part.js:1364 templates/js/translated/part.js:1487 +#: templates/js/translated/part.js:1565 templates/js/translated/stock.js:1654 +#: templates/js/translated/stock.js:1829 msgid "Quantity" msgstr "Ilość" @@ -589,7 +600,7 @@ msgstr "" msgid "Enter quantity for build output" msgstr "" -#: build/forms.py:95 order/forms.py:114 stock/forms.py:83 +#: build/forms.py:95 order/forms.py:95 stock/forms.py:83 msgid "Serial Numbers" msgstr "Numer seryjny" @@ -609,246 +620,238 @@ msgstr "" msgid "Confirm unallocation of stock" msgstr "Potwierdź brak alokacji zapasów" -#: build/forms.py:169 -msgid "Confirm stock allocation" -msgstr "Potwierdź przydział zapasów" - -#: build/forms.py:186 +#: build/forms.py:174 msgid "Mark build as complete" msgstr "Oznacz budowę jako ukończoną" -#: build/forms.py:210 build/templates/build/auto_allocate.html:18 -#: order/serializers.py:216 order/serializers.py:275 stock/forms.py:280 +#: build/forms.py:198 order/serializers.py:217 order/serializers.py:284 +#: stock/forms.py:280 stock/serializers.py:553 #: stock/templates/stock/item_base.html:299 #: stock/templates/stock/stock_adjust.html:17 -#: templates/InvenTree/search.html:260 templates/js/translated/barcode.js:385 -#: templates/js/translated/barcode.js:555 templates/js/translated/build.js:283 -#: templates/js/translated/build.js:643 templates/js/translated/order.js:809 -#: templates/js/translated/part.js:174 templates/js/translated/stock.js:203 -#: templates/js/translated/stock.js:329 templates/js/translated/stock.js:942 -#: templates/js/translated/stock.js:1567 +#: templates/js/translated/barcode.js:385 +#: templates/js/translated/barcode.js:555 templates/js/translated/build.js:299 +#: templates/js/translated/build.js:650 templates/js/translated/order.js:347 +#: templates/js/translated/order.js:1155 templates/js/translated/order.js:1263 +#: templates/js/translated/order.js:1269 templates/js/translated/part.js:179 +#: templates/js/translated/stock.js:183 templates/js/translated/stock.js:921 +#: templates/js/translated/stock.js:1546 msgid "Location" msgstr "Lokalizacja" -#: build/forms.py:211 +#: build/forms.py:199 msgid "Location of completed parts" msgstr "Lokalizacja ukończonych części" -#: build/forms.py:215 build/templates/build/build_base.html:138 -#: build/templates/build/detail.html:62 order/models.py:555 -#: order/serializers.py:230 order/templates/order/receive_parts.html:24 -#: stock/templates/stock/item_base.html:422 templates/InvenTree/search.html:252 -#: templates/js/translated/barcode.js:141 templates/js/translated/build.js:925 -#: templates/js/translated/order.js:345 templates/js/translated/order.js:715 -#: templates/js/translated/stock.js:917 templates/js/translated/stock.js:1644 -#: templates/js/translated/stock.js:1866 +#: build/forms.py:203 build/templates/build/build_base.html:138 +#: build/templates/build/detail.html:62 order/models.py:563 +#: order/serializers.py:238 stock/templates/stock/item_base.html:422 +#: templates/js/translated/barcode.js:141 templates/js/translated/build.js:1251 +#: templates/js/translated/order.js:430 templates/js/translated/order.js:676 +#: templates/js/translated/order.js:1061 templates/js/translated/stock.js:896 +#: templates/js/translated/stock.js:1623 templates/js/translated/stock.js:1845 msgid "Status" msgstr "Status" -#: build/forms.py:216 +#: build/forms.py:204 msgid "Build output stock status" msgstr "" -#: build/forms.py:223 +#: build/forms.py:211 msgid "Confirm incomplete" msgstr "Potwierdź nieukończone" -#: build/forms.py:224 +#: build/forms.py:212 msgid "Confirm completion with incomplete stock allocation" msgstr "" -#: build/forms.py:227 +#: build/forms.py:215 msgid "Confirm build completion" msgstr "" -#: build/forms.py:252 +#: build/forms.py:240 msgid "Confirm cancel" msgstr "Na pewno anulować?" -#: build/forms.py:252 build/views.py:65 +#: build/forms.py:240 build/views.py:65 msgid "Confirm build cancellation" msgstr "" -#: build/forms.py:266 -msgid "Select quantity of stock to allocate" -msgstr "Wybierz ilość zapasów do rezerwacji" - -#: build/models.py:113 +#: build/models.py:115 msgid "Invalid choice for parent build" msgstr "" -#: build/models.py:117 build/templates/build/build_base.html:9 +#: build/models.py:119 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:73 #: report/templates/report/inventree_build_order_base.html:106 -#: templates/js/translated/build.js:260 +#: templates/js/translated/build.js:276 msgid "Build Order" msgstr "Zlecenie Budowy" -#: build/models.py:118 build/templates/build/index.html:8 +#: build/models.py:120 build/templates/build/index.html:8 #: build/templates/build/index.html:15 #: order/templates/order/sales_order_detail.html:34 #: order/templates/order/so_navbar.html:19 #: order/templates/order/so_navbar.html:22 part/templates/part/navbar.html:50 #: part/templates/part/navbar.html:53 templates/InvenTree/index.html:229 -#: templates/InvenTree/search.html:185 -#: templates/InvenTree/settings/navbar.html:101 -#: templates/InvenTree/settings/navbar.html:103 users/models.py:44 +#: templates/InvenTree/search.html:171 +#: templates/InvenTree/settings/navbar.html:113 +#: templates/InvenTree/settings/navbar.html:115 users/models.py:44 msgid "Build Orders" msgstr "Zlecenia budowy" -#: build/models.py:178 +#: build/models.py:180 msgid "Build Order Reference" msgstr "Odwołanie do zamówienia wykonania" -#: build/models.py:179 order/models.py:246 order/models.py:539 -#: order/models.py:719 order/templates/order/sales_order_detail.html:360 -#: part/models.py:2365 part/templates/part/bom_upload/match_parts.html:30 +#: build/models.py:181 order/models.py:246 order/models.py:547 +#: order/models.py:727 part/models.py:2386 +#: part/templates/part/bom_upload/match_parts.html:30 #: report/templates/report/inventree_po_report.html:92 #: report/templates/report/inventree_so_report.html:92 -#: templates/js/translated/bom.js:237 templates/js/translated/build.js:718 -#: templates/js/translated/build.js:1183 templates/js/translated/order.js:517 +#: templates/js/translated/bom.js:256 templates/js/translated/build.js:734 +#: templates/js/translated/build.js:1509 templates/js/translated/order.js:863 +#: templates/js/translated/order.js:1438 msgid "Reference" msgstr "Referencja" -#: build/models.py:190 +#: build/models.py:192 msgid "Brief description of the build" msgstr "Krótki opis budowy" -#: build/models.py:199 build/templates/build/build_base.html:163 +#: build/models.py:201 build/templates/build/build_base.html:163 #: build/templates/build/detail.html:80 msgid "Parent Build" msgstr "Budowa nadrzędna" -#: build/models.py:200 +#: build/models.py:202 msgid "BuildOrder to which this build is allocated" msgstr "Zamówienie budowy, do którego budowa jest przypisana" -#: build/models.py:205 build/templates/build/auto_allocate.html:16 -#: build/templates/build/build_base.html:128 -#: build/templates/build/detail.html:29 company/models.py:704 -#: order/models.py:772 order/models.py:837 -#: order/templates/order/order_wizard/select_parts.html:32 -#: order/templates/order/receive_parts.html:19 -#: order/templates/order/sales_order_detail.html:345 part/models.py:297 -#: part/models.py:1996 part/models.py:2012 part/models.py:2031 -#: part/models.py:2049 part/models.py:2128 part/models.py:2250 -#: part/models.py:2340 part/templates/part/detail.html:199 +#: build/models.py:207 build/templates/build/build_base.html:128 +#: build/templates/build/detail.html:29 company/models.py:705 +#: order/models.py:780 order/models.py:851 +#: order/templates/order/order_wizard/select_parts.html:32 part/models.py:298 +#: part/models.py:2000 part/models.py:2016 part/models.py:2035 +#: part/models.py:2053 part/models.py:2132 part/models.py:2254 +#: part/models.py:2361 part/templates/part/detail.html:199 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/set_category.html:13 #: report/templates/report/inventree_build_order_base.html:110 #: report/templates/report/inventree_po_report.html:90 #: report/templates/report/inventree_so_report.html:90 -#: templates/InvenTree/search.html:112 templates/InvenTree/search.html:210 -#: templates/js/translated/barcode.js:384 templates/js/translated/bom.js:203 -#: templates/js/translated/build.js:609 templates/js/translated/build.js:896 -#: templates/js/translated/build.js:1156 templates/js/translated/company.js:487 -#: templates/js/translated/company.js:743 templates/js/translated/order.js:471 -#: templates/js/translated/part.js:694 templates/js/translated/part.js:864 -#: templates/js/translated/stock.js:201 templates/js/translated/stock.js:797 -#: templates/js/translated/stock.js:1838 +#: templates/InvenTree/search.html:112 templates/js/translated/barcode.js:384 +#: templates/js/translated/bom.js:222 templates/js/translated/build.js:611 +#: templates/js/translated/build.js:974 templates/js/translated/build.js:1222 +#: templates/js/translated/build.js:1482 templates/js/translated/company.js:488 +#: templates/js/translated/company.js:745 templates/js/translated/order.js:425 +#: templates/js/translated/order.js:817 templates/js/translated/order.js:1422 +#: templates/js/translated/part.js:705 templates/js/translated/part.js:875 +#: templates/js/translated/stock.js:181 templates/js/translated/stock.js:776 +#: templates/js/translated/stock.js:1817 msgid "Part" msgstr "Część" -#: build/models.py:213 +#: build/models.py:215 msgid "Select part to build" msgstr "Wybierz część do budowy" -#: build/models.py:218 +#: build/models.py:220 msgid "Sales Order Reference" msgstr "Odwołanie do zamówienia sprzedaży" -#: build/models.py:222 +#: build/models.py:224 msgid "SalesOrder to which this build is allocated" msgstr "Zamówienie sprzedaży, do którego budowa jest przypisana" -#: build/models.py:227 +#: build/models.py:229 templates/js/translated/build.js:962 msgid "Source Location" msgstr "Lokalizacja źródła" -#: build/models.py:231 +#: build/models.py:233 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "Wybierz lokalizację, z której pobrać element do budowy (pozostaw puste, aby wziąć z dowolnej lokalizacji)" -#: build/models.py:236 +#: build/models.py:238 msgid "Destination Location" msgstr "Lokalizacja docelowa" -#: build/models.py:240 +#: build/models.py:242 msgid "Select location where the completed items will be stored" msgstr "Wybierz lokalizację, w której będą przechowywane ukończone elementy" -#: build/models.py:244 +#: build/models.py:246 msgid "Build Quantity" msgstr "Ilość do stworzenia" -#: build/models.py:247 +#: build/models.py:249 msgid "Number of stock items to build" msgstr "Ilość przedmiotów do zbudowania" -#: build/models.py:251 +#: build/models.py:253 msgid "Completed items" msgstr "Ukończone elementy" -#: build/models.py:253 +#: build/models.py:255 msgid "Number of stock items which have been completed" msgstr "Ilość produktów magazynowych które zostały ukończone" -#: build/models.py:257 part/templates/part/part_base.html:198 +#: build/models.py:259 part/templates/part/part_base.html:198 msgid "Build Status" msgstr "Status budowania" -#: build/models.py:261 +#: build/models.py:263 msgid "Build status code" msgstr "Kod statusu budowania" -#: build/models.py:265 stock/models.py:513 +#: build/models.py:267 stock/models.py:513 msgid "Batch Code" msgstr "Kod partii" -#: build/models.py:269 +#: build/models.py:271 msgid "Batch code for this build output" msgstr "Kod partii dla wyjścia budowy" -#: build/models.py:272 order/models.py:162 part/models.py:853 -#: part/templates/part/part_base.html:272 templates/js/translated/order.js:723 +#: build/models.py:274 order/models.py:162 part/models.py:854 +#: part/templates/part/part_base.html:272 templates/js/translated/order.js:1069 msgid "Creation Date" msgstr "Data utworzenia" -#: build/models.py:276 order/models.py:561 +#: build/models.py:278 order/models.py:569 msgid "Target completion date" msgstr "Docelowy termin zakończenia" -#: build/models.py:280 order/models.py:288 templates/js/translated/build.js:967 +#: build/models.py:282 order/models.py:288 +#: templates/js/translated/build.js:1293 msgid "Completion Date" msgstr "Data zakończenia" -#: build/models.py:286 +#: build/models.py:288 msgid "completed by" msgstr "zrealizowane przez" -#: build/models.py:294 templates/js/translated/build.js:938 +#: build/models.py:296 templates/js/translated/build.js:1264 msgid "Issued by" msgstr "Wydany przez" -#: build/models.py:295 +#: build/models.py:297 msgid "User who issued this build order" msgstr "Użytkownik, który wydał to zamówienie" -#: build/models.py:303 build/templates/build/build_base.html:184 +#: build/models.py:305 build/templates/build/build_base.html:184 #: build/templates/build/detail.html:108 order/models.py:176 #: order/templates/order/order_base.html:138 -#: order/templates/order/sales_order_base.html:140 part/models.py:857 +#: order/templates/order/sales_order_base.html:145 part/models.py:858 #: report/templates/report/inventree_build_order_base.html:159 -#: templates/js/translated/build.js:950 +#: templates/js/translated/build.js:1276 msgid "Responsible" msgstr "Odpowiedzialny" -#: build/models.py:304 +#: build/models.py:306 msgid "User responsible for this build order" msgstr "Użytkownik odpowiedzialny za to zamówienie budowy" -#: build/models.py:309 build/templates/build/detail.html:94 +#: build/models.py:311 build/templates/build/detail.html:94 #: company/templates/company/manufacturer_part.html:83 #: company/templates/company/supplier_part.html:82 #: part/templates/part/part_base.html:266 stock/models.py:507 @@ -856,140 +859,157 @@ msgstr "Użytkownik odpowiedzialny za to zamówienie budowy" msgid "External Link" msgstr "Link Zewnętrzny" -#: build/models.py:310 part/models.py:715 stock/models.py:509 +#: build/models.py:312 part/models.py:716 stock/models.py:509 msgid "Link to external URL" msgstr "Link do zewnętrznego adresu URL" -#: build/models.py:314 build/templates/build/navbar.html:52 -#: company/models.py:141 company/models.py:576 +#: build/models.py:316 build/templates/build/navbar.html:52 +#: company/models.py:142 company/models.py:577 #: company/templates/company/navbar.html:69 #: company/templates/company/navbar.html:72 order/models.py:180 -#: order/models.py:721 order/templates/order/po_navbar.html:38 +#: order/models.py:729 order/templates/order/po_navbar.html:38 #: order/templates/order/po_navbar.html:41 -#: order/templates/order/sales_order_detail.html:440 #: order/templates/order/so_navbar.html:33 -#: order/templates/order/so_navbar.html:36 part/models.py:842 +#: order/templates/order/so_navbar.html:36 part/models.py:843 #: part/templates/part/detail.html:105 part/templates/part/navbar.html:120 #: part/templates/part/navbar.html:123 #: report/templates/report/inventree_build_order_base.html:173 #: stock/forms.py:138 stock/forms.py:250 stock/forms.py:282 stock/models.py:579 -#: stock/models.py:1726 stock/models.py:1832 +#: stock/models.py:1723 stock/models.py:1829 stock/serializers.py:451 #: stock/templates/stock/navbar.html:57 templates/js/translated/barcode.js:59 -#: templates/js/translated/bom.js:385 templates/js/translated/company.js:839 -#: templates/js/translated/order.js:604 templates/js/translated/stock.js:338 -#: templates/js/translated/stock.js:580 templates/js/translated/stock.js:1061 +#: templates/js/translated/bom.js:406 templates/js/translated/company.js:841 +#: templates/js/translated/order.js:950 templates/js/translated/order.js:1540 +#: templates/js/translated/stock.js:559 templates/js/translated/stock.js:1040 msgid "Notes" msgstr "Uwagi" -#: build/models.py:315 +#: build/models.py:317 msgid "Extra build notes" msgstr "Dodatkowe notatki do budowy" -#: build/models.py:792 +#: build/models.py:714 msgid "No build output specified" msgstr "Nie określono danych wyjściowych budowy" -#: build/models.py:795 +#: build/models.py:717 msgid "Build output is already completed" msgstr "Budowanie wyjścia jest już ukończone" -#: build/models.py:798 +#: build/models.py:720 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:1208 -msgid "BuildItem must be unique for build, stock_item and install_into" -msgstr "" - -#: build/models.py:1233 +#: build/models.py:1102 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1237 +#: build/models.py:1111 #, python-brace-format -msgid "Allocated quantity ({n}) must not exceed available quantity ({q})" -msgstr "Przydzielona ilość ({n}) nie może przekraczać dostępnej ilości ({q})" - -#: build/models.py:1244 order/models.py:938 -msgid "StockItem is over-allocated" +msgid "Allocated quantity ({q}) must not execed available stock quantity ({a})" msgstr "" -#: build/models.py:1248 order/models.py:941 +#: build/models.py:1121 +msgid "Stock item is over-allocated" +msgstr "" + +#: build/models.py:1127 order/models.py:955 msgid "Allocation quantity must be greater than zero" msgstr "Alokowana ilość musi być większa niż zero" -#: build/models.py:1252 +#: build/models.py:1133 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1312 -#, python-brace-format -msgid "Selected stock item not found in BOM for part '{p}'" +#: build/models.py:1191 +msgid "Selected stock item not found in BOM" msgstr "" -#: build/models.py:1372 stock/templates/stock/item_base.html:331 -#: templates/InvenTree/search.html:183 templates/js/translated/build.js:869 +#: build/models.py:1251 stock/templates/stock/item_base.html:331 +#: templates/InvenTree/search.html:169 templates/js/translated/build.js:1195 #: templates/navbar.html:35 msgid "Build" msgstr "Budowa" -#: build/models.py:1373 +#: build/models.py:1252 msgid "Build to allocate parts" msgstr "" -#: build/models.py:1389 stock/templates/stock/item_base.html:8 +#: build/models.py:1268 build/serializers.py:151 +#: stock/templates/stock/item_base.html:8 #: stock/templates/stock/item_base.html:31 #: stock/templates/stock/item_base.html:353 #: stock/templates/stock/stock_adjust.html:16 -#: templates/js/translated/build.js:271 templates/js/translated/build.js:276 -#: templates/js/translated/build.js:1012 templates/js/translated/order.js:797 -#: templates/js/translated/order.js:802 templates/js/translated/stock.js:1626 +#: templates/js/translated/build.js:287 templates/js/translated/build.js:292 +#: templates/js/translated/build.js:976 templates/js/translated/build.js:1338 +#: templates/js/translated/order.js:1143 templates/js/translated/order.js:1148 +#: templates/js/translated/stock.js:1605 msgid "Stock Item" msgstr "Element magazynowy" -#: build/models.py:1390 +#: build/models.py:1269 msgid "Source stock item" msgstr "Lokalizacja magazynowania przedmiotu" -#: build/models.py:1403 +#: build/models.py:1282 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1411 +#: build/models.py:1290 msgid "Install into" msgstr "Zainstaluj do" -#: build/models.py:1412 +#: build/models.py:1291 msgid "Destination stock item" msgstr "Docelowa lokalizacja magazynowa przedmiotu" +#: build/serializers.py:133 part/models.py:2501 +msgid "BOM Item" +msgstr "" + +#: build/serializers.py:142 +msgid "bom_item.part must point to the same part as the build order" +msgstr "" + +#: build/serializers.py:157 +msgid "Item must be in stock" +msgstr "" + +#: build/serializers.py:171 order/models.py:313 order/serializers.py:231 +#: stock/models.py:351 stock/models.py:1072 +msgid "Quantity must be greater than zero" +msgstr "Ilość musi być większa niż zero" + +#: build/serializers.py:180 +msgid "Build Output" +msgstr "" + +#: build/serializers.py:213 +#, python-brace-format +msgid "Available quantity ({q}) exceeded" +msgstr "" + +#: build/serializers.py:219 +msgid "Build output must be specified for allocation of tracked parts" +msgstr "" + +#: build/serializers.py:226 +msgid "Build output cannot be specified for allocation of untracked parts" +msgstr "" + +#: build/serializers.py:254 +msgid "Allocation items must be provided" +msgstr "" + #: build/templates/build/allocation_card.html:21 #: build/templates/build/complete_output.html:46 -#: order/templates/order/sales_order_detail.html:206 -#: order/templates/order/sales_order_detail.html:291 #: report/templates/report/inventree_test_report_base.html:75 #: stock/models.py:501 stock/templates/stock/item_base.html:251 -#: templates/js/translated/build.js:627 -#: templates/js/translated/model_renderers.js:57 +#: templates/js/translated/build.js:636 +#: templates/js/translated/model_renderers.js:72 +#: templates/js/translated/order.js:1253 templates/js/translated/order.js:1342 msgid "Serial Number" msgstr "Numer Seryjny" -#: build/templates/build/auto_allocate.html:9 -msgid "Automatically Allocate Stock" -msgstr "Przydziel automatycznie zapasy" - -#: build/templates/build/auto_allocate.html:10 -msgid "The following stock items will be allocated to the specified build output" -msgstr "" - -#: build/templates/build/auto_allocate.html:37 -msgid "No stock items found that can be automatically allocated to this build" -msgstr "" - -#: build/templates/build/auto_allocate.html:39 -msgid "Stock items will have to be manually allocated" -msgstr "" - #: build/templates/build/build_base.html:18 #, python-format msgid "This Build Order is allocated to Sales Order %(link)s" @@ -1033,10 +1053,10 @@ msgstr "Widok administratora" #: order/templates/order/order_base.html:32 #: order/templates/order/order_base.html:86 #: order/templates/order/sales_order_base.html:43 -#: order/templates/order/sales_order_base.html:88 +#: order/templates/order/sales_order_base.html:93 #: templates/js/translated/table_filters.js:272 -#: templates/js/translated/table_filters.js:291 -#: templates/js/translated/table_filters.js:308 +#: templates/js/translated/table_filters.js:300 +#: templates/js/translated/table_filters.js:317 msgid "Overdue" msgstr "Zaległe" @@ -1086,14 +1106,14 @@ msgid "Progress" msgstr "Postęp" #: build/templates/build/build_base.html:170 -#: build/templates/build/detail.html:87 order/models.py:835 +#: build/templates/build/detail.html:87 order/models.py:848 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:35 #: order/templates/order/sales_order_ship.html:25 #: report/templates/report/inventree_build_order_base.html:136 #: report/templates/report/inventree_so_report.html:77 #: stock/templates/stock/item_base.html:293 -#: templates/js/translated/order.js:670 +#: templates/js/translated/order.js:1016 msgid "Sales Order" msgstr "Zamówienie zakupu" @@ -1171,28 +1191,6 @@ msgstr "" msgid "The following items will be created" msgstr "" -#: build/templates/build/create_build_item.html:7 -msgid "Select a stock item to allocate to the selected build output" -msgstr "" - -#: build/templates/build/create_build_item.html:11 -#, python-format -msgid "The allocated stock will be installed into the following build output:
%(output)s" -msgstr "" - -#: build/templates/build/create_build_item.html:17 -#, python-format -msgid "No stock available for %(part)s" -msgstr "Brak zapasów dla %(part)s" - -#: build/templates/build/delete_build_item.html:8 -msgid "Are you sure you want to unallocate this stock?" -msgstr "Czy na pewno chcesz anulować przydział tego zapasu?" - -#: build/templates/build/delete_build_item.html:11 -msgid "The selected stock will be unallocated from the build output" -msgstr "" - #: build/templates/build/detail.html:38 msgid "Stock Source" msgstr "Źródło magazynu" @@ -1201,9 +1199,8 @@ msgstr "Źródło magazynu" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/forms.py:88 order/models.py:794 -#: order/templates/order/receive_parts.html:25 stock/forms.py:134 -#: templates/js/translated/order.js:593 +#: build/templates/build/detail.html:49 order/models.py:802 stock/forms.py:134 +#: templates/js/translated/order.js:431 templates/js/translated/order.js:939 msgid "Destination" msgstr "Przeznaczenie" @@ -1213,7 +1210,7 @@ msgstr "Nie określono lokalizacji docelowej" #: build/templates/build/detail.html:73 #: stock/templates/stock/item_base.html:317 -#: templates/js/translated/stock.js:931 templates/js/translated/stock.js:1873 +#: templates/js/translated/stock.js:910 templates/js/translated/stock.js:1852 #: templates/js/translated/table_filters.js:129 #: templates/js/translated/table_filters.js:211 msgid "Batch" @@ -1221,8 +1218,8 @@ msgstr "Partia" #: build/templates/build/detail.html:119 #: order/templates/order/order_base.html:111 -#: order/templates/order/sales_order_base.html:113 -#: templates/js/translated/build.js:933 +#: order/templates/order/sales_order_base.html:118 +#: templates/js/translated/build.js:1259 msgid "Created" msgstr "Utworzony" @@ -1230,7 +1227,8 @@ msgstr "Utworzony" msgid "No target date set" msgstr "" -#: build/templates/build/detail.html:135 templates/js/translated/build.js:911 +#: build/templates/build/detail.html:135 templates/js/translated/build.js:1237 +#: templates/js/translated/table_filters.js:282 msgid "Completed" msgstr "Zakończone" @@ -1250,15 +1248,16 @@ msgstr "Przydziel zapasy do budowy" msgid "Allocate stock to build" msgstr "Przydziel zapasy do budowy" -#: build/templates/build/detail.html:173 -msgid "Auto Allocate" -msgstr "Automatyczne przypisywanie" +#: build/templates/build/detail.html:173 build/templates/build/navbar.html:20 +#: build/templates/build/navbar.html:23 +msgid "Allocate Stock" +msgstr "Przydziel zapasy" -#: build/templates/build/detail.html:175 templates/js/translated/build.js:801 +#: build/templates/build/detail.html:175 templates/js/translated/build.js:817 msgid "Unallocate stock" msgstr "Cofnij przydział zapasów" -#: build/templates/build/detail.html:176 build/views.py:318 build/views.py:638 +#: build/templates/build/detail.html:176 build/views.py:257 msgid "Unallocate Stock" msgstr "Cofnij przydział zapasów" @@ -1268,7 +1267,7 @@ msgstr "Zamów wymagane komponenty" #: build/templates/build/detail.html:180 #: company/templates/company/detail.html:32 -#: company/templates/company/detail.html:72 order/views.py:679 +#: company/templates/company/detail.html:72 order/views.py:509 #: part/templates/part/category.html:140 msgid "Order Parts" msgstr "Zamów części" @@ -1282,38 +1281,42 @@ msgid "Untracked stock has not been fully allocated for this Build Order" msgstr "" #: build/templates/build/detail.html:197 +msgid "Allocate selected items" +msgstr "" + +#: build/templates/build/detail.html:209 msgid "This Build Order does not have any associated untracked BOM items" msgstr "" -#: build/templates/build/detail.html:206 +#: build/templates/build/detail.html:218 msgid "Incomplete Build Outputs" msgstr "" -#: build/templates/build/detail.html:211 +#: build/templates/build/detail.html:223 msgid "Create new build output" msgstr "" -#: build/templates/build/detail.html:212 +#: build/templates/build/detail.html:224 msgid "Create New Output" msgstr "Utwórz nowe wyjście" -#: build/templates/build/detail.html:225 +#: build/templates/build/detail.html:237 msgid "Create a new build output" msgstr "" -#: build/templates/build/detail.html:226 +#: build/templates/build/detail.html:238 msgid "No incomplete build outputs remain." msgstr "" -#: build/templates/build/detail.html:227 +#: build/templates/build/detail.html:239 msgid "Create a new build output using the button above" msgstr "" -#: build/templates/build/detail.html:235 +#: build/templates/build/detail.html:247 msgid "Completed Build Outputs" msgstr "" -#: build/templates/build/detail.html:246 build/templates/build/navbar.html:42 +#: build/templates/build/detail.html:258 build/templates/build/navbar.html:42 #: build/templates/build/navbar.html:45 order/templates/order/po_navbar.html:35 #: order/templates/order/sales_order_detail.html:43 #: order/templates/order/so_navbar.html:29 part/templates/part/detail.html:173 @@ -1323,15 +1326,15 @@ msgstr "" msgid "Attachments" msgstr "Załączniki" -#: build/templates/build/detail.html:257 +#: build/templates/build/detail.html:269 msgid "Build Notes" msgstr "Notatki tworzenia" -#: build/templates/build/detail.html:261 build/templates/build/detail.html:398 +#: build/templates/build/detail.html:273 build/templates/build/detail.html:414 #: company/templates/company/detail.html:169 #: company/templates/company/detail.html:196 -#: order/templates/order/purchase_order_detail.html:62 -#: order/templates/order/purchase_order_detail.html:95 +#: order/templates/order/purchase_order_detail.html:71 +#: order/templates/order/purchase_order_detail.html:104 #: order/templates/order/sales_order_detail.html:58 #: order/templates/order/sales_order_detail.html:85 #: part/templates/part/detail.html:109 stock/templates/stock/item.html:103 @@ -1339,39 +1342,48 @@ msgstr "Notatki tworzenia" msgid "Edit Notes" msgstr "" -#: build/templates/build/detail.html:357 +#: build/templates/build/detail.html:373 #: order/templates/order/po_attachments.html:79 -#: order/templates/order/purchase_order_detail.html:157 +#: order/templates/order/purchase_order_detail.html:166 #: order/templates/order/sales_order_detail.html:146 -#: part/templates/part/detail.html:920 stock/templates/stock/item.html:253 +#: part/templates/part/detail.html:891 stock/templates/stock/item.html:253 #: templates/attachment_table.html:6 msgid "Add Attachment" msgstr "Dodaj załącznik" -#: build/templates/build/detail.html:376 +#: build/templates/build/detail.html:392 #: order/templates/order/po_attachments.html:51 -#: order/templates/order/purchase_order_detail.html:129 +#: order/templates/order/purchase_order_detail.html:138 #: order/templates/order/sales_order_detail.html:119 -#: part/templates/part/detail.html:874 stock/templates/stock/item.html:221 +#: part/templates/part/detail.html:845 stock/templates/stock/item.html:221 msgid "Edit Attachment" msgstr "Edytuj załącznik" -#: build/templates/build/detail.html:383 +#: build/templates/build/detail.html:399 #: order/templates/order/po_attachments.html:58 -#: order/templates/order/purchase_order_detail.html:136 +#: order/templates/order/purchase_order_detail.html:145 #: order/templates/order/sales_order_detail.html:125 -#: part/templates/part/detail.html:883 stock/templates/stock/item.html:230 +#: part/templates/part/detail.html:854 stock/templates/stock/item.html:230 +#: templates/js/translated/order.js:1230 msgid "Confirm Delete Operation" msgstr "" -#: build/templates/build/detail.html:384 +#: build/templates/build/detail.html:400 #: order/templates/order/po_attachments.html:59 -#: order/templates/order/purchase_order_detail.html:137 +#: order/templates/order/purchase_order_detail.html:146 #: order/templates/order/sales_order_detail.html:126 -#: part/templates/part/detail.html:884 stock/templates/stock/item.html:231 +#: part/templates/part/detail.html:855 stock/templates/stock/item.html:231 msgid "Delete Attachment" msgstr "Usuń załącznik" +#: build/templates/build/detail.html:443 +msgid "Allocation Complete" +msgstr "" + +#: build/templates/build/detail.html:444 +msgid "All untracked stock items have been allocated" +msgstr "" + #: build/templates/build/edit_build_item.html:7 msgid "Alter the quantity of stock allocated to the build output" msgstr "" @@ -1401,15 +1413,10 @@ msgid "Build Order Details" msgstr "Szczegóły zlecenia budowy" #: build/templates/build/navbar.html:15 order/templates/order/po_navbar.html:15 -#: templates/js/translated/stock.js:1555 +#: templates/js/translated/stock.js:1534 msgid "Details" msgstr "Szczegóły" -#: build/templates/build/navbar.html:20 build/templates/build/navbar.html:23 -#: build/views.py:90 -msgid "Allocate Stock" -msgstr "Przydziel zapasy" - #: build/templates/build/navbar.html:28 build/templates/build/navbar.html:31 msgid "Build Outputs" msgstr "" @@ -1434,120 +1441,82 @@ msgstr "" msgid "Build was cancelled" msgstr "Tworzenie zostało przerwane" -#: build/views.py:137 -msgid "Allocated stock to build output" -msgstr "" - -#: build/views.py:149 +#: build/views.py:88 msgid "Create Build Output" msgstr "Utwórz zlecenie budowy" -#: build/views.py:167 +#: build/views.py:106 msgid "Maximum output quantity is " msgstr "" -#: build/views.py:183 stock/views.py:1389 +#: build/views.py:122 stock/views.py:1366 msgid "Serial numbers already exist" msgstr "Numer seryjny już istnieje" -#: build/views.py:192 +#: build/views.py:131 msgid "Serial numbers required for trackable build output" msgstr "" -#: build/views.py:258 +#: build/views.py:197 msgid "Delete Build Output" msgstr "" -#: build/views.py:279 build/views.py:369 +#: build/views.py:218 build/views.py:308 msgid "Confirm unallocation of build stock" msgstr "" -#: build/views.py:280 build/views.py:370 stock/views.py:404 +#: build/views.py:219 build/views.py:309 stock/views.py:381 msgid "Check the confirmation box" msgstr "" -#: build/views.py:292 +#: build/views.py:231 msgid "Build output does not match build" msgstr "" -#: build/views.py:294 build/views.py:495 +#: build/views.py:233 build/views.py:434 msgid "Build output must be specified" msgstr "" -#: build/views.py:306 +#: build/views.py:245 msgid "Build output deleted" msgstr "" -#: build/views.py:404 +#: build/views.py:343 msgid "Complete Build Order" msgstr "" -#: build/views.py:410 +#: build/views.py:349 msgid "Build order cannot be completed - incomplete outputs remain" msgstr "" -#: build/views.py:421 +#: build/views.py:360 msgid "Completed build order" msgstr "" -#: build/views.py:437 +#: build/views.py:376 msgid "Complete Build Output" msgstr "" -#: build/views.py:479 +#: build/views.py:418 msgid "Invalid stock status value selected" msgstr "" -#: build/views.py:486 +#: build/views.py:425 msgid "Quantity to complete cannot exceed build output quantity" msgstr "" -#: build/views.py:492 +#: build/views.py:431 msgid "Confirm completion of incomplete build" msgstr "" -#: build/views.py:591 +#: build/views.py:530 msgid "Build output completed" msgstr "" -#: build/views.py:628 +#: build/views.py:567 msgid "Delete Build Order" msgstr "" -#: build/views.py:643 -msgid "Removed parts from build allocation" -msgstr "" - -#: build/views.py:655 -msgid "Allocate stock to build output" -msgstr "" - -#: build/views.py:698 -msgid "Item must be currently in stock" -msgstr "" - -#: build/views.py:704 -msgid "Stock item is over-allocated" -msgstr "" - -#: build/views.py:705 templates/js/translated/bom.js:269 -#: templates/js/translated/build.js:728 templates/js/translated/build.js:1019 -#: templates/js/translated/build.js:1196 -msgid "Available" -msgstr "Dostępne" - -#: build/views.py:707 -msgid "Stock item must be selected" -msgstr "" - -#: build/views.py:870 -msgid "Edit Stock Allocation" -msgstr "" - -#: build/views.py:874 -msgid "Updated Build Item" -msgstr "" - #: common/files.py:67 msgid "Unsupported file format: {ext.upper()}" msgstr "" @@ -1585,7 +1554,7 @@ msgstr "" msgid "Select {name} file to upload" msgstr "" -#: common/models.py:308 common/models.py:839 common/models.py:986 +#: common/models.py:308 common/models.py:887 common/models.py:1048 msgid "Settings key (must be unique - case insensitive" msgstr "" @@ -1625,7 +1594,7 @@ msgstr "" msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:522 company/models.py:99 company/models.py:100 +#: common/models.py:522 company/models.py:100 company/models.py:101 msgid "Company name" msgstr "Nazwa firmy" @@ -1721,9 +1690,9 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:603 part/models.py:2252 report/models.py:187 +#: common/models.py:603 part/models.py:2256 report/models.py:187 #: stock/forms.py:224 templates/js/translated/table_filters.js:38 -#: templates/js/translated/table_filters.js:342 +#: templates/js/translated/table_filters.js:351 msgid "Template" msgstr "Szablon" @@ -1731,9 +1700,9 @@ msgstr "Szablon" msgid "Parts are templates by default" msgstr "" -#: common/models.py:610 part/models.py:805 +#: common/models.py:610 part/models.py:806 #: templates/js/translated/table_filters.js:146 -#: templates/js/translated/table_filters.js:354 +#: templates/js/translated/table_filters.js:363 msgid "Assembly" msgstr "Złożenie" @@ -1741,8 +1710,8 @@ msgstr "Złożenie" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:617 part/models.py:811 -#: templates/js/translated/table_filters.js:358 +#: common/models.py:617 part/models.py:812 +#: templates/js/translated/table_filters.js:367 msgid "Component" msgstr "Komponent" @@ -1750,7 +1719,7 @@ msgstr "Komponent" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:624 part/models.py:822 +#: common/models.py:624 part/models.py:823 msgid "Purchaseable" msgstr "Możliwość zakupu" @@ -1758,8 +1727,8 @@ msgstr "Możliwość zakupu" msgid "Parts are purchaseable by default" msgstr "Części są domyślnie z możliwością zakupu" -#: common/models.py:631 part/models.py:827 -#: templates/js/translated/table_filters.js:366 +#: common/models.py:631 part/models.py:828 +#: templates/js/translated/table_filters.js:375 msgid "Salable" msgstr "Możliwość sprzedaży" @@ -1767,9 +1736,9 @@ msgstr "Możliwość sprzedaży" msgid "Parts are salable by default" msgstr "Części są domyślnie z możliwością sprzedaży" -#: common/models.py:638 part/models.py:817 +#: common/models.py:638 part/models.py:818 #: templates/js/translated/table_filters.js:46 -#: templates/js/translated/table_filters.js:370 +#: templates/js/translated/table_filters.js:379 msgid "Trackable" msgstr "Możliwość śledzenia" @@ -1777,7 +1746,7 @@ msgstr "Możliwość śledzenia" msgid "Parts are trackable by default" msgstr "Części są domyślnie z możliwością śledzenia" -#: common/models.py:645 part/models.py:837 +#: common/models.py:645 part/models.py:838 #: part/templates/part/part_base.html:66 #: templates/js/translated/table_filters.js:42 msgid "Virtual" @@ -1787,392 +1756,464 @@ msgstr "Wirtualny" msgid "Parts are virtual by default" msgstr "Części są domyślnie wirtualne" -#: common/models.py:653 -msgid "Show Quantity in Forms" -msgstr "Pokaż ilość w formularzach" - -#: common/models.py:654 -msgid "Display available part quantity in some forms" -msgstr "" - -#: common/models.py:660 +#: common/models.py:652 msgid "Show Import in Views" msgstr "" -#: common/models.py:661 +#: common/models.py:653 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:667 +#: common/models.py:659 msgid "Show Price in Forms" msgstr "" -#: common/models.py:668 +#: common/models.py:660 msgid "Display part price in some forms" msgstr "" -#: common/models.py:674 +#: common/models.py:671 +msgid "Show Price in BOM" +msgstr "" + +#: common/models.py:672 +msgid "Include pricing information in BOM tables" +msgstr "" + +#: common/models.py:678 msgid "Show related parts" msgstr "" -#: common/models.py:675 +#: common/models.py:679 msgid "Display related parts for a part" msgstr "" -#: common/models.py:681 +#: common/models.py:685 msgid "Create initial stock" msgstr "" -#: common/models.py:682 +#: common/models.py:686 msgid "Create initial stock on part creation" msgstr "" -#: common/models.py:688 +#: common/models.py:692 msgid "Internal Prices" msgstr "" -#: common/models.py:689 +#: common/models.py:693 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:695 +#: common/models.py:699 msgid "Internal Price as BOM-Price" msgstr "" -#: common/models.py:696 +#: common/models.py:700 msgid "Use the internal price (if set) in BOM-price calculations" msgstr "" -#: common/models.py:702 templates/stats.html:25 +#: common/models.py:706 templates/stats.html:25 msgid "Debug Mode" msgstr "Tryb Debugowania" -#: common/models.py:703 +#: common/models.py:707 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:709 +#: common/models.py:713 msgid "Page Size" msgstr "Rozmiar strony" -#: common/models.py:710 +#: common/models.py:714 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:720 +#: common/models.py:724 msgid "Test Reports" msgstr "Raporty testów" -#: common/models.py:721 +#: common/models.py:725 msgid "Enable generation of test reports" msgstr "Włącz generowanie raportów testów" -#: common/models.py:727 +#: common/models.py:731 msgid "Stock Expiry" msgstr "" -#: common/models.py:728 +#: common/models.py:732 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:734 +#: common/models.py:738 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:735 +#: common/models.py:739 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:741 +#: common/models.py:745 msgid "Stock Stale Time" msgstr "" -#: common/models.py:742 +#: common/models.py:746 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:744 +#: common/models.py:748 msgid "days" msgstr "dni" -#: common/models.py:749 +#: common/models.py:753 msgid "Build Expired Stock" msgstr "" -#: common/models.py:750 +#: common/models.py:754 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:756 +#: common/models.py:760 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:757 +#: common/models.py:761 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:763 +#: common/models.py:767 msgid "Group by Part" msgstr "Grupuj według komponentu" -#: common/models.py:764 +#: common/models.py:768 msgid "Group stock items by part reference in table views" msgstr "" -#: common/models.py:770 +#: common/models.py:774 msgid "Build Order Reference Prefix" msgstr "" -#: common/models.py:771 +#: common/models.py:775 msgid "Prefix value for build order reference" msgstr "" -#: common/models.py:776 +#: common/models.py:780 msgid "Build Order Reference Regex" msgstr "" -#: common/models.py:777 +#: common/models.py:781 msgid "Regular expression pattern for matching build order reference" msgstr "" -#: common/models.py:781 +#: common/models.py:785 msgid "Sales Order Reference Prefix" msgstr "" -#: common/models.py:782 +#: common/models.py:786 msgid "Prefix value for sales order reference" msgstr "" -#: common/models.py:787 +#: common/models.py:791 msgid "Purchase Order Reference Prefix" msgstr "" -#: common/models.py:788 +#: common/models.py:792 msgid "Prefix value for purchase order reference" msgstr "" -#: common/models.py:794 +#: common/models.py:798 msgid "Enable build" msgstr "" -#: common/models.py:795 +#: common/models.py:799 msgid "Enable build functionality in InvenTree interface" msgstr "" -#: common/models.py:800 +#: common/models.py:804 msgid "Enable buy" msgstr "" -#: common/models.py:801 +#: common/models.py:805 msgid "Enable buy functionality in InvenTree interface" msgstr "" -#: common/models.py:806 +#: common/models.py:810 msgid "Enable sell" msgstr "" -#: common/models.py:807 +#: common/models.py:811 msgid "Enable sell functionality in InvenTree interface" msgstr "" -#: common/models.py:812 +#: common/models.py:816 msgid "Enable stock" msgstr "" -#: common/models.py:813 +#: common/models.py:817 msgid "Enable stock functionality in InvenTree interface" msgstr "" -#: common/models.py:818 +#: common/models.py:822 msgid "Enable SO" msgstr "" -#: common/models.py:819 +#: common/models.py:823 msgid "Enable SO functionality in InvenTree interface" msgstr "" -#: common/models.py:824 +#: common/models.py:828 msgid "Enable PO" msgstr "" -#: common/models.py:825 +#: common/models.py:829 msgid "Enable PO functionality in InvenTree interface" msgstr "" -#: common/models.py:850 +#: common/models.py:836 +msgid "Enable password forgot" +msgstr "" + +#: common/models.py:837 +msgid "Enable password forgot function on the login-pages" +msgstr "" + +#: common/models.py:842 +msgid "Enable registration" +msgstr "" + +#: common/models.py:843 +msgid "Enable self-registration for users on the login-pages" +msgstr "" + +#: common/models.py:848 +msgid "Enable SSO" +msgstr "" + +#: common/models.py:849 +msgid "Enable SSO on the login-pages" +msgstr "" + +#: common/models.py:854 +msgid "E-Mail required" +msgstr "" + +#: common/models.py:855 +msgid "Require user to supply mail on signup" +msgstr "" + +#: common/models.py:860 +msgid "Auto-fill SSO users" +msgstr "" + +#: common/models.py:861 +msgid "Automatically fill out user-details from SSO account-data" +msgstr "" + +#: common/models.py:866 +msgid "Mail twice" +msgstr "" + +#: common/models.py:867 +msgid "On signup ask users twice for their mail" +msgstr "" + +#: common/models.py:872 +msgid "Password twice" +msgstr "" + +#: common/models.py:873 +msgid "On signup ask users twice for their password" +msgstr "" + +#: common/models.py:898 msgid "Show starred parts" msgstr "" -#: common/models.py:851 +#: common/models.py:899 msgid "Show starred parts on the homepage" msgstr "" -#: common/models.py:856 +#: common/models.py:904 msgid "Show latest parts" msgstr "" -#: common/models.py:857 +#: common/models.py:905 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:862 +#: common/models.py:910 msgid "Recent Part Count" msgstr "" -#: common/models.py:863 +#: common/models.py:911 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:869 +#: common/models.py:917 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:870 +#: common/models.py:918 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:875 +#: common/models.py:923 msgid "Show recent stock changes" msgstr "" -#: common/models.py:876 +#: common/models.py:924 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:881 +#: common/models.py:929 msgid "Recent Stock Count" msgstr "" -#: common/models.py:882 +#: common/models.py:930 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:887 +#: common/models.py:935 msgid "Show low stock" msgstr "" -#: common/models.py:888 +#: common/models.py:936 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:893 +#: common/models.py:941 msgid "Show depleted stock" msgstr "" -#: common/models.py:894 +#: common/models.py:942 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:899 +#: common/models.py:947 msgid "Show needed stock" msgstr "" -#: common/models.py:900 +#: common/models.py:948 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:905 +#: common/models.py:953 msgid "Show expired stock" msgstr "" -#: common/models.py:906 +#: common/models.py:954 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:911 +#: common/models.py:959 msgid "Show stale stock" msgstr "" -#: common/models.py:912 +#: common/models.py:960 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:917 +#: common/models.py:965 msgid "Show pending builds" msgstr "" -#: common/models.py:918 +#: common/models.py:966 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:923 +#: common/models.py:971 msgid "Show overdue builds" msgstr "" -#: common/models.py:924 +#: common/models.py:972 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:929 +#: common/models.py:977 msgid "Show outstanding POs" msgstr "" -#: common/models.py:930 +#: common/models.py:978 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:935 +#: common/models.py:983 msgid "Show overdue POs" msgstr "" -#: common/models.py:936 +#: common/models.py:984 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:941 +#: common/models.py:989 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:942 +#: common/models.py:990 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:947 +#: common/models.py:995 msgid "Show overdue SOs" msgstr "" -#: common/models.py:948 +#: common/models.py:996 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:954 +#: common/models.py:1002 msgid "Inline label display" msgstr "" -#: common/models.py:955 +#: common/models.py:1003 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:961 +#: common/models.py:1009 msgid "Inline report display" msgstr "" -#: common/models.py:962 +#: common/models.py:1010 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:968 +#: common/models.py:1016 msgid "Search Preview Results" msgstr "" -#: common/models.py:969 +#: common/models.py:1017 msgid "Number of results to show in search preview window" msgstr "" -#: common/models.py:1026 company/forms.py:43 +#: common/models.py:1023 +msgid "Show Quantity in Forms" +msgstr "Pokaż ilość w formularzach" + +#: common/models.py:1024 +msgid "Display available part quantity in some forms" +msgstr "" + +#: common/models.py:1030 +msgid "Escape Key Closes Forms" +msgstr "" + +#: common/models.py:1031 +msgid "Use the escape key to close modal forms" +msgstr "" + +#: common/models.py:1088 company/forms.py:43 msgid "Price break quantity" msgstr "" -#: common/models.py:1033 company/templates/company/supplier_part.html:231 -#: templates/js/translated/part.js:1322 +#: common/models.py:1095 company/templates/company/supplier_part.html:231 +#: templates/js/translated/part.js:1369 msgid "Price" msgstr "Cena" -#: common/models.py:1034 +#: common/models.py:1096 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1127 +#: common/models.py:1189 msgid "Default" msgstr "Domyślny" @@ -2199,7 +2240,7 @@ msgstr "" #: common/views.py:213 order/templates/order/order_wizard/po_upload.html:42 #: order/templates/order/po_navbar.html:19 #: order/templates/order/po_navbar.html:22 -#: order/templates/order/purchase_order_detail.html:26 order/views.py:290 +#: order/templates/order/purchase_order_detail.html:27 order/views.py:289 #: part/templates/part/bom_upload/upload_file.html:65 #: part/templates/part/import_wizard/part_upload.html:45 part/views.py:268 #: part/views.py:882 @@ -2207,7 +2248,7 @@ msgid "Upload File" msgstr "Wyślij plik" #: common/views.py:214 order/templates/order/order_wizard/match_fields.html:52 -#: order/views.py:291 part/templates/part/bom_upload/match_fields.html:52 +#: order/views.py:290 part/templates/part/bom_upload/match_fields.html:52 #: part/templates/part/import_wizard/ajax_match_fields.html:45 #: part/templates/part/import_wizard/match_fields.html:52 part/views.py:269 #: part/views.py:883 @@ -2246,249 +2287,249 @@ msgstr "URL" msgid "Image URL" msgstr "URL zdjęcia" -#: company/models.py:104 +#: company/models.py:105 msgid "Company description" msgstr "Opis firmy" -#: company/models.py:105 +#: company/models.py:106 msgid "Description of the company" msgstr "Opis firmy" -#: company/models.py:111 company/templates/company/company_base.html:70 +#: company/models.py:112 company/templates/company/company_base.html:70 #: templates/js/translated/company.js:348 msgid "Website" msgstr "Strona WWW" -#: company/models.py:112 +#: company/models.py:113 msgid "Company website URL" msgstr "Witryna internetowa firmy" -#: company/models.py:116 company/templates/company/company_base.html:88 +#: company/models.py:117 company/templates/company/company_base.html:88 msgid "Address" msgstr "Adres" -#: company/models.py:117 +#: company/models.py:118 msgid "Company address" msgstr "Adres firmy" -#: company/models.py:120 +#: company/models.py:121 msgid "Phone number" msgstr "Numer telefonu" -#: company/models.py:121 +#: company/models.py:122 msgid "Contact phone number" msgstr "Numer telefonu kontaktowego" -#: company/models.py:124 company/templates/company/company_base.html:102 +#: company/models.py:125 company/templates/company/company_base.html:102 msgid "Email" msgstr "Adres E-Mail" -#: company/models.py:124 +#: company/models.py:125 msgid "Contact email address" msgstr "Kontaktowy adres e-mail" -#: company/models.py:127 company/templates/company/company_base.html:109 +#: company/models.py:128 company/templates/company/company_base.html:109 msgid "Contact" msgstr "Kontakt" -#: company/models.py:128 +#: company/models.py:129 msgid "Point of contact" msgstr "Punkt kontaktowy" -#: company/models.py:130 company/models.py:347 company/models.py:563 -#: order/models.py:160 part/models.py:714 +#: company/models.py:131 company/models.py:348 company/models.py:564 +#: order/models.py:160 part/models.py:715 #: report/templates/report/inventree_build_order_base.html:165 -#: templates/js/translated/company.js:535 -#: templates/js/translated/company.js:823 templates/js/translated/part.js:972 +#: templates/js/translated/company.js:536 +#: templates/js/translated/company.js:825 templates/js/translated/part.js:983 msgid "Link" msgstr "Łącze" -#: company/models.py:130 +#: company/models.py:131 msgid "Link to external company information" msgstr "Link do informacji o zewnętrznym przedsiębiorstwie" -#: company/models.py:138 part/models.py:724 +#: company/models.py:139 part/models.py:725 msgid "Image" msgstr "Obraz" -#: company/models.py:143 +#: company/models.py:144 msgid "is customer" msgstr "jest klientem" -#: company/models.py:143 +#: company/models.py:144 msgid "Do you sell items to this company?" msgstr "Czy sprzedajesz produkty tej firmie?" -#: company/models.py:145 +#: company/models.py:146 msgid "is supplier" msgstr "jest dostawcą" -#: company/models.py:145 +#: company/models.py:146 msgid "Do you purchase items from this company?" msgstr "Czy kupujesz przedmioty od tej firmy?" -#: company/models.py:147 +#: company/models.py:148 msgid "is manufacturer" msgstr "jest producentem" -#: company/models.py:147 +#: company/models.py:148 msgid "Does this company manufacture parts?" msgstr "Czy to przedsiębiorstwo produkuje części?" -#: company/models.py:151 company/serializers.py:264 -#: company/templates/company/company_base.html:76 stock/serializers.py:155 +#: company/models.py:152 company/serializers.py:264 +#: company/templates/company/company_base.html:76 stock/serializers.py:158 msgid "Currency" msgstr "Waluta" -#: company/models.py:154 +#: company/models.py:155 msgid "Default currency used for this company" msgstr "" -#: company/models.py:319 company/models.py:534 stock/models.py:454 +#: company/models.py:320 company/models.py:535 stock/models.py:454 #: stock/templates/stock/item_base.html:237 msgid "Base Part" msgstr "Część bazowa" -#: company/models.py:323 company/models.py:538 order/views.py:1082 +#: company/models.py:324 company/models.py:539 order/views.py:912 msgid "Select part" msgstr "Wybierz część" -#: company/models.py:334 company/templates/company/company_base.html:116 +#: company/models.py:335 company/templates/company/company_base.html:116 #: company/templates/company/manufacturer_part.html:89 #: company/templates/company/supplier_part.html:98 part/bom.py:170 -#: part/bom.py:241 stock/templates/stock/item_base.html:366 +#: part/bom.py:247 stock/templates/stock/item_base.html:366 #: templates/js/translated/company.js:332 -#: templates/js/translated/company.js:512 -#: templates/js/translated/company.js:794 templates/js/translated/part.js:222 +#: templates/js/translated/company.js:513 +#: templates/js/translated/company.js:796 templates/js/translated/part.js:227 msgid "Manufacturer" msgstr "Producent" -#: company/models.py:335 templates/js/translated/part.js:223 +#: company/models.py:336 templates/js/translated/part.js:228 msgid "Select manufacturer" msgstr "Wybierz producenta" -#: company/models.py:341 company/templates/company/manufacturer_part.html:93 +#: company/models.py:342 company/templates/company/manufacturer_part.html:93 #: company/templates/company/supplier_part.html:106 part/bom.py:171 -#: part/bom.py:242 templates/js/translated/company.js:528 -#: templates/js/translated/company.js:812 templates/js/translated/order.js:505 -#: templates/js/translated/part.js:233 +#: part/bom.py:248 templates/js/translated/company.js:529 +#: templates/js/translated/company.js:814 templates/js/translated/order.js:851 +#: templates/js/translated/part.js:238 msgid "MPN" msgstr "MPN" -#: company/models.py:342 templates/js/translated/part.js:234 +#: company/models.py:343 templates/js/translated/part.js:239 msgid "Manufacturer Part Number" msgstr "Numer producenta" -#: company/models.py:348 +#: company/models.py:349 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:354 +#: company/models.py:355 msgid "Manufacturer part description" msgstr "" -#: company/models.py:408 company/models.py:557 +#: company/models.py:409 company/models.py:558 #: company/templates/company/manufacturer_part.html:6 #: company/templates/company/manufacturer_part.html:23 #: stock/templates/stock/item_base.html:376 msgid "Manufacturer Part" msgstr "Część producenta" -#: company/models.py:415 +#: company/models.py:416 msgid "Parameter name" msgstr "" -#: company/models.py:421 +#: company/models.py:422 #: report/templates/report/inventree_test_report_base.html:90 -#: stock/models.py:1819 templates/InvenTree/settings/header.html:8 -#: templates/js/translated/company.js:642 templates/js/translated/part.js:612 -#: templates/js/translated/stock.js:576 +#: stock/models.py:1816 templates/InvenTree/settings/header.html:8 +#: templates/js/translated/company.js:643 templates/js/translated/part.js:623 +#: templates/js/translated/stock.js:555 msgid "Value" msgstr "" -#: company/models.py:422 +#: company/models.py:423 msgid "Parameter value" msgstr "" -#: company/models.py:428 part/models.py:799 part/models.py:2220 -#: templates/js/translated/company.js:648 templates/js/translated/part.js:618 +#: company/models.py:429 part/models.py:800 part/models.py:2224 +#: templates/js/translated/company.js:649 templates/js/translated/part.js:629 msgid "Units" msgstr "Jednostki" -#: company/models.py:429 +#: company/models.py:430 msgid "Parameter units" msgstr "" -#: company/models.py:501 +#: company/models.py:502 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:544 company/templates/company/company_base.html:121 +#: company/models.py:545 company/templates/company/company_base.html:121 #: company/templates/company/supplier_part.html:88 order/models.py:260 #: order/templates/order/order_base.html:92 #: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:175 -#: part/bom.py:286 stock/templates/stock/item_base.html:383 +#: part/bom.py:292 stock/templates/stock/item_base.html:383 #: templates/js/translated/company.js:336 -#: templates/js/translated/company.js:768 templates/js/translated/order.js:328 -#: templates/js/translated/part.js:203 +#: templates/js/translated/company.js:770 templates/js/translated/order.js:659 +#: templates/js/translated/part.js:208 msgid "Supplier" msgstr "Dostawca" -#: company/models.py:545 templates/js/translated/part.js:204 +#: company/models.py:546 templates/js/translated/part.js:209 msgid "Select supplier" msgstr "Wybierz dostawcę" -#: company/models.py:550 company/templates/company/supplier_part.html:92 -#: part/bom.py:176 part/bom.py:287 templates/js/translated/order.js:492 -#: templates/js/translated/part.js:214 +#: company/models.py:551 company/templates/company/supplier_part.html:92 +#: part/bom.py:176 part/bom.py:293 templates/js/translated/order.js:838 +#: templates/js/translated/part.js:219 msgid "SKU" msgstr "SKU" -#: company/models.py:551 templates/js/translated/part.js:215 +#: company/models.py:552 templates/js/translated/part.js:220 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:558 +#: company/models.py:559 msgid "Select manufacturer part" msgstr "" -#: company/models.py:564 +#: company/models.py:565 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:570 +#: company/models.py:571 msgid "Supplier part description" msgstr "" -#: company/models.py:575 company/templates/company/supplier_part.html:120 -#: part/models.py:2368 report/templates/report/inventree_po_report.html:93 +#: company/models.py:576 company/templates/company/supplier_part.html:120 +#: part/models.py:2389 report/templates/report/inventree_po_report.html:93 #: report/templates/report/inventree_so_report.html:93 msgid "Note" msgstr "Uwaga" -#: company/models.py:579 part/models.py:1599 +#: company/models.py:580 part/models.py:1603 msgid "base cost" msgstr "koszt podstawowy" -#: company/models.py:579 part/models.py:1599 +#: company/models.py:580 part/models.py:1603 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:581 company/templates/company/supplier_part.html:113 +#: company/models.py:582 company/templates/company/supplier_part.html:113 #: stock/models.py:478 stock/templates/stock/item_base.html:324 -#: templates/js/translated/company.js:844 templates/js/translated/stock.js:1057 +#: templates/js/translated/company.js:846 templates/js/translated/stock.js:1036 msgid "Packaging" msgstr "Opakowanie" -#: company/models.py:581 +#: company/models.py:582 msgid "Part packaging" msgstr "Opakowanie części" -#: company/models.py:583 part/models.py:1601 +#: company/models.py:584 part/models.py:1605 msgid "multiple" msgstr "wielokrotność" -#: company/models.py:583 +#: company/models.py:584 msgid "Order multiple" msgstr "" @@ -2502,7 +2543,7 @@ msgstr "" #: company/templates/company/company_base.html:9 #: company/templates/company/company_base.html:35 -#: templates/InvenTree/search.html:304 templates/js/translated/company.js:321 +#: templates/InvenTree/search.html:208 templates/js/translated/company.js:321 msgid "Company" msgstr "Firma" @@ -2517,7 +2558,7 @@ msgid "Download image from URL" msgstr "" #: company/templates/company/company_base.html:46 -#: templates/js/translated/order.js:117 +#: templates/js/translated/order.js:120 msgid "Create Purchase Order" msgstr "" @@ -2542,22 +2583,22 @@ msgstr "" msgid "Phone" msgstr "Telefon" -#: company/templates/company/company_base.html:126 order/models.py:550 -#: order/templates/order/sales_order_base.html:94 stock/models.py:496 +#: company/templates/company/company_base.html:126 order/models.py:558 +#: order/templates/order/sales_order_base.html:99 stock/models.py:496 #: stock/models.py:497 stock/templates/stock/item_base.html:276 -#: templates/js/translated/company.js:328 templates/js/translated/order.js:692 -#: templates/js/translated/stock.js:1608 +#: templates/js/translated/company.js:328 templates/js/translated/order.js:1038 +#: templates/js/translated/stock.js:1587 msgid "Customer" msgstr "Klient" -#: company/templates/company/company_base.html:193 -#: part/templates/part/part_base.html:418 +#: company/templates/company/company_base.html:199 +#: part/templates/part/part_base.html:424 msgid "Upload Image" msgstr "" #: company/templates/company/detail.html:14 #: company/templates/company/manufacturer_part_navbar.html:18 -#: templates/InvenTree/search.html:164 +#: templates/InvenTree/search.html:150 msgid "Supplier Parts" msgstr "Komponenty dostawcy" @@ -2597,7 +2638,7 @@ msgstr "Usuń części" msgid "Delete Parts" msgstr "Usuń części" -#: company/templates/company/detail.html:54 templates/InvenTree/search.html:149 +#: company/templates/company/detail.html:54 templates/InvenTree/search.html:135 msgid "Manufacturer Parts" msgstr "Części producenta" @@ -2620,9 +2661,9 @@ msgstr "Zapasy dostawcy" #: order/templates/order/purchase_orders.html:13 #: part/templates/part/detail.html:50 part/templates/part/navbar.html:82 #: part/templates/part/navbar.html:85 templates/InvenTree/index.html:260 -#: templates/InvenTree/search.html:325 -#: templates/InvenTree/settings/navbar.html:107 -#: templates/InvenTree/settings/navbar.html:109 templates/navbar.html:44 +#: templates/InvenTree/search.html:229 +#: templates/InvenTree/settings/navbar.html:119 +#: templates/InvenTree/settings/navbar.html:121 templates/navbar.html:44 #: users/models.py:45 msgid "Purchase Orders" msgstr "" @@ -2644,9 +2685,9 @@ msgstr "" #: order/templates/order/sales_orders.html:13 #: part/templates/part/detail.html:71 part/templates/part/navbar.html:91 #: part/templates/part/navbar.html:94 templates/InvenTree/index.html:291 -#: templates/InvenTree/search.html:345 -#: templates/InvenTree/settings/navbar.html:113 -#: templates/InvenTree/settings/navbar.html:115 templates/navbar.html:55 +#: templates/InvenTree/search.html:249 +#: templates/InvenTree/settings/navbar.html:125 +#: templates/InvenTree/settings/navbar.html:127 templates/navbar.html:55 #: users/models.py:46 msgid "Sales Orders" msgstr "" @@ -2664,7 +2705,7 @@ msgstr "" #: company/templates/company/detail.html:147 #: company/templates/company/navbar.html:61 #: company/templates/company/navbar.html:64 -#: templates/js/translated/build.js:620 +#: templates/js/translated/build.js:622 msgid "Assigned Stock" msgstr "" @@ -2696,12 +2737,12 @@ msgid "Order part" msgstr "Zamów część" #: company/templates/company/manufacturer_part.html:45 -#: templates/js/translated/company.js:560 +#: templates/js/translated/company.js:561 msgid "Edit manufacturer part" msgstr "Edytuj część producenta" #: company/templates/company/manufacturer_part.html:49 -#: templates/js/translated/company.js:561 +#: templates/js/translated/company.js:562 msgid "Delete manufacturer part" msgstr "Usuń cześć producenta" @@ -2718,7 +2759,7 @@ msgstr "Część wewnętrzna" #: company/templates/company/manufacturer_part_navbar.html:21 #: company/views.py:49 part/templates/part/navbar.html:75 #: part/templates/part/navbar.html:78 part/templates/part/prices.html:163 -#: templates/InvenTree/search.html:316 templates/navbar.html:41 +#: templates/InvenTree/search.html:220 templates/navbar.html:41 msgid "Suppliers" msgstr "Dostawcy" @@ -2732,7 +2773,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:239 #: part/templates/part/detail.html:214 part/templates/part/detail.html:294 #: part/templates/part/detail.html:317 templates/js/translated/company.js:424 -#: templates/js/translated/helpers.js:31 users/models.py:194 +#: templates/js/translated/helpers.js:31 users/models.py:199 msgid "Delete" msgstr "Usuń" @@ -2758,7 +2799,7 @@ msgid "Delete parameters" msgstr "" #: company/templates/company/manufacturer_part.html:176 -#: part/templates/part/detail.html:834 +#: part/templates/part/detail.html:805 msgid "Add Parameter" msgstr "Dodaj parametr" @@ -2777,16 +2818,15 @@ msgstr "" #: company/templates/company/manufacturer_part_navbar.html:29 #: company/templates/company/navbar.html:39 #: company/templates/company/supplier_part_navbar.html:15 -#: part/templates/part/navbar.html:38 stock/api.py:54 +#: part/templates/part/navbar.html:38 stock/api.py:52 #: stock/templates/stock/loc_link.html:7 stock/templates/stock/location.html:36 #: stock/templates/stock/stock_app_base.html:10 -#: templates/InvenTree/index.html:150 templates/InvenTree/search.html:196 -#: templates/InvenTree/search.html:232 -#: templates/InvenTree/settings/navbar.html:95 -#: templates/InvenTree/settings/navbar.html:97 -#: templates/js/translated/part.js:529 templates/js/translated/part.js:758 -#: templates/js/translated/part.js:934 templates/js/translated/stock.js:202 -#: templates/js/translated/stock.js:850 templates/navbar.html:32 +#: templates/InvenTree/index.html:150 templates/InvenTree/search.html:182 +#: templates/InvenTree/settings/navbar.html:107 +#: templates/InvenTree/settings/navbar.html:109 +#: templates/js/translated/part.js:540 templates/js/translated/part.js:769 +#: templates/js/translated/part.js:945 templates/js/translated/stock.js:182 +#: templates/js/translated/stock.js:829 templates/navbar.html:32 msgid "Stock" msgstr "Stan" @@ -2815,7 +2855,7 @@ msgstr "Dostarczone części" #: stock/templates/stock/location.html:148 #: stock/templates/stock/location_navbar.html:18 #: stock/templates/stock/location_navbar.html:21 -#: templates/InvenTree/search.html:198 templates/js/translated/stock.js:1507 +#: templates/InvenTree/search.html:184 templates/js/translated/stock.js:1486 #: templates/stats.html:93 templates/stats.html:102 users/models.py:43 msgid "Stock Items" msgstr "" @@ -2823,17 +2863,17 @@ msgstr "" #: company/templates/company/supplier_part.html:7 #: company/templates/company/supplier_part.html:24 stock/models.py:463 #: stock/templates/stock/item_base.html:388 -#: templates/js/translated/company.js:784 templates/js/translated/stock.js:1014 +#: templates/js/translated/company.js:786 templates/js/translated/stock.js:993 msgid "Supplier Part" msgstr "" #: company/templates/company/supplier_part.html:44 -#: templates/js/translated/company.js:857 +#: templates/js/translated/company.js:859 msgid "Edit supplier part" msgstr "" #: company/templates/company/supplier_part.html:48 -#: templates/js/translated/company.js:858 +#: templates/js/translated/company.js:860 msgid "Delete supplier part" msgstr "" @@ -2900,7 +2940,7 @@ msgid "New Supplier" msgstr "Nowy dostawca" #: company/views.py:55 part/templates/part/prices.html:167 -#: templates/InvenTree/search.html:306 templates/navbar.html:42 +#: templates/InvenTree/search.html:210 templates/navbar.html:42 msgid "Manufacturers" msgstr "Producenci" @@ -2908,7 +2948,7 @@ msgstr "Producenci" msgid "New Manufacturer" msgstr "Now producent" -#: company/views.py:61 templates/InvenTree/search.html:336 +#: company/views.py:61 templates/InvenTree/search.html:240 #: templates/navbar.html:53 msgid "Customers" msgstr "Klienci" @@ -3011,36 +3051,32 @@ msgstr "" msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" -#: order/api.py:302 -msgid "Destination location must be specified" +#: order/api.py:250 +msgid "Matching purchase order does not exist" msgstr "" -#: order/forms.py:30 order/templates/order/order_base.html:47 +#: order/forms.py:27 order/templates/order/order_base.html:50 msgid "Place order" msgstr "Złóż zamówienie" -#: order/forms.py:41 order/templates/order/order_base.html:54 +#: order/forms.py:38 order/templates/order/order_base.html:57 msgid "Mark order as complete" msgstr "Oznacz zamówienie jako zakończone" -#: order/forms.py:52 order/forms.py:63 order/templates/order/order_base.html:59 -#: order/templates/order/sales_order_base.html:61 +#: order/forms.py:49 order/forms.py:60 order/templates/order/order_base.html:62 +#: order/templates/order/sales_order_base.html:64 msgid "Cancel order" msgstr "Anuluj zamówienie" -#: order/forms.py:74 order/templates/order/sales_order_base.html:58 +#: order/forms.py:71 order/templates/order/sales_order_base.html:61 msgid "Ship order" msgstr "Wyślij zamówienie" -#: order/forms.py:89 -msgid "Set all received parts listed above to this location (if left blank, use \"Destination\" column value in above table)" -msgstr "" - -#: order/forms.py:116 +#: order/forms.py:97 msgid "Enter stock item serial numbers" msgstr "" -#: order/forms.py:122 +#: order/forms.py:103 msgid "Enter quantity of stock items" msgstr "Wprowadź ilość produktów magazynowych" @@ -3064,11 +3100,11 @@ msgstr "Użytkownik lub grupa odpowiedzialna za to zamówienie" msgid "Order notes" msgstr "Notatki do zamówienia" -#: order/models.py:247 order/models.py:540 +#: order/models.py:247 order/models.py:548 msgid "Order reference" msgstr "Odniesienie zamówienia" -#: order/models.py:252 order/models.py:555 +#: order/models.py:252 order/models.py:563 msgid "Purchase order status" msgstr "Status zamówienia zakupu" @@ -3077,7 +3113,7 @@ msgid "Company from which the items are being ordered" msgstr "" #: order/models.py:264 order/templates/order/order_base.html:98 -#: templates/js/translated/order.js:337 +#: templates/js/translated/order.js:668 msgid "Supplier Reference" msgstr "" @@ -3109,190 +3145,190 @@ msgstr "" msgid "Date order was completed" msgstr "" -#: order/models.py:313 stock/models.py:351 stock/models.py:1072 -msgid "Quantity must be greater than zero" -msgstr "Ilość musi być większa niż zero" - #: order/models.py:318 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:421 -msgid "Lines can only be received against an order marked as 'Placed'" -msgstr "" - -#: order/models.py:425 +#: order/models.py:428 msgid "Quantity must be an integer" msgstr "Wartość musi być liczbą całkowitą" -#: order/models.py:427 +#: order/models.py:432 msgid "Quantity must be a positive number" msgstr "Wartość musi być liczbą dodatnią" -#: order/models.py:551 +#: order/models.py:559 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:557 +#: order/models.py:565 msgid "Customer Reference " msgstr "" -#: order/models.py:557 +#: order/models.py:565 msgid "Customer order reference code" msgstr "" -#: order/models.py:562 +#: order/models.py:570 msgid "Target date for order completion. Order will be overdue after this date." msgstr "" -#: order/models.py:565 templates/js/translated/order.js:733 +#: order/models.py:573 templates/js/translated/order.js:1079 msgid "Shipment Date" msgstr "Data wysyłki" -#: order/models.py:572 +#: order/models.py:580 msgid "shipped by" msgstr "wysłane przez" -#: order/models.py:616 +#: order/models.py:624 msgid "SalesOrder cannot be shipped as it is not currently pending" msgstr "" -#: order/models.py:713 +#: order/models.py:721 msgid "Item quantity" msgstr "Ilość elementów" -#: order/models.py:719 +#: order/models.py:727 msgid "Line item reference" msgstr "" -#: order/models.py:721 +#: order/models.py:729 msgid "Line item notes" msgstr "" -#: order/models.py:751 order/models.py:835 templates/js/translated/order.js:785 +#: order/models.py:759 order/models.py:847 +#: templates/js/translated/order.js:1131 msgid "Order" msgstr "Zamówienie" -#: order/models.py:752 order/templates/order/order_base.html:9 +#: order/models.py:760 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:24 #: report/templates/report/inventree_po_report.html:77 #: stock/templates/stock/item_base.html:338 -#: templates/js/translated/order.js:306 templates/js/translated/stock.js:991 -#: templates/js/translated/stock.js:1589 +#: templates/js/translated/order.js:637 templates/js/translated/stock.js:970 +#: templates/js/translated/stock.js:1568 msgid "Purchase Order" msgstr "Zlecenie zakupu" -#: order/models.py:773 +#: order/models.py:781 msgid "Supplier part" msgstr "" -#: order/models.py:780 order/templates/order/order_base.html:131 -#: order/templates/order/receive_parts.html:22 -#: order/templates/order/sales_order_base.html:133 -#: templates/js/translated/order.js:573 +#: order/models.py:788 order/templates/order/order_base.html:131 +#: order/templates/order/sales_order_base.html:138 +#: templates/js/translated/order.js:428 templates/js/translated/order.js:919 msgid "Received" msgstr "Odebrane" -#: order/models.py:781 +#: order/models.py:789 msgid "Number of items received" msgstr "" -#: order/models.py:788 part/templates/part/prices.html:176 stock/models.py:588 -#: stock/serializers.py:147 stock/templates/stock/item_base.html:345 -#: templates/js/translated/stock.js:1045 +#: order/models.py:796 part/templates/part/prices.html:176 stock/models.py:588 +#: stock/serializers.py:150 stock/templates/stock/item_base.html:345 +#: templates/js/translated/stock.js:1024 msgid "Purchase Price" msgstr "Cena zakupu" -#: order/models.py:789 +#: order/models.py:797 msgid "Unit purchase price" msgstr "Cena zakupu jednostkowego" -#: order/models.py:797 +#: order/models.py:805 msgid "Where does the Purchaser want this item to be stored?" msgstr "Gdzie kupujący chce przechowywać ten przedmiot?" -#: order/models.py:843 part/templates/part/part_pricing.html:112 +#: order/models.py:857 part/templates/part/part_pricing.html:112 #: part/templates/part/prices.html:116 part/templates/part/prices.html:284 msgid "Sale Price" msgstr "Cena sprzedaży" -#: order/models.py:844 +#: order/models.py:858 msgid "Unit sale price" msgstr "Jednostkowa cena sprzedaży" -#: order/models.py:923 order/models.py:925 +#: order/models.py:937 order/models.py:939 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:929 +#: order/models.py:943 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:931 +#: order/models.py:945 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:934 +#: order/models.py:948 msgid "Allocation quantity cannot exceed stock quantity" msgstr "Zarezerwowana ilość nie może przekraczać ilości na stanie" -#: order/models.py:944 +#: order/models.py:952 +msgid "StockItem is over-allocated" +msgstr "" + +#: order/models.py:958 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:949 +#: order/models.py:966 msgid "Line" msgstr "Linia" -#: order/models.py:960 +#: order/models.py:978 msgid "Item" msgstr "Komponent" -#: order/models.py:961 +#: order/models.py:979 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:964 +#: order/models.py:982 msgid "Enter stock allocation quantity" msgstr "" -#: order/serializers.py:166 +#: order/serializers.py:167 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:201 +#: order/serializers.py:202 msgid "Line Item" msgstr "" -#: order/serializers.py:207 +#: order/serializers.py:208 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:217 order/serializers.py:276 +#: order/serializers.py:218 order/serializers.py:285 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:234 +#: order/serializers.py:242 msgid "Barcode Hash" msgstr "" -#: order/serializers.py:235 +#: order/serializers.py:243 msgid "Unique identifier field" msgstr "" -#: order/serializers.py:250 +#: order/serializers.py:259 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:289 +#: order/serializers.py:297 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:299 +#: order/serializers.py:314 +msgid "Destination location must be specified" +msgstr "" + +#: order/serializers.py:325 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:514 +#: order/serializers.py:569 msgid "Sale price currency" msgstr "" @@ -3307,31 +3343,32 @@ msgstr "Jesteś pewien, że chcesz usunąć ten załącznik?" msgid "Print" msgstr "" -#: order/templates/order/order_base.html:43 -#: order/templates/order/sales_order_base.html:54 +#: order/templates/order/order_base.html:42 +#: order/templates/order/sales_order_base.html:53 +msgid "Export order to file" +msgstr "Eksportuj zamówienie do pliku" + +#: order/templates/order/order_base.html:46 +#: order/templates/order/sales_order_base.html:57 msgid "Edit order information" msgstr "" -#: order/templates/order/order_base.html:51 +#: order/templates/order/order_base.html:54 msgid "Receive items" msgstr "" -#: order/templates/order/order_base.html:64 -msgid "Export order to file" -msgstr "Eksportuj zamówienie do pliku" - #: order/templates/order/order_base.html:72 #: order/templates/order/po_navbar.html:12 msgid "Purchase Order Details" msgstr "Szczegóły zamówienia" #: order/templates/order/order_base.html:77 -#: order/templates/order/sales_order_base.html:79 +#: order/templates/order/sales_order_base.html:84 msgid "Order Reference" msgstr "Numer zamówienia" #: order/templates/order/order_base.html:82 -#: order/templates/order/sales_order_base.html:84 +#: order/templates/order/sales_order_base.html:89 msgid "Order Status" msgstr "Status zamówienia" @@ -3344,16 +3381,6 @@ msgstr "Wydany" msgid "Edit Purchase Order" msgstr "" -#: order/templates/order/order_base.html:196 -#: stock/templates/stock/location.html:250 templates/js/translated/order.js:437 -msgid "New Location" -msgstr "Nowa lokalizacja" - -#: order/templates/order/order_base.html:197 -#: stock/templates/stock/location.html:42 templates/js/translated/order.js:438 -msgid "Create new stock location" -msgstr "" - #: order/templates/order/order_cancel.html:8 msgid "Cancelling this order means that the order and line items will no longer be editable." msgstr "" @@ -3426,6 +3453,7 @@ msgstr "" #: part/templates/part/import_wizard/ajax_match_references.html:42 #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 +#: templates/js/translated/build.js:869 templates/js/translated/order.js:376 msgid "Remove row" msgstr "" @@ -3502,7 +3530,7 @@ msgid "Select existing purchase orders, or create new orders." msgstr "" #: order/templates/order/order_wizard/select_pos.html:31 -#: templates/js/translated/order.js:363 templates/js/translated/order.js:738 +#: templates/js/translated/order.js:694 templates/js/translated/order.js:1084 msgid "Items" msgstr "Przedmioty" @@ -3522,7 +3550,7 @@ msgstr "" #: order/templates/order/po_attachments.html:12 #: order/templates/order/po_navbar.html:32 -#: order/templates/order/purchase_order_detail.html:47 +#: order/templates/order/purchase_order_detail.html:56 msgid "Purchase Order Attachments" msgstr "" @@ -3532,7 +3560,7 @@ msgstr "" #: order/templates/order/po_navbar.html:29 #: order/templates/order/po_received_items.html:12 -#: order/templates/order/purchase_order_detail.html:38 +#: order/templates/order/purchase_order_detail.html:47 msgid "Received Items" msgstr "Otrzymane elementy" @@ -3540,14 +3568,22 @@ msgstr "Otrzymane elementy" msgid "Purchase Order Items" msgstr "" -#: order/templates/order/purchase_order_detail.html:23 -#: order/templates/order/purchase_order_detail.html:203 +#: order/templates/order/purchase_order_detail.html:24 +#: order/templates/order/purchase_order_detail.html:212 #: order/templates/order/sales_order_detail.html:23 #: order/templates/order/sales_order_detail.html:177 msgid "Add Line Item" msgstr "Dodaj element zamówienia" -#: order/templates/order/purchase_order_detail.html:58 +#: order/templates/order/purchase_order_detail.html:30 +msgid "Receive selected items" +msgstr "" + +#: order/templates/order/purchase_order_detail.html:31 +msgid "Receive Items" +msgstr "" + +#: order/templates/order/purchase_order_detail.html:67 #: order/templates/order/sales_order_detail.html:54 msgid "Order Notes" msgstr "Notatki zamówień" @@ -3557,67 +3593,24 @@ msgstr "Notatki zamówień" msgid "Print Order Reports" msgstr "" -#: order/templates/order/receive_parts.html:8 -#, python-format -msgid "Receive outstanding parts for %(order)s - %(desc)s" -msgstr "" - -#: order/templates/order/receive_parts.html:14 part/api.py:54 -#: part/models.py:298 part/templates/part/cat_link.html:7 -#: part/templates/part/category.html:108 part/templates/part/category.html:122 -#: part/templates/part/category_navbar.html:21 -#: part/templates/part/category_navbar.html:24 -#: templates/InvenTree/index.html:102 templates/InvenTree/search.html:114 -#: templates/InvenTree/settings/navbar.html:83 -#: templates/InvenTree/settings/navbar.html:85 -#: templates/js/translated/part.js:1154 templates/navbar.html:29 -#: templates/stats.html:80 templates/stats.html:89 users/models.py:41 -msgid "Parts" -msgstr "Części" - -#: order/templates/order/receive_parts.html:15 -msgid "Fill out number of parts received, the status and destination" -msgstr "" - -#: order/templates/order/receive_parts.html:20 -msgid "Order Code" -msgstr "Kod zamówienia" - -#: order/templates/order/receive_parts.html:21 -#: part/templates/part/part_base.html:167 templates/js/translated/part.js:949 -msgid "On Order" -msgstr "" - -#: order/templates/order/receive_parts.html:23 -msgid "Receive" -msgstr "Odbierz" - -#: order/templates/order/receive_parts.html:37 -msgid "Error: Referenced part has been removed" -msgstr "" - -#: order/templates/order/receive_parts.html:68 -msgid "Remove line" -msgstr "Usuń linie" - #: order/templates/order/sales_order_base.html:16 msgid "This Sales Order has not been fully allocated" msgstr "" -#: order/templates/order/sales_order_base.html:66 +#: order/templates/order/sales_order_base.html:70 msgid "Packing List" msgstr "" -#: order/templates/order/sales_order_base.html:74 +#: order/templates/order/sales_order_base.html:79 msgid "Sales Order Details" msgstr "" -#: order/templates/order/sales_order_base.html:100 -#: templates/js/translated/order.js:705 +#: order/templates/order/sales_order_base.html:105 +#: templates/js/translated/order.js:1051 msgid "Customer Reference" msgstr "" -#: order/templates/order/sales_order_base.html:178 +#: order/templates/order/sales_order_base.html:183 msgid "Edit Sales Order" msgstr "" @@ -3636,105 +3629,6 @@ msgstr "" msgid "Sales Order Items" msgstr "" -#: order/templates/order/sales_order_detail.html:226 -#: templates/js/translated/bom.js:394 templates/js/translated/build.js:782 -#: templates/js/translated/build.js:1219 -msgid "Actions" -msgstr "Akcje" - -#: order/templates/order/sales_order_detail.html:233 -#: templates/js/translated/build.js:668 templates/js/translated/build.js:1030 -msgid "Edit stock allocation" -msgstr "" - -#: order/templates/order/sales_order_detail.html:234 -#: templates/js/translated/build.js:670 templates/js/translated/build.js:1031 -msgid "Delete stock allocation" -msgstr "" - -#: order/templates/order/sales_order_detail.html:307 -msgid "No matching line items" -msgstr "" - -#: order/templates/order/sales_order_detail.html:337 -msgid "ID" -msgstr "Numer ID" - -#: order/templates/order/sales_order_detail.html:354 -#: templates/js/translated/order.js:481 -msgid "Total" -msgstr "" - -#: order/templates/order/sales_order_detail.html:377 -#: templates/js/translated/order.js:534 templates/js/translated/part.js:1296 -#: templates/js/translated/part.js:1507 -msgid "Unit Price" -msgstr "Cena jednostkowa" - -#: order/templates/order/sales_order_detail.html:384 -#: templates/js/translated/order.js:543 -msgid "Total price" -msgstr "" - -#: order/templates/order/sales_order_detail.html:405 -#: templates/js/translated/build.js:733 templates/js/translated/build.js:1026 -msgid "Allocated" -msgstr "Przydzielono" - -#: order/templates/order/sales_order_detail.html:407 -msgid "Fulfilled" -msgstr "" - -#: order/templates/order/sales_order_detail.html:444 -msgid "PO" -msgstr "" - -#: order/templates/order/sales_order_detail.html:474 -msgid "Allocate serial numbers" -msgstr "" - -#: order/templates/order/sales_order_detail.html:477 -#: templates/js/translated/build.js:796 -msgid "Allocate stock" -msgstr "" - -#: order/templates/order/sales_order_detail.html:480 -msgid "Purchase stock" -msgstr "Cena zakupu" - -#: order/templates/order/sales_order_detail.html:484 -#: templates/js/translated/build.js:789 templates/js/translated/build.js:1227 -msgid "Build stock" -msgstr "" - -#: order/templates/order/sales_order_detail.html:487 -#: order/templates/order/sales_order_detail.html:606 -msgid "Calculate price" -msgstr "Oblicz cenę" - -#: order/templates/order/sales_order_detail.html:490 -#: templates/js/translated/order.js:616 -msgid "Edit line item" -msgstr "" - -#: order/templates/order/sales_order_detail.html:491 -msgid "Delete line item " -msgstr "" - -#: order/templates/order/sales_order_detail.html:519 -#: templates/js/translated/order.js:403 -msgid "Edit Line Item" -msgstr "" - -#: order/templates/order/sales_order_detail.html:529 -#: templates/js/translated/order.js:415 -msgid "Delete Line Item" -msgstr "" - -#: order/templates/order/sales_order_detail.html:612 -msgid "Update Unit Price" -msgstr "Zaktualizuj cenę jednostkową" - #: order/templates/order/sales_order_ship.html:10 msgid "This order has not been fully allocated. If the order is marked as shipped, it can no longer be adjusted." msgstr "" @@ -3759,10 +3653,6 @@ msgstr "" msgid "Allocate stock items by serial number" msgstr "" -#: order/templates/order/so_allocation_delete.html:7 -msgid "This action will unallocate the following stock from the Sales Order" -msgstr "" - #: order/templates/order/so_navbar.html:12 msgid "Sales Order Line Items" msgstr "" @@ -3775,149 +3665,129 @@ msgstr "" msgid "Sales Order Attachments" msgstr "" -#: order/views.py:104 +#: order/views.py:103 msgid "Cancel Order" msgstr "Anuluj zamówienie" -#: order/views.py:113 order/views.py:139 +#: order/views.py:112 order/views.py:138 msgid "Confirm order cancellation" msgstr "Potwierdź anulowanie zamówienia" -#: order/views.py:116 order/views.py:142 +#: order/views.py:115 order/views.py:141 msgid "Order cannot be cancelled" msgstr "Zamówienie nie może zostać anulowane" -#: order/views.py:130 +#: order/views.py:129 msgid "Cancel sales order" msgstr "" -#: order/views.py:156 +#: order/views.py:155 msgid "Issue Order" msgstr "" -#: order/views.py:165 +#: order/views.py:164 msgid "Confirm order placement" msgstr "" -#: order/views.py:175 +#: order/views.py:174 msgid "Purchase order issued" msgstr "" -#: order/views.py:186 +#: order/views.py:185 msgid "Complete Order" msgstr "" -#: order/views.py:202 +#: order/views.py:201 msgid "Confirm order completion" msgstr "" -#: order/views.py:213 +#: order/views.py:212 msgid "Purchase order completed" msgstr "" -#: order/views.py:223 +#: order/views.py:222 msgid "Ship Order" msgstr "Wyślij zamówienie" -#: order/views.py:239 +#: order/views.py:238 msgid "Confirm order shipment" msgstr "" -#: order/views.py:245 +#: order/views.py:244 msgid "Could not ship order" msgstr "" -#: order/views.py:292 +#: order/views.py:291 msgid "Match Supplier Parts" msgstr "" -#: order/views.py:480 -msgid "Receive Parts" -msgstr "" - -#: order/views.py:552 -msgid "Items received" -msgstr "Otrzymane przedmioty" - -#: order/views.py:620 -msgid "Error converting quantity to number" -msgstr "Błąd konwersji ilości na liczbę" - -#: order/views.py:626 -msgid "Receive quantity less than zero" -msgstr "" - -#: order/views.py:632 -msgid "No lines specified" -msgstr "" - -#: order/views.py:705 +#: order/views.py:535 msgid "Update prices" msgstr "" -#: order/views.py:963 +#: order/views.py:793 #, python-brace-format msgid "Ordered {n} parts" msgstr "" -#: order/views.py:1016 +#: order/views.py:846 msgid "Allocate Serial Numbers" msgstr "" -#: order/views.py:1061 +#: order/views.py:891 #, python-brace-format msgid "Allocated {n} items" msgstr "" -#: order/views.py:1077 +#: order/views.py:907 msgid "Select line item" msgstr "" -#: order/views.py:1108 +#: order/views.py:938 #, python-brace-format msgid "No matching item for serial {serial}" msgstr "" -#: order/views.py:1118 +#: order/views.py:948 #, python-brace-format msgid "{serial} is not in stock" msgstr "" -#: order/views.py:1126 +#: order/views.py:956 #, python-brace-format msgid "{serial} already allocated to an order" msgstr "" -#: order/views.py:1180 -msgid "Allocate Stock to Order" -msgstr "" - -#: order/views.py:1254 -msgid "Edit Allocation Quantity" -msgstr "Edytuj zarezerwowaną ilość" - -#: order/views.py:1269 -msgid "Remove allocation" -msgstr "" - -#: order/views.py:1341 +#: order/views.py:1072 msgid "Sales order not found" msgstr "" -#: order/views.py:1347 +#: order/views.py:1078 msgid "Price not found" msgstr "Nie znaleziono ceny" -#: order/views.py:1350 +#: order/views.py:1081 #, python-brace-format msgid "Updated {part} unit-price to {price}" msgstr "" -#: order/views.py:1355 +#: order/views.py:1086 #, python-brace-format msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" +#: part/api.py:54 part/models.py:299 part/templates/part/cat_link.html:7 +#: part/templates/part/category.html:108 part/templates/part/category.html:122 +#: part/templates/part/category_navbar.html:21 +#: part/templates/part/category_navbar.html:24 +#: templates/InvenTree/index.html:102 templates/InvenTree/search.html:114 +#: templates/InvenTree/settings/navbar.html:95 +#: templates/InvenTree/settings/navbar.html:97 +#: templates/js/translated/part.js:1165 templates/navbar.html:29 +#: templates/stats.html:80 templates/stats.html:89 users/models.py:41 +msgid "Parts" +msgstr "Części" + #: part/api.py:700 msgid "Must be greater than zero" msgstr "" @@ -3934,7 +3804,7 @@ msgstr "" msgid "This field is required" msgstr "" -#: part/bom.py:133 part/models.py:75 part/models.py:733 +#: part/bom.py:133 part/models.py:76 part/models.py:734 #: part/templates/part/category.html:75 part/templates/part/part_base.html:290 msgid "Default Location" msgstr "Domyślna lokalizacja" @@ -3999,7 +3869,7 @@ msgstr "" msgid "Include part supplier data in exported BOM" msgstr "" -#: part/forms.py:96 part/models.py:2250 +#: part/forms.py:96 part/models.py:2254 msgid "Parent Part" msgstr "Część nadrzędna" @@ -4043,391 +3913,387 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:76 +#: part/models.py:77 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:79 +#: part/models.py:80 msgid "Default keywords" msgstr "Domyślne słowa kluczowe" -#: part/models.py:79 +#: part/models.py:80 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:89 part/models.py:2296 +#: part/models.py:90 part/models.py:2300 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:90 part/templates/part/category.html:32 +#: part/models.py:91 part/templates/part/category.html:32 #: part/templates/part/category.html:103 templates/InvenTree/search.html:127 #: templates/stats.html:84 users/models.py:40 msgid "Part Categories" msgstr "" -#: part/models.py:383 +#: part/models.py:384 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:435 part/models.py:447 +#: part/models.py:436 part/models.py:448 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:544 +#: part/models.py:545 msgid "Next available serial numbers are" msgstr "" -#: part/models.py:548 +#: part/models.py:549 msgid "Next available serial number is" msgstr "" -#: part/models.py:553 +#: part/models.py:554 msgid "Most recent serial number is" msgstr "" -#: part/models.py:632 +#: part/models.py:633 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:657 +#: part/models.py:658 msgid "Part name" msgstr "Nazwa części" -#: part/models.py:664 +#: part/models.py:665 msgid "Is Template" msgstr "" -#: part/models.py:665 +#: part/models.py:666 msgid "Is this part a template part?" msgstr "" -#: part/models.py:675 +#: part/models.py:676 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:676 +#: part/models.py:677 msgid "Variant Of" msgstr "Wariant" -#: part/models.py:682 +#: part/models.py:683 msgid "Part description" msgstr "Opis części" -#: part/models.py:687 part/templates/part/category.html:82 +#: part/models.py:688 part/templates/part/category.html:82 #: part/templates/part/part_base.html:259 msgid "Keywords" msgstr "Słowa kluczowe" -#: part/models.py:688 +#: part/models.py:689 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:695 part/models.py:2295 +#: part/models.py:696 part/models.py:2299 #: part/templates/part/set_category.html:15 -#: templates/InvenTree/settings/settings.html:167 -#: templates/js/translated/part.js:916 +#: templates/InvenTree/settings/settings.html:169 +#: templates/js/translated/part.js:927 msgid "Category" msgstr "Kategoria" -#: part/models.py:696 +#: part/models.py:697 msgid "Part category" msgstr "" -#: part/models.py:701 part/templates/part/part_base.html:235 -#: templates/js/translated/part.js:517 templates/js/translated/part.js:749 +#: part/models.py:702 part/templates/part/part_base.html:235 +#: templates/js/translated/part.js:528 templates/js/translated/part.js:760 msgid "IPN" msgstr "IPN" -#: part/models.py:702 +#: part/models.py:703 msgid "Internal Part Number" msgstr "" -#: part/models.py:708 +#: part/models.py:709 msgid "Part revision or version number" msgstr "" -#: part/models.py:709 part/templates/part/part_base.html:252 -#: report/models.py:200 templates/js/translated/part.js:521 +#: part/models.py:710 part/templates/part/part_base.html:252 +#: report/models.py:200 templates/js/translated/part.js:532 msgid "Revision" msgstr "Wersja" -#: part/models.py:731 +#: part/models.py:732 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:778 part/templates/part/part_base.html:297 +#: part/models.py:779 part/templates/part/part_base.html:297 msgid "Default Supplier" msgstr "" -#: part/models.py:779 +#: part/models.py:780 msgid "Default supplier part" msgstr "" -#: part/models.py:786 +#: part/models.py:787 msgid "Default Expiry" msgstr "" -#: part/models.py:787 +#: part/models.py:788 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:792 +#: part/models.py:793 msgid "Minimum Stock" msgstr "Minimalny stan magazynowy" -#: part/models.py:793 +#: part/models.py:794 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:800 +#: part/models.py:801 msgid "Stock keeping units for this part" msgstr "" -#: part/models.py:806 +#: part/models.py:807 msgid "Can this part be built from other parts?" msgstr "Czy ta część może być zbudowana z innych części?" -#: part/models.py:812 +#: part/models.py:813 msgid "Can this part be used to build other parts?" msgstr "Czy ta część może być użyta do budowy innych części?" -#: part/models.py:818 +#: part/models.py:819 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:823 +#: part/models.py:824 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:828 +#: part/models.py:829 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:832 templates/js/translated/table_filters.js:34 +#: part/models.py:833 templates/js/translated/table_filters.js:34 #: templates/js/translated/table_filters.js:82 #: templates/js/translated/table_filters.js:268 -#: templates/js/translated/table_filters.js:337 +#: templates/js/translated/table_filters.js:346 msgid "Active" msgstr "Aktywny" -#: part/models.py:833 +#: part/models.py:834 msgid "Is this part active?" msgstr "Czy ta część jest aktywna?" -#: part/models.py:838 +#: part/models.py:839 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:843 +#: part/models.py:844 msgid "Part notes - supports Markdown formatting" msgstr "" -#: part/models.py:846 +#: part/models.py:847 msgid "BOM checksum" msgstr "" -#: part/models.py:846 +#: part/models.py:847 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:849 +#: part/models.py:850 msgid "BOM checked by" msgstr "" -#: part/models.py:851 +#: part/models.py:852 msgid "BOM checked date" msgstr "" -#: part/models.py:855 +#: part/models.py:856 msgid "Creation User" msgstr "" -#: part/models.py:1601 +#: part/models.py:1605 msgid "Sell multiple" msgstr "Sprzedaj wiele" -#: part/models.py:2096 +#: part/models.py:2100 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:2113 +#: part/models.py:2117 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:2133 templates/js/translated/part.js:1205 -#: templates/js/translated/stock.js:556 +#: part/models.py:2137 templates/js/translated/part.js:1216 +#: templates/js/translated/stock.js:535 msgid "Test Name" msgstr "Nazwa testu" -#: part/models.py:2134 +#: part/models.py:2138 msgid "Enter a name for the test" msgstr "" -#: part/models.py:2139 +#: part/models.py:2143 msgid "Test Description" msgstr "" -#: part/models.py:2140 +#: part/models.py:2144 msgid "Enter description for this test" msgstr "" -#: part/models.py:2145 templates/js/translated/part.js:1214 +#: part/models.py:2149 templates/js/translated/part.js:1225 #: templates/js/translated/table_filters.js:254 msgid "Required" msgstr "Wymagane" -#: part/models.py:2146 +#: part/models.py:2150 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:2151 templates/js/translated/part.js:1222 +#: part/models.py:2155 templates/js/translated/part.js:1233 msgid "Requires Value" msgstr "" -#: part/models.py:2152 +#: part/models.py:2156 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:2157 templates/js/translated/part.js:1229 +#: part/models.py:2161 templates/js/translated/part.js:1240 msgid "Requires Attachment" msgstr "" -#: part/models.py:2158 +#: part/models.py:2162 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:2169 +#: part/models.py:2173 #, python-brace-format msgid "Illegal character in template name ({c})" msgstr "" -#: part/models.py:2205 +#: part/models.py:2209 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:2213 +#: part/models.py:2217 msgid "Parameter Name" msgstr "" -#: part/models.py:2220 +#: part/models.py:2224 msgid "Parameter Units" msgstr "" -#: part/models.py:2252 part/models.py:2301 part/models.py:2302 -#: templates/InvenTree/settings/settings.html:162 +#: part/models.py:2256 part/models.py:2305 part/models.py:2306 +#: templates/InvenTree/settings/settings.html:164 msgid "Parameter Template" msgstr "" -#: part/models.py:2254 +#: part/models.py:2258 msgid "Data" msgstr "Dane" -#: part/models.py:2254 +#: part/models.py:2258 msgid "Parameter Value" msgstr "" -#: part/models.py:2306 templates/InvenTree/settings/settings.html:171 +#: part/models.py:2310 templates/InvenTree/settings/settings.html:173 msgid "Default Value" msgstr "Wartość domyślna" -#: part/models.py:2307 +#: part/models.py:2311 msgid "Default Parameter Value" msgstr "" -#: part/models.py:2341 +#: part/models.py:2362 msgid "Select parent part" msgstr "" -#: part/models.py:2349 +#: part/models.py:2370 msgid "Sub part" msgstr "Podczęść" -#: part/models.py:2350 +#: part/models.py:2371 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:2356 +#: part/models.py:2377 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:2358 templates/js/translated/bom.js:256 -#: templates/js/translated/bom.js:314 +#: part/models.py:2379 templates/js/translated/bom.js:275 +#: templates/js/translated/bom.js:335 msgid "Optional" msgstr "" -#: part/models.py:2358 +#: part/models.py:2379 msgid "This BOM item is optional" msgstr "" -#: part/models.py:2361 +#: part/models.py:2382 msgid "Overage" msgstr "" -#: part/models.py:2362 +#: part/models.py:2383 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:2365 +#: part/models.py:2386 msgid "BOM item reference" msgstr "" -#: part/models.py:2368 +#: part/models.py:2389 msgid "BOM item notes" msgstr "" -#: part/models.py:2370 +#: part/models.py:2391 msgid "Checksum" msgstr "Suma kontrolna" -#: part/models.py:2370 +#: part/models.py:2391 msgid "BOM line checksum" msgstr "" -#: part/models.py:2374 templates/js/translated/bom.js:331 -#: templates/js/translated/bom.js:338 +#: part/models.py:2395 templates/js/translated/bom.js:352 +#: templates/js/translated/bom.js:359 #: templates/js/translated/table_filters.js:68 msgid "Inherited" msgstr "" -#: part/models.py:2375 +#: part/models.py:2396 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:2380 templates/js/translated/bom.js:323 +#: part/models.py:2401 templates/js/translated/bom.js:344 msgid "Allow Variants" msgstr "" -#: part/models.py:2381 +#: part/models.py:2402 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:2466 stock/models.py:341 +#: part/models.py:2487 stock/models.py:341 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:2475 part/models.py:2477 +#: part/models.py:2496 part/models.py:2498 msgid "Sub part must be specified" msgstr "" -#: part/models.py:2480 -msgid "BOM Item" -msgstr "" - -#: part/models.py:2599 +#: part/models.py:2620 msgid "Part 1" msgstr "Część 1" -#: part/models.py:2603 +#: part/models.py:2624 msgid "Part 2" msgstr "Część 2" -#: part/models.py:2603 +#: part/models.py:2624 msgid "Select Related Part" msgstr "Wybierz powiązaną część" -#: part/models.py:2635 +#: part/models.py:2656 msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique" msgstr "" @@ -4578,7 +4444,7 @@ msgstr "Eksportuj" msgid "Create new part" msgstr "" -#: part/templates/part/category.html:131 +#: part/templates/part/category.html:131 templates/js/translated/bom.js:39 msgid "New Part" msgstr "Nowy komponent" @@ -4658,7 +4524,7 @@ msgstr "" msgid "Import Parts" msgstr "" -#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:352 +#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:363 msgid "Duplicate Part" msgstr "Duplikuj część" @@ -4785,34 +4651,26 @@ msgstr "" msgid "Add Test Result Template" msgstr "" -#: part/templates/part/detail.html:716 -msgid "Edit Test Result Template" -msgstr "" - -#: part/templates/part/detail.html:728 -msgid "Delete Test Result Template" -msgstr "" - -#: part/templates/part/detail.html:784 +#: part/templates/part/detail.html:755 msgid "Edit Part Notes" msgstr "" -#: part/templates/part/detail.html:936 +#: part/templates/part/detail.html:907 #, python-format msgid "Purchase Unit Price - %(currency)s" msgstr "" -#: part/templates/part/detail.html:948 +#: part/templates/part/detail.html:919 #, python-format msgid "Unit Price-Cost Difference - %(currency)s" msgstr "" -#: part/templates/part/detail.html:960 +#: part/templates/part/detail.html:931 #, python-format msgid "Supplier Unit Cost - %(currency)s" msgstr "" -#: part/templates/part/detail.html:1049 +#: part/templates/part/detail.html:1020 #, python-format msgid "Unit Price - %(currency)s" msgstr "" @@ -4874,9 +4732,9 @@ msgstr "" msgid "Part is virtual (not a physical part)" msgstr "Część jest wirtualna (nie fizyczna)" -#: part/templates/part/part_base.html:58 templates/js/translated/company.js:503 -#: templates/js/translated/company.js:759 templates/js/translated/part.js:432 -#: templates/js/translated/part.js:509 +#: part/templates/part/part_base.html:58 templates/js/translated/company.js:504 +#: templates/js/translated/company.js:761 templates/js/translated/part.js:443 +#: templates/js/translated/part.js:520 msgid "Inactive" msgstr "Nieaktywny" @@ -4942,10 +4800,16 @@ msgid "This part is a variant of %(link)s" msgstr "" #: part/templates/part/part_base.html:161 +#: templates/js/translated/model_renderers.js:169 +#: templates/js/translated/order.js:1503 #: templates/js/translated/table_filters.js:166 msgid "In Stock" msgstr "" +#: part/templates/part/part_base.html:167 templates/js/translated/part.js:960 +msgid "On Order" +msgstr "" + #: part/templates/part/part_base.html:174 templates/InvenTree/index.html:186 msgid "Required for Build Orders" msgstr "" @@ -4958,18 +4822,18 @@ msgstr "" msgid "Allocated to Orders" msgstr "" -#: part/templates/part/part_base.html:203 templates/js/translated/bom.js:352 +#: part/templates/part/part_base.html:203 templates/js/translated/bom.js:373 msgid "Can Build" msgstr "" -#: part/templates/part/part_base.html:209 templates/js/translated/part.js:765 -#: templates/js/translated/part.js:953 +#: part/templates/part/part_base.html:209 templates/js/translated/part.js:776 +#: templates/js/translated/part.js:964 msgid "Building" msgstr "" #: part/templates/part/part_base.html:223 -#: part/templates/part/part_base.html:524 -#: part/templates/part/part_base.html:550 +#: part/templates/part/part_base.html:531 +#: part/templates/part/part_base.html:557 msgid "Show Part Details" msgstr "" @@ -4977,16 +4841,16 @@ msgstr "" msgid "Latest Serial Number" msgstr "Ostatni numer seryjny" -#: part/templates/part/part_base.html:396 part/templates/part/prices.html:144 +#: part/templates/part/part_base.html:402 part/templates/part/prices.html:144 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:439 +#: part/templates/part/part_base.html:445 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:519 -#: part/templates/part/part_base.html:544 +#: part/templates/part/part_base.html:526 +#: part/templates/part/part_base.html:551 msgid "Hide Part Details" msgstr "" @@ -5013,7 +4877,7 @@ msgid "Total Cost" msgstr "" #: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:40 -#: templates/js/translated/bom.js:307 +#: templates/js/translated/bom.js:327 msgid "No supplier pricing available" msgstr "" @@ -5051,32 +4915,39 @@ msgstr "" msgid "Select from existing images" msgstr "" -#: part/templates/part/partial_delete.html:7 +#: part/templates/part/partial_delete.html:9 +#, python-format +msgid "Part '%(full_name)s' cannot be deleted as it is still marked as active.\n" +"
Disable the \"Active\" part attribute and re-try.\n" +" " +msgstr "" + +#: part/templates/part/partial_delete.html:17 #, python-format msgid "Are you sure you want to delete part '%(full_name)s'?" msgstr "" -#: part/templates/part/partial_delete.html:12 +#: part/templates/part/partial_delete.html:22 #, python-format msgid "This part is used in BOMs for %(count)s other parts. If you delete this part, the BOMs for the following parts will be updated" msgstr "" -#: part/templates/part/partial_delete.html:22 +#: part/templates/part/partial_delete.html:32 #, python-format msgid "There are %(count)s stock entries defined for this part. If you delete this part, the following stock entries will also be deleted:" msgstr "" -#: part/templates/part/partial_delete.html:33 +#: part/templates/part/partial_delete.html:43 #, python-format msgid "There are %(count)s manufacturers defined for this part. If you delete this part, the following manufacturer parts will also be deleted:" msgstr "" -#: part/templates/part/partial_delete.html:44 +#: part/templates/part/partial_delete.html:54 #, python-format msgid "There are %(count)s suppliers defined for this part. If you delete this part, the following supplier parts will also be deleted:" msgstr "" -#: part/templates/part/partial_delete.html:55 +#: part/templates/part/partial_delete.html:65 #, python-format msgid "There are %(count)s unique parts tracked for '%(full_name)s'. Deleting this part will permanently remove this tracking information." msgstr "" @@ -5109,7 +4980,7 @@ msgstr "" msgid "Calculation parameters" msgstr "" -#: part/templates/part/prices.html:155 templates/js/translated/bom.js:301 +#: part/templates/part/prices.html:155 templates/js/translated/bom.js:321 msgid "Supplier Cost" msgstr "" @@ -5151,8 +5022,9 @@ msgstr "" msgid "Set category for the following parts" msgstr "" -#: part/templates/part/stock_count.html:7 templates/js/translated/bom.js:278 -#: templates/js/translated/part.js:755 templates/js/translated/part.js:957 +#: part/templates/part/stock_count.html:7 templates/js/translated/bom.js:297 +#: templates/js/translated/model_renderers.js:167 +#: templates/js/translated/part.js:766 templates/js/translated/part.js:968 msgid "No Stock" msgstr "" @@ -5262,7 +5134,7 @@ msgstr "" msgid "Delete Part Parameter Template" msgstr "" -#: part/views.py:1502 templates/js/translated/part.js:303 +#: part/views.py:1502 templates/js/translated/part.js:308 msgid "Edit Part Category" msgstr "Edytuj kategorię części" @@ -5400,17 +5272,17 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:88 -#: stock/models.py:1807 +#: stock/models.py:1804 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:89 -#: stock/models.py:1813 +#: stock/models.py:1810 msgid "Result" msgstr "Wynik" #: report/templates/report/inventree_test_report_base.html:92 -#: templates/js/translated/order.js:353 templates/js/translated/stock.js:1523 +#: templates/js/translated/order.js:684 templates/js/translated/stock.js:1502 msgid "Date" msgstr "Data" @@ -5422,51 +5294,9 @@ msgstr "Zaliczone" msgid "Fail" msgstr "Niezaliczone" -#: stock/api.py:146 -msgid "Request must contain list of stock items" -msgstr "" - -#: stock/api.py:154 -msgid "Improperly formatted data" -msgstr "" - -#: stock/api.py:162 -msgid "Each entry must contain a valid integer primary-key" -msgstr "" - -#: stock/api.py:168 -msgid "Primary key does not match valid stock item" -msgstr "" - -#: stock/api.py:178 -msgid "Invalid quantity value" -msgstr "Nieprawidłowa ilość" - -#: stock/api.py:183 -msgid "Quantity must not be less than zero" -msgstr "Ilość musi być większa niż zero" - -#: stock/api.py:211 -#, python-brace-format -msgid "Updated stock for {n} items" -msgstr "" - -#: stock/api.py:247 stock/api.py:280 -msgid "Specified quantity exceeds stock quantity" -msgstr "" - -#: stock/api.py:270 -msgid "Valid location must be specified" -msgstr "" - -#: stock/api.py:290 -#, python-brace-format -msgid "Moved {n} parts to {loc}" -msgstr "" - #: stock/forms.py:79 stock/forms.py:307 stock/models.py:556 #: stock/templates/stock/item_base.html:395 -#: templates/js/translated/stock.js:967 +#: templates/js/translated/stock.js:946 msgid "Expiry Date" msgstr "Data ważności" @@ -5678,38 +5508,54 @@ msgstr "" msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:1727 +#: stock/models.py:1724 msgid "Entry notes" msgstr "" -#: stock/models.py:1784 +#: stock/models.py:1781 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:1790 +#: stock/models.py:1787 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:1808 +#: stock/models.py:1805 msgid "Test name" msgstr "" -#: stock/models.py:1814 templates/js/translated/table_filters.js:244 +#: stock/models.py:1811 templates/js/translated/table_filters.js:244 msgid "Test result" msgstr "" -#: stock/models.py:1820 +#: stock/models.py:1817 msgid "Test output value" msgstr "" -#: stock/models.py:1827 +#: stock/models.py:1824 msgid "Test result attachment" msgstr "" -#: stock/models.py:1833 +#: stock/models.py:1830 msgid "Test notes" msgstr "" +#: stock/serializers.py:424 +msgid "StockItem primary key value" +msgstr "" + +#: stock/serializers.py:452 +msgid "Stock transaction notes" +msgstr "" + +#: stock/serializers.py:462 +msgid "A list of stock items must be provided" +msgstr "" + +#: stock/serializers.py:554 +msgid "Destination stock location" +msgstr "" + #: stock/templates/stock/item.html:17 msgid "Stock Tracking Information" msgstr "" @@ -5747,7 +5593,7 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:125 stock/views.py:534 +#: stock/templates/stock/item.html:125 stock/views.py:511 msgid "Install Stock Item" msgstr "" @@ -5910,7 +5756,7 @@ msgid "next page" msgstr "" #: stock/templates/stock/item_base.html:303 -#: templates/js/translated/build.js:651 +#: templates/js/translated/build.js:658 msgid "No location set" msgstr "Lokacje nie są ustawione" @@ -5937,7 +5783,7 @@ msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:408 -#: templates/js/translated/stock.js:980 +#: templates/js/translated/stock.js:959 msgid "Last Updated" msgstr "Ostatnia aktualizacja" @@ -6019,6 +5865,10 @@ msgstr "" msgid "All stock items" msgstr "" +#: stock/templates/stock/location.html:42 +msgid "Create new stock location" +msgstr "" + #: stock/templates/stock/location.html:55 msgid "Check-in Items" msgstr "" @@ -6058,7 +5908,7 @@ msgstr "" msgid "Stock Details" msgstr "" -#: stock/templates/stock/location.html:129 templates/InvenTree/search.html:279 +#: stock/templates/stock/location.html:129 templates/InvenTree/search.html:196 #: templates/stats.html:97 users/models.py:42 msgid "Stock Locations" msgstr "" @@ -6071,6 +5921,10 @@ msgstr "" msgid "Print labels" msgstr "Drukuj etykiety" +#: stock/templates/stock/location.html:250 +msgid "New Location" +msgstr "Nowa lokalizacja" + #: stock/templates/stock/location.html:251 msgid "Create new location" msgstr "" @@ -6111,7 +5965,7 @@ msgstr "" msgid "The following stock items will be uninstalled" msgstr "" -#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:932 +#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:909 msgid "Convert Stock Item" msgstr "" @@ -6132,104 +5986,104 @@ msgstr "" msgid "Are you sure you want to delete this stock tracking entry?" msgstr "" -#: stock/views.py:181 +#: stock/views.py:158 msgid "Edit Stock Location" msgstr "" -#: stock/views.py:288 stock/views.py:911 stock/views.py:1033 -#: stock/views.py:1398 +#: stock/views.py:265 stock/views.py:888 stock/views.py:1010 +#: stock/views.py:1375 msgid "Owner is required (ownership control is enabled)" msgstr "" -#: stock/views.py:303 +#: stock/views.py:280 msgid "Stock Location QR code" msgstr "" -#: stock/views.py:322 +#: stock/views.py:299 msgid "Assign to Customer" msgstr "" -#: stock/views.py:331 +#: stock/views.py:308 msgid "Customer must be specified" msgstr "" -#: stock/views.py:355 +#: stock/views.py:332 msgid "Return to Stock" msgstr "" -#: stock/views.py:364 +#: stock/views.py:341 msgid "Specify a valid location" msgstr "" -#: stock/views.py:375 +#: stock/views.py:352 msgid "Stock item returned from customer" msgstr "" -#: stock/views.py:386 +#: stock/views.py:363 msgid "Delete All Test Data" msgstr "" -#: stock/views.py:403 +#: stock/views.py:380 msgid "Confirm test data deletion" msgstr "" -#: stock/views.py:508 +#: stock/views.py:485 msgid "Stock Item QR Code" msgstr "" -#: stock/views.py:683 +#: stock/views.py:660 msgid "Uninstall Stock Items" msgstr "" -#: stock/views.py:780 templates/js/translated/stock.js:353 +#: stock/views.py:757 templates/js/translated/stock.js:321 msgid "Confirm stock adjustment" msgstr "" -#: stock/views.py:791 +#: stock/views.py:768 msgid "Uninstalled stock items" msgstr "" -#: stock/views.py:813 +#: stock/views.py:790 msgid "Edit Stock Item" msgstr "" -#: stock/views.py:959 +#: stock/views.py:936 msgid "Create new Stock Location" msgstr "Utwórz nową lokalizację magazynową" -#: stock/views.py:1050 +#: stock/views.py:1027 msgid "Serialize Stock" msgstr "" -#: stock/views.py:1143 templates/js/translated/build.js:392 +#: stock/views.py:1120 msgid "Create new Stock Item" msgstr "" -#: stock/views.py:1285 +#: stock/views.py:1262 msgid "Duplicate Stock Item" msgstr "" -#: stock/views.py:1367 +#: stock/views.py:1344 msgid "Quantity cannot be negative" msgstr "Ilość nie może być ujemna" -#: stock/views.py:1467 +#: stock/views.py:1444 msgid "Delete Stock Location" msgstr "" -#: stock/views.py:1480 +#: stock/views.py:1457 msgid "Delete Stock Item" msgstr "" -#: stock/views.py:1491 +#: stock/views.py:1468 msgid "Delete Stock Tracking Entry" msgstr "" -#: stock/views.py:1498 +#: stock/views.py:1475 msgid "Edit Stock Tracking Entry" msgstr "" -#: stock/views.py:1507 +#: stock/views.py:1484 msgid "Add Stock Tracking Entry" msgstr "" @@ -6313,14 +6167,6 @@ msgstr "" msgid "Enter a search query" msgstr "" -#: templates/InvenTree/search.html:268 templates/js/translated/stock.js:699 -msgid "Shipped to customer" -msgstr "" - -#: templates/InvenTree/search.html:271 templates/js/translated/stock.js:709 -msgid "No stock location set" -msgstr "" - #: templates/InvenTree/settings/barcode.html:8 msgid "Barcode Settings" msgstr "" @@ -6365,6 +6211,14 @@ msgstr "" msgid "Setting" msgstr "" +#: templates/InvenTree/settings/login.html:9 +msgid "Login Settings" +msgstr "" + +#: templates/InvenTree/settings/login.html:22 templates/account/signup.html:5 +msgid "Signup" +msgstr "" + #: templates/InvenTree/settings/navbar.html:12 #: templates/InvenTree/settings/user_settings.html:9 msgid "User Settings" @@ -6382,7 +6236,7 @@ msgstr "" #: templates/InvenTree/settings/navbar.html:27 #: templates/InvenTree/settings/navbar.html:29 -#: templates/js/translated/tables.js:366 templates/search_form.html:6 +#: templates/js/translated/tables.js:375 templates/search_form.html:6 #: templates/search_form.html:8 msgid "Search" msgstr "" @@ -6397,38 +6251,48 @@ msgstr "" msgid "Reports" msgstr "" -#: templates/InvenTree/settings/navbar.html:46 -#: templates/InvenTree/settings/navbar.html:48 -#: templates/InvenTree/settings/settings.html:8 templates/navbar.html:94 +#: templates/InvenTree/settings/navbar.html:45 +#: templates/InvenTree/settings/navbar.html:47 +msgid "Forms" +msgstr "" + +#: templates/InvenTree/settings/navbar.html:52 +#: templates/InvenTree/settings/navbar.html:54 +#: templates/InvenTree/settings/settings.html:8 templates/navbar.html:90 msgid "Settings" msgstr "" -#: templates/InvenTree/settings/navbar.html:56 +#: templates/InvenTree/settings/navbar.html:62 msgid "InvenTree Settings" msgstr "" -#: templates/InvenTree/settings/navbar.html:59 -#: templates/InvenTree/settings/navbar.html:61 templates/stats.html:9 +#: templates/InvenTree/settings/navbar.html:65 +#: templates/InvenTree/settings/navbar.html:67 templates/stats.html:9 msgid "Server" msgstr "" -#: templates/InvenTree/settings/navbar.html:65 -#: templates/InvenTree/settings/navbar.html:67 -msgid "Barcodes" -msgstr "" - #: templates/InvenTree/settings/navbar.html:71 -#: templates/InvenTree/settings/navbar.html:73 -msgid "Currencies" +#: templates/InvenTree/settings/navbar.html:73 templates/navbar.html:87 +msgid "Login" msgstr "" #: templates/InvenTree/settings/navbar.html:77 #: templates/InvenTree/settings/navbar.html:79 -msgid "Reporting" +msgid "Barcodes" +msgstr "" + +#: templates/InvenTree/settings/navbar.html:83 +#: templates/InvenTree/settings/navbar.html:85 +msgid "Currencies" msgstr "" #: templates/InvenTree/settings/navbar.html:89 #: templates/InvenTree/settings/navbar.html:91 +msgid "Reporting" +msgstr "" + +#: templates/InvenTree/settings/navbar.html:101 +#: templates/InvenTree/settings/navbar.html:103 msgid "Categories" msgstr "" @@ -6469,21 +6333,21 @@ msgstr "" msgid "Edit setting" msgstr "" -#: templates/InvenTree/settings/settings.html:152 +#: templates/InvenTree/settings/settings.html:154 msgid "No category parameter templates found" msgstr "" -#: templates/InvenTree/settings/settings.html:174 -#: templates/InvenTree/settings/settings.html:273 +#: templates/InvenTree/settings/settings.html:176 +#: templates/InvenTree/settings/settings.html:275 msgid "Edit Template" msgstr "" -#: templates/InvenTree/settings/settings.html:175 -#: templates/InvenTree/settings/settings.html:274 +#: templates/InvenTree/settings/settings.html:177 +#: templates/InvenTree/settings/settings.html:276 msgid "Delete Template" msgstr "" -#: templates/InvenTree/settings/settings.html:253 +#: templates/InvenTree/settings/settings.html:255 msgid "No part parameter templates found" msgstr "" @@ -6495,70 +6359,140 @@ msgstr "" msgid "Stock Settings" msgstr "" -#: templates/InvenTree/settings/user.html:9 +#: templates/InvenTree/settings/user.html:11 msgid "Account Settings" msgstr "" -#: templates/InvenTree/settings/user.html:15 +#: templates/InvenTree/settings/user.html:19 #: templates/js/translated/helpers.js:26 msgid "Edit" msgstr "" -#: templates/InvenTree/settings/user.html:17 +#: templates/InvenTree/settings/user.html:21 +#: templates/account/password_reset_from_key.html:4 +#: templates/account/password_reset_from_key.html:7 msgid "Change Password" msgstr "" -#: templates/InvenTree/settings/user.html:24 -#: templates/registration/login.html:58 +#: templates/InvenTree/settings/user.html:28 msgid "Username" msgstr "" -#: templates/InvenTree/settings/user.html:28 +#: templates/InvenTree/settings/user.html:32 msgid "First Name" msgstr "" -#: templates/InvenTree/settings/user.html:32 +#: templates/InvenTree/settings/user.html:36 msgid "Last Name" msgstr "" -#: templates/InvenTree/settings/user.html:36 -msgid "Email Address" -msgstr "Adres e-mail" - #: templates/InvenTree/settings/user.html:42 -msgid "Theme Settings" +msgid "E-Mail" +msgstr "" + +#: templates/InvenTree/settings/user.html:47 +msgid "The following e-mail addresses are associated with your account:" +msgstr "" + +#: templates/InvenTree/settings/user.html:61 +msgid "Verified" msgstr "" #: templates/InvenTree/settings/user.html:63 +msgid "Unverified" +msgstr "" + +#: templates/InvenTree/settings/user.html:65 +msgid "Primary" +msgstr "" + +#: templates/InvenTree/settings/user.html:71 +msgid "Make Primary" +msgstr "" + +#: templates/InvenTree/settings/user.html:72 +msgid "Re-send Verification" +msgstr "" + +#: templates/InvenTree/settings/user.html:73 +#: templates/InvenTree/settings/user.html:130 +msgid "Remove" +msgstr "" + +#: templates/InvenTree/settings/user.html:80 +msgid "Warning:" +msgstr "" + +#: templates/InvenTree/settings/user.html:81 +msgid "You currently do not have any e-mail address set up. You should really add an e-mail address so you can receive notifications, reset your password, etc." +msgstr "" + +#: templates/InvenTree/settings/user.html:88 +msgid "Add E-mail Address" +msgstr "" + +#: templates/InvenTree/settings/user.html:93 +msgid "Add E-mail" +msgstr "" + +#: templates/InvenTree/settings/user.html:100 +msgid "Social Accounts" +msgstr "" + +#: templates/InvenTree/settings/user.html:105 +msgid "You can sign in to your account using any of the following third party accounts:" +msgstr "" + +#: templates/InvenTree/settings/user.html:138 +msgid "You currently have no social network accounts connected to this account." +msgstr "" + +#: templates/InvenTree/settings/user.html:142 +msgid "Add a 3rd Party Account" +msgstr "" + +#: templates/InvenTree/settings/user.html:153 +msgid "Theme Settings" +msgstr "" + +#: templates/InvenTree/settings/user.html:174 msgid "Set Theme" msgstr "" -#: templates/InvenTree/settings/user.html:70 +#: templates/InvenTree/settings/user.html:181 msgid "Language Settings" msgstr "" -#: templates/InvenTree/settings/user.html:89 +#: templates/InvenTree/settings/user.html:200 #, python-format msgid "%(lang_translated)s%% translated" msgstr "" -#: templates/InvenTree/settings/user.html:91 +#: templates/InvenTree/settings/user.html:202 msgid "No translations available" msgstr "" -#: templates/InvenTree/settings/user.html:98 +#: templates/InvenTree/settings/user.html:209 msgid "Set Language" msgstr "" -#: templates/InvenTree/settings/user.html:103 +#: templates/InvenTree/settings/user.html:214 msgid "Help the translation efforts!" msgstr "" -#: templates/InvenTree/settings/user.html:104 +#: templates/InvenTree/settings/user.html:215 #, python-format msgid "Native language translation of the InvenTree web application is community contributed via crowdin. Contributions are welcomed and encouraged." msgstr "" +#: templates/InvenTree/settings/user.html:223 +msgid "Do you really want to remove the selected e-mail address?" +msgstr "" + +#: templates/InvenTree/settings/user_forms.html:9 +msgid "Form Settings" +msgstr "" + #: templates/InvenTree/settings/user_homepage.html:9 msgid "Home Page Settings" msgstr "" @@ -6641,11 +6575,108 @@ msgstr "" #: templates/about.html:107 templates/js/translated/modals.js:50 #: templates/js/translated/modals.js:584 templates/js/translated/modals.js:678 -#: templates/js/translated/modals.js:971 templates/modals.html:29 +#: templates/js/translated/modals.js:982 templates/modals.html:29 #: templates/modals.html:54 msgid "Close" msgstr "" +#: templates/account/email_confirm.html:6 +#: templates/account/email_confirm.html:10 +msgid "Confirm E-mail Address" +msgstr "" + +#: templates/account/email_confirm.html:16 +#, python-format +msgid "Please confirm that %(email)s is an e-mail address for user %(user_display)s." +msgstr "" + +#: templates/account/email_confirm.html:27 +#, python-format +msgid "This e-mail confirmation link expired or is invalid. Please issue a new e-mail confirmation request." +msgstr "" + +#: templates/account/login.html:5 templates/account/login.html:14 +#: templates/account/login.html:36 +msgid "Sign In" +msgstr "" + +#: templates/account/login.html:19 +#, python-format +msgid "Please sign in with one\n" +"of your existing third party accounts or sign up\n" +"for a account and sign in below:" +msgstr "" + +#: templates/account/login.html:23 +#, python-format +msgid "If you have not created an account yet, then please\n" +"sign up first." +msgstr "" + +#: templates/account/login.html:38 +msgid "Forgot Password?" +msgstr "" + +#: templates/account/login.html:45 +msgid "or use SSO" +msgstr "" + +#: templates/account/logout.html:5 templates/account/logout.html:8 +#: templates/account/logout.html:17 +msgid "Sign Out" +msgstr "" + +#: templates/account/logout.html:10 +msgid "Are you sure you want to sign out?" +msgstr "" + +#: templates/account/password_reset.html:5 +#: templates/account/password_reset.html:12 +msgid "Password Reset" +msgstr "" + +#: templates/account/password_reset.html:18 +msgid "Forgotten your password? Enter your e-mail address below, and we'll send you an e-mail allowing you to reset it." +msgstr "" + +#: templates/account/password_reset.html:23 +msgid "Reset My Password" +msgstr "" + +#: templates/account/password_reset.html:27 templates/account/signup.html:36 +msgid "This function is currently disabled. Please contact an administrator." +msgstr "" + +#: templates/account/password_reset_from_key.html:7 +msgid "Bad Token" +msgstr "" + +#: templates/account/password_reset_from_key.html:11 +#, python-format +msgid "The password reset link was invalid, possibly because it has already been used. Please request a new password reset." +msgstr "" + +#: templates/account/password_reset_from_key.html:17 +msgid "change password" +msgstr "" + +#: templates/account/password_reset_from_key.html:20 +msgid "Your password is now changed." +msgstr "" + +#: templates/account/signup.html:11 templates/account/signup.html:22 +msgid "Sign Up" +msgstr "" + +#: templates/account/signup.html:13 +#, python-format +msgid "Already have an account? Then please sign in." +msgstr "" + +#: templates/account/signup.html:27 +msgid "Or use a SSO-provider for signup" +msgstr "" + #: templates/image_download.html:8 msgid "Specify URL for downloading image" msgstr "" @@ -6675,7 +6706,7 @@ msgid "Select Test Report Template" msgstr "" #: templates/js/report.js:98 templates/js/translated/label.js:29 -#: templates/js/translated/report.js:118 templates/js/translated/stock.js:313 +#: templates/js/translated/report.js:118 templates/js/translated/stock.js:297 msgid "Select Stock Items" msgstr "" @@ -6707,8 +6738,8 @@ msgstr "" msgid "No report templates found which match selected build(s)" msgstr "" -#: templates/js/report.js:205 templates/js/translated/label.js:134 -#: templates/js/translated/report.js:225 +#: templates/js/report.js:205 templates/js/translated/build.js:948 +#: templates/js/translated/label.js:134 templates/js/translated/report.js:225 msgid "Select Parts" msgstr "" @@ -6741,11 +6772,11 @@ msgstr "" msgid "Sales Order(s) must be selected before printing report" msgstr "" -#: templates/js/translated/api.js:174 templates/js/translated/modals.js:1041 +#: templates/js/translated/api.js:174 templates/js/translated/modals.js:1052 msgid "No Response" msgstr "" -#: templates/js/translated/api.js:175 templates/js/translated/modals.js:1042 +#: templates/js/translated/api.js:175 templates/js/translated/modals.js:1053 msgid "No response from the InvenTree server" msgstr "" @@ -6757,35 +6788,35 @@ msgstr "" msgid "API request returned error code 400" msgstr "" -#: templates/js/translated/api.js:186 templates/js/translated/modals.js:1051 +#: templates/js/translated/api.js:186 templates/js/translated/modals.js:1062 msgid "Error 401: Not Authenticated" msgstr "" -#: templates/js/translated/api.js:187 templates/js/translated/modals.js:1052 +#: templates/js/translated/api.js:187 templates/js/translated/modals.js:1063 msgid "Authentication credentials not supplied" msgstr "" -#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1056 +#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1067 msgid "Error 403: Permission Denied" msgstr "Błąd 403: Odmowa dostępu" -#: templates/js/translated/api.js:192 templates/js/translated/modals.js:1057 +#: templates/js/translated/api.js:192 templates/js/translated/modals.js:1068 msgid "You do not have the required permissions to access this function" msgstr "Nie masz uprawnień wymaganych do dostępu do tej funkcji" -#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1061 +#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1072 msgid "Error 404: Resource Not Found" msgstr "" -#: templates/js/translated/api.js:197 templates/js/translated/modals.js:1062 +#: templates/js/translated/api.js:197 templates/js/translated/modals.js:1073 msgid "The requested resource could not be located on the server" msgstr "" -#: templates/js/translated/api.js:201 templates/js/translated/modals.js:1066 +#: templates/js/translated/api.js:201 templates/js/translated/modals.js:1077 msgid "Error 408: Timeout" msgstr "" -#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1067 +#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1078 msgid "Connection timeout while requesting data from server" msgstr "" @@ -6842,7 +6873,7 @@ msgid "Unknown response from server" msgstr "" #: templates/js/translated/barcode.js:141 -#: templates/js/translated/modals.js:1031 +#: templates/js/translated/modals.js:1042 msgid "Invalid server response" msgstr "" @@ -6870,7 +6901,7 @@ msgstr "" msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:398 templates/js/translated/stock.js:289 +#: templates/js/translated/barcode.js:398 templates/js/translated/stock.js:273 msgid "Remove stock item" msgstr "" @@ -6912,115 +6943,181 @@ msgstr "" msgid "Barcode does not match a valid location" msgstr "" -#: templates/js/translated/bom.js:215 templates/js/translated/build.js:1169 +#: templates/js/translated/bom.js:234 templates/js/translated/build.js:1495 msgid "Open subassembly" msgstr "" -#: templates/js/translated/bom.js:287 +#: templates/js/translated/bom.js:288 templates/js/translated/build.js:744 +#: templates/js/translated/build.js:1345 templates/js/translated/build.js:1522 +msgid "Available" +msgstr "Dostępne" + +#: templates/js/translated/bom.js:307 msgid "Purchase Price Range" msgstr "" -#: templates/js/translated/bom.js:294 +#: templates/js/translated/bom.js:314 msgid "Purchase Price Average" msgstr "" -#: templates/js/translated/bom.js:342 templates/js/translated/bom.js:428 +#: templates/js/translated/bom.js:363 templates/js/translated/bom.js:449 msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:402 +#: templates/js/translated/bom.js:415 templates/js/translated/build.js:798 +#: templates/js/translated/build.js:1545 templates/js/translated/order.js:1285 +msgid "Actions" +msgstr "Akcje" + +#: templates/js/translated/bom.js:423 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:404 +#: templates/js/translated/bom.js:425 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:406 templates/js/translated/bom.js:569 +#: templates/js/translated/bom.js:427 templates/js/translated/bom.js:590 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:408 templates/js/translated/bom.js:554 +#: templates/js/translated/bom.js:429 templates/js/translated/bom.js:575 msgid "Delete BOM Item" msgstr "" -#: templates/js/translated/bom.js:499 templates/js/translated/build.js:483 -#: templates/js/translated/build.js:1267 +#: templates/js/translated/bom.js:520 templates/js/translated/build.js:485 +#: templates/js/translated/build.js:1593 msgid "No BOM items found" msgstr "" -#: templates/js/translated/build.js:69 +#: templates/js/translated/build.js:71 msgid "Edit Build Order" msgstr "" -#: templates/js/translated/build.js:95 +#: templates/js/translated/build.js:105 msgid "Create Build Order" msgstr "" -#: templates/js/translated/build.js:127 -msgid "Auto-allocate stock items to this output" +#: templates/js/translated/build.js:138 +msgid "Allocate stock items to this build output" msgstr "" -#: templates/js/translated/build.js:135 +#: templates/js/translated/build.js:146 msgid "Unallocate stock from build output" msgstr "" -#: templates/js/translated/build.js:145 +#: templates/js/translated/build.js:155 msgid "Complete build output" msgstr "" -#: templates/js/translated/build.js:154 +#: templates/js/translated/build.js:164 msgid "Delete build output" msgstr "" -#: templates/js/translated/build.js:249 +#: templates/js/translated/build.js:265 msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:287 templates/js/translated/order.js:813 +#: templates/js/translated/build.js:303 templates/js/translated/order.js:1159 msgid "Location not specified" msgstr "" -#: templates/js/translated/build.js:391 templates/stock_table.html:20 -msgid "New Stock Item" +#: templates/js/translated/build.js:675 templates/js/translated/build.js:1356 +#: templates/js/translated/order.js:1292 +msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/build.js:702 +#: templates/js/translated/build.js:677 templates/js/translated/build.js:1357 +#: templates/js/translated/order.js:1293 +msgid "Delete stock allocation" +msgstr "" + +#: templates/js/translated/build.js:695 +msgid "Edit Allocation" +msgstr "" + +#: templates/js/translated/build.js:705 +msgid "Remove Allocation" +msgstr "" + +#: templates/js/translated/build.js:718 msgid "Required Part" msgstr "" -#: templates/js/translated/build.js:723 +#: templates/js/translated/build.js:739 msgid "Quantity Per" msgstr "Ilość za" -#: templates/js/translated/build.js:793 templates/js/translated/build.js:1231 +#: templates/js/translated/build.js:749 templates/js/translated/build.js:975 +#: templates/js/translated/build.js:1352 templates/js/translated/order.js:1514 +msgid "Allocated" +msgstr "Przydzielono" + +#: templates/js/translated/build.js:805 templates/js/translated/build.js:1553 +#: templates/js/translated/order.js:1567 +msgid "Build stock" +msgstr "" + +#: templates/js/translated/build.js:809 templates/js/translated/build.js:1557 #: templates/stock_table.html:59 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:846 +#: templates/js/translated/build.js:812 templates/js/translated/order.js:1560 +msgid "Allocate stock" +msgstr "" + +#: templates/js/translated/build.js:880 +msgid "Specify stock allocation quantity" +msgstr "" + +#: templates/js/translated/build.js:949 +msgid "You must select at least one part to allocate" +msgstr "" + +#: templates/js/translated/build.js:963 +msgid "Select source location (leave blank to take from all locations)" +msgstr "" + +#: templates/js/translated/build.js:992 +msgid "Confirm stock allocation" +msgstr "Potwierdź przydział zapasów" + +#: templates/js/translated/build.js:993 +msgid "Allocate Stock Items to Build Order" +msgstr "" + +#: templates/js/translated/build.js:1004 +msgid "No matching stock locations" +msgstr "" + +#: templates/js/translated/build.js:1048 +msgid "No matching stock items" +msgstr "" + +#: templates/js/translated/build.js:1172 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:863 templates/js/translated/part.js:845 -#: templates/js/translated/part.js:1123 templates/js/translated/stock.js:783 -#: templates/js/translated/stock.js:1477 +#: templates/js/translated/build.js:1189 templates/js/translated/part.js:856 +#: templates/js/translated/part.js:1134 templates/js/translated/stock.js:762 +#: templates/js/translated/stock.js:1456 msgid "Select" msgstr "" -#: templates/js/translated/build.js:883 +#: templates/js/translated/build.js:1209 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:944 templates/js/translated/stock.js:1696 +#: templates/js/translated/build.js:1270 templates/js/translated/stock.js:1675 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:956 +#: templates/js/translated/build.js:1282 msgid "No information" msgstr "" -#: templates/js/translated/build.js:1007 +#: templates/js/translated/build.js:1333 msgid "No parts allocated for" msgstr "" @@ -7040,7 +7137,7 @@ msgstr "" msgid "Delete Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:164 templates/js/translated/order.js:86 +#: templates/js/translated/company.js:164 templates/js/translated/order.js:89 msgid "Add Supplier" msgstr "" @@ -7084,53 +7181,53 @@ msgstr "" msgid "Delete Manufacturer Parts" msgstr "" -#: templates/js/translated/company.js:475 +#: templates/js/translated/company.js:476 msgid "No manufacturer parts found" msgstr "" -#: templates/js/translated/company.js:495 -#: templates/js/translated/company.js:751 templates/js/translated/part.js:416 -#: templates/js/translated/part.js:501 +#: templates/js/translated/company.js:496 +#: templates/js/translated/company.js:753 templates/js/translated/part.js:427 +#: templates/js/translated/part.js:512 msgid "Template part" msgstr "" -#: templates/js/translated/company.js:499 -#: templates/js/translated/company.js:755 templates/js/translated/part.js:420 -#: templates/js/translated/part.js:505 +#: templates/js/translated/company.js:500 +#: templates/js/translated/company.js:757 templates/js/translated/part.js:431 +#: templates/js/translated/part.js:516 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:626 templates/js/translated/part.js:593 +#: templates/js/translated/company.js:627 templates/js/translated/part.js:604 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:663 templates/js/translated/part.js:635 +#: templates/js/translated/company.js:664 templates/js/translated/part.js:646 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:664 templates/js/translated/part.js:636 +#: templates/js/translated/company.js:665 templates/js/translated/part.js:647 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:683 templates/js/translated/part.js:653 +#: templates/js/translated/company.js:684 templates/js/translated/part.js:664 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:694 templates/js/translated/part.js:665 +#: templates/js/translated/company.js:695 templates/js/translated/part.js:676 msgid "Delete Parameter" msgstr "" -#: templates/js/translated/company.js:731 +#: templates/js/translated/company.js:733 msgid "No supplier parts found" msgstr "" #: templates/js/translated/filters.js:178 -#: templates/js/translated/filters.js:402 +#: templates/js/translated/filters.js:407 msgid "true" msgstr "" #: templates/js/translated/filters.js:182 -#: templates/js/translated/filters.js:403 +#: templates/js/translated/filters.js:408 msgid "false" msgstr "" @@ -7138,19 +7235,19 @@ msgstr "" msgid "Select filter" msgstr "" -#: templates/js/translated/filters.js:279 +#: templates/js/translated/filters.js:284 msgid "Reload data" msgstr "" -#: templates/js/translated/filters.js:281 +#: templates/js/translated/filters.js:286 msgid "Add new filter" msgstr "Dodaj nowy filtr" -#: templates/js/translated/filters.js:284 +#: templates/js/translated/filters.js:289 msgid "Clear all filters" msgstr "" -#: templates/js/translated/filters.js:312 +#: templates/js/translated/filters.js:317 msgid "Create filter" msgstr "" @@ -7175,16 +7272,20 @@ msgstr "" msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:889 templates/modals.html:21 +#: templates/js/translated/forms.js:968 templates/modals.html:21 #: templates/modals.html:47 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1379 +#: templates/js/translated/forms.js:1323 +msgid "No results found" +msgstr "" + +#: templates/js/translated/forms.js:1525 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:1593 +#: templates/js/translated/forms.js:1742 msgid "Clear input" msgstr "" @@ -7247,7 +7348,7 @@ msgid "Cancel" msgstr "" #: templates/js/translated/modals.js:77 templates/js/translated/modals.js:119 -#: templates/js/translated/modals.js:677 templates/js/translated/modals.js:970 +#: templates/js/translated/modals.js:677 templates/js/translated/modals.js:981 #: templates/modals.html:30 templates/modals.html:55 msgid "Submit" msgstr "" @@ -7272,31 +7373,31 @@ msgstr "" msgid "Loading Data" msgstr "" -#: templates/js/translated/modals.js:922 +#: templates/js/translated/modals.js:933 msgid "Invalid response from server" msgstr "" -#: templates/js/translated/modals.js:922 +#: templates/js/translated/modals.js:933 msgid "Form data missing from server response" msgstr "" -#: templates/js/translated/modals.js:934 +#: templates/js/translated/modals.js:945 msgid "Error posting form data" msgstr "" -#: templates/js/translated/modals.js:1031 +#: templates/js/translated/modals.js:1042 msgid "JSON response missing form data" msgstr "" -#: templates/js/translated/modals.js:1046 +#: templates/js/translated/modals.js:1057 msgid "Error 400: Bad Request" msgstr "" -#: templates/js/translated/modals.js:1047 +#: templates/js/translated/modals.js:1058 msgid "Server returned error code 400" msgstr "" -#: templates/js/translated/modals.js:1070 +#: templates/js/translated/modals.js:1081 msgid "Error requesting form data" msgstr "" @@ -7304,70 +7405,195 @@ msgstr "" msgid "Company ID" msgstr "" -#: templates/js/translated/model_renderers.js:82 +#: templates/js/translated/model_renderers.js:90 +msgid "Stock ID" +msgstr "" + +#: templates/js/translated/model_renderers.js:125 msgid "Location ID" msgstr "" -#: templates/js/translated/model_renderers.js:99 +#: templates/js/translated/model_renderers.js:142 msgid "Build ID" msgstr "" -#: templates/js/translated/model_renderers.js:119 +#: templates/js/translated/model_renderers.js:177 msgid "Part ID" msgstr "" -#: templates/js/translated/model_renderers.js:171 +#: templates/js/translated/model_renderers.js:231 +msgid "Order ID" +msgstr "" + +#: templates/js/translated/model_renderers.js:251 msgid "Category ID" msgstr "" -#: templates/js/translated/model_renderers.js:208 +#: templates/js/translated/model_renderers.js:288 msgid "Manufacturer Part ID" msgstr "" -#: templates/js/translated/model_renderers.js:237 +#: templates/js/translated/model_renderers.js:317 msgid "Supplier Part ID" msgstr "" -#: templates/js/translated/order.js:45 +#: templates/js/translated/order.js:48 msgid "Add Customer" msgstr "" -#: templates/js/translated/order.js:70 +#: templates/js/translated/order.js:73 msgid "Create Sales Order" msgstr "" -#: templates/js/translated/order.js:295 +#: templates/js/translated/order.js:207 +msgid "Export Order" +msgstr "" + +#: templates/js/translated/order.js:210 templates/js/translated/stock.js:96 +msgid "Format" +msgstr "" + +#: templates/js/translated/order.js:211 templates/js/translated/stock.js:97 +msgid "Select file format" +msgstr "" + +#: templates/js/translated/order.js:299 +msgid "Select Line Items" +msgstr "" + +#: templates/js/translated/order.js:300 +msgid "At least one line item must be selected" +msgstr "" + +#: templates/js/translated/order.js:325 +msgid "Quantity to receive" +msgstr "" + +#: templates/js/translated/order.js:359 templates/js/translated/stock.js:1343 +msgid "Stock Status" +msgstr "" + +#: templates/js/translated/order.js:426 +msgid "Order Code" +msgstr "Kod zamówienia" + +#: templates/js/translated/order.js:427 +msgid "Ordered" +msgstr "" + +#: templates/js/translated/order.js:429 +msgid "Receive" +msgstr "Odbierz" + +#: templates/js/translated/order.js:448 +msgid "Confirm receipt of items" +msgstr "" + +#: templates/js/translated/order.js:449 +msgid "Receive Purchase Order Items" +msgstr "" + +#: templates/js/translated/order.js:626 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/order.js:320 templates/js/translated/order.js:682 +#: templates/js/translated/order.js:651 templates/js/translated/order.js:1028 msgid "Order is overdue" msgstr "" -#: templates/js/translated/order.js:452 +#: templates/js/translated/order.js:749 templates/js/translated/order.js:1602 +msgid "Edit Line Item" +msgstr "" + +#: templates/js/translated/order.js:761 templates/js/translated/order.js:1613 +msgid "Delete Line Item" +msgstr "" + +#: templates/js/translated/order.js:800 msgid "No line items found" msgstr "" -#: templates/js/translated/order.js:617 +#: templates/js/translated/order.js:827 templates/js/translated/order.js:1432 +msgid "Total" +msgstr "" + +#: templates/js/translated/order.js:880 templates/js/translated/order.js:1457 +#: templates/js/translated/part.js:1343 templates/js/translated/part.js:1554 +msgid "Unit Price" +msgstr "Cena jednostkowa" + +#: templates/js/translated/order.js:889 templates/js/translated/order.js:1464 +msgid "Total price" +msgstr "" + +#: templates/js/translated/order.js:962 templates/js/translated/order.js:1573 +msgid "Edit line item" +msgstr "" + +#: templates/js/translated/order.js:963 msgid "Delete line item" msgstr "" -#: templates/js/translated/order.js:621 +#: templates/js/translated/order.js:967 msgid "Receive line item" msgstr "" -#: templates/js/translated/order.js:658 +#: templates/js/translated/order.js:1004 msgid "No sales orders found" msgstr "" -#: templates/js/translated/order.js:696 +#: templates/js/translated/order.js:1042 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/order.js:774 +#: templates/js/translated/order.js:1120 msgid "No sales order allocations found" msgstr "" +#: templates/js/translated/order.js:1213 +msgid "Edit Stock Allocation" +msgstr "" + +#: templates/js/translated/order.js:1231 +msgid "Delete Stock Allocation" +msgstr "" + +#: templates/js/translated/order.js:1273 +msgid "Stock location not specified" +msgstr "" + +#: templates/js/translated/order.js:1514 +msgid "Fulfilled" +msgstr "" + +#: templates/js/translated/order.js:1557 +msgid "Allocate serial numbers" +msgstr "" + +#: templates/js/translated/order.js:1563 +msgid "Purchase stock" +msgstr "Cena zakupu" + +#: templates/js/translated/order.js:1570 templates/js/translated/order.js:1725 +msgid "Calculate price" +msgstr "Oblicz cenę" + +#: templates/js/translated/order.js:1574 +msgid "Delete line item " +msgstr "" + +#: templates/js/translated/order.js:1673 +msgid "Allocate Stock Item" +msgstr "" + +#: templates/js/translated/order.js:1733 +msgid "Update Unit Price" +msgstr "Zaktualizuj cenę jednostkową" + +#: templates/js/translated/order.js:1747 +msgid "No matching line items" +msgstr "" + #: templates/js/translated/part.js:49 msgid "Part Attributes" msgstr "" @@ -7388,396 +7614,396 @@ msgstr "" msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:159 +#: templates/js/translated/part.js:164 msgid "Create Initial Stock" msgstr "" -#: templates/js/translated/part.js:160 +#: templates/js/translated/part.js:165 msgid "Create an initial stock item for this part" msgstr "" -#: templates/js/translated/part.js:167 +#: templates/js/translated/part.js:172 msgid "Initial Stock Quantity" msgstr "" -#: templates/js/translated/part.js:168 +#: templates/js/translated/part.js:173 msgid "Specify initial stock quantity for this part" msgstr "" -#: templates/js/translated/part.js:175 templates/js/translated/stock.js:330 +#: templates/js/translated/part.js:180 msgid "Select destination stock location" msgstr "" -#: templates/js/translated/part.js:186 +#: templates/js/translated/part.js:191 msgid "Copy Category Parameters" msgstr "" -#: templates/js/translated/part.js:187 +#: templates/js/translated/part.js:192 msgid "Copy parameter templates from selected part category" msgstr "" -#: templates/js/translated/part.js:195 +#: templates/js/translated/part.js:200 msgid "Add Supplier Data" msgstr "" -#: templates/js/translated/part.js:196 +#: templates/js/translated/part.js:201 msgid "Create initial supplier data for this part" msgstr "" -#: templates/js/translated/part.js:252 +#: templates/js/translated/part.js:257 msgid "Copy Image" msgstr "" -#: templates/js/translated/part.js:253 +#: templates/js/translated/part.js:258 msgid "Copy image from original part" msgstr "" -#: templates/js/translated/part.js:260 +#: templates/js/translated/part.js:265 msgid "Copy BOM" msgstr "Kopiuj BOM" -#: templates/js/translated/part.js:261 +#: templates/js/translated/part.js:266 msgid "Copy bill of materials from original part" msgstr "" -#: templates/js/translated/part.js:268 +#: templates/js/translated/part.js:273 msgid "Copy Parameters" msgstr "" -#: templates/js/translated/part.js:269 +#: templates/js/translated/part.js:274 msgid "Copy parameter data from original part" msgstr "" -#: templates/js/translated/part.js:282 +#: templates/js/translated/part.js:287 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:323 +#: templates/js/translated/part.js:331 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:408 templates/js/translated/part.js:493 +#: templates/js/translated/part.js:419 templates/js/translated/part.js:504 msgid "Trackable part" msgstr "" -#: templates/js/translated/part.js:412 templates/js/translated/part.js:497 +#: templates/js/translated/part.js:423 templates/js/translated/part.js:508 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:424 +#: templates/js/translated/part.js:435 msgid "Starred part" msgstr "" -#: templates/js/translated/part.js:428 +#: templates/js/translated/part.js:439 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:543 +#: templates/js/translated/part.js:554 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:732 templates/js/translated/part.js:994 +#: templates/js/translated/part.js:743 templates/js/translated/part.js:1005 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:921 +#: templates/js/translated/part.js:932 msgid "No category" msgstr "" -#: templates/js/translated/part.js:944 -#: templates/js/translated/table_filters.js:350 +#: templates/js/translated/part.js:955 +#: templates/js/translated/table_filters.js:359 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:1148 templates/js/translated/stock.js:1501 +#: templates/js/translated/part.js:1159 templates/js/translated/stock.js:1480 msgid "Path" msgstr "" -#: templates/js/translated/part.js:1191 +#: templates/js/translated/part.js:1202 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:1242 templates/js/translated/stock.js:514 +#: templates/js/translated/part.js:1253 templates/js/translated/stock.js:493 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:1243 templates/js/translated/stock.js:515 +#: templates/js/translated/part.js:1254 templates/js/translated/stock.js:494 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:1249 +#: templates/js/translated/part.js:1260 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:1274 +#: templates/js/translated/part.js:1282 +msgid "Edit Test Result Template" +msgstr "" + +#: templates/js/translated/part.js:1296 +msgid "Delete Test Result Template" +msgstr "" + +#: templates/js/translated/part.js:1321 #, python-brace-format msgid "No ${human_name} information found" msgstr "" -#: templates/js/translated/part.js:1329 +#: templates/js/translated/part.js:1376 #, python-brace-format msgid "Edit ${human_name}" msgstr "" -#: templates/js/translated/part.js:1330 +#: templates/js/translated/part.js:1377 #, python-brace-format msgid "Delete ${human_name}" msgstr "" -#: templates/js/translated/part.js:1431 +#: templates/js/translated/part.js:1478 msgid "Single Price" msgstr "Cena jednostkowa" -#: templates/js/translated/part.js:1450 +#: templates/js/translated/part.js:1497 msgid "Single Price Difference" msgstr "" -#: templates/js/translated/stock.js:66 +#: templates/js/translated/stock.js:63 msgid "Parent stock location" msgstr "" -#: templates/js/translated/stock.js:96 +#: templates/js/translated/stock.js:93 msgid "Export Stock" msgstr "" -#: templates/js/translated/stock.js:99 -msgid "Format" -msgstr "" - -#: templates/js/translated/stock.js:100 -msgid "Select file format" -msgstr "" - -#: templates/js/translated/stock.js:124 +#: templates/js/translated/stock.js:104 msgid "Include Sublocations" msgstr "" -#: templates/js/translated/stock.js:125 +#: templates/js/translated/stock.js:105 msgid "Include stock items in sublocations" msgstr "" -#: templates/js/translated/stock.js:167 +#: templates/js/translated/stock.js:147 msgid "Transfer Stock" msgstr "" -#: templates/js/translated/stock.js:168 +#: templates/js/translated/stock.js:148 msgid "Move" msgstr "" -#: templates/js/translated/stock.js:174 +#: templates/js/translated/stock.js:154 msgid "Count Stock" msgstr "" -#: templates/js/translated/stock.js:175 +#: templates/js/translated/stock.js:155 msgid "Count" msgstr "" -#: templates/js/translated/stock.js:179 +#: templates/js/translated/stock.js:159 msgid "Remove Stock" msgstr "" -#: templates/js/translated/stock.js:180 +#: templates/js/translated/stock.js:160 msgid "Take" msgstr "" -#: templates/js/translated/stock.js:184 +#: templates/js/translated/stock.js:164 msgid "Add Stock" msgstr "Dodaj stan" -#: templates/js/translated/stock.js:185 users/models.py:190 +#: templates/js/translated/stock.js:165 users/models.py:195 msgid "Add" msgstr "Dodaj" -#: templates/js/translated/stock.js:189 templates/stock_table.html:63 +#: templates/js/translated/stock.js:169 templates/stock_table.html:63 msgid "Delete Stock" msgstr "" -#: templates/js/translated/stock.js:278 +#: templates/js/translated/stock.js:258 msgid "Quantity cannot be adjusted for serialized stock" msgstr "" -#: templates/js/translated/stock.js:278 +#: templates/js/translated/stock.js:258 msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:314 +#: templates/js/translated/stock.js:298 msgid "You must select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:339 -msgid "Stock transaction notes" -msgstr "" - -#: templates/js/translated/stock.js:477 +#: templates/js/translated/stock.js:456 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:479 +#: templates/js/translated/stock.js:458 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:484 +#: templates/js/translated/stock.js:463 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:510 +#: templates/js/translated/stock.js:489 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:536 +#: templates/js/translated/stock.js:515 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:584 +#: templates/js/translated/stock.js:563 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:691 +#: templates/js/translated/stock.js:670 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:695 +#: templates/js/translated/stock.js:674 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:703 +#: templates/js/translated/stock.js:678 +msgid "Shipped to customer" +msgstr "" + +#: templates/js/translated/stock.js:682 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:865 +#: templates/js/translated/stock.js:688 +msgid "No stock location set" +msgstr "" + +#: templates/js/translated/stock.js:844 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:870 +#: templates/js/translated/stock.js:849 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:873 +#: templates/js/translated/stock.js:852 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:877 +#: templates/js/translated/stock.js:856 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:879 +#: templates/js/translated/stock.js:858 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:883 +#: templates/js/translated/stock.js:862 msgid "Stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:887 +#: templates/js/translated/stock.js:866 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:894 +#: templates/js/translated/stock.js:873 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:896 +#: templates/js/translated/stock.js:875 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:898 +#: templates/js/translated/stock.js:877 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:902 +#: templates/js/translated/stock.js:881 #: templates/js/translated/table_filters.js:161 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:956 +#: templates/js/translated/stock.js:935 msgid "Stocktake" msgstr "" -#: templates/js/translated/stock.js:1029 +#: templates/js/translated/stock.js:1008 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:1067 +#: templates/js/translated/stock.js:1046 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:1088 templates/js/translated/stock.js:1136 +#: templates/js/translated/stock.js:1067 templates/js/translated/stock.js:1115 msgid "items" msgstr "" -#: templates/js/translated/stock.js:1176 +#: templates/js/translated/stock.js:1155 msgid "batches" msgstr "" -#: templates/js/translated/stock.js:1203 +#: templates/js/translated/stock.js:1182 msgid "locations" msgstr "" -#: templates/js/translated/stock.js:1205 +#: templates/js/translated/stock.js:1184 msgid "Undefined location" msgstr "" -#: templates/js/translated/stock.js:1364 -msgid "Stock Status" -msgstr "" - -#: templates/js/translated/stock.js:1379 +#: templates/js/translated/stock.js:1358 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:1393 +#: templates/js/translated/stock.js:1372 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:1394 +#: templates/js/translated/stock.js:1373 msgid "Status code must be selected" msgstr "" -#: templates/js/translated/stock.js:1533 +#: templates/js/translated/stock.js:1512 msgid "Invalid date" msgstr "" -#: templates/js/translated/stock.js:1580 +#: templates/js/translated/stock.js:1559 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:1599 +#: templates/js/translated/stock.js:1578 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:1618 +#: templates/js/translated/stock.js:1597 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:1636 +#: templates/js/translated/stock.js:1615 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:1659 +#: templates/js/translated/stock.js:1638 msgid "Added" msgstr "Dodano" -#: templates/js/translated/stock.js:1667 +#: templates/js/translated/stock.js:1646 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:1708 +#: templates/js/translated/stock.js:1687 msgid "Edit tracking entry" msgstr "" -#: templates/js/translated/stock.js:1709 +#: templates/js/translated/stock.js:1688 msgid "Delete tracking entry" msgstr "" -#: templates/js/translated/stock.js:1833 +#: templates/js/translated/stock.js:1812 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:1856 +#: templates/js/translated/stock.js:1835 msgid "Serial" msgstr "" -#: templates/js/translated/stock.js:1884 +#: templates/js/translated/stock.js:1863 msgid "Uninstall Stock Item" msgstr "" @@ -7808,7 +8034,7 @@ msgstr "" #: templates/js/translated/table_filters.js:103 #: templates/js/translated/table_filters.js:104 -#: templates/js/translated/table_filters.js:327 +#: templates/js/translated/table_filters.js:336 msgid "Include subcategories" msgstr "" @@ -7850,7 +8076,7 @@ msgid "Batch code" msgstr "" #: templates/js/translated/table_filters.js:141 -#: templates/js/translated/table_filters.js:317 +#: templates/js/translated/table_filters.js:326 msgid "Active parts" msgstr "" @@ -7935,89 +8161,89 @@ msgstr "" msgid "Build status" msgstr "" -#: templates/js/translated/table_filters.js:282 -#: templates/js/translated/table_filters.js:299 +#: templates/js/translated/table_filters.js:291 +#: templates/js/translated/table_filters.js:308 msgid "Order status" msgstr "" -#: templates/js/translated/table_filters.js:287 -#: templates/js/translated/table_filters.js:304 +#: templates/js/translated/table_filters.js:296 +#: templates/js/translated/table_filters.js:313 msgid "Outstanding" msgstr "" -#: templates/js/translated/table_filters.js:328 +#: templates/js/translated/table_filters.js:337 msgid "Include parts in subcategories" msgstr "" -#: templates/js/translated/table_filters.js:332 +#: templates/js/translated/table_filters.js:341 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:333 +#: templates/js/translated/table_filters.js:342 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:338 +#: templates/js/translated/table_filters.js:347 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:346 +#: templates/js/translated/table_filters.js:355 msgid "Stock available" msgstr "" -#: templates/js/translated/table_filters.js:362 +#: templates/js/translated/table_filters.js:371 msgid "Starred" msgstr "" -#: templates/js/translated/table_filters.js:374 +#: templates/js/translated/table_filters.js:383 msgid "Purchasable" msgstr "" -#: templates/js/translated/tables.js:357 +#: templates/js/translated/tables.js:366 msgid "Loading data" msgstr "" -#: templates/js/translated/tables.js:360 +#: templates/js/translated/tables.js:369 msgid "rows per page" msgstr "" -#: templates/js/translated/tables.js:363 +#: templates/js/translated/tables.js:372 msgid "Showing" msgstr "" -#: templates/js/translated/tables.js:363 +#: templates/js/translated/tables.js:372 msgid "to" msgstr "" -#: templates/js/translated/tables.js:363 +#: templates/js/translated/tables.js:372 msgid "of" msgstr "" -#: templates/js/translated/tables.js:363 +#: templates/js/translated/tables.js:372 msgid "rows" msgstr "" -#: templates/js/translated/tables.js:369 +#: templates/js/translated/tables.js:378 msgid "No matching results" msgstr "" -#: templates/js/translated/tables.js:372 +#: templates/js/translated/tables.js:381 msgid "Hide/Show pagination" msgstr "" -#: templates/js/translated/tables.js:375 +#: templates/js/translated/tables.js:384 msgid "Refresh" msgstr "" -#: templates/js/translated/tables.js:378 +#: templates/js/translated/tables.js:387 msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:381 +#: templates/js/translated/tables.js:390 msgid "Columns" msgstr "" -#: templates/js/translated/tables.js:384 +#: templates/js/translated/tables.js:393 msgid "All" msgstr "" @@ -8033,19 +8259,15 @@ msgstr "" msgid "Sell" msgstr "" -#: templates/navbar.html:87 users/models.py:39 +#: templates/navbar.html:83 users/models.py:39 msgid "Admin" msgstr "" -#: templates/navbar.html:89 +#: templates/navbar.html:85 msgid "Logout" msgstr "" -#: templates/navbar.html:91 templates/registration/login.html:89 -msgid "Login" -msgstr "" - -#: templates/navbar.html:114 +#: templates/navbar.html:106 msgid "About InvenTree" msgstr "" @@ -8053,68 +8275,12 @@ msgstr "" msgid "QR data not provided" msgstr "" -#: templates/registration/logged_out.html:50 -msgid "You have been logged out" +#: templates/registration/logged_out.html:6 +msgid "You were logged out successfully." msgstr "" -#: templates/registration/logged_out.html:51 -#: templates/registration/password_reset_complete.html:51 -#: templates/registration/password_reset_done.html:58 -msgid "Return to login screen" -msgstr "" - -#: templates/registration/login.html:64 -msgid "Enter username" -msgstr "" - -#: templates/registration/login.html:70 -msgid "Password" -msgstr "" - -#: templates/registration/login.html:83 -msgid "Username / password combination is incorrect" -msgstr "" - -#: templates/registration/login.html:95 -#: templates/registration/password_reset_form.html:51 -msgid "Forgotten your password?" -msgstr "" - -#: templates/registration/login.html:95 -msgid "Click here to reset" -msgstr "" - -#: templates/registration/password_reset_complete.html:50 -msgid "Password reset complete" -msgstr "" - -#: templates/registration/password_reset_confirm.html:52 -#: templates/registration/password_reset_confirm.html:56 -msgid "Change password" -msgstr "" - -#: templates/registration/password_reset_confirm.html:60 -msgid "The password reset link was invalid, possibly because it has already been used. Please request a new password reset." -msgstr "" - -#: templates/registration/password_reset_done.html:51 -msgid "We've emailed you instructions for setting your password, if an account exists with the email you entered. You should receive them shortly." -msgstr "" - -#: templates/registration/password_reset_done.html:54 -msgid "If you don't receive an email, please make sure you've entered the address you registered with, and check your spam folder." -msgstr "" - -#: templates/registration/password_reset_form.html:52 -msgid "Enter your email address below." -msgstr "Wprowadź swój adres e-mail poniżej." - -#: templates/registration/password_reset_form.html:53 -msgid "An email will be sent with password reset instructions." -msgstr "" - -#: templates/registration/password_reset_form.html:58 -msgid "Send email" +#: templates/registration/logged_out.html:8 +msgid "Log in again" msgstr "" #: templates/stats.html:13 @@ -8169,6 +8335,10 @@ msgstr "" msgid "Export Stock Information" msgstr "" +#: templates/stock_table.html:20 +msgid "New Stock Item" +msgstr "" + #: templates/stock_table.html:27 msgid "Barcode Actions" msgstr "" @@ -8249,35 +8419,35 @@ msgstr "Uprawnienia" msgid "Important dates" msgstr "" -#: users/models.py:177 +#: users/models.py:182 msgid "Permission set" msgstr "Uprawnienia nadane" -#: users/models.py:185 +#: users/models.py:190 msgid "Group" msgstr "" -#: users/models.py:188 +#: users/models.py:193 msgid "View" msgstr "" -#: users/models.py:188 +#: users/models.py:193 msgid "Permission to view items" msgstr "Uprawnienie do wyświetlania przedmiotów" -#: users/models.py:190 +#: users/models.py:195 msgid "Permission to add items" msgstr "Uprawnienie do dodawania przedmiotów" -#: users/models.py:192 +#: users/models.py:197 msgid "Change" msgstr "" -#: users/models.py:192 +#: users/models.py:197 msgid "Permissions to edit items" msgstr "Uprawnienie do edycji przedmiotów" -#: users/models.py:194 +#: users/models.py:199 msgid "Permission to delete items" msgstr "Uprawnienie do usuwania przedmiotów" diff --git a/InvenTree/locale/ru/LC_MESSAGES/django.po b/InvenTree/locale/ru/LC_MESSAGES/django.po index 82a406afcd..0cb5a878d6 100644 --- a/InvenTree/locale/ru/LC_MESSAGES/django.po +++ b/InvenTree/locale/ru/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-09-12 13:15+0000\n" -"PO-Revision-Date: 2021-09-12 13:44\n" +"POT-Creation-Date: 2021-10-11 06:21+0000\n" +"PO-Revision-Date: 2021-10-11 06:29\n" "Last-Translator: \n" "Language-Team: Russian\n" "Language: ru_RU\n" @@ -33,48 +33,61 @@ msgstr "Соответствующее действие не найдено" msgid "Enter date" msgstr "Введите дату" -#: InvenTree/forms.py:111 build/forms.py:102 build/forms.py:123 -#: build/forms.py:145 build/forms.py:169 build/forms.py:185 build/forms.py:227 -#: order/forms.py:30 order/forms.py:41 order/forms.py:52 order/forms.py:63 -#: order/forms.py:74 part/forms.py:108 templates/js/translated/forms.js:564 +#: InvenTree/forms.py:116 build/forms.py:102 build/forms.py:123 +#: build/forms.py:145 build/forms.py:173 build/forms.py:215 order/forms.py:27 +#: order/forms.py:38 order/forms.py:49 order/forms.py:60 order/forms.py:71 +#: part/forms.py:108 templates/account/email_confirm.html:20 +#: templates/js/translated/forms.js:564 msgid "Confirm" msgstr "Подтвердить" -#: InvenTree/forms.py:127 +#: InvenTree/forms.py:132 msgid "Confirm delete" msgstr "Подтвердите удаление" -#: InvenTree/forms.py:128 +#: InvenTree/forms.py:133 msgid "Confirm item deletion" msgstr "Подтвердите удаление элемента" -#: InvenTree/forms.py:160 templates/registration/login.html:76 +#: InvenTree/forms.py:164 msgid "Enter password" msgstr "Введите пароль" -#: InvenTree/forms.py:161 +#: InvenTree/forms.py:165 msgid "Enter new password" msgstr "Введите новый пароль" -#: InvenTree/forms.py:168 +#: InvenTree/forms.py:172 msgid "Confirm password" msgstr "Подтвердить пароль" -#: InvenTree/forms.py:169 +#: InvenTree/forms.py:173 msgid "Confirm new password" msgstr "Подтвердите новый пароль" -#: InvenTree/forms.py:201 +#: InvenTree/forms.py:205 msgid "Select Category" msgstr "Выбрать категорию" +#: InvenTree/forms.py:226 +msgid "E-mail (again)" +msgstr "" + +#: InvenTree/forms.py:230 +msgid "E-mail address confirmation" +msgstr "" + +#: InvenTree/forms.py:250 +msgid "You must type the same email each time." +msgstr "" + #: InvenTree/helpers.py:401 #, python-brace-format msgid "Duplicate serial: {n}" msgstr "Дублировать серийный номер: {n}" -#: InvenTree/helpers.py:408 order/models.py:315 order/models.py:430 -#: stock/views.py:1363 +#: InvenTree/helpers.py:408 order/models.py:315 order/models.py:437 +#: stock/views.py:1340 msgid "Invalid quantity provided" msgstr "недопустимое количество" @@ -102,7 +115,7 @@ msgstr "Серийных номеров не найдено" msgid "Number of unique serial number ({s}) must match quantity ({q})" msgstr "Число уникальных серийных номеров ({s}) должно соответствовать количеству ({q})" -#: InvenTree/models.py:66 stock/models.py:1826 +#: InvenTree/models.py:66 stock/models.py:1823 msgid "Attachment" msgstr "Вложения" @@ -118,10 +131,10 @@ msgstr "Комментарий" msgid "File comment" msgstr "Комментарий к файлу" -#: InvenTree/models.py:75 InvenTree/models.py:76 common/models.py:993 -#: common/models.py:994 part/models.py:2051 +#: InvenTree/models.py:75 InvenTree/models.py:76 common/models.py:1055 +#: common/models.py:1056 part/models.py:2055 #: report/templates/report/inventree_test_report_base.html:91 -#: templates/js/translated/stock.js:1690 +#: templates/js/translated/stock.js:1669 msgid "User" msgstr "Пользователь" @@ -158,37 +171,34 @@ msgstr "" msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:200 InvenTree/models.py:201 company/models.py:414 -#: label/models.py:112 part/models.py:658 part/models.py:2212 +#: InvenTree/models.py:200 InvenTree/models.py:201 company/models.py:415 +#: label/models.py:112 part/models.py:659 part/models.py:2216 #: part/templates/part/part_base.html:241 report/models.py:181 -#: templates/InvenTree/search.html:137 templates/InvenTree/search.html:289 -#: templates/js/translated/company.js:636 templates/js/translated/part.js:466 -#: templates/js/translated/part.js:603 templates/js/translated/part.js:1130 -#: templates/js/translated/stock.js:1483 +#: templates/js/translated/company.js:637 templates/js/translated/part.js:477 +#: templates/js/translated/part.js:614 templates/js/translated/part.js:1141 +#: templates/js/translated/stock.js:1462 msgid "Name" msgstr "Название" -#: InvenTree/models.py:207 build/models.py:187 -#: build/templates/build/detail.html:24 company/models.py:353 -#: company/models.py:569 company/templates/company/manufacturer_part.html:76 +#: InvenTree/models.py:207 build/models.py:189 +#: build/templates/build/detail.html:24 company/models.py:354 +#: company/models.py:570 company/templates/company/manufacturer_part.html:76 #: company/templates/company/supplier_part.html:75 label/models.py:119 -#: order/models.py:158 part/models.py:681 +#: order/models.py:158 part/models.py:682 #: part/templates/part/part_base.html:246 #: part/templates/part/set_category.html:14 report/models.py:194 #: report/models.py:551 report/models.py:590 #: report/templates/report/inventree_build_order_base.html:118 -#: templates/InvenTree/search.html:144 templates/InvenTree/search.html:224 -#: templates/InvenTree/search.html:296 #: templates/InvenTree/settings/header.html:9 -#: templates/js/translated/bom.js:230 templates/js/translated/build.js:891 -#: templates/js/translated/build.js:1179 templates/js/translated/company.js:344 -#: templates/js/translated/company.js:546 -#: templates/js/translated/company.js:834 templates/js/translated/order.js:341 -#: templates/js/translated/order.js:486 templates/js/translated/order.js:710 -#: templates/js/translated/part.js:525 templates/js/translated/part.js:713 -#: templates/js/translated/part.js:902 templates/js/translated/part.js:1142 -#: templates/js/translated/part.js:1210 templates/js/translated/stock.js:840 -#: templates/js/translated/stock.js:1495 templates/js/translated/stock.js:1540 +#: templates/js/translated/bom.js:249 templates/js/translated/build.js:1217 +#: templates/js/translated/build.js:1505 templates/js/translated/company.js:344 +#: templates/js/translated/company.js:547 +#: templates/js/translated/company.js:836 templates/js/translated/order.js:672 +#: templates/js/translated/order.js:832 templates/js/translated/order.js:1056 +#: templates/js/translated/part.js:536 templates/js/translated/part.js:724 +#: templates/js/translated/part.js:913 templates/js/translated/part.js:1153 +#: templates/js/translated/part.js:1221 templates/js/translated/stock.js:819 +#: templates/js/translated/stock.js:1474 templates/js/translated/stock.js:1519 msgid "Description" msgstr "Описание" @@ -200,7 +210,7 @@ msgstr "Описание (необязательно)" msgid "parent" msgstr "родитель" -#: InvenTree/serializers.py:55 part/models.py:2454 +#: InvenTree/serializers.py:55 part/models.py:2475 msgid "Must be a valid number" msgstr "" @@ -208,75 +218,75 @@ msgstr "" msgid "Filename" msgstr "" -#: InvenTree/settings.py:523 +#: InvenTree/settings.py:529 msgid "German" msgstr "Немецкий" -#: InvenTree/settings.py:524 +#: InvenTree/settings.py:530 msgid "Greek" msgstr "Греческий" -#: InvenTree/settings.py:525 +#: InvenTree/settings.py:531 msgid "English" msgstr "Английский" -#: InvenTree/settings.py:526 +#: InvenTree/settings.py:532 msgid "Spanish" msgstr "Испанский" -#: InvenTree/settings.py:527 +#: InvenTree/settings.py:533 msgid "French" msgstr "Французский" -#: InvenTree/settings.py:528 +#: InvenTree/settings.py:534 msgid "Hebrew" msgstr "Иврит" -#: InvenTree/settings.py:529 +#: InvenTree/settings.py:535 msgid "Italian" msgstr "Итальянский" -#: InvenTree/settings.py:530 +#: InvenTree/settings.py:536 msgid "Japanese" msgstr "Японский" -#: InvenTree/settings.py:531 +#: InvenTree/settings.py:537 msgid "Korean" msgstr "Корейский" -#: InvenTree/settings.py:532 +#: InvenTree/settings.py:538 msgid "Dutch" msgstr "Голландский" -#: InvenTree/settings.py:533 +#: InvenTree/settings.py:539 msgid "Norwegian" msgstr "Норвежский" -#: InvenTree/settings.py:534 +#: InvenTree/settings.py:540 msgid "Polish" msgstr "Польский" -#: InvenTree/settings.py:535 +#: InvenTree/settings.py:541 msgid "Russian" msgstr "Русский" -#: InvenTree/settings.py:536 +#: InvenTree/settings.py:542 msgid "Swedish" msgstr "Шведский" -#: InvenTree/settings.py:537 +#: InvenTree/settings.py:543 msgid "Thai" msgstr "Тайский" -#: InvenTree/settings.py:538 +#: InvenTree/settings.py:544 msgid "Turkish" msgstr "Турецкий" -#: InvenTree/settings.py:539 +#: InvenTree/settings.py:545 msgid "Vietnamese" msgstr "Вьетнамский" -#: InvenTree/settings.py:540 +#: InvenTree/settings.py:546 msgid "Chinese" msgstr "Китайский" @@ -321,7 +331,7 @@ msgid "Returned" msgstr "Возвращено" #: InvenTree/status_codes.py:146 -#: order/templates/order/sales_order_base.html:126 +#: order/templates/order/sales_order_base.html:131 msgid "Shipped" msgstr "Доставлено" @@ -461,27 +471,27 @@ msgstr "Перегрузка не может превысить 100%" msgid "Overage must be an integer value or a percentage" msgstr "Превышение должно быть целым числом или процентом" -#: InvenTree/views.py:610 +#: InvenTree/views.py:616 msgid "Delete Item" msgstr "Удалить элемент" -#: InvenTree/views.py:659 +#: InvenTree/views.py:665 msgid "Check box to confirm item deletion" msgstr "Установите флажок для подтверждения удаления элемента" -#: InvenTree/views.py:674 templates/InvenTree/settings/user.html:14 +#: InvenTree/views.py:680 templates/InvenTree/settings/user.html:18 msgid "Edit User Information" msgstr "Редактировать информацию о пользователе" -#: InvenTree/views.py:685 templates/InvenTree/settings/user.html:18 +#: InvenTree/views.py:691 templates/InvenTree/settings/user.html:22 msgid "Set Password" msgstr "Установить пароль" -#: InvenTree/views.py:704 +#: InvenTree/views.py:710 msgid "Password fields must match" msgstr "Пароли должны совпадать" -#: InvenTree/views.py:910 templates/navbar.html:105 +#: InvenTree/views.py:954 templates/navbar.html:97 msgid "System Information" msgstr "Информация о системе" @@ -525,6 +535,10 @@ msgstr "Хэш штрих-кода уже соответствует объек msgid "Barcode associated with StockItem" msgstr "Штрих-код, связанный с инвентарем" +#: build/api.py:213 +msgid "Matching build order does not exist" +msgstr "" + #: build/forms.py:37 msgid "Build Order reference" msgstr "Ссылка на заказ" @@ -536,33 +550,28 @@ msgstr "Срок выполнения заказа" #: build/forms.py:42 build/templates/build/build_base.html:146 #: build/templates/build/detail.html:124 #: order/templates/order/order_base.html:124 -#: order/templates/order/sales_order_base.html:119 +#: order/templates/order/sales_order_base.html:124 #: report/templates/report/inventree_build_order_base.html:126 -#: templates/js/translated/build.js:962 templates/js/translated/order.js:358 -#: templates/js/translated/order.js:728 +#: templates/js/translated/build.js:1288 templates/js/translated/order.js:689 +#: templates/js/translated/order.js:1074 msgid "Target Date" msgstr "Целевая дата" -#: build/forms.py:43 build/models.py:277 +#: build/forms.py:43 build/models.py:279 msgid "Target date for build completion. Build will be overdue after this date." msgstr "Целевая дата для сборки. Сборка будет просрочена после этой даты." -#: build/forms.py:48 build/forms.py:90 build/forms.py:266 build/models.py:1402 +#: build/forms.py:48 build/forms.py:90 build/models.py:1281 #: build/templates/build/allocation_card.html:23 -#: build/templates/build/auto_allocate.html:17 #: build/templates/build/build_base.html:133 -#: build/templates/build/detail.html:34 common/models.py:1025 +#: build/templates/build/detail.html:34 common/models.py:1087 #: company/forms.py:42 company/templates/company/supplier_part.html:226 -#: order/forms.py:120 order/forms.py:142 order/forms.py:159 order/models.py:712 -#: order/models.py:964 order/templates/order/order_wizard/match_parts.html:30 -#: order/templates/order/order_wizard/select_parts.html:34 -#: order/templates/order/sales_order_detail.html:201 -#: order/templates/order/sales_order_detail.html:208 -#: order/templates/order/sales_order_detail.html:293 -#: order/templates/order/sales_order_detail.html:365 part/forms.py:249 -#: part/forms.py:265 part/forms.py:281 part/models.py:2356 +#: order/forms.py:101 order/forms.py:123 order/models.py:720 +#: order/models.py:982 order/templates/order/order_wizard/match_parts.html:30 +#: order/templates/order/order_wizard/select_parts.html:34 part/forms.py:249 +#: part/forms.py:265 part/forms.py:281 part/models.py:2377 #: part/templates/part/bom_upload/match_parts.html:31 -#: part/templates/part/detail.html:973 part/templates/part/detail.html:1059 +#: part/templates/part/detail.html:944 part/templates/part/detail.html:1030 #: part/templates/part/part_pricing.html:16 #: report/templates/report/inventree_build_order_base.html:114 #: report/templates/report/inventree_po_report.html:91 @@ -570,14 +579,16 @@ msgstr "Целевая дата для сборки. Сборка будет п #: report/templates/report/inventree_test_report_base.html:77 #: stock/forms.py:140 stock/templates/stock/item_base.html:269 #: stock/templates/stock/stock_adjust.html:18 -#: templates/js/translated/barcode.js:386 templates/js/translated/bom.js:245 -#: templates/js/translated/build.js:298 templates/js/translated/build.js:629 -#: templates/js/translated/build.js:1189 -#: templates/js/translated/model_renderers.js:59 -#: templates/js/translated/order.js:522 templates/js/translated/order.js:824 -#: templates/js/translated/part.js:1317 templates/js/translated/part.js:1440 -#: templates/js/translated/part.js:1518 templates/js/translated/stock.js:1675 -#: templates/js/translated/stock.js:1850 +#: templates/js/translated/barcode.js:386 templates/js/translated/bom.js:264 +#: templates/js/translated/build.js:314 templates/js/translated/build.js:638 +#: templates/js/translated/build.js:977 templates/js/translated/build.js:1515 +#: templates/js/translated/model_renderers.js:74 +#: templates/js/translated/order.js:868 templates/js/translated/order.js:1170 +#: templates/js/translated/order.js:1248 templates/js/translated/order.js:1255 +#: templates/js/translated/order.js:1344 templates/js/translated/order.js:1444 +#: templates/js/translated/part.js:1364 templates/js/translated/part.js:1487 +#: templates/js/translated/part.js:1565 templates/js/translated/stock.js:1654 +#: templates/js/translated/stock.js:1829 msgid "Quantity" msgstr "Количество" @@ -589,7 +600,7 @@ msgstr "Количество элементов для сборки" msgid "Enter quantity for build output" msgstr "Введите количество для вывода сборки" -#: build/forms.py:95 order/forms.py:114 stock/forms.py:83 +#: build/forms.py:95 order/forms.py:95 stock/forms.py:83 msgid "Serial Numbers" msgstr "Серийные номера" @@ -609,246 +620,238 @@ msgstr "Подтвердите удаление результатов сбор msgid "Confirm unallocation of stock" msgstr "Подтвердите снятие со склада" -#: build/forms.py:169 -msgid "Confirm stock allocation" -msgstr "Подтвердите выделение запасов" - -#: build/forms.py:186 +#: build/forms.py:174 msgid "Mark build as complete" msgstr "Пометить сборку как завершенную" -#: build/forms.py:210 build/templates/build/auto_allocate.html:18 -#: order/serializers.py:216 order/serializers.py:275 stock/forms.py:280 +#: build/forms.py:198 order/serializers.py:217 order/serializers.py:284 +#: stock/forms.py:280 stock/serializers.py:553 #: stock/templates/stock/item_base.html:299 #: stock/templates/stock/stock_adjust.html:17 -#: templates/InvenTree/search.html:260 templates/js/translated/barcode.js:385 -#: templates/js/translated/barcode.js:555 templates/js/translated/build.js:283 -#: templates/js/translated/build.js:643 templates/js/translated/order.js:809 -#: templates/js/translated/part.js:174 templates/js/translated/stock.js:203 -#: templates/js/translated/stock.js:329 templates/js/translated/stock.js:942 -#: templates/js/translated/stock.js:1567 +#: templates/js/translated/barcode.js:385 +#: templates/js/translated/barcode.js:555 templates/js/translated/build.js:299 +#: templates/js/translated/build.js:650 templates/js/translated/order.js:347 +#: templates/js/translated/order.js:1155 templates/js/translated/order.js:1263 +#: templates/js/translated/order.js:1269 templates/js/translated/part.js:179 +#: templates/js/translated/stock.js:183 templates/js/translated/stock.js:921 +#: templates/js/translated/stock.js:1546 msgid "Location" msgstr "Расположение" -#: build/forms.py:211 +#: build/forms.py:199 msgid "Location of completed parts" msgstr "Расположение укомплектованных частей" -#: build/forms.py:215 build/templates/build/build_base.html:138 -#: build/templates/build/detail.html:62 order/models.py:555 -#: order/serializers.py:230 order/templates/order/receive_parts.html:24 -#: stock/templates/stock/item_base.html:422 templates/InvenTree/search.html:252 -#: templates/js/translated/barcode.js:141 templates/js/translated/build.js:925 -#: templates/js/translated/order.js:345 templates/js/translated/order.js:715 -#: templates/js/translated/stock.js:917 templates/js/translated/stock.js:1644 -#: templates/js/translated/stock.js:1866 +#: build/forms.py:203 build/templates/build/build_base.html:138 +#: build/templates/build/detail.html:62 order/models.py:563 +#: order/serializers.py:238 stock/templates/stock/item_base.html:422 +#: templates/js/translated/barcode.js:141 templates/js/translated/build.js:1251 +#: templates/js/translated/order.js:430 templates/js/translated/order.js:676 +#: templates/js/translated/order.js:1061 templates/js/translated/stock.js:896 +#: templates/js/translated/stock.js:1623 templates/js/translated/stock.js:1845 msgid "Status" msgstr "Статус" -#: build/forms.py:216 +#: build/forms.py:204 msgid "Build output stock status" msgstr "Создать статус склада вывода" -#: build/forms.py:223 +#: build/forms.py:211 msgid "Confirm incomplete" msgstr "Подтвердите незавершенность" -#: build/forms.py:224 +#: build/forms.py:212 msgid "Confirm completion with incomplete stock allocation" msgstr "Подтвердите завершение с неполным выделением запасов" -#: build/forms.py:227 +#: build/forms.py:215 msgid "Confirm build completion" msgstr "Подтвердите завершение сборки" -#: build/forms.py:252 +#: build/forms.py:240 msgid "Confirm cancel" msgstr "Подтвердите отмену" -#: build/forms.py:252 build/views.py:65 +#: build/forms.py:240 build/views.py:65 msgid "Confirm build cancellation" msgstr "Подтвердите отмену сборки" -#: build/forms.py:266 -msgid "Select quantity of stock to allocate" -msgstr "Выберите количество запасов для распределения" - -#: build/models.py:113 +#: build/models.py:115 msgid "Invalid choice for parent build" msgstr "" -#: build/models.py:117 build/templates/build/build_base.html:9 +#: build/models.py:119 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:73 #: report/templates/report/inventree_build_order_base.html:106 -#: templates/js/translated/build.js:260 +#: templates/js/translated/build.js:276 msgid "Build Order" msgstr "Порядок сборки" -#: build/models.py:118 build/templates/build/index.html:8 +#: build/models.py:120 build/templates/build/index.html:8 #: build/templates/build/index.html:15 #: order/templates/order/sales_order_detail.html:34 #: order/templates/order/so_navbar.html:19 #: order/templates/order/so_navbar.html:22 part/templates/part/navbar.html:50 #: part/templates/part/navbar.html:53 templates/InvenTree/index.html:229 -#: templates/InvenTree/search.html:185 -#: templates/InvenTree/settings/navbar.html:101 -#: templates/InvenTree/settings/navbar.html:103 users/models.py:44 +#: templates/InvenTree/search.html:171 +#: templates/InvenTree/settings/navbar.html:113 +#: templates/InvenTree/settings/navbar.html:115 users/models.py:44 msgid "Build Orders" msgstr "Порядок сборки" -#: build/models.py:178 +#: build/models.py:180 msgid "Build Order Reference" msgstr "Ссылка на заказ" -#: build/models.py:179 order/models.py:246 order/models.py:539 -#: order/models.py:719 order/templates/order/sales_order_detail.html:360 -#: part/models.py:2365 part/templates/part/bom_upload/match_parts.html:30 +#: build/models.py:181 order/models.py:246 order/models.py:547 +#: order/models.py:727 part/models.py:2386 +#: part/templates/part/bom_upload/match_parts.html:30 #: report/templates/report/inventree_po_report.html:92 #: report/templates/report/inventree_so_report.html:92 -#: templates/js/translated/bom.js:237 templates/js/translated/build.js:718 -#: templates/js/translated/build.js:1183 templates/js/translated/order.js:517 +#: templates/js/translated/bom.js:256 templates/js/translated/build.js:734 +#: templates/js/translated/build.js:1509 templates/js/translated/order.js:863 +#: templates/js/translated/order.js:1438 msgid "Reference" msgstr "" -#: build/models.py:190 +#: build/models.py:192 msgid "Brief description of the build" msgstr "" -#: build/models.py:199 build/templates/build/build_base.html:163 +#: build/models.py:201 build/templates/build/build_base.html:163 #: build/templates/build/detail.html:80 msgid "Parent Build" msgstr "" -#: build/models.py:200 +#: build/models.py:202 msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:205 build/templates/build/auto_allocate.html:16 -#: build/templates/build/build_base.html:128 -#: build/templates/build/detail.html:29 company/models.py:704 -#: order/models.py:772 order/models.py:837 -#: order/templates/order/order_wizard/select_parts.html:32 -#: order/templates/order/receive_parts.html:19 -#: order/templates/order/sales_order_detail.html:345 part/models.py:297 -#: part/models.py:1996 part/models.py:2012 part/models.py:2031 -#: part/models.py:2049 part/models.py:2128 part/models.py:2250 -#: part/models.py:2340 part/templates/part/detail.html:199 +#: build/models.py:207 build/templates/build/build_base.html:128 +#: build/templates/build/detail.html:29 company/models.py:705 +#: order/models.py:780 order/models.py:851 +#: order/templates/order/order_wizard/select_parts.html:32 part/models.py:298 +#: part/models.py:2000 part/models.py:2016 part/models.py:2035 +#: part/models.py:2053 part/models.py:2132 part/models.py:2254 +#: part/models.py:2361 part/templates/part/detail.html:199 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/set_category.html:13 #: report/templates/report/inventree_build_order_base.html:110 #: report/templates/report/inventree_po_report.html:90 #: report/templates/report/inventree_so_report.html:90 -#: templates/InvenTree/search.html:112 templates/InvenTree/search.html:210 -#: templates/js/translated/barcode.js:384 templates/js/translated/bom.js:203 -#: templates/js/translated/build.js:609 templates/js/translated/build.js:896 -#: templates/js/translated/build.js:1156 templates/js/translated/company.js:487 -#: templates/js/translated/company.js:743 templates/js/translated/order.js:471 -#: templates/js/translated/part.js:694 templates/js/translated/part.js:864 -#: templates/js/translated/stock.js:201 templates/js/translated/stock.js:797 -#: templates/js/translated/stock.js:1838 +#: templates/InvenTree/search.html:112 templates/js/translated/barcode.js:384 +#: templates/js/translated/bom.js:222 templates/js/translated/build.js:611 +#: templates/js/translated/build.js:974 templates/js/translated/build.js:1222 +#: templates/js/translated/build.js:1482 templates/js/translated/company.js:488 +#: templates/js/translated/company.js:745 templates/js/translated/order.js:425 +#: templates/js/translated/order.js:817 templates/js/translated/order.js:1422 +#: templates/js/translated/part.js:705 templates/js/translated/part.js:875 +#: templates/js/translated/stock.js:181 templates/js/translated/stock.js:776 +#: templates/js/translated/stock.js:1817 msgid "Part" msgstr "Детали" -#: build/models.py:213 +#: build/models.py:215 msgid "Select part to build" msgstr "" -#: build/models.py:218 +#: build/models.py:220 msgid "Sales Order Reference" msgstr "" -#: build/models.py:222 +#: build/models.py:224 msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:227 +#: build/models.py:229 templates/js/translated/build.js:962 msgid "Source Location" msgstr "" -#: build/models.py:231 +#: build/models.py:233 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "" -#: build/models.py:236 +#: build/models.py:238 msgid "Destination Location" msgstr "" -#: build/models.py:240 +#: build/models.py:242 msgid "Select location where the completed items will be stored" msgstr "" -#: build/models.py:244 +#: build/models.py:246 msgid "Build Quantity" msgstr "" -#: build/models.py:247 +#: build/models.py:249 msgid "Number of stock items to build" msgstr "" -#: build/models.py:251 +#: build/models.py:253 msgid "Completed items" msgstr "" -#: build/models.py:253 +#: build/models.py:255 msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:257 part/templates/part/part_base.html:198 +#: build/models.py:259 part/templates/part/part_base.html:198 msgid "Build Status" msgstr "" -#: build/models.py:261 +#: build/models.py:263 msgid "Build status code" msgstr "" -#: build/models.py:265 stock/models.py:513 +#: build/models.py:267 stock/models.py:513 msgid "Batch Code" msgstr "" -#: build/models.py:269 +#: build/models.py:271 msgid "Batch code for this build output" msgstr "" -#: build/models.py:272 order/models.py:162 part/models.py:853 -#: part/templates/part/part_base.html:272 templates/js/translated/order.js:723 +#: build/models.py:274 order/models.py:162 part/models.py:854 +#: part/templates/part/part_base.html:272 templates/js/translated/order.js:1069 msgid "Creation Date" msgstr "" -#: build/models.py:276 order/models.py:561 +#: build/models.py:278 order/models.py:569 msgid "Target completion date" msgstr "" -#: build/models.py:280 order/models.py:288 templates/js/translated/build.js:967 +#: build/models.py:282 order/models.py:288 +#: templates/js/translated/build.js:1293 msgid "Completion Date" msgstr "" -#: build/models.py:286 +#: build/models.py:288 msgid "completed by" msgstr "выполнено" -#: build/models.py:294 templates/js/translated/build.js:938 +#: build/models.py:296 templates/js/translated/build.js:1264 msgid "Issued by" msgstr "" -#: build/models.py:295 +#: build/models.py:297 msgid "User who issued this build order" msgstr "" -#: build/models.py:303 build/templates/build/build_base.html:184 +#: build/models.py:305 build/templates/build/build_base.html:184 #: build/templates/build/detail.html:108 order/models.py:176 #: order/templates/order/order_base.html:138 -#: order/templates/order/sales_order_base.html:140 part/models.py:857 +#: order/templates/order/sales_order_base.html:145 part/models.py:858 #: report/templates/report/inventree_build_order_base.html:159 -#: templates/js/translated/build.js:950 +#: templates/js/translated/build.js:1276 msgid "Responsible" msgstr "Ответственный" -#: build/models.py:304 +#: build/models.py:306 msgid "User responsible for this build order" msgstr "" -#: build/models.py:309 build/templates/build/detail.html:94 +#: build/models.py:311 build/templates/build/detail.html:94 #: company/templates/company/manufacturer_part.html:83 #: company/templates/company/supplier_part.html:82 #: part/templates/part/part_base.html:266 stock/models.py:507 @@ -856,140 +859,157 @@ msgstr "" msgid "External Link" msgstr "Внешняя ссылка" -#: build/models.py:310 part/models.py:715 stock/models.py:509 +#: build/models.py:312 part/models.py:716 stock/models.py:509 msgid "Link to external URL" msgstr "Ссылка на внешний URL" -#: build/models.py:314 build/templates/build/navbar.html:52 -#: company/models.py:141 company/models.py:576 +#: build/models.py:316 build/templates/build/navbar.html:52 +#: company/models.py:142 company/models.py:577 #: company/templates/company/navbar.html:69 #: company/templates/company/navbar.html:72 order/models.py:180 -#: order/models.py:721 order/templates/order/po_navbar.html:38 +#: order/models.py:729 order/templates/order/po_navbar.html:38 #: order/templates/order/po_navbar.html:41 -#: order/templates/order/sales_order_detail.html:440 #: order/templates/order/so_navbar.html:33 -#: order/templates/order/so_navbar.html:36 part/models.py:842 +#: order/templates/order/so_navbar.html:36 part/models.py:843 #: part/templates/part/detail.html:105 part/templates/part/navbar.html:120 #: part/templates/part/navbar.html:123 #: report/templates/report/inventree_build_order_base.html:173 #: stock/forms.py:138 stock/forms.py:250 stock/forms.py:282 stock/models.py:579 -#: stock/models.py:1726 stock/models.py:1832 +#: stock/models.py:1723 stock/models.py:1829 stock/serializers.py:451 #: stock/templates/stock/navbar.html:57 templates/js/translated/barcode.js:59 -#: templates/js/translated/bom.js:385 templates/js/translated/company.js:839 -#: templates/js/translated/order.js:604 templates/js/translated/stock.js:338 -#: templates/js/translated/stock.js:580 templates/js/translated/stock.js:1061 +#: templates/js/translated/bom.js:406 templates/js/translated/company.js:841 +#: templates/js/translated/order.js:950 templates/js/translated/order.js:1540 +#: templates/js/translated/stock.js:559 templates/js/translated/stock.js:1040 msgid "Notes" msgstr "Заметки" -#: build/models.py:315 +#: build/models.py:317 msgid "Extra build notes" msgstr "" -#: build/models.py:792 +#: build/models.py:714 msgid "No build output specified" msgstr "" -#: build/models.py:795 +#: build/models.py:717 msgid "Build output is already completed" msgstr "" -#: build/models.py:798 +#: build/models.py:720 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:1208 -msgid "BuildItem must be unique for build, stock_item and install_into" -msgstr "" - -#: build/models.py:1233 +#: build/models.py:1102 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1237 +#: build/models.py:1111 #, python-brace-format -msgid "Allocated quantity ({n}) must not exceed available quantity ({q})" +msgid "Allocated quantity ({q}) must not execed available stock quantity ({a})" msgstr "" -#: build/models.py:1244 order/models.py:938 -msgid "StockItem is over-allocated" +#: build/models.py:1121 +msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1248 order/models.py:941 +#: build/models.py:1127 order/models.py:955 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1252 +#: build/models.py:1133 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1312 -#, python-brace-format -msgid "Selected stock item not found in BOM for part '{p}'" +#: build/models.py:1191 +msgid "Selected stock item not found in BOM" msgstr "" -#: build/models.py:1372 stock/templates/stock/item_base.html:331 -#: templates/InvenTree/search.html:183 templates/js/translated/build.js:869 +#: build/models.py:1251 stock/templates/stock/item_base.html:331 +#: templates/InvenTree/search.html:169 templates/js/translated/build.js:1195 #: templates/navbar.html:35 msgid "Build" msgstr "Сборка" -#: build/models.py:1373 +#: build/models.py:1252 msgid "Build to allocate parts" msgstr "" -#: build/models.py:1389 stock/templates/stock/item_base.html:8 +#: build/models.py:1268 build/serializers.py:151 +#: stock/templates/stock/item_base.html:8 #: stock/templates/stock/item_base.html:31 #: stock/templates/stock/item_base.html:353 #: stock/templates/stock/stock_adjust.html:16 -#: templates/js/translated/build.js:271 templates/js/translated/build.js:276 -#: templates/js/translated/build.js:1012 templates/js/translated/order.js:797 -#: templates/js/translated/order.js:802 templates/js/translated/stock.js:1626 +#: templates/js/translated/build.js:287 templates/js/translated/build.js:292 +#: templates/js/translated/build.js:976 templates/js/translated/build.js:1338 +#: templates/js/translated/order.js:1143 templates/js/translated/order.js:1148 +#: templates/js/translated/stock.js:1605 msgid "Stock Item" msgstr "" -#: build/models.py:1390 +#: build/models.py:1269 msgid "Source stock item" msgstr "" -#: build/models.py:1403 +#: build/models.py:1282 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1411 +#: build/models.py:1290 msgid "Install into" msgstr "" -#: build/models.py:1412 +#: build/models.py:1291 msgid "Destination stock item" msgstr "" +#: build/serializers.py:133 part/models.py:2501 +msgid "BOM Item" +msgstr "" + +#: build/serializers.py:142 +msgid "bom_item.part must point to the same part as the build order" +msgstr "" + +#: build/serializers.py:157 +msgid "Item must be in stock" +msgstr "" + +#: build/serializers.py:171 order/models.py:313 order/serializers.py:231 +#: stock/models.py:351 stock/models.py:1072 +msgid "Quantity must be greater than zero" +msgstr "" + +#: build/serializers.py:180 +msgid "Build Output" +msgstr "" + +#: build/serializers.py:213 +#, python-brace-format +msgid "Available quantity ({q}) exceeded" +msgstr "" + +#: build/serializers.py:219 +msgid "Build output must be specified for allocation of tracked parts" +msgstr "" + +#: build/serializers.py:226 +msgid "Build output cannot be specified for allocation of untracked parts" +msgstr "" + +#: build/serializers.py:254 +msgid "Allocation items must be provided" +msgstr "" + #: build/templates/build/allocation_card.html:21 #: build/templates/build/complete_output.html:46 -#: order/templates/order/sales_order_detail.html:206 -#: order/templates/order/sales_order_detail.html:291 #: report/templates/report/inventree_test_report_base.html:75 #: stock/models.py:501 stock/templates/stock/item_base.html:251 -#: templates/js/translated/build.js:627 -#: templates/js/translated/model_renderers.js:57 +#: templates/js/translated/build.js:636 +#: templates/js/translated/model_renderers.js:72 +#: templates/js/translated/order.js:1253 templates/js/translated/order.js:1342 msgid "Serial Number" msgstr "" -#: build/templates/build/auto_allocate.html:9 -msgid "Automatically Allocate Stock" -msgstr "" - -#: build/templates/build/auto_allocate.html:10 -msgid "The following stock items will be allocated to the specified build output" -msgstr "" - -#: build/templates/build/auto_allocate.html:37 -msgid "No stock items found that can be automatically allocated to this build" -msgstr "" - -#: build/templates/build/auto_allocate.html:39 -msgid "Stock items will have to be manually allocated" -msgstr "" - #: build/templates/build/build_base.html:18 #, python-format msgid "This Build Order is allocated to Sales Order %(link)s" @@ -1033,10 +1053,10 @@ msgstr "" #: order/templates/order/order_base.html:32 #: order/templates/order/order_base.html:86 #: order/templates/order/sales_order_base.html:43 -#: order/templates/order/sales_order_base.html:88 +#: order/templates/order/sales_order_base.html:93 #: templates/js/translated/table_filters.js:272 -#: templates/js/translated/table_filters.js:291 -#: templates/js/translated/table_filters.js:308 +#: templates/js/translated/table_filters.js:300 +#: templates/js/translated/table_filters.js:317 msgid "Overdue" msgstr "Просрочено" @@ -1086,14 +1106,14 @@ msgid "Progress" msgstr "" #: build/templates/build/build_base.html:170 -#: build/templates/build/detail.html:87 order/models.py:835 +#: build/templates/build/detail.html:87 order/models.py:848 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:35 #: order/templates/order/sales_order_ship.html:25 #: report/templates/report/inventree_build_order_base.html:136 #: report/templates/report/inventree_so_report.html:77 #: stock/templates/stock/item_base.html:293 -#: templates/js/translated/order.js:670 +#: templates/js/translated/order.js:1016 msgid "Sales Order" msgstr "" @@ -1171,28 +1191,6 @@ msgstr "" msgid "The following items will be created" msgstr "" -#: build/templates/build/create_build_item.html:7 -msgid "Select a stock item to allocate to the selected build output" -msgstr "" - -#: build/templates/build/create_build_item.html:11 -#, python-format -msgid "The allocated stock will be installed into the following build output:
%(output)s" -msgstr "" - -#: build/templates/build/create_build_item.html:17 -#, python-format -msgid "No stock available for %(part)s" -msgstr "" - -#: build/templates/build/delete_build_item.html:8 -msgid "Are you sure you want to unallocate this stock?" -msgstr "" - -#: build/templates/build/delete_build_item.html:11 -msgid "The selected stock will be unallocated from the build output" -msgstr "" - #: build/templates/build/detail.html:38 msgid "Stock Source" msgstr "" @@ -1201,9 +1199,8 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/forms.py:88 order/models.py:794 -#: order/templates/order/receive_parts.html:25 stock/forms.py:134 -#: templates/js/translated/order.js:593 +#: build/templates/build/detail.html:49 order/models.py:802 stock/forms.py:134 +#: templates/js/translated/order.js:431 templates/js/translated/order.js:939 msgid "Destination" msgstr "" @@ -1213,7 +1210,7 @@ msgstr "" #: build/templates/build/detail.html:73 #: stock/templates/stock/item_base.html:317 -#: templates/js/translated/stock.js:931 templates/js/translated/stock.js:1873 +#: templates/js/translated/stock.js:910 templates/js/translated/stock.js:1852 #: templates/js/translated/table_filters.js:129 #: templates/js/translated/table_filters.js:211 msgid "Batch" @@ -1221,8 +1218,8 @@ msgstr "Партия" #: build/templates/build/detail.html:119 #: order/templates/order/order_base.html:111 -#: order/templates/order/sales_order_base.html:113 -#: templates/js/translated/build.js:933 +#: order/templates/order/sales_order_base.html:118 +#: templates/js/translated/build.js:1259 msgid "Created" msgstr "Создано" @@ -1230,7 +1227,8 @@ msgstr "Создано" msgid "No target date set" msgstr "Нет конечной даты" -#: build/templates/build/detail.html:135 templates/js/translated/build.js:911 +#: build/templates/build/detail.html:135 templates/js/translated/build.js:1237 +#: templates/js/translated/table_filters.js:282 msgid "Completed" msgstr "" @@ -1250,15 +1248,16 @@ msgstr "" msgid "Allocate stock to build" msgstr "" -#: build/templates/build/detail.html:173 -msgid "Auto Allocate" +#: build/templates/build/detail.html:173 build/templates/build/navbar.html:20 +#: build/templates/build/navbar.html:23 +msgid "Allocate Stock" msgstr "" -#: build/templates/build/detail.html:175 templates/js/translated/build.js:801 +#: build/templates/build/detail.html:175 templates/js/translated/build.js:817 msgid "Unallocate stock" msgstr "" -#: build/templates/build/detail.html:176 build/views.py:318 build/views.py:638 +#: build/templates/build/detail.html:176 build/views.py:257 msgid "Unallocate Stock" msgstr "" @@ -1268,7 +1267,7 @@ msgstr "" #: build/templates/build/detail.html:180 #: company/templates/company/detail.html:32 -#: company/templates/company/detail.html:72 order/views.py:679 +#: company/templates/company/detail.html:72 order/views.py:509 #: part/templates/part/category.html:140 msgid "Order Parts" msgstr "Заказать детали" @@ -1282,38 +1281,42 @@ msgid "Untracked stock has not been fully allocated for this Build Order" msgstr "" #: build/templates/build/detail.html:197 +msgid "Allocate selected items" +msgstr "" + +#: build/templates/build/detail.html:209 msgid "This Build Order does not have any associated untracked BOM items" msgstr "" -#: build/templates/build/detail.html:206 +#: build/templates/build/detail.html:218 msgid "Incomplete Build Outputs" msgstr "" -#: build/templates/build/detail.html:211 +#: build/templates/build/detail.html:223 msgid "Create new build output" msgstr "" -#: build/templates/build/detail.html:212 +#: build/templates/build/detail.html:224 msgid "Create New Output" msgstr "" -#: build/templates/build/detail.html:225 +#: build/templates/build/detail.html:237 msgid "Create a new build output" msgstr "" -#: build/templates/build/detail.html:226 +#: build/templates/build/detail.html:238 msgid "No incomplete build outputs remain." msgstr "" -#: build/templates/build/detail.html:227 +#: build/templates/build/detail.html:239 msgid "Create a new build output using the button above" msgstr "" -#: build/templates/build/detail.html:235 +#: build/templates/build/detail.html:247 msgid "Completed Build Outputs" msgstr "" -#: build/templates/build/detail.html:246 build/templates/build/navbar.html:42 +#: build/templates/build/detail.html:258 build/templates/build/navbar.html:42 #: build/templates/build/navbar.html:45 order/templates/order/po_navbar.html:35 #: order/templates/order/sales_order_detail.html:43 #: order/templates/order/so_navbar.html:29 part/templates/part/detail.html:173 @@ -1323,15 +1326,15 @@ msgstr "" msgid "Attachments" msgstr "Приложения" -#: build/templates/build/detail.html:257 +#: build/templates/build/detail.html:269 msgid "Build Notes" msgstr "Заметки сборки" -#: build/templates/build/detail.html:261 build/templates/build/detail.html:398 +#: build/templates/build/detail.html:273 build/templates/build/detail.html:414 #: company/templates/company/detail.html:169 #: company/templates/company/detail.html:196 -#: order/templates/order/purchase_order_detail.html:62 -#: order/templates/order/purchase_order_detail.html:95 +#: order/templates/order/purchase_order_detail.html:71 +#: order/templates/order/purchase_order_detail.html:104 #: order/templates/order/sales_order_detail.html:58 #: order/templates/order/sales_order_detail.html:85 #: part/templates/part/detail.html:109 stock/templates/stock/item.html:103 @@ -1339,39 +1342,48 @@ msgstr "Заметки сборки" msgid "Edit Notes" msgstr "" -#: build/templates/build/detail.html:357 +#: build/templates/build/detail.html:373 #: order/templates/order/po_attachments.html:79 -#: order/templates/order/purchase_order_detail.html:157 +#: order/templates/order/purchase_order_detail.html:166 #: order/templates/order/sales_order_detail.html:146 -#: part/templates/part/detail.html:920 stock/templates/stock/item.html:253 +#: part/templates/part/detail.html:891 stock/templates/stock/item.html:253 #: templates/attachment_table.html:6 msgid "Add Attachment" msgstr "" -#: build/templates/build/detail.html:376 +#: build/templates/build/detail.html:392 #: order/templates/order/po_attachments.html:51 -#: order/templates/order/purchase_order_detail.html:129 +#: order/templates/order/purchase_order_detail.html:138 #: order/templates/order/sales_order_detail.html:119 -#: part/templates/part/detail.html:874 stock/templates/stock/item.html:221 +#: part/templates/part/detail.html:845 stock/templates/stock/item.html:221 msgid "Edit Attachment" msgstr "" -#: build/templates/build/detail.html:383 +#: build/templates/build/detail.html:399 #: order/templates/order/po_attachments.html:58 -#: order/templates/order/purchase_order_detail.html:136 +#: order/templates/order/purchase_order_detail.html:145 #: order/templates/order/sales_order_detail.html:125 -#: part/templates/part/detail.html:883 stock/templates/stock/item.html:230 +#: part/templates/part/detail.html:854 stock/templates/stock/item.html:230 +#: templates/js/translated/order.js:1230 msgid "Confirm Delete Operation" msgstr "" -#: build/templates/build/detail.html:384 +#: build/templates/build/detail.html:400 #: order/templates/order/po_attachments.html:59 -#: order/templates/order/purchase_order_detail.html:137 +#: order/templates/order/purchase_order_detail.html:146 #: order/templates/order/sales_order_detail.html:126 -#: part/templates/part/detail.html:884 stock/templates/stock/item.html:231 +#: part/templates/part/detail.html:855 stock/templates/stock/item.html:231 msgid "Delete Attachment" msgstr "" +#: build/templates/build/detail.html:443 +msgid "Allocation Complete" +msgstr "" + +#: build/templates/build/detail.html:444 +msgid "All untracked stock items have been allocated" +msgstr "" + #: build/templates/build/edit_build_item.html:7 msgid "Alter the quantity of stock allocated to the build output" msgstr "" @@ -1401,15 +1413,10 @@ msgid "Build Order Details" msgstr "" #: build/templates/build/navbar.html:15 order/templates/order/po_navbar.html:15 -#: templates/js/translated/stock.js:1555 +#: templates/js/translated/stock.js:1534 msgid "Details" msgstr "" -#: build/templates/build/navbar.html:20 build/templates/build/navbar.html:23 -#: build/views.py:90 -msgid "Allocate Stock" -msgstr "" - #: build/templates/build/navbar.html:28 build/templates/build/navbar.html:31 msgid "Build Outputs" msgstr "" @@ -1434,120 +1441,82 @@ msgstr "" msgid "Build was cancelled" msgstr "" -#: build/views.py:137 -msgid "Allocated stock to build output" -msgstr "" - -#: build/views.py:149 +#: build/views.py:88 msgid "Create Build Output" msgstr "" -#: build/views.py:167 +#: build/views.py:106 msgid "Maximum output quantity is " msgstr "" -#: build/views.py:183 stock/views.py:1389 +#: build/views.py:122 stock/views.py:1366 msgid "Serial numbers already exist" msgstr "" -#: build/views.py:192 +#: build/views.py:131 msgid "Serial numbers required for trackable build output" msgstr "" -#: build/views.py:258 +#: build/views.py:197 msgid "Delete Build Output" msgstr "" -#: build/views.py:279 build/views.py:369 +#: build/views.py:218 build/views.py:308 msgid "Confirm unallocation of build stock" msgstr "" -#: build/views.py:280 build/views.py:370 stock/views.py:404 +#: build/views.py:219 build/views.py:309 stock/views.py:381 msgid "Check the confirmation box" msgstr "" -#: build/views.py:292 +#: build/views.py:231 msgid "Build output does not match build" msgstr "" -#: build/views.py:294 build/views.py:495 +#: build/views.py:233 build/views.py:434 msgid "Build output must be specified" msgstr "" -#: build/views.py:306 +#: build/views.py:245 msgid "Build output deleted" msgstr "" -#: build/views.py:404 +#: build/views.py:343 msgid "Complete Build Order" msgstr "" -#: build/views.py:410 +#: build/views.py:349 msgid "Build order cannot be completed - incomplete outputs remain" msgstr "" -#: build/views.py:421 +#: build/views.py:360 msgid "Completed build order" msgstr "" -#: build/views.py:437 +#: build/views.py:376 msgid "Complete Build Output" msgstr "" -#: build/views.py:479 +#: build/views.py:418 msgid "Invalid stock status value selected" msgstr "" -#: build/views.py:486 +#: build/views.py:425 msgid "Quantity to complete cannot exceed build output quantity" msgstr "" -#: build/views.py:492 +#: build/views.py:431 msgid "Confirm completion of incomplete build" msgstr "" -#: build/views.py:591 +#: build/views.py:530 msgid "Build output completed" msgstr "" -#: build/views.py:628 +#: build/views.py:567 msgid "Delete Build Order" msgstr "" -#: build/views.py:643 -msgid "Removed parts from build allocation" -msgstr "" - -#: build/views.py:655 -msgid "Allocate stock to build output" -msgstr "" - -#: build/views.py:698 -msgid "Item must be currently in stock" -msgstr "" - -#: build/views.py:704 -msgid "Stock item is over-allocated" -msgstr "" - -#: build/views.py:705 templates/js/translated/bom.js:269 -#: templates/js/translated/build.js:728 templates/js/translated/build.js:1019 -#: templates/js/translated/build.js:1196 -msgid "Available" -msgstr "" - -#: build/views.py:707 -msgid "Stock item must be selected" -msgstr "" - -#: build/views.py:870 -msgid "Edit Stock Allocation" -msgstr "" - -#: build/views.py:874 -msgid "Updated Build Item" -msgstr "" - #: common/files.py:67 msgid "Unsupported file format: {ext.upper()}" msgstr "" @@ -1585,7 +1554,7 @@ msgstr "" msgid "Select {name} file to upload" msgstr "" -#: common/models.py:308 common/models.py:839 common/models.py:986 +#: common/models.py:308 common/models.py:887 common/models.py:1048 msgid "Settings key (must be unique - case insensitive" msgstr "" @@ -1625,7 +1594,7 @@ msgstr "" msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:522 company/models.py:99 company/models.py:100 +#: common/models.py:522 company/models.py:100 company/models.py:101 msgid "Company name" msgstr "" @@ -1721,9 +1690,9 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:603 part/models.py:2252 report/models.py:187 +#: common/models.py:603 part/models.py:2256 report/models.py:187 #: stock/forms.py:224 templates/js/translated/table_filters.js:38 -#: templates/js/translated/table_filters.js:342 +#: templates/js/translated/table_filters.js:351 msgid "Template" msgstr "" @@ -1731,9 +1700,9 @@ msgstr "" msgid "Parts are templates by default" msgstr "" -#: common/models.py:610 part/models.py:805 +#: common/models.py:610 part/models.py:806 #: templates/js/translated/table_filters.js:146 -#: templates/js/translated/table_filters.js:354 +#: templates/js/translated/table_filters.js:363 msgid "Assembly" msgstr "" @@ -1741,8 +1710,8 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:617 part/models.py:811 -#: templates/js/translated/table_filters.js:358 +#: common/models.py:617 part/models.py:812 +#: templates/js/translated/table_filters.js:367 msgid "Component" msgstr "" @@ -1750,7 +1719,7 @@ msgstr "" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:624 part/models.py:822 +#: common/models.py:624 part/models.py:823 msgid "Purchaseable" msgstr "" @@ -1758,8 +1727,8 @@ msgstr "" msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:631 part/models.py:827 -#: templates/js/translated/table_filters.js:366 +#: common/models.py:631 part/models.py:828 +#: templates/js/translated/table_filters.js:375 msgid "Salable" msgstr "" @@ -1767,9 +1736,9 @@ msgstr "" msgid "Parts are salable by default" msgstr "" -#: common/models.py:638 part/models.py:817 +#: common/models.py:638 part/models.py:818 #: templates/js/translated/table_filters.js:46 -#: templates/js/translated/table_filters.js:370 +#: templates/js/translated/table_filters.js:379 msgid "Trackable" msgstr "" @@ -1777,7 +1746,7 @@ msgstr "" msgid "Parts are trackable by default" msgstr "" -#: common/models.py:645 part/models.py:837 +#: common/models.py:645 part/models.py:838 #: part/templates/part/part_base.html:66 #: templates/js/translated/table_filters.js:42 msgid "Virtual" @@ -1787,392 +1756,464 @@ msgstr "" msgid "Parts are virtual by default" msgstr "" -#: common/models.py:653 -msgid "Show Quantity in Forms" -msgstr "" - -#: common/models.py:654 -msgid "Display available part quantity in some forms" -msgstr "" - -#: common/models.py:660 +#: common/models.py:652 msgid "Show Import in Views" msgstr "" -#: common/models.py:661 +#: common/models.py:653 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:667 +#: common/models.py:659 msgid "Show Price in Forms" msgstr "" -#: common/models.py:668 +#: common/models.py:660 msgid "Display part price in some forms" msgstr "" -#: common/models.py:674 +#: common/models.py:671 +msgid "Show Price in BOM" +msgstr "" + +#: common/models.py:672 +msgid "Include pricing information in BOM tables" +msgstr "" + +#: common/models.py:678 msgid "Show related parts" msgstr "" -#: common/models.py:675 +#: common/models.py:679 msgid "Display related parts for a part" msgstr "" -#: common/models.py:681 +#: common/models.py:685 msgid "Create initial stock" msgstr "" -#: common/models.py:682 +#: common/models.py:686 msgid "Create initial stock on part creation" msgstr "" -#: common/models.py:688 +#: common/models.py:692 msgid "Internal Prices" msgstr "" -#: common/models.py:689 +#: common/models.py:693 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:695 +#: common/models.py:699 msgid "Internal Price as BOM-Price" msgstr "" -#: common/models.py:696 +#: common/models.py:700 msgid "Use the internal price (if set) in BOM-price calculations" msgstr "" -#: common/models.py:702 templates/stats.html:25 +#: common/models.py:706 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:703 +#: common/models.py:707 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:709 +#: common/models.py:713 msgid "Page Size" msgstr "" -#: common/models.py:710 +#: common/models.py:714 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:720 +#: common/models.py:724 msgid "Test Reports" msgstr "" -#: common/models.py:721 +#: common/models.py:725 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:727 +#: common/models.py:731 msgid "Stock Expiry" msgstr "" -#: common/models.py:728 +#: common/models.py:732 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:734 +#: common/models.py:738 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:735 +#: common/models.py:739 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:741 +#: common/models.py:745 msgid "Stock Stale Time" msgstr "" -#: common/models.py:742 +#: common/models.py:746 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:744 +#: common/models.py:748 msgid "days" msgstr "" -#: common/models.py:749 +#: common/models.py:753 msgid "Build Expired Stock" msgstr "" -#: common/models.py:750 +#: common/models.py:754 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:756 +#: common/models.py:760 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:757 +#: common/models.py:761 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:763 +#: common/models.py:767 msgid "Group by Part" msgstr "" -#: common/models.py:764 +#: common/models.py:768 msgid "Group stock items by part reference in table views" msgstr "" -#: common/models.py:770 +#: common/models.py:774 msgid "Build Order Reference Prefix" msgstr "" -#: common/models.py:771 +#: common/models.py:775 msgid "Prefix value for build order reference" msgstr "" -#: common/models.py:776 +#: common/models.py:780 msgid "Build Order Reference Regex" msgstr "" -#: common/models.py:777 +#: common/models.py:781 msgid "Regular expression pattern for matching build order reference" msgstr "" -#: common/models.py:781 +#: common/models.py:785 msgid "Sales Order Reference Prefix" msgstr "" -#: common/models.py:782 +#: common/models.py:786 msgid "Prefix value for sales order reference" msgstr "" -#: common/models.py:787 +#: common/models.py:791 msgid "Purchase Order Reference Prefix" msgstr "" -#: common/models.py:788 +#: common/models.py:792 msgid "Prefix value for purchase order reference" msgstr "" -#: common/models.py:794 +#: common/models.py:798 msgid "Enable build" msgstr "" -#: common/models.py:795 +#: common/models.py:799 msgid "Enable build functionality in InvenTree interface" msgstr "" -#: common/models.py:800 +#: common/models.py:804 msgid "Enable buy" msgstr "" -#: common/models.py:801 +#: common/models.py:805 msgid "Enable buy functionality in InvenTree interface" msgstr "" -#: common/models.py:806 +#: common/models.py:810 msgid "Enable sell" msgstr "" -#: common/models.py:807 +#: common/models.py:811 msgid "Enable sell functionality in InvenTree interface" msgstr "" -#: common/models.py:812 +#: common/models.py:816 msgid "Enable stock" msgstr "" -#: common/models.py:813 +#: common/models.py:817 msgid "Enable stock functionality in InvenTree interface" msgstr "" -#: common/models.py:818 +#: common/models.py:822 msgid "Enable SO" msgstr "" -#: common/models.py:819 +#: common/models.py:823 msgid "Enable SO functionality in InvenTree interface" msgstr "" -#: common/models.py:824 +#: common/models.py:828 msgid "Enable PO" msgstr "" -#: common/models.py:825 +#: common/models.py:829 msgid "Enable PO functionality in InvenTree interface" msgstr "" -#: common/models.py:850 +#: common/models.py:836 +msgid "Enable password forgot" +msgstr "" + +#: common/models.py:837 +msgid "Enable password forgot function on the login-pages" +msgstr "" + +#: common/models.py:842 +msgid "Enable registration" +msgstr "" + +#: common/models.py:843 +msgid "Enable self-registration for users on the login-pages" +msgstr "" + +#: common/models.py:848 +msgid "Enable SSO" +msgstr "" + +#: common/models.py:849 +msgid "Enable SSO on the login-pages" +msgstr "" + +#: common/models.py:854 +msgid "E-Mail required" +msgstr "" + +#: common/models.py:855 +msgid "Require user to supply mail on signup" +msgstr "" + +#: common/models.py:860 +msgid "Auto-fill SSO users" +msgstr "" + +#: common/models.py:861 +msgid "Automatically fill out user-details from SSO account-data" +msgstr "" + +#: common/models.py:866 +msgid "Mail twice" +msgstr "" + +#: common/models.py:867 +msgid "On signup ask users twice for their mail" +msgstr "" + +#: common/models.py:872 +msgid "Password twice" +msgstr "" + +#: common/models.py:873 +msgid "On signup ask users twice for their password" +msgstr "" + +#: common/models.py:898 msgid "Show starred parts" msgstr "" -#: common/models.py:851 +#: common/models.py:899 msgid "Show starred parts on the homepage" msgstr "" -#: common/models.py:856 +#: common/models.py:904 msgid "Show latest parts" msgstr "" -#: common/models.py:857 +#: common/models.py:905 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:862 +#: common/models.py:910 msgid "Recent Part Count" msgstr "" -#: common/models.py:863 +#: common/models.py:911 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:869 +#: common/models.py:917 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:870 +#: common/models.py:918 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:875 +#: common/models.py:923 msgid "Show recent stock changes" msgstr "" -#: common/models.py:876 +#: common/models.py:924 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:881 +#: common/models.py:929 msgid "Recent Stock Count" msgstr "" -#: common/models.py:882 +#: common/models.py:930 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:887 +#: common/models.py:935 msgid "Show low stock" msgstr "" -#: common/models.py:888 +#: common/models.py:936 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:893 +#: common/models.py:941 msgid "Show depleted stock" msgstr "" -#: common/models.py:894 +#: common/models.py:942 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:899 +#: common/models.py:947 msgid "Show needed stock" msgstr "" -#: common/models.py:900 +#: common/models.py:948 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:905 +#: common/models.py:953 msgid "Show expired stock" msgstr "" -#: common/models.py:906 +#: common/models.py:954 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:911 +#: common/models.py:959 msgid "Show stale stock" msgstr "" -#: common/models.py:912 +#: common/models.py:960 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:917 +#: common/models.py:965 msgid "Show pending builds" msgstr "" -#: common/models.py:918 +#: common/models.py:966 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:923 +#: common/models.py:971 msgid "Show overdue builds" msgstr "" -#: common/models.py:924 +#: common/models.py:972 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:929 +#: common/models.py:977 msgid "Show outstanding POs" msgstr "" -#: common/models.py:930 +#: common/models.py:978 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:935 +#: common/models.py:983 msgid "Show overdue POs" msgstr "" -#: common/models.py:936 +#: common/models.py:984 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:941 +#: common/models.py:989 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:942 +#: common/models.py:990 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:947 +#: common/models.py:995 msgid "Show overdue SOs" msgstr "" -#: common/models.py:948 +#: common/models.py:996 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:954 +#: common/models.py:1002 msgid "Inline label display" msgstr "" -#: common/models.py:955 +#: common/models.py:1003 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:961 +#: common/models.py:1009 msgid "Inline report display" msgstr "" -#: common/models.py:962 +#: common/models.py:1010 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:968 +#: common/models.py:1016 msgid "Search Preview Results" msgstr "" -#: common/models.py:969 +#: common/models.py:1017 msgid "Number of results to show in search preview window" msgstr "" -#: common/models.py:1026 company/forms.py:43 +#: common/models.py:1023 +msgid "Show Quantity in Forms" +msgstr "" + +#: common/models.py:1024 +msgid "Display available part quantity in some forms" +msgstr "" + +#: common/models.py:1030 +msgid "Escape Key Closes Forms" +msgstr "" + +#: common/models.py:1031 +msgid "Use the escape key to close modal forms" +msgstr "" + +#: common/models.py:1088 company/forms.py:43 msgid "Price break quantity" msgstr "" -#: common/models.py:1033 company/templates/company/supplier_part.html:231 -#: templates/js/translated/part.js:1322 +#: common/models.py:1095 company/templates/company/supplier_part.html:231 +#: templates/js/translated/part.js:1369 msgid "Price" msgstr "" -#: common/models.py:1034 +#: common/models.py:1096 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1127 +#: common/models.py:1189 msgid "Default" msgstr "" @@ -2199,7 +2240,7 @@ msgstr "" #: common/views.py:213 order/templates/order/order_wizard/po_upload.html:42 #: order/templates/order/po_navbar.html:19 #: order/templates/order/po_navbar.html:22 -#: order/templates/order/purchase_order_detail.html:26 order/views.py:290 +#: order/templates/order/purchase_order_detail.html:27 order/views.py:289 #: part/templates/part/bom_upload/upload_file.html:65 #: part/templates/part/import_wizard/part_upload.html:45 part/views.py:268 #: part/views.py:882 @@ -2207,7 +2248,7 @@ msgid "Upload File" msgstr "" #: common/views.py:214 order/templates/order/order_wizard/match_fields.html:52 -#: order/views.py:291 part/templates/part/bom_upload/match_fields.html:52 +#: order/views.py:290 part/templates/part/bom_upload/match_fields.html:52 #: part/templates/part/import_wizard/ajax_match_fields.html:45 #: part/templates/part/import_wizard/match_fields.html:52 part/views.py:269 #: part/views.py:883 @@ -2246,249 +2287,249 @@ msgstr "" msgid "Image URL" msgstr "" -#: company/models.py:104 +#: company/models.py:105 msgid "Company description" msgstr "" -#: company/models.py:105 +#: company/models.py:106 msgid "Description of the company" msgstr "" -#: company/models.py:111 company/templates/company/company_base.html:70 +#: company/models.py:112 company/templates/company/company_base.html:70 #: templates/js/translated/company.js:348 msgid "Website" msgstr "" -#: company/models.py:112 +#: company/models.py:113 msgid "Company website URL" msgstr "" -#: company/models.py:116 company/templates/company/company_base.html:88 +#: company/models.py:117 company/templates/company/company_base.html:88 msgid "Address" msgstr "" -#: company/models.py:117 +#: company/models.py:118 msgid "Company address" msgstr "" -#: company/models.py:120 +#: company/models.py:121 msgid "Phone number" msgstr "" -#: company/models.py:121 +#: company/models.py:122 msgid "Contact phone number" msgstr "" -#: company/models.py:124 company/templates/company/company_base.html:102 +#: company/models.py:125 company/templates/company/company_base.html:102 msgid "Email" msgstr "" -#: company/models.py:124 +#: company/models.py:125 msgid "Contact email address" msgstr "" -#: company/models.py:127 company/templates/company/company_base.html:109 +#: company/models.py:128 company/templates/company/company_base.html:109 msgid "Contact" msgstr "" -#: company/models.py:128 +#: company/models.py:129 msgid "Point of contact" msgstr "" -#: company/models.py:130 company/models.py:347 company/models.py:563 -#: order/models.py:160 part/models.py:714 +#: company/models.py:131 company/models.py:348 company/models.py:564 +#: order/models.py:160 part/models.py:715 #: report/templates/report/inventree_build_order_base.html:165 -#: templates/js/translated/company.js:535 -#: templates/js/translated/company.js:823 templates/js/translated/part.js:972 +#: templates/js/translated/company.js:536 +#: templates/js/translated/company.js:825 templates/js/translated/part.js:983 msgid "Link" msgstr "" -#: company/models.py:130 +#: company/models.py:131 msgid "Link to external company information" msgstr "" -#: company/models.py:138 part/models.py:724 +#: company/models.py:139 part/models.py:725 msgid "Image" msgstr "" -#: company/models.py:143 +#: company/models.py:144 msgid "is customer" msgstr "" -#: company/models.py:143 +#: company/models.py:144 msgid "Do you sell items to this company?" msgstr "" -#: company/models.py:145 +#: company/models.py:146 msgid "is supplier" msgstr "" -#: company/models.py:145 +#: company/models.py:146 msgid "Do you purchase items from this company?" msgstr "" -#: company/models.py:147 +#: company/models.py:148 msgid "is manufacturer" msgstr "" -#: company/models.py:147 +#: company/models.py:148 msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:151 company/serializers.py:264 -#: company/templates/company/company_base.html:76 stock/serializers.py:155 +#: company/models.py:152 company/serializers.py:264 +#: company/templates/company/company_base.html:76 stock/serializers.py:158 msgid "Currency" msgstr "" -#: company/models.py:154 +#: company/models.py:155 msgid "Default currency used for this company" msgstr "" -#: company/models.py:319 company/models.py:534 stock/models.py:454 +#: company/models.py:320 company/models.py:535 stock/models.py:454 #: stock/templates/stock/item_base.html:237 msgid "Base Part" msgstr "" -#: company/models.py:323 company/models.py:538 order/views.py:1082 +#: company/models.py:324 company/models.py:539 order/views.py:912 msgid "Select part" msgstr "" -#: company/models.py:334 company/templates/company/company_base.html:116 +#: company/models.py:335 company/templates/company/company_base.html:116 #: company/templates/company/manufacturer_part.html:89 #: company/templates/company/supplier_part.html:98 part/bom.py:170 -#: part/bom.py:241 stock/templates/stock/item_base.html:366 +#: part/bom.py:247 stock/templates/stock/item_base.html:366 #: templates/js/translated/company.js:332 -#: templates/js/translated/company.js:512 -#: templates/js/translated/company.js:794 templates/js/translated/part.js:222 +#: templates/js/translated/company.js:513 +#: templates/js/translated/company.js:796 templates/js/translated/part.js:227 msgid "Manufacturer" msgstr "" -#: company/models.py:335 templates/js/translated/part.js:223 +#: company/models.py:336 templates/js/translated/part.js:228 msgid "Select manufacturer" msgstr "" -#: company/models.py:341 company/templates/company/manufacturer_part.html:93 +#: company/models.py:342 company/templates/company/manufacturer_part.html:93 #: company/templates/company/supplier_part.html:106 part/bom.py:171 -#: part/bom.py:242 templates/js/translated/company.js:528 -#: templates/js/translated/company.js:812 templates/js/translated/order.js:505 -#: templates/js/translated/part.js:233 +#: part/bom.py:248 templates/js/translated/company.js:529 +#: templates/js/translated/company.js:814 templates/js/translated/order.js:851 +#: templates/js/translated/part.js:238 msgid "MPN" msgstr "" -#: company/models.py:342 templates/js/translated/part.js:234 +#: company/models.py:343 templates/js/translated/part.js:239 msgid "Manufacturer Part Number" msgstr "" -#: company/models.py:348 +#: company/models.py:349 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:354 +#: company/models.py:355 msgid "Manufacturer part description" msgstr "" -#: company/models.py:408 company/models.py:557 +#: company/models.py:409 company/models.py:558 #: company/templates/company/manufacturer_part.html:6 #: company/templates/company/manufacturer_part.html:23 #: stock/templates/stock/item_base.html:376 msgid "Manufacturer Part" msgstr "" -#: company/models.py:415 +#: company/models.py:416 msgid "Parameter name" msgstr "" -#: company/models.py:421 +#: company/models.py:422 #: report/templates/report/inventree_test_report_base.html:90 -#: stock/models.py:1819 templates/InvenTree/settings/header.html:8 -#: templates/js/translated/company.js:642 templates/js/translated/part.js:612 -#: templates/js/translated/stock.js:576 +#: stock/models.py:1816 templates/InvenTree/settings/header.html:8 +#: templates/js/translated/company.js:643 templates/js/translated/part.js:623 +#: templates/js/translated/stock.js:555 msgid "Value" msgstr "" -#: company/models.py:422 +#: company/models.py:423 msgid "Parameter value" msgstr "" -#: company/models.py:428 part/models.py:799 part/models.py:2220 -#: templates/js/translated/company.js:648 templates/js/translated/part.js:618 +#: company/models.py:429 part/models.py:800 part/models.py:2224 +#: templates/js/translated/company.js:649 templates/js/translated/part.js:629 msgid "Units" msgstr "" -#: company/models.py:429 +#: company/models.py:430 msgid "Parameter units" msgstr "" -#: company/models.py:501 +#: company/models.py:502 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:544 company/templates/company/company_base.html:121 +#: company/models.py:545 company/templates/company/company_base.html:121 #: company/templates/company/supplier_part.html:88 order/models.py:260 #: order/templates/order/order_base.html:92 #: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:175 -#: part/bom.py:286 stock/templates/stock/item_base.html:383 +#: part/bom.py:292 stock/templates/stock/item_base.html:383 #: templates/js/translated/company.js:336 -#: templates/js/translated/company.js:768 templates/js/translated/order.js:328 -#: templates/js/translated/part.js:203 +#: templates/js/translated/company.js:770 templates/js/translated/order.js:659 +#: templates/js/translated/part.js:208 msgid "Supplier" msgstr "" -#: company/models.py:545 templates/js/translated/part.js:204 +#: company/models.py:546 templates/js/translated/part.js:209 msgid "Select supplier" msgstr "" -#: company/models.py:550 company/templates/company/supplier_part.html:92 -#: part/bom.py:176 part/bom.py:287 templates/js/translated/order.js:492 -#: templates/js/translated/part.js:214 +#: company/models.py:551 company/templates/company/supplier_part.html:92 +#: part/bom.py:176 part/bom.py:293 templates/js/translated/order.js:838 +#: templates/js/translated/part.js:219 msgid "SKU" msgstr "" -#: company/models.py:551 templates/js/translated/part.js:215 +#: company/models.py:552 templates/js/translated/part.js:220 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:558 +#: company/models.py:559 msgid "Select manufacturer part" msgstr "" -#: company/models.py:564 +#: company/models.py:565 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:570 +#: company/models.py:571 msgid "Supplier part description" msgstr "" -#: company/models.py:575 company/templates/company/supplier_part.html:120 -#: part/models.py:2368 report/templates/report/inventree_po_report.html:93 +#: company/models.py:576 company/templates/company/supplier_part.html:120 +#: part/models.py:2389 report/templates/report/inventree_po_report.html:93 #: report/templates/report/inventree_so_report.html:93 msgid "Note" msgstr "" -#: company/models.py:579 part/models.py:1599 +#: company/models.py:580 part/models.py:1603 msgid "base cost" msgstr "" -#: company/models.py:579 part/models.py:1599 +#: company/models.py:580 part/models.py:1603 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:581 company/templates/company/supplier_part.html:113 +#: company/models.py:582 company/templates/company/supplier_part.html:113 #: stock/models.py:478 stock/templates/stock/item_base.html:324 -#: templates/js/translated/company.js:844 templates/js/translated/stock.js:1057 +#: templates/js/translated/company.js:846 templates/js/translated/stock.js:1036 msgid "Packaging" msgstr "" -#: company/models.py:581 +#: company/models.py:582 msgid "Part packaging" msgstr "" -#: company/models.py:583 part/models.py:1601 +#: company/models.py:584 part/models.py:1605 msgid "multiple" msgstr "" -#: company/models.py:583 +#: company/models.py:584 msgid "Order multiple" msgstr "" @@ -2502,7 +2543,7 @@ msgstr "" #: company/templates/company/company_base.html:9 #: company/templates/company/company_base.html:35 -#: templates/InvenTree/search.html:304 templates/js/translated/company.js:321 +#: templates/InvenTree/search.html:208 templates/js/translated/company.js:321 msgid "Company" msgstr "" @@ -2517,7 +2558,7 @@ msgid "Download image from URL" msgstr "" #: company/templates/company/company_base.html:46 -#: templates/js/translated/order.js:117 +#: templates/js/translated/order.js:120 msgid "Create Purchase Order" msgstr "" @@ -2542,22 +2583,22 @@ msgstr "" msgid "Phone" msgstr "" -#: company/templates/company/company_base.html:126 order/models.py:550 -#: order/templates/order/sales_order_base.html:94 stock/models.py:496 +#: company/templates/company/company_base.html:126 order/models.py:558 +#: order/templates/order/sales_order_base.html:99 stock/models.py:496 #: stock/models.py:497 stock/templates/stock/item_base.html:276 -#: templates/js/translated/company.js:328 templates/js/translated/order.js:692 -#: templates/js/translated/stock.js:1608 +#: templates/js/translated/company.js:328 templates/js/translated/order.js:1038 +#: templates/js/translated/stock.js:1587 msgid "Customer" msgstr "" -#: company/templates/company/company_base.html:193 -#: part/templates/part/part_base.html:418 +#: company/templates/company/company_base.html:199 +#: part/templates/part/part_base.html:424 msgid "Upload Image" msgstr "" #: company/templates/company/detail.html:14 #: company/templates/company/manufacturer_part_navbar.html:18 -#: templates/InvenTree/search.html:164 +#: templates/InvenTree/search.html:150 msgid "Supplier Parts" msgstr "" @@ -2597,7 +2638,7 @@ msgstr "" msgid "Delete Parts" msgstr "" -#: company/templates/company/detail.html:54 templates/InvenTree/search.html:149 +#: company/templates/company/detail.html:54 templates/InvenTree/search.html:135 msgid "Manufacturer Parts" msgstr "" @@ -2620,9 +2661,9 @@ msgstr "" #: order/templates/order/purchase_orders.html:13 #: part/templates/part/detail.html:50 part/templates/part/navbar.html:82 #: part/templates/part/navbar.html:85 templates/InvenTree/index.html:260 -#: templates/InvenTree/search.html:325 -#: templates/InvenTree/settings/navbar.html:107 -#: templates/InvenTree/settings/navbar.html:109 templates/navbar.html:44 +#: templates/InvenTree/search.html:229 +#: templates/InvenTree/settings/navbar.html:119 +#: templates/InvenTree/settings/navbar.html:121 templates/navbar.html:44 #: users/models.py:45 msgid "Purchase Orders" msgstr "" @@ -2644,9 +2685,9 @@ msgstr "" #: order/templates/order/sales_orders.html:13 #: part/templates/part/detail.html:71 part/templates/part/navbar.html:91 #: part/templates/part/navbar.html:94 templates/InvenTree/index.html:291 -#: templates/InvenTree/search.html:345 -#: templates/InvenTree/settings/navbar.html:113 -#: templates/InvenTree/settings/navbar.html:115 templates/navbar.html:55 +#: templates/InvenTree/search.html:249 +#: templates/InvenTree/settings/navbar.html:125 +#: templates/InvenTree/settings/navbar.html:127 templates/navbar.html:55 #: users/models.py:46 msgid "Sales Orders" msgstr "" @@ -2664,7 +2705,7 @@ msgstr "" #: company/templates/company/detail.html:147 #: company/templates/company/navbar.html:61 #: company/templates/company/navbar.html:64 -#: templates/js/translated/build.js:620 +#: templates/js/translated/build.js:622 msgid "Assigned Stock" msgstr "" @@ -2696,12 +2737,12 @@ msgid "Order part" msgstr "" #: company/templates/company/manufacturer_part.html:45 -#: templates/js/translated/company.js:560 +#: templates/js/translated/company.js:561 msgid "Edit manufacturer part" msgstr "" #: company/templates/company/manufacturer_part.html:49 -#: templates/js/translated/company.js:561 +#: templates/js/translated/company.js:562 msgid "Delete manufacturer part" msgstr "" @@ -2718,7 +2759,7 @@ msgstr "" #: company/templates/company/manufacturer_part_navbar.html:21 #: company/views.py:49 part/templates/part/navbar.html:75 #: part/templates/part/navbar.html:78 part/templates/part/prices.html:163 -#: templates/InvenTree/search.html:316 templates/navbar.html:41 +#: templates/InvenTree/search.html:220 templates/navbar.html:41 msgid "Suppliers" msgstr "" @@ -2732,7 +2773,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:239 #: part/templates/part/detail.html:214 part/templates/part/detail.html:294 #: part/templates/part/detail.html:317 templates/js/translated/company.js:424 -#: templates/js/translated/helpers.js:31 users/models.py:194 +#: templates/js/translated/helpers.js:31 users/models.py:199 msgid "Delete" msgstr "" @@ -2758,7 +2799,7 @@ msgid "Delete parameters" msgstr "" #: company/templates/company/manufacturer_part.html:176 -#: part/templates/part/detail.html:834 +#: part/templates/part/detail.html:805 msgid "Add Parameter" msgstr "" @@ -2777,16 +2818,15 @@ msgstr "" #: company/templates/company/manufacturer_part_navbar.html:29 #: company/templates/company/navbar.html:39 #: company/templates/company/supplier_part_navbar.html:15 -#: part/templates/part/navbar.html:38 stock/api.py:54 +#: part/templates/part/navbar.html:38 stock/api.py:52 #: stock/templates/stock/loc_link.html:7 stock/templates/stock/location.html:36 #: stock/templates/stock/stock_app_base.html:10 -#: templates/InvenTree/index.html:150 templates/InvenTree/search.html:196 -#: templates/InvenTree/search.html:232 -#: templates/InvenTree/settings/navbar.html:95 -#: templates/InvenTree/settings/navbar.html:97 -#: templates/js/translated/part.js:529 templates/js/translated/part.js:758 -#: templates/js/translated/part.js:934 templates/js/translated/stock.js:202 -#: templates/js/translated/stock.js:850 templates/navbar.html:32 +#: templates/InvenTree/index.html:150 templates/InvenTree/search.html:182 +#: templates/InvenTree/settings/navbar.html:107 +#: templates/InvenTree/settings/navbar.html:109 +#: templates/js/translated/part.js:540 templates/js/translated/part.js:769 +#: templates/js/translated/part.js:945 templates/js/translated/stock.js:182 +#: templates/js/translated/stock.js:829 templates/navbar.html:32 msgid "Stock" msgstr "" @@ -2815,7 +2855,7 @@ msgstr "" #: stock/templates/stock/location.html:148 #: stock/templates/stock/location_navbar.html:18 #: stock/templates/stock/location_navbar.html:21 -#: templates/InvenTree/search.html:198 templates/js/translated/stock.js:1507 +#: templates/InvenTree/search.html:184 templates/js/translated/stock.js:1486 #: templates/stats.html:93 templates/stats.html:102 users/models.py:43 msgid "Stock Items" msgstr "" @@ -2823,17 +2863,17 @@ msgstr "" #: company/templates/company/supplier_part.html:7 #: company/templates/company/supplier_part.html:24 stock/models.py:463 #: stock/templates/stock/item_base.html:388 -#: templates/js/translated/company.js:784 templates/js/translated/stock.js:1014 +#: templates/js/translated/company.js:786 templates/js/translated/stock.js:993 msgid "Supplier Part" msgstr "" #: company/templates/company/supplier_part.html:44 -#: templates/js/translated/company.js:857 +#: templates/js/translated/company.js:859 msgid "Edit supplier part" msgstr "" #: company/templates/company/supplier_part.html:48 -#: templates/js/translated/company.js:858 +#: templates/js/translated/company.js:860 msgid "Delete supplier part" msgstr "" @@ -2900,7 +2940,7 @@ msgid "New Supplier" msgstr "" #: company/views.py:55 part/templates/part/prices.html:167 -#: templates/InvenTree/search.html:306 templates/navbar.html:42 +#: templates/InvenTree/search.html:210 templates/navbar.html:42 msgid "Manufacturers" msgstr "" @@ -2908,7 +2948,7 @@ msgstr "" msgid "New Manufacturer" msgstr "" -#: company/views.py:61 templates/InvenTree/search.html:336 +#: company/views.py:61 templates/InvenTree/search.html:240 #: templates/navbar.html:53 msgid "Customers" msgstr "" @@ -3011,36 +3051,32 @@ msgstr "" msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" -#: order/api.py:302 -msgid "Destination location must be specified" +#: order/api.py:250 +msgid "Matching purchase order does not exist" msgstr "" -#: order/forms.py:30 order/templates/order/order_base.html:47 +#: order/forms.py:27 order/templates/order/order_base.html:50 msgid "Place order" msgstr "" -#: order/forms.py:41 order/templates/order/order_base.html:54 +#: order/forms.py:38 order/templates/order/order_base.html:57 msgid "Mark order as complete" msgstr "" -#: order/forms.py:52 order/forms.py:63 order/templates/order/order_base.html:59 -#: order/templates/order/sales_order_base.html:61 +#: order/forms.py:49 order/forms.py:60 order/templates/order/order_base.html:62 +#: order/templates/order/sales_order_base.html:64 msgid "Cancel order" msgstr "" -#: order/forms.py:74 order/templates/order/sales_order_base.html:58 +#: order/forms.py:71 order/templates/order/sales_order_base.html:61 msgid "Ship order" msgstr "" -#: order/forms.py:89 -msgid "Set all received parts listed above to this location (if left blank, use \"Destination\" column value in above table)" -msgstr "" - -#: order/forms.py:116 +#: order/forms.py:97 msgid "Enter stock item serial numbers" msgstr "" -#: order/forms.py:122 +#: order/forms.py:103 msgid "Enter quantity of stock items" msgstr "" @@ -3064,11 +3100,11 @@ msgstr "" msgid "Order notes" msgstr "" -#: order/models.py:247 order/models.py:540 +#: order/models.py:247 order/models.py:548 msgid "Order reference" msgstr "" -#: order/models.py:252 order/models.py:555 +#: order/models.py:252 order/models.py:563 msgid "Purchase order status" msgstr "" @@ -3077,7 +3113,7 @@ msgid "Company from which the items are being ordered" msgstr "" #: order/models.py:264 order/templates/order/order_base.html:98 -#: templates/js/translated/order.js:337 +#: templates/js/translated/order.js:668 msgid "Supplier Reference" msgstr "" @@ -3109,190 +3145,190 @@ msgstr "" msgid "Date order was completed" msgstr "" -#: order/models.py:313 stock/models.py:351 stock/models.py:1072 -msgid "Quantity must be greater than zero" -msgstr "" - #: order/models.py:318 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:421 -msgid "Lines can only be received against an order marked as 'Placed'" -msgstr "" - -#: order/models.py:425 +#: order/models.py:428 msgid "Quantity must be an integer" msgstr "" -#: order/models.py:427 +#: order/models.py:432 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:551 +#: order/models.py:559 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:557 +#: order/models.py:565 msgid "Customer Reference " msgstr "" -#: order/models.py:557 +#: order/models.py:565 msgid "Customer order reference code" msgstr "" -#: order/models.py:562 +#: order/models.py:570 msgid "Target date for order completion. Order will be overdue after this date." msgstr "" -#: order/models.py:565 templates/js/translated/order.js:733 +#: order/models.py:573 templates/js/translated/order.js:1079 msgid "Shipment Date" msgstr "" -#: order/models.py:572 +#: order/models.py:580 msgid "shipped by" msgstr "" -#: order/models.py:616 +#: order/models.py:624 msgid "SalesOrder cannot be shipped as it is not currently pending" msgstr "" -#: order/models.py:713 +#: order/models.py:721 msgid "Item quantity" msgstr "" -#: order/models.py:719 +#: order/models.py:727 msgid "Line item reference" msgstr "" -#: order/models.py:721 +#: order/models.py:729 msgid "Line item notes" msgstr "" -#: order/models.py:751 order/models.py:835 templates/js/translated/order.js:785 +#: order/models.py:759 order/models.py:847 +#: templates/js/translated/order.js:1131 msgid "Order" msgstr "" -#: order/models.py:752 order/templates/order/order_base.html:9 +#: order/models.py:760 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:24 #: report/templates/report/inventree_po_report.html:77 #: stock/templates/stock/item_base.html:338 -#: templates/js/translated/order.js:306 templates/js/translated/stock.js:991 -#: templates/js/translated/stock.js:1589 +#: templates/js/translated/order.js:637 templates/js/translated/stock.js:970 +#: templates/js/translated/stock.js:1568 msgid "Purchase Order" msgstr "" -#: order/models.py:773 +#: order/models.py:781 msgid "Supplier part" msgstr "" -#: order/models.py:780 order/templates/order/order_base.html:131 -#: order/templates/order/receive_parts.html:22 -#: order/templates/order/sales_order_base.html:133 -#: templates/js/translated/order.js:573 +#: order/models.py:788 order/templates/order/order_base.html:131 +#: order/templates/order/sales_order_base.html:138 +#: templates/js/translated/order.js:428 templates/js/translated/order.js:919 msgid "Received" msgstr "" -#: order/models.py:781 +#: order/models.py:789 msgid "Number of items received" msgstr "" -#: order/models.py:788 part/templates/part/prices.html:176 stock/models.py:588 -#: stock/serializers.py:147 stock/templates/stock/item_base.html:345 -#: templates/js/translated/stock.js:1045 +#: order/models.py:796 part/templates/part/prices.html:176 stock/models.py:588 +#: stock/serializers.py:150 stock/templates/stock/item_base.html:345 +#: templates/js/translated/stock.js:1024 msgid "Purchase Price" msgstr "" -#: order/models.py:789 +#: order/models.py:797 msgid "Unit purchase price" msgstr "" -#: order/models.py:797 +#: order/models.py:805 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:843 part/templates/part/part_pricing.html:112 +#: order/models.py:857 part/templates/part/part_pricing.html:112 #: part/templates/part/prices.html:116 part/templates/part/prices.html:284 msgid "Sale Price" msgstr "" -#: order/models.py:844 +#: order/models.py:858 msgid "Unit sale price" msgstr "" -#: order/models.py:923 order/models.py:925 +#: order/models.py:937 order/models.py:939 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:929 +#: order/models.py:943 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:931 +#: order/models.py:945 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:934 +#: order/models.py:948 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:944 +#: order/models.py:952 +msgid "StockItem is over-allocated" +msgstr "" + +#: order/models.py:958 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:949 +#: order/models.py:966 msgid "Line" msgstr "" -#: order/models.py:960 +#: order/models.py:978 msgid "Item" msgstr "" -#: order/models.py:961 +#: order/models.py:979 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:964 +#: order/models.py:982 msgid "Enter stock allocation quantity" msgstr "" -#: order/serializers.py:166 +#: order/serializers.py:167 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:201 +#: order/serializers.py:202 msgid "Line Item" msgstr "" -#: order/serializers.py:207 +#: order/serializers.py:208 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:217 order/serializers.py:276 +#: order/serializers.py:218 order/serializers.py:285 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:234 +#: order/serializers.py:242 msgid "Barcode Hash" msgstr "" -#: order/serializers.py:235 +#: order/serializers.py:243 msgid "Unique identifier field" msgstr "" -#: order/serializers.py:250 +#: order/serializers.py:259 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:289 +#: order/serializers.py:297 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:299 +#: order/serializers.py:314 +msgid "Destination location must be specified" +msgstr "" + +#: order/serializers.py:325 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:514 +#: order/serializers.py:569 msgid "Sale price currency" msgstr "" @@ -3307,31 +3343,32 @@ msgstr "" msgid "Print" msgstr "" -#: order/templates/order/order_base.html:43 -#: order/templates/order/sales_order_base.html:54 +#: order/templates/order/order_base.html:42 +#: order/templates/order/sales_order_base.html:53 +msgid "Export order to file" +msgstr "" + +#: order/templates/order/order_base.html:46 +#: order/templates/order/sales_order_base.html:57 msgid "Edit order information" msgstr "" -#: order/templates/order/order_base.html:51 +#: order/templates/order/order_base.html:54 msgid "Receive items" msgstr "" -#: order/templates/order/order_base.html:64 -msgid "Export order to file" -msgstr "" - #: order/templates/order/order_base.html:72 #: order/templates/order/po_navbar.html:12 msgid "Purchase Order Details" msgstr "" #: order/templates/order/order_base.html:77 -#: order/templates/order/sales_order_base.html:79 +#: order/templates/order/sales_order_base.html:84 msgid "Order Reference" msgstr "" #: order/templates/order/order_base.html:82 -#: order/templates/order/sales_order_base.html:84 +#: order/templates/order/sales_order_base.html:89 msgid "Order Status" msgstr "" @@ -3344,16 +3381,6 @@ msgstr "" msgid "Edit Purchase Order" msgstr "" -#: order/templates/order/order_base.html:196 -#: stock/templates/stock/location.html:250 templates/js/translated/order.js:437 -msgid "New Location" -msgstr "" - -#: order/templates/order/order_base.html:197 -#: stock/templates/stock/location.html:42 templates/js/translated/order.js:438 -msgid "Create new stock location" -msgstr "" - #: order/templates/order/order_cancel.html:8 msgid "Cancelling this order means that the order and line items will no longer be editable." msgstr "" @@ -3426,6 +3453,7 @@ msgstr "" #: part/templates/part/import_wizard/ajax_match_references.html:42 #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 +#: templates/js/translated/build.js:869 templates/js/translated/order.js:376 msgid "Remove row" msgstr "" @@ -3502,7 +3530,7 @@ msgid "Select existing purchase orders, or create new orders." msgstr "" #: order/templates/order/order_wizard/select_pos.html:31 -#: templates/js/translated/order.js:363 templates/js/translated/order.js:738 +#: templates/js/translated/order.js:694 templates/js/translated/order.js:1084 msgid "Items" msgstr "" @@ -3522,7 +3550,7 @@ msgstr "" #: order/templates/order/po_attachments.html:12 #: order/templates/order/po_navbar.html:32 -#: order/templates/order/purchase_order_detail.html:47 +#: order/templates/order/purchase_order_detail.html:56 msgid "Purchase Order Attachments" msgstr "" @@ -3532,7 +3560,7 @@ msgstr "" #: order/templates/order/po_navbar.html:29 #: order/templates/order/po_received_items.html:12 -#: order/templates/order/purchase_order_detail.html:38 +#: order/templates/order/purchase_order_detail.html:47 msgid "Received Items" msgstr "" @@ -3540,14 +3568,22 @@ msgstr "" msgid "Purchase Order Items" msgstr "" -#: order/templates/order/purchase_order_detail.html:23 -#: order/templates/order/purchase_order_detail.html:203 +#: order/templates/order/purchase_order_detail.html:24 +#: order/templates/order/purchase_order_detail.html:212 #: order/templates/order/sales_order_detail.html:23 #: order/templates/order/sales_order_detail.html:177 msgid "Add Line Item" msgstr "" -#: order/templates/order/purchase_order_detail.html:58 +#: order/templates/order/purchase_order_detail.html:30 +msgid "Receive selected items" +msgstr "" + +#: order/templates/order/purchase_order_detail.html:31 +msgid "Receive Items" +msgstr "" + +#: order/templates/order/purchase_order_detail.html:67 #: order/templates/order/sales_order_detail.html:54 msgid "Order Notes" msgstr "" @@ -3557,67 +3593,24 @@ msgstr "" msgid "Print Order Reports" msgstr "" -#: order/templates/order/receive_parts.html:8 -#, python-format -msgid "Receive outstanding parts for %(order)s - %(desc)s" -msgstr "" - -#: order/templates/order/receive_parts.html:14 part/api.py:54 -#: part/models.py:298 part/templates/part/cat_link.html:7 -#: part/templates/part/category.html:108 part/templates/part/category.html:122 -#: part/templates/part/category_navbar.html:21 -#: part/templates/part/category_navbar.html:24 -#: templates/InvenTree/index.html:102 templates/InvenTree/search.html:114 -#: templates/InvenTree/settings/navbar.html:83 -#: templates/InvenTree/settings/navbar.html:85 -#: templates/js/translated/part.js:1154 templates/navbar.html:29 -#: templates/stats.html:80 templates/stats.html:89 users/models.py:41 -msgid "Parts" -msgstr "" - -#: order/templates/order/receive_parts.html:15 -msgid "Fill out number of parts received, the status and destination" -msgstr "" - -#: order/templates/order/receive_parts.html:20 -msgid "Order Code" -msgstr "" - -#: order/templates/order/receive_parts.html:21 -#: part/templates/part/part_base.html:167 templates/js/translated/part.js:949 -msgid "On Order" -msgstr "" - -#: order/templates/order/receive_parts.html:23 -msgid "Receive" -msgstr "" - -#: order/templates/order/receive_parts.html:37 -msgid "Error: Referenced part has been removed" -msgstr "" - -#: order/templates/order/receive_parts.html:68 -msgid "Remove line" -msgstr "" - #: order/templates/order/sales_order_base.html:16 msgid "This Sales Order has not been fully allocated" msgstr "" -#: order/templates/order/sales_order_base.html:66 +#: order/templates/order/sales_order_base.html:70 msgid "Packing List" msgstr "" -#: order/templates/order/sales_order_base.html:74 +#: order/templates/order/sales_order_base.html:79 msgid "Sales Order Details" msgstr "" -#: order/templates/order/sales_order_base.html:100 -#: templates/js/translated/order.js:705 +#: order/templates/order/sales_order_base.html:105 +#: templates/js/translated/order.js:1051 msgid "Customer Reference" msgstr "" -#: order/templates/order/sales_order_base.html:178 +#: order/templates/order/sales_order_base.html:183 msgid "Edit Sales Order" msgstr "" @@ -3636,105 +3629,6 @@ msgstr "" msgid "Sales Order Items" msgstr "" -#: order/templates/order/sales_order_detail.html:226 -#: templates/js/translated/bom.js:394 templates/js/translated/build.js:782 -#: templates/js/translated/build.js:1219 -msgid "Actions" -msgstr "" - -#: order/templates/order/sales_order_detail.html:233 -#: templates/js/translated/build.js:668 templates/js/translated/build.js:1030 -msgid "Edit stock allocation" -msgstr "" - -#: order/templates/order/sales_order_detail.html:234 -#: templates/js/translated/build.js:670 templates/js/translated/build.js:1031 -msgid "Delete stock allocation" -msgstr "" - -#: order/templates/order/sales_order_detail.html:307 -msgid "No matching line items" -msgstr "" - -#: order/templates/order/sales_order_detail.html:337 -msgid "ID" -msgstr "" - -#: order/templates/order/sales_order_detail.html:354 -#: templates/js/translated/order.js:481 -msgid "Total" -msgstr "" - -#: order/templates/order/sales_order_detail.html:377 -#: templates/js/translated/order.js:534 templates/js/translated/part.js:1296 -#: templates/js/translated/part.js:1507 -msgid "Unit Price" -msgstr "" - -#: order/templates/order/sales_order_detail.html:384 -#: templates/js/translated/order.js:543 -msgid "Total price" -msgstr "" - -#: order/templates/order/sales_order_detail.html:405 -#: templates/js/translated/build.js:733 templates/js/translated/build.js:1026 -msgid "Allocated" -msgstr "" - -#: order/templates/order/sales_order_detail.html:407 -msgid "Fulfilled" -msgstr "" - -#: order/templates/order/sales_order_detail.html:444 -msgid "PO" -msgstr "" - -#: order/templates/order/sales_order_detail.html:474 -msgid "Allocate serial numbers" -msgstr "" - -#: order/templates/order/sales_order_detail.html:477 -#: templates/js/translated/build.js:796 -msgid "Allocate stock" -msgstr "" - -#: order/templates/order/sales_order_detail.html:480 -msgid "Purchase stock" -msgstr "" - -#: order/templates/order/sales_order_detail.html:484 -#: templates/js/translated/build.js:789 templates/js/translated/build.js:1227 -msgid "Build stock" -msgstr "" - -#: order/templates/order/sales_order_detail.html:487 -#: order/templates/order/sales_order_detail.html:606 -msgid "Calculate price" -msgstr "" - -#: order/templates/order/sales_order_detail.html:490 -#: templates/js/translated/order.js:616 -msgid "Edit line item" -msgstr "" - -#: order/templates/order/sales_order_detail.html:491 -msgid "Delete line item " -msgstr "" - -#: order/templates/order/sales_order_detail.html:519 -#: templates/js/translated/order.js:403 -msgid "Edit Line Item" -msgstr "" - -#: order/templates/order/sales_order_detail.html:529 -#: templates/js/translated/order.js:415 -msgid "Delete Line Item" -msgstr "" - -#: order/templates/order/sales_order_detail.html:612 -msgid "Update Unit Price" -msgstr "" - #: order/templates/order/sales_order_ship.html:10 msgid "This order has not been fully allocated. If the order is marked as shipped, it can no longer be adjusted." msgstr "" @@ -3759,10 +3653,6 @@ msgstr "" msgid "Allocate stock items by serial number" msgstr "" -#: order/templates/order/so_allocation_delete.html:7 -msgid "This action will unallocate the following stock from the Sales Order" -msgstr "" - #: order/templates/order/so_navbar.html:12 msgid "Sales Order Line Items" msgstr "" @@ -3775,149 +3665,129 @@ msgstr "" msgid "Sales Order Attachments" msgstr "" -#: order/views.py:104 +#: order/views.py:103 msgid "Cancel Order" msgstr "" -#: order/views.py:113 order/views.py:139 +#: order/views.py:112 order/views.py:138 msgid "Confirm order cancellation" msgstr "" -#: order/views.py:116 order/views.py:142 +#: order/views.py:115 order/views.py:141 msgid "Order cannot be cancelled" msgstr "" -#: order/views.py:130 +#: order/views.py:129 msgid "Cancel sales order" msgstr "" -#: order/views.py:156 +#: order/views.py:155 msgid "Issue Order" msgstr "" -#: order/views.py:165 +#: order/views.py:164 msgid "Confirm order placement" msgstr "" -#: order/views.py:175 +#: order/views.py:174 msgid "Purchase order issued" msgstr "" -#: order/views.py:186 +#: order/views.py:185 msgid "Complete Order" msgstr "" -#: order/views.py:202 +#: order/views.py:201 msgid "Confirm order completion" msgstr "" -#: order/views.py:213 +#: order/views.py:212 msgid "Purchase order completed" msgstr "" -#: order/views.py:223 +#: order/views.py:222 msgid "Ship Order" msgstr "" -#: order/views.py:239 +#: order/views.py:238 msgid "Confirm order shipment" msgstr "" -#: order/views.py:245 +#: order/views.py:244 msgid "Could not ship order" msgstr "" -#: order/views.py:292 +#: order/views.py:291 msgid "Match Supplier Parts" msgstr "" -#: order/views.py:480 -msgid "Receive Parts" -msgstr "" - -#: order/views.py:552 -msgid "Items received" -msgstr "" - -#: order/views.py:620 -msgid "Error converting quantity to number" -msgstr "" - -#: order/views.py:626 -msgid "Receive quantity less than zero" -msgstr "" - -#: order/views.py:632 -msgid "No lines specified" -msgstr "" - -#: order/views.py:705 +#: order/views.py:535 msgid "Update prices" msgstr "" -#: order/views.py:963 +#: order/views.py:793 #, python-brace-format msgid "Ordered {n} parts" msgstr "" -#: order/views.py:1016 +#: order/views.py:846 msgid "Allocate Serial Numbers" msgstr "" -#: order/views.py:1061 +#: order/views.py:891 #, python-brace-format msgid "Allocated {n} items" msgstr "" -#: order/views.py:1077 +#: order/views.py:907 msgid "Select line item" msgstr "" -#: order/views.py:1108 +#: order/views.py:938 #, python-brace-format msgid "No matching item for serial {serial}" msgstr "" -#: order/views.py:1118 +#: order/views.py:948 #, python-brace-format msgid "{serial} is not in stock" msgstr "" -#: order/views.py:1126 +#: order/views.py:956 #, python-brace-format msgid "{serial} already allocated to an order" msgstr "" -#: order/views.py:1180 -msgid "Allocate Stock to Order" -msgstr "" - -#: order/views.py:1254 -msgid "Edit Allocation Quantity" -msgstr "" - -#: order/views.py:1269 -msgid "Remove allocation" -msgstr "" - -#: order/views.py:1341 +#: order/views.py:1072 msgid "Sales order not found" msgstr "" -#: order/views.py:1347 +#: order/views.py:1078 msgid "Price not found" msgstr "" -#: order/views.py:1350 +#: order/views.py:1081 #, python-brace-format msgid "Updated {part} unit-price to {price}" msgstr "" -#: order/views.py:1355 +#: order/views.py:1086 #, python-brace-format msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" +#: part/api.py:54 part/models.py:299 part/templates/part/cat_link.html:7 +#: part/templates/part/category.html:108 part/templates/part/category.html:122 +#: part/templates/part/category_navbar.html:21 +#: part/templates/part/category_navbar.html:24 +#: templates/InvenTree/index.html:102 templates/InvenTree/search.html:114 +#: templates/InvenTree/settings/navbar.html:95 +#: templates/InvenTree/settings/navbar.html:97 +#: templates/js/translated/part.js:1165 templates/navbar.html:29 +#: templates/stats.html:80 templates/stats.html:89 users/models.py:41 +msgid "Parts" +msgstr "" + #: part/api.py:700 msgid "Must be greater than zero" msgstr "" @@ -3934,7 +3804,7 @@ msgstr "" msgid "This field is required" msgstr "" -#: part/bom.py:133 part/models.py:75 part/models.py:733 +#: part/bom.py:133 part/models.py:76 part/models.py:734 #: part/templates/part/category.html:75 part/templates/part/part_base.html:290 msgid "Default Location" msgstr "" @@ -3999,7 +3869,7 @@ msgstr "" msgid "Include part supplier data in exported BOM" msgstr "" -#: part/forms.py:96 part/models.py:2250 +#: part/forms.py:96 part/models.py:2254 msgid "Parent Part" msgstr "" @@ -4043,391 +3913,387 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:76 +#: part/models.py:77 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:79 +#: part/models.py:80 msgid "Default keywords" msgstr "" -#: part/models.py:79 +#: part/models.py:80 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:89 part/models.py:2296 +#: part/models.py:90 part/models.py:2300 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:90 part/templates/part/category.html:32 +#: part/models.py:91 part/templates/part/category.html:32 #: part/templates/part/category.html:103 templates/InvenTree/search.html:127 #: templates/stats.html:84 users/models.py:40 msgid "Part Categories" msgstr "" -#: part/models.py:383 +#: part/models.py:384 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:435 part/models.py:447 +#: part/models.py:436 part/models.py:448 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:544 +#: part/models.py:545 msgid "Next available serial numbers are" msgstr "" -#: part/models.py:548 +#: part/models.py:549 msgid "Next available serial number is" msgstr "" -#: part/models.py:553 +#: part/models.py:554 msgid "Most recent serial number is" msgstr "" -#: part/models.py:632 +#: part/models.py:633 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:657 +#: part/models.py:658 msgid "Part name" msgstr "" -#: part/models.py:664 +#: part/models.py:665 msgid "Is Template" msgstr "" -#: part/models.py:665 +#: part/models.py:666 msgid "Is this part a template part?" msgstr "" -#: part/models.py:675 +#: part/models.py:676 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:676 +#: part/models.py:677 msgid "Variant Of" msgstr "" -#: part/models.py:682 +#: part/models.py:683 msgid "Part description" msgstr "" -#: part/models.py:687 part/templates/part/category.html:82 +#: part/models.py:688 part/templates/part/category.html:82 #: part/templates/part/part_base.html:259 msgid "Keywords" msgstr "" -#: part/models.py:688 +#: part/models.py:689 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:695 part/models.py:2295 +#: part/models.py:696 part/models.py:2299 #: part/templates/part/set_category.html:15 -#: templates/InvenTree/settings/settings.html:167 -#: templates/js/translated/part.js:916 +#: templates/InvenTree/settings/settings.html:169 +#: templates/js/translated/part.js:927 msgid "Category" msgstr "" -#: part/models.py:696 +#: part/models.py:697 msgid "Part category" msgstr "" -#: part/models.py:701 part/templates/part/part_base.html:235 -#: templates/js/translated/part.js:517 templates/js/translated/part.js:749 +#: part/models.py:702 part/templates/part/part_base.html:235 +#: templates/js/translated/part.js:528 templates/js/translated/part.js:760 msgid "IPN" msgstr "" -#: part/models.py:702 +#: part/models.py:703 msgid "Internal Part Number" msgstr "" -#: part/models.py:708 +#: part/models.py:709 msgid "Part revision or version number" msgstr "" -#: part/models.py:709 part/templates/part/part_base.html:252 -#: report/models.py:200 templates/js/translated/part.js:521 +#: part/models.py:710 part/templates/part/part_base.html:252 +#: report/models.py:200 templates/js/translated/part.js:532 msgid "Revision" msgstr "" -#: part/models.py:731 +#: part/models.py:732 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:778 part/templates/part/part_base.html:297 +#: part/models.py:779 part/templates/part/part_base.html:297 msgid "Default Supplier" msgstr "" -#: part/models.py:779 +#: part/models.py:780 msgid "Default supplier part" msgstr "" -#: part/models.py:786 +#: part/models.py:787 msgid "Default Expiry" msgstr "" -#: part/models.py:787 +#: part/models.py:788 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:792 +#: part/models.py:793 msgid "Minimum Stock" msgstr "" -#: part/models.py:793 +#: part/models.py:794 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:800 +#: part/models.py:801 msgid "Stock keeping units for this part" msgstr "" -#: part/models.py:806 +#: part/models.py:807 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:812 +#: part/models.py:813 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:818 +#: part/models.py:819 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:823 +#: part/models.py:824 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:828 +#: part/models.py:829 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:832 templates/js/translated/table_filters.js:34 +#: part/models.py:833 templates/js/translated/table_filters.js:34 #: templates/js/translated/table_filters.js:82 #: templates/js/translated/table_filters.js:268 -#: templates/js/translated/table_filters.js:337 +#: templates/js/translated/table_filters.js:346 msgid "Active" msgstr "" -#: part/models.py:833 +#: part/models.py:834 msgid "Is this part active?" msgstr "" -#: part/models.py:838 +#: part/models.py:839 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:843 +#: part/models.py:844 msgid "Part notes - supports Markdown formatting" msgstr "" -#: part/models.py:846 +#: part/models.py:847 msgid "BOM checksum" msgstr "" -#: part/models.py:846 +#: part/models.py:847 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:849 +#: part/models.py:850 msgid "BOM checked by" msgstr "" -#: part/models.py:851 +#: part/models.py:852 msgid "BOM checked date" msgstr "" -#: part/models.py:855 +#: part/models.py:856 msgid "Creation User" msgstr "" -#: part/models.py:1601 +#: part/models.py:1605 msgid "Sell multiple" msgstr "" -#: part/models.py:2096 +#: part/models.py:2100 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:2113 +#: part/models.py:2117 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:2133 templates/js/translated/part.js:1205 -#: templates/js/translated/stock.js:556 +#: part/models.py:2137 templates/js/translated/part.js:1216 +#: templates/js/translated/stock.js:535 msgid "Test Name" msgstr "" -#: part/models.py:2134 +#: part/models.py:2138 msgid "Enter a name for the test" msgstr "" -#: part/models.py:2139 +#: part/models.py:2143 msgid "Test Description" msgstr "" -#: part/models.py:2140 +#: part/models.py:2144 msgid "Enter description for this test" msgstr "" -#: part/models.py:2145 templates/js/translated/part.js:1214 +#: part/models.py:2149 templates/js/translated/part.js:1225 #: templates/js/translated/table_filters.js:254 msgid "Required" msgstr "" -#: part/models.py:2146 +#: part/models.py:2150 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:2151 templates/js/translated/part.js:1222 +#: part/models.py:2155 templates/js/translated/part.js:1233 msgid "Requires Value" msgstr "" -#: part/models.py:2152 +#: part/models.py:2156 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:2157 templates/js/translated/part.js:1229 +#: part/models.py:2161 templates/js/translated/part.js:1240 msgid "Requires Attachment" msgstr "" -#: part/models.py:2158 +#: part/models.py:2162 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:2169 +#: part/models.py:2173 #, python-brace-format msgid "Illegal character in template name ({c})" msgstr "" -#: part/models.py:2205 +#: part/models.py:2209 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:2213 +#: part/models.py:2217 msgid "Parameter Name" msgstr "" -#: part/models.py:2220 +#: part/models.py:2224 msgid "Parameter Units" msgstr "" -#: part/models.py:2252 part/models.py:2301 part/models.py:2302 -#: templates/InvenTree/settings/settings.html:162 +#: part/models.py:2256 part/models.py:2305 part/models.py:2306 +#: templates/InvenTree/settings/settings.html:164 msgid "Parameter Template" msgstr "" -#: part/models.py:2254 +#: part/models.py:2258 msgid "Data" msgstr "" -#: part/models.py:2254 +#: part/models.py:2258 msgid "Parameter Value" msgstr "" -#: part/models.py:2306 templates/InvenTree/settings/settings.html:171 +#: part/models.py:2310 templates/InvenTree/settings/settings.html:173 msgid "Default Value" msgstr "" -#: part/models.py:2307 +#: part/models.py:2311 msgid "Default Parameter Value" msgstr "" -#: part/models.py:2341 +#: part/models.py:2362 msgid "Select parent part" msgstr "" -#: part/models.py:2349 +#: part/models.py:2370 msgid "Sub part" msgstr "" -#: part/models.py:2350 +#: part/models.py:2371 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:2356 +#: part/models.py:2377 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:2358 templates/js/translated/bom.js:256 -#: templates/js/translated/bom.js:314 +#: part/models.py:2379 templates/js/translated/bom.js:275 +#: templates/js/translated/bom.js:335 msgid "Optional" msgstr "" -#: part/models.py:2358 +#: part/models.py:2379 msgid "This BOM item is optional" msgstr "" -#: part/models.py:2361 +#: part/models.py:2382 msgid "Overage" msgstr "" -#: part/models.py:2362 +#: part/models.py:2383 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:2365 +#: part/models.py:2386 msgid "BOM item reference" msgstr "" -#: part/models.py:2368 +#: part/models.py:2389 msgid "BOM item notes" msgstr "" -#: part/models.py:2370 +#: part/models.py:2391 msgid "Checksum" msgstr "" -#: part/models.py:2370 +#: part/models.py:2391 msgid "BOM line checksum" msgstr "" -#: part/models.py:2374 templates/js/translated/bom.js:331 -#: templates/js/translated/bom.js:338 +#: part/models.py:2395 templates/js/translated/bom.js:352 +#: templates/js/translated/bom.js:359 #: templates/js/translated/table_filters.js:68 msgid "Inherited" msgstr "" -#: part/models.py:2375 +#: part/models.py:2396 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:2380 templates/js/translated/bom.js:323 +#: part/models.py:2401 templates/js/translated/bom.js:344 msgid "Allow Variants" msgstr "" -#: part/models.py:2381 +#: part/models.py:2402 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:2466 stock/models.py:341 +#: part/models.py:2487 stock/models.py:341 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:2475 part/models.py:2477 +#: part/models.py:2496 part/models.py:2498 msgid "Sub part must be specified" msgstr "" -#: part/models.py:2480 -msgid "BOM Item" -msgstr "" - -#: part/models.py:2599 +#: part/models.py:2620 msgid "Part 1" msgstr "" -#: part/models.py:2603 +#: part/models.py:2624 msgid "Part 2" msgstr "" -#: part/models.py:2603 +#: part/models.py:2624 msgid "Select Related Part" msgstr "" -#: part/models.py:2635 +#: part/models.py:2656 msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique" msgstr "" @@ -4578,7 +4444,7 @@ msgstr "" msgid "Create new part" msgstr "" -#: part/templates/part/category.html:131 +#: part/templates/part/category.html:131 templates/js/translated/bom.js:39 msgid "New Part" msgstr "" @@ -4658,7 +4524,7 @@ msgstr "" msgid "Import Parts" msgstr "" -#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:352 +#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:363 msgid "Duplicate Part" msgstr "" @@ -4785,34 +4651,26 @@ msgstr "" msgid "Add Test Result Template" msgstr "" -#: part/templates/part/detail.html:716 -msgid "Edit Test Result Template" -msgstr "" - -#: part/templates/part/detail.html:728 -msgid "Delete Test Result Template" -msgstr "" - -#: part/templates/part/detail.html:784 +#: part/templates/part/detail.html:755 msgid "Edit Part Notes" msgstr "" -#: part/templates/part/detail.html:936 +#: part/templates/part/detail.html:907 #, python-format msgid "Purchase Unit Price - %(currency)s" msgstr "" -#: part/templates/part/detail.html:948 +#: part/templates/part/detail.html:919 #, python-format msgid "Unit Price-Cost Difference - %(currency)s" msgstr "" -#: part/templates/part/detail.html:960 +#: part/templates/part/detail.html:931 #, python-format msgid "Supplier Unit Cost - %(currency)s" msgstr "" -#: part/templates/part/detail.html:1049 +#: part/templates/part/detail.html:1020 #, python-format msgid "Unit Price - %(currency)s" msgstr "" @@ -4874,9 +4732,9 @@ msgstr "" msgid "Part is virtual (not a physical part)" msgstr "" -#: part/templates/part/part_base.html:58 templates/js/translated/company.js:503 -#: templates/js/translated/company.js:759 templates/js/translated/part.js:432 -#: templates/js/translated/part.js:509 +#: part/templates/part/part_base.html:58 templates/js/translated/company.js:504 +#: templates/js/translated/company.js:761 templates/js/translated/part.js:443 +#: templates/js/translated/part.js:520 msgid "Inactive" msgstr "" @@ -4942,10 +4800,16 @@ msgid "This part is a variant of %(link)s" msgstr "" #: part/templates/part/part_base.html:161 +#: templates/js/translated/model_renderers.js:169 +#: templates/js/translated/order.js:1503 #: templates/js/translated/table_filters.js:166 msgid "In Stock" msgstr "" +#: part/templates/part/part_base.html:167 templates/js/translated/part.js:960 +msgid "On Order" +msgstr "" + #: part/templates/part/part_base.html:174 templates/InvenTree/index.html:186 msgid "Required for Build Orders" msgstr "" @@ -4958,18 +4822,18 @@ msgstr "" msgid "Allocated to Orders" msgstr "" -#: part/templates/part/part_base.html:203 templates/js/translated/bom.js:352 +#: part/templates/part/part_base.html:203 templates/js/translated/bom.js:373 msgid "Can Build" msgstr "" -#: part/templates/part/part_base.html:209 templates/js/translated/part.js:765 -#: templates/js/translated/part.js:953 +#: part/templates/part/part_base.html:209 templates/js/translated/part.js:776 +#: templates/js/translated/part.js:964 msgid "Building" msgstr "" #: part/templates/part/part_base.html:223 -#: part/templates/part/part_base.html:524 -#: part/templates/part/part_base.html:550 +#: part/templates/part/part_base.html:531 +#: part/templates/part/part_base.html:557 msgid "Show Part Details" msgstr "" @@ -4977,16 +4841,16 @@ msgstr "" msgid "Latest Serial Number" msgstr "" -#: part/templates/part/part_base.html:396 part/templates/part/prices.html:144 +#: part/templates/part/part_base.html:402 part/templates/part/prices.html:144 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:439 +#: part/templates/part/part_base.html:445 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:519 -#: part/templates/part/part_base.html:544 +#: part/templates/part/part_base.html:526 +#: part/templates/part/part_base.html:551 msgid "Hide Part Details" msgstr "" @@ -5013,7 +4877,7 @@ msgid "Total Cost" msgstr "" #: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:40 -#: templates/js/translated/bom.js:307 +#: templates/js/translated/bom.js:327 msgid "No supplier pricing available" msgstr "" @@ -5051,32 +4915,39 @@ msgstr "" msgid "Select from existing images" msgstr "" -#: part/templates/part/partial_delete.html:7 +#: part/templates/part/partial_delete.html:9 +#, python-format +msgid "Part '%(full_name)s' cannot be deleted as it is still marked as active.\n" +"
Disable the \"Active\" part attribute and re-try.\n" +" " +msgstr "" + +#: part/templates/part/partial_delete.html:17 #, python-format msgid "Are you sure you want to delete part '%(full_name)s'?" msgstr "" -#: part/templates/part/partial_delete.html:12 +#: part/templates/part/partial_delete.html:22 #, python-format msgid "This part is used in BOMs for %(count)s other parts. If you delete this part, the BOMs for the following parts will be updated" msgstr "" -#: part/templates/part/partial_delete.html:22 +#: part/templates/part/partial_delete.html:32 #, python-format msgid "There are %(count)s stock entries defined for this part. If you delete this part, the following stock entries will also be deleted:" msgstr "" -#: part/templates/part/partial_delete.html:33 +#: part/templates/part/partial_delete.html:43 #, python-format msgid "There are %(count)s manufacturers defined for this part. If you delete this part, the following manufacturer parts will also be deleted:" msgstr "" -#: part/templates/part/partial_delete.html:44 +#: part/templates/part/partial_delete.html:54 #, python-format msgid "There are %(count)s suppliers defined for this part. If you delete this part, the following supplier parts will also be deleted:" msgstr "" -#: part/templates/part/partial_delete.html:55 +#: part/templates/part/partial_delete.html:65 #, python-format msgid "There are %(count)s unique parts tracked for '%(full_name)s'. Deleting this part will permanently remove this tracking information." msgstr "" @@ -5109,7 +4980,7 @@ msgstr "" msgid "Calculation parameters" msgstr "" -#: part/templates/part/prices.html:155 templates/js/translated/bom.js:301 +#: part/templates/part/prices.html:155 templates/js/translated/bom.js:321 msgid "Supplier Cost" msgstr "" @@ -5151,8 +5022,9 @@ msgstr "" msgid "Set category for the following parts" msgstr "" -#: part/templates/part/stock_count.html:7 templates/js/translated/bom.js:278 -#: templates/js/translated/part.js:755 templates/js/translated/part.js:957 +#: part/templates/part/stock_count.html:7 templates/js/translated/bom.js:297 +#: templates/js/translated/model_renderers.js:167 +#: templates/js/translated/part.js:766 templates/js/translated/part.js:968 msgid "No Stock" msgstr "" @@ -5262,7 +5134,7 @@ msgstr "" msgid "Delete Part Parameter Template" msgstr "" -#: part/views.py:1502 templates/js/translated/part.js:303 +#: part/views.py:1502 templates/js/translated/part.js:308 msgid "Edit Part Category" msgstr "" @@ -5400,17 +5272,17 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:88 -#: stock/models.py:1807 +#: stock/models.py:1804 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:89 -#: stock/models.py:1813 +#: stock/models.py:1810 msgid "Result" msgstr "" #: report/templates/report/inventree_test_report_base.html:92 -#: templates/js/translated/order.js:353 templates/js/translated/stock.js:1523 +#: templates/js/translated/order.js:684 templates/js/translated/stock.js:1502 msgid "Date" msgstr "" @@ -5422,51 +5294,9 @@ msgstr "" msgid "Fail" msgstr "" -#: stock/api.py:146 -msgid "Request must contain list of stock items" -msgstr "" - -#: stock/api.py:154 -msgid "Improperly formatted data" -msgstr "" - -#: stock/api.py:162 -msgid "Each entry must contain a valid integer primary-key" -msgstr "" - -#: stock/api.py:168 -msgid "Primary key does not match valid stock item" -msgstr "" - -#: stock/api.py:178 -msgid "Invalid quantity value" -msgstr "" - -#: stock/api.py:183 -msgid "Quantity must not be less than zero" -msgstr "" - -#: stock/api.py:211 -#, python-brace-format -msgid "Updated stock for {n} items" -msgstr "" - -#: stock/api.py:247 stock/api.py:280 -msgid "Specified quantity exceeds stock quantity" -msgstr "" - -#: stock/api.py:270 -msgid "Valid location must be specified" -msgstr "" - -#: stock/api.py:290 -#, python-brace-format -msgid "Moved {n} parts to {loc}" -msgstr "" - #: stock/forms.py:79 stock/forms.py:307 stock/models.py:556 #: stock/templates/stock/item_base.html:395 -#: templates/js/translated/stock.js:967 +#: templates/js/translated/stock.js:946 msgid "Expiry Date" msgstr "" @@ -5678,38 +5508,54 @@ msgstr "" msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:1727 +#: stock/models.py:1724 msgid "Entry notes" msgstr "" -#: stock/models.py:1784 +#: stock/models.py:1781 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:1790 +#: stock/models.py:1787 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:1808 +#: stock/models.py:1805 msgid "Test name" msgstr "" -#: stock/models.py:1814 templates/js/translated/table_filters.js:244 +#: stock/models.py:1811 templates/js/translated/table_filters.js:244 msgid "Test result" msgstr "" -#: stock/models.py:1820 +#: stock/models.py:1817 msgid "Test output value" msgstr "" -#: stock/models.py:1827 +#: stock/models.py:1824 msgid "Test result attachment" msgstr "" -#: stock/models.py:1833 +#: stock/models.py:1830 msgid "Test notes" msgstr "" +#: stock/serializers.py:424 +msgid "StockItem primary key value" +msgstr "" + +#: stock/serializers.py:452 +msgid "Stock transaction notes" +msgstr "" + +#: stock/serializers.py:462 +msgid "A list of stock items must be provided" +msgstr "" + +#: stock/serializers.py:554 +msgid "Destination stock location" +msgstr "" + #: stock/templates/stock/item.html:17 msgid "Stock Tracking Information" msgstr "" @@ -5747,7 +5593,7 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:125 stock/views.py:534 +#: stock/templates/stock/item.html:125 stock/views.py:511 msgid "Install Stock Item" msgstr "" @@ -5910,7 +5756,7 @@ msgid "next page" msgstr "" #: stock/templates/stock/item_base.html:303 -#: templates/js/translated/build.js:651 +#: templates/js/translated/build.js:658 msgid "No location set" msgstr "" @@ -5937,7 +5783,7 @@ msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:408 -#: templates/js/translated/stock.js:980 +#: templates/js/translated/stock.js:959 msgid "Last Updated" msgstr "" @@ -6019,6 +5865,10 @@ msgstr "" msgid "All stock items" msgstr "" +#: stock/templates/stock/location.html:42 +msgid "Create new stock location" +msgstr "" + #: stock/templates/stock/location.html:55 msgid "Check-in Items" msgstr "" @@ -6058,7 +5908,7 @@ msgstr "" msgid "Stock Details" msgstr "" -#: stock/templates/stock/location.html:129 templates/InvenTree/search.html:279 +#: stock/templates/stock/location.html:129 templates/InvenTree/search.html:196 #: templates/stats.html:97 users/models.py:42 msgid "Stock Locations" msgstr "" @@ -6071,6 +5921,10 @@ msgstr "" msgid "Print labels" msgstr "" +#: stock/templates/stock/location.html:250 +msgid "New Location" +msgstr "" + #: stock/templates/stock/location.html:251 msgid "Create new location" msgstr "" @@ -6111,7 +5965,7 @@ msgstr "" msgid "The following stock items will be uninstalled" msgstr "" -#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:932 +#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:909 msgid "Convert Stock Item" msgstr "" @@ -6132,104 +5986,104 @@ msgstr "" msgid "Are you sure you want to delete this stock tracking entry?" msgstr "" -#: stock/views.py:181 +#: stock/views.py:158 msgid "Edit Stock Location" msgstr "" -#: stock/views.py:288 stock/views.py:911 stock/views.py:1033 -#: stock/views.py:1398 +#: stock/views.py:265 stock/views.py:888 stock/views.py:1010 +#: stock/views.py:1375 msgid "Owner is required (ownership control is enabled)" msgstr "" -#: stock/views.py:303 +#: stock/views.py:280 msgid "Stock Location QR code" msgstr "" -#: stock/views.py:322 +#: stock/views.py:299 msgid "Assign to Customer" msgstr "" -#: stock/views.py:331 +#: stock/views.py:308 msgid "Customer must be specified" msgstr "" -#: stock/views.py:355 +#: stock/views.py:332 msgid "Return to Stock" msgstr "" -#: stock/views.py:364 +#: stock/views.py:341 msgid "Specify a valid location" msgstr "" -#: stock/views.py:375 +#: stock/views.py:352 msgid "Stock item returned from customer" msgstr "" -#: stock/views.py:386 +#: stock/views.py:363 msgid "Delete All Test Data" msgstr "" -#: stock/views.py:403 +#: stock/views.py:380 msgid "Confirm test data deletion" msgstr "" -#: stock/views.py:508 +#: stock/views.py:485 msgid "Stock Item QR Code" msgstr "" -#: stock/views.py:683 +#: stock/views.py:660 msgid "Uninstall Stock Items" msgstr "" -#: stock/views.py:780 templates/js/translated/stock.js:353 +#: stock/views.py:757 templates/js/translated/stock.js:321 msgid "Confirm stock adjustment" msgstr "" -#: stock/views.py:791 +#: stock/views.py:768 msgid "Uninstalled stock items" msgstr "" -#: stock/views.py:813 +#: stock/views.py:790 msgid "Edit Stock Item" msgstr "" -#: stock/views.py:959 +#: stock/views.py:936 msgid "Create new Stock Location" msgstr "" -#: stock/views.py:1050 +#: stock/views.py:1027 msgid "Serialize Stock" msgstr "" -#: stock/views.py:1143 templates/js/translated/build.js:392 +#: stock/views.py:1120 msgid "Create new Stock Item" msgstr "" -#: stock/views.py:1285 +#: stock/views.py:1262 msgid "Duplicate Stock Item" msgstr "" -#: stock/views.py:1367 +#: stock/views.py:1344 msgid "Quantity cannot be negative" msgstr "" -#: stock/views.py:1467 +#: stock/views.py:1444 msgid "Delete Stock Location" msgstr "" -#: stock/views.py:1480 +#: stock/views.py:1457 msgid "Delete Stock Item" msgstr "" -#: stock/views.py:1491 +#: stock/views.py:1468 msgid "Delete Stock Tracking Entry" msgstr "" -#: stock/views.py:1498 +#: stock/views.py:1475 msgid "Edit Stock Tracking Entry" msgstr "" -#: stock/views.py:1507 +#: stock/views.py:1484 msgid "Add Stock Tracking Entry" msgstr "" @@ -6313,14 +6167,6 @@ msgstr "" msgid "Enter a search query" msgstr "" -#: templates/InvenTree/search.html:268 templates/js/translated/stock.js:699 -msgid "Shipped to customer" -msgstr "" - -#: templates/InvenTree/search.html:271 templates/js/translated/stock.js:709 -msgid "No stock location set" -msgstr "" - #: templates/InvenTree/settings/barcode.html:8 msgid "Barcode Settings" msgstr "" @@ -6365,6 +6211,14 @@ msgstr "" msgid "Setting" msgstr "" +#: templates/InvenTree/settings/login.html:9 +msgid "Login Settings" +msgstr "" + +#: templates/InvenTree/settings/login.html:22 templates/account/signup.html:5 +msgid "Signup" +msgstr "" + #: templates/InvenTree/settings/navbar.html:12 #: templates/InvenTree/settings/user_settings.html:9 msgid "User Settings" @@ -6382,7 +6236,7 @@ msgstr "" #: templates/InvenTree/settings/navbar.html:27 #: templates/InvenTree/settings/navbar.html:29 -#: templates/js/translated/tables.js:366 templates/search_form.html:6 +#: templates/js/translated/tables.js:375 templates/search_form.html:6 #: templates/search_form.html:8 msgid "Search" msgstr "" @@ -6397,38 +6251,48 @@ msgstr "" msgid "Reports" msgstr "" -#: templates/InvenTree/settings/navbar.html:46 -#: templates/InvenTree/settings/navbar.html:48 -#: templates/InvenTree/settings/settings.html:8 templates/navbar.html:94 +#: templates/InvenTree/settings/navbar.html:45 +#: templates/InvenTree/settings/navbar.html:47 +msgid "Forms" +msgstr "" + +#: templates/InvenTree/settings/navbar.html:52 +#: templates/InvenTree/settings/navbar.html:54 +#: templates/InvenTree/settings/settings.html:8 templates/navbar.html:90 msgid "Settings" msgstr "" -#: templates/InvenTree/settings/navbar.html:56 +#: templates/InvenTree/settings/navbar.html:62 msgid "InvenTree Settings" msgstr "" -#: templates/InvenTree/settings/navbar.html:59 -#: templates/InvenTree/settings/navbar.html:61 templates/stats.html:9 +#: templates/InvenTree/settings/navbar.html:65 +#: templates/InvenTree/settings/navbar.html:67 templates/stats.html:9 msgid "Server" msgstr "" -#: templates/InvenTree/settings/navbar.html:65 -#: templates/InvenTree/settings/navbar.html:67 -msgid "Barcodes" -msgstr "" - #: templates/InvenTree/settings/navbar.html:71 -#: templates/InvenTree/settings/navbar.html:73 -msgid "Currencies" +#: templates/InvenTree/settings/navbar.html:73 templates/navbar.html:87 +msgid "Login" msgstr "" #: templates/InvenTree/settings/navbar.html:77 #: templates/InvenTree/settings/navbar.html:79 -msgid "Reporting" +msgid "Barcodes" +msgstr "" + +#: templates/InvenTree/settings/navbar.html:83 +#: templates/InvenTree/settings/navbar.html:85 +msgid "Currencies" msgstr "" #: templates/InvenTree/settings/navbar.html:89 #: templates/InvenTree/settings/navbar.html:91 +msgid "Reporting" +msgstr "" + +#: templates/InvenTree/settings/navbar.html:101 +#: templates/InvenTree/settings/navbar.html:103 msgid "Categories" msgstr "" @@ -6469,21 +6333,21 @@ msgstr "" msgid "Edit setting" msgstr "" -#: templates/InvenTree/settings/settings.html:152 +#: templates/InvenTree/settings/settings.html:154 msgid "No category parameter templates found" msgstr "" -#: templates/InvenTree/settings/settings.html:174 -#: templates/InvenTree/settings/settings.html:273 +#: templates/InvenTree/settings/settings.html:176 +#: templates/InvenTree/settings/settings.html:275 msgid "Edit Template" msgstr "" -#: templates/InvenTree/settings/settings.html:175 -#: templates/InvenTree/settings/settings.html:274 +#: templates/InvenTree/settings/settings.html:177 +#: templates/InvenTree/settings/settings.html:276 msgid "Delete Template" msgstr "" -#: templates/InvenTree/settings/settings.html:253 +#: templates/InvenTree/settings/settings.html:255 msgid "No part parameter templates found" msgstr "" @@ -6495,70 +6359,140 @@ msgstr "" msgid "Stock Settings" msgstr "" -#: templates/InvenTree/settings/user.html:9 +#: templates/InvenTree/settings/user.html:11 msgid "Account Settings" msgstr "" -#: templates/InvenTree/settings/user.html:15 +#: templates/InvenTree/settings/user.html:19 #: templates/js/translated/helpers.js:26 msgid "Edit" msgstr "" -#: templates/InvenTree/settings/user.html:17 +#: templates/InvenTree/settings/user.html:21 +#: templates/account/password_reset_from_key.html:4 +#: templates/account/password_reset_from_key.html:7 msgid "Change Password" msgstr "" -#: templates/InvenTree/settings/user.html:24 -#: templates/registration/login.html:58 +#: templates/InvenTree/settings/user.html:28 msgid "Username" msgstr "" -#: templates/InvenTree/settings/user.html:28 +#: templates/InvenTree/settings/user.html:32 msgid "First Name" msgstr "" -#: templates/InvenTree/settings/user.html:32 +#: templates/InvenTree/settings/user.html:36 msgid "Last Name" msgstr "" -#: templates/InvenTree/settings/user.html:36 -msgid "Email Address" +#: templates/InvenTree/settings/user.html:42 +msgid "E-Mail" msgstr "" -#: templates/InvenTree/settings/user.html:42 -msgid "Theme Settings" +#: templates/InvenTree/settings/user.html:47 +msgid "The following e-mail addresses are associated with your account:" +msgstr "" + +#: templates/InvenTree/settings/user.html:61 +msgid "Verified" msgstr "" #: templates/InvenTree/settings/user.html:63 +msgid "Unverified" +msgstr "" + +#: templates/InvenTree/settings/user.html:65 +msgid "Primary" +msgstr "" + +#: templates/InvenTree/settings/user.html:71 +msgid "Make Primary" +msgstr "" + +#: templates/InvenTree/settings/user.html:72 +msgid "Re-send Verification" +msgstr "" + +#: templates/InvenTree/settings/user.html:73 +#: templates/InvenTree/settings/user.html:130 +msgid "Remove" +msgstr "" + +#: templates/InvenTree/settings/user.html:80 +msgid "Warning:" +msgstr "" + +#: templates/InvenTree/settings/user.html:81 +msgid "You currently do not have any e-mail address set up. You should really add an e-mail address so you can receive notifications, reset your password, etc." +msgstr "" + +#: templates/InvenTree/settings/user.html:88 +msgid "Add E-mail Address" +msgstr "" + +#: templates/InvenTree/settings/user.html:93 +msgid "Add E-mail" +msgstr "" + +#: templates/InvenTree/settings/user.html:100 +msgid "Social Accounts" +msgstr "" + +#: templates/InvenTree/settings/user.html:105 +msgid "You can sign in to your account using any of the following third party accounts:" +msgstr "" + +#: templates/InvenTree/settings/user.html:138 +msgid "You currently have no social network accounts connected to this account." +msgstr "" + +#: templates/InvenTree/settings/user.html:142 +msgid "Add a 3rd Party Account" +msgstr "" + +#: templates/InvenTree/settings/user.html:153 +msgid "Theme Settings" +msgstr "" + +#: templates/InvenTree/settings/user.html:174 msgid "Set Theme" msgstr "" -#: templates/InvenTree/settings/user.html:70 +#: templates/InvenTree/settings/user.html:181 msgid "Language Settings" msgstr "" -#: templates/InvenTree/settings/user.html:89 +#: templates/InvenTree/settings/user.html:200 #, python-format msgid "%(lang_translated)s%% translated" msgstr "" -#: templates/InvenTree/settings/user.html:91 +#: templates/InvenTree/settings/user.html:202 msgid "No translations available" msgstr "" -#: templates/InvenTree/settings/user.html:98 +#: templates/InvenTree/settings/user.html:209 msgid "Set Language" msgstr "" -#: templates/InvenTree/settings/user.html:103 +#: templates/InvenTree/settings/user.html:214 msgid "Help the translation efforts!" msgstr "" -#: templates/InvenTree/settings/user.html:104 +#: templates/InvenTree/settings/user.html:215 #, python-format msgid "Native language translation of the InvenTree web application is community contributed via crowdin. Contributions are welcomed and encouraged." msgstr "" +#: templates/InvenTree/settings/user.html:223 +msgid "Do you really want to remove the selected e-mail address?" +msgstr "" + +#: templates/InvenTree/settings/user_forms.html:9 +msgid "Form Settings" +msgstr "" + #: templates/InvenTree/settings/user_homepage.html:9 msgid "Home Page Settings" msgstr "" @@ -6641,11 +6575,108 @@ msgstr "" #: templates/about.html:107 templates/js/translated/modals.js:50 #: templates/js/translated/modals.js:584 templates/js/translated/modals.js:678 -#: templates/js/translated/modals.js:971 templates/modals.html:29 +#: templates/js/translated/modals.js:982 templates/modals.html:29 #: templates/modals.html:54 msgid "Close" msgstr "" +#: templates/account/email_confirm.html:6 +#: templates/account/email_confirm.html:10 +msgid "Confirm E-mail Address" +msgstr "" + +#: templates/account/email_confirm.html:16 +#, python-format +msgid "Please confirm that %(email)s is an e-mail address for user %(user_display)s." +msgstr "" + +#: templates/account/email_confirm.html:27 +#, python-format +msgid "This e-mail confirmation link expired or is invalid. Please issue a new e-mail confirmation request." +msgstr "" + +#: templates/account/login.html:5 templates/account/login.html:14 +#: templates/account/login.html:36 +msgid "Sign In" +msgstr "" + +#: templates/account/login.html:19 +#, python-format +msgid "Please sign in with one\n" +"of your existing third party accounts or sign up\n" +"for a account and sign in below:" +msgstr "" + +#: templates/account/login.html:23 +#, python-format +msgid "If you have not created an account yet, then please\n" +"sign up first." +msgstr "" + +#: templates/account/login.html:38 +msgid "Forgot Password?" +msgstr "" + +#: templates/account/login.html:45 +msgid "or use SSO" +msgstr "" + +#: templates/account/logout.html:5 templates/account/logout.html:8 +#: templates/account/logout.html:17 +msgid "Sign Out" +msgstr "" + +#: templates/account/logout.html:10 +msgid "Are you sure you want to sign out?" +msgstr "" + +#: templates/account/password_reset.html:5 +#: templates/account/password_reset.html:12 +msgid "Password Reset" +msgstr "" + +#: templates/account/password_reset.html:18 +msgid "Forgotten your password? Enter your e-mail address below, and we'll send you an e-mail allowing you to reset it." +msgstr "" + +#: templates/account/password_reset.html:23 +msgid "Reset My Password" +msgstr "" + +#: templates/account/password_reset.html:27 templates/account/signup.html:36 +msgid "This function is currently disabled. Please contact an administrator." +msgstr "" + +#: templates/account/password_reset_from_key.html:7 +msgid "Bad Token" +msgstr "" + +#: templates/account/password_reset_from_key.html:11 +#, python-format +msgid "The password reset link was invalid, possibly because it has already been used. Please request a new password reset." +msgstr "" + +#: templates/account/password_reset_from_key.html:17 +msgid "change password" +msgstr "" + +#: templates/account/password_reset_from_key.html:20 +msgid "Your password is now changed." +msgstr "" + +#: templates/account/signup.html:11 templates/account/signup.html:22 +msgid "Sign Up" +msgstr "" + +#: templates/account/signup.html:13 +#, python-format +msgid "Already have an account? Then please sign in." +msgstr "" + +#: templates/account/signup.html:27 +msgid "Or use a SSO-provider for signup" +msgstr "" + #: templates/image_download.html:8 msgid "Specify URL for downloading image" msgstr "" @@ -6675,7 +6706,7 @@ msgid "Select Test Report Template" msgstr "" #: templates/js/report.js:98 templates/js/translated/label.js:29 -#: templates/js/translated/report.js:118 templates/js/translated/stock.js:313 +#: templates/js/translated/report.js:118 templates/js/translated/stock.js:297 msgid "Select Stock Items" msgstr "" @@ -6707,8 +6738,8 @@ msgstr "" msgid "No report templates found which match selected build(s)" msgstr "" -#: templates/js/report.js:205 templates/js/translated/label.js:134 -#: templates/js/translated/report.js:225 +#: templates/js/report.js:205 templates/js/translated/build.js:948 +#: templates/js/translated/label.js:134 templates/js/translated/report.js:225 msgid "Select Parts" msgstr "" @@ -6741,11 +6772,11 @@ msgstr "" msgid "Sales Order(s) must be selected before printing report" msgstr "" -#: templates/js/translated/api.js:174 templates/js/translated/modals.js:1041 +#: templates/js/translated/api.js:174 templates/js/translated/modals.js:1052 msgid "No Response" msgstr "" -#: templates/js/translated/api.js:175 templates/js/translated/modals.js:1042 +#: templates/js/translated/api.js:175 templates/js/translated/modals.js:1053 msgid "No response from the InvenTree server" msgstr "" @@ -6757,35 +6788,35 @@ msgstr "" msgid "API request returned error code 400" msgstr "" -#: templates/js/translated/api.js:186 templates/js/translated/modals.js:1051 +#: templates/js/translated/api.js:186 templates/js/translated/modals.js:1062 msgid "Error 401: Not Authenticated" msgstr "" -#: templates/js/translated/api.js:187 templates/js/translated/modals.js:1052 +#: templates/js/translated/api.js:187 templates/js/translated/modals.js:1063 msgid "Authentication credentials not supplied" msgstr "" -#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1056 +#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1067 msgid "Error 403: Permission Denied" msgstr "" -#: templates/js/translated/api.js:192 templates/js/translated/modals.js:1057 +#: templates/js/translated/api.js:192 templates/js/translated/modals.js:1068 msgid "You do not have the required permissions to access this function" msgstr "" -#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1061 +#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1072 msgid "Error 404: Resource Not Found" msgstr "" -#: templates/js/translated/api.js:197 templates/js/translated/modals.js:1062 +#: templates/js/translated/api.js:197 templates/js/translated/modals.js:1073 msgid "The requested resource could not be located on the server" msgstr "" -#: templates/js/translated/api.js:201 templates/js/translated/modals.js:1066 +#: templates/js/translated/api.js:201 templates/js/translated/modals.js:1077 msgid "Error 408: Timeout" msgstr "" -#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1067 +#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1078 msgid "Connection timeout while requesting data from server" msgstr "" @@ -6842,7 +6873,7 @@ msgid "Unknown response from server" msgstr "" #: templates/js/translated/barcode.js:141 -#: templates/js/translated/modals.js:1031 +#: templates/js/translated/modals.js:1042 msgid "Invalid server response" msgstr "" @@ -6870,7 +6901,7 @@ msgstr "" msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:398 templates/js/translated/stock.js:289 +#: templates/js/translated/barcode.js:398 templates/js/translated/stock.js:273 msgid "Remove stock item" msgstr "" @@ -6912,115 +6943,181 @@ msgstr "" msgid "Barcode does not match a valid location" msgstr "" -#: templates/js/translated/bom.js:215 templates/js/translated/build.js:1169 +#: templates/js/translated/bom.js:234 templates/js/translated/build.js:1495 msgid "Open subassembly" msgstr "" -#: templates/js/translated/bom.js:287 +#: templates/js/translated/bom.js:288 templates/js/translated/build.js:744 +#: templates/js/translated/build.js:1345 templates/js/translated/build.js:1522 +msgid "Available" +msgstr "" + +#: templates/js/translated/bom.js:307 msgid "Purchase Price Range" msgstr "" -#: templates/js/translated/bom.js:294 +#: templates/js/translated/bom.js:314 msgid "Purchase Price Average" msgstr "" -#: templates/js/translated/bom.js:342 templates/js/translated/bom.js:428 +#: templates/js/translated/bom.js:363 templates/js/translated/bom.js:449 msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:402 +#: templates/js/translated/bom.js:415 templates/js/translated/build.js:798 +#: templates/js/translated/build.js:1545 templates/js/translated/order.js:1285 +msgid "Actions" +msgstr "" + +#: templates/js/translated/bom.js:423 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:404 +#: templates/js/translated/bom.js:425 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:406 templates/js/translated/bom.js:569 +#: templates/js/translated/bom.js:427 templates/js/translated/bom.js:590 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:408 templates/js/translated/bom.js:554 +#: templates/js/translated/bom.js:429 templates/js/translated/bom.js:575 msgid "Delete BOM Item" msgstr "" -#: templates/js/translated/bom.js:499 templates/js/translated/build.js:483 -#: templates/js/translated/build.js:1267 +#: templates/js/translated/bom.js:520 templates/js/translated/build.js:485 +#: templates/js/translated/build.js:1593 msgid "No BOM items found" msgstr "" -#: templates/js/translated/build.js:69 +#: templates/js/translated/build.js:71 msgid "Edit Build Order" msgstr "" -#: templates/js/translated/build.js:95 +#: templates/js/translated/build.js:105 msgid "Create Build Order" msgstr "" -#: templates/js/translated/build.js:127 -msgid "Auto-allocate stock items to this output" +#: templates/js/translated/build.js:138 +msgid "Allocate stock items to this build output" msgstr "" -#: templates/js/translated/build.js:135 +#: templates/js/translated/build.js:146 msgid "Unallocate stock from build output" msgstr "" -#: templates/js/translated/build.js:145 +#: templates/js/translated/build.js:155 msgid "Complete build output" msgstr "" -#: templates/js/translated/build.js:154 +#: templates/js/translated/build.js:164 msgid "Delete build output" msgstr "" -#: templates/js/translated/build.js:249 +#: templates/js/translated/build.js:265 msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:287 templates/js/translated/order.js:813 +#: templates/js/translated/build.js:303 templates/js/translated/order.js:1159 msgid "Location not specified" msgstr "" -#: templates/js/translated/build.js:391 templates/stock_table.html:20 -msgid "New Stock Item" +#: templates/js/translated/build.js:675 templates/js/translated/build.js:1356 +#: templates/js/translated/order.js:1292 +msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/build.js:702 +#: templates/js/translated/build.js:677 templates/js/translated/build.js:1357 +#: templates/js/translated/order.js:1293 +msgid "Delete stock allocation" +msgstr "" + +#: templates/js/translated/build.js:695 +msgid "Edit Allocation" +msgstr "" + +#: templates/js/translated/build.js:705 +msgid "Remove Allocation" +msgstr "" + +#: templates/js/translated/build.js:718 msgid "Required Part" msgstr "" -#: templates/js/translated/build.js:723 +#: templates/js/translated/build.js:739 msgid "Quantity Per" msgstr "" -#: templates/js/translated/build.js:793 templates/js/translated/build.js:1231 +#: templates/js/translated/build.js:749 templates/js/translated/build.js:975 +#: templates/js/translated/build.js:1352 templates/js/translated/order.js:1514 +msgid "Allocated" +msgstr "" + +#: templates/js/translated/build.js:805 templates/js/translated/build.js:1553 +#: templates/js/translated/order.js:1567 +msgid "Build stock" +msgstr "" + +#: templates/js/translated/build.js:809 templates/js/translated/build.js:1557 #: templates/stock_table.html:59 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:846 +#: templates/js/translated/build.js:812 templates/js/translated/order.js:1560 +msgid "Allocate stock" +msgstr "" + +#: templates/js/translated/build.js:880 +msgid "Specify stock allocation quantity" +msgstr "" + +#: templates/js/translated/build.js:949 +msgid "You must select at least one part to allocate" +msgstr "" + +#: templates/js/translated/build.js:963 +msgid "Select source location (leave blank to take from all locations)" +msgstr "" + +#: templates/js/translated/build.js:992 +msgid "Confirm stock allocation" +msgstr "Подтвердите выделение запасов" + +#: templates/js/translated/build.js:993 +msgid "Allocate Stock Items to Build Order" +msgstr "" + +#: templates/js/translated/build.js:1004 +msgid "No matching stock locations" +msgstr "" + +#: templates/js/translated/build.js:1048 +msgid "No matching stock items" +msgstr "" + +#: templates/js/translated/build.js:1172 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:863 templates/js/translated/part.js:845 -#: templates/js/translated/part.js:1123 templates/js/translated/stock.js:783 -#: templates/js/translated/stock.js:1477 +#: templates/js/translated/build.js:1189 templates/js/translated/part.js:856 +#: templates/js/translated/part.js:1134 templates/js/translated/stock.js:762 +#: templates/js/translated/stock.js:1456 msgid "Select" msgstr "" -#: templates/js/translated/build.js:883 +#: templates/js/translated/build.js:1209 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:944 templates/js/translated/stock.js:1696 +#: templates/js/translated/build.js:1270 templates/js/translated/stock.js:1675 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:956 +#: templates/js/translated/build.js:1282 msgid "No information" msgstr "" -#: templates/js/translated/build.js:1007 +#: templates/js/translated/build.js:1333 msgid "No parts allocated for" msgstr "" @@ -7040,7 +7137,7 @@ msgstr "" msgid "Delete Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:164 templates/js/translated/order.js:86 +#: templates/js/translated/company.js:164 templates/js/translated/order.js:89 msgid "Add Supplier" msgstr "" @@ -7084,53 +7181,53 @@ msgstr "" msgid "Delete Manufacturer Parts" msgstr "" -#: templates/js/translated/company.js:475 +#: templates/js/translated/company.js:476 msgid "No manufacturer parts found" msgstr "" -#: templates/js/translated/company.js:495 -#: templates/js/translated/company.js:751 templates/js/translated/part.js:416 -#: templates/js/translated/part.js:501 +#: templates/js/translated/company.js:496 +#: templates/js/translated/company.js:753 templates/js/translated/part.js:427 +#: templates/js/translated/part.js:512 msgid "Template part" msgstr "" -#: templates/js/translated/company.js:499 -#: templates/js/translated/company.js:755 templates/js/translated/part.js:420 -#: templates/js/translated/part.js:505 +#: templates/js/translated/company.js:500 +#: templates/js/translated/company.js:757 templates/js/translated/part.js:431 +#: templates/js/translated/part.js:516 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:626 templates/js/translated/part.js:593 +#: templates/js/translated/company.js:627 templates/js/translated/part.js:604 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:663 templates/js/translated/part.js:635 +#: templates/js/translated/company.js:664 templates/js/translated/part.js:646 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:664 templates/js/translated/part.js:636 +#: templates/js/translated/company.js:665 templates/js/translated/part.js:647 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:683 templates/js/translated/part.js:653 +#: templates/js/translated/company.js:684 templates/js/translated/part.js:664 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:694 templates/js/translated/part.js:665 +#: templates/js/translated/company.js:695 templates/js/translated/part.js:676 msgid "Delete Parameter" msgstr "" -#: templates/js/translated/company.js:731 +#: templates/js/translated/company.js:733 msgid "No supplier parts found" msgstr "" #: templates/js/translated/filters.js:178 -#: templates/js/translated/filters.js:402 +#: templates/js/translated/filters.js:407 msgid "true" msgstr "" #: templates/js/translated/filters.js:182 -#: templates/js/translated/filters.js:403 +#: templates/js/translated/filters.js:408 msgid "false" msgstr "" @@ -7138,19 +7235,19 @@ msgstr "" msgid "Select filter" msgstr "" -#: templates/js/translated/filters.js:279 +#: templates/js/translated/filters.js:284 msgid "Reload data" msgstr "" -#: templates/js/translated/filters.js:281 +#: templates/js/translated/filters.js:286 msgid "Add new filter" msgstr "" -#: templates/js/translated/filters.js:284 +#: templates/js/translated/filters.js:289 msgid "Clear all filters" msgstr "" -#: templates/js/translated/filters.js:312 +#: templates/js/translated/filters.js:317 msgid "Create filter" msgstr "" @@ -7175,16 +7272,20 @@ msgstr "" msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:889 templates/modals.html:21 +#: templates/js/translated/forms.js:968 templates/modals.html:21 #: templates/modals.html:47 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1379 +#: templates/js/translated/forms.js:1323 +msgid "No results found" +msgstr "" + +#: templates/js/translated/forms.js:1525 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:1593 +#: templates/js/translated/forms.js:1742 msgid "Clear input" msgstr "" @@ -7247,7 +7348,7 @@ msgid "Cancel" msgstr "" #: templates/js/translated/modals.js:77 templates/js/translated/modals.js:119 -#: templates/js/translated/modals.js:677 templates/js/translated/modals.js:970 +#: templates/js/translated/modals.js:677 templates/js/translated/modals.js:981 #: templates/modals.html:30 templates/modals.html:55 msgid "Submit" msgstr "" @@ -7272,31 +7373,31 @@ msgstr "" msgid "Loading Data" msgstr "" -#: templates/js/translated/modals.js:922 +#: templates/js/translated/modals.js:933 msgid "Invalid response from server" msgstr "" -#: templates/js/translated/modals.js:922 +#: templates/js/translated/modals.js:933 msgid "Form data missing from server response" msgstr "" -#: templates/js/translated/modals.js:934 +#: templates/js/translated/modals.js:945 msgid "Error posting form data" msgstr "" -#: templates/js/translated/modals.js:1031 +#: templates/js/translated/modals.js:1042 msgid "JSON response missing form data" msgstr "" -#: templates/js/translated/modals.js:1046 +#: templates/js/translated/modals.js:1057 msgid "Error 400: Bad Request" msgstr "" -#: templates/js/translated/modals.js:1047 +#: templates/js/translated/modals.js:1058 msgid "Server returned error code 400" msgstr "" -#: templates/js/translated/modals.js:1070 +#: templates/js/translated/modals.js:1081 msgid "Error requesting form data" msgstr "" @@ -7304,70 +7405,195 @@ msgstr "" msgid "Company ID" msgstr "" -#: templates/js/translated/model_renderers.js:82 +#: templates/js/translated/model_renderers.js:90 +msgid "Stock ID" +msgstr "" + +#: templates/js/translated/model_renderers.js:125 msgid "Location ID" msgstr "" -#: templates/js/translated/model_renderers.js:99 +#: templates/js/translated/model_renderers.js:142 msgid "Build ID" msgstr "" -#: templates/js/translated/model_renderers.js:119 +#: templates/js/translated/model_renderers.js:177 msgid "Part ID" msgstr "" -#: templates/js/translated/model_renderers.js:171 +#: templates/js/translated/model_renderers.js:231 +msgid "Order ID" +msgstr "" + +#: templates/js/translated/model_renderers.js:251 msgid "Category ID" msgstr "" -#: templates/js/translated/model_renderers.js:208 +#: templates/js/translated/model_renderers.js:288 msgid "Manufacturer Part ID" msgstr "" -#: templates/js/translated/model_renderers.js:237 +#: templates/js/translated/model_renderers.js:317 msgid "Supplier Part ID" msgstr "" -#: templates/js/translated/order.js:45 +#: templates/js/translated/order.js:48 msgid "Add Customer" msgstr "" -#: templates/js/translated/order.js:70 +#: templates/js/translated/order.js:73 msgid "Create Sales Order" msgstr "" -#: templates/js/translated/order.js:295 +#: templates/js/translated/order.js:207 +msgid "Export Order" +msgstr "" + +#: templates/js/translated/order.js:210 templates/js/translated/stock.js:96 +msgid "Format" +msgstr "" + +#: templates/js/translated/order.js:211 templates/js/translated/stock.js:97 +msgid "Select file format" +msgstr "" + +#: templates/js/translated/order.js:299 +msgid "Select Line Items" +msgstr "" + +#: templates/js/translated/order.js:300 +msgid "At least one line item must be selected" +msgstr "" + +#: templates/js/translated/order.js:325 +msgid "Quantity to receive" +msgstr "" + +#: templates/js/translated/order.js:359 templates/js/translated/stock.js:1343 +msgid "Stock Status" +msgstr "" + +#: templates/js/translated/order.js:426 +msgid "Order Code" +msgstr "" + +#: templates/js/translated/order.js:427 +msgid "Ordered" +msgstr "" + +#: templates/js/translated/order.js:429 +msgid "Receive" +msgstr "" + +#: templates/js/translated/order.js:448 +msgid "Confirm receipt of items" +msgstr "" + +#: templates/js/translated/order.js:449 +msgid "Receive Purchase Order Items" +msgstr "" + +#: templates/js/translated/order.js:626 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/order.js:320 templates/js/translated/order.js:682 +#: templates/js/translated/order.js:651 templates/js/translated/order.js:1028 msgid "Order is overdue" msgstr "" -#: templates/js/translated/order.js:452 +#: templates/js/translated/order.js:749 templates/js/translated/order.js:1602 +msgid "Edit Line Item" +msgstr "" + +#: templates/js/translated/order.js:761 templates/js/translated/order.js:1613 +msgid "Delete Line Item" +msgstr "" + +#: templates/js/translated/order.js:800 msgid "No line items found" msgstr "" -#: templates/js/translated/order.js:617 +#: templates/js/translated/order.js:827 templates/js/translated/order.js:1432 +msgid "Total" +msgstr "" + +#: templates/js/translated/order.js:880 templates/js/translated/order.js:1457 +#: templates/js/translated/part.js:1343 templates/js/translated/part.js:1554 +msgid "Unit Price" +msgstr "" + +#: templates/js/translated/order.js:889 templates/js/translated/order.js:1464 +msgid "Total price" +msgstr "" + +#: templates/js/translated/order.js:962 templates/js/translated/order.js:1573 +msgid "Edit line item" +msgstr "" + +#: templates/js/translated/order.js:963 msgid "Delete line item" msgstr "" -#: templates/js/translated/order.js:621 +#: templates/js/translated/order.js:967 msgid "Receive line item" msgstr "" -#: templates/js/translated/order.js:658 +#: templates/js/translated/order.js:1004 msgid "No sales orders found" msgstr "" -#: templates/js/translated/order.js:696 +#: templates/js/translated/order.js:1042 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/order.js:774 +#: templates/js/translated/order.js:1120 msgid "No sales order allocations found" msgstr "" +#: templates/js/translated/order.js:1213 +msgid "Edit Stock Allocation" +msgstr "" + +#: templates/js/translated/order.js:1231 +msgid "Delete Stock Allocation" +msgstr "" + +#: templates/js/translated/order.js:1273 +msgid "Stock location not specified" +msgstr "" + +#: templates/js/translated/order.js:1514 +msgid "Fulfilled" +msgstr "" + +#: templates/js/translated/order.js:1557 +msgid "Allocate serial numbers" +msgstr "" + +#: templates/js/translated/order.js:1563 +msgid "Purchase stock" +msgstr "" + +#: templates/js/translated/order.js:1570 templates/js/translated/order.js:1725 +msgid "Calculate price" +msgstr "" + +#: templates/js/translated/order.js:1574 +msgid "Delete line item " +msgstr "" + +#: templates/js/translated/order.js:1673 +msgid "Allocate Stock Item" +msgstr "" + +#: templates/js/translated/order.js:1733 +msgid "Update Unit Price" +msgstr "" + +#: templates/js/translated/order.js:1747 +msgid "No matching line items" +msgstr "" + #: templates/js/translated/part.js:49 msgid "Part Attributes" msgstr "" @@ -7388,396 +7614,396 @@ msgstr "" msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:159 +#: templates/js/translated/part.js:164 msgid "Create Initial Stock" msgstr "" -#: templates/js/translated/part.js:160 +#: templates/js/translated/part.js:165 msgid "Create an initial stock item for this part" msgstr "" -#: templates/js/translated/part.js:167 +#: templates/js/translated/part.js:172 msgid "Initial Stock Quantity" msgstr "" -#: templates/js/translated/part.js:168 +#: templates/js/translated/part.js:173 msgid "Specify initial stock quantity for this part" msgstr "" -#: templates/js/translated/part.js:175 templates/js/translated/stock.js:330 +#: templates/js/translated/part.js:180 msgid "Select destination stock location" msgstr "" -#: templates/js/translated/part.js:186 +#: templates/js/translated/part.js:191 msgid "Copy Category Parameters" msgstr "" -#: templates/js/translated/part.js:187 +#: templates/js/translated/part.js:192 msgid "Copy parameter templates from selected part category" msgstr "" -#: templates/js/translated/part.js:195 +#: templates/js/translated/part.js:200 msgid "Add Supplier Data" msgstr "" -#: templates/js/translated/part.js:196 +#: templates/js/translated/part.js:201 msgid "Create initial supplier data for this part" msgstr "" -#: templates/js/translated/part.js:252 +#: templates/js/translated/part.js:257 msgid "Copy Image" msgstr "" -#: templates/js/translated/part.js:253 +#: templates/js/translated/part.js:258 msgid "Copy image from original part" msgstr "" -#: templates/js/translated/part.js:260 +#: templates/js/translated/part.js:265 msgid "Copy BOM" msgstr "" -#: templates/js/translated/part.js:261 +#: templates/js/translated/part.js:266 msgid "Copy bill of materials from original part" msgstr "" -#: templates/js/translated/part.js:268 +#: templates/js/translated/part.js:273 msgid "Copy Parameters" msgstr "" -#: templates/js/translated/part.js:269 +#: templates/js/translated/part.js:274 msgid "Copy parameter data from original part" msgstr "" -#: templates/js/translated/part.js:282 +#: templates/js/translated/part.js:287 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:323 +#: templates/js/translated/part.js:331 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:408 templates/js/translated/part.js:493 +#: templates/js/translated/part.js:419 templates/js/translated/part.js:504 msgid "Trackable part" msgstr "" -#: templates/js/translated/part.js:412 templates/js/translated/part.js:497 +#: templates/js/translated/part.js:423 templates/js/translated/part.js:508 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:424 +#: templates/js/translated/part.js:435 msgid "Starred part" msgstr "" -#: templates/js/translated/part.js:428 +#: templates/js/translated/part.js:439 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:543 +#: templates/js/translated/part.js:554 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:732 templates/js/translated/part.js:994 +#: templates/js/translated/part.js:743 templates/js/translated/part.js:1005 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:921 +#: templates/js/translated/part.js:932 msgid "No category" msgstr "" -#: templates/js/translated/part.js:944 -#: templates/js/translated/table_filters.js:350 +#: templates/js/translated/part.js:955 +#: templates/js/translated/table_filters.js:359 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:1148 templates/js/translated/stock.js:1501 +#: templates/js/translated/part.js:1159 templates/js/translated/stock.js:1480 msgid "Path" msgstr "" -#: templates/js/translated/part.js:1191 +#: templates/js/translated/part.js:1202 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:1242 templates/js/translated/stock.js:514 +#: templates/js/translated/part.js:1253 templates/js/translated/stock.js:493 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:1243 templates/js/translated/stock.js:515 +#: templates/js/translated/part.js:1254 templates/js/translated/stock.js:494 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:1249 +#: templates/js/translated/part.js:1260 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:1274 +#: templates/js/translated/part.js:1282 +msgid "Edit Test Result Template" +msgstr "" + +#: templates/js/translated/part.js:1296 +msgid "Delete Test Result Template" +msgstr "" + +#: templates/js/translated/part.js:1321 #, python-brace-format msgid "No ${human_name} information found" msgstr "" -#: templates/js/translated/part.js:1329 +#: templates/js/translated/part.js:1376 #, python-brace-format msgid "Edit ${human_name}" msgstr "" -#: templates/js/translated/part.js:1330 +#: templates/js/translated/part.js:1377 #, python-brace-format msgid "Delete ${human_name}" msgstr "" -#: templates/js/translated/part.js:1431 +#: templates/js/translated/part.js:1478 msgid "Single Price" msgstr "" -#: templates/js/translated/part.js:1450 +#: templates/js/translated/part.js:1497 msgid "Single Price Difference" msgstr "" -#: templates/js/translated/stock.js:66 +#: templates/js/translated/stock.js:63 msgid "Parent stock location" msgstr "" -#: templates/js/translated/stock.js:96 +#: templates/js/translated/stock.js:93 msgid "Export Stock" msgstr "" -#: templates/js/translated/stock.js:99 -msgid "Format" -msgstr "" - -#: templates/js/translated/stock.js:100 -msgid "Select file format" -msgstr "" - -#: templates/js/translated/stock.js:124 +#: templates/js/translated/stock.js:104 msgid "Include Sublocations" msgstr "" -#: templates/js/translated/stock.js:125 +#: templates/js/translated/stock.js:105 msgid "Include stock items in sublocations" msgstr "" -#: templates/js/translated/stock.js:167 +#: templates/js/translated/stock.js:147 msgid "Transfer Stock" msgstr "" -#: templates/js/translated/stock.js:168 +#: templates/js/translated/stock.js:148 msgid "Move" msgstr "" -#: templates/js/translated/stock.js:174 +#: templates/js/translated/stock.js:154 msgid "Count Stock" msgstr "" -#: templates/js/translated/stock.js:175 +#: templates/js/translated/stock.js:155 msgid "Count" msgstr "" -#: templates/js/translated/stock.js:179 +#: templates/js/translated/stock.js:159 msgid "Remove Stock" msgstr "" -#: templates/js/translated/stock.js:180 +#: templates/js/translated/stock.js:160 msgid "Take" msgstr "" -#: templates/js/translated/stock.js:184 +#: templates/js/translated/stock.js:164 msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:185 users/models.py:190 +#: templates/js/translated/stock.js:165 users/models.py:195 msgid "Add" msgstr "" -#: templates/js/translated/stock.js:189 templates/stock_table.html:63 +#: templates/js/translated/stock.js:169 templates/stock_table.html:63 msgid "Delete Stock" msgstr "" -#: templates/js/translated/stock.js:278 +#: templates/js/translated/stock.js:258 msgid "Quantity cannot be adjusted for serialized stock" msgstr "" -#: templates/js/translated/stock.js:278 +#: templates/js/translated/stock.js:258 msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:314 +#: templates/js/translated/stock.js:298 msgid "You must select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:339 -msgid "Stock transaction notes" -msgstr "" - -#: templates/js/translated/stock.js:477 +#: templates/js/translated/stock.js:456 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:479 +#: templates/js/translated/stock.js:458 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:484 +#: templates/js/translated/stock.js:463 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:510 +#: templates/js/translated/stock.js:489 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:536 +#: templates/js/translated/stock.js:515 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:584 +#: templates/js/translated/stock.js:563 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:691 +#: templates/js/translated/stock.js:670 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:695 +#: templates/js/translated/stock.js:674 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:703 +#: templates/js/translated/stock.js:678 +msgid "Shipped to customer" +msgstr "" + +#: templates/js/translated/stock.js:682 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:865 +#: templates/js/translated/stock.js:688 +msgid "No stock location set" +msgstr "" + +#: templates/js/translated/stock.js:844 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:870 +#: templates/js/translated/stock.js:849 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:873 +#: templates/js/translated/stock.js:852 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:877 +#: templates/js/translated/stock.js:856 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:879 +#: templates/js/translated/stock.js:858 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:883 +#: templates/js/translated/stock.js:862 msgid "Stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:887 +#: templates/js/translated/stock.js:866 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:894 +#: templates/js/translated/stock.js:873 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:896 +#: templates/js/translated/stock.js:875 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:898 +#: templates/js/translated/stock.js:877 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:902 +#: templates/js/translated/stock.js:881 #: templates/js/translated/table_filters.js:161 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:956 +#: templates/js/translated/stock.js:935 msgid "Stocktake" msgstr "" -#: templates/js/translated/stock.js:1029 +#: templates/js/translated/stock.js:1008 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:1067 +#: templates/js/translated/stock.js:1046 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:1088 templates/js/translated/stock.js:1136 +#: templates/js/translated/stock.js:1067 templates/js/translated/stock.js:1115 msgid "items" msgstr "" -#: templates/js/translated/stock.js:1176 +#: templates/js/translated/stock.js:1155 msgid "batches" msgstr "" -#: templates/js/translated/stock.js:1203 +#: templates/js/translated/stock.js:1182 msgid "locations" msgstr "" -#: templates/js/translated/stock.js:1205 +#: templates/js/translated/stock.js:1184 msgid "Undefined location" msgstr "" -#: templates/js/translated/stock.js:1364 -msgid "Stock Status" -msgstr "" - -#: templates/js/translated/stock.js:1379 +#: templates/js/translated/stock.js:1358 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:1393 +#: templates/js/translated/stock.js:1372 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:1394 +#: templates/js/translated/stock.js:1373 msgid "Status code must be selected" msgstr "" -#: templates/js/translated/stock.js:1533 +#: templates/js/translated/stock.js:1512 msgid "Invalid date" msgstr "" -#: templates/js/translated/stock.js:1580 +#: templates/js/translated/stock.js:1559 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:1599 +#: templates/js/translated/stock.js:1578 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:1618 +#: templates/js/translated/stock.js:1597 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:1636 +#: templates/js/translated/stock.js:1615 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:1659 +#: templates/js/translated/stock.js:1638 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:1667 +#: templates/js/translated/stock.js:1646 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:1708 +#: templates/js/translated/stock.js:1687 msgid "Edit tracking entry" msgstr "" -#: templates/js/translated/stock.js:1709 +#: templates/js/translated/stock.js:1688 msgid "Delete tracking entry" msgstr "" -#: templates/js/translated/stock.js:1833 +#: templates/js/translated/stock.js:1812 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:1856 +#: templates/js/translated/stock.js:1835 msgid "Serial" msgstr "" -#: templates/js/translated/stock.js:1884 +#: templates/js/translated/stock.js:1863 msgid "Uninstall Stock Item" msgstr "" @@ -7808,7 +8034,7 @@ msgstr "" #: templates/js/translated/table_filters.js:103 #: templates/js/translated/table_filters.js:104 -#: templates/js/translated/table_filters.js:327 +#: templates/js/translated/table_filters.js:336 msgid "Include subcategories" msgstr "" @@ -7850,7 +8076,7 @@ msgid "Batch code" msgstr "" #: templates/js/translated/table_filters.js:141 -#: templates/js/translated/table_filters.js:317 +#: templates/js/translated/table_filters.js:326 msgid "Active parts" msgstr "" @@ -7935,89 +8161,89 @@ msgstr "" msgid "Build status" msgstr "" -#: templates/js/translated/table_filters.js:282 -#: templates/js/translated/table_filters.js:299 +#: templates/js/translated/table_filters.js:291 +#: templates/js/translated/table_filters.js:308 msgid "Order status" msgstr "" -#: templates/js/translated/table_filters.js:287 -#: templates/js/translated/table_filters.js:304 +#: templates/js/translated/table_filters.js:296 +#: templates/js/translated/table_filters.js:313 msgid "Outstanding" msgstr "" -#: templates/js/translated/table_filters.js:328 +#: templates/js/translated/table_filters.js:337 msgid "Include parts in subcategories" msgstr "" -#: templates/js/translated/table_filters.js:332 +#: templates/js/translated/table_filters.js:341 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:333 +#: templates/js/translated/table_filters.js:342 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:338 +#: templates/js/translated/table_filters.js:347 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:346 +#: templates/js/translated/table_filters.js:355 msgid "Stock available" msgstr "" -#: templates/js/translated/table_filters.js:362 +#: templates/js/translated/table_filters.js:371 msgid "Starred" msgstr "" -#: templates/js/translated/table_filters.js:374 +#: templates/js/translated/table_filters.js:383 msgid "Purchasable" msgstr "" -#: templates/js/translated/tables.js:357 +#: templates/js/translated/tables.js:366 msgid "Loading data" msgstr "" -#: templates/js/translated/tables.js:360 +#: templates/js/translated/tables.js:369 msgid "rows per page" msgstr "" -#: templates/js/translated/tables.js:363 +#: templates/js/translated/tables.js:372 msgid "Showing" msgstr "" -#: templates/js/translated/tables.js:363 +#: templates/js/translated/tables.js:372 msgid "to" msgstr "" -#: templates/js/translated/tables.js:363 +#: templates/js/translated/tables.js:372 msgid "of" msgstr "" -#: templates/js/translated/tables.js:363 +#: templates/js/translated/tables.js:372 msgid "rows" msgstr "" -#: templates/js/translated/tables.js:369 +#: templates/js/translated/tables.js:378 msgid "No matching results" msgstr "" -#: templates/js/translated/tables.js:372 +#: templates/js/translated/tables.js:381 msgid "Hide/Show pagination" msgstr "" -#: templates/js/translated/tables.js:375 +#: templates/js/translated/tables.js:384 msgid "Refresh" msgstr "" -#: templates/js/translated/tables.js:378 +#: templates/js/translated/tables.js:387 msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:381 +#: templates/js/translated/tables.js:390 msgid "Columns" msgstr "" -#: templates/js/translated/tables.js:384 +#: templates/js/translated/tables.js:393 msgid "All" msgstr "" @@ -8033,19 +8259,15 @@ msgstr "" msgid "Sell" msgstr "" -#: templates/navbar.html:87 users/models.py:39 +#: templates/navbar.html:83 users/models.py:39 msgid "Admin" msgstr "" -#: templates/navbar.html:89 +#: templates/navbar.html:85 msgid "Logout" msgstr "" -#: templates/navbar.html:91 templates/registration/login.html:89 -msgid "Login" -msgstr "" - -#: templates/navbar.html:114 +#: templates/navbar.html:106 msgid "About InvenTree" msgstr "" @@ -8053,68 +8275,12 @@ msgstr "" msgid "QR data not provided" msgstr "" -#: templates/registration/logged_out.html:50 -msgid "You have been logged out" +#: templates/registration/logged_out.html:6 +msgid "You were logged out successfully." msgstr "" -#: templates/registration/logged_out.html:51 -#: templates/registration/password_reset_complete.html:51 -#: templates/registration/password_reset_done.html:58 -msgid "Return to login screen" -msgstr "" - -#: templates/registration/login.html:64 -msgid "Enter username" -msgstr "" - -#: templates/registration/login.html:70 -msgid "Password" -msgstr "" - -#: templates/registration/login.html:83 -msgid "Username / password combination is incorrect" -msgstr "" - -#: templates/registration/login.html:95 -#: templates/registration/password_reset_form.html:51 -msgid "Forgotten your password?" -msgstr "" - -#: templates/registration/login.html:95 -msgid "Click here to reset" -msgstr "" - -#: templates/registration/password_reset_complete.html:50 -msgid "Password reset complete" -msgstr "" - -#: templates/registration/password_reset_confirm.html:52 -#: templates/registration/password_reset_confirm.html:56 -msgid "Change password" -msgstr "" - -#: templates/registration/password_reset_confirm.html:60 -msgid "The password reset link was invalid, possibly because it has already been used. Please request a new password reset." -msgstr "" - -#: templates/registration/password_reset_done.html:51 -msgid "We've emailed you instructions for setting your password, if an account exists with the email you entered. You should receive them shortly." -msgstr "" - -#: templates/registration/password_reset_done.html:54 -msgid "If you don't receive an email, please make sure you've entered the address you registered with, and check your spam folder." -msgstr "" - -#: templates/registration/password_reset_form.html:52 -msgid "Enter your email address below." -msgstr "" - -#: templates/registration/password_reset_form.html:53 -msgid "An email will be sent with password reset instructions." -msgstr "" - -#: templates/registration/password_reset_form.html:58 -msgid "Send email" +#: templates/registration/logged_out.html:8 +msgid "Log in again" msgstr "" #: templates/stats.html:13 @@ -8169,6 +8335,10 @@ msgstr "" msgid "Export Stock Information" msgstr "" +#: templates/stock_table.html:20 +msgid "New Stock Item" +msgstr "" + #: templates/stock_table.html:27 msgid "Barcode Actions" msgstr "" @@ -8249,35 +8419,35 @@ msgstr "" msgid "Important dates" msgstr "" -#: users/models.py:177 +#: users/models.py:182 msgid "Permission set" msgstr "" -#: users/models.py:185 +#: users/models.py:190 msgid "Group" msgstr "" -#: users/models.py:188 +#: users/models.py:193 msgid "View" msgstr "" -#: users/models.py:188 +#: users/models.py:193 msgid "Permission to view items" msgstr "" -#: users/models.py:190 +#: users/models.py:195 msgid "Permission to add items" msgstr "" -#: users/models.py:192 +#: users/models.py:197 msgid "Change" msgstr "" -#: users/models.py:192 +#: users/models.py:197 msgid "Permissions to edit items" msgstr "" -#: users/models.py:194 +#: users/models.py:199 msgid "Permission to delete items" msgstr "" diff --git a/InvenTree/locale/sv/LC_MESSAGES/django.po b/InvenTree/locale/sv/LC_MESSAGES/django.po index 3eb53ff69c..e93e9ae7e4 100644 --- a/InvenTree/locale/sv/LC_MESSAGES/django.po +++ b/InvenTree/locale/sv/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-09-12 13:15+0000\n" -"PO-Revision-Date: 2021-09-12 13:44\n" +"POT-Creation-Date: 2021-10-11 06:21+0000\n" +"PO-Revision-Date: 2021-10-11 06:28\n" "Last-Translator: \n" "Language-Team: Swedish\n" "Language: sv_SE\n" @@ -19,53 +19,66 @@ msgstr "" #: InvenTree/api.py:64 msgid "API endpoint not found" -msgstr "" +msgstr "API-slutpunkt hittades inte" #: InvenTree/api.py:110 msgid "No action specified" -msgstr "" +msgstr "Ingen åtgärd specificerad" #: InvenTree/api.py:124 msgid "No matching action found" -msgstr "" +msgstr "Ingen matchande åtgärd hittades" #: InvenTree/fields.py:100 msgid "Enter date" -msgstr "" +msgstr "Ange datum" -#: InvenTree/forms.py:111 build/forms.py:102 build/forms.py:123 -#: build/forms.py:145 build/forms.py:169 build/forms.py:185 build/forms.py:227 -#: order/forms.py:30 order/forms.py:41 order/forms.py:52 order/forms.py:63 -#: order/forms.py:74 part/forms.py:108 templates/js/translated/forms.js:564 +#: InvenTree/forms.py:116 build/forms.py:102 build/forms.py:123 +#: build/forms.py:145 build/forms.py:173 build/forms.py:215 order/forms.py:27 +#: order/forms.py:38 order/forms.py:49 order/forms.py:60 order/forms.py:71 +#: part/forms.py:108 templates/account/email_confirm.html:20 +#: templates/js/translated/forms.js:564 msgid "Confirm" -msgstr "" +msgstr "Bekräfta" -#: InvenTree/forms.py:127 +#: InvenTree/forms.py:132 msgid "Confirm delete" -msgstr "" +msgstr "Bekräfta borttagning" -#: InvenTree/forms.py:128 +#: InvenTree/forms.py:133 msgid "Confirm item deletion" -msgstr "" +msgstr "Bekräfta borttagning av artikel" -#: InvenTree/forms.py:160 templates/registration/login.html:76 +#: InvenTree/forms.py:164 msgid "Enter password" -msgstr "" +msgstr "Ange lösenord" -#: InvenTree/forms.py:161 +#: InvenTree/forms.py:165 msgid "Enter new password" -msgstr "" +msgstr "Ange nytt lösenord" -#: InvenTree/forms.py:168 +#: InvenTree/forms.py:172 msgid "Confirm password" -msgstr "" +msgstr "Bekräfta lösenord" -#: InvenTree/forms.py:169 +#: InvenTree/forms.py:173 msgid "Confirm new password" +msgstr "Bekräfta nytt lösenord" + +#: InvenTree/forms.py:205 +msgid "Select Category" +msgstr "Välj Kategori" + +#: InvenTree/forms.py:226 +msgid "E-mail (again)" msgstr "" -#: InvenTree/forms.py:201 -msgid "Select Category" +#: InvenTree/forms.py:230 +msgid "E-mail address confirmation" +msgstr "" + +#: InvenTree/forms.py:250 +msgid "You must type the same email each time." msgstr "" #: InvenTree/helpers.py:401 @@ -73,20 +86,20 @@ msgstr "" msgid "Duplicate serial: {n}" msgstr "" -#: InvenTree/helpers.py:408 order/models.py:315 order/models.py:430 -#: stock/views.py:1363 +#: InvenTree/helpers.py:408 order/models.py:315 order/models.py:437 +#: stock/views.py:1340 msgid "Invalid quantity provided" -msgstr "" +msgstr "Ogiltigt antal angivet" #: InvenTree/helpers.py:411 msgid "Empty serial number string" -msgstr "" +msgstr "Tom serienummersträng" #: InvenTree/helpers.py:433 InvenTree/helpers.py:436 InvenTree/helpers.py:439 #: InvenTree/helpers.py:464 #, python-brace-format msgid "Invalid group: {g}" -msgstr "" +msgstr "Ogiltig grupp: {g}" #: InvenTree/helpers.py:469 #, python-brace-format @@ -95,239 +108,236 @@ msgstr "" #: InvenTree/helpers.py:477 msgid "No serial numbers found" -msgstr "" +msgstr "Inga serienummer hittades" #: InvenTree/helpers.py:481 #, python-brace-format msgid "Number of unique serial number ({s}) must match quantity ({q})" msgstr "" -#: InvenTree/models.py:66 stock/models.py:1826 +#: InvenTree/models.py:66 stock/models.py:1823 msgid "Attachment" -msgstr "" +msgstr "Bilaga" #: InvenTree/models.py:67 msgid "Select file to attach" -msgstr "" +msgstr "Välj fil att bifoga" #: InvenTree/models.py:69 templates/js/translated/attachment.js:87 msgid "Comment" -msgstr "" +msgstr "Kommentar" #: InvenTree/models.py:69 msgid "File comment" -msgstr "" +msgstr "Fil kommentar" -#: InvenTree/models.py:75 InvenTree/models.py:76 common/models.py:993 -#: common/models.py:994 part/models.py:2051 +#: InvenTree/models.py:75 InvenTree/models.py:76 common/models.py:1055 +#: common/models.py:1056 part/models.py:2055 #: report/templates/report/inventree_test_report_base.html:91 -#: templates/js/translated/stock.js:1690 +#: templates/js/translated/stock.js:1669 msgid "User" -msgstr "" +msgstr "Användare" #: InvenTree/models.py:79 msgid "upload date" -msgstr "" +msgstr "uppladdningsdatum" #: InvenTree/models.py:99 msgid "Filename must not be empty" -msgstr "" +msgstr "Filnamnet får inte vara tomt" #: InvenTree/models.py:122 msgid "Invalid attachment directory" -msgstr "" +msgstr "Ogiltig katalog för bilaga" #: InvenTree/models.py:132 #, python-brace-format msgid "Filename contains illegal character '{c}'" -msgstr "" +msgstr "Filnamnet innehåller ogiltiga tecken '{c}'" #: InvenTree/models.py:135 msgid "Filename missing extension" -msgstr "" +msgstr "Filnamn saknar ändelse" #: InvenTree/models.py:142 msgid "Attachment with this filename already exists" -msgstr "" +msgstr "Det finns redan en bilaga med detta filnamn" #: InvenTree/models.py:149 msgid "Error renaming file" -msgstr "" +msgstr "Fel vid namnbyte av fil" #: InvenTree/models.py:184 msgid "Invalid choice" -msgstr "" +msgstr "Ogiltigt val" -#: InvenTree/models.py:200 InvenTree/models.py:201 company/models.py:414 -#: label/models.py:112 part/models.py:658 part/models.py:2212 +#: InvenTree/models.py:200 InvenTree/models.py:201 company/models.py:415 +#: label/models.py:112 part/models.py:659 part/models.py:2216 #: part/templates/part/part_base.html:241 report/models.py:181 -#: templates/InvenTree/search.html:137 templates/InvenTree/search.html:289 -#: templates/js/translated/company.js:636 templates/js/translated/part.js:466 -#: templates/js/translated/part.js:603 templates/js/translated/part.js:1130 -#: templates/js/translated/stock.js:1483 +#: templates/js/translated/company.js:637 templates/js/translated/part.js:477 +#: templates/js/translated/part.js:614 templates/js/translated/part.js:1141 +#: templates/js/translated/stock.js:1462 msgid "Name" -msgstr "" +msgstr "Namn" -#: InvenTree/models.py:207 build/models.py:187 -#: build/templates/build/detail.html:24 company/models.py:353 -#: company/models.py:569 company/templates/company/manufacturer_part.html:76 +#: InvenTree/models.py:207 build/models.py:189 +#: build/templates/build/detail.html:24 company/models.py:354 +#: company/models.py:570 company/templates/company/manufacturer_part.html:76 #: company/templates/company/supplier_part.html:75 label/models.py:119 -#: order/models.py:158 part/models.py:681 +#: order/models.py:158 part/models.py:682 #: part/templates/part/part_base.html:246 #: part/templates/part/set_category.html:14 report/models.py:194 #: report/models.py:551 report/models.py:590 #: report/templates/report/inventree_build_order_base.html:118 -#: templates/InvenTree/search.html:144 templates/InvenTree/search.html:224 -#: templates/InvenTree/search.html:296 #: templates/InvenTree/settings/header.html:9 -#: templates/js/translated/bom.js:230 templates/js/translated/build.js:891 -#: templates/js/translated/build.js:1179 templates/js/translated/company.js:344 -#: templates/js/translated/company.js:546 -#: templates/js/translated/company.js:834 templates/js/translated/order.js:341 -#: templates/js/translated/order.js:486 templates/js/translated/order.js:710 -#: templates/js/translated/part.js:525 templates/js/translated/part.js:713 -#: templates/js/translated/part.js:902 templates/js/translated/part.js:1142 -#: templates/js/translated/part.js:1210 templates/js/translated/stock.js:840 -#: templates/js/translated/stock.js:1495 templates/js/translated/stock.js:1540 +#: templates/js/translated/bom.js:249 templates/js/translated/build.js:1217 +#: templates/js/translated/build.js:1505 templates/js/translated/company.js:344 +#: templates/js/translated/company.js:547 +#: templates/js/translated/company.js:836 templates/js/translated/order.js:672 +#: templates/js/translated/order.js:832 templates/js/translated/order.js:1056 +#: templates/js/translated/part.js:536 templates/js/translated/part.js:724 +#: templates/js/translated/part.js:913 templates/js/translated/part.js:1153 +#: templates/js/translated/part.js:1221 templates/js/translated/stock.js:819 +#: templates/js/translated/stock.js:1474 templates/js/translated/stock.js:1519 msgid "Description" -msgstr "" +msgstr "Beskrivning" #: InvenTree/models.py:208 msgid "Description (optional)" -msgstr "" +msgstr "Beskrivning (valfritt)" #: InvenTree/models.py:216 msgid "parent" -msgstr "" +msgstr "överordnad" -#: InvenTree/serializers.py:55 part/models.py:2454 +#: InvenTree/serializers.py:55 part/models.py:2475 msgid "Must be a valid number" -msgstr "" +msgstr "Måste vara ett giltigt nummer" #: InvenTree/serializers.py:244 msgid "Filename" -msgstr "" - -#: InvenTree/settings.py:523 -msgid "German" -msgstr "" - -#: InvenTree/settings.py:524 -msgid "Greek" -msgstr "" - -#: InvenTree/settings.py:525 -msgid "English" -msgstr "" - -#: InvenTree/settings.py:526 -msgid "Spanish" -msgstr "" - -#: InvenTree/settings.py:527 -msgid "French" -msgstr "" - -#: InvenTree/settings.py:528 -msgid "Hebrew" -msgstr "" +msgstr "Filnamn" #: InvenTree/settings.py:529 -msgid "Italian" -msgstr "" +msgid "German" +msgstr "Tyska" #: InvenTree/settings.py:530 -msgid "Japanese" -msgstr "" +msgid "Greek" +msgstr "Grekiska" #: InvenTree/settings.py:531 -msgid "Korean" -msgstr "" +msgid "English" +msgstr "Engelska" #: InvenTree/settings.py:532 -msgid "Dutch" -msgstr "" +msgid "Spanish" +msgstr "Spanska" #: InvenTree/settings.py:533 -msgid "Norwegian" -msgstr "" +msgid "French" +msgstr "Franska" #: InvenTree/settings.py:534 -msgid "Polish" -msgstr "" +msgid "Hebrew" +msgstr "Hebreiska" #: InvenTree/settings.py:535 -msgid "Russian" -msgstr "" +msgid "Italian" +msgstr "Italienska" #: InvenTree/settings.py:536 -msgid "Swedish" -msgstr "" +msgid "Japanese" +msgstr "Japanska" #: InvenTree/settings.py:537 -msgid "Thai" -msgstr "" +msgid "Korean" +msgstr "Koreanska" #: InvenTree/settings.py:538 -msgid "Turkish" -msgstr "" +msgid "Dutch" +msgstr "Nederländska" #: InvenTree/settings.py:539 -msgid "Vietnamese" -msgstr "" +msgid "Norwegian" +msgstr "Norska" #: InvenTree/settings.py:540 +msgid "Polish" +msgstr "Polska" + +#: InvenTree/settings.py:541 +msgid "Russian" +msgstr "Ryska" + +#: InvenTree/settings.py:542 +msgid "Swedish" +msgstr "Svenska" + +#: InvenTree/settings.py:543 +msgid "Thai" +msgstr "Thailändska" + +#: InvenTree/settings.py:544 +msgid "Turkish" +msgstr "Turkiska" + +#: InvenTree/settings.py:545 +msgid "Vietnamese" +msgstr "Vietnamesiska" + +#: InvenTree/settings.py:546 msgid "Chinese" -msgstr "" +msgstr "Kinesiska" #: InvenTree/status.py:94 msgid "Background worker check failed" -msgstr "" +msgstr "Kontroll av bakgrundsarbetare misslyckades" #: InvenTree/status.py:98 msgid "Email backend not configured" -msgstr "" +msgstr "Backend för e-post är inte konfigurerad" #: InvenTree/status.py:101 msgid "InvenTree system health checks failed" -msgstr "" +msgstr "InvenTree systemhälsokontroll misslyckades" #: InvenTree/status_codes.py:104 InvenTree/status_codes.py:145 #: InvenTree/status_codes.py:314 msgid "Pending" -msgstr "" +msgstr "Väntar" #: InvenTree/status_codes.py:105 msgid "Placed" -msgstr "" +msgstr "Placerad" #: InvenTree/status_codes.py:106 InvenTree/status_codes.py:317 msgid "Complete" -msgstr "" +msgstr "Slutför" #: InvenTree/status_codes.py:107 InvenTree/status_codes.py:147 #: InvenTree/status_codes.py:316 msgid "Cancelled" -msgstr "" +msgstr "Avbruten" #: InvenTree/status_codes.py:108 InvenTree/status_codes.py:148 #: InvenTree/status_codes.py:190 msgid "Lost" -msgstr "" +msgstr "Förlorad" #: InvenTree/status_codes.py:109 InvenTree/status_codes.py:149 #: InvenTree/status_codes.py:192 msgid "Returned" -msgstr "" +msgstr "Återlämnad" #: InvenTree/status_codes.py:146 -#: order/templates/order/sales_order_base.html:126 +#: order/templates/order/sales_order_base.html:131 msgid "Shipped" -msgstr "" +msgstr "Skickad" #: InvenTree/status_codes.py:186 msgid "OK" -msgstr "" +msgstr "OK" #: InvenTree/status_codes.py:187 msgid "Attention needed" @@ -335,15 +345,15 @@ msgstr "" #: InvenTree/status_codes.py:188 msgid "Damaged" -msgstr "" +msgstr "Skadad" #: InvenTree/status_codes.py:189 msgid "Destroyed" -msgstr "" +msgstr "Förstörd" #: InvenTree/status_codes.py:191 msgid "Rejected" -msgstr "" +msgstr "Avvisad" #: InvenTree/status_codes.py:272 msgid "Legacy stock tracking entry" @@ -461,27 +471,27 @@ msgstr "" msgid "Overage must be an integer value or a percentage" msgstr "" -#: InvenTree/views.py:610 +#: InvenTree/views.py:616 msgid "Delete Item" msgstr "" -#: InvenTree/views.py:659 +#: InvenTree/views.py:665 msgid "Check box to confirm item deletion" msgstr "" -#: InvenTree/views.py:674 templates/InvenTree/settings/user.html:14 +#: InvenTree/views.py:680 templates/InvenTree/settings/user.html:18 msgid "Edit User Information" msgstr "" -#: InvenTree/views.py:685 templates/InvenTree/settings/user.html:18 +#: InvenTree/views.py:691 templates/InvenTree/settings/user.html:22 msgid "Set Password" msgstr "" -#: InvenTree/views.py:704 +#: InvenTree/views.py:710 msgid "Password fields must match" msgstr "" -#: InvenTree/views.py:910 templates/navbar.html:105 +#: InvenTree/views.py:954 templates/navbar.html:97 msgid "System Information" msgstr "" @@ -525,6 +535,10 @@ msgstr "" msgid "Barcode associated with StockItem" msgstr "" +#: build/api.py:213 +msgid "Matching build order does not exist" +msgstr "" + #: build/forms.py:37 msgid "Build Order reference" msgstr "" @@ -536,33 +550,28 @@ msgstr "" #: build/forms.py:42 build/templates/build/build_base.html:146 #: build/templates/build/detail.html:124 #: order/templates/order/order_base.html:124 -#: order/templates/order/sales_order_base.html:119 +#: order/templates/order/sales_order_base.html:124 #: report/templates/report/inventree_build_order_base.html:126 -#: templates/js/translated/build.js:962 templates/js/translated/order.js:358 -#: templates/js/translated/order.js:728 +#: templates/js/translated/build.js:1288 templates/js/translated/order.js:689 +#: templates/js/translated/order.js:1074 msgid "Target Date" msgstr "" -#: build/forms.py:43 build/models.py:277 +#: build/forms.py:43 build/models.py:279 msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/forms.py:48 build/forms.py:90 build/forms.py:266 build/models.py:1402 +#: build/forms.py:48 build/forms.py:90 build/models.py:1281 #: build/templates/build/allocation_card.html:23 -#: build/templates/build/auto_allocate.html:17 #: build/templates/build/build_base.html:133 -#: build/templates/build/detail.html:34 common/models.py:1025 +#: build/templates/build/detail.html:34 common/models.py:1087 #: company/forms.py:42 company/templates/company/supplier_part.html:226 -#: order/forms.py:120 order/forms.py:142 order/forms.py:159 order/models.py:712 -#: order/models.py:964 order/templates/order/order_wizard/match_parts.html:30 -#: order/templates/order/order_wizard/select_parts.html:34 -#: order/templates/order/sales_order_detail.html:201 -#: order/templates/order/sales_order_detail.html:208 -#: order/templates/order/sales_order_detail.html:293 -#: order/templates/order/sales_order_detail.html:365 part/forms.py:249 -#: part/forms.py:265 part/forms.py:281 part/models.py:2356 +#: order/forms.py:101 order/forms.py:123 order/models.py:720 +#: order/models.py:982 order/templates/order/order_wizard/match_parts.html:30 +#: order/templates/order/order_wizard/select_parts.html:34 part/forms.py:249 +#: part/forms.py:265 part/forms.py:281 part/models.py:2377 #: part/templates/part/bom_upload/match_parts.html:31 -#: part/templates/part/detail.html:973 part/templates/part/detail.html:1059 +#: part/templates/part/detail.html:944 part/templates/part/detail.html:1030 #: part/templates/part/part_pricing.html:16 #: report/templates/report/inventree_build_order_base.html:114 #: report/templates/report/inventree_po_report.html:91 @@ -570,14 +579,16 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:77 #: stock/forms.py:140 stock/templates/stock/item_base.html:269 #: stock/templates/stock/stock_adjust.html:18 -#: templates/js/translated/barcode.js:386 templates/js/translated/bom.js:245 -#: templates/js/translated/build.js:298 templates/js/translated/build.js:629 -#: templates/js/translated/build.js:1189 -#: templates/js/translated/model_renderers.js:59 -#: templates/js/translated/order.js:522 templates/js/translated/order.js:824 -#: templates/js/translated/part.js:1317 templates/js/translated/part.js:1440 -#: templates/js/translated/part.js:1518 templates/js/translated/stock.js:1675 -#: templates/js/translated/stock.js:1850 +#: templates/js/translated/barcode.js:386 templates/js/translated/bom.js:264 +#: templates/js/translated/build.js:314 templates/js/translated/build.js:638 +#: templates/js/translated/build.js:977 templates/js/translated/build.js:1515 +#: templates/js/translated/model_renderers.js:74 +#: templates/js/translated/order.js:868 templates/js/translated/order.js:1170 +#: templates/js/translated/order.js:1248 templates/js/translated/order.js:1255 +#: templates/js/translated/order.js:1344 templates/js/translated/order.js:1444 +#: templates/js/translated/part.js:1364 templates/js/translated/part.js:1487 +#: templates/js/translated/part.js:1565 templates/js/translated/stock.js:1654 +#: templates/js/translated/stock.js:1829 msgid "Quantity" msgstr "" @@ -589,7 +600,7 @@ msgstr "" msgid "Enter quantity for build output" msgstr "" -#: build/forms.py:95 order/forms.py:114 stock/forms.py:83 +#: build/forms.py:95 order/forms.py:95 stock/forms.py:83 msgid "Serial Numbers" msgstr "" @@ -609,246 +620,238 @@ msgstr "" msgid "Confirm unallocation of stock" msgstr "" -#: build/forms.py:169 -msgid "Confirm stock allocation" -msgstr "" - -#: build/forms.py:186 +#: build/forms.py:174 msgid "Mark build as complete" msgstr "" -#: build/forms.py:210 build/templates/build/auto_allocate.html:18 -#: order/serializers.py:216 order/serializers.py:275 stock/forms.py:280 +#: build/forms.py:198 order/serializers.py:217 order/serializers.py:284 +#: stock/forms.py:280 stock/serializers.py:553 #: stock/templates/stock/item_base.html:299 #: stock/templates/stock/stock_adjust.html:17 -#: templates/InvenTree/search.html:260 templates/js/translated/barcode.js:385 -#: templates/js/translated/barcode.js:555 templates/js/translated/build.js:283 -#: templates/js/translated/build.js:643 templates/js/translated/order.js:809 -#: templates/js/translated/part.js:174 templates/js/translated/stock.js:203 -#: templates/js/translated/stock.js:329 templates/js/translated/stock.js:942 -#: templates/js/translated/stock.js:1567 +#: templates/js/translated/barcode.js:385 +#: templates/js/translated/barcode.js:555 templates/js/translated/build.js:299 +#: templates/js/translated/build.js:650 templates/js/translated/order.js:347 +#: templates/js/translated/order.js:1155 templates/js/translated/order.js:1263 +#: templates/js/translated/order.js:1269 templates/js/translated/part.js:179 +#: templates/js/translated/stock.js:183 templates/js/translated/stock.js:921 +#: templates/js/translated/stock.js:1546 msgid "Location" msgstr "" -#: build/forms.py:211 +#: build/forms.py:199 msgid "Location of completed parts" msgstr "" -#: build/forms.py:215 build/templates/build/build_base.html:138 -#: build/templates/build/detail.html:62 order/models.py:555 -#: order/serializers.py:230 order/templates/order/receive_parts.html:24 -#: stock/templates/stock/item_base.html:422 templates/InvenTree/search.html:252 -#: templates/js/translated/barcode.js:141 templates/js/translated/build.js:925 -#: templates/js/translated/order.js:345 templates/js/translated/order.js:715 -#: templates/js/translated/stock.js:917 templates/js/translated/stock.js:1644 -#: templates/js/translated/stock.js:1866 +#: build/forms.py:203 build/templates/build/build_base.html:138 +#: build/templates/build/detail.html:62 order/models.py:563 +#: order/serializers.py:238 stock/templates/stock/item_base.html:422 +#: templates/js/translated/barcode.js:141 templates/js/translated/build.js:1251 +#: templates/js/translated/order.js:430 templates/js/translated/order.js:676 +#: templates/js/translated/order.js:1061 templates/js/translated/stock.js:896 +#: templates/js/translated/stock.js:1623 templates/js/translated/stock.js:1845 msgid "Status" msgstr "" -#: build/forms.py:216 +#: build/forms.py:204 msgid "Build output stock status" msgstr "" -#: build/forms.py:223 +#: build/forms.py:211 msgid "Confirm incomplete" msgstr "" -#: build/forms.py:224 +#: build/forms.py:212 msgid "Confirm completion with incomplete stock allocation" msgstr "" -#: build/forms.py:227 +#: build/forms.py:215 msgid "Confirm build completion" msgstr "" -#: build/forms.py:252 +#: build/forms.py:240 msgid "Confirm cancel" msgstr "" -#: build/forms.py:252 build/views.py:65 +#: build/forms.py:240 build/views.py:65 msgid "Confirm build cancellation" msgstr "" -#: build/forms.py:266 -msgid "Select quantity of stock to allocate" -msgstr "" - -#: build/models.py:113 +#: build/models.py:115 msgid "Invalid choice for parent build" msgstr "" -#: build/models.py:117 build/templates/build/build_base.html:9 +#: build/models.py:119 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:73 #: report/templates/report/inventree_build_order_base.html:106 -#: templates/js/translated/build.js:260 +#: templates/js/translated/build.js:276 msgid "Build Order" msgstr "" -#: build/models.py:118 build/templates/build/index.html:8 +#: build/models.py:120 build/templates/build/index.html:8 #: build/templates/build/index.html:15 #: order/templates/order/sales_order_detail.html:34 #: order/templates/order/so_navbar.html:19 #: order/templates/order/so_navbar.html:22 part/templates/part/navbar.html:50 #: part/templates/part/navbar.html:53 templates/InvenTree/index.html:229 -#: templates/InvenTree/search.html:185 -#: templates/InvenTree/settings/navbar.html:101 -#: templates/InvenTree/settings/navbar.html:103 users/models.py:44 +#: templates/InvenTree/search.html:171 +#: templates/InvenTree/settings/navbar.html:113 +#: templates/InvenTree/settings/navbar.html:115 users/models.py:44 msgid "Build Orders" msgstr "" -#: build/models.py:178 +#: build/models.py:180 msgid "Build Order Reference" msgstr "" -#: build/models.py:179 order/models.py:246 order/models.py:539 -#: order/models.py:719 order/templates/order/sales_order_detail.html:360 -#: part/models.py:2365 part/templates/part/bom_upload/match_parts.html:30 +#: build/models.py:181 order/models.py:246 order/models.py:547 +#: order/models.py:727 part/models.py:2386 +#: part/templates/part/bom_upload/match_parts.html:30 #: report/templates/report/inventree_po_report.html:92 #: report/templates/report/inventree_so_report.html:92 -#: templates/js/translated/bom.js:237 templates/js/translated/build.js:718 -#: templates/js/translated/build.js:1183 templates/js/translated/order.js:517 +#: templates/js/translated/bom.js:256 templates/js/translated/build.js:734 +#: templates/js/translated/build.js:1509 templates/js/translated/order.js:863 +#: templates/js/translated/order.js:1438 msgid "Reference" msgstr "" -#: build/models.py:190 +#: build/models.py:192 msgid "Brief description of the build" msgstr "" -#: build/models.py:199 build/templates/build/build_base.html:163 +#: build/models.py:201 build/templates/build/build_base.html:163 #: build/templates/build/detail.html:80 msgid "Parent Build" msgstr "" -#: build/models.py:200 +#: build/models.py:202 msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:205 build/templates/build/auto_allocate.html:16 -#: build/templates/build/build_base.html:128 -#: build/templates/build/detail.html:29 company/models.py:704 -#: order/models.py:772 order/models.py:837 -#: order/templates/order/order_wizard/select_parts.html:32 -#: order/templates/order/receive_parts.html:19 -#: order/templates/order/sales_order_detail.html:345 part/models.py:297 -#: part/models.py:1996 part/models.py:2012 part/models.py:2031 -#: part/models.py:2049 part/models.py:2128 part/models.py:2250 -#: part/models.py:2340 part/templates/part/detail.html:199 +#: build/models.py:207 build/templates/build/build_base.html:128 +#: build/templates/build/detail.html:29 company/models.py:705 +#: order/models.py:780 order/models.py:851 +#: order/templates/order/order_wizard/select_parts.html:32 part/models.py:298 +#: part/models.py:2000 part/models.py:2016 part/models.py:2035 +#: part/models.py:2053 part/models.py:2132 part/models.py:2254 +#: part/models.py:2361 part/templates/part/detail.html:199 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/set_category.html:13 #: report/templates/report/inventree_build_order_base.html:110 #: report/templates/report/inventree_po_report.html:90 #: report/templates/report/inventree_so_report.html:90 -#: templates/InvenTree/search.html:112 templates/InvenTree/search.html:210 -#: templates/js/translated/barcode.js:384 templates/js/translated/bom.js:203 -#: templates/js/translated/build.js:609 templates/js/translated/build.js:896 -#: templates/js/translated/build.js:1156 templates/js/translated/company.js:487 -#: templates/js/translated/company.js:743 templates/js/translated/order.js:471 -#: templates/js/translated/part.js:694 templates/js/translated/part.js:864 -#: templates/js/translated/stock.js:201 templates/js/translated/stock.js:797 -#: templates/js/translated/stock.js:1838 +#: templates/InvenTree/search.html:112 templates/js/translated/barcode.js:384 +#: templates/js/translated/bom.js:222 templates/js/translated/build.js:611 +#: templates/js/translated/build.js:974 templates/js/translated/build.js:1222 +#: templates/js/translated/build.js:1482 templates/js/translated/company.js:488 +#: templates/js/translated/company.js:745 templates/js/translated/order.js:425 +#: templates/js/translated/order.js:817 templates/js/translated/order.js:1422 +#: templates/js/translated/part.js:705 templates/js/translated/part.js:875 +#: templates/js/translated/stock.js:181 templates/js/translated/stock.js:776 +#: templates/js/translated/stock.js:1817 msgid "Part" msgstr "" -#: build/models.py:213 +#: build/models.py:215 msgid "Select part to build" msgstr "" -#: build/models.py:218 +#: build/models.py:220 msgid "Sales Order Reference" msgstr "" -#: build/models.py:222 +#: build/models.py:224 msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:227 +#: build/models.py:229 templates/js/translated/build.js:962 msgid "Source Location" msgstr "" -#: build/models.py:231 +#: build/models.py:233 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "" -#: build/models.py:236 +#: build/models.py:238 msgid "Destination Location" msgstr "" -#: build/models.py:240 +#: build/models.py:242 msgid "Select location where the completed items will be stored" msgstr "" -#: build/models.py:244 +#: build/models.py:246 msgid "Build Quantity" msgstr "" -#: build/models.py:247 +#: build/models.py:249 msgid "Number of stock items to build" msgstr "" -#: build/models.py:251 +#: build/models.py:253 msgid "Completed items" msgstr "" -#: build/models.py:253 +#: build/models.py:255 msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:257 part/templates/part/part_base.html:198 +#: build/models.py:259 part/templates/part/part_base.html:198 msgid "Build Status" msgstr "" -#: build/models.py:261 +#: build/models.py:263 msgid "Build status code" msgstr "" -#: build/models.py:265 stock/models.py:513 +#: build/models.py:267 stock/models.py:513 msgid "Batch Code" msgstr "" -#: build/models.py:269 +#: build/models.py:271 msgid "Batch code for this build output" msgstr "" -#: build/models.py:272 order/models.py:162 part/models.py:853 -#: part/templates/part/part_base.html:272 templates/js/translated/order.js:723 +#: build/models.py:274 order/models.py:162 part/models.py:854 +#: part/templates/part/part_base.html:272 templates/js/translated/order.js:1069 msgid "Creation Date" msgstr "" -#: build/models.py:276 order/models.py:561 +#: build/models.py:278 order/models.py:569 msgid "Target completion date" msgstr "" -#: build/models.py:280 order/models.py:288 templates/js/translated/build.js:967 +#: build/models.py:282 order/models.py:288 +#: templates/js/translated/build.js:1293 msgid "Completion Date" msgstr "" -#: build/models.py:286 +#: build/models.py:288 msgid "completed by" msgstr "" -#: build/models.py:294 templates/js/translated/build.js:938 +#: build/models.py:296 templates/js/translated/build.js:1264 msgid "Issued by" msgstr "" -#: build/models.py:295 +#: build/models.py:297 msgid "User who issued this build order" msgstr "" -#: build/models.py:303 build/templates/build/build_base.html:184 +#: build/models.py:305 build/templates/build/build_base.html:184 #: build/templates/build/detail.html:108 order/models.py:176 #: order/templates/order/order_base.html:138 -#: order/templates/order/sales_order_base.html:140 part/models.py:857 +#: order/templates/order/sales_order_base.html:145 part/models.py:858 #: report/templates/report/inventree_build_order_base.html:159 -#: templates/js/translated/build.js:950 +#: templates/js/translated/build.js:1276 msgid "Responsible" msgstr "" -#: build/models.py:304 +#: build/models.py:306 msgid "User responsible for this build order" msgstr "" -#: build/models.py:309 build/templates/build/detail.html:94 +#: build/models.py:311 build/templates/build/detail.html:94 #: company/templates/company/manufacturer_part.html:83 #: company/templates/company/supplier_part.html:82 #: part/templates/part/part_base.html:266 stock/models.py:507 @@ -856,140 +859,157 @@ msgstr "" msgid "External Link" msgstr "" -#: build/models.py:310 part/models.py:715 stock/models.py:509 +#: build/models.py:312 part/models.py:716 stock/models.py:509 msgid "Link to external URL" msgstr "" -#: build/models.py:314 build/templates/build/navbar.html:52 -#: company/models.py:141 company/models.py:576 +#: build/models.py:316 build/templates/build/navbar.html:52 +#: company/models.py:142 company/models.py:577 #: company/templates/company/navbar.html:69 #: company/templates/company/navbar.html:72 order/models.py:180 -#: order/models.py:721 order/templates/order/po_navbar.html:38 +#: order/models.py:729 order/templates/order/po_navbar.html:38 #: order/templates/order/po_navbar.html:41 -#: order/templates/order/sales_order_detail.html:440 #: order/templates/order/so_navbar.html:33 -#: order/templates/order/so_navbar.html:36 part/models.py:842 +#: order/templates/order/so_navbar.html:36 part/models.py:843 #: part/templates/part/detail.html:105 part/templates/part/navbar.html:120 #: part/templates/part/navbar.html:123 #: report/templates/report/inventree_build_order_base.html:173 #: stock/forms.py:138 stock/forms.py:250 stock/forms.py:282 stock/models.py:579 -#: stock/models.py:1726 stock/models.py:1832 +#: stock/models.py:1723 stock/models.py:1829 stock/serializers.py:451 #: stock/templates/stock/navbar.html:57 templates/js/translated/barcode.js:59 -#: templates/js/translated/bom.js:385 templates/js/translated/company.js:839 -#: templates/js/translated/order.js:604 templates/js/translated/stock.js:338 -#: templates/js/translated/stock.js:580 templates/js/translated/stock.js:1061 +#: templates/js/translated/bom.js:406 templates/js/translated/company.js:841 +#: templates/js/translated/order.js:950 templates/js/translated/order.js:1540 +#: templates/js/translated/stock.js:559 templates/js/translated/stock.js:1040 msgid "Notes" msgstr "" -#: build/models.py:315 +#: build/models.py:317 msgid "Extra build notes" msgstr "" -#: build/models.py:792 +#: build/models.py:714 msgid "No build output specified" msgstr "" -#: build/models.py:795 +#: build/models.py:717 msgid "Build output is already completed" msgstr "" -#: build/models.py:798 +#: build/models.py:720 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:1208 -msgid "BuildItem must be unique for build, stock_item and install_into" -msgstr "" - -#: build/models.py:1233 +#: build/models.py:1102 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1237 +#: build/models.py:1111 #, python-brace-format -msgid "Allocated quantity ({n}) must not exceed available quantity ({q})" +msgid "Allocated quantity ({q}) must not execed available stock quantity ({a})" msgstr "" -#: build/models.py:1244 order/models.py:938 -msgid "StockItem is over-allocated" +#: build/models.py:1121 +msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1248 order/models.py:941 +#: build/models.py:1127 order/models.py:955 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1252 +#: build/models.py:1133 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1312 -#, python-brace-format -msgid "Selected stock item not found in BOM for part '{p}'" +#: build/models.py:1191 +msgid "Selected stock item not found in BOM" msgstr "" -#: build/models.py:1372 stock/templates/stock/item_base.html:331 -#: templates/InvenTree/search.html:183 templates/js/translated/build.js:869 +#: build/models.py:1251 stock/templates/stock/item_base.html:331 +#: templates/InvenTree/search.html:169 templates/js/translated/build.js:1195 #: templates/navbar.html:35 msgid "Build" msgstr "" -#: build/models.py:1373 +#: build/models.py:1252 msgid "Build to allocate parts" msgstr "" -#: build/models.py:1389 stock/templates/stock/item_base.html:8 +#: build/models.py:1268 build/serializers.py:151 +#: stock/templates/stock/item_base.html:8 #: stock/templates/stock/item_base.html:31 #: stock/templates/stock/item_base.html:353 #: stock/templates/stock/stock_adjust.html:16 -#: templates/js/translated/build.js:271 templates/js/translated/build.js:276 -#: templates/js/translated/build.js:1012 templates/js/translated/order.js:797 -#: templates/js/translated/order.js:802 templates/js/translated/stock.js:1626 +#: templates/js/translated/build.js:287 templates/js/translated/build.js:292 +#: templates/js/translated/build.js:976 templates/js/translated/build.js:1338 +#: templates/js/translated/order.js:1143 templates/js/translated/order.js:1148 +#: templates/js/translated/stock.js:1605 msgid "Stock Item" msgstr "" -#: build/models.py:1390 +#: build/models.py:1269 msgid "Source stock item" msgstr "" -#: build/models.py:1403 +#: build/models.py:1282 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1411 +#: build/models.py:1290 msgid "Install into" msgstr "" -#: build/models.py:1412 +#: build/models.py:1291 msgid "Destination stock item" msgstr "" +#: build/serializers.py:133 part/models.py:2501 +msgid "BOM Item" +msgstr "" + +#: build/serializers.py:142 +msgid "bom_item.part must point to the same part as the build order" +msgstr "" + +#: build/serializers.py:157 +msgid "Item must be in stock" +msgstr "" + +#: build/serializers.py:171 order/models.py:313 order/serializers.py:231 +#: stock/models.py:351 stock/models.py:1072 +msgid "Quantity must be greater than zero" +msgstr "" + +#: build/serializers.py:180 +msgid "Build Output" +msgstr "" + +#: build/serializers.py:213 +#, python-brace-format +msgid "Available quantity ({q}) exceeded" +msgstr "" + +#: build/serializers.py:219 +msgid "Build output must be specified for allocation of tracked parts" +msgstr "" + +#: build/serializers.py:226 +msgid "Build output cannot be specified for allocation of untracked parts" +msgstr "" + +#: build/serializers.py:254 +msgid "Allocation items must be provided" +msgstr "" + #: build/templates/build/allocation_card.html:21 #: build/templates/build/complete_output.html:46 -#: order/templates/order/sales_order_detail.html:206 -#: order/templates/order/sales_order_detail.html:291 #: report/templates/report/inventree_test_report_base.html:75 #: stock/models.py:501 stock/templates/stock/item_base.html:251 -#: templates/js/translated/build.js:627 -#: templates/js/translated/model_renderers.js:57 +#: templates/js/translated/build.js:636 +#: templates/js/translated/model_renderers.js:72 +#: templates/js/translated/order.js:1253 templates/js/translated/order.js:1342 msgid "Serial Number" msgstr "" -#: build/templates/build/auto_allocate.html:9 -msgid "Automatically Allocate Stock" -msgstr "" - -#: build/templates/build/auto_allocate.html:10 -msgid "The following stock items will be allocated to the specified build output" -msgstr "" - -#: build/templates/build/auto_allocate.html:37 -msgid "No stock items found that can be automatically allocated to this build" -msgstr "" - -#: build/templates/build/auto_allocate.html:39 -msgid "Stock items will have to be manually allocated" -msgstr "" - #: build/templates/build/build_base.html:18 #, python-format msgid "This Build Order is allocated to Sales Order %(link)s" @@ -1033,10 +1053,10 @@ msgstr "" #: order/templates/order/order_base.html:32 #: order/templates/order/order_base.html:86 #: order/templates/order/sales_order_base.html:43 -#: order/templates/order/sales_order_base.html:88 +#: order/templates/order/sales_order_base.html:93 #: templates/js/translated/table_filters.js:272 -#: templates/js/translated/table_filters.js:291 -#: templates/js/translated/table_filters.js:308 +#: templates/js/translated/table_filters.js:300 +#: templates/js/translated/table_filters.js:317 msgid "Overdue" msgstr "" @@ -1086,14 +1106,14 @@ msgid "Progress" msgstr "" #: build/templates/build/build_base.html:170 -#: build/templates/build/detail.html:87 order/models.py:835 +#: build/templates/build/detail.html:87 order/models.py:848 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:35 #: order/templates/order/sales_order_ship.html:25 #: report/templates/report/inventree_build_order_base.html:136 #: report/templates/report/inventree_so_report.html:77 #: stock/templates/stock/item_base.html:293 -#: templates/js/translated/order.js:670 +#: templates/js/translated/order.js:1016 msgid "Sales Order" msgstr "" @@ -1171,28 +1191,6 @@ msgstr "" msgid "The following items will be created" msgstr "" -#: build/templates/build/create_build_item.html:7 -msgid "Select a stock item to allocate to the selected build output" -msgstr "" - -#: build/templates/build/create_build_item.html:11 -#, python-format -msgid "The allocated stock will be installed into the following build output:
%(output)s" -msgstr "" - -#: build/templates/build/create_build_item.html:17 -#, python-format -msgid "No stock available for %(part)s" -msgstr "" - -#: build/templates/build/delete_build_item.html:8 -msgid "Are you sure you want to unallocate this stock?" -msgstr "" - -#: build/templates/build/delete_build_item.html:11 -msgid "The selected stock will be unallocated from the build output" -msgstr "" - #: build/templates/build/detail.html:38 msgid "Stock Source" msgstr "" @@ -1201,9 +1199,8 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/forms.py:88 order/models.py:794 -#: order/templates/order/receive_parts.html:25 stock/forms.py:134 -#: templates/js/translated/order.js:593 +#: build/templates/build/detail.html:49 order/models.py:802 stock/forms.py:134 +#: templates/js/translated/order.js:431 templates/js/translated/order.js:939 msgid "Destination" msgstr "" @@ -1213,7 +1210,7 @@ msgstr "" #: build/templates/build/detail.html:73 #: stock/templates/stock/item_base.html:317 -#: templates/js/translated/stock.js:931 templates/js/translated/stock.js:1873 +#: templates/js/translated/stock.js:910 templates/js/translated/stock.js:1852 #: templates/js/translated/table_filters.js:129 #: templates/js/translated/table_filters.js:211 msgid "Batch" @@ -1221,8 +1218,8 @@ msgstr "" #: build/templates/build/detail.html:119 #: order/templates/order/order_base.html:111 -#: order/templates/order/sales_order_base.html:113 -#: templates/js/translated/build.js:933 +#: order/templates/order/sales_order_base.html:118 +#: templates/js/translated/build.js:1259 msgid "Created" msgstr "" @@ -1230,7 +1227,8 @@ msgstr "" msgid "No target date set" msgstr "" -#: build/templates/build/detail.html:135 templates/js/translated/build.js:911 +#: build/templates/build/detail.html:135 templates/js/translated/build.js:1237 +#: templates/js/translated/table_filters.js:282 msgid "Completed" msgstr "" @@ -1250,15 +1248,16 @@ msgstr "" msgid "Allocate stock to build" msgstr "" -#: build/templates/build/detail.html:173 -msgid "Auto Allocate" +#: build/templates/build/detail.html:173 build/templates/build/navbar.html:20 +#: build/templates/build/navbar.html:23 +msgid "Allocate Stock" msgstr "" -#: build/templates/build/detail.html:175 templates/js/translated/build.js:801 +#: build/templates/build/detail.html:175 templates/js/translated/build.js:817 msgid "Unallocate stock" msgstr "" -#: build/templates/build/detail.html:176 build/views.py:318 build/views.py:638 +#: build/templates/build/detail.html:176 build/views.py:257 msgid "Unallocate Stock" msgstr "" @@ -1268,7 +1267,7 @@ msgstr "" #: build/templates/build/detail.html:180 #: company/templates/company/detail.html:32 -#: company/templates/company/detail.html:72 order/views.py:679 +#: company/templates/company/detail.html:72 order/views.py:509 #: part/templates/part/category.html:140 msgid "Order Parts" msgstr "" @@ -1282,38 +1281,42 @@ msgid "Untracked stock has not been fully allocated for this Build Order" msgstr "" #: build/templates/build/detail.html:197 +msgid "Allocate selected items" +msgstr "" + +#: build/templates/build/detail.html:209 msgid "This Build Order does not have any associated untracked BOM items" msgstr "" -#: build/templates/build/detail.html:206 +#: build/templates/build/detail.html:218 msgid "Incomplete Build Outputs" msgstr "" -#: build/templates/build/detail.html:211 +#: build/templates/build/detail.html:223 msgid "Create new build output" msgstr "" -#: build/templates/build/detail.html:212 +#: build/templates/build/detail.html:224 msgid "Create New Output" msgstr "" -#: build/templates/build/detail.html:225 +#: build/templates/build/detail.html:237 msgid "Create a new build output" msgstr "" -#: build/templates/build/detail.html:226 +#: build/templates/build/detail.html:238 msgid "No incomplete build outputs remain." msgstr "" -#: build/templates/build/detail.html:227 +#: build/templates/build/detail.html:239 msgid "Create a new build output using the button above" msgstr "" -#: build/templates/build/detail.html:235 +#: build/templates/build/detail.html:247 msgid "Completed Build Outputs" msgstr "" -#: build/templates/build/detail.html:246 build/templates/build/navbar.html:42 +#: build/templates/build/detail.html:258 build/templates/build/navbar.html:42 #: build/templates/build/navbar.html:45 order/templates/order/po_navbar.html:35 #: order/templates/order/sales_order_detail.html:43 #: order/templates/order/so_navbar.html:29 part/templates/part/detail.html:173 @@ -1323,15 +1326,15 @@ msgstr "" msgid "Attachments" msgstr "" -#: build/templates/build/detail.html:257 +#: build/templates/build/detail.html:269 msgid "Build Notes" msgstr "" -#: build/templates/build/detail.html:261 build/templates/build/detail.html:398 +#: build/templates/build/detail.html:273 build/templates/build/detail.html:414 #: company/templates/company/detail.html:169 #: company/templates/company/detail.html:196 -#: order/templates/order/purchase_order_detail.html:62 -#: order/templates/order/purchase_order_detail.html:95 +#: order/templates/order/purchase_order_detail.html:71 +#: order/templates/order/purchase_order_detail.html:104 #: order/templates/order/sales_order_detail.html:58 #: order/templates/order/sales_order_detail.html:85 #: part/templates/part/detail.html:109 stock/templates/stock/item.html:103 @@ -1339,39 +1342,48 @@ msgstr "" msgid "Edit Notes" msgstr "" -#: build/templates/build/detail.html:357 +#: build/templates/build/detail.html:373 #: order/templates/order/po_attachments.html:79 -#: order/templates/order/purchase_order_detail.html:157 +#: order/templates/order/purchase_order_detail.html:166 #: order/templates/order/sales_order_detail.html:146 -#: part/templates/part/detail.html:920 stock/templates/stock/item.html:253 +#: part/templates/part/detail.html:891 stock/templates/stock/item.html:253 #: templates/attachment_table.html:6 msgid "Add Attachment" msgstr "" -#: build/templates/build/detail.html:376 +#: build/templates/build/detail.html:392 #: order/templates/order/po_attachments.html:51 -#: order/templates/order/purchase_order_detail.html:129 +#: order/templates/order/purchase_order_detail.html:138 #: order/templates/order/sales_order_detail.html:119 -#: part/templates/part/detail.html:874 stock/templates/stock/item.html:221 +#: part/templates/part/detail.html:845 stock/templates/stock/item.html:221 msgid "Edit Attachment" msgstr "" -#: build/templates/build/detail.html:383 +#: build/templates/build/detail.html:399 #: order/templates/order/po_attachments.html:58 -#: order/templates/order/purchase_order_detail.html:136 +#: order/templates/order/purchase_order_detail.html:145 #: order/templates/order/sales_order_detail.html:125 -#: part/templates/part/detail.html:883 stock/templates/stock/item.html:230 +#: part/templates/part/detail.html:854 stock/templates/stock/item.html:230 +#: templates/js/translated/order.js:1230 msgid "Confirm Delete Operation" msgstr "" -#: build/templates/build/detail.html:384 +#: build/templates/build/detail.html:400 #: order/templates/order/po_attachments.html:59 -#: order/templates/order/purchase_order_detail.html:137 +#: order/templates/order/purchase_order_detail.html:146 #: order/templates/order/sales_order_detail.html:126 -#: part/templates/part/detail.html:884 stock/templates/stock/item.html:231 +#: part/templates/part/detail.html:855 stock/templates/stock/item.html:231 msgid "Delete Attachment" msgstr "" +#: build/templates/build/detail.html:443 +msgid "Allocation Complete" +msgstr "" + +#: build/templates/build/detail.html:444 +msgid "All untracked stock items have been allocated" +msgstr "" + #: build/templates/build/edit_build_item.html:7 msgid "Alter the quantity of stock allocated to the build output" msgstr "" @@ -1401,15 +1413,10 @@ msgid "Build Order Details" msgstr "" #: build/templates/build/navbar.html:15 order/templates/order/po_navbar.html:15 -#: templates/js/translated/stock.js:1555 +#: templates/js/translated/stock.js:1534 msgid "Details" msgstr "" -#: build/templates/build/navbar.html:20 build/templates/build/navbar.html:23 -#: build/views.py:90 -msgid "Allocate Stock" -msgstr "" - #: build/templates/build/navbar.html:28 build/templates/build/navbar.html:31 msgid "Build Outputs" msgstr "" @@ -1434,120 +1441,82 @@ msgstr "" msgid "Build was cancelled" msgstr "" -#: build/views.py:137 -msgid "Allocated stock to build output" -msgstr "" - -#: build/views.py:149 +#: build/views.py:88 msgid "Create Build Output" msgstr "" -#: build/views.py:167 +#: build/views.py:106 msgid "Maximum output quantity is " msgstr "" -#: build/views.py:183 stock/views.py:1389 +#: build/views.py:122 stock/views.py:1366 msgid "Serial numbers already exist" msgstr "" -#: build/views.py:192 +#: build/views.py:131 msgid "Serial numbers required for trackable build output" msgstr "" -#: build/views.py:258 +#: build/views.py:197 msgid "Delete Build Output" msgstr "" -#: build/views.py:279 build/views.py:369 +#: build/views.py:218 build/views.py:308 msgid "Confirm unallocation of build stock" msgstr "" -#: build/views.py:280 build/views.py:370 stock/views.py:404 +#: build/views.py:219 build/views.py:309 stock/views.py:381 msgid "Check the confirmation box" msgstr "" -#: build/views.py:292 +#: build/views.py:231 msgid "Build output does not match build" msgstr "" -#: build/views.py:294 build/views.py:495 +#: build/views.py:233 build/views.py:434 msgid "Build output must be specified" msgstr "" -#: build/views.py:306 +#: build/views.py:245 msgid "Build output deleted" msgstr "" -#: build/views.py:404 +#: build/views.py:343 msgid "Complete Build Order" msgstr "" -#: build/views.py:410 +#: build/views.py:349 msgid "Build order cannot be completed - incomplete outputs remain" msgstr "" -#: build/views.py:421 +#: build/views.py:360 msgid "Completed build order" msgstr "" -#: build/views.py:437 +#: build/views.py:376 msgid "Complete Build Output" msgstr "" -#: build/views.py:479 +#: build/views.py:418 msgid "Invalid stock status value selected" msgstr "" -#: build/views.py:486 +#: build/views.py:425 msgid "Quantity to complete cannot exceed build output quantity" msgstr "" -#: build/views.py:492 +#: build/views.py:431 msgid "Confirm completion of incomplete build" msgstr "" -#: build/views.py:591 +#: build/views.py:530 msgid "Build output completed" msgstr "" -#: build/views.py:628 +#: build/views.py:567 msgid "Delete Build Order" msgstr "" -#: build/views.py:643 -msgid "Removed parts from build allocation" -msgstr "" - -#: build/views.py:655 -msgid "Allocate stock to build output" -msgstr "" - -#: build/views.py:698 -msgid "Item must be currently in stock" -msgstr "" - -#: build/views.py:704 -msgid "Stock item is over-allocated" -msgstr "" - -#: build/views.py:705 templates/js/translated/bom.js:269 -#: templates/js/translated/build.js:728 templates/js/translated/build.js:1019 -#: templates/js/translated/build.js:1196 -msgid "Available" -msgstr "" - -#: build/views.py:707 -msgid "Stock item must be selected" -msgstr "" - -#: build/views.py:870 -msgid "Edit Stock Allocation" -msgstr "" - -#: build/views.py:874 -msgid "Updated Build Item" -msgstr "" - #: common/files.py:67 msgid "Unsupported file format: {ext.upper()}" msgstr "" @@ -1585,7 +1554,7 @@ msgstr "" msgid "Select {name} file to upload" msgstr "" -#: common/models.py:308 common/models.py:839 common/models.py:986 +#: common/models.py:308 common/models.py:887 common/models.py:1048 msgid "Settings key (must be unique - case insensitive" msgstr "" @@ -1625,7 +1594,7 @@ msgstr "" msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:522 company/models.py:99 company/models.py:100 +#: common/models.py:522 company/models.py:100 company/models.py:101 msgid "Company name" msgstr "" @@ -1721,9 +1690,9 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:603 part/models.py:2252 report/models.py:187 +#: common/models.py:603 part/models.py:2256 report/models.py:187 #: stock/forms.py:224 templates/js/translated/table_filters.js:38 -#: templates/js/translated/table_filters.js:342 +#: templates/js/translated/table_filters.js:351 msgid "Template" msgstr "" @@ -1731,9 +1700,9 @@ msgstr "" msgid "Parts are templates by default" msgstr "" -#: common/models.py:610 part/models.py:805 +#: common/models.py:610 part/models.py:806 #: templates/js/translated/table_filters.js:146 -#: templates/js/translated/table_filters.js:354 +#: templates/js/translated/table_filters.js:363 msgid "Assembly" msgstr "" @@ -1741,8 +1710,8 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:617 part/models.py:811 -#: templates/js/translated/table_filters.js:358 +#: common/models.py:617 part/models.py:812 +#: templates/js/translated/table_filters.js:367 msgid "Component" msgstr "" @@ -1750,7 +1719,7 @@ msgstr "" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:624 part/models.py:822 +#: common/models.py:624 part/models.py:823 msgid "Purchaseable" msgstr "" @@ -1758,8 +1727,8 @@ msgstr "" msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:631 part/models.py:827 -#: templates/js/translated/table_filters.js:366 +#: common/models.py:631 part/models.py:828 +#: templates/js/translated/table_filters.js:375 msgid "Salable" msgstr "" @@ -1767,9 +1736,9 @@ msgstr "" msgid "Parts are salable by default" msgstr "" -#: common/models.py:638 part/models.py:817 +#: common/models.py:638 part/models.py:818 #: templates/js/translated/table_filters.js:46 -#: templates/js/translated/table_filters.js:370 +#: templates/js/translated/table_filters.js:379 msgid "Trackable" msgstr "" @@ -1777,7 +1746,7 @@ msgstr "" msgid "Parts are trackable by default" msgstr "" -#: common/models.py:645 part/models.py:837 +#: common/models.py:645 part/models.py:838 #: part/templates/part/part_base.html:66 #: templates/js/translated/table_filters.js:42 msgid "Virtual" @@ -1787,392 +1756,464 @@ msgstr "" msgid "Parts are virtual by default" msgstr "" -#: common/models.py:653 -msgid "Show Quantity in Forms" -msgstr "" - -#: common/models.py:654 -msgid "Display available part quantity in some forms" -msgstr "" - -#: common/models.py:660 +#: common/models.py:652 msgid "Show Import in Views" msgstr "" -#: common/models.py:661 +#: common/models.py:653 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:667 +#: common/models.py:659 msgid "Show Price in Forms" msgstr "" -#: common/models.py:668 +#: common/models.py:660 msgid "Display part price in some forms" msgstr "" -#: common/models.py:674 +#: common/models.py:671 +msgid "Show Price in BOM" +msgstr "" + +#: common/models.py:672 +msgid "Include pricing information in BOM tables" +msgstr "" + +#: common/models.py:678 msgid "Show related parts" msgstr "" -#: common/models.py:675 +#: common/models.py:679 msgid "Display related parts for a part" msgstr "" -#: common/models.py:681 +#: common/models.py:685 msgid "Create initial stock" msgstr "" -#: common/models.py:682 +#: common/models.py:686 msgid "Create initial stock on part creation" msgstr "" -#: common/models.py:688 +#: common/models.py:692 msgid "Internal Prices" msgstr "" -#: common/models.py:689 +#: common/models.py:693 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:695 +#: common/models.py:699 msgid "Internal Price as BOM-Price" msgstr "" -#: common/models.py:696 +#: common/models.py:700 msgid "Use the internal price (if set) in BOM-price calculations" msgstr "" -#: common/models.py:702 templates/stats.html:25 +#: common/models.py:706 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:703 +#: common/models.py:707 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:709 +#: common/models.py:713 msgid "Page Size" msgstr "" -#: common/models.py:710 +#: common/models.py:714 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:720 +#: common/models.py:724 msgid "Test Reports" msgstr "" -#: common/models.py:721 +#: common/models.py:725 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:727 +#: common/models.py:731 msgid "Stock Expiry" msgstr "" -#: common/models.py:728 +#: common/models.py:732 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:734 +#: common/models.py:738 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:735 +#: common/models.py:739 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:741 +#: common/models.py:745 msgid "Stock Stale Time" msgstr "" -#: common/models.py:742 +#: common/models.py:746 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:744 +#: common/models.py:748 msgid "days" msgstr "" -#: common/models.py:749 +#: common/models.py:753 msgid "Build Expired Stock" msgstr "" -#: common/models.py:750 +#: common/models.py:754 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:756 +#: common/models.py:760 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:757 +#: common/models.py:761 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:763 +#: common/models.py:767 msgid "Group by Part" msgstr "" -#: common/models.py:764 +#: common/models.py:768 msgid "Group stock items by part reference in table views" msgstr "" -#: common/models.py:770 +#: common/models.py:774 msgid "Build Order Reference Prefix" msgstr "" -#: common/models.py:771 +#: common/models.py:775 msgid "Prefix value for build order reference" msgstr "" -#: common/models.py:776 +#: common/models.py:780 msgid "Build Order Reference Regex" msgstr "" -#: common/models.py:777 +#: common/models.py:781 msgid "Regular expression pattern for matching build order reference" msgstr "" -#: common/models.py:781 +#: common/models.py:785 msgid "Sales Order Reference Prefix" msgstr "" -#: common/models.py:782 +#: common/models.py:786 msgid "Prefix value for sales order reference" msgstr "" -#: common/models.py:787 +#: common/models.py:791 msgid "Purchase Order Reference Prefix" msgstr "" -#: common/models.py:788 +#: common/models.py:792 msgid "Prefix value for purchase order reference" msgstr "" -#: common/models.py:794 +#: common/models.py:798 msgid "Enable build" msgstr "" -#: common/models.py:795 +#: common/models.py:799 msgid "Enable build functionality in InvenTree interface" msgstr "" -#: common/models.py:800 +#: common/models.py:804 msgid "Enable buy" msgstr "" -#: common/models.py:801 +#: common/models.py:805 msgid "Enable buy functionality in InvenTree interface" msgstr "" -#: common/models.py:806 +#: common/models.py:810 msgid "Enable sell" msgstr "" -#: common/models.py:807 +#: common/models.py:811 msgid "Enable sell functionality in InvenTree interface" msgstr "" -#: common/models.py:812 +#: common/models.py:816 msgid "Enable stock" msgstr "" -#: common/models.py:813 +#: common/models.py:817 msgid "Enable stock functionality in InvenTree interface" msgstr "" -#: common/models.py:818 +#: common/models.py:822 msgid "Enable SO" msgstr "" -#: common/models.py:819 +#: common/models.py:823 msgid "Enable SO functionality in InvenTree interface" msgstr "" -#: common/models.py:824 +#: common/models.py:828 msgid "Enable PO" msgstr "" -#: common/models.py:825 +#: common/models.py:829 msgid "Enable PO functionality in InvenTree interface" msgstr "" -#: common/models.py:850 +#: common/models.py:836 +msgid "Enable password forgot" +msgstr "" + +#: common/models.py:837 +msgid "Enable password forgot function on the login-pages" +msgstr "" + +#: common/models.py:842 +msgid "Enable registration" +msgstr "" + +#: common/models.py:843 +msgid "Enable self-registration for users on the login-pages" +msgstr "" + +#: common/models.py:848 +msgid "Enable SSO" +msgstr "" + +#: common/models.py:849 +msgid "Enable SSO on the login-pages" +msgstr "" + +#: common/models.py:854 +msgid "E-Mail required" +msgstr "" + +#: common/models.py:855 +msgid "Require user to supply mail on signup" +msgstr "" + +#: common/models.py:860 +msgid "Auto-fill SSO users" +msgstr "" + +#: common/models.py:861 +msgid "Automatically fill out user-details from SSO account-data" +msgstr "" + +#: common/models.py:866 +msgid "Mail twice" +msgstr "" + +#: common/models.py:867 +msgid "On signup ask users twice for their mail" +msgstr "" + +#: common/models.py:872 +msgid "Password twice" +msgstr "" + +#: common/models.py:873 +msgid "On signup ask users twice for their password" +msgstr "" + +#: common/models.py:898 msgid "Show starred parts" msgstr "" -#: common/models.py:851 +#: common/models.py:899 msgid "Show starred parts on the homepage" msgstr "" -#: common/models.py:856 +#: common/models.py:904 msgid "Show latest parts" msgstr "" -#: common/models.py:857 +#: common/models.py:905 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:862 +#: common/models.py:910 msgid "Recent Part Count" msgstr "" -#: common/models.py:863 +#: common/models.py:911 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:869 +#: common/models.py:917 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:870 +#: common/models.py:918 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:875 +#: common/models.py:923 msgid "Show recent stock changes" msgstr "" -#: common/models.py:876 +#: common/models.py:924 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:881 +#: common/models.py:929 msgid "Recent Stock Count" msgstr "" -#: common/models.py:882 +#: common/models.py:930 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:887 +#: common/models.py:935 msgid "Show low stock" msgstr "" -#: common/models.py:888 +#: common/models.py:936 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:893 +#: common/models.py:941 msgid "Show depleted stock" msgstr "" -#: common/models.py:894 +#: common/models.py:942 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:899 +#: common/models.py:947 msgid "Show needed stock" msgstr "" -#: common/models.py:900 +#: common/models.py:948 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:905 +#: common/models.py:953 msgid "Show expired stock" msgstr "" -#: common/models.py:906 +#: common/models.py:954 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:911 +#: common/models.py:959 msgid "Show stale stock" msgstr "" -#: common/models.py:912 +#: common/models.py:960 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:917 +#: common/models.py:965 msgid "Show pending builds" msgstr "" -#: common/models.py:918 +#: common/models.py:966 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:923 +#: common/models.py:971 msgid "Show overdue builds" msgstr "" -#: common/models.py:924 +#: common/models.py:972 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:929 +#: common/models.py:977 msgid "Show outstanding POs" msgstr "" -#: common/models.py:930 +#: common/models.py:978 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:935 +#: common/models.py:983 msgid "Show overdue POs" msgstr "" -#: common/models.py:936 +#: common/models.py:984 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:941 +#: common/models.py:989 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:942 +#: common/models.py:990 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:947 +#: common/models.py:995 msgid "Show overdue SOs" msgstr "" -#: common/models.py:948 +#: common/models.py:996 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:954 +#: common/models.py:1002 msgid "Inline label display" msgstr "" -#: common/models.py:955 +#: common/models.py:1003 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:961 +#: common/models.py:1009 msgid "Inline report display" msgstr "" -#: common/models.py:962 +#: common/models.py:1010 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:968 +#: common/models.py:1016 msgid "Search Preview Results" msgstr "" -#: common/models.py:969 +#: common/models.py:1017 msgid "Number of results to show in search preview window" msgstr "" -#: common/models.py:1026 company/forms.py:43 +#: common/models.py:1023 +msgid "Show Quantity in Forms" +msgstr "" + +#: common/models.py:1024 +msgid "Display available part quantity in some forms" +msgstr "" + +#: common/models.py:1030 +msgid "Escape Key Closes Forms" +msgstr "" + +#: common/models.py:1031 +msgid "Use the escape key to close modal forms" +msgstr "" + +#: common/models.py:1088 company/forms.py:43 msgid "Price break quantity" msgstr "" -#: common/models.py:1033 company/templates/company/supplier_part.html:231 -#: templates/js/translated/part.js:1322 +#: common/models.py:1095 company/templates/company/supplier_part.html:231 +#: templates/js/translated/part.js:1369 msgid "Price" msgstr "" -#: common/models.py:1034 +#: common/models.py:1096 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1127 +#: common/models.py:1189 msgid "Default" msgstr "" @@ -2199,7 +2240,7 @@ msgstr "" #: common/views.py:213 order/templates/order/order_wizard/po_upload.html:42 #: order/templates/order/po_navbar.html:19 #: order/templates/order/po_navbar.html:22 -#: order/templates/order/purchase_order_detail.html:26 order/views.py:290 +#: order/templates/order/purchase_order_detail.html:27 order/views.py:289 #: part/templates/part/bom_upload/upload_file.html:65 #: part/templates/part/import_wizard/part_upload.html:45 part/views.py:268 #: part/views.py:882 @@ -2207,7 +2248,7 @@ msgid "Upload File" msgstr "" #: common/views.py:214 order/templates/order/order_wizard/match_fields.html:52 -#: order/views.py:291 part/templates/part/bom_upload/match_fields.html:52 +#: order/views.py:290 part/templates/part/bom_upload/match_fields.html:52 #: part/templates/part/import_wizard/ajax_match_fields.html:45 #: part/templates/part/import_wizard/match_fields.html:52 part/views.py:269 #: part/views.py:883 @@ -2246,249 +2287,249 @@ msgstr "" msgid "Image URL" msgstr "" -#: company/models.py:104 +#: company/models.py:105 msgid "Company description" msgstr "" -#: company/models.py:105 +#: company/models.py:106 msgid "Description of the company" msgstr "" -#: company/models.py:111 company/templates/company/company_base.html:70 +#: company/models.py:112 company/templates/company/company_base.html:70 #: templates/js/translated/company.js:348 msgid "Website" msgstr "" -#: company/models.py:112 +#: company/models.py:113 msgid "Company website URL" msgstr "" -#: company/models.py:116 company/templates/company/company_base.html:88 +#: company/models.py:117 company/templates/company/company_base.html:88 msgid "Address" msgstr "" -#: company/models.py:117 +#: company/models.py:118 msgid "Company address" msgstr "" -#: company/models.py:120 +#: company/models.py:121 msgid "Phone number" msgstr "" -#: company/models.py:121 +#: company/models.py:122 msgid "Contact phone number" msgstr "" -#: company/models.py:124 company/templates/company/company_base.html:102 +#: company/models.py:125 company/templates/company/company_base.html:102 msgid "Email" msgstr "" -#: company/models.py:124 +#: company/models.py:125 msgid "Contact email address" msgstr "" -#: company/models.py:127 company/templates/company/company_base.html:109 +#: company/models.py:128 company/templates/company/company_base.html:109 msgid "Contact" msgstr "" -#: company/models.py:128 +#: company/models.py:129 msgid "Point of contact" msgstr "" -#: company/models.py:130 company/models.py:347 company/models.py:563 -#: order/models.py:160 part/models.py:714 +#: company/models.py:131 company/models.py:348 company/models.py:564 +#: order/models.py:160 part/models.py:715 #: report/templates/report/inventree_build_order_base.html:165 -#: templates/js/translated/company.js:535 -#: templates/js/translated/company.js:823 templates/js/translated/part.js:972 +#: templates/js/translated/company.js:536 +#: templates/js/translated/company.js:825 templates/js/translated/part.js:983 msgid "Link" msgstr "" -#: company/models.py:130 +#: company/models.py:131 msgid "Link to external company information" msgstr "" -#: company/models.py:138 part/models.py:724 +#: company/models.py:139 part/models.py:725 msgid "Image" msgstr "" -#: company/models.py:143 +#: company/models.py:144 msgid "is customer" msgstr "" -#: company/models.py:143 +#: company/models.py:144 msgid "Do you sell items to this company?" msgstr "" -#: company/models.py:145 +#: company/models.py:146 msgid "is supplier" msgstr "" -#: company/models.py:145 +#: company/models.py:146 msgid "Do you purchase items from this company?" msgstr "" -#: company/models.py:147 +#: company/models.py:148 msgid "is manufacturer" msgstr "" -#: company/models.py:147 +#: company/models.py:148 msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:151 company/serializers.py:264 -#: company/templates/company/company_base.html:76 stock/serializers.py:155 +#: company/models.py:152 company/serializers.py:264 +#: company/templates/company/company_base.html:76 stock/serializers.py:158 msgid "Currency" msgstr "" -#: company/models.py:154 +#: company/models.py:155 msgid "Default currency used for this company" msgstr "" -#: company/models.py:319 company/models.py:534 stock/models.py:454 +#: company/models.py:320 company/models.py:535 stock/models.py:454 #: stock/templates/stock/item_base.html:237 msgid "Base Part" msgstr "" -#: company/models.py:323 company/models.py:538 order/views.py:1082 +#: company/models.py:324 company/models.py:539 order/views.py:912 msgid "Select part" msgstr "" -#: company/models.py:334 company/templates/company/company_base.html:116 +#: company/models.py:335 company/templates/company/company_base.html:116 #: company/templates/company/manufacturer_part.html:89 #: company/templates/company/supplier_part.html:98 part/bom.py:170 -#: part/bom.py:241 stock/templates/stock/item_base.html:366 +#: part/bom.py:247 stock/templates/stock/item_base.html:366 #: templates/js/translated/company.js:332 -#: templates/js/translated/company.js:512 -#: templates/js/translated/company.js:794 templates/js/translated/part.js:222 +#: templates/js/translated/company.js:513 +#: templates/js/translated/company.js:796 templates/js/translated/part.js:227 msgid "Manufacturer" msgstr "" -#: company/models.py:335 templates/js/translated/part.js:223 +#: company/models.py:336 templates/js/translated/part.js:228 msgid "Select manufacturer" msgstr "" -#: company/models.py:341 company/templates/company/manufacturer_part.html:93 +#: company/models.py:342 company/templates/company/manufacturer_part.html:93 #: company/templates/company/supplier_part.html:106 part/bom.py:171 -#: part/bom.py:242 templates/js/translated/company.js:528 -#: templates/js/translated/company.js:812 templates/js/translated/order.js:505 -#: templates/js/translated/part.js:233 +#: part/bom.py:248 templates/js/translated/company.js:529 +#: templates/js/translated/company.js:814 templates/js/translated/order.js:851 +#: templates/js/translated/part.js:238 msgid "MPN" msgstr "" -#: company/models.py:342 templates/js/translated/part.js:234 +#: company/models.py:343 templates/js/translated/part.js:239 msgid "Manufacturer Part Number" msgstr "" -#: company/models.py:348 +#: company/models.py:349 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:354 +#: company/models.py:355 msgid "Manufacturer part description" msgstr "" -#: company/models.py:408 company/models.py:557 +#: company/models.py:409 company/models.py:558 #: company/templates/company/manufacturer_part.html:6 #: company/templates/company/manufacturer_part.html:23 #: stock/templates/stock/item_base.html:376 msgid "Manufacturer Part" msgstr "" -#: company/models.py:415 +#: company/models.py:416 msgid "Parameter name" msgstr "" -#: company/models.py:421 +#: company/models.py:422 #: report/templates/report/inventree_test_report_base.html:90 -#: stock/models.py:1819 templates/InvenTree/settings/header.html:8 -#: templates/js/translated/company.js:642 templates/js/translated/part.js:612 -#: templates/js/translated/stock.js:576 +#: stock/models.py:1816 templates/InvenTree/settings/header.html:8 +#: templates/js/translated/company.js:643 templates/js/translated/part.js:623 +#: templates/js/translated/stock.js:555 msgid "Value" msgstr "" -#: company/models.py:422 +#: company/models.py:423 msgid "Parameter value" msgstr "" -#: company/models.py:428 part/models.py:799 part/models.py:2220 -#: templates/js/translated/company.js:648 templates/js/translated/part.js:618 +#: company/models.py:429 part/models.py:800 part/models.py:2224 +#: templates/js/translated/company.js:649 templates/js/translated/part.js:629 msgid "Units" msgstr "" -#: company/models.py:429 +#: company/models.py:430 msgid "Parameter units" msgstr "" -#: company/models.py:501 +#: company/models.py:502 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:544 company/templates/company/company_base.html:121 +#: company/models.py:545 company/templates/company/company_base.html:121 #: company/templates/company/supplier_part.html:88 order/models.py:260 #: order/templates/order/order_base.html:92 #: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:175 -#: part/bom.py:286 stock/templates/stock/item_base.html:383 +#: part/bom.py:292 stock/templates/stock/item_base.html:383 #: templates/js/translated/company.js:336 -#: templates/js/translated/company.js:768 templates/js/translated/order.js:328 -#: templates/js/translated/part.js:203 +#: templates/js/translated/company.js:770 templates/js/translated/order.js:659 +#: templates/js/translated/part.js:208 msgid "Supplier" msgstr "" -#: company/models.py:545 templates/js/translated/part.js:204 +#: company/models.py:546 templates/js/translated/part.js:209 msgid "Select supplier" msgstr "" -#: company/models.py:550 company/templates/company/supplier_part.html:92 -#: part/bom.py:176 part/bom.py:287 templates/js/translated/order.js:492 -#: templates/js/translated/part.js:214 +#: company/models.py:551 company/templates/company/supplier_part.html:92 +#: part/bom.py:176 part/bom.py:293 templates/js/translated/order.js:838 +#: templates/js/translated/part.js:219 msgid "SKU" msgstr "" -#: company/models.py:551 templates/js/translated/part.js:215 +#: company/models.py:552 templates/js/translated/part.js:220 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:558 +#: company/models.py:559 msgid "Select manufacturer part" msgstr "" -#: company/models.py:564 +#: company/models.py:565 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:570 +#: company/models.py:571 msgid "Supplier part description" msgstr "" -#: company/models.py:575 company/templates/company/supplier_part.html:120 -#: part/models.py:2368 report/templates/report/inventree_po_report.html:93 +#: company/models.py:576 company/templates/company/supplier_part.html:120 +#: part/models.py:2389 report/templates/report/inventree_po_report.html:93 #: report/templates/report/inventree_so_report.html:93 msgid "Note" msgstr "" -#: company/models.py:579 part/models.py:1599 +#: company/models.py:580 part/models.py:1603 msgid "base cost" msgstr "" -#: company/models.py:579 part/models.py:1599 +#: company/models.py:580 part/models.py:1603 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:581 company/templates/company/supplier_part.html:113 +#: company/models.py:582 company/templates/company/supplier_part.html:113 #: stock/models.py:478 stock/templates/stock/item_base.html:324 -#: templates/js/translated/company.js:844 templates/js/translated/stock.js:1057 +#: templates/js/translated/company.js:846 templates/js/translated/stock.js:1036 msgid "Packaging" msgstr "" -#: company/models.py:581 +#: company/models.py:582 msgid "Part packaging" msgstr "" -#: company/models.py:583 part/models.py:1601 +#: company/models.py:584 part/models.py:1605 msgid "multiple" msgstr "" -#: company/models.py:583 +#: company/models.py:584 msgid "Order multiple" msgstr "" @@ -2502,7 +2543,7 @@ msgstr "" #: company/templates/company/company_base.html:9 #: company/templates/company/company_base.html:35 -#: templates/InvenTree/search.html:304 templates/js/translated/company.js:321 +#: templates/InvenTree/search.html:208 templates/js/translated/company.js:321 msgid "Company" msgstr "" @@ -2517,7 +2558,7 @@ msgid "Download image from URL" msgstr "" #: company/templates/company/company_base.html:46 -#: templates/js/translated/order.js:117 +#: templates/js/translated/order.js:120 msgid "Create Purchase Order" msgstr "" @@ -2542,22 +2583,22 @@ msgstr "" msgid "Phone" msgstr "" -#: company/templates/company/company_base.html:126 order/models.py:550 -#: order/templates/order/sales_order_base.html:94 stock/models.py:496 +#: company/templates/company/company_base.html:126 order/models.py:558 +#: order/templates/order/sales_order_base.html:99 stock/models.py:496 #: stock/models.py:497 stock/templates/stock/item_base.html:276 -#: templates/js/translated/company.js:328 templates/js/translated/order.js:692 -#: templates/js/translated/stock.js:1608 +#: templates/js/translated/company.js:328 templates/js/translated/order.js:1038 +#: templates/js/translated/stock.js:1587 msgid "Customer" msgstr "" -#: company/templates/company/company_base.html:193 -#: part/templates/part/part_base.html:418 +#: company/templates/company/company_base.html:199 +#: part/templates/part/part_base.html:424 msgid "Upload Image" msgstr "" #: company/templates/company/detail.html:14 #: company/templates/company/manufacturer_part_navbar.html:18 -#: templates/InvenTree/search.html:164 +#: templates/InvenTree/search.html:150 msgid "Supplier Parts" msgstr "" @@ -2597,7 +2638,7 @@ msgstr "" msgid "Delete Parts" msgstr "" -#: company/templates/company/detail.html:54 templates/InvenTree/search.html:149 +#: company/templates/company/detail.html:54 templates/InvenTree/search.html:135 msgid "Manufacturer Parts" msgstr "" @@ -2620,9 +2661,9 @@ msgstr "" #: order/templates/order/purchase_orders.html:13 #: part/templates/part/detail.html:50 part/templates/part/navbar.html:82 #: part/templates/part/navbar.html:85 templates/InvenTree/index.html:260 -#: templates/InvenTree/search.html:325 -#: templates/InvenTree/settings/navbar.html:107 -#: templates/InvenTree/settings/navbar.html:109 templates/navbar.html:44 +#: templates/InvenTree/search.html:229 +#: templates/InvenTree/settings/navbar.html:119 +#: templates/InvenTree/settings/navbar.html:121 templates/navbar.html:44 #: users/models.py:45 msgid "Purchase Orders" msgstr "" @@ -2644,9 +2685,9 @@ msgstr "" #: order/templates/order/sales_orders.html:13 #: part/templates/part/detail.html:71 part/templates/part/navbar.html:91 #: part/templates/part/navbar.html:94 templates/InvenTree/index.html:291 -#: templates/InvenTree/search.html:345 -#: templates/InvenTree/settings/navbar.html:113 -#: templates/InvenTree/settings/navbar.html:115 templates/navbar.html:55 +#: templates/InvenTree/search.html:249 +#: templates/InvenTree/settings/navbar.html:125 +#: templates/InvenTree/settings/navbar.html:127 templates/navbar.html:55 #: users/models.py:46 msgid "Sales Orders" msgstr "" @@ -2664,7 +2705,7 @@ msgstr "" #: company/templates/company/detail.html:147 #: company/templates/company/navbar.html:61 #: company/templates/company/navbar.html:64 -#: templates/js/translated/build.js:620 +#: templates/js/translated/build.js:622 msgid "Assigned Stock" msgstr "" @@ -2696,12 +2737,12 @@ msgid "Order part" msgstr "" #: company/templates/company/manufacturer_part.html:45 -#: templates/js/translated/company.js:560 +#: templates/js/translated/company.js:561 msgid "Edit manufacturer part" msgstr "" #: company/templates/company/manufacturer_part.html:49 -#: templates/js/translated/company.js:561 +#: templates/js/translated/company.js:562 msgid "Delete manufacturer part" msgstr "" @@ -2718,7 +2759,7 @@ msgstr "" #: company/templates/company/manufacturer_part_navbar.html:21 #: company/views.py:49 part/templates/part/navbar.html:75 #: part/templates/part/navbar.html:78 part/templates/part/prices.html:163 -#: templates/InvenTree/search.html:316 templates/navbar.html:41 +#: templates/InvenTree/search.html:220 templates/navbar.html:41 msgid "Suppliers" msgstr "" @@ -2732,7 +2773,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:239 #: part/templates/part/detail.html:214 part/templates/part/detail.html:294 #: part/templates/part/detail.html:317 templates/js/translated/company.js:424 -#: templates/js/translated/helpers.js:31 users/models.py:194 +#: templates/js/translated/helpers.js:31 users/models.py:199 msgid "Delete" msgstr "" @@ -2758,7 +2799,7 @@ msgid "Delete parameters" msgstr "" #: company/templates/company/manufacturer_part.html:176 -#: part/templates/part/detail.html:834 +#: part/templates/part/detail.html:805 msgid "Add Parameter" msgstr "" @@ -2777,16 +2818,15 @@ msgstr "" #: company/templates/company/manufacturer_part_navbar.html:29 #: company/templates/company/navbar.html:39 #: company/templates/company/supplier_part_navbar.html:15 -#: part/templates/part/navbar.html:38 stock/api.py:54 +#: part/templates/part/navbar.html:38 stock/api.py:52 #: stock/templates/stock/loc_link.html:7 stock/templates/stock/location.html:36 #: stock/templates/stock/stock_app_base.html:10 -#: templates/InvenTree/index.html:150 templates/InvenTree/search.html:196 -#: templates/InvenTree/search.html:232 -#: templates/InvenTree/settings/navbar.html:95 -#: templates/InvenTree/settings/navbar.html:97 -#: templates/js/translated/part.js:529 templates/js/translated/part.js:758 -#: templates/js/translated/part.js:934 templates/js/translated/stock.js:202 -#: templates/js/translated/stock.js:850 templates/navbar.html:32 +#: templates/InvenTree/index.html:150 templates/InvenTree/search.html:182 +#: templates/InvenTree/settings/navbar.html:107 +#: templates/InvenTree/settings/navbar.html:109 +#: templates/js/translated/part.js:540 templates/js/translated/part.js:769 +#: templates/js/translated/part.js:945 templates/js/translated/stock.js:182 +#: templates/js/translated/stock.js:829 templates/navbar.html:32 msgid "Stock" msgstr "" @@ -2815,7 +2855,7 @@ msgstr "" #: stock/templates/stock/location.html:148 #: stock/templates/stock/location_navbar.html:18 #: stock/templates/stock/location_navbar.html:21 -#: templates/InvenTree/search.html:198 templates/js/translated/stock.js:1507 +#: templates/InvenTree/search.html:184 templates/js/translated/stock.js:1486 #: templates/stats.html:93 templates/stats.html:102 users/models.py:43 msgid "Stock Items" msgstr "" @@ -2823,17 +2863,17 @@ msgstr "" #: company/templates/company/supplier_part.html:7 #: company/templates/company/supplier_part.html:24 stock/models.py:463 #: stock/templates/stock/item_base.html:388 -#: templates/js/translated/company.js:784 templates/js/translated/stock.js:1014 +#: templates/js/translated/company.js:786 templates/js/translated/stock.js:993 msgid "Supplier Part" msgstr "" #: company/templates/company/supplier_part.html:44 -#: templates/js/translated/company.js:857 +#: templates/js/translated/company.js:859 msgid "Edit supplier part" msgstr "" #: company/templates/company/supplier_part.html:48 -#: templates/js/translated/company.js:858 +#: templates/js/translated/company.js:860 msgid "Delete supplier part" msgstr "" @@ -2900,7 +2940,7 @@ msgid "New Supplier" msgstr "" #: company/views.py:55 part/templates/part/prices.html:167 -#: templates/InvenTree/search.html:306 templates/navbar.html:42 +#: templates/InvenTree/search.html:210 templates/navbar.html:42 msgid "Manufacturers" msgstr "" @@ -2908,7 +2948,7 @@ msgstr "" msgid "New Manufacturer" msgstr "" -#: company/views.py:61 templates/InvenTree/search.html:336 +#: company/views.py:61 templates/InvenTree/search.html:240 #: templates/navbar.html:53 msgid "Customers" msgstr "" @@ -3011,36 +3051,32 @@ msgstr "" msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" -#: order/api.py:302 -msgid "Destination location must be specified" +#: order/api.py:250 +msgid "Matching purchase order does not exist" msgstr "" -#: order/forms.py:30 order/templates/order/order_base.html:47 +#: order/forms.py:27 order/templates/order/order_base.html:50 msgid "Place order" msgstr "" -#: order/forms.py:41 order/templates/order/order_base.html:54 +#: order/forms.py:38 order/templates/order/order_base.html:57 msgid "Mark order as complete" msgstr "" -#: order/forms.py:52 order/forms.py:63 order/templates/order/order_base.html:59 -#: order/templates/order/sales_order_base.html:61 +#: order/forms.py:49 order/forms.py:60 order/templates/order/order_base.html:62 +#: order/templates/order/sales_order_base.html:64 msgid "Cancel order" msgstr "" -#: order/forms.py:74 order/templates/order/sales_order_base.html:58 +#: order/forms.py:71 order/templates/order/sales_order_base.html:61 msgid "Ship order" msgstr "" -#: order/forms.py:89 -msgid "Set all received parts listed above to this location (if left blank, use \"Destination\" column value in above table)" -msgstr "" - -#: order/forms.py:116 +#: order/forms.py:97 msgid "Enter stock item serial numbers" msgstr "" -#: order/forms.py:122 +#: order/forms.py:103 msgid "Enter quantity of stock items" msgstr "" @@ -3064,11 +3100,11 @@ msgstr "" msgid "Order notes" msgstr "" -#: order/models.py:247 order/models.py:540 +#: order/models.py:247 order/models.py:548 msgid "Order reference" msgstr "" -#: order/models.py:252 order/models.py:555 +#: order/models.py:252 order/models.py:563 msgid "Purchase order status" msgstr "" @@ -3077,7 +3113,7 @@ msgid "Company from which the items are being ordered" msgstr "" #: order/models.py:264 order/templates/order/order_base.html:98 -#: templates/js/translated/order.js:337 +#: templates/js/translated/order.js:668 msgid "Supplier Reference" msgstr "" @@ -3109,190 +3145,190 @@ msgstr "" msgid "Date order was completed" msgstr "" -#: order/models.py:313 stock/models.py:351 stock/models.py:1072 -msgid "Quantity must be greater than zero" -msgstr "" - #: order/models.py:318 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:421 -msgid "Lines can only be received against an order marked as 'Placed'" -msgstr "" - -#: order/models.py:425 +#: order/models.py:428 msgid "Quantity must be an integer" msgstr "" -#: order/models.py:427 +#: order/models.py:432 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:551 +#: order/models.py:559 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:557 +#: order/models.py:565 msgid "Customer Reference " msgstr "" -#: order/models.py:557 +#: order/models.py:565 msgid "Customer order reference code" msgstr "" -#: order/models.py:562 +#: order/models.py:570 msgid "Target date for order completion. Order will be overdue after this date." msgstr "" -#: order/models.py:565 templates/js/translated/order.js:733 +#: order/models.py:573 templates/js/translated/order.js:1079 msgid "Shipment Date" msgstr "" -#: order/models.py:572 +#: order/models.py:580 msgid "shipped by" msgstr "" -#: order/models.py:616 +#: order/models.py:624 msgid "SalesOrder cannot be shipped as it is not currently pending" msgstr "" -#: order/models.py:713 +#: order/models.py:721 msgid "Item quantity" msgstr "" -#: order/models.py:719 +#: order/models.py:727 msgid "Line item reference" msgstr "" -#: order/models.py:721 +#: order/models.py:729 msgid "Line item notes" msgstr "" -#: order/models.py:751 order/models.py:835 templates/js/translated/order.js:785 +#: order/models.py:759 order/models.py:847 +#: templates/js/translated/order.js:1131 msgid "Order" msgstr "" -#: order/models.py:752 order/templates/order/order_base.html:9 +#: order/models.py:760 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:24 #: report/templates/report/inventree_po_report.html:77 #: stock/templates/stock/item_base.html:338 -#: templates/js/translated/order.js:306 templates/js/translated/stock.js:991 -#: templates/js/translated/stock.js:1589 +#: templates/js/translated/order.js:637 templates/js/translated/stock.js:970 +#: templates/js/translated/stock.js:1568 msgid "Purchase Order" msgstr "" -#: order/models.py:773 +#: order/models.py:781 msgid "Supplier part" msgstr "" -#: order/models.py:780 order/templates/order/order_base.html:131 -#: order/templates/order/receive_parts.html:22 -#: order/templates/order/sales_order_base.html:133 -#: templates/js/translated/order.js:573 +#: order/models.py:788 order/templates/order/order_base.html:131 +#: order/templates/order/sales_order_base.html:138 +#: templates/js/translated/order.js:428 templates/js/translated/order.js:919 msgid "Received" msgstr "" -#: order/models.py:781 +#: order/models.py:789 msgid "Number of items received" msgstr "" -#: order/models.py:788 part/templates/part/prices.html:176 stock/models.py:588 -#: stock/serializers.py:147 stock/templates/stock/item_base.html:345 -#: templates/js/translated/stock.js:1045 +#: order/models.py:796 part/templates/part/prices.html:176 stock/models.py:588 +#: stock/serializers.py:150 stock/templates/stock/item_base.html:345 +#: templates/js/translated/stock.js:1024 msgid "Purchase Price" msgstr "" -#: order/models.py:789 +#: order/models.py:797 msgid "Unit purchase price" msgstr "" -#: order/models.py:797 +#: order/models.py:805 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:843 part/templates/part/part_pricing.html:112 +#: order/models.py:857 part/templates/part/part_pricing.html:112 #: part/templates/part/prices.html:116 part/templates/part/prices.html:284 msgid "Sale Price" msgstr "" -#: order/models.py:844 +#: order/models.py:858 msgid "Unit sale price" msgstr "" -#: order/models.py:923 order/models.py:925 +#: order/models.py:937 order/models.py:939 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:929 +#: order/models.py:943 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:931 +#: order/models.py:945 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:934 +#: order/models.py:948 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:944 +#: order/models.py:952 +msgid "StockItem is over-allocated" +msgstr "" + +#: order/models.py:958 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:949 +#: order/models.py:966 msgid "Line" msgstr "" -#: order/models.py:960 +#: order/models.py:978 msgid "Item" msgstr "" -#: order/models.py:961 +#: order/models.py:979 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:964 +#: order/models.py:982 msgid "Enter stock allocation quantity" msgstr "" -#: order/serializers.py:166 +#: order/serializers.py:167 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:201 +#: order/serializers.py:202 msgid "Line Item" msgstr "" -#: order/serializers.py:207 +#: order/serializers.py:208 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:217 order/serializers.py:276 +#: order/serializers.py:218 order/serializers.py:285 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:234 +#: order/serializers.py:242 msgid "Barcode Hash" msgstr "" -#: order/serializers.py:235 +#: order/serializers.py:243 msgid "Unique identifier field" msgstr "" -#: order/serializers.py:250 +#: order/serializers.py:259 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:289 +#: order/serializers.py:297 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:299 +#: order/serializers.py:314 +msgid "Destination location must be specified" +msgstr "" + +#: order/serializers.py:325 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:514 +#: order/serializers.py:569 msgid "Sale price currency" msgstr "" @@ -3307,31 +3343,32 @@ msgstr "" msgid "Print" msgstr "" -#: order/templates/order/order_base.html:43 -#: order/templates/order/sales_order_base.html:54 +#: order/templates/order/order_base.html:42 +#: order/templates/order/sales_order_base.html:53 +msgid "Export order to file" +msgstr "" + +#: order/templates/order/order_base.html:46 +#: order/templates/order/sales_order_base.html:57 msgid "Edit order information" msgstr "" -#: order/templates/order/order_base.html:51 +#: order/templates/order/order_base.html:54 msgid "Receive items" msgstr "" -#: order/templates/order/order_base.html:64 -msgid "Export order to file" -msgstr "" - #: order/templates/order/order_base.html:72 #: order/templates/order/po_navbar.html:12 msgid "Purchase Order Details" msgstr "" #: order/templates/order/order_base.html:77 -#: order/templates/order/sales_order_base.html:79 +#: order/templates/order/sales_order_base.html:84 msgid "Order Reference" msgstr "" #: order/templates/order/order_base.html:82 -#: order/templates/order/sales_order_base.html:84 +#: order/templates/order/sales_order_base.html:89 msgid "Order Status" msgstr "" @@ -3344,16 +3381,6 @@ msgstr "" msgid "Edit Purchase Order" msgstr "" -#: order/templates/order/order_base.html:196 -#: stock/templates/stock/location.html:250 templates/js/translated/order.js:437 -msgid "New Location" -msgstr "" - -#: order/templates/order/order_base.html:197 -#: stock/templates/stock/location.html:42 templates/js/translated/order.js:438 -msgid "Create new stock location" -msgstr "" - #: order/templates/order/order_cancel.html:8 msgid "Cancelling this order means that the order and line items will no longer be editable." msgstr "" @@ -3426,6 +3453,7 @@ msgstr "" #: part/templates/part/import_wizard/ajax_match_references.html:42 #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 +#: templates/js/translated/build.js:869 templates/js/translated/order.js:376 msgid "Remove row" msgstr "" @@ -3502,7 +3530,7 @@ msgid "Select existing purchase orders, or create new orders." msgstr "" #: order/templates/order/order_wizard/select_pos.html:31 -#: templates/js/translated/order.js:363 templates/js/translated/order.js:738 +#: templates/js/translated/order.js:694 templates/js/translated/order.js:1084 msgid "Items" msgstr "" @@ -3522,7 +3550,7 @@ msgstr "" #: order/templates/order/po_attachments.html:12 #: order/templates/order/po_navbar.html:32 -#: order/templates/order/purchase_order_detail.html:47 +#: order/templates/order/purchase_order_detail.html:56 msgid "Purchase Order Attachments" msgstr "" @@ -3532,7 +3560,7 @@ msgstr "" #: order/templates/order/po_navbar.html:29 #: order/templates/order/po_received_items.html:12 -#: order/templates/order/purchase_order_detail.html:38 +#: order/templates/order/purchase_order_detail.html:47 msgid "Received Items" msgstr "" @@ -3540,14 +3568,22 @@ msgstr "" msgid "Purchase Order Items" msgstr "" -#: order/templates/order/purchase_order_detail.html:23 -#: order/templates/order/purchase_order_detail.html:203 +#: order/templates/order/purchase_order_detail.html:24 +#: order/templates/order/purchase_order_detail.html:212 #: order/templates/order/sales_order_detail.html:23 #: order/templates/order/sales_order_detail.html:177 msgid "Add Line Item" msgstr "" -#: order/templates/order/purchase_order_detail.html:58 +#: order/templates/order/purchase_order_detail.html:30 +msgid "Receive selected items" +msgstr "" + +#: order/templates/order/purchase_order_detail.html:31 +msgid "Receive Items" +msgstr "" + +#: order/templates/order/purchase_order_detail.html:67 #: order/templates/order/sales_order_detail.html:54 msgid "Order Notes" msgstr "" @@ -3557,67 +3593,24 @@ msgstr "" msgid "Print Order Reports" msgstr "" -#: order/templates/order/receive_parts.html:8 -#, python-format -msgid "Receive outstanding parts for %(order)s - %(desc)s" -msgstr "" - -#: order/templates/order/receive_parts.html:14 part/api.py:54 -#: part/models.py:298 part/templates/part/cat_link.html:7 -#: part/templates/part/category.html:108 part/templates/part/category.html:122 -#: part/templates/part/category_navbar.html:21 -#: part/templates/part/category_navbar.html:24 -#: templates/InvenTree/index.html:102 templates/InvenTree/search.html:114 -#: templates/InvenTree/settings/navbar.html:83 -#: templates/InvenTree/settings/navbar.html:85 -#: templates/js/translated/part.js:1154 templates/navbar.html:29 -#: templates/stats.html:80 templates/stats.html:89 users/models.py:41 -msgid "Parts" -msgstr "" - -#: order/templates/order/receive_parts.html:15 -msgid "Fill out number of parts received, the status and destination" -msgstr "" - -#: order/templates/order/receive_parts.html:20 -msgid "Order Code" -msgstr "" - -#: order/templates/order/receive_parts.html:21 -#: part/templates/part/part_base.html:167 templates/js/translated/part.js:949 -msgid "On Order" -msgstr "" - -#: order/templates/order/receive_parts.html:23 -msgid "Receive" -msgstr "" - -#: order/templates/order/receive_parts.html:37 -msgid "Error: Referenced part has been removed" -msgstr "" - -#: order/templates/order/receive_parts.html:68 -msgid "Remove line" -msgstr "" - #: order/templates/order/sales_order_base.html:16 msgid "This Sales Order has not been fully allocated" msgstr "" -#: order/templates/order/sales_order_base.html:66 +#: order/templates/order/sales_order_base.html:70 msgid "Packing List" msgstr "" -#: order/templates/order/sales_order_base.html:74 +#: order/templates/order/sales_order_base.html:79 msgid "Sales Order Details" msgstr "" -#: order/templates/order/sales_order_base.html:100 -#: templates/js/translated/order.js:705 +#: order/templates/order/sales_order_base.html:105 +#: templates/js/translated/order.js:1051 msgid "Customer Reference" msgstr "" -#: order/templates/order/sales_order_base.html:178 +#: order/templates/order/sales_order_base.html:183 msgid "Edit Sales Order" msgstr "" @@ -3636,105 +3629,6 @@ msgstr "" msgid "Sales Order Items" msgstr "" -#: order/templates/order/sales_order_detail.html:226 -#: templates/js/translated/bom.js:394 templates/js/translated/build.js:782 -#: templates/js/translated/build.js:1219 -msgid "Actions" -msgstr "" - -#: order/templates/order/sales_order_detail.html:233 -#: templates/js/translated/build.js:668 templates/js/translated/build.js:1030 -msgid "Edit stock allocation" -msgstr "" - -#: order/templates/order/sales_order_detail.html:234 -#: templates/js/translated/build.js:670 templates/js/translated/build.js:1031 -msgid "Delete stock allocation" -msgstr "" - -#: order/templates/order/sales_order_detail.html:307 -msgid "No matching line items" -msgstr "" - -#: order/templates/order/sales_order_detail.html:337 -msgid "ID" -msgstr "" - -#: order/templates/order/sales_order_detail.html:354 -#: templates/js/translated/order.js:481 -msgid "Total" -msgstr "" - -#: order/templates/order/sales_order_detail.html:377 -#: templates/js/translated/order.js:534 templates/js/translated/part.js:1296 -#: templates/js/translated/part.js:1507 -msgid "Unit Price" -msgstr "" - -#: order/templates/order/sales_order_detail.html:384 -#: templates/js/translated/order.js:543 -msgid "Total price" -msgstr "" - -#: order/templates/order/sales_order_detail.html:405 -#: templates/js/translated/build.js:733 templates/js/translated/build.js:1026 -msgid "Allocated" -msgstr "" - -#: order/templates/order/sales_order_detail.html:407 -msgid "Fulfilled" -msgstr "" - -#: order/templates/order/sales_order_detail.html:444 -msgid "PO" -msgstr "" - -#: order/templates/order/sales_order_detail.html:474 -msgid "Allocate serial numbers" -msgstr "" - -#: order/templates/order/sales_order_detail.html:477 -#: templates/js/translated/build.js:796 -msgid "Allocate stock" -msgstr "" - -#: order/templates/order/sales_order_detail.html:480 -msgid "Purchase stock" -msgstr "" - -#: order/templates/order/sales_order_detail.html:484 -#: templates/js/translated/build.js:789 templates/js/translated/build.js:1227 -msgid "Build stock" -msgstr "" - -#: order/templates/order/sales_order_detail.html:487 -#: order/templates/order/sales_order_detail.html:606 -msgid "Calculate price" -msgstr "" - -#: order/templates/order/sales_order_detail.html:490 -#: templates/js/translated/order.js:616 -msgid "Edit line item" -msgstr "" - -#: order/templates/order/sales_order_detail.html:491 -msgid "Delete line item " -msgstr "" - -#: order/templates/order/sales_order_detail.html:519 -#: templates/js/translated/order.js:403 -msgid "Edit Line Item" -msgstr "" - -#: order/templates/order/sales_order_detail.html:529 -#: templates/js/translated/order.js:415 -msgid "Delete Line Item" -msgstr "" - -#: order/templates/order/sales_order_detail.html:612 -msgid "Update Unit Price" -msgstr "" - #: order/templates/order/sales_order_ship.html:10 msgid "This order has not been fully allocated. If the order is marked as shipped, it can no longer be adjusted." msgstr "" @@ -3759,10 +3653,6 @@ msgstr "" msgid "Allocate stock items by serial number" msgstr "" -#: order/templates/order/so_allocation_delete.html:7 -msgid "This action will unallocate the following stock from the Sales Order" -msgstr "" - #: order/templates/order/so_navbar.html:12 msgid "Sales Order Line Items" msgstr "" @@ -3775,149 +3665,129 @@ msgstr "" msgid "Sales Order Attachments" msgstr "" -#: order/views.py:104 +#: order/views.py:103 msgid "Cancel Order" msgstr "" -#: order/views.py:113 order/views.py:139 +#: order/views.py:112 order/views.py:138 msgid "Confirm order cancellation" msgstr "" -#: order/views.py:116 order/views.py:142 +#: order/views.py:115 order/views.py:141 msgid "Order cannot be cancelled" msgstr "" -#: order/views.py:130 +#: order/views.py:129 msgid "Cancel sales order" msgstr "" -#: order/views.py:156 +#: order/views.py:155 msgid "Issue Order" msgstr "" -#: order/views.py:165 +#: order/views.py:164 msgid "Confirm order placement" msgstr "" -#: order/views.py:175 +#: order/views.py:174 msgid "Purchase order issued" msgstr "" -#: order/views.py:186 +#: order/views.py:185 msgid "Complete Order" msgstr "" -#: order/views.py:202 +#: order/views.py:201 msgid "Confirm order completion" msgstr "" -#: order/views.py:213 +#: order/views.py:212 msgid "Purchase order completed" msgstr "" -#: order/views.py:223 +#: order/views.py:222 msgid "Ship Order" msgstr "" -#: order/views.py:239 +#: order/views.py:238 msgid "Confirm order shipment" msgstr "" -#: order/views.py:245 +#: order/views.py:244 msgid "Could not ship order" msgstr "" -#: order/views.py:292 +#: order/views.py:291 msgid "Match Supplier Parts" msgstr "" -#: order/views.py:480 -msgid "Receive Parts" -msgstr "" - -#: order/views.py:552 -msgid "Items received" -msgstr "" - -#: order/views.py:620 -msgid "Error converting quantity to number" -msgstr "" - -#: order/views.py:626 -msgid "Receive quantity less than zero" -msgstr "" - -#: order/views.py:632 -msgid "No lines specified" -msgstr "" - -#: order/views.py:705 +#: order/views.py:535 msgid "Update prices" msgstr "" -#: order/views.py:963 +#: order/views.py:793 #, python-brace-format msgid "Ordered {n} parts" msgstr "" -#: order/views.py:1016 +#: order/views.py:846 msgid "Allocate Serial Numbers" msgstr "" -#: order/views.py:1061 +#: order/views.py:891 #, python-brace-format msgid "Allocated {n} items" msgstr "" -#: order/views.py:1077 +#: order/views.py:907 msgid "Select line item" msgstr "" -#: order/views.py:1108 +#: order/views.py:938 #, python-brace-format msgid "No matching item for serial {serial}" msgstr "" -#: order/views.py:1118 +#: order/views.py:948 #, python-brace-format msgid "{serial} is not in stock" msgstr "" -#: order/views.py:1126 +#: order/views.py:956 #, python-brace-format msgid "{serial} already allocated to an order" msgstr "" -#: order/views.py:1180 -msgid "Allocate Stock to Order" -msgstr "" - -#: order/views.py:1254 -msgid "Edit Allocation Quantity" -msgstr "" - -#: order/views.py:1269 -msgid "Remove allocation" -msgstr "" - -#: order/views.py:1341 +#: order/views.py:1072 msgid "Sales order not found" msgstr "" -#: order/views.py:1347 +#: order/views.py:1078 msgid "Price not found" msgstr "" -#: order/views.py:1350 +#: order/views.py:1081 #, python-brace-format msgid "Updated {part} unit-price to {price}" msgstr "" -#: order/views.py:1355 +#: order/views.py:1086 #, python-brace-format msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" +#: part/api.py:54 part/models.py:299 part/templates/part/cat_link.html:7 +#: part/templates/part/category.html:108 part/templates/part/category.html:122 +#: part/templates/part/category_navbar.html:21 +#: part/templates/part/category_navbar.html:24 +#: templates/InvenTree/index.html:102 templates/InvenTree/search.html:114 +#: templates/InvenTree/settings/navbar.html:95 +#: templates/InvenTree/settings/navbar.html:97 +#: templates/js/translated/part.js:1165 templates/navbar.html:29 +#: templates/stats.html:80 templates/stats.html:89 users/models.py:41 +msgid "Parts" +msgstr "" + #: part/api.py:700 msgid "Must be greater than zero" msgstr "" @@ -3934,7 +3804,7 @@ msgstr "" msgid "This field is required" msgstr "" -#: part/bom.py:133 part/models.py:75 part/models.py:733 +#: part/bom.py:133 part/models.py:76 part/models.py:734 #: part/templates/part/category.html:75 part/templates/part/part_base.html:290 msgid "Default Location" msgstr "" @@ -3999,7 +3869,7 @@ msgstr "" msgid "Include part supplier data in exported BOM" msgstr "" -#: part/forms.py:96 part/models.py:2250 +#: part/forms.py:96 part/models.py:2254 msgid "Parent Part" msgstr "" @@ -4043,391 +3913,387 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:76 +#: part/models.py:77 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:79 +#: part/models.py:80 msgid "Default keywords" msgstr "" -#: part/models.py:79 +#: part/models.py:80 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:89 part/models.py:2296 +#: part/models.py:90 part/models.py:2300 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:90 part/templates/part/category.html:32 +#: part/models.py:91 part/templates/part/category.html:32 #: part/templates/part/category.html:103 templates/InvenTree/search.html:127 #: templates/stats.html:84 users/models.py:40 msgid "Part Categories" msgstr "" -#: part/models.py:383 +#: part/models.py:384 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:435 part/models.py:447 +#: part/models.py:436 part/models.py:448 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:544 +#: part/models.py:545 msgid "Next available serial numbers are" msgstr "" -#: part/models.py:548 +#: part/models.py:549 msgid "Next available serial number is" msgstr "" -#: part/models.py:553 +#: part/models.py:554 msgid "Most recent serial number is" msgstr "" -#: part/models.py:632 +#: part/models.py:633 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:657 +#: part/models.py:658 msgid "Part name" msgstr "" -#: part/models.py:664 +#: part/models.py:665 msgid "Is Template" msgstr "" -#: part/models.py:665 +#: part/models.py:666 msgid "Is this part a template part?" msgstr "" -#: part/models.py:675 +#: part/models.py:676 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:676 +#: part/models.py:677 msgid "Variant Of" msgstr "" -#: part/models.py:682 +#: part/models.py:683 msgid "Part description" msgstr "" -#: part/models.py:687 part/templates/part/category.html:82 +#: part/models.py:688 part/templates/part/category.html:82 #: part/templates/part/part_base.html:259 msgid "Keywords" msgstr "" -#: part/models.py:688 +#: part/models.py:689 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:695 part/models.py:2295 +#: part/models.py:696 part/models.py:2299 #: part/templates/part/set_category.html:15 -#: templates/InvenTree/settings/settings.html:167 -#: templates/js/translated/part.js:916 +#: templates/InvenTree/settings/settings.html:169 +#: templates/js/translated/part.js:927 msgid "Category" msgstr "" -#: part/models.py:696 +#: part/models.py:697 msgid "Part category" msgstr "" -#: part/models.py:701 part/templates/part/part_base.html:235 -#: templates/js/translated/part.js:517 templates/js/translated/part.js:749 +#: part/models.py:702 part/templates/part/part_base.html:235 +#: templates/js/translated/part.js:528 templates/js/translated/part.js:760 msgid "IPN" msgstr "" -#: part/models.py:702 +#: part/models.py:703 msgid "Internal Part Number" msgstr "" -#: part/models.py:708 +#: part/models.py:709 msgid "Part revision or version number" msgstr "" -#: part/models.py:709 part/templates/part/part_base.html:252 -#: report/models.py:200 templates/js/translated/part.js:521 +#: part/models.py:710 part/templates/part/part_base.html:252 +#: report/models.py:200 templates/js/translated/part.js:532 msgid "Revision" msgstr "" -#: part/models.py:731 +#: part/models.py:732 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:778 part/templates/part/part_base.html:297 +#: part/models.py:779 part/templates/part/part_base.html:297 msgid "Default Supplier" msgstr "" -#: part/models.py:779 +#: part/models.py:780 msgid "Default supplier part" msgstr "" -#: part/models.py:786 +#: part/models.py:787 msgid "Default Expiry" msgstr "" -#: part/models.py:787 +#: part/models.py:788 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:792 +#: part/models.py:793 msgid "Minimum Stock" msgstr "" -#: part/models.py:793 +#: part/models.py:794 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:800 +#: part/models.py:801 msgid "Stock keeping units for this part" msgstr "" -#: part/models.py:806 +#: part/models.py:807 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:812 +#: part/models.py:813 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:818 +#: part/models.py:819 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:823 +#: part/models.py:824 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:828 +#: part/models.py:829 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:832 templates/js/translated/table_filters.js:34 +#: part/models.py:833 templates/js/translated/table_filters.js:34 #: templates/js/translated/table_filters.js:82 #: templates/js/translated/table_filters.js:268 -#: templates/js/translated/table_filters.js:337 +#: templates/js/translated/table_filters.js:346 msgid "Active" msgstr "" -#: part/models.py:833 +#: part/models.py:834 msgid "Is this part active?" msgstr "" -#: part/models.py:838 +#: part/models.py:839 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:843 +#: part/models.py:844 msgid "Part notes - supports Markdown formatting" msgstr "" -#: part/models.py:846 +#: part/models.py:847 msgid "BOM checksum" msgstr "" -#: part/models.py:846 +#: part/models.py:847 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:849 +#: part/models.py:850 msgid "BOM checked by" msgstr "" -#: part/models.py:851 +#: part/models.py:852 msgid "BOM checked date" msgstr "" -#: part/models.py:855 +#: part/models.py:856 msgid "Creation User" msgstr "" -#: part/models.py:1601 +#: part/models.py:1605 msgid "Sell multiple" msgstr "" -#: part/models.py:2096 +#: part/models.py:2100 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:2113 +#: part/models.py:2117 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:2133 templates/js/translated/part.js:1205 -#: templates/js/translated/stock.js:556 +#: part/models.py:2137 templates/js/translated/part.js:1216 +#: templates/js/translated/stock.js:535 msgid "Test Name" msgstr "" -#: part/models.py:2134 +#: part/models.py:2138 msgid "Enter a name for the test" msgstr "" -#: part/models.py:2139 +#: part/models.py:2143 msgid "Test Description" msgstr "" -#: part/models.py:2140 +#: part/models.py:2144 msgid "Enter description for this test" msgstr "" -#: part/models.py:2145 templates/js/translated/part.js:1214 +#: part/models.py:2149 templates/js/translated/part.js:1225 #: templates/js/translated/table_filters.js:254 msgid "Required" msgstr "" -#: part/models.py:2146 +#: part/models.py:2150 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:2151 templates/js/translated/part.js:1222 +#: part/models.py:2155 templates/js/translated/part.js:1233 msgid "Requires Value" msgstr "" -#: part/models.py:2152 +#: part/models.py:2156 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:2157 templates/js/translated/part.js:1229 +#: part/models.py:2161 templates/js/translated/part.js:1240 msgid "Requires Attachment" msgstr "" -#: part/models.py:2158 +#: part/models.py:2162 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:2169 +#: part/models.py:2173 #, python-brace-format msgid "Illegal character in template name ({c})" msgstr "" -#: part/models.py:2205 +#: part/models.py:2209 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:2213 +#: part/models.py:2217 msgid "Parameter Name" msgstr "" -#: part/models.py:2220 +#: part/models.py:2224 msgid "Parameter Units" msgstr "" -#: part/models.py:2252 part/models.py:2301 part/models.py:2302 -#: templates/InvenTree/settings/settings.html:162 +#: part/models.py:2256 part/models.py:2305 part/models.py:2306 +#: templates/InvenTree/settings/settings.html:164 msgid "Parameter Template" msgstr "" -#: part/models.py:2254 +#: part/models.py:2258 msgid "Data" msgstr "" -#: part/models.py:2254 +#: part/models.py:2258 msgid "Parameter Value" msgstr "" -#: part/models.py:2306 templates/InvenTree/settings/settings.html:171 +#: part/models.py:2310 templates/InvenTree/settings/settings.html:173 msgid "Default Value" msgstr "" -#: part/models.py:2307 +#: part/models.py:2311 msgid "Default Parameter Value" msgstr "" -#: part/models.py:2341 +#: part/models.py:2362 msgid "Select parent part" msgstr "" -#: part/models.py:2349 +#: part/models.py:2370 msgid "Sub part" msgstr "" -#: part/models.py:2350 +#: part/models.py:2371 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:2356 +#: part/models.py:2377 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:2358 templates/js/translated/bom.js:256 -#: templates/js/translated/bom.js:314 +#: part/models.py:2379 templates/js/translated/bom.js:275 +#: templates/js/translated/bom.js:335 msgid "Optional" msgstr "" -#: part/models.py:2358 +#: part/models.py:2379 msgid "This BOM item is optional" msgstr "" -#: part/models.py:2361 +#: part/models.py:2382 msgid "Overage" msgstr "" -#: part/models.py:2362 +#: part/models.py:2383 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:2365 +#: part/models.py:2386 msgid "BOM item reference" msgstr "" -#: part/models.py:2368 +#: part/models.py:2389 msgid "BOM item notes" msgstr "" -#: part/models.py:2370 +#: part/models.py:2391 msgid "Checksum" msgstr "" -#: part/models.py:2370 +#: part/models.py:2391 msgid "BOM line checksum" msgstr "" -#: part/models.py:2374 templates/js/translated/bom.js:331 -#: templates/js/translated/bom.js:338 +#: part/models.py:2395 templates/js/translated/bom.js:352 +#: templates/js/translated/bom.js:359 #: templates/js/translated/table_filters.js:68 msgid "Inherited" msgstr "" -#: part/models.py:2375 +#: part/models.py:2396 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:2380 templates/js/translated/bom.js:323 +#: part/models.py:2401 templates/js/translated/bom.js:344 msgid "Allow Variants" msgstr "" -#: part/models.py:2381 +#: part/models.py:2402 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:2466 stock/models.py:341 +#: part/models.py:2487 stock/models.py:341 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:2475 part/models.py:2477 +#: part/models.py:2496 part/models.py:2498 msgid "Sub part must be specified" msgstr "" -#: part/models.py:2480 -msgid "BOM Item" -msgstr "" - -#: part/models.py:2599 +#: part/models.py:2620 msgid "Part 1" msgstr "" -#: part/models.py:2603 +#: part/models.py:2624 msgid "Part 2" msgstr "" -#: part/models.py:2603 +#: part/models.py:2624 msgid "Select Related Part" msgstr "" -#: part/models.py:2635 +#: part/models.py:2656 msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique" msgstr "" @@ -4578,7 +4444,7 @@ msgstr "" msgid "Create new part" msgstr "" -#: part/templates/part/category.html:131 +#: part/templates/part/category.html:131 templates/js/translated/bom.js:39 msgid "New Part" msgstr "" @@ -4658,7 +4524,7 @@ msgstr "" msgid "Import Parts" msgstr "" -#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:352 +#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:363 msgid "Duplicate Part" msgstr "" @@ -4785,34 +4651,26 @@ msgstr "" msgid "Add Test Result Template" msgstr "" -#: part/templates/part/detail.html:716 -msgid "Edit Test Result Template" -msgstr "" - -#: part/templates/part/detail.html:728 -msgid "Delete Test Result Template" -msgstr "" - -#: part/templates/part/detail.html:784 +#: part/templates/part/detail.html:755 msgid "Edit Part Notes" msgstr "" -#: part/templates/part/detail.html:936 +#: part/templates/part/detail.html:907 #, python-format msgid "Purchase Unit Price - %(currency)s" msgstr "" -#: part/templates/part/detail.html:948 +#: part/templates/part/detail.html:919 #, python-format msgid "Unit Price-Cost Difference - %(currency)s" msgstr "" -#: part/templates/part/detail.html:960 +#: part/templates/part/detail.html:931 #, python-format msgid "Supplier Unit Cost - %(currency)s" msgstr "" -#: part/templates/part/detail.html:1049 +#: part/templates/part/detail.html:1020 #, python-format msgid "Unit Price - %(currency)s" msgstr "" @@ -4874,9 +4732,9 @@ msgstr "" msgid "Part is virtual (not a physical part)" msgstr "" -#: part/templates/part/part_base.html:58 templates/js/translated/company.js:503 -#: templates/js/translated/company.js:759 templates/js/translated/part.js:432 -#: templates/js/translated/part.js:509 +#: part/templates/part/part_base.html:58 templates/js/translated/company.js:504 +#: templates/js/translated/company.js:761 templates/js/translated/part.js:443 +#: templates/js/translated/part.js:520 msgid "Inactive" msgstr "" @@ -4942,10 +4800,16 @@ msgid "This part is a variant of %(link)s" msgstr "" #: part/templates/part/part_base.html:161 +#: templates/js/translated/model_renderers.js:169 +#: templates/js/translated/order.js:1503 #: templates/js/translated/table_filters.js:166 msgid "In Stock" msgstr "" +#: part/templates/part/part_base.html:167 templates/js/translated/part.js:960 +msgid "On Order" +msgstr "" + #: part/templates/part/part_base.html:174 templates/InvenTree/index.html:186 msgid "Required for Build Orders" msgstr "" @@ -4958,18 +4822,18 @@ msgstr "" msgid "Allocated to Orders" msgstr "" -#: part/templates/part/part_base.html:203 templates/js/translated/bom.js:352 +#: part/templates/part/part_base.html:203 templates/js/translated/bom.js:373 msgid "Can Build" msgstr "" -#: part/templates/part/part_base.html:209 templates/js/translated/part.js:765 -#: templates/js/translated/part.js:953 +#: part/templates/part/part_base.html:209 templates/js/translated/part.js:776 +#: templates/js/translated/part.js:964 msgid "Building" msgstr "" #: part/templates/part/part_base.html:223 -#: part/templates/part/part_base.html:524 -#: part/templates/part/part_base.html:550 +#: part/templates/part/part_base.html:531 +#: part/templates/part/part_base.html:557 msgid "Show Part Details" msgstr "" @@ -4977,16 +4841,16 @@ msgstr "" msgid "Latest Serial Number" msgstr "" -#: part/templates/part/part_base.html:396 part/templates/part/prices.html:144 +#: part/templates/part/part_base.html:402 part/templates/part/prices.html:144 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:439 +#: part/templates/part/part_base.html:445 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:519 -#: part/templates/part/part_base.html:544 +#: part/templates/part/part_base.html:526 +#: part/templates/part/part_base.html:551 msgid "Hide Part Details" msgstr "" @@ -5013,7 +4877,7 @@ msgid "Total Cost" msgstr "" #: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:40 -#: templates/js/translated/bom.js:307 +#: templates/js/translated/bom.js:327 msgid "No supplier pricing available" msgstr "" @@ -5051,32 +4915,39 @@ msgstr "" msgid "Select from existing images" msgstr "" -#: part/templates/part/partial_delete.html:7 +#: part/templates/part/partial_delete.html:9 +#, python-format +msgid "Part '%(full_name)s' cannot be deleted as it is still marked as active.\n" +"
Disable the \"Active\" part attribute and re-try.\n" +" " +msgstr "" + +#: part/templates/part/partial_delete.html:17 #, python-format msgid "Are you sure you want to delete part '%(full_name)s'?" msgstr "" -#: part/templates/part/partial_delete.html:12 +#: part/templates/part/partial_delete.html:22 #, python-format msgid "This part is used in BOMs for %(count)s other parts. If you delete this part, the BOMs for the following parts will be updated" msgstr "" -#: part/templates/part/partial_delete.html:22 +#: part/templates/part/partial_delete.html:32 #, python-format msgid "There are %(count)s stock entries defined for this part. If you delete this part, the following stock entries will also be deleted:" msgstr "" -#: part/templates/part/partial_delete.html:33 +#: part/templates/part/partial_delete.html:43 #, python-format msgid "There are %(count)s manufacturers defined for this part. If you delete this part, the following manufacturer parts will also be deleted:" msgstr "" -#: part/templates/part/partial_delete.html:44 +#: part/templates/part/partial_delete.html:54 #, python-format msgid "There are %(count)s suppliers defined for this part. If you delete this part, the following supplier parts will also be deleted:" msgstr "" -#: part/templates/part/partial_delete.html:55 +#: part/templates/part/partial_delete.html:65 #, python-format msgid "There are %(count)s unique parts tracked for '%(full_name)s'. Deleting this part will permanently remove this tracking information." msgstr "" @@ -5109,7 +4980,7 @@ msgstr "" msgid "Calculation parameters" msgstr "" -#: part/templates/part/prices.html:155 templates/js/translated/bom.js:301 +#: part/templates/part/prices.html:155 templates/js/translated/bom.js:321 msgid "Supplier Cost" msgstr "" @@ -5151,8 +5022,9 @@ msgstr "" msgid "Set category for the following parts" msgstr "" -#: part/templates/part/stock_count.html:7 templates/js/translated/bom.js:278 -#: templates/js/translated/part.js:755 templates/js/translated/part.js:957 +#: part/templates/part/stock_count.html:7 templates/js/translated/bom.js:297 +#: templates/js/translated/model_renderers.js:167 +#: templates/js/translated/part.js:766 templates/js/translated/part.js:968 msgid "No Stock" msgstr "" @@ -5262,7 +5134,7 @@ msgstr "" msgid "Delete Part Parameter Template" msgstr "" -#: part/views.py:1502 templates/js/translated/part.js:303 +#: part/views.py:1502 templates/js/translated/part.js:308 msgid "Edit Part Category" msgstr "" @@ -5400,17 +5272,17 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:88 -#: stock/models.py:1807 +#: stock/models.py:1804 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:89 -#: stock/models.py:1813 +#: stock/models.py:1810 msgid "Result" msgstr "" #: report/templates/report/inventree_test_report_base.html:92 -#: templates/js/translated/order.js:353 templates/js/translated/stock.js:1523 +#: templates/js/translated/order.js:684 templates/js/translated/stock.js:1502 msgid "Date" msgstr "" @@ -5422,51 +5294,9 @@ msgstr "" msgid "Fail" msgstr "" -#: stock/api.py:146 -msgid "Request must contain list of stock items" -msgstr "" - -#: stock/api.py:154 -msgid "Improperly formatted data" -msgstr "" - -#: stock/api.py:162 -msgid "Each entry must contain a valid integer primary-key" -msgstr "" - -#: stock/api.py:168 -msgid "Primary key does not match valid stock item" -msgstr "" - -#: stock/api.py:178 -msgid "Invalid quantity value" -msgstr "" - -#: stock/api.py:183 -msgid "Quantity must not be less than zero" -msgstr "" - -#: stock/api.py:211 -#, python-brace-format -msgid "Updated stock for {n} items" -msgstr "" - -#: stock/api.py:247 stock/api.py:280 -msgid "Specified quantity exceeds stock quantity" -msgstr "" - -#: stock/api.py:270 -msgid "Valid location must be specified" -msgstr "" - -#: stock/api.py:290 -#, python-brace-format -msgid "Moved {n} parts to {loc}" -msgstr "" - #: stock/forms.py:79 stock/forms.py:307 stock/models.py:556 #: stock/templates/stock/item_base.html:395 -#: templates/js/translated/stock.js:967 +#: templates/js/translated/stock.js:946 msgid "Expiry Date" msgstr "" @@ -5678,38 +5508,54 @@ msgstr "" msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:1727 +#: stock/models.py:1724 msgid "Entry notes" msgstr "" -#: stock/models.py:1784 +#: stock/models.py:1781 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:1790 +#: stock/models.py:1787 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:1808 +#: stock/models.py:1805 msgid "Test name" msgstr "" -#: stock/models.py:1814 templates/js/translated/table_filters.js:244 +#: stock/models.py:1811 templates/js/translated/table_filters.js:244 msgid "Test result" msgstr "" -#: stock/models.py:1820 +#: stock/models.py:1817 msgid "Test output value" msgstr "" -#: stock/models.py:1827 +#: stock/models.py:1824 msgid "Test result attachment" msgstr "" -#: stock/models.py:1833 +#: stock/models.py:1830 msgid "Test notes" msgstr "" +#: stock/serializers.py:424 +msgid "StockItem primary key value" +msgstr "" + +#: stock/serializers.py:452 +msgid "Stock transaction notes" +msgstr "" + +#: stock/serializers.py:462 +msgid "A list of stock items must be provided" +msgstr "" + +#: stock/serializers.py:554 +msgid "Destination stock location" +msgstr "" + #: stock/templates/stock/item.html:17 msgid "Stock Tracking Information" msgstr "" @@ -5747,7 +5593,7 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:125 stock/views.py:534 +#: stock/templates/stock/item.html:125 stock/views.py:511 msgid "Install Stock Item" msgstr "" @@ -5910,7 +5756,7 @@ msgid "next page" msgstr "" #: stock/templates/stock/item_base.html:303 -#: templates/js/translated/build.js:651 +#: templates/js/translated/build.js:658 msgid "No location set" msgstr "" @@ -5937,7 +5783,7 @@ msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:408 -#: templates/js/translated/stock.js:980 +#: templates/js/translated/stock.js:959 msgid "Last Updated" msgstr "" @@ -6019,6 +5865,10 @@ msgstr "" msgid "All stock items" msgstr "" +#: stock/templates/stock/location.html:42 +msgid "Create new stock location" +msgstr "" + #: stock/templates/stock/location.html:55 msgid "Check-in Items" msgstr "" @@ -6058,7 +5908,7 @@ msgstr "" msgid "Stock Details" msgstr "" -#: stock/templates/stock/location.html:129 templates/InvenTree/search.html:279 +#: stock/templates/stock/location.html:129 templates/InvenTree/search.html:196 #: templates/stats.html:97 users/models.py:42 msgid "Stock Locations" msgstr "" @@ -6071,6 +5921,10 @@ msgstr "" msgid "Print labels" msgstr "" +#: stock/templates/stock/location.html:250 +msgid "New Location" +msgstr "" + #: stock/templates/stock/location.html:251 msgid "Create new location" msgstr "" @@ -6111,7 +5965,7 @@ msgstr "" msgid "The following stock items will be uninstalled" msgstr "" -#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:932 +#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:909 msgid "Convert Stock Item" msgstr "" @@ -6132,104 +5986,104 @@ msgstr "" msgid "Are you sure you want to delete this stock tracking entry?" msgstr "" -#: stock/views.py:181 +#: stock/views.py:158 msgid "Edit Stock Location" msgstr "" -#: stock/views.py:288 stock/views.py:911 stock/views.py:1033 -#: stock/views.py:1398 +#: stock/views.py:265 stock/views.py:888 stock/views.py:1010 +#: stock/views.py:1375 msgid "Owner is required (ownership control is enabled)" msgstr "" -#: stock/views.py:303 +#: stock/views.py:280 msgid "Stock Location QR code" msgstr "" -#: stock/views.py:322 +#: stock/views.py:299 msgid "Assign to Customer" msgstr "" -#: stock/views.py:331 +#: stock/views.py:308 msgid "Customer must be specified" msgstr "" -#: stock/views.py:355 +#: stock/views.py:332 msgid "Return to Stock" msgstr "" -#: stock/views.py:364 +#: stock/views.py:341 msgid "Specify a valid location" msgstr "" -#: stock/views.py:375 +#: stock/views.py:352 msgid "Stock item returned from customer" msgstr "" -#: stock/views.py:386 +#: stock/views.py:363 msgid "Delete All Test Data" msgstr "" -#: stock/views.py:403 +#: stock/views.py:380 msgid "Confirm test data deletion" msgstr "" -#: stock/views.py:508 +#: stock/views.py:485 msgid "Stock Item QR Code" msgstr "" -#: stock/views.py:683 +#: stock/views.py:660 msgid "Uninstall Stock Items" msgstr "" -#: stock/views.py:780 templates/js/translated/stock.js:353 +#: stock/views.py:757 templates/js/translated/stock.js:321 msgid "Confirm stock adjustment" msgstr "" -#: stock/views.py:791 +#: stock/views.py:768 msgid "Uninstalled stock items" msgstr "" -#: stock/views.py:813 +#: stock/views.py:790 msgid "Edit Stock Item" msgstr "" -#: stock/views.py:959 +#: stock/views.py:936 msgid "Create new Stock Location" msgstr "" -#: stock/views.py:1050 +#: stock/views.py:1027 msgid "Serialize Stock" msgstr "" -#: stock/views.py:1143 templates/js/translated/build.js:392 +#: stock/views.py:1120 msgid "Create new Stock Item" msgstr "" -#: stock/views.py:1285 +#: stock/views.py:1262 msgid "Duplicate Stock Item" msgstr "" -#: stock/views.py:1367 +#: stock/views.py:1344 msgid "Quantity cannot be negative" msgstr "" -#: stock/views.py:1467 +#: stock/views.py:1444 msgid "Delete Stock Location" msgstr "" -#: stock/views.py:1480 +#: stock/views.py:1457 msgid "Delete Stock Item" msgstr "" -#: stock/views.py:1491 +#: stock/views.py:1468 msgid "Delete Stock Tracking Entry" msgstr "" -#: stock/views.py:1498 +#: stock/views.py:1475 msgid "Edit Stock Tracking Entry" msgstr "" -#: stock/views.py:1507 +#: stock/views.py:1484 msgid "Add Stock Tracking Entry" msgstr "" @@ -6313,14 +6167,6 @@ msgstr "" msgid "Enter a search query" msgstr "" -#: templates/InvenTree/search.html:268 templates/js/translated/stock.js:699 -msgid "Shipped to customer" -msgstr "" - -#: templates/InvenTree/search.html:271 templates/js/translated/stock.js:709 -msgid "No stock location set" -msgstr "" - #: templates/InvenTree/settings/barcode.html:8 msgid "Barcode Settings" msgstr "" @@ -6365,6 +6211,14 @@ msgstr "" msgid "Setting" msgstr "" +#: templates/InvenTree/settings/login.html:9 +msgid "Login Settings" +msgstr "" + +#: templates/InvenTree/settings/login.html:22 templates/account/signup.html:5 +msgid "Signup" +msgstr "" + #: templates/InvenTree/settings/navbar.html:12 #: templates/InvenTree/settings/user_settings.html:9 msgid "User Settings" @@ -6382,7 +6236,7 @@ msgstr "" #: templates/InvenTree/settings/navbar.html:27 #: templates/InvenTree/settings/navbar.html:29 -#: templates/js/translated/tables.js:366 templates/search_form.html:6 +#: templates/js/translated/tables.js:375 templates/search_form.html:6 #: templates/search_form.html:8 msgid "Search" msgstr "" @@ -6397,38 +6251,48 @@ msgstr "" msgid "Reports" msgstr "" -#: templates/InvenTree/settings/navbar.html:46 -#: templates/InvenTree/settings/navbar.html:48 -#: templates/InvenTree/settings/settings.html:8 templates/navbar.html:94 +#: templates/InvenTree/settings/navbar.html:45 +#: templates/InvenTree/settings/navbar.html:47 +msgid "Forms" +msgstr "" + +#: templates/InvenTree/settings/navbar.html:52 +#: templates/InvenTree/settings/navbar.html:54 +#: templates/InvenTree/settings/settings.html:8 templates/navbar.html:90 msgid "Settings" msgstr "" -#: templates/InvenTree/settings/navbar.html:56 +#: templates/InvenTree/settings/navbar.html:62 msgid "InvenTree Settings" msgstr "" -#: templates/InvenTree/settings/navbar.html:59 -#: templates/InvenTree/settings/navbar.html:61 templates/stats.html:9 +#: templates/InvenTree/settings/navbar.html:65 +#: templates/InvenTree/settings/navbar.html:67 templates/stats.html:9 msgid "Server" msgstr "" -#: templates/InvenTree/settings/navbar.html:65 -#: templates/InvenTree/settings/navbar.html:67 -msgid "Barcodes" -msgstr "" - #: templates/InvenTree/settings/navbar.html:71 -#: templates/InvenTree/settings/navbar.html:73 -msgid "Currencies" +#: templates/InvenTree/settings/navbar.html:73 templates/navbar.html:87 +msgid "Login" msgstr "" #: templates/InvenTree/settings/navbar.html:77 #: templates/InvenTree/settings/navbar.html:79 -msgid "Reporting" +msgid "Barcodes" +msgstr "" + +#: templates/InvenTree/settings/navbar.html:83 +#: templates/InvenTree/settings/navbar.html:85 +msgid "Currencies" msgstr "" #: templates/InvenTree/settings/navbar.html:89 #: templates/InvenTree/settings/navbar.html:91 +msgid "Reporting" +msgstr "" + +#: templates/InvenTree/settings/navbar.html:101 +#: templates/InvenTree/settings/navbar.html:103 msgid "Categories" msgstr "" @@ -6469,21 +6333,21 @@ msgstr "" msgid "Edit setting" msgstr "" -#: templates/InvenTree/settings/settings.html:152 +#: templates/InvenTree/settings/settings.html:154 msgid "No category parameter templates found" msgstr "" -#: templates/InvenTree/settings/settings.html:174 -#: templates/InvenTree/settings/settings.html:273 +#: templates/InvenTree/settings/settings.html:176 +#: templates/InvenTree/settings/settings.html:275 msgid "Edit Template" msgstr "" -#: templates/InvenTree/settings/settings.html:175 -#: templates/InvenTree/settings/settings.html:274 +#: templates/InvenTree/settings/settings.html:177 +#: templates/InvenTree/settings/settings.html:276 msgid "Delete Template" msgstr "" -#: templates/InvenTree/settings/settings.html:253 +#: templates/InvenTree/settings/settings.html:255 msgid "No part parameter templates found" msgstr "" @@ -6495,70 +6359,140 @@ msgstr "" msgid "Stock Settings" msgstr "" -#: templates/InvenTree/settings/user.html:9 +#: templates/InvenTree/settings/user.html:11 msgid "Account Settings" msgstr "" -#: templates/InvenTree/settings/user.html:15 +#: templates/InvenTree/settings/user.html:19 #: templates/js/translated/helpers.js:26 msgid "Edit" msgstr "" -#: templates/InvenTree/settings/user.html:17 +#: templates/InvenTree/settings/user.html:21 +#: templates/account/password_reset_from_key.html:4 +#: templates/account/password_reset_from_key.html:7 msgid "Change Password" msgstr "" -#: templates/InvenTree/settings/user.html:24 -#: templates/registration/login.html:58 +#: templates/InvenTree/settings/user.html:28 msgid "Username" msgstr "" -#: templates/InvenTree/settings/user.html:28 +#: templates/InvenTree/settings/user.html:32 msgid "First Name" msgstr "" -#: templates/InvenTree/settings/user.html:32 +#: templates/InvenTree/settings/user.html:36 msgid "Last Name" msgstr "" -#: templates/InvenTree/settings/user.html:36 -msgid "Email Address" +#: templates/InvenTree/settings/user.html:42 +msgid "E-Mail" msgstr "" -#: templates/InvenTree/settings/user.html:42 -msgid "Theme Settings" +#: templates/InvenTree/settings/user.html:47 +msgid "The following e-mail addresses are associated with your account:" +msgstr "" + +#: templates/InvenTree/settings/user.html:61 +msgid "Verified" msgstr "" #: templates/InvenTree/settings/user.html:63 +msgid "Unverified" +msgstr "" + +#: templates/InvenTree/settings/user.html:65 +msgid "Primary" +msgstr "" + +#: templates/InvenTree/settings/user.html:71 +msgid "Make Primary" +msgstr "" + +#: templates/InvenTree/settings/user.html:72 +msgid "Re-send Verification" +msgstr "" + +#: templates/InvenTree/settings/user.html:73 +#: templates/InvenTree/settings/user.html:130 +msgid "Remove" +msgstr "" + +#: templates/InvenTree/settings/user.html:80 +msgid "Warning:" +msgstr "" + +#: templates/InvenTree/settings/user.html:81 +msgid "You currently do not have any e-mail address set up. You should really add an e-mail address so you can receive notifications, reset your password, etc." +msgstr "" + +#: templates/InvenTree/settings/user.html:88 +msgid "Add E-mail Address" +msgstr "" + +#: templates/InvenTree/settings/user.html:93 +msgid "Add E-mail" +msgstr "" + +#: templates/InvenTree/settings/user.html:100 +msgid "Social Accounts" +msgstr "" + +#: templates/InvenTree/settings/user.html:105 +msgid "You can sign in to your account using any of the following third party accounts:" +msgstr "" + +#: templates/InvenTree/settings/user.html:138 +msgid "You currently have no social network accounts connected to this account." +msgstr "" + +#: templates/InvenTree/settings/user.html:142 +msgid "Add a 3rd Party Account" +msgstr "" + +#: templates/InvenTree/settings/user.html:153 +msgid "Theme Settings" +msgstr "" + +#: templates/InvenTree/settings/user.html:174 msgid "Set Theme" msgstr "" -#: templates/InvenTree/settings/user.html:70 +#: templates/InvenTree/settings/user.html:181 msgid "Language Settings" msgstr "" -#: templates/InvenTree/settings/user.html:89 +#: templates/InvenTree/settings/user.html:200 #, python-format msgid "%(lang_translated)s%% translated" msgstr "" -#: templates/InvenTree/settings/user.html:91 +#: templates/InvenTree/settings/user.html:202 msgid "No translations available" msgstr "" -#: templates/InvenTree/settings/user.html:98 +#: templates/InvenTree/settings/user.html:209 msgid "Set Language" msgstr "" -#: templates/InvenTree/settings/user.html:103 +#: templates/InvenTree/settings/user.html:214 msgid "Help the translation efforts!" msgstr "" -#: templates/InvenTree/settings/user.html:104 +#: templates/InvenTree/settings/user.html:215 #, python-format msgid "Native language translation of the InvenTree web application is community contributed via crowdin. Contributions are welcomed and encouraged." msgstr "" +#: templates/InvenTree/settings/user.html:223 +msgid "Do you really want to remove the selected e-mail address?" +msgstr "" + +#: templates/InvenTree/settings/user_forms.html:9 +msgid "Form Settings" +msgstr "" + #: templates/InvenTree/settings/user_homepage.html:9 msgid "Home Page Settings" msgstr "" @@ -6641,11 +6575,108 @@ msgstr "" #: templates/about.html:107 templates/js/translated/modals.js:50 #: templates/js/translated/modals.js:584 templates/js/translated/modals.js:678 -#: templates/js/translated/modals.js:971 templates/modals.html:29 +#: templates/js/translated/modals.js:982 templates/modals.html:29 #: templates/modals.html:54 msgid "Close" msgstr "" +#: templates/account/email_confirm.html:6 +#: templates/account/email_confirm.html:10 +msgid "Confirm E-mail Address" +msgstr "" + +#: templates/account/email_confirm.html:16 +#, python-format +msgid "Please confirm that %(email)s is an e-mail address for user %(user_display)s." +msgstr "" + +#: templates/account/email_confirm.html:27 +#, python-format +msgid "This e-mail confirmation link expired or is invalid. Please issue a new e-mail confirmation request." +msgstr "" + +#: templates/account/login.html:5 templates/account/login.html:14 +#: templates/account/login.html:36 +msgid "Sign In" +msgstr "" + +#: templates/account/login.html:19 +#, python-format +msgid "Please sign in with one\n" +"of your existing third party accounts or sign up\n" +"for a account and sign in below:" +msgstr "" + +#: templates/account/login.html:23 +#, python-format +msgid "If you have not created an account yet, then please\n" +"sign up first." +msgstr "" + +#: templates/account/login.html:38 +msgid "Forgot Password?" +msgstr "" + +#: templates/account/login.html:45 +msgid "or use SSO" +msgstr "" + +#: templates/account/logout.html:5 templates/account/logout.html:8 +#: templates/account/logout.html:17 +msgid "Sign Out" +msgstr "" + +#: templates/account/logout.html:10 +msgid "Are you sure you want to sign out?" +msgstr "" + +#: templates/account/password_reset.html:5 +#: templates/account/password_reset.html:12 +msgid "Password Reset" +msgstr "" + +#: templates/account/password_reset.html:18 +msgid "Forgotten your password? Enter your e-mail address below, and we'll send you an e-mail allowing you to reset it." +msgstr "" + +#: templates/account/password_reset.html:23 +msgid "Reset My Password" +msgstr "" + +#: templates/account/password_reset.html:27 templates/account/signup.html:36 +msgid "This function is currently disabled. Please contact an administrator." +msgstr "" + +#: templates/account/password_reset_from_key.html:7 +msgid "Bad Token" +msgstr "" + +#: templates/account/password_reset_from_key.html:11 +#, python-format +msgid "The password reset link was invalid, possibly because it has already been used. Please request a new password reset." +msgstr "" + +#: templates/account/password_reset_from_key.html:17 +msgid "change password" +msgstr "" + +#: templates/account/password_reset_from_key.html:20 +msgid "Your password is now changed." +msgstr "" + +#: templates/account/signup.html:11 templates/account/signup.html:22 +msgid "Sign Up" +msgstr "" + +#: templates/account/signup.html:13 +#, python-format +msgid "Already have an account? Then please sign in." +msgstr "" + +#: templates/account/signup.html:27 +msgid "Or use a SSO-provider for signup" +msgstr "" + #: templates/image_download.html:8 msgid "Specify URL for downloading image" msgstr "" @@ -6675,7 +6706,7 @@ msgid "Select Test Report Template" msgstr "" #: templates/js/report.js:98 templates/js/translated/label.js:29 -#: templates/js/translated/report.js:118 templates/js/translated/stock.js:313 +#: templates/js/translated/report.js:118 templates/js/translated/stock.js:297 msgid "Select Stock Items" msgstr "" @@ -6707,8 +6738,8 @@ msgstr "" msgid "No report templates found which match selected build(s)" msgstr "" -#: templates/js/report.js:205 templates/js/translated/label.js:134 -#: templates/js/translated/report.js:225 +#: templates/js/report.js:205 templates/js/translated/build.js:948 +#: templates/js/translated/label.js:134 templates/js/translated/report.js:225 msgid "Select Parts" msgstr "" @@ -6741,11 +6772,11 @@ msgstr "" msgid "Sales Order(s) must be selected before printing report" msgstr "" -#: templates/js/translated/api.js:174 templates/js/translated/modals.js:1041 +#: templates/js/translated/api.js:174 templates/js/translated/modals.js:1052 msgid "No Response" msgstr "" -#: templates/js/translated/api.js:175 templates/js/translated/modals.js:1042 +#: templates/js/translated/api.js:175 templates/js/translated/modals.js:1053 msgid "No response from the InvenTree server" msgstr "" @@ -6757,35 +6788,35 @@ msgstr "" msgid "API request returned error code 400" msgstr "" -#: templates/js/translated/api.js:186 templates/js/translated/modals.js:1051 +#: templates/js/translated/api.js:186 templates/js/translated/modals.js:1062 msgid "Error 401: Not Authenticated" msgstr "" -#: templates/js/translated/api.js:187 templates/js/translated/modals.js:1052 +#: templates/js/translated/api.js:187 templates/js/translated/modals.js:1063 msgid "Authentication credentials not supplied" msgstr "" -#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1056 +#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1067 msgid "Error 403: Permission Denied" msgstr "" -#: templates/js/translated/api.js:192 templates/js/translated/modals.js:1057 +#: templates/js/translated/api.js:192 templates/js/translated/modals.js:1068 msgid "You do not have the required permissions to access this function" msgstr "" -#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1061 +#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1072 msgid "Error 404: Resource Not Found" msgstr "" -#: templates/js/translated/api.js:197 templates/js/translated/modals.js:1062 +#: templates/js/translated/api.js:197 templates/js/translated/modals.js:1073 msgid "The requested resource could not be located on the server" msgstr "" -#: templates/js/translated/api.js:201 templates/js/translated/modals.js:1066 +#: templates/js/translated/api.js:201 templates/js/translated/modals.js:1077 msgid "Error 408: Timeout" msgstr "" -#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1067 +#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1078 msgid "Connection timeout while requesting data from server" msgstr "" @@ -6842,7 +6873,7 @@ msgid "Unknown response from server" msgstr "" #: templates/js/translated/barcode.js:141 -#: templates/js/translated/modals.js:1031 +#: templates/js/translated/modals.js:1042 msgid "Invalid server response" msgstr "" @@ -6870,7 +6901,7 @@ msgstr "" msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:398 templates/js/translated/stock.js:289 +#: templates/js/translated/barcode.js:398 templates/js/translated/stock.js:273 msgid "Remove stock item" msgstr "" @@ -6912,115 +6943,181 @@ msgstr "" msgid "Barcode does not match a valid location" msgstr "" -#: templates/js/translated/bom.js:215 templates/js/translated/build.js:1169 +#: templates/js/translated/bom.js:234 templates/js/translated/build.js:1495 msgid "Open subassembly" msgstr "" -#: templates/js/translated/bom.js:287 +#: templates/js/translated/bom.js:288 templates/js/translated/build.js:744 +#: templates/js/translated/build.js:1345 templates/js/translated/build.js:1522 +msgid "Available" +msgstr "" + +#: templates/js/translated/bom.js:307 msgid "Purchase Price Range" msgstr "" -#: templates/js/translated/bom.js:294 +#: templates/js/translated/bom.js:314 msgid "Purchase Price Average" msgstr "" -#: templates/js/translated/bom.js:342 templates/js/translated/bom.js:428 +#: templates/js/translated/bom.js:363 templates/js/translated/bom.js:449 msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:402 +#: templates/js/translated/bom.js:415 templates/js/translated/build.js:798 +#: templates/js/translated/build.js:1545 templates/js/translated/order.js:1285 +msgid "Actions" +msgstr "" + +#: templates/js/translated/bom.js:423 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:404 +#: templates/js/translated/bom.js:425 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:406 templates/js/translated/bom.js:569 +#: templates/js/translated/bom.js:427 templates/js/translated/bom.js:590 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:408 templates/js/translated/bom.js:554 +#: templates/js/translated/bom.js:429 templates/js/translated/bom.js:575 msgid "Delete BOM Item" msgstr "" -#: templates/js/translated/bom.js:499 templates/js/translated/build.js:483 -#: templates/js/translated/build.js:1267 +#: templates/js/translated/bom.js:520 templates/js/translated/build.js:485 +#: templates/js/translated/build.js:1593 msgid "No BOM items found" msgstr "" -#: templates/js/translated/build.js:69 +#: templates/js/translated/build.js:71 msgid "Edit Build Order" msgstr "" -#: templates/js/translated/build.js:95 +#: templates/js/translated/build.js:105 msgid "Create Build Order" msgstr "" -#: templates/js/translated/build.js:127 -msgid "Auto-allocate stock items to this output" +#: templates/js/translated/build.js:138 +msgid "Allocate stock items to this build output" msgstr "" -#: templates/js/translated/build.js:135 +#: templates/js/translated/build.js:146 msgid "Unallocate stock from build output" msgstr "" -#: templates/js/translated/build.js:145 +#: templates/js/translated/build.js:155 msgid "Complete build output" msgstr "" -#: templates/js/translated/build.js:154 +#: templates/js/translated/build.js:164 msgid "Delete build output" msgstr "" -#: templates/js/translated/build.js:249 +#: templates/js/translated/build.js:265 msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:287 templates/js/translated/order.js:813 +#: templates/js/translated/build.js:303 templates/js/translated/order.js:1159 msgid "Location not specified" msgstr "" -#: templates/js/translated/build.js:391 templates/stock_table.html:20 -msgid "New Stock Item" +#: templates/js/translated/build.js:675 templates/js/translated/build.js:1356 +#: templates/js/translated/order.js:1292 +msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/build.js:702 +#: templates/js/translated/build.js:677 templates/js/translated/build.js:1357 +#: templates/js/translated/order.js:1293 +msgid "Delete stock allocation" +msgstr "" + +#: templates/js/translated/build.js:695 +msgid "Edit Allocation" +msgstr "" + +#: templates/js/translated/build.js:705 +msgid "Remove Allocation" +msgstr "" + +#: templates/js/translated/build.js:718 msgid "Required Part" msgstr "" -#: templates/js/translated/build.js:723 +#: templates/js/translated/build.js:739 msgid "Quantity Per" msgstr "" -#: templates/js/translated/build.js:793 templates/js/translated/build.js:1231 +#: templates/js/translated/build.js:749 templates/js/translated/build.js:975 +#: templates/js/translated/build.js:1352 templates/js/translated/order.js:1514 +msgid "Allocated" +msgstr "" + +#: templates/js/translated/build.js:805 templates/js/translated/build.js:1553 +#: templates/js/translated/order.js:1567 +msgid "Build stock" +msgstr "" + +#: templates/js/translated/build.js:809 templates/js/translated/build.js:1557 #: templates/stock_table.html:59 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:846 +#: templates/js/translated/build.js:812 templates/js/translated/order.js:1560 +msgid "Allocate stock" +msgstr "" + +#: templates/js/translated/build.js:880 +msgid "Specify stock allocation quantity" +msgstr "" + +#: templates/js/translated/build.js:949 +msgid "You must select at least one part to allocate" +msgstr "" + +#: templates/js/translated/build.js:963 +msgid "Select source location (leave blank to take from all locations)" +msgstr "" + +#: templates/js/translated/build.js:992 +msgid "Confirm stock allocation" +msgstr "" + +#: templates/js/translated/build.js:993 +msgid "Allocate Stock Items to Build Order" +msgstr "" + +#: templates/js/translated/build.js:1004 +msgid "No matching stock locations" +msgstr "" + +#: templates/js/translated/build.js:1048 +msgid "No matching stock items" +msgstr "" + +#: templates/js/translated/build.js:1172 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:863 templates/js/translated/part.js:845 -#: templates/js/translated/part.js:1123 templates/js/translated/stock.js:783 -#: templates/js/translated/stock.js:1477 +#: templates/js/translated/build.js:1189 templates/js/translated/part.js:856 +#: templates/js/translated/part.js:1134 templates/js/translated/stock.js:762 +#: templates/js/translated/stock.js:1456 msgid "Select" msgstr "" -#: templates/js/translated/build.js:883 +#: templates/js/translated/build.js:1209 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:944 templates/js/translated/stock.js:1696 +#: templates/js/translated/build.js:1270 templates/js/translated/stock.js:1675 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:956 +#: templates/js/translated/build.js:1282 msgid "No information" msgstr "" -#: templates/js/translated/build.js:1007 +#: templates/js/translated/build.js:1333 msgid "No parts allocated for" msgstr "" @@ -7040,7 +7137,7 @@ msgstr "" msgid "Delete Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:164 templates/js/translated/order.js:86 +#: templates/js/translated/company.js:164 templates/js/translated/order.js:89 msgid "Add Supplier" msgstr "" @@ -7084,53 +7181,53 @@ msgstr "" msgid "Delete Manufacturer Parts" msgstr "" -#: templates/js/translated/company.js:475 +#: templates/js/translated/company.js:476 msgid "No manufacturer parts found" msgstr "" -#: templates/js/translated/company.js:495 -#: templates/js/translated/company.js:751 templates/js/translated/part.js:416 -#: templates/js/translated/part.js:501 +#: templates/js/translated/company.js:496 +#: templates/js/translated/company.js:753 templates/js/translated/part.js:427 +#: templates/js/translated/part.js:512 msgid "Template part" msgstr "" -#: templates/js/translated/company.js:499 -#: templates/js/translated/company.js:755 templates/js/translated/part.js:420 -#: templates/js/translated/part.js:505 +#: templates/js/translated/company.js:500 +#: templates/js/translated/company.js:757 templates/js/translated/part.js:431 +#: templates/js/translated/part.js:516 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:626 templates/js/translated/part.js:593 +#: templates/js/translated/company.js:627 templates/js/translated/part.js:604 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:663 templates/js/translated/part.js:635 +#: templates/js/translated/company.js:664 templates/js/translated/part.js:646 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:664 templates/js/translated/part.js:636 +#: templates/js/translated/company.js:665 templates/js/translated/part.js:647 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:683 templates/js/translated/part.js:653 +#: templates/js/translated/company.js:684 templates/js/translated/part.js:664 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:694 templates/js/translated/part.js:665 +#: templates/js/translated/company.js:695 templates/js/translated/part.js:676 msgid "Delete Parameter" msgstr "" -#: templates/js/translated/company.js:731 +#: templates/js/translated/company.js:733 msgid "No supplier parts found" msgstr "" #: templates/js/translated/filters.js:178 -#: templates/js/translated/filters.js:402 +#: templates/js/translated/filters.js:407 msgid "true" msgstr "" #: templates/js/translated/filters.js:182 -#: templates/js/translated/filters.js:403 +#: templates/js/translated/filters.js:408 msgid "false" msgstr "" @@ -7138,19 +7235,19 @@ msgstr "" msgid "Select filter" msgstr "" -#: templates/js/translated/filters.js:279 +#: templates/js/translated/filters.js:284 msgid "Reload data" msgstr "" -#: templates/js/translated/filters.js:281 +#: templates/js/translated/filters.js:286 msgid "Add new filter" msgstr "" -#: templates/js/translated/filters.js:284 +#: templates/js/translated/filters.js:289 msgid "Clear all filters" msgstr "" -#: templates/js/translated/filters.js:312 +#: templates/js/translated/filters.js:317 msgid "Create filter" msgstr "" @@ -7175,16 +7272,20 @@ msgstr "" msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:889 templates/modals.html:21 +#: templates/js/translated/forms.js:968 templates/modals.html:21 #: templates/modals.html:47 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1379 +#: templates/js/translated/forms.js:1323 +msgid "No results found" +msgstr "" + +#: templates/js/translated/forms.js:1525 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:1593 +#: templates/js/translated/forms.js:1742 msgid "Clear input" msgstr "" @@ -7247,7 +7348,7 @@ msgid "Cancel" msgstr "" #: templates/js/translated/modals.js:77 templates/js/translated/modals.js:119 -#: templates/js/translated/modals.js:677 templates/js/translated/modals.js:970 +#: templates/js/translated/modals.js:677 templates/js/translated/modals.js:981 #: templates/modals.html:30 templates/modals.html:55 msgid "Submit" msgstr "" @@ -7272,31 +7373,31 @@ msgstr "" msgid "Loading Data" msgstr "" -#: templates/js/translated/modals.js:922 +#: templates/js/translated/modals.js:933 msgid "Invalid response from server" msgstr "" -#: templates/js/translated/modals.js:922 +#: templates/js/translated/modals.js:933 msgid "Form data missing from server response" msgstr "" -#: templates/js/translated/modals.js:934 +#: templates/js/translated/modals.js:945 msgid "Error posting form data" msgstr "" -#: templates/js/translated/modals.js:1031 +#: templates/js/translated/modals.js:1042 msgid "JSON response missing form data" msgstr "" -#: templates/js/translated/modals.js:1046 +#: templates/js/translated/modals.js:1057 msgid "Error 400: Bad Request" msgstr "" -#: templates/js/translated/modals.js:1047 +#: templates/js/translated/modals.js:1058 msgid "Server returned error code 400" msgstr "" -#: templates/js/translated/modals.js:1070 +#: templates/js/translated/modals.js:1081 msgid "Error requesting form data" msgstr "" @@ -7304,70 +7405,195 @@ msgstr "" msgid "Company ID" msgstr "" -#: templates/js/translated/model_renderers.js:82 +#: templates/js/translated/model_renderers.js:90 +msgid "Stock ID" +msgstr "" + +#: templates/js/translated/model_renderers.js:125 msgid "Location ID" msgstr "" -#: templates/js/translated/model_renderers.js:99 +#: templates/js/translated/model_renderers.js:142 msgid "Build ID" msgstr "" -#: templates/js/translated/model_renderers.js:119 +#: templates/js/translated/model_renderers.js:177 msgid "Part ID" msgstr "" -#: templates/js/translated/model_renderers.js:171 +#: templates/js/translated/model_renderers.js:231 +msgid "Order ID" +msgstr "" + +#: templates/js/translated/model_renderers.js:251 msgid "Category ID" msgstr "" -#: templates/js/translated/model_renderers.js:208 +#: templates/js/translated/model_renderers.js:288 msgid "Manufacturer Part ID" msgstr "" -#: templates/js/translated/model_renderers.js:237 +#: templates/js/translated/model_renderers.js:317 msgid "Supplier Part ID" msgstr "" -#: templates/js/translated/order.js:45 +#: templates/js/translated/order.js:48 msgid "Add Customer" msgstr "" -#: templates/js/translated/order.js:70 +#: templates/js/translated/order.js:73 msgid "Create Sales Order" msgstr "" -#: templates/js/translated/order.js:295 +#: templates/js/translated/order.js:207 +msgid "Export Order" +msgstr "" + +#: templates/js/translated/order.js:210 templates/js/translated/stock.js:96 +msgid "Format" +msgstr "" + +#: templates/js/translated/order.js:211 templates/js/translated/stock.js:97 +msgid "Select file format" +msgstr "" + +#: templates/js/translated/order.js:299 +msgid "Select Line Items" +msgstr "" + +#: templates/js/translated/order.js:300 +msgid "At least one line item must be selected" +msgstr "" + +#: templates/js/translated/order.js:325 +msgid "Quantity to receive" +msgstr "" + +#: templates/js/translated/order.js:359 templates/js/translated/stock.js:1343 +msgid "Stock Status" +msgstr "" + +#: templates/js/translated/order.js:426 +msgid "Order Code" +msgstr "" + +#: templates/js/translated/order.js:427 +msgid "Ordered" +msgstr "" + +#: templates/js/translated/order.js:429 +msgid "Receive" +msgstr "" + +#: templates/js/translated/order.js:448 +msgid "Confirm receipt of items" +msgstr "" + +#: templates/js/translated/order.js:449 +msgid "Receive Purchase Order Items" +msgstr "" + +#: templates/js/translated/order.js:626 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/order.js:320 templates/js/translated/order.js:682 +#: templates/js/translated/order.js:651 templates/js/translated/order.js:1028 msgid "Order is overdue" msgstr "" -#: templates/js/translated/order.js:452 +#: templates/js/translated/order.js:749 templates/js/translated/order.js:1602 +msgid "Edit Line Item" +msgstr "" + +#: templates/js/translated/order.js:761 templates/js/translated/order.js:1613 +msgid "Delete Line Item" +msgstr "" + +#: templates/js/translated/order.js:800 msgid "No line items found" msgstr "" -#: templates/js/translated/order.js:617 +#: templates/js/translated/order.js:827 templates/js/translated/order.js:1432 +msgid "Total" +msgstr "" + +#: templates/js/translated/order.js:880 templates/js/translated/order.js:1457 +#: templates/js/translated/part.js:1343 templates/js/translated/part.js:1554 +msgid "Unit Price" +msgstr "" + +#: templates/js/translated/order.js:889 templates/js/translated/order.js:1464 +msgid "Total price" +msgstr "" + +#: templates/js/translated/order.js:962 templates/js/translated/order.js:1573 +msgid "Edit line item" +msgstr "" + +#: templates/js/translated/order.js:963 msgid "Delete line item" msgstr "" -#: templates/js/translated/order.js:621 +#: templates/js/translated/order.js:967 msgid "Receive line item" msgstr "" -#: templates/js/translated/order.js:658 +#: templates/js/translated/order.js:1004 msgid "No sales orders found" msgstr "" -#: templates/js/translated/order.js:696 +#: templates/js/translated/order.js:1042 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/order.js:774 +#: templates/js/translated/order.js:1120 msgid "No sales order allocations found" msgstr "" +#: templates/js/translated/order.js:1213 +msgid "Edit Stock Allocation" +msgstr "" + +#: templates/js/translated/order.js:1231 +msgid "Delete Stock Allocation" +msgstr "" + +#: templates/js/translated/order.js:1273 +msgid "Stock location not specified" +msgstr "" + +#: templates/js/translated/order.js:1514 +msgid "Fulfilled" +msgstr "" + +#: templates/js/translated/order.js:1557 +msgid "Allocate serial numbers" +msgstr "" + +#: templates/js/translated/order.js:1563 +msgid "Purchase stock" +msgstr "" + +#: templates/js/translated/order.js:1570 templates/js/translated/order.js:1725 +msgid "Calculate price" +msgstr "" + +#: templates/js/translated/order.js:1574 +msgid "Delete line item " +msgstr "" + +#: templates/js/translated/order.js:1673 +msgid "Allocate Stock Item" +msgstr "" + +#: templates/js/translated/order.js:1733 +msgid "Update Unit Price" +msgstr "" + +#: templates/js/translated/order.js:1747 +msgid "No matching line items" +msgstr "" + #: templates/js/translated/part.js:49 msgid "Part Attributes" msgstr "" @@ -7388,396 +7614,396 @@ msgstr "" msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:159 +#: templates/js/translated/part.js:164 msgid "Create Initial Stock" msgstr "" -#: templates/js/translated/part.js:160 +#: templates/js/translated/part.js:165 msgid "Create an initial stock item for this part" msgstr "" -#: templates/js/translated/part.js:167 +#: templates/js/translated/part.js:172 msgid "Initial Stock Quantity" msgstr "" -#: templates/js/translated/part.js:168 +#: templates/js/translated/part.js:173 msgid "Specify initial stock quantity for this part" msgstr "" -#: templates/js/translated/part.js:175 templates/js/translated/stock.js:330 +#: templates/js/translated/part.js:180 msgid "Select destination stock location" msgstr "" -#: templates/js/translated/part.js:186 +#: templates/js/translated/part.js:191 msgid "Copy Category Parameters" msgstr "" -#: templates/js/translated/part.js:187 +#: templates/js/translated/part.js:192 msgid "Copy parameter templates from selected part category" msgstr "" -#: templates/js/translated/part.js:195 +#: templates/js/translated/part.js:200 msgid "Add Supplier Data" msgstr "" -#: templates/js/translated/part.js:196 +#: templates/js/translated/part.js:201 msgid "Create initial supplier data for this part" msgstr "" -#: templates/js/translated/part.js:252 +#: templates/js/translated/part.js:257 msgid "Copy Image" msgstr "" -#: templates/js/translated/part.js:253 +#: templates/js/translated/part.js:258 msgid "Copy image from original part" msgstr "" -#: templates/js/translated/part.js:260 +#: templates/js/translated/part.js:265 msgid "Copy BOM" msgstr "" -#: templates/js/translated/part.js:261 +#: templates/js/translated/part.js:266 msgid "Copy bill of materials from original part" msgstr "" -#: templates/js/translated/part.js:268 +#: templates/js/translated/part.js:273 msgid "Copy Parameters" msgstr "" -#: templates/js/translated/part.js:269 +#: templates/js/translated/part.js:274 msgid "Copy parameter data from original part" msgstr "" -#: templates/js/translated/part.js:282 +#: templates/js/translated/part.js:287 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:323 +#: templates/js/translated/part.js:331 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:408 templates/js/translated/part.js:493 +#: templates/js/translated/part.js:419 templates/js/translated/part.js:504 msgid "Trackable part" msgstr "" -#: templates/js/translated/part.js:412 templates/js/translated/part.js:497 +#: templates/js/translated/part.js:423 templates/js/translated/part.js:508 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:424 +#: templates/js/translated/part.js:435 msgid "Starred part" msgstr "" -#: templates/js/translated/part.js:428 +#: templates/js/translated/part.js:439 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:543 +#: templates/js/translated/part.js:554 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:732 templates/js/translated/part.js:994 +#: templates/js/translated/part.js:743 templates/js/translated/part.js:1005 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:921 +#: templates/js/translated/part.js:932 msgid "No category" msgstr "" -#: templates/js/translated/part.js:944 -#: templates/js/translated/table_filters.js:350 +#: templates/js/translated/part.js:955 +#: templates/js/translated/table_filters.js:359 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:1148 templates/js/translated/stock.js:1501 +#: templates/js/translated/part.js:1159 templates/js/translated/stock.js:1480 msgid "Path" msgstr "" -#: templates/js/translated/part.js:1191 +#: templates/js/translated/part.js:1202 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:1242 templates/js/translated/stock.js:514 +#: templates/js/translated/part.js:1253 templates/js/translated/stock.js:493 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:1243 templates/js/translated/stock.js:515 +#: templates/js/translated/part.js:1254 templates/js/translated/stock.js:494 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:1249 +#: templates/js/translated/part.js:1260 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:1274 +#: templates/js/translated/part.js:1282 +msgid "Edit Test Result Template" +msgstr "" + +#: templates/js/translated/part.js:1296 +msgid "Delete Test Result Template" +msgstr "" + +#: templates/js/translated/part.js:1321 #, python-brace-format msgid "No ${human_name} information found" msgstr "" -#: templates/js/translated/part.js:1329 +#: templates/js/translated/part.js:1376 #, python-brace-format msgid "Edit ${human_name}" msgstr "" -#: templates/js/translated/part.js:1330 +#: templates/js/translated/part.js:1377 #, python-brace-format msgid "Delete ${human_name}" msgstr "" -#: templates/js/translated/part.js:1431 +#: templates/js/translated/part.js:1478 msgid "Single Price" msgstr "" -#: templates/js/translated/part.js:1450 +#: templates/js/translated/part.js:1497 msgid "Single Price Difference" msgstr "" -#: templates/js/translated/stock.js:66 +#: templates/js/translated/stock.js:63 msgid "Parent stock location" msgstr "" -#: templates/js/translated/stock.js:96 +#: templates/js/translated/stock.js:93 msgid "Export Stock" msgstr "" -#: templates/js/translated/stock.js:99 -msgid "Format" -msgstr "" - -#: templates/js/translated/stock.js:100 -msgid "Select file format" -msgstr "" - -#: templates/js/translated/stock.js:124 +#: templates/js/translated/stock.js:104 msgid "Include Sublocations" msgstr "" -#: templates/js/translated/stock.js:125 +#: templates/js/translated/stock.js:105 msgid "Include stock items in sublocations" msgstr "" -#: templates/js/translated/stock.js:167 +#: templates/js/translated/stock.js:147 msgid "Transfer Stock" msgstr "" -#: templates/js/translated/stock.js:168 +#: templates/js/translated/stock.js:148 msgid "Move" msgstr "" -#: templates/js/translated/stock.js:174 +#: templates/js/translated/stock.js:154 msgid "Count Stock" msgstr "" -#: templates/js/translated/stock.js:175 +#: templates/js/translated/stock.js:155 msgid "Count" msgstr "" -#: templates/js/translated/stock.js:179 +#: templates/js/translated/stock.js:159 msgid "Remove Stock" msgstr "" -#: templates/js/translated/stock.js:180 +#: templates/js/translated/stock.js:160 msgid "Take" msgstr "" -#: templates/js/translated/stock.js:184 +#: templates/js/translated/stock.js:164 msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:185 users/models.py:190 +#: templates/js/translated/stock.js:165 users/models.py:195 msgid "Add" msgstr "" -#: templates/js/translated/stock.js:189 templates/stock_table.html:63 +#: templates/js/translated/stock.js:169 templates/stock_table.html:63 msgid "Delete Stock" msgstr "" -#: templates/js/translated/stock.js:278 +#: templates/js/translated/stock.js:258 msgid "Quantity cannot be adjusted for serialized stock" msgstr "" -#: templates/js/translated/stock.js:278 +#: templates/js/translated/stock.js:258 msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:314 +#: templates/js/translated/stock.js:298 msgid "You must select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:339 -msgid "Stock transaction notes" -msgstr "" - -#: templates/js/translated/stock.js:477 +#: templates/js/translated/stock.js:456 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:479 +#: templates/js/translated/stock.js:458 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:484 +#: templates/js/translated/stock.js:463 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:510 +#: templates/js/translated/stock.js:489 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:536 +#: templates/js/translated/stock.js:515 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:584 +#: templates/js/translated/stock.js:563 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:691 +#: templates/js/translated/stock.js:670 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:695 +#: templates/js/translated/stock.js:674 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:703 +#: templates/js/translated/stock.js:678 +msgid "Shipped to customer" +msgstr "" + +#: templates/js/translated/stock.js:682 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:865 +#: templates/js/translated/stock.js:688 +msgid "No stock location set" +msgstr "" + +#: templates/js/translated/stock.js:844 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:870 +#: templates/js/translated/stock.js:849 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:873 +#: templates/js/translated/stock.js:852 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:877 +#: templates/js/translated/stock.js:856 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:879 +#: templates/js/translated/stock.js:858 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:883 +#: templates/js/translated/stock.js:862 msgid "Stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:887 +#: templates/js/translated/stock.js:866 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:894 +#: templates/js/translated/stock.js:873 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:896 +#: templates/js/translated/stock.js:875 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:898 +#: templates/js/translated/stock.js:877 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:902 +#: templates/js/translated/stock.js:881 #: templates/js/translated/table_filters.js:161 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:956 +#: templates/js/translated/stock.js:935 msgid "Stocktake" msgstr "" -#: templates/js/translated/stock.js:1029 +#: templates/js/translated/stock.js:1008 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:1067 +#: templates/js/translated/stock.js:1046 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:1088 templates/js/translated/stock.js:1136 +#: templates/js/translated/stock.js:1067 templates/js/translated/stock.js:1115 msgid "items" msgstr "" -#: templates/js/translated/stock.js:1176 +#: templates/js/translated/stock.js:1155 msgid "batches" msgstr "" -#: templates/js/translated/stock.js:1203 +#: templates/js/translated/stock.js:1182 msgid "locations" msgstr "" -#: templates/js/translated/stock.js:1205 +#: templates/js/translated/stock.js:1184 msgid "Undefined location" msgstr "" -#: templates/js/translated/stock.js:1364 -msgid "Stock Status" -msgstr "" - -#: templates/js/translated/stock.js:1379 +#: templates/js/translated/stock.js:1358 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:1393 +#: templates/js/translated/stock.js:1372 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:1394 +#: templates/js/translated/stock.js:1373 msgid "Status code must be selected" msgstr "" -#: templates/js/translated/stock.js:1533 +#: templates/js/translated/stock.js:1512 msgid "Invalid date" msgstr "" -#: templates/js/translated/stock.js:1580 +#: templates/js/translated/stock.js:1559 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:1599 +#: templates/js/translated/stock.js:1578 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:1618 +#: templates/js/translated/stock.js:1597 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:1636 +#: templates/js/translated/stock.js:1615 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:1659 +#: templates/js/translated/stock.js:1638 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:1667 +#: templates/js/translated/stock.js:1646 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:1708 +#: templates/js/translated/stock.js:1687 msgid "Edit tracking entry" msgstr "" -#: templates/js/translated/stock.js:1709 +#: templates/js/translated/stock.js:1688 msgid "Delete tracking entry" msgstr "" -#: templates/js/translated/stock.js:1833 +#: templates/js/translated/stock.js:1812 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:1856 +#: templates/js/translated/stock.js:1835 msgid "Serial" msgstr "" -#: templates/js/translated/stock.js:1884 +#: templates/js/translated/stock.js:1863 msgid "Uninstall Stock Item" msgstr "" @@ -7808,7 +8034,7 @@ msgstr "" #: templates/js/translated/table_filters.js:103 #: templates/js/translated/table_filters.js:104 -#: templates/js/translated/table_filters.js:327 +#: templates/js/translated/table_filters.js:336 msgid "Include subcategories" msgstr "" @@ -7850,7 +8076,7 @@ msgid "Batch code" msgstr "" #: templates/js/translated/table_filters.js:141 -#: templates/js/translated/table_filters.js:317 +#: templates/js/translated/table_filters.js:326 msgid "Active parts" msgstr "" @@ -7935,89 +8161,89 @@ msgstr "" msgid "Build status" msgstr "" -#: templates/js/translated/table_filters.js:282 -#: templates/js/translated/table_filters.js:299 +#: templates/js/translated/table_filters.js:291 +#: templates/js/translated/table_filters.js:308 msgid "Order status" msgstr "" -#: templates/js/translated/table_filters.js:287 -#: templates/js/translated/table_filters.js:304 +#: templates/js/translated/table_filters.js:296 +#: templates/js/translated/table_filters.js:313 msgid "Outstanding" msgstr "" -#: templates/js/translated/table_filters.js:328 +#: templates/js/translated/table_filters.js:337 msgid "Include parts in subcategories" msgstr "" -#: templates/js/translated/table_filters.js:332 +#: templates/js/translated/table_filters.js:341 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:333 +#: templates/js/translated/table_filters.js:342 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:338 +#: templates/js/translated/table_filters.js:347 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:346 +#: templates/js/translated/table_filters.js:355 msgid "Stock available" msgstr "" -#: templates/js/translated/table_filters.js:362 +#: templates/js/translated/table_filters.js:371 msgid "Starred" msgstr "" -#: templates/js/translated/table_filters.js:374 +#: templates/js/translated/table_filters.js:383 msgid "Purchasable" msgstr "" -#: templates/js/translated/tables.js:357 +#: templates/js/translated/tables.js:366 msgid "Loading data" msgstr "" -#: templates/js/translated/tables.js:360 +#: templates/js/translated/tables.js:369 msgid "rows per page" msgstr "" -#: templates/js/translated/tables.js:363 +#: templates/js/translated/tables.js:372 msgid "Showing" msgstr "" -#: templates/js/translated/tables.js:363 +#: templates/js/translated/tables.js:372 msgid "to" msgstr "" -#: templates/js/translated/tables.js:363 +#: templates/js/translated/tables.js:372 msgid "of" msgstr "" -#: templates/js/translated/tables.js:363 +#: templates/js/translated/tables.js:372 msgid "rows" msgstr "" -#: templates/js/translated/tables.js:369 +#: templates/js/translated/tables.js:378 msgid "No matching results" msgstr "" -#: templates/js/translated/tables.js:372 +#: templates/js/translated/tables.js:381 msgid "Hide/Show pagination" msgstr "" -#: templates/js/translated/tables.js:375 +#: templates/js/translated/tables.js:384 msgid "Refresh" msgstr "" -#: templates/js/translated/tables.js:378 +#: templates/js/translated/tables.js:387 msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:381 +#: templates/js/translated/tables.js:390 msgid "Columns" msgstr "" -#: templates/js/translated/tables.js:384 +#: templates/js/translated/tables.js:393 msgid "All" msgstr "" @@ -8033,19 +8259,15 @@ msgstr "" msgid "Sell" msgstr "" -#: templates/navbar.html:87 users/models.py:39 +#: templates/navbar.html:83 users/models.py:39 msgid "Admin" msgstr "" -#: templates/navbar.html:89 +#: templates/navbar.html:85 msgid "Logout" msgstr "" -#: templates/navbar.html:91 templates/registration/login.html:89 -msgid "Login" -msgstr "" - -#: templates/navbar.html:114 +#: templates/navbar.html:106 msgid "About InvenTree" msgstr "" @@ -8053,68 +8275,12 @@ msgstr "" msgid "QR data not provided" msgstr "" -#: templates/registration/logged_out.html:50 -msgid "You have been logged out" +#: templates/registration/logged_out.html:6 +msgid "You were logged out successfully." msgstr "" -#: templates/registration/logged_out.html:51 -#: templates/registration/password_reset_complete.html:51 -#: templates/registration/password_reset_done.html:58 -msgid "Return to login screen" -msgstr "" - -#: templates/registration/login.html:64 -msgid "Enter username" -msgstr "" - -#: templates/registration/login.html:70 -msgid "Password" -msgstr "" - -#: templates/registration/login.html:83 -msgid "Username / password combination is incorrect" -msgstr "" - -#: templates/registration/login.html:95 -#: templates/registration/password_reset_form.html:51 -msgid "Forgotten your password?" -msgstr "" - -#: templates/registration/login.html:95 -msgid "Click here to reset" -msgstr "" - -#: templates/registration/password_reset_complete.html:50 -msgid "Password reset complete" -msgstr "" - -#: templates/registration/password_reset_confirm.html:52 -#: templates/registration/password_reset_confirm.html:56 -msgid "Change password" -msgstr "" - -#: templates/registration/password_reset_confirm.html:60 -msgid "The password reset link was invalid, possibly because it has already been used. Please request a new password reset." -msgstr "" - -#: templates/registration/password_reset_done.html:51 -msgid "We've emailed you instructions for setting your password, if an account exists with the email you entered. You should receive them shortly." -msgstr "" - -#: templates/registration/password_reset_done.html:54 -msgid "If you don't receive an email, please make sure you've entered the address you registered with, and check your spam folder." -msgstr "" - -#: templates/registration/password_reset_form.html:52 -msgid "Enter your email address below." -msgstr "" - -#: templates/registration/password_reset_form.html:53 -msgid "An email will be sent with password reset instructions." -msgstr "" - -#: templates/registration/password_reset_form.html:58 -msgid "Send email" +#: templates/registration/logged_out.html:8 +msgid "Log in again" msgstr "" #: templates/stats.html:13 @@ -8169,6 +8335,10 @@ msgstr "" msgid "Export Stock Information" msgstr "" +#: templates/stock_table.html:20 +msgid "New Stock Item" +msgstr "" + #: templates/stock_table.html:27 msgid "Barcode Actions" msgstr "" @@ -8249,35 +8419,35 @@ msgstr "" msgid "Important dates" msgstr "" -#: users/models.py:177 +#: users/models.py:182 msgid "Permission set" msgstr "" -#: users/models.py:185 +#: users/models.py:190 msgid "Group" msgstr "" -#: users/models.py:188 +#: users/models.py:193 msgid "View" msgstr "" -#: users/models.py:188 +#: users/models.py:193 msgid "Permission to view items" msgstr "" -#: users/models.py:190 +#: users/models.py:195 msgid "Permission to add items" msgstr "" -#: users/models.py:192 +#: users/models.py:197 msgid "Change" msgstr "" -#: users/models.py:192 +#: users/models.py:197 msgid "Permissions to edit items" msgstr "" -#: users/models.py:194 +#: users/models.py:199 msgid "Permission to delete items" msgstr "" diff --git a/InvenTree/locale/th/LC_MESSAGES/django.po b/InvenTree/locale/th/LC_MESSAGES/django.po index 3be3993f7b..1f25b70e4e 100644 --- a/InvenTree/locale/th/LC_MESSAGES/django.po +++ b/InvenTree/locale/th/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-09-12 13:15+0000\n" -"PO-Revision-Date: 2021-09-12 13:44\n" +"POT-Creation-Date: 2021-10-11 06:21+0000\n" +"PO-Revision-Date: 2021-10-11 06:29\n" "Last-Translator: \n" "Language-Team: Thai\n" "Language: th_TH\n" @@ -33,48 +33,61 @@ msgstr "" msgid "Enter date" msgstr "" -#: InvenTree/forms.py:111 build/forms.py:102 build/forms.py:123 -#: build/forms.py:145 build/forms.py:169 build/forms.py:185 build/forms.py:227 -#: order/forms.py:30 order/forms.py:41 order/forms.py:52 order/forms.py:63 -#: order/forms.py:74 part/forms.py:108 templates/js/translated/forms.js:564 +#: InvenTree/forms.py:116 build/forms.py:102 build/forms.py:123 +#: build/forms.py:145 build/forms.py:173 build/forms.py:215 order/forms.py:27 +#: order/forms.py:38 order/forms.py:49 order/forms.py:60 order/forms.py:71 +#: part/forms.py:108 templates/account/email_confirm.html:20 +#: templates/js/translated/forms.js:564 msgid "Confirm" msgstr "" -#: InvenTree/forms.py:127 +#: InvenTree/forms.py:132 msgid "Confirm delete" msgstr "" -#: InvenTree/forms.py:128 +#: InvenTree/forms.py:133 msgid "Confirm item deletion" msgstr "" -#: InvenTree/forms.py:160 templates/registration/login.html:76 +#: InvenTree/forms.py:164 msgid "Enter password" msgstr "" -#: InvenTree/forms.py:161 +#: InvenTree/forms.py:165 msgid "Enter new password" msgstr "" -#: InvenTree/forms.py:168 +#: InvenTree/forms.py:172 msgid "Confirm password" msgstr "" -#: InvenTree/forms.py:169 +#: InvenTree/forms.py:173 msgid "Confirm new password" msgstr "" -#: InvenTree/forms.py:201 +#: InvenTree/forms.py:205 msgid "Select Category" msgstr "" +#: InvenTree/forms.py:226 +msgid "E-mail (again)" +msgstr "" + +#: InvenTree/forms.py:230 +msgid "E-mail address confirmation" +msgstr "" + +#: InvenTree/forms.py:250 +msgid "You must type the same email each time." +msgstr "" + #: InvenTree/helpers.py:401 #, python-brace-format msgid "Duplicate serial: {n}" msgstr "" -#: InvenTree/helpers.py:408 order/models.py:315 order/models.py:430 -#: stock/views.py:1363 +#: InvenTree/helpers.py:408 order/models.py:315 order/models.py:437 +#: stock/views.py:1340 msgid "Invalid quantity provided" msgstr "" @@ -102,7 +115,7 @@ msgstr "" msgid "Number of unique serial number ({s}) must match quantity ({q})" msgstr "" -#: InvenTree/models.py:66 stock/models.py:1826 +#: InvenTree/models.py:66 stock/models.py:1823 msgid "Attachment" msgstr "" @@ -118,10 +131,10 @@ msgstr "" msgid "File comment" msgstr "" -#: InvenTree/models.py:75 InvenTree/models.py:76 common/models.py:993 -#: common/models.py:994 part/models.py:2051 +#: InvenTree/models.py:75 InvenTree/models.py:76 common/models.py:1055 +#: common/models.py:1056 part/models.py:2055 #: report/templates/report/inventree_test_report_base.html:91 -#: templates/js/translated/stock.js:1690 +#: templates/js/translated/stock.js:1669 msgid "User" msgstr "" @@ -158,37 +171,34 @@ msgstr "" msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:200 InvenTree/models.py:201 company/models.py:414 -#: label/models.py:112 part/models.py:658 part/models.py:2212 +#: InvenTree/models.py:200 InvenTree/models.py:201 company/models.py:415 +#: label/models.py:112 part/models.py:659 part/models.py:2216 #: part/templates/part/part_base.html:241 report/models.py:181 -#: templates/InvenTree/search.html:137 templates/InvenTree/search.html:289 -#: templates/js/translated/company.js:636 templates/js/translated/part.js:466 -#: templates/js/translated/part.js:603 templates/js/translated/part.js:1130 -#: templates/js/translated/stock.js:1483 +#: templates/js/translated/company.js:637 templates/js/translated/part.js:477 +#: templates/js/translated/part.js:614 templates/js/translated/part.js:1141 +#: templates/js/translated/stock.js:1462 msgid "Name" msgstr "" -#: InvenTree/models.py:207 build/models.py:187 -#: build/templates/build/detail.html:24 company/models.py:353 -#: company/models.py:569 company/templates/company/manufacturer_part.html:76 +#: InvenTree/models.py:207 build/models.py:189 +#: build/templates/build/detail.html:24 company/models.py:354 +#: company/models.py:570 company/templates/company/manufacturer_part.html:76 #: company/templates/company/supplier_part.html:75 label/models.py:119 -#: order/models.py:158 part/models.py:681 +#: order/models.py:158 part/models.py:682 #: part/templates/part/part_base.html:246 #: part/templates/part/set_category.html:14 report/models.py:194 #: report/models.py:551 report/models.py:590 #: report/templates/report/inventree_build_order_base.html:118 -#: templates/InvenTree/search.html:144 templates/InvenTree/search.html:224 -#: templates/InvenTree/search.html:296 #: templates/InvenTree/settings/header.html:9 -#: templates/js/translated/bom.js:230 templates/js/translated/build.js:891 -#: templates/js/translated/build.js:1179 templates/js/translated/company.js:344 -#: templates/js/translated/company.js:546 -#: templates/js/translated/company.js:834 templates/js/translated/order.js:341 -#: templates/js/translated/order.js:486 templates/js/translated/order.js:710 -#: templates/js/translated/part.js:525 templates/js/translated/part.js:713 -#: templates/js/translated/part.js:902 templates/js/translated/part.js:1142 -#: templates/js/translated/part.js:1210 templates/js/translated/stock.js:840 -#: templates/js/translated/stock.js:1495 templates/js/translated/stock.js:1540 +#: templates/js/translated/bom.js:249 templates/js/translated/build.js:1217 +#: templates/js/translated/build.js:1505 templates/js/translated/company.js:344 +#: templates/js/translated/company.js:547 +#: templates/js/translated/company.js:836 templates/js/translated/order.js:672 +#: templates/js/translated/order.js:832 templates/js/translated/order.js:1056 +#: templates/js/translated/part.js:536 templates/js/translated/part.js:724 +#: templates/js/translated/part.js:913 templates/js/translated/part.js:1153 +#: templates/js/translated/part.js:1221 templates/js/translated/stock.js:819 +#: templates/js/translated/stock.js:1474 templates/js/translated/stock.js:1519 msgid "Description" msgstr "" @@ -200,7 +210,7 @@ msgstr "" msgid "parent" msgstr "" -#: InvenTree/serializers.py:55 part/models.py:2454 +#: InvenTree/serializers.py:55 part/models.py:2475 msgid "Must be a valid number" msgstr "" @@ -208,75 +218,75 @@ msgstr "" msgid "Filename" msgstr "" -#: InvenTree/settings.py:523 +#: InvenTree/settings.py:529 msgid "German" msgstr "" -#: InvenTree/settings.py:524 +#: InvenTree/settings.py:530 msgid "Greek" msgstr "" -#: InvenTree/settings.py:525 +#: InvenTree/settings.py:531 msgid "English" msgstr "" -#: InvenTree/settings.py:526 +#: InvenTree/settings.py:532 msgid "Spanish" msgstr "" -#: InvenTree/settings.py:527 +#: InvenTree/settings.py:533 msgid "French" msgstr "" -#: InvenTree/settings.py:528 +#: InvenTree/settings.py:534 msgid "Hebrew" msgstr "" -#: InvenTree/settings.py:529 +#: InvenTree/settings.py:535 msgid "Italian" msgstr "" -#: InvenTree/settings.py:530 +#: InvenTree/settings.py:536 msgid "Japanese" msgstr "" -#: InvenTree/settings.py:531 +#: InvenTree/settings.py:537 msgid "Korean" msgstr "" -#: InvenTree/settings.py:532 +#: InvenTree/settings.py:538 msgid "Dutch" msgstr "" -#: InvenTree/settings.py:533 +#: InvenTree/settings.py:539 msgid "Norwegian" msgstr "" -#: InvenTree/settings.py:534 +#: InvenTree/settings.py:540 msgid "Polish" msgstr "" -#: InvenTree/settings.py:535 +#: InvenTree/settings.py:541 msgid "Russian" msgstr "" -#: InvenTree/settings.py:536 +#: InvenTree/settings.py:542 msgid "Swedish" msgstr "" -#: InvenTree/settings.py:537 +#: InvenTree/settings.py:543 msgid "Thai" msgstr "" -#: InvenTree/settings.py:538 +#: InvenTree/settings.py:544 msgid "Turkish" msgstr "" -#: InvenTree/settings.py:539 +#: InvenTree/settings.py:545 msgid "Vietnamese" msgstr "" -#: InvenTree/settings.py:540 +#: InvenTree/settings.py:546 msgid "Chinese" msgstr "" @@ -321,7 +331,7 @@ msgid "Returned" msgstr "" #: InvenTree/status_codes.py:146 -#: order/templates/order/sales_order_base.html:126 +#: order/templates/order/sales_order_base.html:131 msgid "Shipped" msgstr "" @@ -461,27 +471,27 @@ msgstr "" msgid "Overage must be an integer value or a percentage" msgstr "" -#: InvenTree/views.py:610 +#: InvenTree/views.py:616 msgid "Delete Item" msgstr "" -#: InvenTree/views.py:659 +#: InvenTree/views.py:665 msgid "Check box to confirm item deletion" msgstr "" -#: InvenTree/views.py:674 templates/InvenTree/settings/user.html:14 +#: InvenTree/views.py:680 templates/InvenTree/settings/user.html:18 msgid "Edit User Information" msgstr "" -#: InvenTree/views.py:685 templates/InvenTree/settings/user.html:18 +#: InvenTree/views.py:691 templates/InvenTree/settings/user.html:22 msgid "Set Password" msgstr "" -#: InvenTree/views.py:704 +#: InvenTree/views.py:710 msgid "Password fields must match" msgstr "" -#: InvenTree/views.py:910 templates/navbar.html:105 +#: InvenTree/views.py:954 templates/navbar.html:97 msgid "System Information" msgstr "" @@ -525,6 +535,10 @@ msgstr "" msgid "Barcode associated with StockItem" msgstr "" +#: build/api.py:213 +msgid "Matching build order does not exist" +msgstr "" + #: build/forms.py:37 msgid "Build Order reference" msgstr "" @@ -536,33 +550,28 @@ msgstr "" #: build/forms.py:42 build/templates/build/build_base.html:146 #: build/templates/build/detail.html:124 #: order/templates/order/order_base.html:124 -#: order/templates/order/sales_order_base.html:119 +#: order/templates/order/sales_order_base.html:124 #: report/templates/report/inventree_build_order_base.html:126 -#: templates/js/translated/build.js:962 templates/js/translated/order.js:358 -#: templates/js/translated/order.js:728 +#: templates/js/translated/build.js:1288 templates/js/translated/order.js:689 +#: templates/js/translated/order.js:1074 msgid "Target Date" msgstr "" -#: build/forms.py:43 build/models.py:277 +#: build/forms.py:43 build/models.py:279 msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/forms.py:48 build/forms.py:90 build/forms.py:266 build/models.py:1402 +#: build/forms.py:48 build/forms.py:90 build/models.py:1281 #: build/templates/build/allocation_card.html:23 -#: build/templates/build/auto_allocate.html:17 #: build/templates/build/build_base.html:133 -#: build/templates/build/detail.html:34 common/models.py:1025 +#: build/templates/build/detail.html:34 common/models.py:1087 #: company/forms.py:42 company/templates/company/supplier_part.html:226 -#: order/forms.py:120 order/forms.py:142 order/forms.py:159 order/models.py:712 -#: order/models.py:964 order/templates/order/order_wizard/match_parts.html:30 -#: order/templates/order/order_wizard/select_parts.html:34 -#: order/templates/order/sales_order_detail.html:201 -#: order/templates/order/sales_order_detail.html:208 -#: order/templates/order/sales_order_detail.html:293 -#: order/templates/order/sales_order_detail.html:365 part/forms.py:249 -#: part/forms.py:265 part/forms.py:281 part/models.py:2356 +#: order/forms.py:101 order/forms.py:123 order/models.py:720 +#: order/models.py:982 order/templates/order/order_wizard/match_parts.html:30 +#: order/templates/order/order_wizard/select_parts.html:34 part/forms.py:249 +#: part/forms.py:265 part/forms.py:281 part/models.py:2377 #: part/templates/part/bom_upload/match_parts.html:31 -#: part/templates/part/detail.html:973 part/templates/part/detail.html:1059 +#: part/templates/part/detail.html:944 part/templates/part/detail.html:1030 #: part/templates/part/part_pricing.html:16 #: report/templates/report/inventree_build_order_base.html:114 #: report/templates/report/inventree_po_report.html:91 @@ -570,14 +579,16 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:77 #: stock/forms.py:140 stock/templates/stock/item_base.html:269 #: stock/templates/stock/stock_adjust.html:18 -#: templates/js/translated/barcode.js:386 templates/js/translated/bom.js:245 -#: templates/js/translated/build.js:298 templates/js/translated/build.js:629 -#: templates/js/translated/build.js:1189 -#: templates/js/translated/model_renderers.js:59 -#: templates/js/translated/order.js:522 templates/js/translated/order.js:824 -#: templates/js/translated/part.js:1317 templates/js/translated/part.js:1440 -#: templates/js/translated/part.js:1518 templates/js/translated/stock.js:1675 -#: templates/js/translated/stock.js:1850 +#: templates/js/translated/barcode.js:386 templates/js/translated/bom.js:264 +#: templates/js/translated/build.js:314 templates/js/translated/build.js:638 +#: templates/js/translated/build.js:977 templates/js/translated/build.js:1515 +#: templates/js/translated/model_renderers.js:74 +#: templates/js/translated/order.js:868 templates/js/translated/order.js:1170 +#: templates/js/translated/order.js:1248 templates/js/translated/order.js:1255 +#: templates/js/translated/order.js:1344 templates/js/translated/order.js:1444 +#: templates/js/translated/part.js:1364 templates/js/translated/part.js:1487 +#: templates/js/translated/part.js:1565 templates/js/translated/stock.js:1654 +#: templates/js/translated/stock.js:1829 msgid "Quantity" msgstr "" @@ -589,7 +600,7 @@ msgstr "" msgid "Enter quantity for build output" msgstr "" -#: build/forms.py:95 order/forms.py:114 stock/forms.py:83 +#: build/forms.py:95 order/forms.py:95 stock/forms.py:83 msgid "Serial Numbers" msgstr "" @@ -609,246 +620,238 @@ msgstr "" msgid "Confirm unallocation of stock" msgstr "" -#: build/forms.py:169 -msgid "Confirm stock allocation" -msgstr "" - -#: build/forms.py:186 +#: build/forms.py:174 msgid "Mark build as complete" msgstr "" -#: build/forms.py:210 build/templates/build/auto_allocate.html:18 -#: order/serializers.py:216 order/serializers.py:275 stock/forms.py:280 +#: build/forms.py:198 order/serializers.py:217 order/serializers.py:284 +#: stock/forms.py:280 stock/serializers.py:553 #: stock/templates/stock/item_base.html:299 #: stock/templates/stock/stock_adjust.html:17 -#: templates/InvenTree/search.html:260 templates/js/translated/barcode.js:385 -#: templates/js/translated/barcode.js:555 templates/js/translated/build.js:283 -#: templates/js/translated/build.js:643 templates/js/translated/order.js:809 -#: templates/js/translated/part.js:174 templates/js/translated/stock.js:203 -#: templates/js/translated/stock.js:329 templates/js/translated/stock.js:942 -#: templates/js/translated/stock.js:1567 +#: templates/js/translated/barcode.js:385 +#: templates/js/translated/barcode.js:555 templates/js/translated/build.js:299 +#: templates/js/translated/build.js:650 templates/js/translated/order.js:347 +#: templates/js/translated/order.js:1155 templates/js/translated/order.js:1263 +#: templates/js/translated/order.js:1269 templates/js/translated/part.js:179 +#: templates/js/translated/stock.js:183 templates/js/translated/stock.js:921 +#: templates/js/translated/stock.js:1546 msgid "Location" msgstr "" -#: build/forms.py:211 +#: build/forms.py:199 msgid "Location of completed parts" msgstr "" -#: build/forms.py:215 build/templates/build/build_base.html:138 -#: build/templates/build/detail.html:62 order/models.py:555 -#: order/serializers.py:230 order/templates/order/receive_parts.html:24 -#: stock/templates/stock/item_base.html:422 templates/InvenTree/search.html:252 -#: templates/js/translated/barcode.js:141 templates/js/translated/build.js:925 -#: templates/js/translated/order.js:345 templates/js/translated/order.js:715 -#: templates/js/translated/stock.js:917 templates/js/translated/stock.js:1644 -#: templates/js/translated/stock.js:1866 +#: build/forms.py:203 build/templates/build/build_base.html:138 +#: build/templates/build/detail.html:62 order/models.py:563 +#: order/serializers.py:238 stock/templates/stock/item_base.html:422 +#: templates/js/translated/barcode.js:141 templates/js/translated/build.js:1251 +#: templates/js/translated/order.js:430 templates/js/translated/order.js:676 +#: templates/js/translated/order.js:1061 templates/js/translated/stock.js:896 +#: templates/js/translated/stock.js:1623 templates/js/translated/stock.js:1845 msgid "Status" msgstr "" -#: build/forms.py:216 +#: build/forms.py:204 msgid "Build output stock status" msgstr "" -#: build/forms.py:223 +#: build/forms.py:211 msgid "Confirm incomplete" msgstr "" -#: build/forms.py:224 +#: build/forms.py:212 msgid "Confirm completion with incomplete stock allocation" msgstr "" -#: build/forms.py:227 +#: build/forms.py:215 msgid "Confirm build completion" msgstr "" -#: build/forms.py:252 +#: build/forms.py:240 msgid "Confirm cancel" msgstr "" -#: build/forms.py:252 build/views.py:65 +#: build/forms.py:240 build/views.py:65 msgid "Confirm build cancellation" msgstr "" -#: build/forms.py:266 -msgid "Select quantity of stock to allocate" -msgstr "" - -#: build/models.py:113 +#: build/models.py:115 msgid "Invalid choice for parent build" msgstr "" -#: build/models.py:117 build/templates/build/build_base.html:9 +#: build/models.py:119 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:73 #: report/templates/report/inventree_build_order_base.html:106 -#: templates/js/translated/build.js:260 +#: templates/js/translated/build.js:276 msgid "Build Order" msgstr "" -#: build/models.py:118 build/templates/build/index.html:8 +#: build/models.py:120 build/templates/build/index.html:8 #: build/templates/build/index.html:15 #: order/templates/order/sales_order_detail.html:34 #: order/templates/order/so_navbar.html:19 #: order/templates/order/so_navbar.html:22 part/templates/part/navbar.html:50 #: part/templates/part/navbar.html:53 templates/InvenTree/index.html:229 -#: templates/InvenTree/search.html:185 -#: templates/InvenTree/settings/navbar.html:101 -#: templates/InvenTree/settings/navbar.html:103 users/models.py:44 +#: templates/InvenTree/search.html:171 +#: templates/InvenTree/settings/navbar.html:113 +#: templates/InvenTree/settings/navbar.html:115 users/models.py:44 msgid "Build Orders" msgstr "" -#: build/models.py:178 +#: build/models.py:180 msgid "Build Order Reference" msgstr "" -#: build/models.py:179 order/models.py:246 order/models.py:539 -#: order/models.py:719 order/templates/order/sales_order_detail.html:360 -#: part/models.py:2365 part/templates/part/bom_upload/match_parts.html:30 +#: build/models.py:181 order/models.py:246 order/models.py:547 +#: order/models.py:727 part/models.py:2386 +#: part/templates/part/bom_upload/match_parts.html:30 #: report/templates/report/inventree_po_report.html:92 #: report/templates/report/inventree_so_report.html:92 -#: templates/js/translated/bom.js:237 templates/js/translated/build.js:718 -#: templates/js/translated/build.js:1183 templates/js/translated/order.js:517 +#: templates/js/translated/bom.js:256 templates/js/translated/build.js:734 +#: templates/js/translated/build.js:1509 templates/js/translated/order.js:863 +#: templates/js/translated/order.js:1438 msgid "Reference" msgstr "" -#: build/models.py:190 +#: build/models.py:192 msgid "Brief description of the build" msgstr "" -#: build/models.py:199 build/templates/build/build_base.html:163 +#: build/models.py:201 build/templates/build/build_base.html:163 #: build/templates/build/detail.html:80 msgid "Parent Build" msgstr "" -#: build/models.py:200 +#: build/models.py:202 msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:205 build/templates/build/auto_allocate.html:16 -#: build/templates/build/build_base.html:128 -#: build/templates/build/detail.html:29 company/models.py:704 -#: order/models.py:772 order/models.py:837 -#: order/templates/order/order_wizard/select_parts.html:32 -#: order/templates/order/receive_parts.html:19 -#: order/templates/order/sales_order_detail.html:345 part/models.py:297 -#: part/models.py:1996 part/models.py:2012 part/models.py:2031 -#: part/models.py:2049 part/models.py:2128 part/models.py:2250 -#: part/models.py:2340 part/templates/part/detail.html:199 +#: build/models.py:207 build/templates/build/build_base.html:128 +#: build/templates/build/detail.html:29 company/models.py:705 +#: order/models.py:780 order/models.py:851 +#: order/templates/order/order_wizard/select_parts.html:32 part/models.py:298 +#: part/models.py:2000 part/models.py:2016 part/models.py:2035 +#: part/models.py:2053 part/models.py:2132 part/models.py:2254 +#: part/models.py:2361 part/templates/part/detail.html:199 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/set_category.html:13 #: report/templates/report/inventree_build_order_base.html:110 #: report/templates/report/inventree_po_report.html:90 #: report/templates/report/inventree_so_report.html:90 -#: templates/InvenTree/search.html:112 templates/InvenTree/search.html:210 -#: templates/js/translated/barcode.js:384 templates/js/translated/bom.js:203 -#: templates/js/translated/build.js:609 templates/js/translated/build.js:896 -#: templates/js/translated/build.js:1156 templates/js/translated/company.js:487 -#: templates/js/translated/company.js:743 templates/js/translated/order.js:471 -#: templates/js/translated/part.js:694 templates/js/translated/part.js:864 -#: templates/js/translated/stock.js:201 templates/js/translated/stock.js:797 -#: templates/js/translated/stock.js:1838 +#: templates/InvenTree/search.html:112 templates/js/translated/barcode.js:384 +#: templates/js/translated/bom.js:222 templates/js/translated/build.js:611 +#: templates/js/translated/build.js:974 templates/js/translated/build.js:1222 +#: templates/js/translated/build.js:1482 templates/js/translated/company.js:488 +#: templates/js/translated/company.js:745 templates/js/translated/order.js:425 +#: templates/js/translated/order.js:817 templates/js/translated/order.js:1422 +#: templates/js/translated/part.js:705 templates/js/translated/part.js:875 +#: templates/js/translated/stock.js:181 templates/js/translated/stock.js:776 +#: templates/js/translated/stock.js:1817 msgid "Part" msgstr "" -#: build/models.py:213 +#: build/models.py:215 msgid "Select part to build" msgstr "" -#: build/models.py:218 +#: build/models.py:220 msgid "Sales Order Reference" msgstr "" -#: build/models.py:222 +#: build/models.py:224 msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:227 +#: build/models.py:229 templates/js/translated/build.js:962 msgid "Source Location" msgstr "" -#: build/models.py:231 +#: build/models.py:233 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "" -#: build/models.py:236 +#: build/models.py:238 msgid "Destination Location" msgstr "" -#: build/models.py:240 +#: build/models.py:242 msgid "Select location where the completed items will be stored" msgstr "" -#: build/models.py:244 +#: build/models.py:246 msgid "Build Quantity" msgstr "" -#: build/models.py:247 +#: build/models.py:249 msgid "Number of stock items to build" msgstr "" -#: build/models.py:251 +#: build/models.py:253 msgid "Completed items" msgstr "" -#: build/models.py:253 +#: build/models.py:255 msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:257 part/templates/part/part_base.html:198 +#: build/models.py:259 part/templates/part/part_base.html:198 msgid "Build Status" msgstr "" -#: build/models.py:261 +#: build/models.py:263 msgid "Build status code" msgstr "" -#: build/models.py:265 stock/models.py:513 +#: build/models.py:267 stock/models.py:513 msgid "Batch Code" msgstr "" -#: build/models.py:269 +#: build/models.py:271 msgid "Batch code for this build output" msgstr "" -#: build/models.py:272 order/models.py:162 part/models.py:853 -#: part/templates/part/part_base.html:272 templates/js/translated/order.js:723 +#: build/models.py:274 order/models.py:162 part/models.py:854 +#: part/templates/part/part_base.html:272 templates/js/translated/order.js:1069 msgid "Creation Date" msgstr "" -#: build/models.py:276 order/models.py:561 +#: build/models.py:278 order/models.py:569 msgid "Target completion date" msgstr "" -#: build/models.py:280 order/models.py:288 templates/js/translated/build.js:967 +#: build/models.py:282 order/models.py:288 +#: templates/js/translated/build.js:1293 msgid "Completion Date" msgstr "" -#: build/models.py:286 +#: build/models.py:288 msgid "completed by" msgstr "" -#: build/models.py:294 templates/js/translated/build.js:938 +#: build/models.py:296 templates/js/translated/build.js:1264 msgid "Issued by" msgstr "" -#: build/models.py:295 +#: build/models.py:297 msgid "User who issued this build order" msgstr "" -#: build/models.py:303 build/templates/build/build_base.html:184 +#: build/models.py:305 build/templates/build/build_base.html:184 #: build/templates/build/detail.html:108 order/models.py:176 #: order/templates/order/order_base.html:138 -#: order/templates/order/sales_order_base.html:140 part/models.py:857 +#: order/templates/order/sales_order_base.html:145 part/models.py:858 #: report/templates/report/inventree_build_order_base.html:159 -#: templates/js/translated/build.js:950 +#: templates/js/translated/build.js:1276 msgid "Responsible" msgstr "" -#: build/models.py:304 +#: build/models.py:306 msgid "User responsible for this build order" msgstr "" -#: build/models.py:309 build/templates/build/detail.html:94 +#: build/models.py:311 build/templates/build/detail.html:94 #: company/templates/company/manufacturer_part.html:83 #: company/templates/company/supplier_part.html:82 #: part/templates/part/part_base.html:266 stock/models.py:507 @@ -856,140 +859,157 @@ msgstr "" msgid "External Link" msgstr "" -#: build/models.py:310 part/models.py:715 stock/models.py:509 +#: build/models.py:312 part/models.py:716 stock/models.py:509 msgid "Link to external URL" msgstr "" -#: build/models.py:314 build/templates/build/navbar.html:52 -#: company/models.py:141 company/models.py:576 +#: build/models.py:316 build/templates/build/navbar.html:52 +#: company/models.py:142 company/models.py:577 #: company/templates/company/navbar.html:69 #: company/templates/company/navbar.html:72 order/models.py:180 -#: order/models.py:721 order/templates/order/po_navbar.html:38 +#: order/models.py:729 order/templates/order/po_navbar.html:38 #: order/templates/order/po_navbar.html:41 -#: order/templates/order/sales_order_detail.html:440 #: order/templates/order/so_navbar.html:33 -#: order/templates/order/so_navbar.html:36 part/models.py:842 +#: order/templates/order/so_navbar.html:36 part/models.py:843 #: part/templates/part/detail.html:105 part/templates/part/navbar.html:120 #: part/templates/part/navbar.html:123 #: report/templates/report/inventree_build_order_base.html:173 #: stock/forms.py:138 stock/forms.py:250 stock/forms.py:282 stock/models.py:579 -#: stock/models.py:1726 stock/models.py:1832 +#: stock/models.py:1723 stock/models.py:1829 stock/serializers.py:451 #: stock/templates/stock/navbar.html:57 templates/js/translated/barcode.js:59 -#: templates/js/translated/bom.js:385 templates/js/translated/company.js:839 -#: templates/js/translated/order.js:604 templates/js/translated/stock.js:338 -#: templates/js/translated/stock.js:580 templates/js/translated/stock.js:1061 +#: templates/js/translated/bom.js:406 templates/js/translated/company.js:841 +#: templates/js/translated/order.js:950 templates/js/translated/order.js:1540 +#: templates/js/translated/stock.js:559 templates/js/translated/stock.js:1040 msgid "Notes" msgstr "" -#: build/models.py:315 +#: build/models.py:317 msgid "Extra build notes" msgstr "" -#: build/models.py:792 +#: build/models.py:714 msgid "No build output specified" msgstr "" -#: build/models.py:795 +#: build/models.py:717 msgid "Build output is already completed" msgstr "" -#: build/models.py:798 +#: build/models.py:720 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:1208 -msgid "BuildItem must be unique for build, stock_item and install_into" -msgstr "" - -#: build/models.py:1233 +#: build/models.py:1102 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1237 +#: build/models.py:1111 #, python-brace-format -msgid "Allocated quantity ({n}) must not exceed available quantity ({q})" +msgid "Allocated quantity ({q}) must not execed available stock quantity ({a})" msgstr "" -#: build/models.py:1244 order/models.py:938 -msgid "StockItem is over-allocated" +#: build/models.py:1121 +msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1248 order/models.py:941 +#: build/models.py:1127 order/models.py:955 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1252 +#: build/models.py:1133 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1312 -#, python-brace-format -msgid "Selected stock item not found in BOM for part '{p}'" +#: build/models.py:1191 +msgid "Selected stock item not found in BOM" msgstr "" -#: build/models.py:1372 stock/templates/stock/item_base.html:331 -#: templates/InvenTree/search.html:183 templates/js/translated/build.js:869 +#: build/models.py:1251 stock/templates/stock/item_base.html:331 +#: templates/InvenTree/search.html:169 templates/js/translated/build.js:1195 #: templates/navbar.html:35 msgid "Build" msgstr "" -#: build/models.py:1373 +#: build/models.py:1252 msgid "Build to allocate parts" msgstr "" -#: build/models.py:1389 stock/templates/stock/item_base.html:8 +#: build/models.py:1268 build/serializers.py:151 +#: stock/templates/stock/item_base.html:8 #: stock/templates/stock/item_base.html:31 #: stock/templates/stock/item_base.html:353 #: stock/templates/stock/stock_adjust.html:16 -#: templates/js/translated/build.js:271 templates/js/translated/build.js:276 -#: templates/js/translated/build.js:1012 templates/js/translated/order.js:797 -#: templates/js/translated/order.js:802 templates/js/translated/stock.js:1626 +#: templates/js/translated/build.js:287 templates/js/translated/build.js:292 +#: templates/js/translated/build.js:976 templates/js/translated/build.js:1338 +#: templates/js/translated/order.js:1143 templates/js/translated/order.js:1148 +#: templates/js/translated/stock.js:1605 msgid "Stock Item" msgstr "" -#: build/models.py:1390 +#: build/models.py:1269 msgid "Source stock item" msgstr "" -#: build/models.py:1403 +#: build/models.py:1282 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1411 +#: build/models.py:1290 msgid "Install into" msgstr "" -#: build/models.py:1412 +#: build/models.py:1291 msgid "Destination stock item" msgstr "" +#: build/serializers.py:133 part/models.py:2501 +msgid "BOM Item" +msgstr "" + +#: build/serializers.py:142 +msgid "bom_item.part must point to the same part as the build order" +msgstr "" + +#: build/serializers.py:157 +msgid "Item must be in stock" +msgstr "" + +#: build/serializers.py:171 order/models.py:313 order/serializers.py:231 +#: stock/models.py:351 stock/models.py:1072 +msgid "Quantity must be greater than zero" +msgstr "" + +#: build/serializers.py:180 +msgid "Build Output" +msgstr "" + +#: build/serializers.py:213 +#, python-brace-format +msgid "Available quantity ({q}) exceeded" +msgstr "" + +#: build/serializers.py:219 +msgid "Build output must be specified for allocation of tracked parts" +msgstr "" + +#: build/serializers.py:226 +msgid "Build output cannot be specified for allocation of untracked parts" +msgstr "" + +#: build/serializers.py:254 +msgid "Allocation items must be provided" +msgstr "" + #: build/templates/build/allocation_card.html:21 #: build/templates/build/complete_output.html:46 -#: order/templates/order/sales_order_detail.html:206 -#: order/templates/order/sales_order_detail.html:291 #: report/templates/report/inventree_test_report_base.html:75 #: stock/models.py:501 stock/templates/stock/item_base.html:251 -#: templates/js/translated/build.js:627 -#: templates/js/translated/model_renderers.js:57 +#: templates/js/translated/build.js:636 +#: templates/js/translated/model_renderers.js:72 +#: templates/js/translated/order.js:1253 templates/js/translated/order.js:1342 msgid "Serial Number" msgstr "" -#: build/templates/build/auto_allocate.html:9 -msgid "Automatically Allocate Stock" -msgstr "" - -#: build/templates/build/auto_allocate.html:10 -msgid "The following stock items will be allocated to the specified build output" -msgstr "" - -#: build/templates/build/auto_allocate.html:37 -msgid "No stock items found that can be automatically allocated to this build" -msgstr "" - -#: build/templates/build/auto_allocate.html:39 -msgid "Stock items will have to be manually allocated" -msgstr "" - #: build/templates/build/build_base.html:18 #, python-format msgid "This Build Order is allocated to Sales Order %(link)s" @@ -1033,10 +1053,10 @@ msgstr "" #: order/templates/order/order_base.html:32 #: order/templates/order/order_base.html:86 #: order/templates/order/sales_order_base.html:43 -#: order/templates/order/sales_order_base.html:88 +#: order/templates/order/sales_order_base.html:93 #: templates/js/translated/table_filters.js:272 -#: templates/js/translated/table_filters.js:291 -#: templates/js/translated/table_filters.js:308 +#: templates/js/translated/table_filters.js:300 +#: templates/js/translated/table_filters.js:317 msgid "Overdue" msgstr "" @@ -1086,14 +1106,14 @@ msgid "Progress" msgstr "" #: build/templates/build/build_base.html:170 -#: build/templates/build/detail.html:87 order/models.py:835 +#: build/templates/build/detail.html:87 order/models.py:848 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:35 #: order/templates/order/sales_order_ship.html:25 #: report/templates/report/inventree_build_order_base.html:136 #: report/templates/report/inventree_so_report.html:77 #: stock/templates/stock/item_base.html:293 -#: templates/js/translated/order.js:670 +#: templates/js/translated/order.js:1016 msgid "Sales Order" msgstr "" @@ -1171,28 +1191,6 @@ msgstr "" msgid "The following items will be created" msgstr "" -#: build/templates/build/create_build_item.html:7 -msgid "Select a stock item to allocate to the selected build output" -msgstr "" - -#: build/templates/build/create_build_item.html:11 -#, python-format -msgid "The allocated stock will be installed into the following build output:
%(output)s" -msgstr "" - -#: build/templates/build/create_build_item.html:17 -#, python-format -msgid "No stock available for %(part)s" -msgstr "" - -#: build/templates/build/delete_build_item.html:8 -msgid "Are you sure you want to unallocate this stock?" -msgstr "" - -#: build/templates/build/delete_build_item.html:11 -msgid "The selected stock will be unallocated from the build output" -msgstr "" - #: build/templates/build/detail.html:38 msgid "Stock Source" msgstr "" @@ -1201,9 +1199,8 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/forms.py:88 order/models.py:794 -#: order/templates/order/receive_parts.html:25 stock/forms.py:134 -#: templates/js/translated/order.js:593 +#: build/templates/build/detail.html:49 order/models.py:802 stock/forms.py:134 +#: templates/js/translated/order.js:431 templates/js/translated/order.js:939 msgid "Destination" msgstr "" @@ -1213,7 +1210,7 @@ msgstr "" #: build/templates/build/detail.html:73 #: stock/templates/stock/item_base.html:317 -#: templates/js/translated/stock.js:931 templates/js/translated/stock.js:1873 +#: templates/js/translated/stock.js:910 templates/js/translated/stock.js:1852 #: templates/js/translated/table_filters.js:129 #: templates/js/translated/table_filters.js:211 msgid "Batch" @@ -1221,8 +1218,8 @@ msgstr "" #: build/templates/build/detail.html:119 #: order/templates/order/order_base.html:111 -#: order/templates/order/sales_order_base.html:113 -#: templates/js/translated/build.js:933 +#: order/templates/order/sales_order_base.html:118 +#: templates/js/translated/build.js:1259 msgid "Created" msgstr "" @@ -1230,7 +1227,8 @@ msgstr "" msgid "No target date set" msgstr "" -#: build/templates/build/detail.html:135 templates/js/translated/build.js:911 +#: build/templates/build/detail.html:135 templates/js/translated/build.js:1237 +#: templates/js/translated/table_filters.js:282 msgid "Completed" msgstr "" @@ -1250,15 +1248,16 @@ msgstr "" msgid "Allocate stock to build" msgstr "" -#: build/templates/build/detail.html:173 -msgid "Auto Allocate" +#: build/templates/build/detail.html:173 build/templates/build/navbar.html:20 +#: build/templates/build/navbar.html:23 +msgid "Allocate Stock" msgstr "" -#: build/templates/build/detail.html:175 templates/js/translated/build.js:801 +#: build/templates/build/detail.html:175 templates/js/translated/build.js:817 msgid "Unallocate stock" msgstr "" -#: build/templates/build/detail.html:176 build/views.py:318 build/views.py:638 +#: build/templates/build/detail.html:176 build/views.py:257 msgid "Unallocate Stock" msgstr "" @@ -1268,7 +1267,7 @@ msgstr "" #: build/templates/build/detail.html:180 #: company/templates/company/detail.html:32 -#: company/templates/company/detail.html:72 order/views.py:679 +#: company/templates/company/detail.html:72 order/views.py:509 #: part/templates/part/category.html:140 msgid "Order Parts" msgstr "" @@ -1282,38 +1281,42 @@ msgid "Untracked stock has not been fully allocated for this Build Order" msgstr "" #: build/templates/build/detail.html:197 +msgid "Allocate selected items" +msgstr "" + +#: build/templates/build/detail.html:209 msgid "This Build Order does not have any associated untracked BOM items" msgstr "" -#: build/templates/build/detail.html:206 +#: build/templates/build/detail.html:218 msgid "Incomplete Build Outputs" msgstr "" -#: build/templates/build/detail.html:211 +#: build/templates/build/detail.html:223 msgid "Create new build output" msgstr "" -#: build/templates/build/detail.html:212 +#: build/templates/build/detail.html:224 msgid "Create New Output" msgstr "" -#: build/templates/build/detail.html:225 +#: build/templates/build/detail.html:237 msgid "Create a new build output" msgstr "" -#: build/templates/build/detail.html:226 +#: build/templates/build/detail.html:238 msgid "No incomplete build outputs remain." msgstr "" -#: build/templates/build/detail.html:227 +#: build/templates/build/detail.html:239 msgid "Create a new build output using the button above" msgstr "" -#: build/templates/build/detail.html:235 +#: build/templates/build/detail.html:247 msgid "Completed Build Outputs" msgstr "" -#: build/templates/build/detail.html:246 build/templates/build/navbar.html:42 +#: build/templates/build/detail.html:258 build/templates/build/navbar.html:42 #: build/templates/build/navbar.html:45 order/templates/order/po_navbar.html:35 #: order/templates/order/sales_order_detail.html:43 #: order/templates/order/so_navbar.html:29 part/templates/part/detail.html:173 @@ -1323,15 +1326,15 @@ msgstr "" msgid "Attachments" msgstr "" -#: build/templates/build/detail.html:257 +#: build/templates/build/detail.html:269 msgid "Build Notes" msgstr "" -#: build/templates/build/detail.html:261 build/templates/build/detail.html:398 +#: build/templates/build/detail.html:273 build/templates/build/detail.html:414 #: company/templates/company/detail.html:169 #: company/templates/company/detail.html:196 -#: order/templates/order/purchase_order_detail.html:62 -#: order/templates/order/purchase_order_detail.html:95 +#: order/templates/order/purchase_order_detail.html:71 +#: order/templates/order/purchase_order_detail.html:104 #: order/templates/order/sales_order_detail.html:58 #: order/templates/order/sales_order_detail.html:85 #: part/templates/part/detail.html:109 stock/templates/stock/item.html:103 @@ -1339,39 +1342,48 @@ msgstr "" msgid "Edit Notes" msgstr "" -#: build/templates/build/detail.html:357 +#: build/templates/build/detail.html:373 #: order/templates/order/po_attachments.html:79 -#: order/templates/order/purchase_order_detail.html:157 +#: order/templates/order/purchase_order_detail.html:166 #: order/templates/order/sales_order_detail.html:146 -#: part/templates/part/detail.html:920 stock/templates/stock/item.html:253 +#: part/templates/part/detail.html:891 stock/templates/stock/item.html:253 #: templates/attachment_table.html:6 msgid "Add Attachment" msgstr "" -#: build/templates/build/detail.html:376 +#: build/templates/build/detail.html:392 #: order/templates/order/po_attachments.html:51 -#: order/templates/order/purchase_order_detail.html:129 +#: order/templates/order/purchase_order_detail.html:138 #: order/templates/order/sales_order_detail.html:119 -#: part/templates/part/detail.html:874 stock/templates/stock/item.html:221 +#: part/templates/part/detail.html:845 stock/templates/stock/item.html:221 msgid "Edit Attachment" msgstr "" -#: build/templates/build/detail.html:383 +#: build/templates/build/detail.html:399 #: order/templates/order/po_attachments.html:58 -#: order/templates/order/purchase_order_detail.html:136 +#: order/templates/order/purchase_order_detail.html:145 #: order/templates/order/sales_order_detail.html:125 -#: part/templates/part/detail.html:883 stock/templates/stock/item.html:230 +#: part/templates/part/detail.html:854 stock/templates/stock/item.html:230 +#: templates/js/translated/order.js:1230 msgid "Confirm Delete Operation" msgstr "" -#: build/templates/build/detail.html:384 +#: build/templates/build/detail.html:400 #: order/templates/order/po_attachments.html:59 -#: order/templates/order/purchase_order_detail.html:137 +#: order/templates/order/purchase_order_detail.html:146 #: order/templates/order/sales_order_detail.html:126 -#: part/templates/part/detail.html:884 stock/templates/stock/item.html:231 +#: part/templates/part/detail.html:855 stock/templates/stock/item.html:231 msgid "Delete Attachment" msgstr "" +#: build/templates/build/detail.html:443 +msgid "Allocation Complete" +msgstr "" + +#: build/templates/build/detail.html:444 +msgid "All untracked stock items have been allocated" +msgstr "" + #: build/templates/build/edit_build_item.html:7 msgid "Alter the quantity of stock allocated to the build output" msgstr "" @@ -1401,15 +1413,10 @@ msgid "Build Order Details" msgstr "" #: build/templates/build/navbar.html:15 order/templates/order/po_navbar.html:15 -#: templates/js/translated/stock.js:1555 +#: templates/js/translated/stock.js:1534 msgid "Details" msgstr "" -#: build/templates/build/navbar.html:20 build/templates/build/navbar.html:23 -#: build/views.py:90 -msgid "Allocate Stock" -msgstr "" - #: build/templates/build/navbar.html:28 build/templates/build/navbar.html:31 msgid "Build Outputs" msgstr "" @@ -1434,120 +1441,82 @@ msgstr "" msgid "Build was cancelled" msgstr "" -#: build/views.py:137 -msgid "Allocated stock to build output" -msgstr "" - -#: build/views.py:149 +#: build/views.py:88 msgid "Create Build Output" msgstr "" -#: build/views.py:167 +#: build/views.py:106 msgid "Maximum output quantity is " msgstr "" -#: build/views.py:183 stock/views.py:1389 +#: build/views.py:122 stock/views.py:1366 msgid "Serial numbers already exist" msgstr "" -#: build/views.py:192 +#: build/views.py:131 msgid "Serial numbers required for trackable build output" msgstr "" -#: build/views.py:258 +#: build/views.py:197 msgid "Delete Build Output" msgstr "" -#: build/views.py:279 build/views.py:369 +#: build/views.py:218 build/views.py:308 msgid "Confirm unallocation of build stock" msgstr "" -#: build/views.py:280 build/views.py:370 stock/views.py:404 +#: build/views.py:219 build/views.py:309 stock/views.py:381 msgid "Check the confirmation box" msgstr "" -#: build/views.py:292 +#: build/views.py:231 msgid "Build output does not match build" msgstr "" -#: build/views.py:294 build/views.py:495 +#: build/views.py:233 build/views.py:434 msgid "Build output must be specified" msgstr "" -#: build/views.py:306 +#: build/views.py:245 msgid "Build output deleted" msgstr "" -#: build/views.py:404 +#: build/views.py:343 msgid "Complete Build Order" msgstr "" -#: build/views.py:410 +#: build/views.py:349 msgid "Build order cannot be completed - incomplete outputs remain" msgstr "" -#: build/views.py:421 +#: build/views.py:360 msgid "Completed build order" msgstr "" -#: build/views.py:437 +#: build/views.py:376 msgid "Complete Build Output" msgstr "" -#: build/views.py:479 +#: build/views.py:418 msgid "Invalid stock status value selected" msgstr "" -#: build/views.py:486 +#: build/views.py:425 msgid "Quantity to complete cannot exceed build output quantity" msgstr "" -#: build/views.py:492 +#: build/views.py:431 msgid "Confirm completion of incomplete build" msgstr "" -#: build/views.py:591 +#: build/views.py:530 msgid "Build output completed" msgstr "" -#: build/views.py:628 +#: build/views.py:567 msgid "Delete Build Order" msgstr "" -#: build/views.py:643 -msgid "Removed parts from build allocation" -msgstr "" - -#: build/views.py:655 -msgid "Allocate stock to build output" -msgstr "" - -#: build/views.py:698 -msgid "Item must be currently in stock" -msgstr "" - -#: build/views.py:704 -msgid "Stock item is over-allocated" -msgstr "" - -#: build/views.py:705 templates/js/translated/bom.js:269 -#: templates/js/translated/build.js:728 templates/js/translated/build.js:1019 -#: templates/js/translated/build.js:1196 -msgid "Available" -msgstr "" - -#: build/views.py:707 -msgid "Stock item must be selected" -msgstr "" - -#: build/views.py:870 -msgid "Edit Stock Allocation" -msgstr "" - -#: build/views.py:874 -msgid "Updated Build Item" -msgstr "" - #: common/files.py:67 msgid "Unsupported file format: {ext.upper()}" msgstr "" @@ -1585,7 +1554,7 @@ msgstr "" msgid "Select {name} file to upload" msgstr "" -#: common/models.py:308 common/models.py:839 common/models.py:986 +#: common/models.py:308 common/models.py:887 common/models.py:1048 msgid "Settings key (must be unique - case insensitive" msgstr "" @@ -1625,7 +1594,7 @@ msgstr "" msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:522 company/models.py:99 company/models.py:100 +#: common/models.py:522 company/models.py:100 company/models.py:101 msgid "Company name" msgstr "" @@ -1721,9 +1690,9 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:603 part/models.py:2252 report/models.py:187 +#: common/models.py:603 part/models.py:2256 report/models.py:187 #: stock/forms.py:224 templates/js/translated/table_filters.js:38 -#: templates/js/translated/table_filters.js:342 +#: templates/js/translated/table_filters.js:351 msgid "Template" msgstr "" @@ -1731,9 +1700,9 @@ msgstr "" msgid "Parts are templates by default" msgstr "" -#: common/models.py:610 part/models.py:805 +#: common/models.py:610 part/models.py:806 #: templates/js/translated/table_filters.js:146 -#: templates/js/translated/table_filters.js:354 +#: templates/js/translated/table_filters.js:363 msgid "Assembly" msgstr "" @@ -1741,8 +1710,8 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:617 part/models.py:811 -#: templates/js/translated/table_filters.js:358 +#: common/models.py:617 part/models.py:812 +#: templates/js/translated/table_filters.js:367 msgid "Component" msgstr "" @@ -1750,7 +1719,7 @@ msgstr "" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:624 part/models.py:822 +#: common/models.py:624 part/models.py:823 msgid "Purchaseable" msgstr "" @@ -1758,8 +1727,8 @@ msgstr "" msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:631 part/models.py:827 -#: templates/js/translated/table_filters.js:366 +#: common/models.py:631 part/models.py:828 +#: templates/js/translated/table_filters.js:375 msgid "Salable" msgstr "" @@ -1767,9 +1736,9 @@ msgstr "" msgid "Parts are salable by default" msgstr "" -#: common/models.py:638 part/models.py:817 +#: common/models.py:638 part/models.py:818 #: templates/js/translated/table_filters.js:46 -#: templates/js/translated/table_filters.js:370 +#: templates/js/translated/table_filters.js:379 msgid "Trackable" msgstr "" @@ -1777,7 +1746,7 @@ msgstr "" msgid "Parts are trackable by default" msgstr "" -#: common/models.py:645 part/models.py:837 +#: common/models.py:645 part/models.py:838 #: part/templates/part/part_base.html:66 #: templates/js/translated/table_filters.js:42 msgid "Virtual" @@ -1787,392 +1756,464 @@ msgstr "" msgid "Parts are virtual by default" msgstr "" -#: common/models.py:653 -msgid "Show Quantity in Forms" -msgstr "" - -#: common/models.py:654 -msgid "Display available part quantity in some forms" -msgstr "" - -#: common/models.py:660 +#: common/models.py:652 msgid "Show Import in Views" msgstr "" -#: common/models.py:661 +#: common/models.py:653 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:667 +#: common/models.py:659 msgid "Show Price in Forms" msgstr "" -#: common/models.py:668 +#: common/models.py:660 msgid "Display part price in some forms" msgstr "" -#: common/models.py:674 +#: common/models.py:671 +msgid "Show Price in BOM" +msgstr "" + +#: common/models.py:672 +msgid "Include pricing information in BOM tables" +msgstr "" + +#: common/models.py:678 msgid "Show related parts" msgstr "" -#: common/models.py:675 +#: common/models.py:679 msgid "Display related parts for a part" msgstr "" -#: common/models.py:681 +#: common/models.py:685 msgid "Create initial stock" msgstr "" -#: common/models.py:682 +#: common/models.py:686 msgid "Create initial stock on part creation" msgstr "" -#: common/models.py:688 +#: common/models.py:692 msgid "Internal Prices" msgstr "" -#: common/models.py:689 +#: common/models.py:693 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:695 +#: common/models.py:699 msgid "Internal Price as BOM-Price" msgstr "" -#: common/models.py:696 +#: common/models.py:700 msgid "Use the internal price (if set) in BOM-price calculations" msgstr "" -#: common/models.py:702 templates/stats.html:25 +#: common/models.py:706 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:703 +#: common/models.py:707 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:709 +#: common/models.py:713 msgid "Page Size" msgstr "" -#: common/models.py:710 +#: common/models.py:714 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:720 +#: common/models.py:724 msgid "Test Reports" msgstr "" -#: common/models.py:721 +#: common/models.py:725 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:727 +#: common/models.py:731 msgid "Stock Expiry" msgstr "" -#: common/models.py:728 +#: common/models.py:732 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:734 +#: common/models.py:738 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:735 +#: common/models.py:739 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:741 +#: common/models.py:745 msgid "Stock Stale Time" msgstr "" -#: common/models.py:742 +#: common/models.py:746 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:744 +#: common/models.py:748 msgid "days" msgstr "" -#: common/models.py:749 +#: common/models.py:753 msgid "Build Expired Stock" msgstr "" -#: common/models.py:750 +#: common/models.py:754 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:756 +#: common/models.py:760 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:757 +#: common/models.py:761 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:763 +#: common/models.py:767 msgid "Group by Part" msgstr "" -#: common/models.py:764 +#: common/models.py:768 msgid "Group stock items by part reference in table views" msgstr "" -#: common/models.py:770 +#: common/models.py:774 msgid "Build Order Reference Prefix" msgstr "" -#: common/models.py:771 +#: common/models.py:775 msgid "Prefix value for build order reference" msgstr "" -#: common/models.py:776 +#: common/models.py:780 msgid "Build Order Reference Regex" msgstr "" -#: common/models.py:777 +#: common/models.py:781 msgid "Regular expression pattern for matching build order reference" msgstr "" -#: common/models.py:781 +#: common/models.py:785 msgid "Sales Order Reference Prefix" msgstr "" -#: common/models.py:782 +#: common/models.py:786 msgid "Prefix value for sales order reference" msgstr "" -#: common/models.py:787 +#: common/models.py:791 msgid "Purchase Order Reference Prefix" msgstr "" -#: common/models.py:788 +#: common/models.py:792 msgid "Prefix value for purchase order reference" msgstr "" -#: common/models.py:794 +#: common/models.py:798 msgid "Enable build" msgstr "" -#: common/models.py:795 +#: common/models.py:799 msgid "Enable build functionality in InvenTree interface" msgstr "" -#: common/models.py:800 +#: common/models.py:804 msgid "Enable buy" msgstr "" -#: common/models.py:801 +#: common/models.py:805 msgid "Enable buy functionality in InvenTree interface" msgstr "" -#: common/models.py:806 +#: common/models.py:810 msgid "Enable sell" msgstr "" -#: common/models.py:807 +#: common/models.py:811 msgid "Enable sell functionality in InvenTree interface" msgstr "" -#: common/models.py:812 +#: common/models.py:816 msgid "Enable stock" msgstr "" -#: common/models.py:813 +#: common/models.py:817 msgid "Enable stock functionality in InvenTree interface" msgstr "" -#: common/models.py:818 +#: common/models.py:822 msgid "Enable SO" msgstr "" -#: common/models.py:819 +#: common/models.py:823 msgid "Enable SO functionality in InvenTree interface" msgstr "" -#: common/models.py:824 +#: common/models.py:828 msgid "Enable PO" msgstr "" -#: common/models.py:825 +#: common/models.py:829 msgid "Enable PO functionality in InvenTree interface" msgstr "" -#: common/models.py:850 +#: common/models.py:836 +msgid "Enable password forgot" +msgstr "" + +#: common/models.py:837 +msgid "Enable password forgot function on the login-pages" +msgstr "" + +#: common/models.py:842 +msgid "Enable registration" +msgstr "" + +#: common/models.py:843 +msgid "Enable self-registration for users on the login-pages" +msgstr "" + +#: common/models.py:848 +msgid "Enable SSO" +msgstr "" + +#: common/models.py:849 +msgid "Enable SSO on the login-pages" +msgstr "" + +#: common/models.py:854 +msgid "E-Mail required" +msgstr "" + +#: common/models.py:855 +msgid "Require user to supply mail on signup" +msgstr "" + +#: common/models.py:860 +msgid "Auto-fill SSO users" +msgstr "" + +#: common/models.py:861 +msgid "Automatically fill out user-details from SSO account-data" +msgstr "" + +#: common/models.py:866 +msgid "Mail twice" +msgstr "" + +#: common/models.py:867 +msgid "On signup ask users twice for their mail" +msgstr "" + +#: common/models.py:872 +msgid "Password twice" +msgstr "" + +#: common/models.py:873 +msgid "On signup ask users twice for their password" +msgstr "" + +#: common/models.py:898 msgid "Show starred parts" msgstr "" -#: common/models.py:851 +#: common/models.py:899 msgid "Show starred parts on the homepage" msgstr "" -#: common/models.py:856 +#: common/models.py:904 msgid "Show latest parts" msgstr "" -#: common/models.py:857 +#: common/models.py:905 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:862 +#: common/models.py:910 msgid "Recent Part Count" msgstr "" -#: common/models.py:863 +#: common/models.py:911 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:869 +#: common/models.py:917 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:870 +#: common/models.py:918 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:875 +#: common/models.py:923 msgid "Show recent stock changes" msgstr "" -#: common/models.py:876 +#: common/models.py:924 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:881 +#: common/models.py:929 msgid "Recent Stock Count" msgstr "" -#: common/models.py:882 +#: common/models.py:930 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:887 +#: common/models.py:935 msgid "Show low stock" msgstr "" -#: common/models.py:888 +#: common/models.py:936 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:893 +#: common/models.py:941 msgid "Show depleted stock" msgstr "" -#: common/models.py:894 +#: common/models.py:942 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:899 +#: common/models.py:947 msgid "Show needed stock" msgstr "" -#: common/models.py:900 +#: common/models.py:948 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:905 +#: common/models.py:953 msgid "Show expired stock" msgstr "" -#: common/models.py:906 +#: common/models.py:954 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:911 +#: common/models.py:959 msgid "Show stale stock" msgstr "" -#: common/models.py:912 +#: common/models.py:960 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:917 +#: common/models.py:965 msgid "Show pending builds" msgstr "" -#: common/models.py:918 +#: common/models.py:966 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:923 +#: common/models.py:971 msgid "Show overdue builds" msgstr "" -#: common/models.py:924 +#: common/models.py:972 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:929 +#: common/models.py:977 msgid "Show outstanding POs" msgstr "" -#: common/models.py:930 +#: common/models.py:978 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:935 +#: common/models.py:983 msgid "Show overdue POs" msgstr "" -#: common/models.py:936 +#: common/models.py:984 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:941 +#: common/models.py:989 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:942 +#: common/models.py:990 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:947 +#: common/models.py:995 msgid "Show overdue SOs" msgstr "" -#: common/models.py:948 +#: common/models.py:996 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:954 +#: common/models.py:1002 msgid "Inline label display" msgstr "" -#: common/models.py:955 +#: common/models.py:1003 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:961 +#: common/models.py:1009 msgid "Inline report display" msgstr "" -#: common/models.py:962 +#: common/models.py:1010 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:968 +#: common/models.py:1016 msgid "Search Preview Results" msgstr "" -#: common/models.py:969 +#: common/models.py:1017 msgid "Number of results to show in search preview window" msgstr "" -#: common/models.py:1026 company/forms.py:43 +#: common/models.py:1023 +msgid "Show Quantity in Forms" +msgstr "" + +#: common/models.py:1024 +msgid "Display available part quantity in some forms" +msgstr "" + +#: common/models.py:1030 +msgid "Escape Key Closes Forms" +msgstr "" + +#: common/models.py:1031 +msgid "Use the escape key to close modal forms" +msgstr "" + +#: common/models.py:1088 company/forms.py:43 msgid "Price break quantity" msgstr "" -#: common/models.py:1033 company/templates/company/supplier_part.html:231 -#: templates/js/translated/part.js:1322 +#: common/models.py:1095 company/templates/company/supplier_part.html:231 +#: templates/js/translated/part.js:1369 msgid "Price" msgstr "" -#: common/models.py:1034 +#: common/models.py:1096 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1127 +#: common/models.py:1189 msgid "Default" msgstr "" @@ -2199,7 +2240,7 @@ msgstr "" #: common/views.py:213 order/templates/order/order_wizard/po_upload.html:42 #: order/templates/order/po_navbar.html:19 #: order/templates/order/po_navbar.html:22 -#: order/templates/order/purchase_order_detail.html:26 order/views.py:290 +#: order/templates/order/purchase_order_detail.html:27 order/views.py:289 #: part/templates/part/bom_upload/upload_file.html:65 #: part/templates/part/import_wizard/part_upload.html:45 part/views.py:268 #: part/views.py:882 @@ -2207,7 +2248,7 @@ msgid "Upload File" msgstr "" #: common/views.py:214 order/templates/order/order_wizard/match_fields.html:52 -#: order/views.py:291 part/templates/part/bom_upload/match_fields.html:52 +#: order/views.py:290 part/templates/part/bom_upload/match_fields.html:52 #: part/templates/part/import_wizard/ajax_match_fields.html:45 #: part/templates/part/import_wizard/match_fields.html:52 part/views.py:269 #: part/views.py:883 @@ -2246,249 +2287,249 @@ msgstr "" msgid "Image URL" msgstr "" -#: company/models.py:104 +#: company/models.py:105 msgid "Company description" msgstr "" -#: company/models.py:105 +#: company/models.py:106 msgid "Description of the company" msgstr "" -#: company/models.py:111 company/templates/company/company_base.html:70 +#: company/models.py:112 company/templates/company/company_base.html:70 #: templates/js/translated/company.js:348 msgid "Website" msgstr "" -#: company/models.py:112 +#: company/models.py:113 msgid "Company website URL" msgstr "" -#: company/models.py:116 company/templates/company/company_base.html:88 +#: company/models.py:117 company/templates/company/company_base.html:88 msgid "Address" msgstr "" -#: company/models.py:117 +#: company/models.py:118 msgid "Company address" msgstr "" -#: company/models.py:120 +#: company/models.py:121 msgid "Phone number" msgstr "" -#: company/models.py:121 +#: company/models.py:122 msgid "Contact phone number" msgstr "" -#: company/models.py:124 company/templates/company/company_base.html:102 +#: company/models.py:125 company/templates/company/company_base.html:102 msgid "Email" msgstr "" -#: company/models.py:124 +#: company/models.py:125 msgid "Contact email address" msgstr "" -#: company/models.py:127 company/templates/company/company_base.html:109 +#: company/models.py:128 company/templates/company/company_base.html:109 msgid "Contact" msgstr "" -#: company/models.py:128 +#: company/models.py:129 msgid "Point of contact" msgstr "" -#: company/models.py:130 company/models.py:347 company/models.py:563 -#: order/models.py:160 part/models.py:714 +#: company/models.py:131 company/models.py:348 company/models.py:564 +#: order/models.py:160 part/models.py:715 #: report/templates/report/inventree_build_order_base.html:165 -#: templates/js/translated/company.js:535 -#: templates/js/translated/company.js:823 templates/js/translated/part.js:972 +#: templates/js/translated/company.js:536 +#: templates/js/translated/company.js:825 templates/js/translated/part.js:983 msgid "Link" msgstr "" -#: company/models.py:130 +#: company/models.py:131 msgid "Link to external company information" msgstr "" -#: company/models.py:138 part/models.py:724 +#: company/models.py:139 part/models.py:725 msgid "Image" msgstr "" -#: company/models.py:143 +#: company/models.py:144 msgid "is customer" msgstr "" -#: company/models.py:143 +#: company/models.py:144 msgid "Do you sell items to this company?" msgstr "" -#: company/models.py:145 +#: company/models.py:146 msgid "is supplier" msgstr "" -#: company/models.py:145 +#: company/models.py:146 msgid "Do you purchase items from this company?" msgstr "" -#: company/models.py:147 +#: company/models.py:148 msgid "is manufacturer" msgstr "" -#: company/models.py:147 +#: company/models.py:148 msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:151 company/serializers.py:264 -#: company/templates/company/company_base.html:76 stock/serializers.py:155 +#: company/models.py:152 company/serializers.py:264 +#: company/templates/company/company_base.html:76 stock/serializers.py:158 msgid "Currency" msgstr "" -#: company/models.py:154 +#: company/models.py:155 msgid "Default currency used for this company" msgstr "" -#: company/models.py:319 company/models.py:534 stock/models.py:454 +#: company/models.py:320 company/models.py:535 stock/models.py:454 #: stock/templates/stock/item_base.html:237 msgid "Base Part" msgstr "" -#: company/models.py:323 company/models.py:538 order/views.py:1082 +#: company/models.py:324 company/models.py:539 order/views.py:912 msgid "Select part" msgstr "" -#: company/models.py:334 company/templates/company/company_base.html:116 +#: company/models.py:335 company/templates/company/company_base.html:116 #: company/templates/company/manufacturer_part.html:89 #: company/templates/company/supplier_part.html:98 part/bom.py:170 -#: part/bom.py:241 stock/templates/stock/item_base.html:366 +#: part/bom.py:247 stock/templates/stock/item_base.html:366 #: templates/js/translated/company.js:332 -#: templates/js/translated/company.js:512 -#: templates/js/translated/company.js:794 templates/js/translated/part.js:222 +#: templates/js/translated/company.js:513 +#: templates/js/translated/company.js:796 templates/js/translated/part.js:227 msgid "Manufacturer" msgstr "" -#: company/models.py:335 templates/js/translated/part.js:223 +#: company/models.py:336 templates/js/translated/part.js:228 msgid "Select manufacturer" msgstr "" -#: company/models.py:341 company/templates/company/manufacturer_part.html:93 +#: company/models.py:342 company/templates/company/manufacturer_part.html:93 #: company/templates/company/supplier_part.html:106 part/bom.py:171 -#: part/bom.py:242 templates/js/translated/company.js:528 -#: templates/js/translated/company.js:812 templates/js/translated/order.js:505 -#: templates/js/translated/part.js:233 +#: part/bom.py:248 templates/js/translated/company.js:529 +#: templates/js/translated/company.js:814 templates/js/translated/order.js:851 +#: templates/js/translated/part.js:238 msgid "MPN" msgstr "" -#: company/models.py:342 templates/js/translated/part.js:234 +#: company/models.py:343 templates/js/translated/part.js:239 msgid "Manufacturer Part Number" msgstr "" -#: company/models.py:348 +#: company/models.py:349 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:354 +#: company/models.py:355 msgid "Manufacturer part description" msgstr "" -#: company/models.py:408 company/models.py:557 +#: company/models.py:409 company/models.py:558 #: company/templates/company/manufacturer_part.html:6 #: company/templates/company/manufacturer_part.html:23 #: stock/templates/stock/item_base.html:376 msgid "Manufacturer Part" msgstr "" -#: company/models.py:415 +#: company/models.py:416 msgid "Parameter name" msgstr "" -#: company/models.py:421 +#: company/models.py:422 #: report/templates/report/inventree_test_report_base.html:90 -#: stock/models.py:1819 templates/InvenTree/settings/header.html:8 -#: templates/js/translated/company.js:642 templates/js/translated/part.js:612 -#: templates/js/translated/stock.js:576 +#: stock/models.py:1816 templates/InvenTree/settings/header.html:8 +#: templates/js/translated/company.js:643 templates/js/translated/part.js:623 +#: templates/js/translated/stock.js:555 msgid "Value" msgstr "" -#: company/models.py:422 +#: company/models.py:423 msgid "Parameter value" msgstr "" -#: company/models.py:428 part/models.py:799 part/models.py:2220 -#: templates/js/translated/company.js:648 templates/js/translated/part.js:618 +#: company/models.py:429 part/models.py:800 part/models.py:2224 +#: templates/js/translated/company.js:649 templates/js/translated/part.js:629 msgid "Units" msgstr "" -#: company/models.py:429 +#: company/models.py:430 msgid "Parameter units" msgstr "" -#: company/models.py:501 +#: company/models.py:502 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:544 company/templates/company/company_base.html:121 +#: company/models.py:545 company/templates/company/company_base.html:121 #: company/templates/company/supplier_part.html:88 order/models.py:260 #: order/templates/order/order_base.html:92 #: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:175 -#: part/bom.py:286 stock/templates/stock/item_base.html:383 +#: part/bom.py:292 stock/templates/stock/item_base.html:383 #: templates/js/translated/company.js:336 -#: templates/js/translated/company.js:768 templates/js/translated/order.js:328 -#: templates/js/translated/part.js:203 +#: templates/js/translated/company.js:770 templates/js/translated/order.js:659 +#: templates/js/translated/part.js:208 msgid "Supplier" msgstr "" -#: company/models.py:545 templates/js/translated/part.js:204 +#: company/models.py:546 templates/js/translated/part.js:209 msgid "Select supplier" msgstr "" -#: company/models.py:550 company/templates/company/supplier_part.html:92 -#: part/bom.py:176 part/bom.py:287 templates/js/translated/order.js:492 -#: templates/js/translated/part.js:214 +#: company/models.py:551 company/templates/company/supplier_part.html:92 +#: part/bom.py:176 part/bom.py:293 templates/js/translated/order.js:838 +#: templates/js/translated/part.js:219 msgid "SKU" msgstr "" -#: company/models.py:551 templates/js/translated/part.js:215 +#: company/models.py:552 templates/js/translated/part.js:220 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:558 +#: company/models.py:559 msgid "Select manufacturer part" msgstr "" -#: company/models.py:564 +#: company/models.py:565 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:570 +#: company/models.py:571 msgid "Supplier part description" msgstr "" -#: company/models.py:575 company/templates/company/supplier_part.html:120 -#: part/models.py:2368 report/templates/report/inventree_po_report.html:93 +#: company/models.py:576 company/templates/company/supplier_part.html:120 +#: part/models.py:2389 report/templates/report/inventree_po_report.html:93 #: report/templates/report/inventree_so_report.html:93 msgid "Note" msgstr "" -#: company/models.py:579 part/models.py:1599 +#: company/models.py:580 part/models.py:1603 msgid "base cost" msgstr "" -#: company/models.py:579 part/models.py:1599 +#: company/models.py:580 part/models.py:1603 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:581 company/templates/company/supplier_part.html:113 +#: company/models.py:582 company/templates/company/supplier_part.html:113 #: stock/models.py:478 stock/templates/stock/item_base.html:324 -#: templates/js/translated/company.js:844 templates/js/translated/stock.js:1057 +#: templates/js/translated/company.js:846 templates/js/translated/stock.js:1036 msgid "Packaging" msgstr "" -#: company/models.py:581 +#: company/models.py:582 msgid "Part packaging" msgstr "" -#: company/models.py:583 part/models.py:1601 +#: company/models.py:584 part/models.py:1605 msgid "multiple" msgstr "" -#: company/models.py:583 +#: company/models.py:584 msgid "Order multiple" msgstr "" @@ -2502,7 +2543,7 @@ msgstr "" #: company/templates/company/company_base.html:9 #: company/templates/company/company_base.html:35 -#: templates/InvenTree/search.html:304 templates/js/translated/company.js:321 +#: templates/InvenTree/search.html:208 templates/js/translated/company.js:321 msgid "Company" msgstr "" @@ -2517,7 +2558,7 @@ msgid "Download image from URL" msgstr "" #: company/templates/company/company_base.html:46 -#: templates/js/translated/order.js:117 +#: templates/js/translated/order.js:120 msgid "Create Purchase Order" msgstr "" @@ -2542,22 +2583,22 @@ msgstr "" msgid "Phone" msgstr "" -#: company/templates/company/company_base.html:126 order/models.py:550 -#: order/templates/order/sales_order_base.html:94 stock/models.py:496 +#: company/templates/company/company_base.html:126 order/models.py:558 +#: order/templates/order/sales_order_base.html:99 stock/models.py:496 #: stock/models.py:497 stock/templates/stock/item_base.html:276 -#: templates/js/translated/company.js:328 templates/js/translated/order.js:692 -#: templates/js/translated/stock.js:1608 +#: templates/js/translated/company.js:328 templates/js/translated/order.js:1038 +#: templates/js/translated/stock.js:1587 msgid "Customer" msgstr "" -#: company/templates/company/company_base.html:193 -#: part/templates/part/part_base.html:418 +#: company/templates/company/company_base.html:199 +#: part/templates/part/part_base.html:424 msgid "Upload Image" msgstr "" #: company/templates/company/detail.html:14 #: company/templates/company/manufacturer_part_navbar.html:18 -#: templates/InvenTree/search.html:164 +#: templates/InvenTree/search.html:150 msgid "Supplier Parts" msgstr "" @@ -2597,7 +2638,7 @@ msgstr "" msgid "Delete Parts" msgstr "" -#: company/templates/company/detail.html:54 templates/InvenTree/search.html:149 +#: company/templates/company/detail.html:54 templates/InvenTree/search.html:135 msgid "Manufacturer Parts" msgstr "" @@ -2620,9 +2661,9 @@ msgstr "" #: order/templates/order/purchase_orders.html:13 #: part/templates/part/detail.html:50 part/templates/part/navbar.html:82 #: part/templates/part/navbar.html:85 templates/InvenTree/index.html:260 -#: templates/InvenTree/search.html:325 -#: templates/InvenTree/settings/navbar.html:107 -#: templates/InvenTree/settings/navbar.html:109 templates/navbar.html:44 +#: templates/InvenTree/search.html:229 +#: templates/InvenTree/settings/navbar.html:119 +#: templates/InvenTree/settings/navbar.html:121 templates/navbar.html:44 #: users/models.py:45 msgid "Purchase Orders" msgstr "" @@ -2644,9 +2685,9 @@ msgstr "" #: order/templates/order/sales_orders.html:13 #: part/templates/part/detail.html:71 part/templates/part/navbar.html:91 #: part/templates/part/navbar.html:94 templates/InvenTree/index.html:291 -#: templates/InvenTree/search.html:345 -#: templates/InvenTree/settings/navbar.html:113 -#: templates/InvenTree/settings/navbar.html:115 templates/navbar.html:55 +#: templates/InvenTree/search.html:249 +#: templates/InvenTree/settings/navbar.html:125 +#: templates/InvenTree/settings/navbar.html:127 templates/navbar.html:55 #: users/models.py:46 msgid "Sales Orders" msgstr "" @@ -2664,7 +2705,7 @@ msgstr "" #: company/templates/company/detail.html:147 #: company/templates/company/navbar.html:61 #: company/templates/company/navbar.html:64 -#: templates/js/translated/build.js:620 +#: templates/js/translated/build.js:622 msgid "Assigned Stock" msgstr "" @@ -2696,12 +2737,12 @@ msgid "Order part" msgstr "" #: company/templates/company/manufacturer_part.html:45 -#: templates/js/translated/company.js:560 +#: templates/js/translated/company.js:561 msgid "Edit manufacturer part" msgstr "" #: company/templates/company/manufacturer_part.html:49 -#: templates/js/translated/company.js:561 +#: templates/js/translated/company.js:562 msgid "Delete manufacturer part" msgstr "" @@ -2718,7 +2759,7 @@ msgstr "" #: company/templates/company/manufacturer_part_navbar.html:21 #: company/views.py:49 part/templates/part/navbar.html:75 #: part/templates/part/navbar.html:78 part/templates/part/prices.html:163 -#: templates/InvenTree/search.html:316 templates/navbar.html:41 +#: templates/InvenTree/search.html:220 templates/navbar.html:41 msgid "Suppliers" msgstr "" @@ -2732,7 +2773,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:239 #: part/templates/part/detail.html:214 part/templates/part/detail.html:294 #: part/templates/part/detail.html:317 templates/js/translated/company.js:424 -#: templates/js/translated/helpers.js:31 users/models.py:194 +#: templates/js/translated/helpers.js:31 users/models.py:199 msgid "Delete" msgstr "" @@ -2758,7 +2799,7 @@ msgid "Delete parameters" msgstr "" #: company/templates/company/manufacturer_part.html:176 -#: part/templates/part/detail.html:834 +#: part/templates/part/detail.html:805 msgid "Add Parameter" msgstr "" @@ -2777,16 +2818,15 @@ msgstr "" #: company/templates/company/manufacturer_part_navbar.html:29 #: company/templates/company/navbar.html:39 #: company/templates/company/supplier_part_navbar.html:15 -#: part/templates/part/navbar.html:38 stock/api.py:54 +#: part/templates/part/navbar.html:38 stock/api.py:52 #: stock/templates/stock/loc_link.html:7 stock/templates/stock/location.html:36 #: stock/templates/stock/stock_app_base.html:10 -#: templates/InvenTree/index.html:150 templates/InvenTree/search.html:196 -#: templates/InvenTree/search.html:232 -#: templates/InvenTree/settings/navbar.html:95 -#: templates/InvenTree/settings/navbar.html:97 -#: templates/js/translated/part.js:529 templates/js/translated/part.js:758 -#: templates/js/translated/part.js:934 templates/js/translated/stock.js:202 -#: templates/js/translated/stock.js:850 templates/navbar.html:32 +#: templates/InvenTree/index.html:150 templates/InvenTree/search.html:182 +#: templates/InvenTree/settings/navbar.html:107 +#: templates/InvenTree/settings/navbar.html:109 +#: templates/js/translated/part.js:540 templates/js/translated/part.js:769 +#: templates/js/translated/part.js:945 templates/js/translated/stock.js:182 +#: templates/js/translated/stock.js:829 templates/navbar.html:32 msgid "Stock" msgstr "" @@ -2815,7 +2855,7 @@ msgstr "" #: stock/templates/stock/location.html:148 #: stock/templates/stock/location_navbar.html:18 #: stock/templates/stock/location_navbar.html:21 -#: templates/InvenTree/search.html:198 templates/js/translated/stock.js:1507 +#: templates/InvenTree/search.html:184 templates/js/translated/stock.js:1486 #: templates/stats.html:93 templates/stats.html:102 users/models.py:43 msgid "Stock Items" msgstr "" @@ -2823,17 +2863,17 @@ msgstr "" #: company/templates/company/supplier_part.html:7 #: company/templates/company/supplier_part.html:24 stock/models.py:463 #: stock/templates/stock/item_base.html:388 -#: templates/js/translated/company.js:784 templates/js/translated/stock.js:1014 +#: templates/js/translated/company.js:786 templates/js/translated/stock.js:993 msgid "Supplier Part" msgstr "" #: company/templates/company/supplier_part.html:44 -#: templates/js/translated/company.js:857 +#: templates/js/translated/company.js:859 msgid "Edit supplier part" msgstr "" #: company/templates/company/supplier_part.html:48 -#: templates/js/translated/company.js:858 +#: templates/js/translated/company.js:860 msgid "Delete supplier part" msgstr "" @@ -2900,7 +2940,7 @@ msgid "New Supplier" msgstr "" #: company/views.py:55 part/templates/part/prices.html:167 -#: templates/InvenTree/search.html:306 templates/navbar.html:42 +#: templates/InvenTree/search.html:210 templates/navbar.html:42 msgid "Manufacturers" msgstr "" @@ -2908,7 +2948,7 @@ msgstr "" msgid "New Manufacturer" msgstr "" -#: company/views.py:61 templates/InvenTree/search.html:336 +#: company/views.py:61 templates/InvenTree/search.html:240 #: templates/navbar.html:53 msgid "Customers" msgstr "" @@ -3011,36 +3051,32 @@ msgstr "" msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" -#: order/api.py:302 -msgid "Destination location must be specified" +#: order/api.py:250 +msgid "Matching purchase order does not exist" msgstr "" -#: order/forms.py:30 order/templates/order/order_base.html:47 +#: order/forms.py:27 order/templates/order/order_base.html:50 msgid "Place order" msgstr "" -#: order/forms.py:41 order/templates/order/order_base.html:54 +#: order/forms.py:38 order/templates/order/order_base.html:57 msgid "Mark order as complete" msgstr "" -#: order/forms.py:52 order/forms.py:63 order/templates/order/order_base.html:59 -#: order/templates/order/sales_order_base.html:61 +#: order/forms.py:49 order/forms.py:60 order/templates/order/order_base.html:62 +#: order/templates/order/sales_order_base.html:64 msgid "Cancel order" msgstr "" -#: order/forms.py:74 order/templates/order/sales_order_base.html:58 +#: order/forms.py:71 order/templates/order/sales_order_base.html:61 msgid "Ship order" msgstr "" -#: order/forms.py:89 -msgid "Set all received parts listed above to this location (if left blank, use \"Destination\" column value in above table)" -msgstr "" - -#: order/forms.py:116 +#: order/forms.py:97 msgid "Enter stock item serial numbers" msgstr "" -#: order/forms.py:122 +#: order/forms.py:103 msgid "Enter quantity of stock items" msgstr "" @@ -3064,11 +3100,11 @@ msgstr "" msgid "Order notes" msgstr "" -#: order/models.py:247 order/models.py:540 +#: order/models.py:247 order/models.py:548 msgid "Order reference" msgstr "" -#: order/models.py:252 order/models.py:555 +#: order/models.py:252 order/models.py:563 msgid "Purchase order status" msgstr "" @@ -3077,7 +3113,7 @@ msgid "Company from which the items are being ordered" msgstr "" #: order/models.py:264 order/templates/order/order_base.html:98 -#: templates/js/translated/order.js:337 +#: templates/js/translated/order.js:668 msgid "Supplier Reference" msgstr "" @@ -3109,190 +3145,190 @@ msgstr "" msgid "Date order was completed" msgstr "" -#: order/models.py:313 stock/models.py:351 stock/models.py:1072 -msgid "Quantity must be greater than zero" -msgstr "" - #: order/models.py:318 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:421 -msgid "Lines can only be received against an order marked as 'Placed'" -msgstr "" - -#: order/models.py:425 +#: order/models.py:428 msgid "Quantity must be an integer" msgstr "" -#: order/models.py:427 +#: order/models.py:432 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:551 +#: order/models.py:559 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:557 +#: order/models.py:565 msgid "Customer Reference " msgstr "" -#: order/models.py:557 +#: order/models.py:565 msgid "Customer order reference code" msgstr "" -#: order/models.py:562 +#: order/models.py:570 msgid "Target date for order completion. Order will be overdue after this date." msgstr "" -#: order/models.py:565 templates/js/translated/order.js:733 +#: order/models.py:573 templates/js/translated/order.js:1079 msgid "Shipment Date" msgstr "" -#: order/models.py:572 +#: order/models.py:580 msgid "shipped by" msgstr "" -#: order/models.py:616 +#: order/models.py:624 msgid "SalesOrder cannot be shipped as it is not currently pending" msgstr "" -#: order/models.py:713 +#: order/models.py:721 msgid "Item quantity" msgstr "" -#: order/models.py:719 +#: order/models.py:727 msgid "Line item reference" msgstr "" -#: order/models.py:721 +#: order/models.py:729 msgid "Line item notes" msgstr "" -#: order/models.py:751 order/models.py:835 templates/js/translated/order.js:785 +#: order/models.py:759 order/models.py:847 +#: templates/js/translated/order.js:1131 msgid "Order" msgstr "" -#: order/models.py:752 order/templates/order/order_base.html:9 +#: order/models.py:760 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:24 #: report/templates/report/inventree_po_report.html:77 #: stock/templates/stock/item_base.html:338 -#: templates/js/translated/order.js:306 templates/js/translated/stock.js:991 -#: templates/js/translated/stock.js:1589 +#: templates/js/translated/order.js:637 templates/js/translated/stock.js:970 +#: templates/js/translated/stock.js:1568 msgid "Purchase Order" msgstr "" -#: order/models.py:773 +#: order/models.py:781 msgid "Supplier part" msgstr "" -#: order/models.py:780 order/templates/order/order_base.html:131 -#: order/templates/order/receive_parts.html:22 -#: order/templates/order/sales_order_base.html:133 -#: templates/js/translated/order.js:573 +#: order/models.py:788 order/templates/order/order_base.html:131 +#: order/templates/order/sales_order_base.html:138 +#: templates/js/translated/order.js:428 templates/js/translated/order.js:919 msgid "Received" msgstr "" -#: order/models.py:781 +#: order/models.py:789 msgid "Number of items received" msgstr "" -#: order/models.py:788 part/templates/part/prices.html:176 stock/models.py:588 -#: stock/serializers.py:147 stock/templates/stock/item_base.html:345 -#: templates/js/translated/stock.js:1045 +#: order/models.py:796 part/templates/part/prices.html:176 stock/models.py:588 +#: stock/serializers.py:150 stock/templates/stock/item_base.html:345 +#: templates/js/translated/stock.js:1024 msgid "Purchase Price" msgstr "" -#: order/models.py:789 +#: order/models.py:797 msgid "Unit purchase price" msgstr "" -#: order/models.py:797 +#: order/models.py:805 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:843 part/templates/part/part_pricing.html:112 +#: order/models.py:857 part/templates/part/part_pricing.html:112 #: part/templates/part/prices.html:116 part/templates/part/prices.html:284 msgid "Sale Price" msgstr "" -#: order/models.py:844 +#: order/models.py:858 msgid "Unit sale price" msgstr "" -#: order/models.py:923 order/models.py:925 +#: order/models.py:937 order/models.py:939 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:929 +#: order/models.py:943 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:931 +#: order/models.py:945 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:934 +#: order/models.py:948 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:944 +#: order/models.py:952 +msgid "StockItem is over-allocated" +msgstr "" + +#: order/models.py:958 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:949 +#: order/models.py:966 msgid "Line" msgstr "" -#: order/models.py:960 +#: order/models.py:978 msgid "Item" msgstr "" -#: order/models.py:961 +#: order/models.py:979 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:964 +#: order/models.py:982 msgid "Enter stock allocation quantity" msgstr "" -#: order/serializers.py:166 +#: order/serializers.py:167 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:201 +#: order/serializers.py:202 msgid "Line Item" msgstr "" -#: order/serializers.py:207 +#: order/serializers.py:208 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:217 order/serializers.py:276 +#: order/serializers.py:218 order/serializers.py:285 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:234 +#: order/serializers.py:242 msgid "Barcode Hash" msgstr "" -#: order/serializers.py:235 +#: order/serializers.py:243 msgid "Unique identifier field" msgstr "" -#: order/serializers.py:250 +#: order/serializers.py:259 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:289 +#: order/serializers.py:297 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:299 +#: order/serializers.py:314 +msgid "Destination location must be specified" +msgstr "" + +#: order/serializers.py:325 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:514 +#: order/serializers.py:569 msgid "Sale price currency" msgstr "" @@ -3307,31 +3343,32 @@ msgstr "" msgid "Print" msgstr "" -#: order/templates/order/order_base.html:43 -#: order/templates/order/sales_order_base.html:54 +#: order/templates/order/order_base.html:42 +#: order/templates/order/sales_order_base.html:53 +msgid "Export order to file" +msgstr "" + +#: order/templates/order/order_base.html:46 +#: order/templates/order/sales_order_base.html:57 msgid "Edit order information" msgstr "" -#: order/templates/order/order_base.html:51 +#: order/templates/order/order_base.html:54 msgid "Receive items" msgstr "" -#: order/templates/order/order_base.html:64 -msgid "Export order to file" -msgstr "" - #: order/templates/order/order_base.html:72 #: order/templates/order/po_navbar.html:12 msgid "Purchase Order Details" msgstr "" #: order/templates/order/order_base.html:77 -#: order/templates/order/sales_order_base.html:79 +#: order/templates/order/sales_order_base.html:84 msgid "Order Reference" msgstr "" #: order/templates/order/order_base.html:82 -#: order/templates/order/sales_order_base.html:84 +#: order/templates/order/sales_order_base.html:89 msgid "Order Status" msgstr "" @@ -3344,16 +3381,6 @@ msgstr "" msgid "Edit Purchase Order" msgstr "" -#: order/templates/order/order_base.html:196 -#: stock/templates/stock/location.html:250 templates/js/translated/order.js:437 -msgid "New Location" -msgstr "" - -#: order/templates/order/order_base.html:197 -#: stock/templates/stock/location.html:42 templates/js/translated/order.js:438 -msgid "Create new stock location" -msgstr "" - #: order/templates/order/order_cancel.html:8 msgid "Cancelling this order means that the order and line items will no longer be editable." msgstr "" @@ -3426,6 +3453,7 @@ msgstr "" #: part/templates/part/import_wizard/ajax_match_references.html:42 #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 +#: templates/js/translated/build.js:869 templates/js/translated/order.js:376 msgid "Remove row" msgstr "" @@ -3502,7 +3530,7 @@ msgid "Select existing purchase orders, or create new orders." msgstr "" #: order/templates/order/order_wizard/select_pos.html:31 -#: templates/js/translated/order.js:363 templates/js/translated/order.js:738 +#: templates/js/translated/order.js:694 templates/js/translated/order.js:1084 msgid "Items" msgstr "" @@ -3522,7 +3550,7 @@ msgstr "" #: order/templates/order/po_attachments.html:12 #: order/templates/order/po_navbar.html:32 -#: order/templates/order/purchase_order_detail.html:47 +#: order/templates/order/purchase_order_detail.html:56 msgid "Purchase Order Attachments" msgstr "" @@ -3532,7 +3560,7 @@ msgstr "" #: order/templates/order/po_navbar.html:29 #: order/templates/order/po_received_items.html:12 -#: order/templates/order/purchase_order_detail.html:38 +#: order/templates/order/purchase_order_detail.html:47 msgid "Received Items" msgstr "" @@ -3540,14 +3568,22 @@ msgstr "" msgid "Purchase Order Items" msgstr "" -#: order/templates/order/purchase_order_detail.html:23 -#: order/templates/order/purchase_order_detail.html:203 +#: order/templates/order/purchase_order_detail.html:24 +#: order/templates/order/purchase_order_detail.html:212 #: order/templates/order/sales_order_detail.html:23 #: order/templates/order/sales_order_detail.html:177 msgid "Add Line Item" msgstr "" -#: order/templates/order/purchase_order_detail.html:58 +#: order/templates/order/purchase_order_detail.html:30 +msgid "Receive selected items" +msgstr "" + +#: order/templates/order/purchase_order_detail.html:31 +msgid "Receive Items" +msgstr "" + +#: order/templates/order/purchase_order_detail.html:67 #: order/templates/order/sales_order_detail.html:54 msgid "Order Notes" msgstr "" @@ -3557,67 +3593,24 @@ msgstr "" msgid "Print Order Reports" msgstr "" -#: order/templates/order/receive_parts.html:8 -#, python-format -msgid "Receive outstanding parts for %(order)s - %(desc)s" -msgstr "" - -#: order/templates/order/receive_parts.html:14 part/api.py:54 -#: part/models.py:298 part/templates/part/cat_link.html:7 -#: part/templates/part/category.html:108 part/templates/part/category.html:122 -#: part/templates/part/category_navbar.html:21 -#: part/templates/part/category_navbar.html:24 -#: templates/InvenTree/index.html:102 templates/InvenTree/search.html:114 -#: templates/InvenTree/settings/navbar.html:83 -#: templates/InvenTree/settings/navbar.html:85 -#: templates/js/translated/part.js:1154 templates/navbar.html:29 -#: templates/stats.html:80 templates/stats.html:89 users/models.py:41 -msgid "Parts" -msgstr "" - -#: order/templates/order/receive_parts.html:15 -msgid "Fill out number of parts received, the status and destination" -msgstr "" - -#: order/templates/order/receive_parts.html:20 -msgid "Order Code" -msgstr "" - -#: order/templates/order/receive_parts.html:21 -#: part/templates/part/part_base.html:167 templates/js/translated/part.js:949 -msgid "On Order" -msgstr "" - -#: order/templates/order/receive_parts.html:23 -msgid "Receive" -msgstr "" - -#: order/templates/order/receive_parts.html:37 -msgid "Error: Referenced part has been removed" -msgstr "" - -#: order/templates/order/receive_parts.html:68 -msgid "Remove line" -msgstr "" - #: order/templates/order/sales_order_base.html:16 msgid "This Sales Order has not been fully allocated" msgstr "" -#: order/templates/order/sales_order_base.html:66 +#: order/templates/order/sales_order_base.html:70 msgid "Packing List" msgstr "" -#: order/templates/order/sales_order_base.html:74 +#: order/templates/order/sales_order_base.html:79 msgid "Sales Order Details" msgstr "" -#: order/templates/order/sales_order_base.html:100 -#: templates/js/translated/order.js:705 +#: order/templates/order/sales_order_base.html:105 +#: templates/js/translated/order.js:1051 msgid "Customer Reference" msgstr "" -#: order/templates/order/sales_order_base.html:178 +#: order/templates/order/sales_order_base.html:183 msgid "Edit Sales Order" msgstr "" @@ -3636,105 +3629,6 @@ msgstr "" msgid "Sales Order Items" msgstr "" -#: order/templates/order/sales_order_detail.html:226 -#: templates/js/translated/bom.js:394 templates/js/translated/build.js:782 -#: templates/js/translated/build.js:1219 -msgid "Actions" -msgstr "" - -#: order/templates/order/sales_order_detail.html:233 -#: templates/js/translated/build.js:668 templates/js/translated/build.js:1030 -msgid "Edit stock allocation" -msgstr "" - -#: order/templates/order/sales_order_detail.html:234 -#: templates/js/translated/build.js:670 templates/js/translated/build.js:1031 -msgid "Delete stock allocation" -msgstr "" - -#: order/templates/order/sales_order_detail.html:307 -msgid "No matching line items" -msgstr "" - -#: order/templates/order/sales_order_detail.html:337 -msgid "ID" -msgstr "" - -#: order/templates/order/sales_order_detail.html:354 -#: templates/js/translated/order.js:481 -msgid "Total" -msgstr "" - -#: order/templates/order/sales_order_detail.html:377 -#: templates/js/translated/order.js:534 templates/js/translated/part.js:1296 -#: templates/js/translated/part.js:1507 -msgid "Unit Price" -msgstr "" - -#: order/templates/order/sales_order_detail.html:384 -#: templates/js/translated/order.js:543 -msgid "Total price" -msgstr "" - -#: order/templates/order/sales_order_detail.html:405 -#: templates/js/translated/build.js:733 templates/js/translated/build.js:1026 -msgid "Allocated" -msgstr "" - -#: order/templates/order/sales_order_detail.html:407 -msgid "Fulfilled" -msgstr "" - -#: order/templates/order/sales_order_detail.html:444 -msgid "PO" -msgstr "" - -#: order/templates/order/sales_order_detail.html:474 -msgid "Allocate serial numbers" -msgstr "" - -#: order/templates/order/sales_order_detail.html:477 -#: templates/js/translated/build.js:796 -msgid "Allocate stock" -msgstr "" - -#: order/templates/order/sales_order_detail.html:480 -msgid "Purchase stock" -msgstr "" - -#: order/templates/order/sales_order_detail.html:484 -#: templates/js/translated/build.js:789 templates/js/translated/build.js:1227 -msgid "Build stock" -msgstr "" - -#: order/templates/order/sales_order_detail.html:487 -#: order/templates/order/sales_order_detail.html:606 -msgid "Calculate price" -msgstr "" - -#: order/templates/order/sales_order_detail.html:490 -#: templates/js/translated/order.js:616 -msgid "Edit line item" -msgstr "" - -#: order/templates/order/sales_order_detail.html:491 -msgid "Delete line item " -msgstr "" - -#: order/templates/order/sales_order_detail.html:519 -#: templates/js/translated/order.js:403 -msgid "Edit Line Item" -msgstr "" - -#: order/templates/order/sales_order_detail.html:529 -#: templates/js/translated/order.js:415 -msgid "Delete Line Item" -msgstr "" - -#: order/templates/order/sales_order_detail.html:612 -msgid "Update Unit Price" -msgstr "" - #: order/templates/order/sales_order_ship.html:10 msgid "This order has not been fully allocated. If the order is marked as shipped, it can no longer be adjusted." msgstr "" @@ -3759,10 +3653,6 @@ msgstr "" msgid "Allocate stock items by serial number" msgstr "" -#: order/templates/order/so_allocation_delete.html:7 -msgid "This action will unallocate the following stock from the Sales Order" -msgstr "" - #: order/templates/order/so_navbar.html:12 msgid "Sales Order Line Items" msgstr "" @@ -3775,149 +3665,129 @@ msgstr "" msgid "Sales Order Attachments" msgstr "" -#: order/views.py:104 +#: order/views.py:103 msgid "Cancel Order" msgstr "" -#: order/views.py:113 order/views.py:139 +#: order/views.py:112 order/views.py:138 msgid "Confirm order cancellation" msgstr "" -#: order/views.py:116 order/views.py:142 +#: order/views.py:115 order/views.py:141 msgid "Order cannot be cancelled" msgstr "" -#: order/views.py:130 +#: order/views.py:129 msgid "Cancel sales order" msgstr "" -#: order/views.py:156 +#: order/views.py:155 msgid "Issue Order" msgstr "" -#: order/views.py:165 +#: order/views.py:164 msgid "Confirm order placement" msgstr "" -#: order/views.py:175 +#: order/views.py:174 msgid "Purchase order issued" msgstr "" -#: order/views.py:186 +#: order/views.py:185 msgid "Complete Order" msgstr "" -#: order/views.py:202 +#: order/views.py:201 msgid "Confirm order completion" msgstr "" -#: order/views.py:213 +#: order/views.py:212 msgid "Purchase order completed" msgstr "" -#: order/views.py:223 +#: order/views.py:222 msgid "Ship Order" msgstr "" -#: order/views.py:239 +#: order/views.py:238 msgid "Confirm order shipment" msgstr "" -#: order/views.py:245 +#: order/views.py:244 msgid "Could not ship order" msgstr "" -#: order/views.py:292 +#: order/views.py:291 msgid "Match Supplier Parts" msgstr "" -#: order/views.py:480 -msgid "Receive Parts" -msgstr "" - -#: order/views.py:552 -msgid "Items received" -msgstr "" - -#: order/views.py:620 -msgid "Error converting quantity to number" -msgstr "" - -#: order/views.py:626 -msgid "Receive quantity less than zero" -msgstr "" - -#: order/views.py:632 -msgid "No lines specified" -msgstr "" - -#: order/views.py:705 +#: order/views.py:535 msgid "Update prices" msgstr "" -#: order/views.py:963 +#: order/views.py:793 #, python-brace-format msgid "Ordered {n} parts" msgstr "" -#: order/views.py:1016 +#: order/views.py:846 msgid "Allocate Serial Numbers" msgstr "" -#: order/views.py:1061 +#: order/views.py:891 #, python-brace-format msgid "Allocated {n} items" msgstr "" -#: order/views.py:1077 +#: order/views.py:907 msgid "Select line item" msgstr "" -#: order/views.py:1108 +#: order/views.py:938 #, python-brace-format msgid "No matching item for serial {serial}" msgstr "" -#: order/views.py:1118 +#: order/views.py:948 #, python-brace-format msgid "{serial} is not in stock" msgstr "" -#: order/views.py:1126 +#: order/views.py:956 #, python-brace-format msgid "{serial} already allocated to an order" msgstr "" -#: order/views.py:1180 -msgid "Allocate Stock to Order" -msgstr "" - -#: order/views.py:1254 -msgid "Edit Allocation Quantity" -msgstr "" - -#: order/views.py:1269 -msgid "Remove allocation" -msgstr "" - -#: order/views.py:1341 +#: order/views.py:1072 msgid "Sales order not found" msgstr "" -#: order/views.py:1347 +#: order/views.py:1078 msgid "Price not found" msgstr "" -#: order/views.py:1350 +#: order/views.py:1081 #, python-brace-format msgid "Updated {part} unit-price to {price}" msgstr "" -#: order/views.py:1355 +#: order/views.py:1086 #, python-brace-format msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" +#: part/api.py:54 part/models.py:299 part/templates/part/cat_link.html:7 +#: part/templates/part/category.html:108 part/templates/part/category.html:122 +#: part/templates/part/category_navbar.html:21 +#: part/templates/part/category_navbar.html:24 +#: templates/InvenTree/index.html:102 templates/InvenTree/search.html:114 +#: templates/InvenTree/settings/navbar.html:95 +#: templates/InvenTree/settings/navbar.html:97 +#: templates/js/translated/part.js:1165 templates/navbar.html:29 +#: templates/stats.html:80 templates/stats.html:89 users/models.py:41 +msgid "Parts" +msgstr "" + #: part/api.py:700 msgid "Must be greater than zero" msgstr "" @@ -3934,7 +3804,7 @@ msgstr "" msgid "This field is required" msgstr "" -#: part/bom.py:133 part/models.py:75 part/models.py:733 +#: part/bom.py:133 part/models.py:76 part/models.py:734 #: part/templates/part/category.html:75 part/templates/part/part_base.html:290 msgid "Default Location" msgstr "" @@ -3999,7 +3869,7 @@ msgstr "" msgid "Include part supplier data in exported BOM" msgstr "" -#: part/forms.py:96 part/models.py:2250 +#: part/forms.py:96 part/models.py:2254 msgid "Parent Part" msgstr "" @@ -4043,391 +3913,387 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:76 +#: part/models.py:77 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:79 +#: part/models.py:80 msgid "Default keywords" msgstr "" -#: part/models.py:79 +#: part/models.py:80 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:89 part/models.py:2296 +#: part/models.py:90 part/models.py:2300 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:90 part/templates/part/category.html:32 +#: part/models.py:91 part/templates/part/category.html:32 #: part/templates/part/category.html:103 templates/InvenTree/search.html:127 #: templates/stats.html:84 users/models.py:40 msgid "Part Categories" msgstr "" -#: part/models.py:383 +#: part/models.py:384 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:435 part/models.py:447 +#: part/models.py:436 part/models.py:448 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:544 +#: part/models.py:545 msgid "Next available serial numbers are" msgstr "" -#: part/models.py:548 +#: part/models.py:549 msgid "Next available serial number is" msgstr "" -#: part/models.py:553 +#: part/models.py:554 msgid "Most recent serial number is" msgstr "" -#: part/models.py:632 +#: part/models.py:633 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:657 +#: part/models.py:658 msgid "Part name" msgstr "" -#: part/models.py:664 +#: part/models.py:665 msgid "Is Template" msgstr "" -#: part/models.py:665 +#: part/models.py:666 msgid "Is this part a template part?" msgstr "" -#: part/models.py:675 +#: part/models.py:676 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:676 +#: part/models.py:677 msgid "Variant Of" msgstr "" -#: part/models.py:682 +#: part/models.py:683 msgid "Part description" msgstr "" -#: part/models.py:687 part/templates/part/category.html:82 +#: part/models.py:688 part/templates/part/category.html:82 #: part/templates/part/part_base.html:259 msgid "Keywords" msgstr "" -#: part/models.py:688 +#: part/models.py:689 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:695 part/models.py:2295 +#: part/models.py:696 part/models.py:2299 #: part/templates/part/set_category.html:15 -#: templates/InvenTree/settings/settings.html:167 -#: templates/js/translated/part.js:916 +#: templates/InvenTree/settings/settings.html:169 +#: templates/js/translated/part.js:927 msgid "Category" msgstr "" -#: part/models.py:696 +#: part/models.py:697 msgid "Part category" msgstr "" -#: part/models.py:701 part/templates/part/part_base.html:235 -#: templates/js/translated/part.js:517 templates/js/translated/part.js:749 +#: part/models.py:702 part/templates/part/part_base.html:235 +#: templates/js/translated/part.js:528 templates/js/translated/part.js:760 msgid "IPN" msgstr "" -#: part/models.py:702 +#: part/models.py:703 msgid "Internal Part Number" msgstr "" -#: part/models.py:708 +#: part/models.py:709 msgid "Part revision or version number" msgstr "" -#: part/models.py:709 part/templates/part/part_base.html:252 -#: report/models.py:200 templates/js/translated/part.js:521 +#: part/models.py:710 part/templates/part/part_base.html:252 +#: report/models.py:200 templates/js/translated/part.js:532 msgid "Revision" msgstr "" -#: part/models.py:731 +#: part/models.py:732 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:778 part/templates/part/part_base.html:297 +#: part/models.py:779 part/templates/part/part_base.html:297 msgid "Default Supplier" msgstr "" -#: part/models.py:779 +#: part/models.py:780 msgid "Default supplier part" msgstr "" -#: part/models.py:786 +#: part/models.py:787 msgid "Default Expiry" msgstr "" -#: part/models.py:787 +#: part/models.py:788 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:792 +#: part/models.py:793 msgid "Minimum Stock" msgstr "" -#: part/models.py:793 +#: part/models.py:794 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:800 +#: part/models.py:801 msgid "Stock keeping units for this part" msgstr "" -#: part/models.py:806 +#: part/models.py:807 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:812 +#: part/models.py:813 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:818 +#: part/models.py:819 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:823 +#: part/models.py:824 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:828 +#: part/models.py:829 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:832 templates/js/translated/table_filters.js:34 +#: part/models.py:833 templates/js/translated/table_filters.js:34 #: templates/js/translated/table_filters.js:82 #: templates/js/translated/table_filters.js:268 -#: templates/js/translated/table_filters.js:337 +#: templates/js/translated/table_filters.js:346 msgid "Active" msgstr "" -#: part/models.py:833 +#: part/models.py:834 msgid "Is this part active?" msgstr "" -#: part/models.py:838 +#: part/models.py:839 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:843 +#: part/models.py:844 msgid "Part notes - supports Markdown formatting" msgstr "" -#: part/models.py:846 +#: part/models.py:847 msgid "BOM checksum" msgstr "" -#: part/models.py:846 +#: part/models.py:847 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:849 +#: part/models.py:850 msgid "BOM checked by" msgstr "" -#: part/models.py:851 +#: part/models.py:852 msgid "BOM checked date" msgstr "" -#: part/models.py:855 +#: part/models.py:856 msgid "Creation User" msgstr "" -#: part/models.py:1601 +#: part/models.py:1605 msgid "Sell multiple" msgstr "" -#: part/models.py:2096 +#: part/models.py:2100 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:2113 +#: part/models.py:2117 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:2133 templates/js/translated/part.js:1205 -#: templates/js/translated/stock.js:556 +#: part/models.py:2137 templates/js/translated/part.js:1216 +#: templates/js/translated/stock.js:535 msgid "Test Name" msgstr "" -#: part/models.py:2134 +#: part/models.py:2138 msgid "Enter a name for the test" msgstr "" -#: part/models.py:2139 +#: part/models.py:2143 msgid "Test Description" msgstr "" -#: part/models.py:2140 +#: part/models.py:2144 msgid "Enter description for this test" msgstr "" -#: part/models.py:2145 templates/js/translated/part.js:1214 +#: part/models.py:2149 templates/js/translated/part.js:1225 #: templates/js/translated/table_filters.js:254 msgid "Required" msgstr "" -#: part/models.py:2146 +#: part/models.py:2150 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:2151 templates/js/translated/part.js:1222 +#: part/models.py:2155 templates/js/translated/part.js:1233 msgid "Requires Value" msgstr "" -#: part/models.py:2152 +#: part/models.py:2156 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:2157 templates/js/translated/part.js:1229 +#: part/models.py:2161 templates/js/translated/part.js:1240 msgid "Requires Attachment" msgstr "" -#: part/models.py:2158 +#: part/models.py:2162 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:2169 +#: part/models.py:2173 #, python-brace-format msgid "Illegal character in template name ({c})" msgstr "" -#: part/models.py:2205 +#: part/models.py:2209 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:2213 +#: part/models.py:2217 msgid "Parameter Name" msgstr "" -#: part/models.py:2220 +#: part/models.py:2224 msgid "Parameter Units" msgstr "" -#: part/models.py:2252 part/models.py:2301 part/models.py:2302 -#: templates/InvenTree/settings/settings.html:162 +#: part/models.py:2256 part/models.py:2305 part/models.py:2306 +#: templates/InvenTree/settings/settings.html:164 msgid "Parameter Template" msgstr "" -#: part/models.py:2254 +#: part/models.py:2258 msgid "Data" msgstr "" -#: part/models.py:2254 +#: part/models.py:2258 msgid "Parameter Value" msgstr "" -#: part/models.py:2306 templates/InvenTree/settings/settings.html:171 +#: part/models.py:2310 templates/InvenTree/settings/settings.html:173 msgid "Default Value" msgstr "" -#: part/models.py:2307 +#: part/models.py:2311 msgid "Default Parameter Value" msgstr "" -#: part/models.py:2341 +#: part/models.py:2362 msgid "Select parent part" msgstr "" -#: part/models.py:2349 +#: part/models.py:2370 msgid "Sub part" msgstr "" -#: part/models.py:2350 +#: part/models.py:2371 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:2356 +#: part/models.py:2377 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:2358 templates/js/translated/bom.js:256 -#: templates/js/translated/bom.js:314 +#: part/models.py:2379 templates/js/translated/bom.js:275 +#: templates/js/translated/bom.js:335 msgid "Optional" msgstr "" -#: part/models.py:2358 +#: part/models.py:2379 msgid "This BOM item is optional" msgstr "" -#: part/models.py:2361 +#: part/models.py:2382 msgid "Overage" msgstr "" -#: part/models.py:2362 +#: part/models.py:2383 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:2365 +#: part/models.py:2386 msgid "BOM item reference" msgstr "" -#: part/models.py:2368 +#: part/models.py:2389 msgid "BOM item notes" msgstr "" -#: part/models.py:2370 +#: part/models.py:2391 msgid "Checksum" msgstr "" -#: part/models.py:2370 +#: part/models.py:2391 msgid "BOM line checksum" msgstr "" -#: part/models.py:2374 templates/js/translated/bom.js:331 -#: templates/js/translated/bom.js:338 +#: part/models.py:2395 templates/js/translated/bom.js:352 +#: templates/js/translated/bom.js:359 #: templates/js/translated/table_filters.js:68 msgid "Inherited" msgstr "" -#: part/models.py:2375 +#: part/models.py:2396 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:2380 templates/js/translated/bom.js:323 +#: part/models.py:2401 templates/js/translated/bom.js:344 msgid "Allow Variants" msgstr "" -#: part/models.py:2381 +#: part/models.py:2402 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:2466 stock/models.py:341 +#: part/models.py:2487 stock/models.py:341 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:2475 part/models.py:2477 +#: part/models.py:2496 part/models.py:2498 msgid "Sub part must be specified" msgstr "" -#: part/models.py:2480 -msgid "BOM Item" -msgstr "" - -#: part/models.py:2599 +#: part/models.py:2620 msgid "Part 1" msgstr "" -#: part/models.py:2603 +#: part/models.py:2624 msgid "Part 2" msgstr "" -#: part/models.py:2603 +#: part/models.py:2624 msgid "Select Related Part" msgstr "" -#: part/models.py:2635 +#: part/models.py:2656 msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique" msgstr "" @@ -4578,7 +4444,7 @@ msgstr "" msgid "Create new part" msgstr "" -#: part/templates/part/category.html:131 +#: part/templates/part/category.html:131 templates/js/translated/bom.js:39 msgid "New Part" msgstr "" @@ -4658,7 +4524,7 @@ msgstr "" msgid "Import Parts" msgstr "" -#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:352 +#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:363 msgid "Duplicate Part" msgstr "" @@ -4785,34 +4651,26 @@ msgstr "" msgid "Add Test Result Template" msgstr "" -#: part/templates/part/detail.html:716 -msgid "Edit Test Result Template" -msgstr "" - -#: part/templates/part/detail.html:728 -msgid "Delete Test Result Template" -msgstr "" - -#: part/templates/part/detail.html:784 +#: part/templates/part/detail.html:755 msgid "Edit Part Notes" msgstr "" -#: part/templates/part/detail.html:936 +#: part/templates/part/detail.html:907 #, python-format msgid "Purchase Unit Price - %(currency)s" msgstr "" -#: part/templates/part/detail.html:948 +#: part/templates/part/detail.html:919 #, python-format msgid "Unit Price-Cost Difference - %(currency)s" msgstr "" -#: part/templates/part/detail.html:960 +#: part/templates/part/detail.html:931 #, python-format msgid "Supplier Unit Cost - %(currency)s" msgstr "" -#: part/templates/part/detail.html:1049 +#: part/templates/part/detail.html:1020 #, python-format msgid "Unit Price - %(currency)s" msgstr "" @@ -4874,9 +4732,9 @@ msgstr "" msgid "Part is virtual (not a physical part)" msgstr "" -#: part/templates/part/part_base.html:58 templates/js/translated/company.js:503 -#: templates/js/translated/company.js:759 templates/js/translated/part.js:432 -#: templates/js/translated/part.js:509 +#: part/templates/part/part_base.html:58 templates/js/translated/company.js:504 +#: templates/js/translated/company.js:761 templates/js/translated/part.js:443 +#: templates/js/translated/part.js:520 msgid "Inactive" msgstr "" @@ -4942,10 +4800,16 @@ msgid "This part is a variant of %(link)s" msgstr "" #: part/templates/part/part_base.html:161 +#: templates/js/translated/model_renderers.js:169 +#: templates/js/translated/order.js:1503 #: templates/js/translated/table_filters.js:166 msgid "In Stock" msgstr "" +#: part/templates/part/part_base.html:167 templates/js/translated/part.js:960 +msgid "On Order" +msgstr "" + #: part/templates/part/part_base.html:174 templates/InvenTree/index.html:186 msgid "Required for Build Orders" msgstr "" @@ -4958,18 +4822,18 @@ msgstr "" msgid "Allocated to Orders" msgstr "" -#: part/templates/part/part_base.html:203 templates/js/translated/bom.js:352 +#: part/templates/part/part_base.html:203 templates/js/translated/bom.js:373 msgid "Can Build" msgstr "" -#: part/templates/part/part_base.html:209 templates/js/translated/part.js:765 -#: templates/js/translated/part.js:953 +#: part/templates/part/part_base.html:209 templates/js/translated/part.js:776 +#: templates/js/translated/part.js:964 msgid "Building" msgstr "" #: part/templates/part/part_base.html:223 -#: part/templates/part/part_base.html:524 -#: part/templates/part/part_base.html:550 +#: part/templates/part/part_base.html:531 +#: part/templates/part/part_base.html:557 msgid "Show Part Details" msgstr "" @@ -4977,16 +4841,16 @@ msgstr "" msgid "Latest Serial Number" msgstr "" -#: part/templates/part/part_base.html:396 part/templates/part/prices.html:144 +#: part/templates/part/part_base.html:402 part/templates/part/prices.html:144 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:439 +#: part/templates/part/part_base.html:445 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:519 -#: part/templates/part/part_base.html:544 +#: part/templates/part/part_base.html:526 +#: part/templates/part/part_base.html:551 msgid "Hide Part Details" msgstr "" @@ -5013,7 +4877,7 @@ msgid "Total Cost" msgstr "" #: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:40 -#: templates/js/translated/bom.js:307 +#: templates/js/translated/bom.js:327 msgid "No supplier pricing available" msgstr "" @@ -5051,32 +4915,39 @@ msgstr "" msgid "Select from existing images" msgstr "" -#: part/templates/part/partial_delete.html:7 +#: part/templates/part/partial_delete.html:9 +#, python-format +msgid "Part '%(full_name)s' cannot be deleted as it is still marked as active.\n" +"
Disable the \"Active\" part attribute and re-try.\n" +" " +msgstr "" + +#: part/templates/part/partial_delete.html:17 #, python-format msgid "Are you sure you want to delete part '%(full_name)s'?" msgstr "" -#: part/templates/part/partial_delete.html:12 +#: part/templates/part/partial_delete.html:22 #, python-format msgid "This part is used in BOMs for %(count)s other parts. If you delete this part, the BOMs for the following parts will be updated" msgstr "" -#: part/templates/part/partial_delete.html:22 +#: part/templates/part/partial_delete.html:32 #, python-format msgid "There are %(count)s stock entries defined for this part. If you delete this part, the following stock entries will also be deleted:" msgstr "" -#: part/templates/part/partial_delete.html:33 +#: part/templates/part/partial_delete.html:43 #, python-format msgid "There are %(count)s manufacturers defined for this part. If you delete this part, the following manufacturer parts will also be deleted:" msgstr "" -#: part/templates/part/partial_delete.html:44 +#: part/templates/part/partial_delete.html:54 #, python-format msgid "There are %(count)s suppliers defined for this part. If you delete this part, the following supplier parts will also be deleted:" msgstr "" -#: part/templates/part/partial_delete.html:55 +#: part/templates/part/partial_delete.html:65 #, python-format msgid "There are %(count)s unique parts tracked for '%(full_name)s'. Deleting this part will permanently remove this tracking information." msgstr "" @@ -5109,7 +4980,7 @@ msgstr "" msgid "Calculation parameters" msgstr "" -#: part/templates/part/prices.html:155 templates/js/translated/bom.js:301 +#: part/templates/part/prices.html:155 templates/js/translated/bom.js:321 msgid "Supplier Cost" msgstr "" @@ -5151,8 +5022,9 @@ msgstr "" msgid "Set category for the following parts" msgstr "" -#: part/templates/part/stock_count.html:7 templates/js/translated/bom.js:278 -#: templates/js/translated/part.js:755 templates/js/translated/part.js:957 +#: part/templates/part/stock_count.html:7 templates/js/translated/bom.js:297 +#: templates/js/translated/model_renderers.js:167 +#: templates/js/translated/part.js:766 templates/js/translated/part.js:968 msgid "No Stock" msgstr "" @@ -5262,7 +5134,7 @@ msgstr "" msgid "Delete Part Parameter Template" msgstr "" -#: part/views.py:1502 templates/js/translated/part.js:303 +#: part/views.py:1502 templates/js/translated/part.js:308 msgid "Edit Part Category" msgstr "" @@ -5400,17 +5272,17 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:88 -#: stock/models.py:1807 +#: stock/models.py:1804 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:89 -#: stock/models.py:1813 +#: stock/models.py:1810 msgid "Result" msgstr "" #: report/templates/report/inventree_test_report_base.html:92 -#: templates/js/translated/order.js:353 templates/js/translated/stock.js:1523 +#: templates/js/translated/order.js:684 templates/js/translated/stock.js:1502 msgid "Date" msgstr "" @@ -5422,51 +5294,9 @@ msgstr "" msgid "Fail" msgstr "" -#: stock/api.py:146 -msgid "Request must contain list of stock items" -msgstr "" - -#: stock/api.py:154 -msgid "Improperly formatted data" -msgstr "" - -#: stock/api.py:162 -msgid "Each entry must contain a valid integer primary-key" -msgstr "" - -#: stock/api.py:168 -msgid "Primary key does not match valid stock item" -msgstr "" - -#: stock/api.py:178 -msgid "Invalid quantity value" -msgstr "" - -#: stock/api.py:183 -msgid "Quantity must not be less than zero" -msgstr "" - -#: stock/api.py:211 -#, python-brace-format -msgid "Updated stock for {n} items" -msgstr "" - -#: stock/api.py:247 stock/api.py:280 -msgid "Specified quantity exceeds stock quantity" -msgstr "" - -#: stock/api.py:270 -msgid "Valid location must be specified" -msgstr "" - -#: stock/api.py:290 -#, python-brace-format -msgid "Moved {n} parts to {loc}" -msgstr "" - #: stock/forms.py:79 stock/forms.py:307 stock/models.py:556 #: stock/templates/stock/item_base.html:395 -#: templates/js/translated/stock.js:967 +#: templates/js/translated/stock.js:946 msgid "Expiry Date" msgstr "" @@ -5678,38 +5508,54 @@ msgstr "" msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:1727 +#: stock/models.py:1724 msgid "Entry notes" msgstr "" -#: stock/models.py:1784 +#: stock/models.py:1781 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:1790 +#: stock/models.py:1787 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:1808 +#: stock/models.py:1805 msgid "Test name" msgstr "" -#: stock/models.py:1814 templates/js/translated/table_filters.js:244 +#: stock/models.py:1811 templates/js/translated/table_filters.js:244 msgid "Test result" msgstr "" -#: stock/models.py:1820 +#: stock/models.py:1817 msgid "Test output value" msgstr "" -#: stock/models.py:1827 +#: stock/models.py:1824 msgid "Test result attachment" msgstr "" -#: stock/models.py:1833 +#: stock/models.py:1830 msgid "Test notes" msgstr "" +#: stock/serializers.py:424 +msgid "StockItem primary key value" +msgstr "" + +#: stock/serializers.py:452 +msgid "Stock transaction notes" +msgstr "" + +#: stock/serializers.py:462 +msgid "A list of stock items must be provided" +msgstr "" + +#: stock/serializers.py:554 +msgid "Destination stock location" +msgstr "" + #: stock/templates/stock/item.html:17 msgid "Stock Tracking Information" msgstr "" @@ -5747,7 +5593,7 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:125 stock/views.py:534 +#: stock/templates/stock/item.html:125 stock/views.py:511 msgid "Install Stock Item" msgstr "" @@ -5910,7 +5756,7 @@ msgid "next page" msgstr "" #: stock/templates/stock/item_base.html:303 -#: templates/js/translated/build.js:651 +#: templates/js/translated/build.js:658 msgid "No location set" msgstr "" @@ -5937,7 +5783,7 @@ msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:408 -#: templates/js/translated/stock.js:980 +#: templates/js/translated/stock.js:959 msgid "Last Updated" msgstr "" @@ -6019,6 +5865,10 @@ msgstr "" msgid "All stock items" msgstr "" +#: stock/templates/stock/location.html:42 +msgid "Create new stock location" +msgstr "" + #: stock/templates/stock/location.html:55 msgid "Check-in Items" msgstr "" @@ -6058,7 +5908,7 @@ msgstr "" msgid "Stock Details" msgstr "" -#: stock/templates/stock/location.html:129 templates/InvenTree/search.html:279 +#: stock/templates/stock/location.html:129 templates/InvenTree/search.html:196 #: templates/stats.html:97 users/models.py:42 msgid "Stock Locations" msgstr "" @@ -6071,6 +5921,10 @@ msgstr "" msgid "Print labels" msgstr "" +#: stock/templates/stock/location.html:250 +msgid "New Location" +msgstr "" + #: stock/templates/stock/location.html:251 msgid "Create new location" msgstr "" @@ -6111,7 +5965,7 @@ msgstr "" msgid "The following stock items will be uninstalled" msgstr "" -#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:932 +#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:909 msgid "Convert Stock Item" msgstr "" @@ -6132,104 +5986,104 @@ msgstr "" msgid "Are you sure you want to delete this stock tracking entry?" msgstr "" -#: stock/views.py:181 +#: stock/views.py:158 msgid "Edit Stock Location" msgstr "" -#: stock/views.py:288 stock/views.py:911 stock/views.py:1033 -#: stock/views.py:1398 +#: stock/views.py:265 stock/views.py:888 stock/views.py:1010 +#: stock/views.py:1375 msgid "Owner is required (ownership control is enabled)" msgstr "" -#: stock/views.py:303 +#: stock/views.py:280 msgid "Stock Location QR code" msgstr "" -#: stock/views.py:322 +#: stock/views.py:299 msgid "Assign to Customer" msgstr "" -#: stock/views.py:331 +#: stock/views.py:308 msgid "Customer must be specified" msgstr "" -#: stock/views.py:355 +#: stock/views.py:332 msgid "Return to Stock" msgstr "" -#: stock/views.py:364 +#: stock/views.py:341 msgid "Specify a valid location" msgstr "" -#: stock/views.py:375 +#: stock/views.py:352 msgid "Stock item returned from customer" msgstr "" -#: stock/views.py:386 +#: stock/views.py:363 msgid "Delete All Test Data" msgstr "" -#: stock/views.py:403 +#: stock/views.py:380 msgid "Confirm test data deletion" msgstr "" -#: stock/views.py:508 +#: stock/views.py:485 msgid "Stock Item QR Code" msgstr "" -#: stock/views.py:683 +#: stock/views.py:660 msgid "Uninstall Stock Items" msgstr "" -#: stock/views.py:780 templates/js/translated/stock.js:353 +#: stock/views.py:757 templates/js/translated/stock.js:321 msgid "Confirm stock adjustment" msgstr "" -#: stock/views.py:791 +#: stock/views.py:768 msgid "Uninstalled stock items" msgstr "" -#: stock/views.py:813 +#: stock/views.py:790 msgid "Edit Stock Item" msgstr "" -#: stock/views.py:959 +#: stock/views.py:936 msgid "Create new Stock Location" msgstr "" -#: stock/views.py:1050 +#: stock/views.py:1027 msgid "Serialize Stock" msgstr "" -#: stock/views.py:1143 templates/js/translated/build.js:392 +#: stock/views.py:1120 msgid "Create new Stock Item" msgstr "" -#: stock/views.py:1285 +#: stock/views.py:1262 msgid "Duplicate Stock Item" msgstr "" -#: stock/views.py:1367 +#: stock/views.py:1344 msgid "Quantity cannot be negative" msgstr "" -#: stock/views.py:1467 +#: stock/views.py:1444 msgid "Delete Stock Location" msgstr "" -#: stock/views.py:1480 +#: stock/views.py:1457 msgid "Delete Stock Item" msgstr "" -#: stock/views.py:1491 +#: stock/views.py:1468 msgid "Delete Stock Tracking Entry" msgstr "" -#: stock/views.py:1498 +#: stock/views.py:1475 msgid "Edit Stock Tracking Entry" msgstr "" -#: stock/views.py:1507 +#: stock/views.py:1484 msgid "Add Stock Tracking Entry" msgstr "" @@ -6313,14 +6167,6 @@ msgstr "" msgid "Enter a search query" msgstr "" -#: templates/InvenTree/search.html:268 templates/js/translated/stock.js:699 -msgid "Shipped to customer" -msgstr "" - -#: templates/InvenTree/search.html:271 templates/js/translated/stock.js:709 -msgid "No stock location set" -msgstr "" - #: templates/InvenTree/settings/barcode.html:8 msgid "Barcode Settings" msgstr "" @@ -6365,6 +6211,14 @@ msgstr "" msgid "Setting" msgstr "" +#: templates/InvenTree/settings/login.html:9 +msgid "Login Settings" +msgstr "" + +#: templates/InvenTree/settings/login.html:22 templates/account/signup.html:5 +msgid "Signup" +msgstr "" + #: templates/InvenTree/settings/navbar.html:12 #: templates/InvenTree/settings/user_settings.html:9 msgid "User Settings" @@ -6382,7 +6236,7 @@ msgstr "" #: templates/InvenTree/settings/navbar.html:27 #: templates/InvenTree/settings/navbar.html:29 -#: templates/js/translated/tables.js:366 templates/search_form.html:6 +#: templates/js/translated/tables.js:375 templates/search_form.html:6 #: templates/search_form.html:8 msgid "Search" msgstr "" @@ -6397,38 +6251,48 @@ msgstr "" msgid "Reports" msgstr "" -#: templates/InvenTree/settings/navbar.html:46 -#: templates/InvenTree/settings/navbar.html:48 -#: templates/InvenTree/settings/settings.html:8 templates/navbar.html:94 +#: templates/InvenTree/settings/navbar.html:45 +#: templates/InvenTree/settings/navbar.html:47 +msgid "Forms" +msgstr "" + +#: templates/InvenTree/settings/navbar.html:52 +#: templates/InvenTree/settings/navbar.html:54 +#: templates/InvenTree/settings/settings.html:8 templates/navbar.html:90 msgid "Settings" msgstr "" -#: templates/InvenTree/settings/navbar.html:56 +#: templates/InvenTree/settings/navbar.html:62 msgid "InvenTree Settings" msgstr "" -#: templates/InvenTree/settings/navbar.html:59 -#: templates/InvenTree/settings/navbar.html:61 templates/stats.html:9 +#: templates/InvenTree/settings/navbar.html:65 +#: templates/InvenTree/settings/navbar.html:67 templates/stats.html:9 msgid "Server" msgstr "" -#: templates/InvenTree/settings/navbar.html:65 -#: templates/InvenTree/settings/navbar.html:67 -msgid "Barcodes" -msgstr "" - #: templates/InvenTree/settings/navbar.html:71 -#: templates/InvenTree/settings/navbar.html:73 -msgid "Currencies" +#: templates/InvenTree/settings/navbar.html:73 templates/navbar.html:87 +msgid "Login" msgstr "" #: templates/InvenTree/settings/navbar.html:77 #: templates/InvenTree/settings/navbar.html:79 -msgid "Reporting" +msgid "Barcodes" +msgstr "" + +#: templates/InvenTree/settings/navbar.html:83 +#: templates/InvenTree/settings/navbar.html:85 +msgid "Currencies" msgstr "" #: templates/InvenTree/settings/navbar.html:89 #: templates/InvenTree/settings/navbar.html:91 +msgid "Reporting" +msgstr "" + +#: templates/InvenTree/settings/navbar.html:101 +#: templates/InvenTree/settings/navbar.html:103 msgid "Categories" msgstr "" @@ -6469,21 +6333,21 @@ msgstr "" msgid "Edit setting" msgstr "" -#: templates/InvenTree/settings/settings.html:152 +#: templates/InvenTree/settings/settings.html:154 msgid "No category parameter templates found" msgstr "" -#: templates/InvenTree/settings/settings.html:174 -#: templates/InvenTree/settings/settings.html:273 +#: templates/InvenTree/settings/settings.html:176 +#: templates/InvenTree/settings/settings.html:275 msgid "Edit Template" msgstr "" -#: templates/InvenTree/settings/settings.html:175 -#: templates/InvenTree/settings/settings.html:274 +#: templates/InvenTree/settings/settings.html:177 +#: templates/InvenTree/settings/settings.html:276 msgid "Delete Template" msgstr "" -#: templates/InvenTree/settings/settings.html:253 +#: templates/InvenTree/settings/settings.html:255 msgid "No part parameter templates found" msgstr "" @@ -6495,70 +6359,140 @@ msgstr "" msgid "Stock Settings" msgstr "" -#: templates/InvenTree/settings/user.html:9 +#: templates/InvenTree/settings/user.html:11 msgid "Account Settings" msgstr "" -#: templates/InvenTree/settings/user.html:15 +#: templates/InvenTree/settings/user.html:19 #: templates/js/translated/helpers.js:26 msgid "Edit" msgstr "" -#: templates/InvenTree/settings/user.html:17 +#: templates/InvenTree/settings/user.html:21 +#: templates/account/password_reset_from_key.html:4 +#: templates/account/password_reset_from_key.html:7 msgid "Change Password" msgstr "" -#: templates/InvenTree/settings/user.html:24 -#: templates/registration/login.html:58 +#: templates/InvenTree/settings/user.html:28 msgid "Username" msgstr "" -#: templates/InvenTree/settings/user.html:28 +#: templates/InvenTree/settings/user.html:32 msgid "First Name" msgstr "" -#: templates/InvenTree/settings/user.html:32 +#: templates/InvenTree/settings/user.html:36 msgid "Last Name" msgstr "" -#: templates/InvenTree/settings/user.html:36 -msgid "Email Address" +#: templates/InvenTree/settings/user.html:42 +msgid "E-Mail" msgstr "" -#: templates/InvenTree/settings/user.html:42 -msgid "Theme Settings" +#: templates/InvenTree/settings/user.html:47 +msgid "The following e-mail addresses are associated with your account:" +msgstr "" + +#: templates/InvenTree/settings/user.html:61 +msgid "Verified" msgstr "" #: templates/InvenTree/settings/user.html:63 +msgid "Unverified" +msgstr "" + +#: templates/InvenTree/settings/user.html:65 +msgid "Primary" +msgstr "" + +#: templates/InvenTree/settings/user.html:71 +msgid "Make Primary" +msgstr "" + +#: templates/InvenTree/settings/user.html:72 +msgid "Re-send Verification" +msgstr "" + +#: templates/InvenTree/settings/user.html:73 +#: templates/InvenTree/settings/user.html:130 +msgid "Remove" +msgstr "" + +#: templates/InvenTree/settings/user.html:80 +msgid "Warning:" +msgstr "" + +#: templates/InvenTree/settings/user.html:81 +msgid "You currently do not have any e-mail address set up. You should really add an e-mail address so you can receive notifications, reset your password, etc." +msgstr "" + +#: templates/InvenTree/settings/user.html:88 +msgid "Add E-mail Address" +msgstr "" + +#: templates/InvenTree/settings/user.html:93 +msgid "Add E-mail" +msgstr "" + +#: templates/InvenTree/settings/user.html:100 +msgid "Social Accounts" +msgstr "" + +#: templates/InvenTree/settings/user.html:105 +msgid "You can sign in to your account using any of the following third party accounts:" +msgstr "" + +#: templates/InvenTree/settings/user.html:138 +msgid "You currently have no social network accounts connected to this account." +msgstr "" + +#: templates/InvenTree/settings/user.html:142 +msgid "Add a 3rd Party Account" +msgstr "" + +#: templates/InvenTree/settings/user.html:153 +msgid "Theme Settings" +msgstr "" + +#: templates/InvenTree/settings/user.html:174 msgid "Set Theme" msgstr "" -#: templates/InvenTree/settings/user.html:70 +#: templates/InvenTree/settings/user.html:181 msgid "Language Settings" msgstr "" -#: templates/InvenTree/settings/user.html:89 +#: templates/InvenTree/settings/user.html:200 #, python-format msgid "%(lang_translated)s%% translated" msgstr "" -#: templates/InvenTree/settings/user.html:91 +#: templates/InvenTree/settings/user.html:202 msgid "No translations available" msgstr "" -#: templates/InvenTree/settings/user.html:98 +#: templates/InvenTree/settings/user.html:209 msgid "Set Language" msgstr "" -#: templates/InvenTree/settings/user.html:103 +#: templates/InvenTree/settings/user.html:214 msgid "Help the translation efforts!" msgstr "" -#: templates/InvenTree/settings/user.html:104 +#: templates/InvenTree/settings/user.html:215 #, python-format msgid "Native language translation of the InvenTree web application is community contributed via crowdin. Contributions are welcomed and encouraged." msgstr "" +#: templates/InvenTree/settings/user.html:223 +msgid "Do you really want to remove the selected e-mail address?" +msgstr "" + +#: templates/InvenTree/settings/user_forms.html:9 +msgid "Form Settings" +msgstr "" + #: templates/InvenTree/settings/user_homepage.html:9 msgid "Home Page Settings" msgstr "" @@ -6641,11 +6575,108 @@ msgstr "" #: templates/about.html:107 templates/js/translated/modals.js:50 #: templates/js/translated/modals.js:584 templates/js/translated/modals.js:678 -#: templates/js/translated/modals.js:971 templates/modals.html:29 +#: templates/js/translated/modals.js:982 templates/modals.html:29 #: templates/modals.html:54 msgid "Close" msgstr "" +#: templates/account/email_confirm.html:6 +#: templates/account/email_confirm.html:10 +msgid "Confirm E-mail Address" +msgstr "" + +#: templates/account/email_confirm.html:16 +#, python-format +msgid "Please confirm that %(email)s is an e-mail address for user %(user_display)s." +msgstr "" + +#: templates/account/email_confirm.html:27 +#, python-format +msgid "This e-mail confirmation link expired or is invalid. Please issue a new e-mail confirmation request." +msgstr "" + +#: templates/account/login.html:5 templates/account/login.html:14 +#: templates/account/login.html:36 +msgid "Sign In" +msgstr "" + +#: templates/account/login.html:19 +#, python-format +msgid "Please sign in with one\n" +"of your existing third party accounts or sign up\n" +"for a account and sign in below:" +msgstr "" + +#: templates/account/login.html:23 +#, python-format +msgid "If you have not created an account yet, then please\n" +"sign up first." +msgstr "" + +#: templates/account/login.html:38 +msgid "Forgot Password?" +msgstr "" + +#: templates/account/login.html:45 +msgid "or use SSO" +msgstr "" + +#: templates/account/logout.html:5 templates/account/logout.html:8 +#: templates/account/logout.html:17 +msgid "Sign Out" +msgstr "" + +#: templates/account/logout.html:10 +msgid "Are you sure you want to sign out?" +msgstr "" + +#: templates/account/password_reset.html:5 +#: templates/account/password_reset.html:12 +msgid "Password Reset" +msgstr "" + +#: templates/account/password_reset.html:18 +msgid "Forgotten your password? Enter your e-mail address below, and we'll send you an e-mail allowing you to reset it." +msgstr "" + +#: templates/account/password_reset.html:23 +msgid "Reset My Password" +msgstr "" + +#: templates/account/password_reset.html:27 templates/account/signup.html:36 +msgid "This function is currently disabled. Please contact an administrator." +msgstr "" + +#: templates/account/password_reset_from_key.html:7 +msgid "Bad Token" +msgstr "" + +#: templates/account/password_reset_from_key.html:11 +#, python-format +msgid "The password reset link was invalid, possibly because it has already been used. Please request a new password reset." +msgstr "" + +#: templates/account/password_reset_from_key.html:17 +msgid "change password" +msgstr "" + +#: templates/account/password_reset_from_key.html:20 +msgid "Your password is now changed." +msgstr "" + +#: templates/account/signup.html:11 templates/account/signup.html:22 +msgid "Sign Up" +msgstr "" + +#: templates/account/signup.html:13 +#, python-format +msgid "Already have an account? Then please sign in." +msgstr "" + +#: templates/account/signup.html:27 +msgid "Or use a SSO-provider for signup" +msgstr "" + #: templates/image_download.html:8 msgid "Specify URL for downloading image" msgstr "" @@ -6675,7 +6706,7 @@ msgid "Select Test Report Template" msgstr "" #: templates/js/report.js:98 templates/js/translated/label.js:29 -#: templates/js/translated/report.js:118 templates/js/translated/stock.js:313 +#: templates/js/translated/report.js:118 templates/js/translated/stock.js:297 msgid "Select Stock Items" msgstr "" @@ -6707,8 +6738,8 @@ msgstr "" msgid "No report templates found which match selected build(s)" msgstr "" -#: templates/js/report.js:205 templates/js/translated/label.js:134 -#: templates/js/translated/report.js:225 +#: templates/js/report.js:205 templates/js/translated/build.js:948 +#: templates/js/translated/label.js:134 templates/js/translated/report.js:225 msgid "Select Parts" msgstr "" @@ -6741,11 +6772,11 @@ msgstr "" msgid "Sales Order(s) must be selected before printing report" msgstr "" -#: templates/js/translated/api.js:174 templates/js/translated/modals.js:1041 +#: templates/js/translated/api.js:174 templates/js/translated/modals.js:1052 msgid "No Response" msgstr "" -#: templates/js/translated/api.js:175 templates/js/translated/modals.js:1042 +#: templates/js/translated/api.js:175 templates/js/translated/modals.js:1053 msgid "No response from the InvenTree server" msgstr "" @@ -6757,35 +6788,35 @@ msgstr "" msgid "API request returned error code 400" msgstr "" -#: templates/js/translated/api.js:186 templates/js/translated/modals.js:1051 +#: templates/js/translated/api.js:186 templates/js/translated/modals.js:1062 msgid "Error 401: Not Authenticated" msgstr "" -#: templates/js/translated/api.js:187 templates/js/translated/modals.js:1052 +#: templates/js/translated/api.js:187 templates/js/translated/modals.js:1063 msgid "Authentication credentials not supplied" msgstr "" -#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1056 +#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1067 msgid "Error 403: Permission Denied" msgstr "" -#: templates/js/translated/api.js:192 templates/js/translated/modals.js:1057 +#: templates/js/translated/api.js:192 templates/js/translated/modals.js:1068 msgid "You do not have the required permissions to access this function" msgstr "" -#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1061 +#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1072 msgid "Error 404: Resource Not Found" msgstr "" -#: templates/js/translated/api.js:197 templates/js/translated/modals.js:1062 +#: templates/js/translated/api.js:197 templates/js/translated/modals.js:1073 msgid "The requested resource could not be located on the server" msgstr "" -#: templates/js/translated/api.js:201 templates/js/translated/modals.js:1066 +#: templates/js/translated/api.js:201 templates/js/translated/modals.js:1077 msgid "Error 408: Timeout" msgstr "" -#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1067 +#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1078 msgid "Connection timeout while requesting data from server" msgstr "" @@ -6842,7 +6873,7 @@ msgid "Unknown response from server" msgstr "" #: templates/js/translated/barcode.js:141 -#: templates/js/translated/modals.js:1031 +#: templates/js/translated/modals.js:1042 msgid "Invalid server response" msgstr "" @@ -6870,7 +6901,7 @@ msgstr "" msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:398 templates/js/translated/stock.js:289 +#: templates/js/translated/barcode.js:398 templates/js/translated/stock.js:273 msgid "Remove stock item" msgstr "" @@ -6912,115 +6943,181 @@ msgstr "" msgid "Barcode does not match a valid location" msgstr "" -#: templates/js/translated/bom.js:215 templates/js/translated/build.js:1169 +#: templates/js/translated/bom.js:234 templates/js/translated/build.js:1495 msgid "Open subassembly" msgstr "" -#: templates/js/translated/bom.js:287 +#: templates/js/translated/bom.js:288 templates/js/translated/build.js:744 +#: templates/js/translated/build.js:1345 templates/js/translated/build.js:1522 +msgid "Available" +msgstr "" + +#: templates/js/translated/bom.js:307 msgid "Purchase Price Range" msgstr "" -#: templates/js/translated/bom.js:294 +#: templates/js/translated/bom.js:314 msgid "Purchase Price Average" msgstr "" -#: templates/js/translated/bom.js:342 templates/js/translated/bom.js:428 +#: templates/js/translated/bom.js:363 templates/js/translated/bom.js:449 msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:402 +#: templates/js/translated/bom.js:415 templates/js/translated/build.js:798 +#: templates/js/translated/build.js:1545 templates/js/translated/order.js:1285 +msgid "Actions" +msgstr "" + +#: templates/js/translated/bom.js:423 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:404 +#: templates/js/translated/bom.js:425 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:406 templates/js/translated/bom.js:569 +#: templates/js/translated/bom.js:427 templates/js/translated/bom.js:590 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:408 templates/js/translated/bom.js:554 +#: templates/js/translated/bom.js:429 templates/js/translated/bom.js:575 msgid "Delete BOM Item" msgstr "" -#: templates/js/translated/bom.js:499 templates/js/translated/build.js:483 -#: templates/js/translated/build.js:1267 +#: templates/js/translated/bom.js:520 templates/js/translated/build.js:485 +#: templates/js/translated/build.js:1593 msgid "No BOM items found" msgstr "" -#: templates/js/translated/build.js:69 +#: templates/js/translated/build.js:71 msgid "Edit Build Order" msgstr "" -#: templates/js/translated/build.js:95 +#: templates/js/translated/build.js:105 msgid "Create Build Order" msgstr "" -#: templates/js/translated/build.js:127 -msgid "Auto-allocate stock items to this output" +#: templates/js/translated/build.js:138 +msgid "Allocate stock items to this build output" msgstr "" -#: templates/js/translated/build.js:135 +#: templates/js/translated/build.js:146 msgid "Unallocate stock from build output" msgstr "" -#: templates/js/translated/build.js:145 +#: templates/js/translated/build.js:155 msgid "Complete build output" msgstr "" -#: templates/js/translated/build.js:154 +#: templates/js/translated/build.js:164 msgid "Delete build output" msgstr "" -#: templates/js/translated/build.js:249 +#: templates/js/translated/build.js:265 msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:287 templates/js/translated/order.js:813 +#: templates/js/translated/build.js:303 templates/js/translated/order.js:1159 msgid "Location not specified" msgstr "" -#: templates/js/translated/build.js:391 templates/stock_table.html:20 -msgid "New Stock Item" +#: templates/js/translated/build.js:675 templates/js/translated/build.js:1356 +#: templates/js/translated/order.js:1292 +msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/build.js:702 +#: templates/js/translated/build.js:677 templates/js/translated/build.js:1357 +#: templates/js/translated/order.js:1293 +msgid "Delete stock allocation" +msgstr "" + +#: templates/js/translated/build.js:695 +msgid "Edit Allocation" +msgstr "" + +#: templates/js/translated/build.js:705 +msgid "Remove Allocation" +msgstr "" + +#: templates/js/translated/build.js:718 msgid "Required Part" msgstr "" -#: templates/js/translated/build.js:723 +#: templates/js/translated/build.js:739 msgid "Quantity Per" msgstr "" -#: templates/js/translated/build.js:793 templates/js/translated/build.js:1231 +#: templates/js/translated/build.js:749 templates/js/translated/build.js:975 +#: templates/js/translated/build.js:1352 templates/js/translated/order.js:1514 +msgid "Allocated" +msgstr "" + +#: templates/js/translated/build.js:805 templates/js/translated/build.js:1553 +#: templates/js/translated/order.js:1567 +msgid "Build stock" +msgstr "" + +#: templates/js/translated/build.js:809 templates/js/translated/build.js:1557 #: templates/stock_table.html:59 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:846 +#: templates/js/translated/build.js:812 templates/js/translated/order.js:1560 +msgid "Allocate stock" +msgstr "" + +#: templates/js/translated/build.js:880 +msgid "Specify stock allocation quantity" +msgstr "" + +#: templates/js/translated/build.js:949 +msgid "You must select at least one part to allocate" +msgstr "" + +#: templates/js/translated/build.js:963 +msgid "Select source location (leave blank to take from all locations)" +msgstr "" + +#: templates/js/translated/build.js:992 +msgid "Confirm stock allocation" +msgstr "" + +#: templates/js/translated/build.js:993 +msgid "Allocate Stock Items to Build Order" +msgstr "" + +#: templates/js/translated/build.js:1004 +msgid "No matching stock locations" +msgstr "" + +#: templates/js/translated/build.js:1048 +msgid "No matching stock items" +msgstr "" + +#: templates/js/translated/build.js:1172 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:863 templates/js/translated/part.js:845 -#: templates/js/translated/part.js:1123 templates/js/translated/stock.js:783 -#: templates/js/translated/stock.js:1477 +#: templates/js/translated/build.js:1189 templates/js/translated/part.js:856 +#: templates/js/translated/part.js:1134 templates/js/translated/stock.js:762 +#: templates/js/translated/stock.js:1456 msgid "Select" msgstr "" -#: templates/js/translated/build.js:883 +#: templates/js/translated/build.js:1209 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:944 templates/js/translated/stock.js:1696 +#: templates/js/translated/build.js:1270 templates/js/translated/stock.js:1675 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:956 +#: templates/js/translated/build.js:1282 msgid "No information" msgstr "" -#: templates/js/translated/build.js:1007 +#: templates/js/translated/build.js:1333 msgid "No parts allocated for" msgstr "" @@ -7040,7 +7137,7 @@ msgstr "" msgid "Delete Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:164 templates/js/translated/order.js:86 +#: templates/js/translated/company.js:164 templates/js/translated/order.js:89 msgid "Add Supplier" msgstr "" @@ -7084,53 +7181,53 @@ msgstr "" msgid "Delete Manufacturer Parts" msgstr "" -#: templates/js/translated/company.js:475 +#: templates/js/translated/company.js:476 msgid "No manufacturer parts found" msgstr "" -#: templates/js/translated/company.js:495 -#: templates/js/translated/company.js:751 templates/js/translated/part.js:416 -#: templates/js/translated/part.js:501 +#: templates/js/translated/company.js:496 +#: templates/js/translated/company.js:753 templates/js/translated/part.js:427 +#: templates/js/translated/part.js:512 msgid "Template part" msgstr "" -#: templates/js/translated/company.js:499 -#: templates/js/translated/company.js:755 templates/js/translated/part.js:420 -#: templates/js/translated/part.js:505 +#: templates/js/translated/company.js:500 +#: templates/js/translated/company.js:757 templates/js/translated/part.js:431 +#: templates/js/translated/part.js:516 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:626 templates/js/translated/part.js:593 +#: templates/js/translated/company.js:627 templates/js/translated/part.js:604 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:663 templates/js/translated/part.js:635 +#: templates/js/translated/company.js:664 templates/js/translated/part.js:646 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:664 templates/js/translated/part.js:636 +#: templates/js/translated/company.js:665 templates/js/translated/part.js:647 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:683 templates/js/translated/part.js:653 +#: templates/js/translated/company.js:684 templates/js/translated/part.js:664 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:694 templates/js/translated/part.js:665 +#: templates/js/translated/company.js:695 templates/js/translated/part.js:676 msgid "Delete Parameter" msgstr "" -#: templates/js/translated/company.js:731 +#: templates/js/translated/company.js:733 msgid "No supplier parts found" msgstr "" #: templates/js/translated/filters.js:178 -#: templates/js/translated/filters.js:402 +#: templates/js/translated/filters.js:407 msgid "true" msgstr "" #: templates/js/translated/filters.js:182 -#: templates/js/translated/filters.js:403 +#: templates/js/translated/filters.js:408 msgid "false" msgstr "" @@ -7138,19 +7235,19 @@ msgstr "" msgid "Select filter" msgstr "" -#: templates/js/translated/filters.js:279 +#: templates/js/translated/filters.js:284 msgid "Reload data" msgstr "" -#: templates/js/translated/filters.js:281 +#: templates/js/translated/filters.js:286 msgid "Add new filter" msgstr "" -#: templates/js/translated/filters.js:284 +#: templates/js/translated/filters.js:289 msgid "Clear all filters" msgstr "" -#: templates/js/translated/filters.js:312 +#: templates/js/translated/filters.js:317 msgid "Create filter" msgstr "" @@ -7175,16 +7272,20 @@ msgstr "" msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:889 templates/modals.html:21 +#: templates/js/translated/forms.js:968 templates/modals.html:21 #: templates/modals.html:47 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1379 +#: templates/js/translated/forms.js:1323 +msgid "No results found" +msgstr "" + +#: templates/js/translated/forms.js:1525 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:1593 +#: templates/js/translated/forms.js:1742 msgid "Clear input" msgstr "" @@ -7247,7 +7348,7 @@ msgid "Cancel" msgstr "" #: templates/js/translated/modals.js:77 templates/js/translated/modals.js:119 -#: templates/js/translated/modals.js:677 templates/js/translated/modals.js:970 +#: templates/js/translated/modals.js:677 templates/js/translated/modals.js:981 #: templates/modals.html:30 templates/modals.html:55 msgid "Submit" msgstr "" @@ -7272,31 +7373,31 @@ msgstr "" msgid "Loading Data" msgstr "" -#: templates/js/translated/modals.js:922 +#: templates/js/translated/modals.js:933 msgid "Invalid response from server" msgstr "" -#: templates/js/translated/modals.js:922 +#: templates/js/translated/modals.js:933 msgid "Form data missing from server response" msgstr "" -#: templates/js/translated/modals.js:934 +#: templates/js/translated/modals.js:945 msgid "Error posting form data" msgstr "" -#: templates/js/translated/modals.js:1031 +#: templates/js/translated/modals.js:1042 msgid "JSON response missing form data" msgstr "" -#: templates/js/translated/modals.js:1046 +#: templates/js/translated/modals.js:1057 msgid "Error 400: Bad Request" msgstr "" -#: templates/js/translated/modals.js:1047 +#: templates/js/translated/modals.js:1058 msgid "Server returned error code 400" msgstr "" -#: templates/js/translated/modals.js:1070 +#: templates/js/translated/modals.js:1081 msgid "Error requesting form data" msgstr "" @@ -7304,70 +7405,195 @@ msgstr "" msgid "Company ID" msgstr "" -#: templates/js/translated/model_renderers.js:82 +#: templates/js/translated/model_renderers.js:90 +msgid "Stock ID" +msgstr "" + +#: templates/js/translated/model_renderers.js:125 msgid "Location ID" msgstr "" -#: templates/js/translated/model_renderers.js:99 +#: templates/js/translated/model_renderers.js:142 msgid "Build ID" msgstr "" -#: templates/js/translated/model_renderers.js:119 +#: templates/js/translated/model_renderers.js:177 msgid "Part ID" msgstr "" -#: templates/js/translated/model_renderers.js:171 +#: templates/js/translated/model_renderers.js:231 +msgid "Order ID" +msgstr "" + +#: templates/js/translated/model_renderers.js:251 msgid "Category ID" msgstr "" -#: templates/js/translated/model_renderers.js:208 +#: templates/js/translated/model_renderers.js:288 msgid "Manufacturer Part ID" msgstr "" -#: templates/js/translated/model_renderers.js:237 +#: templates/js/translated/model_renderers.js:317 msgid "Supplier Part ID" msgstr "" -#: templates/js/translated/order.js:45 +#: templates/js/translated/order.js:48 msgid "Add Customer" msgstr "" -#: templates/js/translated/order.js:70 +#: templates/js/translated/order.js:73 msgid "Create Sales Order" msgstr "" -#: templates/js/translated/order.js:295 +#: templates/js/translated/order.js:207 +msgid "Export Order" +msgstr "" + +#: templates/js/translated/order.js:210 templates/js/translated/stock.js:96 +msgid "Format" +msgstr "" + +#: templates/js/translated/order.js:211 templates/js/translated/stock.js:97 +msgid "Select file format" +msgstr "" + +#: templates/js/translated/order.js:299 +msgid "Select Line Items" +msgstr "" + +#: templates/js/translated/order.js:300 +msgid "At least one line item must be selected" +msgstr "" + +#: templates/js/translated/order.js:325 +msgid "Quantity to receive" +msgstr "" + +#: templates/js/translated/order.js:359 templates/js/translated/stock.js:1343 +msgid "Stock Status" +msgstr "" + +#: templates/js/translated/order.js:426 +msgid "Order Code" +msgstr "" + +#: templates/js/translated/order.js:427 +msgid "Ordered" +msgstr "" + +#: templates/js/translated/order.js:429 +msgid "Receive" +msgstr "" + +#: templates/js/translated/order.js:448 +msgid "Confirm receipt of items" +msgstr "" + +#: templates/js/translated/order.js:449 +msgid "Receive Purchase Order Items" +msgstr "" + +#: templates/js/translated/order.js:626 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/order.js:320 templates/js/translated/order.js:682 +#: templates/js/translated/order.js:651 templates/js/translated/order.js:1028 msgid "Order is overdue" msgstr "" -#: templates/js/translated/order.js:452 +#: templates/js/translated/order.js:749 templates/js/translated/order.js:1602 +msgid "Edit Line Item" +msgstr "" + +#: templates/js/translated/order.js:761 templates/js/translated/order.js:1613 +msgid "Delete Line Item" +msgstr "" + +#: templates/js/translated/order.js:800 msgid "No line items found" msgstr "" -#: templates/js/translated/order.js:617 +#: templates/js/translated/order.js:827 templates/js/translated/order.js:1432 +msgid "Total" +msgstr "" + +#: templates/js/translated/order.js:880 templates/js/translated/order.js:1457 +#: templates/js/translated/part.js:1343 templates/js/translated/part.js:1554 +msgid "Unit Price" +msgstr "" + +#: templates/js/translated/order.js:889 templates/js/translated/order.js:1464 +msgid "Total price" +msgstr "" + +#: templates/js/translated/order.js:962 templates/js/translated/order.js:1573 +msgid "Edit line item" +msgstr "" + +#: templates/js/translated/order.js:963 msgid "Delete line item" msgstr "" -#: templates/js/translated/order.js:621 +#: templates/js/translated/order.js:967 msgid "Receive line item" msgstr "" -#: templates/js/translated/order.js:658 +#: templates/js/translated/order.js:1004 msgid "No sales orders found" msgstr "" -#: templates/js/translated/order.js:696 +#: templates/js/translated/order.js:1042 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/order.js:774 +#: templates/js/translated/order.js:1120 msgid "No sales order allocations found" msgstr "" +#: templates/js/translated/order.js:1213 +msgid "Edit Stock Allocation" +msgstr "" + +#: templates/js/translated/order.js:1231 +msgid "Delete Stock Allocation" +msgstr "" + +#: templates/js/translated/order.js:1273 +msgid "Stock location not specified" +msgstr "" + +#: templates/js/translated/order.js:1514 +msgid "Fulfilled" +msgstr "" + +#: templates/js/translated/order.js:1557 +msgid "Allocate serial numbers" +msgstr "" + +#: templates/js/translated/order.js:1563 +msgid "Purchase stock" +msgstr "" + +#: templates/js/translated/order.js:1570 templates/js/translated/order.js:1725 +msgid "Calculate price" +msgstr "" + +#: templates/js/translated/order.js:1574 +msgid "Delete line item " +msgstr "" + +#: templates/js/translated/order.js:1673 +msgid "Allocate Stock Item" +msgstr "" + +#: templates/js/translated/order.js:1733 +msgid "Update Unit Price" +msgstr "" + +#: templates/js/translated/order.js:1747 +msgid "No matching line items" +msgstr "" + #: templates/js/translated/part.js:49 msgid "Part Attributes" msgstr "" @@ -7388,396 +7614,396 @@ msgstr "" msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:159 +#: templates/js/translated/part.js:164 msgid "Create Initial Stock" msgstr "" -#: templates/js/translated/part.js:160 +#: templates/js/translated/part.js:165 msgid "Create an initial stock item for this part" msgstr "" -#: templates/js/translated/part.js:167 +#: templates/js/translated/part.js:172 msgid "Initial Stock Quantity" msgstr "" -#: templates/js/translated/part.js:168 +#: templates/js/translated/part.js:173 msgid "Specify initial stock quantity for this part" msgstr "" -#: templates/js/translated/part.js:175 templates/js/translated/stock.js:330 +#: templates/js/translated/part.js:180 msgid "Select destination stock location" msgstr "" -#: templates/js/translated/part.js:186 +#: templates/js/translated/part.js:191 msgid "Copy Category Parameters" msgstr "" -#: templates/js/translated/part.js:187 +#: templates/js/translated/part.js:192 msgid "Copy parameter templates from selected part category" msgstr "" -#: templates/js/translated/part.js:195 +#: templates/js/translated/part.js:200 msgid "Add Supplier Data" msgstr "" -#: templates/js/translated/part.js:196 +#: templates/js/translated/part.js:201 msgid "Create initial supplier data for this part" msgstr "" -#: templates/js/translated/part.js:252 +#: templates/js/translated/part.js:257 msgid "Copy Image" msgstr "" -#: templates/js/translated/part.js:253 +#: templates/js/translated/part.js:258 msgid "Copy image from original part" msgstr "" -#: templates/js/translated/part.js:260 +#: templates/js/translated/part.js:265 msgid "Copy BOM" msgstr "" -#: templates/js/translated/part.js:261 +#: templates/js/translated/part.js:266 msgid "Copy bill of materials from original part" msgstr "" -#: templates/js/translated/part.js:268 +#: templates/js/translated/part.js:273 msgid "Copy Parameters" msgstr "" -#: templates/js/translated/part.js:269 +#: templates/js/translated/part.js:274 msgid "Copy parameter data from original part" msgstr "" -#: templates/js/translated/part.js:282 +#: templates/js/translated/part.js:287 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:323 +#: templates/js/translated/part.js:331 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:408 templates/js/translated/part.js:493 +#: templates/js/translated/part.js:419 templates/js/translated/part.js:504 msgid "Trackable part" msgstr "" -#: templates/js/translated/part.js:412 templates/js/translated/part.js:497 +#: templates/js/translated/part.js:423 templates/js/translated/part.js:508 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:424 +#: templates/js/translated/part.js:435 msgid "Starred part" msgstr "" -#: templates/js/translated/part.js:428 +#: templates/js/translated/part.js:439 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:543 +#: templates/js/translated/part.js:554 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:732 templates/js/translated/part.js:994 +#: templates/js/translated/part.js:743 templates/js/translated/part.js:1005 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:921 +#: templates/js/translated/part.js:932 msgid "No category" msgstr "" -#: templates/js/translated/part.js:944 -#: templates/js/translated/table_filters.js:350 +#: templates/js/translated/part.js:955 +#: templates/js/translated/table_filters.js:359 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:1148 templates/js/translated/stock.js:1501 +#: templates/js/translated/part.js:1159 templates/js/translated/stock.js:1480 msgid "Path" msgstr "" -#: templates/js/translated/part.js:1191 +#: templates/js/translated/part.js:1202 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:1242 templates/js/translated/stock.js:514 +#: templates/js/translated/part.js:1253 templates/js/translated/stock.js:493 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:1243 templates/js/translated/stock.js:515 +#: templates/js/translated/part.js:1254 templates/js/translated/stock.js:494 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:1249 +#: templates/js/translated/part.js:1260 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:1274 +#: templates/js/translated/part.js:1282 +msgid "Edit Test Result Template" +msgstr "" + +#: templates/js/translated/part.js:1296 +msgid "Delete Test Result Template" +msgstr "" + +#: templates/js/translated/part.js:1321 #, python-brace-format msgid "No ${human_name} information found" msgstr "" -#: templates/js/translated/part.js:1329 +#: templates/js/translated/part.js:1376 #, python-brace-format msgid "Edit ${human_name}" msgstr "" -#: templates/js/translated/part.js:1330 +#: templates/js/translated/part.js:1377 #, python-brace-format msgid "Delete ${human_name}" msgstr "" -#: templates/js/translated/part.js:1431 +#: templates/js/translated/part.js:1478 msgid "Single Price" msgstr "" -#: templates/js/translated/part.js:1450 +#: templates/js/translated/part.js:1497 msgid "Single Price Difference" msgstr "" -#: templates/js/translated/stock.js:66 +#: templates/js/translated/stock.js:63 msgid "Parent stock location" msgstr "" -#: templates/js/translated/stock.js:96 +#: templates/js/translated/stock.js:93 msgid "Export Stock" msgstr "" -#: templates/js/translated/stock.js:99 -msgid "Format" -msgstr "" - -#: templates/js/translated/stock.js:100 -msgid "Select file format" -msgstr "" - -#: templates/js/translated/stock.js:124 +#: templates/js/translated/stock.js:104 msgid "Include Sublocations" msgstr "" -#: templates/js/translated/stock.js:125 +#: templates/js/translated/stock.js:105 msgid "Include stock items in sublocations" msgstr "" -#: templates/js/translated/stock.js:167 +#: templates/js/translated/stock.js:147 msgid "Transfer Stock" msgstr "" -#: templates/js/translated/stock.js:168 +#: templates/js/translated/stock.js:148 msgid "Move" msgstr "" -#: templates/js/translated/stock.js:174 +#: templates/js/translated/stock.js:154 msgid "Count Stock" msgstr "" -#: templates/js/translated/stock.js:175 +#: templates/js/translated/stock.js:155 msgid "Count" msgstr "" -#: templates/js/translated/stock.js:179 +#: templates/js/translated/stock.js:159 msgid "Remove Stock" msgstr "" -#: templates/js/translated/stock.js:180 +#: templates/js/translated/stock.js:160 msgid "Take" msgstr "" -#: templates/js/translated/stock.js:184 +#: templates/js/translated/stock.js:164 msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:185 users/models.py:190 +#: templates/js/translated/stock.js:165 users/models.py:195 msgid "Add" msgstr "" -#: templates/js/translated/stock.js:189 templates/stock_table.html:63 +#: templates/js/translated/stock.js:169 templates/stock_table.html:63 msgid "Delete Stock" msgstr "" -#: templates/js/translated/stock.js:278 +#: templates/js/translated/stock.js:258 msgid "Quantity cannot be adjusted for serialized stock" msgstr "" -#: templates/js/translated/stock.js:278 +#: templates/js/translated/stock.js:258 msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:314 +#: templates/js/translated/stock.js:298 msgid "You must select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:339 -msgid "Stock transaction notes" -msgstr "" - -#: templates/js/translated/stock.js:477 +#: templates/js/translated/stock.js:456 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:479 +#: templates/js/translated/stock.js:458 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:484 +#: templates/js/translated/stock.js:463 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:510 +#: templates/js/translated/stock.js:489 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:536 +#: templates/js/translated/stock.js:515 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:584 +#: templates/js/translated/stock.js:563 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:691 +#: templates/js/translated/stock.js:670 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:695 +#: templates/js/translated/stock.js:674 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:703 +#: templates/js/translated/stock.js:678 +msgid "Shipped to customer" +msgstr "" + +#: templates/js/translated/stock.js:682 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:865 +#: templates/js/translated/stock.js:688 +msgid "No stock location set" +msgstr "" + +#: templates/js/translated/stock.js:844 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:870 +#: templates/js/translated/stock.js:849 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:873 +#: templates/js/translated/stock.js:852 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:877 +#: templates/js/translated/stock.js:856 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:879 +#: templates/js/translated/stock.js:858 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:883 +#: templates/js/translated/stock.js:862 msgid "Stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:887 +#: templates/js/translated/stock.js:866 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:894 +#: templates/js/translated/stock.js:873 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:896 +#: templates/js/translated/stock.js:875 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:898 +#: templates/js/translated/stock.js:877 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:902 +#: templates/js/translated/stock.js:881 #: templates/js/translated/table_filters.js:161 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:956 +#: templates/js/translated/stock.js:935 msgid "Stocktake" msgstr "" -#: templates/js/translated/stock.js:1029 +#: templates/js/translated/stock.js:1008 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:1067 +#: templates/js/translated/stock.js:1046 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:1088 templates/js/translated/stock.js:1136 +#: templates/js/translated/stock.js:1067 templates/js/translated/stock.js:1115 msgid "items" msgstr "" -#: templates/js/translated/stock.js:1176 +#: templates/js/translated/stock.js:1155 msgid "batches" msgstr "" -#: templates/js/translated/stock.js:1203 +#: templates/js/translated/stock.js:1182 msgid "locations" msgstr "" -#: templates/js/translated/stock.js:1205 +#: templates/js/translated/stock.js:1184 msgid "Undefined location" msgstr "" -#: templates/js/translated/stock.js:1364 -msgid "Stock Status" -msgstr "" - -#: templates/js/translated/stock.js:1379 +#: templates/js/translated/stock.js:1358 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:1393 +#: templates/js/translated/stock.js:1372 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:1394 +#: templates/js/translated/stock.js:1373 msgid "Status code must be selected" msgstr "" -#: templates/js/translated/stock.js:1533 +#: templates/js/translated/stock.js:1512 msgid "Invalid date" msgstr "" -#: templates/js/translated/stock.js:1580 +#: templates/js/translated/stock.js:1559 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:1599 +#: templates/js/translated/stock.js:1578 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:1618 +#: templates/js/translated/stock.js:1597 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:1636 +#: templates/js/translated/stock.js:1615 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:1659 +#: templates/js/translated/stock.js:1638 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:1667 +#: templates/js/translated/stock.js:1646 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:1708 +#: templates/js/translated/stock.js:1687 msgid "Edit tracking entry" msgstr "" -#: templates/js/translated/stock.js:1709 +#: templates/js/translated/stock.js:1688 msgid "Delete tracking entry" msgstr "" -#: templates/js/translated/stock.js:1833 +#: templates/js/translated/stock.js:1812 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:1856 +#: templates/js/translated/stock.js:1835 msgid "Serial" msgstr "" -#: templates/js/translated/stock.js:1884 +#: templates/js/translated/stock.js:1863 msgid "Uninstall Stock Item" msgstr "" @@ -7808,7 +8034,7 @@ msgstr "" #: templates/js/translated/table_filters.js:103 #: templates/js/translated/table_filters.js:104 -#: templates/js/translated/table_filters.js:327 +#: templates/js/translated/table_filters.js:336 msgid "Include subcategories" msgstr "" @@ -7850,7 +8076,7 @@ msgid "Batch code" msgstr "" #: templates/js/translated/table_filters.js:141 -#: templates/js/translated/table_filters.js:317 +#: templates/js/translated/table_filters.js:326 msgid "Active parts" msgstr "" @@ -7935,89 +8161,89 @@ msgstr "" msgid "Build status" msgstr "" -#: templates/js/translated/table_filters.js:282 -#: templates/js/translated/table_filters.js:299 +#: templates/js/translated/table_filters.js:291 +#: templates/js/translated/table_filters.js:308 msgid "Order status" msgstr "" -#: templates/js/translated/table_filters.js:287 -#: templates/js/translated/table_filters.js:304 +#: templates/js/translated/table_filters.js:296 +#: templates/js/translated/table_filters.js:313 msgid "Outstanding" msgstr "" -#: templates/js/translated/table_filters.js:328 +#: templates/js/translated/table_filters.js:337 msgid "Include parts in subcategories" msgstr "" -#: templates/js/translated/table_filters.js:332 +#: templates/js/translated/table_filters.js:341 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:333 +#: templates/js/translated/table_filters.js:342 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:338 +#: templates/js/translated/table_filters.js:347 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:346 +#: templates/js/translated/table_filters.js:355 msgid "Stock available" msgstr "" -#: templates/js/translated/table_filters.js:362 +#: templates/js/translated/table_filters.js:371 msgid "Starred" msgstr "" -#: templates/js/translated/table_filters.js:374 +#: templates/js/translated/table_filters.js:383 msgid "Purchasable" msgstr "" -#: templates/js/translated/tables.js:357 +#: templates/js/translated/tables.js:366 msgid "Loading data" msgstr "" -#: templates/js/translated/tables.js:360 +#: templates/js/translated/tables.js:369 msgid "rows per page" msgstr "" -#: templates/js/translated/tables.js:363 +#: templates/js/translated/tables.js:372 msgid "Showing" msgstr "" -#: templates/js/translated/tables.js:363 +#: templates/js/translated/tables.js:372 msgid "to" msgstr "" -#: templates/js/translated/tables.js:363 +#: templates/js/translated/tables.js:372 msgid "of" msgstr "" -#: templates/js/translated/tables.js:363 +#: templates/js/translated/tables.js:372 msgid "rows" msgstr "" -#: templates/js/translated/tables.js:369 +#: templates/js/translated/tables.js:378 msgid "No matching results" msgstr "" -#: templates/js/translated/tables.js:372 +#: templates/js/translated/tables.js:381 msgid "Hide/Show pagination" msgstr "" -#: templates/js/translated/tables.js:375 +#: templates/js/translated/tables.js:384 msgid "Refresh" msgstr "" -#: templates/js/translated/tables.js:378 +#: templates/js/translated/tables.js:387 msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:381 +#: templates/js/translated/tables.js:390 msgid "Columns" msgstr "" -#: templates/js/translated/tables.js:384 +#: templates/js/translated/tables.js:393 msgid "All" msgstr "" @@ -8033,19 +8259,15 @@ msgstr "" msgid "Sell" msgstr "" -#: templates/navbar.html:87 users/models.py:39 +#: templates/navbar.html:83 users/models.py:39 msgid "Admin" msgstr "" -#: templates/navbar.html:89 +#: templates/navbar.html:85 msgid "Logout" msgstr "" -#: templates/navbar.html:91 templates/registration/login.html:89 -msgid "Login" -msgstr "" - -#: templates/navbar.html:114 +#: templates/navbar.html:106 msgid "About InvenTree" msgstr "" @@ -8053,68 +8275,12 @@ msgstr "" msgid "QR data not provided" msgstr "" -#: templates/registration/logged_out.html:50 -msgid "You have been logged out" +#: templates/registration/logged_out.html:6 +msgid "You were logged out successfully." msgstr "" -#: templates/registration/logged_out.html:51 -#: templates/registration/password_reset_complete.html:51 -#: templates/registration/password_reset_done.html:58 -msgid "Return to login screen" -msgstr "" - -#: templates/registration/login.html:64 -msgid "Enter username" -msgstr "" - -#: templates/registration/login.html:70 -msgid "Password" -msgstr "" - -#: templates/registration/login.html:83 -msgid "Username / password combination is incorrect" -msgstr "" - -#: templates/registration/login.html:95 -#: templates/registration/password_reset_form.html:51 -msgid "Forgotten your password?" -msgstr "" - -#: templates/registration/login.html:95 -msgid "Click here to reset" -msgstr "" - -#: templates/registration/password_reset_complete.html:50 -msgid "Password reset complete" -msgstr "" - -#: templates/registration/password_reset_confirm.html:52 -#: templates/registration/password_reset_confirm.html:56 -msgid "Change password" -msgstr "" - -#: templates/registration/password_reset_confirm.html:60 -msgid "The password reset link was invalid, possibly because it has already been used. Please request a new password reset." -msgstr "" - -#: templates/registration/password_reset_done.html:51 -msgid "We've emailed you instructions for setting your password, if an account exists with the email you entered. You should receive them shortly." -msgstr "" - -#: templates/registration/password_reset_done.html:54 -msgid "If you don't receive an email, please make sure you've entered the address you registered with, and check your spam folder." -msgstr "" - -#: templates/registration/password_reset_form.html:52 -msgid "Enter your email address below." -msgstr "" - -#: templates/registration/password_reset_form.html:53 -msgid "An email will be sent with password reset instructions." -msgstr "" - -#: templates/registration/password_reset_form.html:58 -msgid "Send email" +#: templates/registration/logged_out.html:8 +msgid "Log in again" msgstr "" #: templates/stats.html:13 @@ -8169,6 +8335,10 @@ msgstr "" msgid "Export Stock Information" msgstr "" +#: templates/stock_table.html:20 +msgid "New Stock Item" +msgstr "" + #: templates/stock_table.html:27 msgid "Barcode Actions" msgstr "" @@ -8249,35 +8419,35 @@ msgstr "" msgid "Important dates" msgstr "" -#: users/models.py:177 +#: users/models.py:182 msgid "Permission set" msgstr "" -#: users/models.py:185 +#: users/models.py:190 msgid "Group" msgstr "" -#: users/models.py:188 +#: users/models.py:193 msgid "View" msgstr "" -#: users/models.py:188 +#: users/models.py:193 msgid "Permission to view items" msgstr "" -#: users/models.py:190 +#: users/models.py:195 msgid "Permission to add items" msgstr "" -#: users/models.py:192 +#: users/models.py:197 msgid "Change" msgstr "" -#: users/models.py:192 +#: users/models.py:197 msgid "Permissions to edit items" msgstr "" -#: users/models.py:194 +#: users/models.py:199 msgid "Permission to delete items" msgstr "" diff --git a/InvenTree/locale/tr/LC_MESSAGES/django.po b/InvenTree/locale/tr/LC_MESSAGES/django.po index 81567b4a83..587d5d5f33 100644 --- a/InvenTree/locale/tr/LC_MESSAGES/django.po +++ b/InvenTree/locale/tr/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-09-12 13:15+0000\n" -"PO-Revision-Date: 2021-09-12 13:44\n" +"POT-Creation-Date: 2021-10-11 06:21+0000\n" +"PO-Revision-Date: 2021-10-11 06:29\n" "Last-Translator: \n" "Language-Team: Turkish\n" "Language: tr_TR\n" @@ -33,48 +33,61 @@ msgstr "Eşleşen eylem bulunamadı" msgid "Enter date" msgstr "Tarih giriniz" -#: InvenTree/forms.py:111 build/forms.py:102 build/forms.py:123 -#: build/forms.py:145 build/forms.py:169 build/forms.py:185 build/forms.py:227 -#: order/forms.py:30 order/forms.py:41 order/forms.py:52 order/forms.py:63 -#: order/forms.py:74 part/forms.py:108 templates/js/translated/forms.js:564 +#: InvenTree/forms.py:116 build/forms.py:102 build/forms.py:123 +#: build/forms.py:145 build/forms.py:173 build/forms.py:215 order/forms.py:27 +#: order/forms.py:38 order/forms.py:49 order/forms.py:60 order/forms.py:71 +#: part/forms.py:108 templates/account/email_confirm.html:20 +#: templates/js/translated/forms.js:564 msgid "Confirm" msgstr "Onay" -#: InvenTree/forms.py:127 +#: InvenTree/forms.py:132 msgid "Confirm delete" msgstr "Silmeyi Onayla" -#: InvenTree/forms.py:128 +#: InvenTree/forms.py:133 msgid "Confirm item deletion" msgstr "Silmeyi onayla" -#: InvenTree/forms.py:160 templates/registration/login.html:76 +#: InvenTree/forms.py:164 msgid "Enter password" msgstr "Şifrenizi girin" -#: InvenTree/forms.py:161 +#: InvenTree/forms.py:165 msgid "Enter new password" msgstr "Lütfen Yeni Parolayı Girin" -#: InvenTree/forms.py:168 +#: InvenTree/forms.py:172 msgid "Confirm password" msgstr "Parolayı doğrulayın" -#: InvenTree/forms.py:169 +#: InvenTree/forms.py:173 msgid "Confirm new password" msgstr "Yeni parolayı doğrulayın" -#: InvenTree/forms.py:201 +#: InvenTree/forms.py:205 msgid "Select Category" msgstr "Kategori Seçin" +#: InvenTree/forms.py:226 +msgid "E-mail (again)" +msgstr "" + +#: InvenTree/forms.py:230 +msgid "E-mail address confirmation" +msgstr "" + +#: InvenTree/forms.py:250 +msgid "You must type the same email each time." +msgstr "" + #: InvenTree/helpers.py:401 #, python-brace-format msgid "Duplicate serial: {n}" msgstr "Tekrarlanan seri {n}" -#: InvenTree/helpers.py:408 order/models.py:315 order/models.py:430 -#: stock/views.py:1363 +#: InvenTree/helpers.py:408 order/models.py:315 order/models.py:437 +#: stock/views.py:1340 msgid "Invalid quantity provided" msgstr "Geçersiz veri sağlandı" @@ -102,7 +115,7 @@ msgstr "Seri numarası bulunamadı" msgid "Number of unique serial number ({s}) must match quantity ({q})" msgstr "Benzersiz seri numaralarının sayısı ({s}) girilen miktarla eşleşmeli ({q})" -#: InvenTree/models.py:66 stock/models.py:1826 +#: InvenTree/models.py:66 stock/models.py:1823 msgid "Attachment" msgstr "Ek" @@ -118,10 +131,10 @@ msgstr "Yorum" msgid "File comment" msgstr "Dosya yorumu" -#: InvenTree/models.py:75 InvenTree/models.py:76 common/models.py:993 -#: common/models.py:994 part/models.py:2051 +#: InvenTree/models.py:75 InvenTree/models.py:76 common/models.py:1055 +#: common/models.py:1056 part/models.py:2055 #: report/templates/report/inventree_test_report_base.html:91 -#: templates/js/translated/stock.js:1690 +#: templates/js/translated/stock.js:1669 msgid "User" msgstr "Kullanıcı" @@ -158,37 +171,34 @@ msgstr "" msgid "Invalid choice" msgstr "Geçersiz seçim" -#: InvenTree/models.py:200 InvenTree/models.py:201 company/models.py:414 -#: label/models.py:112 part/models.py:658 part/models.py:2212 +#: InvenTree/models.py:200 InvenTree/models.py:201 company/models.py:415 +#: label/models.py:112 part/models.py:659 part/models.py:2216 #: part/templates/part/part_base.html:241 report/models.py:181 -#: templates/InvenTree/search.html:137 templates/InvenTree/search.html:289 -#: templates/js/translated/company.js:636 templates/js/translated/part.js:466 -#: templates/js/translated/part.js:603 templates/js/translated/part.js:1130 -#: templates/js/translated/stock.js:1483 +#: templates/js/translated/company.js:637 templates/js/translated/part.js:477 +#: templates/js/translated/part.js:614 templates/js/translated/part.js:1141 +#: templates/js/translated/stock.js:1462 msgid "Name" msgstr "Adı" -#: InvenTree/models.py:207 build/models.py:187 -#: build/templates/build/detail.html:24 company/models.py:353 -#: company/models.py:569 company/templates/company/manufacturer_part.html:76 +#: InvenTree/models.py:207 build/models.py:189 +#: build/templates/build/detail.html:24 company/models.py:354 +#: company/models.py:570 company/templates/company/manufacturer_part.html:76 #: company/templates/company/supplier_part.html:75 label/models.py:119 -#: order/models.py:158 part/models.py:681 +#: order/models.py:158 part/models.py:682 #: part/templates/part/part_base.html:246 #: part/templates/part/set_category.html:14 report/models.py:194 #: report/models.py:551 report/models.py:590 #: report/templates/report/inventree_build_order_base.html:118 -#: templates/InvenTree/search.html:144 templates/InvenTree/search.html:224 -#: templates/InvenTree/search.html:296 #: templates/InvenTree/settings/header.html:9 -#: templates/js/translated/bom.js:230 templates/js/translated/build.js:891 -#: templates/js/translated/build.js:1179 templates/js/translated/company.js:344 -#: templates/js/translated/company.js:546 -#: templates/js/translated/company.js:834 templates/js/translated/order.js:341 -#: templates/js/translated/order.js:486 templates/js/translated/order.js:710 -#: templates/js/translated/part.js:525 templates/js/translated/part.js:713 -#: templates/js/translated/part.js:902 templates/js/translated/part.js:1142 -#: templates/js/translated/part.js:1210 templates/js/translated/stock.js:840 -#: templates/js/translated/stock.js:1495 templates/js/translated/stock.js:1540 +#: templates/js/translated/bom.js:249 templates/js/translated/build.js:1217 +#: templates/js/translated/build.js:1505 templates/js/translated/company.js:344 +#: templates/js/translated/company.js:547 +#: templates/js/translated/company.js:836 templates/js/translated/order.js:672 +#: templates/js/translated/order.js:832 templates/js/translated/order.js:1056 +#: templates/js/translated/part.js:536 templates/js/translated/part.js:724 +#: templates/js/translated/part.js:913 templates/js/translated/part.js:1153 +#: templates/js/translated/part.js:1221 templates/js/translated/stock.js:819 +#: templates/js/translated/stock.js:1474 templates/js/translated/stock.js:1519 msgid "Description" msgstr "Açıklama" @@ -200,7 +210,7 @@ msgstr "Açıklama (isteğe bağlı)" msgid "parent" msgstr "üst" -#: InvenTree/serializers.py:55 part/models.py:2454 +#: InvenTree/serializers.py:55 part/models.py:2475 msgid "Must be a valid number" msgstr "Geçerli bir numara olmalı" @@ -208,75 +218,75 @@ msgstr "Geçerli bir numara olmalı" msgid "Filename" msgstr "" -#: InvenTree/settings.py:523 +#: InvenTree/settings.py:529 msgid "German" msgstr "Almanca" -#: InvenTree/settings.py:524 +#: InvenTree/settings.py:530 msgid "Greek" msgstr "Yunanca" -#: InvenTree/settings.py:525 +#: InvenTree/settings.py:531 msgid "English" msgstr "İngilizce" -#: InvenTree/settings.py:526 +#: InvenTree/settings.py:532 msgid "Spanish" msgstr "İspanyolca" -#: InvenTree/settings.py:527 +#: InvenTree/settings.py:533 msgid "French" msgstr "Fransızca" -#: InvenTree/settings.py:528 +#: InvenTree/settings.py:534 msgid "Hebrew" msgstr "İbranice" -#: InvenTree/settings.py:529 +#: InvenTree/settings.py:535 msgid "Italian" msgstr "İtalyanca" -#: InvenTree/settings.py:530 +#: InvenTree/settings.py:536 msgid "Japanese" msgstr "Japonca" -#: InvenTree/settings.py:531 +#: InvenTree/settings.py:537 msgid "Korean" msgstr "Korece" -#: InvenTree/settings.py:532 +#: InvenTree/settings.py:538 msgid "Dutch" msgstr "Flemenkçe" -#: InvenTree/settings.py:533 +#: InvenTree/settings.py:539 msgid "Norwegian" msgstr "Norveççe" -#: InvenTree/settings.py:534 +#: InvenTree/settings.py:540 msgid "Polish" msgstr "Polonyaca" -#: InvenTree/settings.py:535 +#: InvenTree/settings.py:541 msgid "Russian" msgstr "Rusça" -#: InvenTree/settings.py:536 +#: InvenTree/settings.py:542 msgid "Swedish" msgstr "İsveççe" -#: InvenTree/settings.py:537 +#: InvenTree/settings.py:543 msgid "Thai" msgstr "Tay dili" -#: InvenTree/settings.py:538 +#: InvenTree/settings.py:544 msgid "Turkish" msgstr "Türkçe" -#: InvenTree/settings.py:539 +#: InvenTree/settings.py:545 msgid "Vietnamese" msgstr "" -#: InvenTree/settings.py:540 +#: InvenTree/settings.py:546 msgid "Chinese" msgstr "Çince" @@ -321,7 +331,7 @@ msgid "Returned" msgstr "İade" #: InvenTree/status_codes.py:146 -#: order/templates/order/sales_order_base.html:126 +#: order/templates/order/sales_order_base.html:131 msgid "Shipped" msgstr "Sevk edildi" @@ -461,27 +471,27 @@ msgstr "Fazlalık %100'ü geçmemelidir" msgid "Overage must be an integer value or a percentage" msgstr "Fazlalık bir tamsayı veya yüzde olmalıdır" -#: InvenTree/views.py:610 +#: InvenTree/views.py:616 msgid "Delete Item" msgstr "Ögeyi Sil" -#: InvenTree/views.py:659 +#: InvenTree/views.py:665 msgid "Check box to confirm item deletion" msgstr "Öge silme işlemini onaylamak için kutuyu işaretleyin" -#: InvenTree/views.py:674 templates/InvenTree/settings/user.html:14 +#: InvenTree/views.py:680 templates/InvenTree/settings/user.html:18 msgid "Edit User Information" msgstr "Kullanıcı Bilgisini Düzenle" -#: InvenTree/views.py:685 templates/InvenTree/settings/user.html:18 +#: InvenTree/views.py:691 templates/InvenTree/settings/user.html:22 msgid "Set Password" msgstr "Şifre Belirle" -#: InvenTree/views.py:704 +#: InvenTree/views.py:710 msgid "Password fields must match" msgstr "Parola alanları eşleşmelidir" -#: InvenTree/views.py:910 templates/navbar.html:105 +#: InvenTree/views.py:954 templates/navbar.html:97 msgid "System Information" msgstr "Sistem Bilgisi" @@ -525,6 +535,10 @@ msgstr "Barkod karması (hash) zaten stok kalemi nesnesiyle eşleşiyor" msgid "Barcode associated with StockItem" msgstr "Barkod başka bir stok kalemiyle ilişkili" +#: build/api.py:213 +msgid "Matching build order does not exist" +msgstr "" + #: build/forms.py:37 msgid "Build Order reference" msgstr "Yapım İşi Emri referansı" @@ -536,33 +550,28 @@ msgstr "Emir hedef tarihi" #: build/forms.py:42 build/templates/build/build_base.html:146 #: build/templates/build/detail.html:124 #: order/templates/order/order_base.html:124 -#: order/templates/order/sales_order_base.html:119 +#: order/templates/order/sales_order_base.html:124 #: report/templates/report/inventree_build_order_base.html:126 -#: templates/js/translated/build.js:962 templates/js/translated/order.js:358 -#: templates/js/translated/order.js:728 +#: templates/js/translated/build.js:1288 templates/js/translated/order.js:689 +#: templates/js/translated/order.js:1074 msgid "Target Date" msgstr "Hedeflenen tarih" -#: build/forms.py:43 build/models.py:277 +#: build/forms.py:43 build/models.py:279 msgid "Target date for build completion. Build will be overdue after this date." msgstr "Yapım işinin tamamlanması için hedef tarih. Bu tarihten sonra yapım işi gecikmiş olacak." -#: build/forms.py:48 build/forms.py:90 build/forms.py:266 build/models.py:1402 +#: build/forms.py:48 build/forms.py:90 build/models.py:1281 #: build/templates/build/allocation_card.html:23 -#: build/templates/build/auto_allocate.html:17 #: build/templates/build/build_base.html:133 -#: build/templates/build/detail.html:34 common/models.py:1025 +#: build/templates/build/detail.html:34 common/models.py:1087 #: company/forms.py:42 company/templates/company/supplier_part.html:226 -#: order/forms.py:120 order/forms.py:142 order/forms.py:159 order/models.py:712 -#: order/models.py:964 order/templates/order/order_wizard/match_parts.html:30 -#: order/templates/order/order_wizard/select_parts.html:34 -#: order/templates/order/sales_order_detail.html:201 -#: order/templates/order/sales_order_detail.html:208 -#: order/templates/order/sales_order_detail.html:293 -#: order/templates/order/sales_order_detail.html:365 part/forms.py:249 -#: part/forms.py:265 part/forms.py:281 part/models.py:2356 +#: order/forms.py:101 order/forms.py:123 order/models.py:720 +#: order/models.py:982 order/templates/order/order_wizard/match_parts.html:30 +#: order/templates/order/order_wizard/select_parts.html:34 part/forms.py:249 +#: part/forms.py:265 part/forms.py:281 part/models.py:2377 #: part/templates/part/bom_upload/match_parts.html:31 -#: part/templates/part/detail.html:973 part/templates/part/detail.html:1059 +#: part/templates/part/detail.html:944 part/templates/part/detail.html:1030 #: part/templates/part/part_pricing.html:16 #: report/templates/report/inventree_build_order_base.html:114 #: report/templates/report/inventree_po_report.html:91 @@ -570,14 +579,16 @@ msgstr "Yapım işinin tamamlanması için hedef tarih. Bu tarihten sonra yapım #: report/templates/report/inventree_test_report_base.html:77 #: stock/forms.py:140 stock/templates/stock/item_base.html:269 #: stock/templates/stock/stock_adjust.html:18 -#: templates/js/translated/barcode.js:386 templates/js/translated/bom.js:245 -#: templates/js/translated/build.js:298 templates/js/translated/build.js:629 -#: templates/js/translated/build.js:1189 -#: templates/js/translated/model_renderers.js:59 -#: templates/js/translated/order.js:522 templates/js/translated/order.js:824 -#: templates/js/translated/part.js:1317 templates/js/translated/part.js:1440 -#: templates/js/translated/part.js:1518 templates/js/translated/stock.js:1675 -#: templates/js/translated/stock.js:1850 +#: templates/js/translated/barcode.js:386 templates/js/translated/bom.js:264 +#: templates/js/translated/build.js:314 templates/js/translated/build.js:638 +#: templates/js/translated/build.js:977 templates/js/translated/build.js:1515 +#: templates/js/translated/model_renderers.js:74 +#: templates/js/translated/order.js:868 templates/js/translated/order.js:1170 +#: templates/js/translated/order.js:1248 templates/js/translated/order.js:1255 +#: templates/js/translated/order.js:1344 templates/js/translated/order.js:1444 +#: templates/js/translated/part.js:1364 templates/js/translated/part.js:1487 +#: templates/js/translated/part.js:1565 templates/js/translated/stock.js:1654 +#: templates/js/translated/stock.js:1829 msgid "Quantity" msgstr "Miktar" @@ -589,7 +600,7 @@ msgstr "Yapılacak öge sayısı" msgid "Enter quantity for build output" msgstr "Yapım işi çıktısı için miktarını girin" -#: build/forms.py:95 order/forms.py:114 stock/forms.py:83 +#: build/forms.py:95 order/forms.py:95 stock/forms.py:83 msgid "Serial Numbers" msgstr "Seri Numaraları" @@ -609,246 +620,238 @@ msgstr "Yapım işi çıktısının silinmesini onaylayın" msgid "Confirm unallocation of stock" msgstr "Stok tahsisinin iptalini onayla" -#: build/forms.py:169 -msgid "Confirm stock allocation" -msgstr "Stok tahsisini onayla" - -#: build/forms.py:186 +#: build/forms.py:174 msgid "Mark build as complete" msgstr "Yapım işini tamamlandı olarak işaretle" -#: build/forms.py:210 build/templates/build/auto_allocate.html:18 -#: order/serializers.py:216 order/serializers.py:275 stock/forms.py:280 +#: build/forms.py:198 order/serializers.py:217 order/serializers.py:284 +#: stock/forms.py:280 stock/serializers.py:553 #: stock/templates/stock/item_base.html:299 #: stock/templates/stock/stock_adjust.html:17 -#: templates/InvenTree/search.html:260 templates/js/translated/barcode.js:385 -#: templates/js/translated/barcode.js:555 templates/js/translated/build.js:283 -#: templates/js/translated/build.js:643 templates/js/translated/order.js:809 -#: templates/js/translated/part.js:174 templates/js/translated/stock.js:203 -#: templates/js/translated/stock.js:329 templates/js/translated/stock.js:942 -#: templates/js/translated/stock.js:1567 +#: templates/js/translated/barcode.js:385 +#: templates/js/translated/barcode.js:555 templates/js/translated/build.js:299 +#: templates/js/translated/build.js:650 templates/js/translated/order.js:347 +#: templates/js/translated/order.js:1155 templates/js/translated/order.js:1263 +#: templates/js/translated/order.js:1269 templates/js/translated/part.js:179 +#: templates/js/translated/stock.js:183 templates/js/translated/stock.js:921 +#: templates/js/translated/stock.js:1546 msgid "Location" msgstr "Konum" -#: build/forms.py:211 +#: build/forms.py:199 msgid "Location of completed parts" msgstr "Tamamlanmış parçaların konumu" -#: build/forms.py:215 build/templates/build/build_base.html:138 -#: build/templates/build/detail.html:62 order/models.py:555 -#: order/serializers.py:230 order/templates/order/receive_parts.html:24 -#: stock/templates/stock/item_base.html:422 templates/InvenTree/search.html:252 -#: templates/js/translated/barcode.js:141 templates/js/translated/build.js:925 -#: templates/js/translated/order.js:345 templates/js/translated/order.js:715 -#: templates/js/translated/stock.js:917 templates/js/translated/stock.js:1644 -#: templates/js/translated/stock.js:1866 +#: build/forms.py:203 build/templates/build/build_base.html:138 +#: build/templates/build/detail.html:62 order/models.py:563 +#: order/serializers.py:238 stock/templates/stock/item_base.html:422 +#: templates/js/translated/barcode.js:141 templates/js/translated/build.js:1251 +#: templates/js/translated/order.js:430 templates/js/translated/order.js:676 +#: templates/js/translated/order.js:1061 templates/js/translated/stock.js:896 +#: templates/js/translated/stock.js:1623 templates/js/translated/stock.js:1845 msgid "Status" msgstr "Durum" -#: build/forms.py:216 +#: build/forms.py:204 msgid "Build output stock status" msgstr "Yapım işi çıktısı stok durumu" -#: build/forms.py:223 +#: build/forms.py:211 msgid "Confirm incomplete" msgstr "Eksik olarak onayla" -#: build/forms.py:224 +#: build/forms.py:212 msgid "Confirm completion with incomplete stock allocation" msgstr "Eksik parça tahsisi ile tamamlamayı onayla" -#: build/forms.py:227 +#: build/forms.py:215 msgid "Confirm build completion" msgstr "Yapım işinin tamamlandığını onaylayın" -#: build/forms.py:252 +#: build/forms.py:240 msgid "Confirm cancel" msgstr "İptali Onayla" -#: build/forms.py:252 build/views.py:65 +#: build/forms.py:240 build/views.py:65 msgid "Confirm build cancellation" msgstr "Yapım işi iptalini onayla" -#: build/forms.py:266 -msgid "Select quantity of stock to allocate" -msgstr "Tahsis edilecek stok miktarını seçiniz" - -#: build/models.py:113 +#: build/models.py:115 msgid "Invalid choice for parent build" msgstr "" -#: build/models.py:117 build/templates/build/build_base.html:9 +#: build/models.py:119 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:73 #: report/templates/report/inventree_build_order_base.html:106 -#: templates/js/translated/build.js:260 +#: templates/js/translated/build.js:276 msgid "Build Order" msgstr "Yapım İşi Emri" -#: build/models.py:118 build/templates/build/index.html:8 +#: build/models.py:120 build/templates/build/index.html:8 #: build/templates/build/index.html:15 #: order/templates/order/sales_order_detail.html:34 #: order/templates/order/so_navbar.html:19 #: order/templates/order/so_navbar.html:22 part/templates/part/navbar.html:50 #: part/templates/part/navbar.html:53 templates/InvenTree/index.html:229 -#: templates/InvenTree/search.html:185 -#: templates/InvenTree/settings/navbar.html:101 -#: templates/InvenTree/settings/navbar.html:103 users/models.py:44 +#: templates/InvenTree/search.html:171 +#: templates/InvenTree/settings/navbar.html:113 +#: templates/InvenTree/settings/navbar.html:115 users/models.py:44 msgid "Build Orders" msgstr "Yapım İşi Emirleri" -#: build/models.py:178 +#: build/models.py:180 msgid "Build Order Reference" msgstr "Yapım İşi Emri Referansı" -#: build/models.py:179 order/models.py:246 order/models.py:539 -#: order/models.py:719 order/templates/order/sales_order_detail.html:360 -#: part/models.py:2365 part/templates/part/bom_upload/match_parts.html:30 +#: build/models.py:181 order/models.py:246 order/models.py:547 +#: order/models.py:727 part/models.py:2386 +#: part/templates/part/bom_upload/match_parts.html:30 #: report/templates/report/inventree_po_report.html:92 #: report/templates/report/inventree_so_report.html:92 -#: templates/js/translated/bom.js:237 templates/js/translated/build.js:718 -#: templates/js/translated/build.js:1183 templates/js/translated/order.js:517 +#: templates/js/translated/bom.js:256 templates/js/translated/build.js:734 +#: templates/js/translated/build.js:1509 templates/js/translated/order.js:863 +#: templates/js/translated/order.js:1438 msgid "Reference" msgstr "Referans" -#: build/models.py:190 +#: build/models.py:192 msgid "Brief description of the build" msgstr "Yapım işinin kısa açıklaması" -#: build/models.py:199 build/templates/build/build_base.html:163 +#: build/models.py:201 build/templates/build/build_base.html:163 #: build/templates/build/detail.html:80 msgid "Parent Build" msgstr "Üst Yapım İşi" -#: build/models.py:200 +#: build/models.py:202 msgid "BuildOrder to which this build is allocated" msgstr "Bu yapım işinin tahsis edildiği yapım işi emri" -#: build/models.py:205 build/templates/build/auto_allocate.html:16 -#: build/templates/build/build_base.html:128 -#: build/templates/build/detail.html:29 company/models.py:704 -#: order/models.py:772 order/models.py:837 -#: order/templates/order/order_wizard/select_parts.html:32 -#: order/templates/order/receive_parts.html:19 -#: order/templates/order/sales_order_detail.html:345 part/models.py:297 -#: part/models.py:1996 part/models.py:2012 part/models.py:2031 -#: part/models.py:2049 part/models.py:2128 part/models.py:2250 -#: part/models.py:2340 part/templates/part/detail.html:199 +#: build/models.py:207 build/templates/build/build_base.html:128 +#: build/templates/build/detail.html:29 company/models.py:705 +#: order/models.py:780 order/models.py:851 +#: order/templates/order/order_wizard/select_parts.html:32 part/models.py:298 +#: part/models.py:2000 part/models.py:2016 part/models.py:2035 +#: part/models.py:2053 part/models.py:2132 part/models.py:2254 +#: part/models.py:2361 part/templates/part/detail.html:199 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/set_category.html:13 #: report/templates/report/inventree_build_order_base.html:110 #: report/templates/report/inventree_po_report.html:90 #: report/templates/report/inventree_so_report.html:90 -#: templates/InvenTree/search.html:112 templates/InvenTree/search.html:210 -#: templates/js/translated/barcode.js:384 templates/js/translated/bom.js:203 -#: templates/js/translated/build.js:609 templates/js/translated/build.js:896 -#: templates/js/translated/build.js:1156 templates/js/translated/company.js:487 -#: templates/js/translated/company.js:743 templates/js/translated/order.js:471 -#: templates/js/translated/part.js:694 templates/js/translated/part.js:864 -#: templates/js/translated/stock.js:201 templates/js/translated/stock.js:797 -#: templates/js/translated/stock.js:1838 +#: templates/InvenTree/search.html:112 templates/js/translated/barcode.js:384 +#: templates/js/translated/bom.js:222 templates/js/translated/build.js:611 +#: templates/js/translated/build.js:974 templates/js/translated/build.js:1222 +#: templates/js/translated/build.js:1482 templates/js/translated/company.js:488 +#: templates/js/translated/company.js:745 templates/js/translated/order.js:425 +#: templates/js/translated/order.js:817 templates/js/translated/order.js:1422 +#: templates/js/translated/part.js:705 templates/js/translated/part.js:875 +#: templates/js/translated/stock.js:181 templates/js/translated/stock.js:776 +#: templates/js/translated/stock.js:1817 msgid "Part" msgstr "Parça" -#: build/models.py:213 +#: build/models.py:215 msgid "Select part to build" msgstr "Yapım işi için parça seçin" -#: build/models.py:218 +#: build/models.py:220 msgid "Sales Order Reference" msgstr "Satış Emri Referansı" -#: build/models.py:222 +#: build/models.py:224 msgid "SalesOrder to which this build is allocated" msgstr "Bu yapım işinin tahsis edildiği satış emri" -#: build/models.py:227 +#: build/models.py:229 templates/js/translated/build.js:962 msgid "Source Location" msgstr "Kaynak Konum" -#: build/models.py:231 +#: build/models.py:233 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "Bu yapım işi için stok alınacak konumu seçin (her hangi bir stok konumundan alınması için boş bırakın)" -#: build/models.py:236 +#: build/models.py:238 msgid "Destination Location" msgstr "Hedef Konum" -#: build/models.py:240 +#: build/models.py:242 msgid "Select location where the completed items will be stored" msgstr "Tamamlanmış ögelerin saklanacağı konumu seçiniz" -#: build/models.py:244 +#: build/models.py:246 msgid "Build Quantity" msgstr "Yapım İşi Miktarı" -#: build/models.py:247 +#: build/models.py:249 msgid "Number of stock items to build" msgstr "Yapım işi stok kalemlerinin sayısı" -#: build/models.py:251 +#: build/models.py:253 msgid "Completed items" msgstr "Tamamlanmış ögeler" -#: build/models.py:253 +#: build/models.py:255 msgid "Number of stock items which have been completed" msgstr "Tamamlanan stok kalemlerinin sayısı" -#: build/models.py:257 part/templates/part/part_base.html:198 +#: build/models.py:259 part/templates/part/part_base.html:198 msgid "Build Status" msgstr "Yapım İşi Durumu" -#: build/models.py:261 +#: build/models.py:263 msgid "Build status code" msgstr "Yapım işi durum kodu" -#: build/models.py:265 stock/models.py:513 +#: build/models.py:267 stock/models.py:513 msgid "Batch Code" msgstr "Sıra numarası" -#: build/models.py:269 +#: build/models.py:271 msgid "Batch code for this build output" msgstr "Yapım işi çıktısı için sıra numarası" -#: build/models.py:272 order/models.py:162 part/models.py:853 -#: part/templates/part/part_base.html:272 templates/js/translated/order.js:723 +#: build/models.py:274 order/models.py:162 part/models.py:854 +#: part/templates/part/part_base.html:272 templates/js/translated/order.js:1069 msgid "Creation Date" msgstr "Oluşturulma tarihi" -#: build/models.py:276 order/models.py:561 +#: build/models.py:278 order/models.py:569 msgid "Target completion date" msgstr "Hedef tamamlama tarihi" -#: build/models.py:280 order/models.py:288 templates/js/translated/build.js:967 +#: build/models.py:282 order/models.py:288 +#: templates/js/translated/build.js:1293 msgid "Completion Date" msgstr "Tamamlama tarihi" -#: build/models.py:286 +#: build/models.py:288 msgid "completed by" msgstr "tamamlayan" -#: build/models.py:294 templates/js/translated/build.js:938 +#: build/models.py:296 templates/js/translated/build.js:1264 msgid "Issued by" msgstr "Veren" -#: build/models.py:295 +#: build/models.py:297 msgid "User who issued this build order" msgstr "Bu yapım işi emrini veren kullanıcı" -#: build/models.py:303 build/templates/build/build_base.html:184 +#: build/models.py:305 build/templates/build/build_base.html:184 #: build/templates/build/detail.html:108 order/models.py:176 #: order/templates/order/order_base.html:138 -#: order/templates/order/sales_order_base.html:140 part/models.py:857 +#: order/templates/order/sales_order_base.html:145 part/models.py:858 #: report/templates/report/inventree_build_order_base.html:159 -#: templates/js/translated/build.js:950 +#: templates/js/translated/build.js:1276 msgid "Responsible" msgstr "Sorumlu" -#: build/models.py:304 +#: build/models.py:306 msgid "User responsible for this build order" msgstr "Bu yapım işi emrinden sorumlu kullanıcı" -#: build/models.py:309 build/templates/build/detail.html:94 +#: build/models.py:311 build/templates/build/detail.html:94 #: company/templates/company/manufacturer_part.html:83 #: company/templates/company/supplier_part.html:82 #: part/templates/part/part_base.html:266 stock/models.py:507 @@ -856,140 +859,157 @@ msgstr "Bu yapım işi emrinden sorumlu kullanıcı" msgid "External Link" msgstr "Harici Bağlantı" -#: build/models.py:310 part/models.py:715 stock/models.py:509 +#: build/models.py:312 part/models.py:716 stock/models.py:509 msgid "Link to external URL" msgstr "Harici URL'ye bağlantı" -#: build/models.py:314 build/templates/build/navbar.html:52 -#: company/models.py:141 company/models.py:576 +#: build/models.py:316 build/templates/build/navbar.html:52 +#: company/models.py:142 company/models.py:577 #: company/templates/company/navbar.html:69 #: company/templates/company/navbar.html:72 order/models.py:180 -#: order/models.py:721 order/templates/order/po_navbar.html:38 +#: order/models.py:729 order/templates/order/po_navbar.html:38 #: order/templates/order/po_navbar.html:41 -#: order/templates/order/sales_order_detail.html:440 #: order/templates/order/so_navbar.html:33 -#: order/templates/order/so_navbar.html:36 part/models.py:842 +#: order/templates/order/so_navbar.html:36 part/models.py:843 #: part/templates/part/detail.html:105 part/templates/part/navbar.html:120 #: part/templates/part/navbar.html:123 #: report/templates/report/inventree_build_order_base.html:173 #: stock/forms.py:138 stock/forms.py:250 stock/forms.py:282 stock/models.py:579 -#: stock/models.py:1726 stock/models.py:1832 +#: stock/models.py:1723 stock/models.py:1829 stock/serializers.py:451 #: stock/templates/stock/navbar.html:57 templates/js/translated/barcode.js:59 -#: templates/js/translated/bom.js:385 templates/js/translated/company.js:839 -#: templates/js/translated/order.js:604 templates/js/translated/stock.js:338 -#: templates/js/translated/stock.js:580 templates/js/translated/stock.js:1061 +#: templates/js/translated/bom.js:406 templates/js/translated/company.js:841 +#: templates/js/translated/order.js:950 templates/js/translated/order.js:1540 +#: templates/js/translated/stock.js:559 templates/js/translated/stock.js:1040 msgid "Notes" msgstr "Notlar" -#: build/models.py:315 +#: build/models.py:317 msgid "Extra build notes" msgstr "Yapım işi için ekstra notlar" -#: build/models.py:792 +#: build/models.py:714 msgid "No build output specified" msgstr "Yapım işi çıktısı belirtilmedi" -#: build/models.py:795 +#: build/models.py:717 msgid "Build output is already completed" msgstr "Yapım işi çıktısı zaten tamamlanmış" -#: build/models.py:798 +#: build/models.py:720 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:1208 -msgid "BuildItem must be unique for build, stock_item and install_into" -msgstr "Yapım işi ögesi; yapım işi, stok kalemi ve kurulacak yer için benzersiz olmalıdır" - -#: build/models.py:1233 +#: build/models.py:1102 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:1237 +#: build/models.py:1111 #, python-brace-format -msgid "Allocated quantity ({n}) must not exceed available quantity ({q})" -msgstr "Tahsis edilecek miktar ({n}) mevcut miktarı ({q}) geçmemeli" +msgid "Allocated quantity ({q}) must not execed available stock quantity ({a})" +msgstr "" -#: build/models.py:1244 order/models.py:938 -msgid "StockItem is over-allocated" +#: build/models.py:1121 +msgid "Stock item is over-allocated" msgstr "Stok kalemi fazladan tahsis edilmiş" -#: build/models.py:1248 order/models.py:941 +#: build/models.py:1127 order/models.py:955 msgid "Allocation quantity must be greater than zero" msgstr "Tahsis edilen miktar sıfırdan büyük olmalıdır" -#: build/models.py:1252 +#: build/models.py:1133 msgid "Quantity must be 1 for serialized stock" msgstr "Seri numaralı stok için miktar bir olmalı" -#: build/models.py:1312 -#, python-brace-format -msgid "Selected stock item not found in BOM for part '{p}'" -msgstr "{p} parçasının malzeme listesindeki seçili stok kalemi bulunamadı" +#: build/models.py:1191 +msgid "Selected stock item not found in BOM" +msgstr "" -#: build/models.py:1372 stock/templates/stock/item_base.html:331 -#: templates/InvenTree/search.html:183 templates/js/translated/build.js:869 +#: build/models.py:1251 stock/templates/stock/item_base.html:331 +#: templates/InvenTree/search.html:169 templates/js/translated/build.js:1195 #: templates/navbar.html:35 msgid "Build" msgstr "Yapım İşi" -#: build/models.py:1373 +#: build/models.py:1252 msgid "Build to allocate parts" msgstr "Yapım işi için tahsis edilen parçalar" -#: build/models.py:1389 stock/templates/stock/item_base.html:8 +#: build/models.py:1268 build/serializers.py:151 +#: stock/templates/stock/item_base.html:8 #: stock/templates/stock/item_base.html:31 #: stock/templates/stock/item_base.html:353 #: stock/templates/stock/stock_adjust.html:16 -#: templates/js/translated/build.js:271 templates/js/translated/build.js:276 -#: templates/js/translated/build.js:1012 templates/js/translated/order.js:797 -#: templates/js/translated/order.js:802 templates/js/translated/stock.js:1626 +#: templates/js/translated/build.js:287 templates/js/translated/build.js:292 +#: templates/js/translated/build.js:976 templates/js/translated/build.js:1338 +#: templates/js/translated/order.js:1143 templates/js/translated/order.js:1148 +#: templates/js/translated/stock.js:1605 msgid "Stock Item" msgstr "Stok Kalemi" -#: build/models.py:1390 +#: build/models.py:1269 msgid "Source stock item" msgstr "Kaynak stok kalemi" -#: build/models.py:1403 +#: build/models.py:1282 msgid "Stock quantity to allocate to build" msgstr "Yapım işi için tahsis edilen stok miktarı" -#: build/models.py:1411 +#: build/models.py:1290 msgid "Install into" msgstr "Kurulduğu yer" -#: build/models.py:1412 +#: build/models.py:1291 msgid "Destination stock item" msgstr "Hedef stok kalemi" +#: build/serializers.py:133 part/models.py:2501 +msgid "BOM Item" +msgstr "" + +#: build/serializers.py:142 +msgid "bom_item.part must point to the same part as the build order" +msgstr "" + +#: build/serializers.py:157 +msgid "Item must be in stock" +msgstr "" + +#: build/serializers.py:171 order/models.py:313 order/serializers.py:231 +#: stock/models.py:351 stock/models.py:1072 +msgid "Quantity must be greater than zero" +msgstr "" + +#: build/serializers.py:180 +msgid "Build Output" +msgstr "" + +#: build/serializers.py:213 +#, python-brace-format +msgid "Available quantity ({q}) exceeded" +msgstr "" + +#: build/serializers.py:219 +msgid "Build output must be specified for allocation of tracked parts" +msgstr "" + +#: build/serializers.py:226 +msgid "Build output cannot be specified for allocation of untracked parts" +msgstr "" + +#: build/serializers.py:254 +msgid "Allocation items must be provided" +msgstr "" + #: build/templates/build/allocation_card.html:21 #: build/templates/build/complete_output.html:46 -#: order/templates/order/sales_order_detail.html:206 -#: order/templates/order/sales_order_detail.html:291 #: report/templates/report/inventree_test_report_base.html:75 #: stock/models.py:501 stock/templates/stock/item_base.html:251 -#: templates/js/translated/build.js:627 -#: templates/js/translated/model_renderers.js:57 +#: templates/js/translated/build.js:636 +#: templates/js/translated/model_renderers.js:72 +#: templates/js/translated/order.js:1253 templates/js/translated/order.js:1342 msgid "Serial Number" msgstr "Seri Numara" -#: build/templates/build/auto_allocate.html:9 -msgid "Automatically Allocate Stock" -msgstr "Stoku Otomatik Olarak Tahsis Et" - -#: build/templates/build/auto_allocate.html:10 -msgid "The following stock items will be allocated to the specified build output" -msgstr "Aşağıdaki stok kalemleri, belirtilen yapım işi çıktısı için tahsis edilecek" - -#: build/templates/build/auto_allocate.html:37 -msgid "No stock items found that can be automatically allocated to this build" -msgstr "Bu yapım işi için otomatik tahsis edilecek stok kalemleri bulunamadı" - -#: build/templates/build/auto_allocate.html:39 -msgid "Stock items will have to be manually allocated" -msgstr "Stok kalemleri manuel olarak tahsis edilecek" - #: build/templates/build/build_base.html:18 #, python-format msgid "This Build Order is allocated to Sales Order %(link)s" @@ -1033,10 +1053,10 @@ msgstr "Yönetici görünümü" #: order/templates/order/order_base.html:32 #: order/templates/order/order_base.html:86 #: order/templates/order/sales_order_base.html:43 -#: order/templates/order/sales_order_base.html:88 +#: order/templates/order/sales_order_base.html:93 #: templates/js/translated/table_filters.js:272 -#: templates/js/translated/table_filters.js:291 -#: templates/js/translated/table_filters.js:308 +#: templates/js/translated/table_filters.js:300 +#: templates/js/translated/table_filters.js:317 msgid "Overdue" msgstr "Vadesi geçmiş" @@ -1086,14 +1106,14 @@ msgid "Progress" msgstr "İlerleme" #: build/templates/build/build_base.html:170 -#: build/templates/build/detail.html:87 order/models.py:835 +#: build/templates/build/detail.html:87 order/models.py:848 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:35 #: order/templates/order/sales_order_ship.html:25 #: report/templates/report/inventree_build_order_base.html:136 #: report/templates/report/inventree_so_report.html:77 #: stock/templates/stock/item_base.html:293 -#: templates/js/translated/order.js:670 +#: templates/js/translated/order.js:1016 msgid "Sales Order" msgstr "Sipariş Emri" @@ -1171,28 +1191,6 @@ msgstr "takip edilebilir parçalar tamamen tahsis edilemedi" msgid "The following items will be created" msgstr "Aşağıdaki ögeler oluşturulacak" -#: build/templates/build/create_build_item.html:7 -msgid "Select a stock item to allocate to the selected build output" -msgstr "Seçili yapım işi emri için tahsis edilecek bir stok kalemi seçiniz" - -#: build/templates/build/create_build_item.html:11 -#, python-format -msgid "The allocated stock will be installed into the following build output:
%(output)s" -msgstr "" - -#: build/templates/build/create_build_item.html:17 -#, python-format -msgid "No stock available for %(part)s" -msgstr "%(part)s için mevcut stok yok" - -#: build/templates/build/delete_build_item.html:8 -msgid "Are you sure you want to unallocate this stock?" -msgstr "Bu stokun tahsisinin iptal etmek istediğinizden emin misiniz?" - -#: build/templates/build/delete_build_item.html:11 -msgid "The selected stock will be unallocated from the build output" -msgstr "Bu yapım işi için seçili stok tahsisi iptal edilecek" - #: build/templates/build/detail.html:38 msgid "Stock Source" msgstr "Stok Kaynağı" @@ -1201,9 +1199,8 @@ msgstr "Stok Kaynağı" msgid "Stock can be taken from any available location." msgstr "Stok herhangi bir konumdan alınabilir." -#: build/templates/build/detail.html:49 order/forms.py:88 order/models.py:794 -#: order/templates/order/receive_parts.html:25 stock/forms.py:134 -#: templates/js/translated/order.js:593 +#: build/templates/build/detail.html:49 order/models.py:802 stock/forms.py:134 +#: templates/js/translated/order.js:431 templates/js/translated/order.js:939 msgid "Destination" msgstr "Hedef" @@ -1213,7 +1210,7 @@ msgstr "Hedef konumu belirtilmedi" #: build/templates/build/detail.html:73 #: stock/templates/stock/item_base.html:317 -#: templates/js/translated/stock.js:931 templates/js/translated/stock.js:1873 +#: templates/js/translated/stock.js:910 templates/js/translated/stock.js:1852 #: templates/js/translated/table_filters.js:129 #: templates/js/translated/table_filters.js:211 msgid "Batch" @@ -1221,8 +1218,8 @@ msgstr "Toplu" #: build/templates/build/detail.html:119 #: order/templates/order/order_base.html:111 -#: order/templates/order/sales_order_base.html:113 -#: templates/js/translated/build.js:933 +#: order/templates/order/sales_order_base.html:118 +#: templates/js/translated/build.js:1259 msgid "Created" msgstr "Oluşturuldu" @@ -1230,7 +1227,8 @@ msgstr "Oluşturuldu" msgid "No target date set" msgstr "Hedef tarih ayarlanmadı" -#: build/templates/build/detail.html:135 templates/js/translated/build.js:911 +#: build/templates/build/detail.html:135 templates/js/translated/build.js:1237 +#: templates/js/translated/table_filters.js:282 msgid "Completed" msgstr "Tamamlandı" @@ -1250,15 +1248,16 @@ msgstr "Yapım İşi için Stok Tahsis Et" msgid "Allocate stock to build" msgstr "Yapım işi için stok tahsis et" -#: build/templates/build/detail.html:173 -msgid "Auto Allocate" -msgstr "Otomatik Tahsis Et" +#: build/templates/build/detail.html:173 build/templates/build/navbar.html:20 +#: build/templates/build/navbar.html:23 +msgid "Allocate Stock" +msgstr "Stok Tahsis Et" -#: build/templates/build/detail.html:175 templates/js/translated/build.js:801 +#: build/templates/build/detail.html:175 templates/js/translated/build.js:817 msgid "Unallocate stock" msgstr "Stok tahsisini kaldır" -#: build/templates/build/detail.html:176 build/views.py:318 build/views.py:638 +#: build/templates/build/detail.html:176 build/views.py:257 msgid "Unallocate Stock" msgstr "Stok Tahsisini Kaldır" @@ -1268,7 +1267,7 @@ msgstr "Gerekli parçaları sipariş edin" #: build/templates/build/detail.html:180 #: company/templates/company/detail.html:32 -#: company/templates/company/detail.html:72 order/views.py:679 +#: company/templates/company/detail.html:72 order/views.py:509 #: part/templates/part/category.html:140 msgid "Order Parts" msgstr "Parça Siparişi" @@ -1282,38 +1281,42 @@ msgid "Untracked stock has not been fully allocated for this Build Order" msgstr "Takip edilmeyen stok yapım işi emri için tamamen tahsis edilemedi" #: build/templates/build/detail.html:197 +msgid "Allocate selected items" +msgstr "" + +#: build/templates/build/detail.html:209 msgid "This Build Order does not have any associated untracked BOM items" msgstr "Bu yapım işi emri, herhangi bir takip edilmeyen malzeme listesi öğesine sahip değil" -#: build/templates/build/detail.html:206 +#: build/templates/build/detail.html:218 msgid "Incomplete Build Outputs" msgstr "Tamamlanmamış Yapım İşi Çıktıları" -#: build/templates/build/detail.html:211 +#: build/templates/build/detail.html:223 msgid "Create new build output" msgstr "Yeni yapım işi çıktısı oluştur" -#: build/templates/build/detail.html:212 +#: build/templates/build/detail.html:224 msgid "Create New Output" msgstr "Yeni Çıktı Oluştur" -#: build/templates/build/detail.html:225 +#: build/templates/build/detail.html:237 msgid "Create a new build output" msgstr "Yeni bir yapım işi çıktısı oluştur" -#: build/templates/build/detail.html:226 +#: build/templates/build/detail.html:238 msgid "No incomplete build outputs remain." msgstr "Tamamlanmamış yapım işi çıktısı kalmadı." -#: build/templates/build/detail.html:227 +#: build/templates/build/detail.html:239 msgid "Create a new build output using the button above" msgstr "Yukarıdaki düğmeyi kullanarak yeni bir yapım işi çıktısı oluştur" -#: build/templates/build/detail.html:235 +#: build/templates/build/detail.html:247 msgid "Completed Build Outputs" msgstr "Tamamlanmış Yapım İşi Çıktıları" -#: build/templates/build/detail.html:246 build/templates/build/navbar.html:42 +#: build/templates/build/detail.html:258 build/templates/build/navbar.html:42 #: build/templates/build/navbar.html:45 order/templates/order/po_navbar.html:35 #: order/templates/order/sales_order_detail.html:43 #: order/templates/order/so_navbar.html:29 part/templates/part/detail.html:173 @@ -1323,15 +1326,15 @@ msgstr "Tamamlanmış Yapım İşi Çıktıları" msgid "Attachments" msgstr "Ekler" -#: build/templates/build/detail.html:257 +#: build/templates/build/detail.html:269 msgid "Build Notes" msgstr "Yapım İşi Notları" -#: build/templates/build/detail.html:261 build/templates/build/detail.html:398 +#: build/templates/build/detail.html:273 build/templates/build/detail.html:414 #: company/templates/company/detail.html:169 #: company/templates/company/detail.html:196 -#: order/templates/order/purchase_order_detail.html:62 -#: order/templates/order/purchase_order_detail.html:95 +#: order/templates/order/purchase_order_detail.html:71 +#: order/templates/order/purchase_order_detail.html:104 #: order/templates/order/sales_order_detail.html:58 #: order/templates/order/sales_order_detail.html:85 #: part/templates/part/detail.html:109 stock/templates/stock/item.html:103 @@ -1339,39 +1342,48 @@ msgstr "Yapım İşi Notları" msgid "Edit Notes" msgstr "Notları Düzenle" -#: build/templates/build/detail.html:357 +#: build/templates/build/detail.html:373 #: order/templates/order/po_attachments.html:79 -#: order/templates/order/purchase_order_detail.html:157 +#: order/templates/order/purchase_order_detail.html:166 #: order/templates/order/sales_order_detail.html:146 -#: part/templates/part/detail.html:920 stock/templates/stock/item.html:253 +#: part/templates/part/detail.html:891 stock/templates/stock/item.html:253 #: templates/attachment_table.html:6 msgid "Add Attachment" msgstr "Dosya Ekle" -#: build/templates/build/detail.html:376 +#: build/templates/build/detail.html:392 #: order/templates/order/po_attachments.html:51 -#: order/templates/order/purchase_order_detail.html:129 +#: order/templates/order/purchase_order_detail.html:138 #: order/templates/order/sales_order_detail.html:119 -#: part/templates/part/detail.html:874 stock/templates/stock/item.html:221 +#: part/templates/part/detail.html:845 stock/templates/stock/item.html:221 msgid "Edit Attachment" msgstr "Ek Düzenle" -#: build/templates/build/detail.html:383 +#: build/templates/build/detail.html:399 #: order/templates/order/po_attachments.html:58 -#: order/templates/order/purchase_order_detail.html:136 +#: order/templates/order/purchase_order_detail.html:145 #: order/templates/order/sales_order_detail.html:125 -#: part/templates/part/detail.html:883 stock/templates/stock/item.html:230 +#: part/templates/part/detail.html:854 stock/templates/stock/item.html:230 +#: templates/js/translated/order.js:1230 msgid "Confirm Delete Operation" msgstr "Silme İşlemini Onayla" -#: build/templates/build/detail.html:384 +#: build/templates/build/detail.html:400 #: order/templates/order/po_attachments.html:59 -#: order/templates/order/purchase_order_detail.html:137 +#: order/templates/order/purchase_order_detail.html:146 #: order/templates/order/sales_order_detail.html:126 -#: part/templates/part/detail.html:884 stock/templates/stock/item.html:231 +#: part/templates/part/detail.html:855 stock/templates/stock/item.html:231 msgid "Delete Attachment" msgstr "Eki Sil" +#: build/templates/build/detail.html:443 +msgid "Allocation Complete" +msgstr "" + +#: build/templates/build/detail.html:444 +msgid "All untracked stock items have been allocated" +msgstr "" + #: build/templates/build/edit_build_item.html:7 msgid "Alter the quantity of stock allocated to the build output" msgstr "Yapım işi çıktısına tahsis edilen stok miktarını değiştir" @@ -1401,15 +1413,10 @@ msgid "Build Order Details" msgstr "Yapım İşi Emri Detayları" #: build/templates/build/navbar.html:15 order/templates/order/po_navbar.html:15 -#: templates/js/translated/stock.js:1555 +#: templates/js/translated/stock.js:1534 msgid "Details" msgstr "Detaylar" -#: build/templates/build/navbar.html:20 build/templates/build/navbar.html:23 -#: build/views.py:90 -msgid "Allocate Stock" -msgstr "Stok Tahsis Et" - #: build/templates/build/navbar.html:28 build/templates/build/navbar.html:31 msgid "Build Outputs" msgstr "Yapım İşi Çıktıları" @@ -1434,120 +1441,82 @@ msgstr "Tüm eksik stok tahsisleri yapım işinden kaldırılacak" msgid "Build was cancelled" msgstr "Yapım işi iptal edildi" -#: build/views.py:137 -msgid "Allocated stock to build output" -msgstr "Yapım işi çıktısına stok tahsis edildi" - -#: build/views.py:149 +#: build/views.py:88 msgid "Create Build Output" msgstr "Yapım İşi Çıktısı Oluştur" -#: build/views.py:167 +#: build/views.py:106 msgid "Maximum output quantity is " msgstr "Maksimum çıktı miktarı " -#: build/views.py:183 stock/views.py:1389 +#: build/views.py:122 stock/views.py:1366 msgid "Serial numbers already exist" msgstr "Seri numaraları zaten mevcut" -#: build/views.py:192 +#: build/views.py:131 msgid "Serial numbers required for trackable build output" msgstr "Seri numaraları takip edilebilir yapım işi çıktıları için gerekli" -#: build/views.py:258 +#: build/views.py:197 msgid "Delete Build Output" msgstr "Yapım İşi Çıktısı Sil" -#: build/views.py:279 build/views.py:369 +#: build/views.py:218 build/views.py:308 msgid "Confirm unallocation of build stock" msgstr "Yapım işi stoku tahsisinin iptalini onayla" -#: build/views.py:280 build/views.py:370 stock/views.py:404 +#: build/views.py:219 build/views.py:309 stock/views.py:381 msgid "Check the confirmation box" msgstr "Onay kutusunu işaretleyin" -#: build/views.py:292 +#: build/views.py:231 msgid "Build output does not match build" msgstr "Yapım işi çıktısı yapım işi ile eşleşmiyor" -#: build/views.py:294 build/views.py:495 +#: build/views.py:233 build/views.py:434 msgid "Build output must be specified" msgstr "Yapım işi çıktısı belirtilmeli" -#: build/views.py:306 +#: build/views.py:245 msgid "Build output deleted" msgstr "Yapım işi çıktısı silindi" -#: build/views.py:404 +#: build/views.py:343 msgid "Complete Build Order" msgstr "Tamamlanmış Yapım İşi Emri" -#: build/views.py:410 +#: build/views.py:349 msgid "Build order cannot be completed - incomplete outputs remain" msgstr "Yapım işi emri tamamlanamadı - eksik çıktılar kaldı" -#: build/views.py:421 +#: build/views.py:360 msgid "Completed build order" msgstr "Tamamlanmış yapım işi emri" -#: build/views.py:437 +#: build/views.py:376 msgid "Complete Build Output" msgstr "Tamamlanmış Yapım İşi Çıktısı" -#: build/views.py:479 +#: build/views.py:418 msgid "Invalid stock status value selected" msgstr "Geçersiz stok durum değeri seçildi" -#: build/views.py:486 +#: build/views.py:425 msgid "Quantity to complete cannot exceed build output quantity" msgstr "Tamamlanacak miktar yapım işi çıktı miktarını aşamaz" -#: build/views.py:492 +#: build/views.py:431 msgid "Confirm completion of incomplete build" msgstr "Eksik yapım işinin tamamlandığını onaylayın" -#: build/views.py:591 +#: build/views.py:530 msgid "Build output completed" msgstr "Yapım işi çıktısı tamamlandı" -#: build/views.py:628 +#: build/views.py:567 msgid "Delete Build Order" msgstr "Yapım İşi Emrini Sil" -#: build/views.py:643 -msgid "Removed parts from build allocation" -msgstr "Yapım işinden tahsis edilen parçalar çıkarıldı" - -#: build/views.py:655 -msgid "Allocate stock to build output" -msgstr "Yapım işi çıktısına stok tahsis edildi" - -#: build/views.py:698 -msgid "Item must be currently in stock" -msgstr "Öge stokta bulunmalı" - -#: build/views.py:704 -msgid "Stock item is over-allocated" -msgstr "Stok kalemi fazladan tahsis edilmiş" - -#: build/views.py:705 templates/js/translated/bom.js:269 -#: templates/js/translated/build.js:728 templates/js/translated/build.js:1019 -#: templates/js/translated/build.js:1196 -msgid "Available" -msgstr "Mevcut" - -#: build/views.py:707 -msgid "Stock item must be selected" -msgstr "Stok kalemi seçilmeli" - -#: build/views.py:870 -msgid "Edit Stock Allocation" -msgstr "Stok Tahsisini Düzenle" - -#: build/views.py:874 -msgid "Updated Build Item" -msgstr "Yapım İşi Ögesini Güncelle" - #: common/files.py:67 msgid "Unsupported file format: {ext.upper()}" msgstr "Desteklenmeyen dosya formatı: {ext.upper()}" @@ -1585,7 +1554,7 @@ msgstr "{name.title()} Dosya" msgid "Select {name} file to upload" msgstr "{name} dosyasını yüklemek için seçin" -#: common/models.py:308 common/models.py:839 common/models.py:986 +#: common/models.py:308 common/models.py:887 common/models.py:1048 msgid "Settings key (must be unique - case insensitive" msgstr "" @@ -1625,7 +1594,7 @@ msgstr "" msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:522 company/models.py:99 company/models.py:100 +#: common/models.py:522 company/models.py:100 company/models.py:101 msgid "Company name" msgstr "Şirket adı" @@ -1721,9 +1690,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:603 part/models.py:2252 report/models.py:187 +#: common/models.py:603 part/models.py:2256 report/models.py:187 #: stock/forms.py:224 templates/js/translated/table_filters.js:38 -#: templates/js/translated/table_filters.js:342 +#: templates/js/translated/table_filters.js:351 msgid "Template" msgstr "Şablon" @@ -1731,9 +1700,9 @@ msgstr "Şablon" msgid "Parts are templates by default" msgstr "Parçaları varsayılan olan şablondur" -#: common/models.py:610 part/models.py:805 +#: common/models.py:610 part/models.py:806 #: templates/js/translated/table_filters.js:146 -#: templates/js/translated/table_filters.js:354 +#: templates/js/translated/table_filters.js:363 msgid "Assembly" msgstr "Montaj" @@ -1741,8 +1710,8 @@ msgstr "Montaj" msgid "Parts can be assembled from other components by default" msgstr "Parçalar varsayılan olarak başka bileşenlerden monte edilebilir" -#: common/models.py:617 part/models.py:811 -#: templates/js/translated/table_filters.js:358 +#: common/models.py:617 part/models.py:812 +#: templates/js/translated/table_filters.js:367 msgid "Component" msgstr "Bileşen" @@ -1750,7 +1719,7 @@ msgstr "Bileşen" msgid "Parts can be used as sub-components by default" msgstr "Parçalar varsayılan olarak alt bileşen olarak kullanılabilir" -#: common/models.py:624 part/models.py:822 +#: common/models.py:624 part/models.py:823 msgid "Purchaseable" msgstr "Satın Alınabilir" @@ -1758,8 +1727,8 @@ msgstr "Satın Alınabilir" msgid "Parts are purchaseable by default" msgstr "Parçalar varsayılan olarak satın alınabilir" -#: common/models.py:631 part/models.py:827 -#: templates/js/translated/table_filters.js:366 +#: common/models.py:631 part/models.py:828 +#: templates/js/translated/table_filters.js:375 msgid "Salable" msgstr "Satılabilir" @@ -1767,9 +1736,9 @@ msgstr "Satılabilir" msgid "Parts are salable by default" msgstr "Parçalar varsayılan olarak satılabilir" -#: common/models.py:638 part/models.py:817 +#: common/models.py:638 part/models.py:818 #: templates/js/translated/table_filters.js:46 -#: templates/js/translated/table_filters.js:370 +#: templates/js/translated/table_filters.js:379 msgid "Trackable" msgstr "Takip Edilebilir" @@ -1777,7 +1746,7 @@ msgstr "Takip Edilebilir" msgid "Parts are trackable by default" msgstr "Parçalar varsayılan olarak takip edilebilir" -#: common/models.py:645 part/models.py:837 +#: common/models.py:645 part/models.py:838 #: part/templates/part/part_base.html:66 #: templates/js/translated/table_filters.js:42 msgid "Virtual" @@ -1787,392 +1756,464 @@ msgstr "Sanal" msgid "Parts are virtual by default" msgstr "Parçalar varsayılan olarak sanaldır" -#: common/models.py:653 -msgid "Show Quantity in Forms" -msgstr "Formlarda Miktarı Göster" - -#: common/models.py:654 -msgid "Display available part quantity in some forms" -msgstr "" - -#: common/models.py:660 +#: common/models.py:652 msgid "Show Import in Views" msgstr "" -#: common/models.py:661 +#: common/models.py:653 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:667 +#: common/models.py:659 msgid "Show Price in Forms" msgstr "Formlarda Fiyat Göster" -#: common/models.py:668 +#: common/models.py:660 msgid "Display part price in some forms" msgstr "" -#: common/models.py:674 +#: common/models.py:671 +msgid "Show Price in BOM" +msgstr "" + +#: common/models.py:672 +msgid "Include pricing information in BOM tables" +msgstr "" + +#: common/models.py:678 msgid "Show related parts" msgstr "İlgili parçaları göster" -#: common/models.py:675 +#: common/models.py:679 msgid "Display related parts for a part" msgstr "" -#: common/models.py:681 +#: common/models.py:685 msgid "Create initial stock" msgstr "" -#: common/models.py:682 +#: common/models.py:686 msgid "Create initial stock on part creation" msgstr "" -#: common/models.py:688 +#: common/models.py:692 msgid "Internal Prices" msgstr "" -#: common/models.py:689 +#: common/models.py:693 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:695 +#: common/models.py:699 msgid "Internal Price as BOM-Price" msgstr "" -#: common/models.py:696 +#: common/models.py:700 msgid "Use the internal price (if set) in BOM-price calculations" msgstr "" -#: common/models.py:702 templates/stats.html:25 +#: common/models.py:706 templates/stats.html:25 msgid "Debug Mode" msgstr "Hata Ayıklama Modu" -#: common/models.py:703 +#: common/models.py:707 msgid "Generate reports in debug mode (HTML output)" msgstr "Raporları hata ayıklama modunda üret (HTML çıktısı)" -#: common/models.py:709 +#: common/models.py:713 msgid "Page Size" msgstr "Sayfa Boyutu" -#: common/models.py:710 +#: common/models.py:714 msgid "Default page size for PDF reports" msgstr "PDF raporlar için varsayılan sayfa boyutu" -#: common/models.py:720 +#: common/models.py:724 msgid "Test Reports" msgstr "Test Raporları" -#: common/models.py:721 +#: common/models.py:725 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:727 +#: common/models.py:731 msgid "Stock Expiry" msgstr "" -#: common/models.py:728 +#: common/models.py:732 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:734 +#: common/models.py:738 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:735 +#: common/models.py:739 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:741 +#: common/models.py:745 msgid "Stock Stale Time" msgstr "" -#: common/models.py:742 +#: common/models.py:746 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:744 +#: common/models.py:748 msgid "days" msgstr "günler" -#: common/models.py:749 +#: common/models.py:753 msgid "Build Expired Stock" msgstr "" -#: common/models.py:750 +#: common/models.py:754 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:756 +#: common/models.py:760 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:757 +#: common/models.py:761 msgid "Enable ownership control over stock locations and items" msgstr "Stok konumu ve ögeler üzerinde sahiplik kontrolünü etkinleştirin" -#: common/models.py:763 +#: common/models.py:767 msgid "Group by Part" msgstr "" -#: common/models.py:764 +#: common/models.py:768 msgid "Group stock items by part reference in table views" msgstr "" -#: common/models.py:770 +#: common/models.py:774 msgid "Build Order Reference Prefix" msgstr "" -#: common/models.py:771 +#: common/models.py:775 msgid "Prefix value for build order reference" msgstr "" -#: common/models.py:776 +#: common/models.py:780 msgid "Build Order Reference Regex" msgstr "" -#: common/models.py:777 +#: common/models.py:781 msgid "Regular expression pattern for matching build order reference" msgstr "" -#: common/models.py:781 +#: common/models.py:785 msgid "Sales Order Reference Prefix" msgstr "" -#: common/models.py:782 +#: common/models.py:786 msgid "Prefix value for sales order reference" msgstr "" -#: common/models.py:787 +#: common/models.py:791 msgid "Purchase Order Reference Prefix" msgstr "" -#: common/models.py:788 +#: common/models.py:792 msgid "Prefix value for purchase order reference" msgstr "" -#: common/models.py:794 +#: common/models.py:798 msgid "Enable build" msgstr "" -#: common/models.py:795 +#: common/models.py:799 msgid "Enable build functionality in InvenTree interface" msgstr "" -#: common/models.py:800 +#: common/models.py:804 msgid "Enable buy" msgstr "" -#: common/models.py:801 +#: common/models.py:805 msgid "Enable buy functionality in InvenTree interface" msgstr "" -#: common/models.py:806 +#: common/models.py:810 msgid "Enable sell" msgstr "" -#: common/models.py:807 +#: common/models.py:811 msgid "Enable sell functionality in InvenTree interface" msgstr "" -#: common/models.py:812 +#: common/models.py:816 msgid "Enable stock" msgstr "" -#: common/models.py:813 +#: common/models.py:817 msgid "Enable stock functionality in InvenTree interface" msgstr "" -#: common/models.py:818 +#: common/models.py:822 msgid "Enable SO" msgstr "" -#: common/models.py:819 +#: common/models.py:823 msgid "Enable SO functionality in InvenTree interface" msgstr "" -#: common/models.py:824 +#: common/models.py:828 msgid "Enable PO" msgstr "" -#: common/models.py:825 +#: common/models.py:829 msgid "Enable PO functionality in InvenTree interface" msgstr "" -#: common/models.py:850 +#: common/models.py:836 +msgid "Enable password forgot" +msgstr "" + +#: common/models.py:837 +msgid "Enable password forgot function on the login-pages" +msgstr "" + +#: common/models.py:842 +msgid "Enable registration" +msgstr "" + +#: common/models.py:843 +msgid "Enable self-registration for users on the login-pages" +msgstr "" + +#: common/models.py:848 +msgid "Enable SSO" +msgstr "" + +#: common/models.py:849 +msgid "Enable SSO on the login-pages" +msgstr "" + +#: common/models.py:854 +msgid "E-Mail required" +msgstr "" + +#: common/models.py:855 +msgid "Require user to supply mail on signup" +msgstr "" + +#: common/models.py:860 +msgid "Auto-fill SSO users" +msgstr "" + +#: common/models.py:861 +msgid "Automatically fill out user-details from SSO account-data" +msgstr "" + +#: common/models.py:866 +msgid "Mail twice" +msgstr "" + +#: common/models.py:867 +msgid "On signup ask users twice for their mail" +msgstr "" + +#: common/models.py:872 +msgid "Password twice" +msgstr "" + +#: common/models.py:873 +msgid "On signup ask users twice for their password" +msgstr "" + +#: common/models.py:898 msgid "Show starred parts" msgstr "" -#: common/models.py:851 +#: common/models.py:899 msgid "Show starred parts on the homepage" msgstr "" -#: common/models.py:856 +#: common/models.py:904 msgid "Show latest parts" msgstr "" -#: common/models.py:857 +#: common/models.py:905 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:862 +#: common/models.py:910 msgid "Recent Part Count" msgstr "" -#: common/models.py:863 +#: common/models.py:911 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:869 +#: common/models.py:917 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:870 +#: common/models.py:918 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:875 +#: common/models.py:923 msgid "Show recent stock changes" msgstr "" -#: common/models.py:876 +#: common/models.py:924 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:881 +#: common/models.py:929 msgid "Recent Stock Count" msgstr "" -#: common/models.py:882 +#: common/models.py:930 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:887 +#: common/models.py:935 msgid "Show low stock" msgstr "" -#: common/models.py:888 +#: common/models.py:936 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:893 +#: common/models.py:941 msgid "Show depleted stock" msgstr "" -#: common/models.py:894 +#: common/models.py:942 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:899 +#: common/models.py:947 msgid "Show needed stock" msgstr "" -#: common/models.py:900 +#: common/models.py:948 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:905 +#: common/models.py:953 msgid "Show expired stock" msgstr "" -#: common/models.py:906 +#: common/models.py:954 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:911 +#: common/models.py:959 msgid "Show stale stock" msgstr "" -#: common/models.py:912 +#: common/models.py:960 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:917 +#: common/models.py:965 msgid "Show pending builds" msgstr "" -#: common/models.py:918 +#: common/models.py:966 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:923 +#: common/models.py:971 msgid "Show overdue builds" msgstr "" -#: common/models.py:924 +#: common/models.py:972 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:929 +#: common/models.py:977 msgid "Show outstanding POs" msgstr "" -#: common/models.py:930 +#: common/models.py:978 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:935 +#: common/models.py:983 msgid "Show overdue POs" msgstr "" -#: common/models.py:936 +#: common/models.py:984 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:941 +#: common/models.py:989 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:942 +#: common/models.py:990 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:947 +#: common/models.py:995 msgid "Show overdue SOs" msgstr "" -#: common/models.py:948 +#: common/models.py:996 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:954 +#: common/models.py:1002 msgid "Inline label display" msgstr "" -#: common/models.py:955 +#: common/models.py:1003 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:961 +#: common/models.py:1009 msgid "Inline report display" msgstr "" -#: common/models.py:962 +#: common/models.py:1010 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:968 +#: common/models.py:1016 msgid "Search Preview Results" msgstr "" -#: common/models.py:969 +#: common/models.py:1017 msgid "Number of results to show in search preview window" msgstr "" -#: common/models.py:1026 company/forms.py:43 +#: common/models.py:1023 +msgid "Show Quantity in Forms" +msgstr "Formlarda Miktarı Göster" + +#: common/models.py:1024 +msgid "Display available part quantity in some forms" +msgstr "" + +#: common/models.py:1030 +msgid "Escape Key Closes Forms" +msgstr "" + +#: common/models.py:1031 +msgid "Use the escape key to close modal forms" +msgstr "" + +#: common/models.py:1088 company/forms.py:43 msgid "Price break quantity" msgstr "" -#: common/models.py:1033 company/templates/company/supplier_part.html:231 -#: templates/js/translated/part.js:1322 +#: common/models.py:1095 company/templates/company/supplier_part.html:231 +#: templates/js/translated/part.js:1369 msgid "Price" msgstr "Fiyat" -#: common/models.py:1034 +#: common/models.py:1096 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1127 +#: common/models.py:1189 msgid "Default" msgstr "Varsayılan" @@ -2199,7 +2240,7 @@ msgstr "Kullanıcı Ayarlarını Değiştir" #: common/views.py:213 order/templates/order/order_wizard/po_upload.html:42 #: order/templates/order/po_navbar.html:19 #: order/templates/order/po_navbar.html:22 -#: order/templates/order/purchase_order_detail.html:26 order/views.py:290 +#: order/templates/order/purchase_order_detail.html:27 order/views.py:289 #: part/templates/part/bom_upload/upload_file.html:65 #: part/templates/part/import_wizard/part_upload.html:45 part/views.py:268 #: part/views.py:882 @@ -2207,7 +2248,7 @@ msgid "Upload File" msgstr "Dosya Yükle" #: common/views.py:214 order/templates/order/order_wizard/match_fields.html:52 -#: order/views.py:291 part/templates/part/bom_upload/match_fields.html:52 +#: order/views.py:290 part/templates/part/bom_upload/match_fields.html:52 #: part/templates/part/import_wizard/ajax_match_fields.html:45 #: part/templates/part/import_wizard/match_fields.html:52 part/views.py:269 #: part/views.py:883 @@ -2246,249 +2287,249 @@ msgstr "" msgid "Image URL" msgstr "" -#: company/models.py:104 +#: company/models.py:105 msgid "Company description" msgstr "" -#: company/models.py:105 +#: company/models.py:106 msgid "Description of the company" msgstr "" -#: company/models.py:111 company/templates/company/company_base.html:70 +#: company/models.py:112 company/templates/company/company_base.html:70 #: templates/js/translated/company.js:348 msgid "Website" msgstr "" -#: company/models.py:112 +#: company/models.py:113 msgid "Company website URL" msgstr "Şirket web sitesi" -#: company/models.py:116 company/templates/company/company_base.html:88 +#: company/models.py:117 company/templates/company/company_base.html:88 msgid "Address" msgstr "Adres" -#: company/models.py:117 +#: company/models.py:118 msgid "Company address" msgstr "Şirket adresi" -#: company/models.py:120 +#: company/models.py:121 msgid "Phone number" msgstr "Telefon numarası" -#: company/models.py:121 +#: company/models.py:122 msgid "Contact phone number" msgstr "İletişim telefon numarası" -#: company/models.py:124 company/templates/company/company_base.html:102 +#: company/models.py:125 company/templates/company/company_base.html:102 msgid "Email" msgstr "E-posta" -#: company/models.py:124 +#: company/models.py:125 msgid "Contact email address" msgstr "İletişim e-posta adresi" -#: company/models.py:127 company/templates/company/company_base.html:109 +#: company/models.py:128 company/templates/company/company_base.html:109 msgid "Contact" msgstr "İletişim" -#: company/models.py:128 +#: company/models.py:129 msgid "Point of contact" msgstr "" -#: company/models.py:130 company/models.py:347 company/models.py:563 -#: order/models.py:160 part/models.py:714 +#: company/models.py:131 company/models.py:348 company/models.py:564 +#: order/models.py:160 part/models.py:715 #: report/templates/report/inventree_build_order_base.html:165 -#: templates/js/translated/company.js:535 -#: templates/js/translated/company.js:823 templates/js/translated/part.js:972 +#: templates/js/translated/company.js:536 +#: templates/js/translated/company.js:825 templates/js/translated/part.js:983 msgid "Link" msgstr "Bağlantı" -#: company/models.py:130 +#: company/models.py:131 msgid "Link to external company information" msgstr "" -#: company/models.py:138 part/models.py:724 +#: company/models.py:139 part/models.py:725 msgid "Image" msgstr "Resim" -#: company/models.py:143 +#: company/models.py:144 msgid "is customer" msgstr "müşteri mi" -#: company/models.py:143 +#: company/models.py:144 msgid "Do you sell items to this company?" msgstr "Bu şirkete ürün satıyor musunuz?" -#: company/models.py:145 +#: company/models.py:146 msgid "is supplier" msgstr "tedarikçi mi" -#: company/models.py:145 +#: company/models.py:146 msgid "Do you purchase items from this company?" msgstr "Bu şirketten ürün satın alıyor musunuz?" -#: company/models.py:147 +#: company/models.py:148 msgid "is manufacturer" msgstr "üretici mi" -#: company/models.py:147 +#: company/models.py:148 msgid "Does this company manufacture parts?" msgstr "Bu şirket üretim yapıyor mu?" -#: company/models.py:151 company/serializers.py:264 -#: company/templates/company/company_base.html:76 stock/serializers.py:155 +#: company/models.py:152 company/serializers.py:264 +#: company/templates/company/company_base.html:76 stock/serializers.py:158 msgid "Currency" msgstr "Para birimi" -#: company/models.py:154 +#: company/models.py:155 msgid "Default currency used for this company" msgstr "Bu şirket için varsayılan para birimi" -#: company/models.py:319 company/models.py:534 stock/models.py:454 +#: company/models.py:320 company/models.py:535 stock/models.py:454 #: stock/templates/stock/item_base.html:237 msgid "Base Part" msgstr "Temel Parça" -#: company/models.py:323 company/models.py:538 order/views.py:1082 +#: company/models.py:324 company/models.py:539 order/views.py:912 msgid "Select part" msgstr "Parça seçin" -#: company/models.py:334 company/templates/company/company_base.html:116 +#: company/models.py:335 company/templates/company/company_base.html:116 #: company/templates/company/manufacturer_part.html:89 #: company/templates/company/supplier_part.html:98 part/bom.py:170 -#: part/bom.py:241 stock/templates/stock/item_base.html:366 +#: part/bom.py:247 stock/templates/stock/item_base.html:366 #: templates/js/translated/company.js:332 -#: templates/js/translated/company.js:512 -#: templates/js/translated/company.js:794 templates/js/translated/part.js:222 +#: templates/js/translated/company.js:513 +#: templates/js/translated/company.js:796 templates/js/translated/part.js:227 msgid "Manufacturer" msgstr "Üretici" -#: company/models.py:335 templates/js/translated/part.js:223 +#: company/models.py:336 templates/js/translated/part.js:228 msgid "Select manufacturer" msgstr "Üretici seçin" -#: company/models.py:341 company/templates/company/manufacturer_part.html:93 +#: company/models.py:342 company/templates/company/manufacturer_part.html:93 #: company/templates/company/supplier_part.html:106 part/bom.py:171 -#: part/bom.py:242 templates/js/translated/company.js:528 -#: templates/js/translated/company.js:812 templates/js/translated/order.js:505 -#: templates/js/translated/part.js:233 +#: part/bom.py:248 templates/js/translated/company.js:529 +#: templates/js/translated/company.js:814 templates/js/translated/order.js:851 +#: templates/js/translated/part.js:238 msgid "MPN" msgstr "ÜPN" -#: company/models.py:342 templates/js/translated/part.js:234 +#: company/models.py:343 templates/js/translated/part.js:239 msgid "Manufacturer Part Number" msgstr "Üretici Parça Numarası" -#: company/models.py:348 +#: company/models.py:349 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:354 +#: company/models.py:355 msgid "Manufacturer part description" msgstr "" -#: company/models.py:408 company/models.py:557 +#: company/models.py:409 company/models.py:558 #: company/templates/company/manufacturer_part.html:6 #: company/templates/company/manufacturer_part.html:23 #: stock/templates/stock/item_base.html:376 msgid "Manufacturer Part" msgstr "" -#: company/models.py:415 +#: company/models.py:416 msgid "Parameter name" msgstr "Parametre adı" -#: company/models.py:421 +#: company/models.py:422 #: report/templates/report/inventree_test_report_base.html:90 -#: stock/models.py:1819 templates/InvenTree/settings/header.html:8 -#: templates/js/translated/company.js:642 templates/js/translated/part.js:612 -#: templates/js/translated/stock.js:576 +#: stock/models.py:1816 templates/InvenTree/settings/header.html:8 +#: templates/js/translated/company.js:643 templates/js/translated/part.js:623 +#: templates/js/translated/stock.js:555 msgid "Value" msgstr "Değer" -#: company/models.py:422 +#: company/models.py:423 msgid "Parameter value" msgstr "Parametre değeri" -#: company/models.py:428 part/models.py:799 part/models.py:2220 -#: templates/js/translated/company.js:648 templates/js/translated/part.js:618 +#: company/models.py:429 part/models.py:800 part/models.py:2224 +#: templates/js/translated/company.js:649 templates/js/translated/part.js:629 msgid "Units" msgstr "" -#: company/models.py:429 +#: company/models.py:430 msgid "Parameter units" msgstr "" -#: company/models.py:501 +#: company/models.py:502 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:544 company/templates/company/company_base.html:121 +#: company/models.py:545 company/templates/company/company_base.html:121 #: company/templates/company/supplier_part.html:88 order/models.py:260 #: order/templates/order/order_base.html:92 #: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:175 -#: part/bom.py:286 stock/templates/stock/item_base.html:383 +#: part/bom.py:292 stock/templates/stock/item_base.html:383 #: templates/js/translated/company.js:336 -#: templates/js/translated/company.js:768 templates/js/translated/order.js:328 -#: templates/js/translated/part.js:203 +#: templates/js/translated/company.js:770 templates/js/translated/order.js:659 +#: templates/js/translated/part.js:208 msgid "Supplier" msgstr "Tedarikçi" -#: company/models.py:545 templates/js/translated/part.js:204 +#: company/models.py:546 templates/js/translated/part.js:209 msgid "Select supplier" msgstr "Tedarikçi seçin" -#: company/models.py:550 company/templates/company/supplier_part.html:92 -#: part/bom.py:176 part/bom.py:287 templates/js/translated/order.js:492 -#: templates/js/translated/part.js:214 +#: company/models.py:551 company/templates/company/supplier_part.html:92 +#: part/bom.py:176 part/bom.py:293 templates/js/translated/order.js:838 +#: templates/js/translated/part.js:219 msgid "SKU" msgstr "SKU" -#: company/models.py:551 templates/js/translated/part.js:215 +#: company/models.py:552 templates/js/translated/part.js:220 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:558 +#: company/models.py:559 msgid "Select manufacturer part" msgstr "" -#: company/models.py:564 +#: company/models.py:565 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:570 +#: company/models.py:571 msgid "Supplier part description" msgstr "" -#: company/models.py:575 company/templates/company/supplier_part.html:120 -#: part/models.py:2368 report/templates/report/inventree_po_report.html:93 +#: company/models.py:576 company/templates/company/supplier_part.html:120 +#: part/models.py:2389 report/templates/report/inventree_po_report.html:93 #: report/templates/report/inventree_so_report.html:93 msgid "Note" msgstr "Not" -#: company/models.py:579 part/models.py:1599 +#: company/models.py:580 part/models.py:1603 msgid "base cost" msgstr "temel maliyet" -#: company/models.py:579 part/models.py:1599 +#: company/models.py:580 part/models.py:1603 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:581 company/templates/company/supplier_part.html:113 +#: company/models.py:582 company/templates/company/supplier_part.html:113 #: stock/models.py:478 stock/templates/stock/item_base.html:324 -#: templates/js/translated/company.js:844 templates/js/translated/stock.js:1057 +#: templates/js/translated/company.js:846 templates/js/translated/stock.js:1036 msgid "Packaging" msgstr "Paketleme" -#: company/models.py:581 +#: company/models.py:582 msgid "Part packaging" msgstr "" -#: company/models.py:583 part/models.py:1601 +#: company/models.py:584 part/models.py:1605 msgid "multiple" msgstr "çoklu" -#: company/models.py:583 +#: company/models.py:584 msgid "Order multiple" msgstr "" @@ -2502,7 +2543,7 @@ msgstr "Para Birimi Kodu" #: company/templates/company/company_base.html:9 #: company/templates/company/company_base.html:35 -#: templates/InvenTree/search.html:304 templates/js/translated/company.js:321 +#: templates/InvenTree/search.html:208 templates/js/translated/company.js:321 msgid "Company" msgstr "" @@ -2517,7 +2558,7 @@ msgid "Download image from URL" msgstr "" #: company/templates/company/company_base.html:46 -#: templates/js/translated/order.js:117 +#: templates/js/translated/order.js:120 msgid "Create Purchase Order" msgstr "Satın Alma Emri Oluştur" @@ -2542,22 +2583,22 @@ msgstr "" msgid "Phone" msgstr "" -#: company/templates/company/company_base.html:126 order/models.py:550 -#: order/templates/order/sales_order_base.html:94 stock/models.py:496 +#: company/templates/company/company_base.html:126 order/models.py:558 +#: order/templates/order/sales_order_base.html:99 stock/models.py:496 #: stock/models.py:497 stock/templates/stock/item_base.html:276 -#: templates/js/translated/company.js:328 templates/js/translated/order.js:692 -#: templates/js/translated/stock.js:1608 +#: templates/js/translated/company.js:328 templates/js/translated/order.js:1038 +#: templates/js/translated/stock.js:1587 msgid "Customer" msgstr "Müşteri" -#: company/templates/company/company_base.html:193 -#: part/templates/part/part_base.html:418 +#: company/templates/company/company_base.html:199 +#: part/templates/part/part_base.html:424 msgid "Upload Image" msgstr "" #: company/templates/company/detail.html:14 #: company/templates/company/manufacturer_part_navbar.html:18 -#: templates/InvenTree/search.html:164 +#: templates/InvenTree/search.html:150 msgid "Supplier Parts" msgstr "Tedarikçi Parçaları" @@ -2597,7 +2638,7 @@ msgstr "Parçaları sil" msgid "Delete Parts" msgstr "Parçaları Sil" -#: company/templates/company/detail.html:54 templates/InvenTree/search.html:149 +#: company/templates/company/detail.html:54 templates/InvenTree/search.html:135 msgid "Manufacturer Parts" msgstr "" @@ -2620,9 +2661,9 @@ msgstr "Tedarikçi Stoku" #: order/templates/order/purchase_orders.html:13 #: part/templates/part/detail.html:50 part/templates/part/navbar.html:82 #: part/templates/part/navbar.html:85 templates/InvenTree/index.html:260 -#: templates/InvenTree/search.html:325 -#: templates/InvenTree/settings/navbar.html:107 -#: templates/InvenTree/settings/navbar.html:109 templates/navbar.html:44 +#: templates/InvenTree/search.html:229 +#: templates/InvenTree/settings/navbar.html:119 +#: templates/InvenTree/settings/navbar.html:121 templates/navbar.html:44 #: users/models.py:45 msgid "Purchase Orders" msgstr "Satın Alma Emirleri" @@ -2644,9 +2685,9 @@ msgstr "Yeni Satın Alma Emri" #: order/templates/order/sales_orders.html:13 #: part/templates/part/detail.html:71 part/templates/part/navbar.html:91 #: part/templates/part/navbar.html:94 templates/InvenTree/index.html:291 -#: templates/InvenTree/search.html:345 -#: templates/InvenTree/settings/navbar.html:113 -#: templates/InvenTree/settings/navbar.html:115 templates/navbar.html:55 +#: templates/InvenTree/search.html:249 +#: templates/InvenTree/settings/navbar.html:125 +#: templates/InvenTree/settings/navbar.html:127 templates/navbar.html:55 #: users/models.py:46 msgid "Sales Orders" msgstr "Satış Emirleri" @@ -2664,7 +2705,7 @@ msgstr "Yeni Satış Emri" #: company/templates/company/detail.html:147 #: company/templates/company/navbar.html:61 #: company/templates/company/navbar.html:64 -#: templates/js/translated/build.js:620 +#: templates/js/translated/build.js:622 msgid "Assigned Stock" msgstr "Atanan Stok" @@ -2696,12 +2737,12 @@ msgid "Order part" msgstr "Parça siparişi" #: company/templates/company/manufacturer_part.html:45 -#: templates/js/translated/company.js:560 +#: templates/js/translated/company.js:561 msgid "Edit manufacturer part" msgstr "" #: company/templates/company/manufacturer_part.html:49 -#: templates/js/translated/company.js:561 +#: templates/js/translated/company.js:562 msgid "Delete manufacturer part" msgstr "" @@ -2718,7 +2759,7 @@ msgstr "" #: company/templates/company/manufacturer_part_navbar.html:21 #: company/views.py:49 part/templates/part/navbar.html:75 #: part/templates/part/navbar.html:78 part/templates/part/prices.html:163 -#: templates/InvenTree/search.html:316 templates/navbar.html:41 +#: templates/InvenTree/search.html:220 templates/navbar.html:41 msgid "Suppliers" msgstr "" @@ -2732,7 +2773,7 @@ msgstr "Tedarikçi parçalarını sil" #: company/templates/company/manufacturer_part.html:239 #: part/templates/part/detail.html:214 part/templates/part/detail.html:294 #: part/templates/part/detail.html:317 templates/js/translated/company.js:424 -#: templates/js/translated/helpers.js:31 users/models.py:194 +#: templates/js/translated/helpers.js:31 users/models.py:199 msgid "Delete" msgstr "" @@ -2758,7 +2799,7 @@ msgid "Delete parameters" msgstr "" #: company/templates/company/manufacturer_part.html:176 -#: part/templates/part/detail.html:834 +#: part/templates/part/detail.html:805 msgid "Add Parameter" msgstr "" @@ -2777,16 +2818,15 @@ msgstr "" #: company/templates/company/manufacturer_part_navbar.html:29 #: company/templates/company/navbar.html:39 #: company/templates/company/supplier_part_navbar.html:15 -#: part/templates/part/navbar.html:38 stock/api.py:54 +#: part/templates/part/navbar.html:38 stock/api.py:52 #: stock/templates/stock/loc_link.html:7 stock/templates/stock/location.html:36 #: stock/templates/stock/stock_app_base.html:10 -#: templates/InvenTree/index.html:150 templates/InvenTree/search.html:196 -#: templates/InvenTree/search.html:232 -#: templates/InvenTree/settings/navbar.html:95 -#: templates/InvenTree/settings/navbar.html:97 -#: templates/js/translated/part.js:529 templates/js/translated/part.js:758 -#: templates/js/translated/part.js:934 templates/js/translated/stock.js:202 -#: templates/js/translated/stock.js:850 templates/navbar.html:32 +#: templates/InvenTree/index.html:150 templates/InvenTree/search.html:182 +#: templates/InvenTree/settings/navbar.html:107 +#: templates/InvenTree/settings/navbar.html:109 +#: templates/js/translated/part.js:540 templates/js/translated/part.js:769 +#: templates/js/translated/part.js:945 templates/js/translated/stock.js:182 +#: templates/js/translated/stock.js:829 templates/navbar.html:32 msgid "Stock" msgstr "Stok" @@ -2815,7 +2855,7 @@ msgstr "" #: stock/templates/stock/location.html:148 #: stock/templates/stock/location_navbar.html:18 #: stock/templates/stock/location_navbar.html:21 -#: templates/InvenTree/search.html:198 templates/js/translated/stock.js:1507 +#: templates/InvenTree/search.html:184 templates/js/translated/stock.js:1486 #: templates/stats.html:93 templates/stats.html:102 users/models.py:43 msgid "Stock Items" msgstr "Stok Kalemleri" @@ -2823,17 +2863,17 @@ msgstr "Stok Kalemleri" #: company/templates/company/supplier_part.html:7 #: company/templates/company/supplier_part.html:24 stock/models.py:463 #: stock/templates/stock/item_base.html:388 -#: templates/js/translated/company.js:784 templates/js/translated/stock.js:1014 +#: templates/js/translated/company.js:786 templates/js/translated/stock.js:993 msgid "Supplier Part" msgstr "Tedarikçi Parçası" #: company/templates/company/supplier_part.html:44 -#: templates/js/translated/company.js:857 +#: templates/js/translated/company.js:859 msgid "Edit supplier part" msgstr "Tedarikçi parçasını düzenle" #: company/templates/company/supplier_part.html:48 -#: templates/js/translated/company.js:858 +#: templates/js/translated/company.js:860 msgid "Delete supplier part" msgstr "Tedarikçi parçasını sil" @@ -2900,7 +2940,7 @@ msgid "New Supplier" msgstr "Yeni Tedarikçi" #: company/views.py:55 part/templates/part/prices.html:167 -#: templates/InvenTree/search.html:306 templates/navbar.html:42 +#: templates/InvenTree/search.html:210 templates/navbar.html:42 msgid "Manufacturers" msgstr "Üreticiler" @@ -2908,7 +2948,7 @@ msgstr "Üreticiler" msgid "New Manufacturer" msgstr "Yeni Üretici" -#: company/views.py:61 templates/InvenTree/search.html:336 +#: company/views.py:61 templates/InvenTree/search.html:240 #: templates/navbar.html:53 msgid "Customers" msgstr "Müşteriler" @@ -3011,36 +3051,32 @@ msgstr "" msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" -#: order/api.py:302 -msgid "Destination location must be specified" +#: order/api.py:250 +msgid "Matching purchase order does not exist" msgstr "" -#: order/forms.py:30 order/templates/order/order_base.html:47 +#: order/forms.py:27 order/templates/order/order_base.html:50 msgid "Place order" msgstr "Sipariş ver" -#: order/forms.py:41 order/templates/order/order_base.html:54 +#: order/forms.py:38 order/templates/order/order_base.html:57 msgid "Mark order as complete" msgstr "Siparişi tamamlandı olarak işaretle" -#: order/forms.py:52 order/forms.py:63 order/templates/order/order_base.html:59 -#: order/templates/order/sales_order_base.html:61 +#: order/forms.py:49 order/forms.py:60 order/templates/order/order_base.html:62 +#: order/templates/order/sales_order_base.html:64 msgid "Cancel order" msgstr "Siparişi iptal et" -#: order/forms.py:74 order/templates/order/sales_order_base.html:58 +#: order/forms.py:71 order/templates/order/sales_order_base.html:61 msgid "Ship order" msgstr "" -#: order/forms.py:89 -msgid "Set all received parts listed above to this location (if left blank, use \"Destination\" column value in above table)" -msgstr "" - -#: order/forms.py:116 +#: order/forms.py:97 msgid "Enter stock item serial numbers" msgstr "Stok kalemi seri numaları girin" -#: order/forms.py:122 +#: order/forms.py:103 msgid "Enter quantity of stock items" msgstr "" @@ -3064,11 +3100,11 @@ msgstr "" msgid "Order notes" msgstr "Sipariş notları" -#: order/models.py:247 order/models.py:540 +#: order/models.py:247 order/models.py:548 msgid "Order reference" msgstr "Sipariş referansı" -#: order/models.py:252 order/models.py:555 +#: order/models.py:252 order/models.py:563 msgid "Purchase order status" msgstr "" @@ -3077,7 +3113,7 @@ msgid "Company from which the items are being ordered" msgstr "" #: order/models.py:264 order/templates/order/order_base.html:98 -#: templates/js/translated/order.js:337 +#: templates/js/translated/order.js:668 msgid "Supplier Reference" msgstr "" @@ -3109,190 +3145,190 @@ msgstr "" msgid "Date order was completed" msgstr "" -#: order/models.py:313 stock/models.py:351 stock/models.py:1072 -msgid "Quantity must be greater than zero" -msgstr "" - #: order/models.py:318 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:421 -msgid "Lines can only be received against an order marked as 'Placed'" -msgstr "" - -#: order/models.py:425 +#: order/models.py:428 msgid "Quantity must be an integer" msgstr "" -#: order/models.py:427 +#: order/models.py:432 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:551 +#: order/models.py:559 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:557 +#: order/models.py:565 msgid "Customer Reference " msgstr "" -#: order/models.py:557 +#: order/models.py:565 msgid "Customer order reference code" msgstr "" -#: order/models.py:562 +#: order/models.py:570 msgid "Target date for order completion. Order will be overdue after this date." msgstr "" -#: order/models.py:565 templates/js/translated/order.js:733 +#: order/models.py:573 templates/js/translated/order.js:1079 msgid "Shipment Date" msgstr "" -#: order/models.py:572 +#: order/models.py:580 msgid "shipped by" msgstr "" -#: order/models.py:616 +#: order/models.py:624 msgid "SalesOrder cannot be shipped as it is not currently pending" msgstr "" -#: order/models.py:713 +#: order/models.py:721 msgid "Item quantity" msgstr "" -#: order/models.py:719 +#: order/models.py:727 msgid "Line item reference" msgstr "" -#: order/models.py:721 +#: order/models.py:729 msgid "Line item notes" msgstr "" -#: order/models.py:751 order/models.py:835 templates/js/translated/order.js:785 +#: order/models.py:759 order/models.py:847 +#: templates/js/translated/order.js:1131 msgid "Order" msgstr "" -#: order/models.py:752 order/templates/order/order_base.html:9 +#: order/models.py:760 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:24 #: report/templates/report/inventree_po_report.html:77 #: stock/templates/stock/item_base.html:338 -#: templates/js/translated/order.js:306 templates/js/translated/stock.js:991 -#: templates/js/translated/stock.js:1589 +#: templates/js/translated/order.js:637 templates/js/translated/stock.js:970 +#: templates/js/translated/stock.js:1568 msgid "Purchase Order" msgstr "" -#: order/models.py:773 +#: order/models.py:781 msgid "Supplier part" msgstr "" -#: order/models.py:780 order/templates/order/order_base.html:131 -#: order/templates/order/receive_parts.html:22 -#: order/templates/order/sales_order_base.html:133 -#: templates/js/translated/order.js:573 +#: order/models.py:788 order/templates/order/order_base.html:131 +#: order/templates/order/sales_order_base.html:138 +#: templates/js/translated/order.js:428 templates/js/translated/order.js:919 msgid "Received" msgstr "" -#: order/models.py:781 +#: order/models.py:789 msgid "Number of items received" msgstr "" -#: order/models.py:788 part/templates/part/prices.html:176 stock/models.py:588 -#: stock/serializers.py:147 stock/templates/stock/item_base.html:345 -#: templates/js/translated/stock.js:1045 +#: order/models.py:796 part/templates/part/prices.html:176 stock/models.py:588 +#: stock/serializers.py:150 stock/templates/stock/item_base.html:345 +#: templates/js/translated/stock.js:1024 msgid "Purchase Price" msgstr "" -#: order/models.py:789 +#: order/models.py:797 msgid "Unit purchase price" msgstr "" -#: order/models.py:797 +#: order/models.py:805 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:843 part/templates/part/part_pricing.html:112 +#: order/models.py:857 part/templates/part/part_pricing.html:112 #: part/templates/part/prices.html:116 part/templates/part/prices.html:284 msgid "Sale Price" msgstr "" -#: order/models.py:844 +#: order/models.py:858 msgid "Unit sale price" msgstr "" -#: order/models.py:923 order/models.py:925 +#: order/models.py:937 order/models.py:939 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:929 +#: order/models.py:943 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:931 +#: order/models.py:945 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:934 +#: order/models.py:948 msgid "Allocation quantity cannot exceed stock quantity" msgstr "Tahsis miktarı stok miktarını aşamaz" -#: order/models.py:944 +#: order/models.py:952 +msgid "StockItem is over-allocated" +msgstr "Stok kalemi fazladan tahsis edilmiş" + +#: order/models.py:958 msgid "Quantity must be 1 for serialized stock item" msgstr "Seri numaralı stok kalemi için miktar bir olmalı" -#: order/models.py:949 +#: order/models.py:966 msgid "Line" msgstr "" -#: order/models.py:960 +#: order/models.py:978 msgid "Item" msgstr "" -#: order/models.py:961 +#: order/models.py:979 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:964 +#: order/models.py:982 msgid "Enter stock allocation quantity" msgstr "Stok tahsis miktarını girin" -#: order/serializers.py:166 +#: order/serializers.py:167 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:201 +#: order/serializers.py:202 msgid "Line Item" msgstr "" -#: order/serializers.py:207 +#: order/serializers.py:208 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:217 order/serializers.py:276 +#: order/serializers.py:218 order/serializers.py:285 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:234 +#: order/serializers.py:242 msgid "Barcode Hash" msgstr "" -#: order/serializers.py:235 +#: order/serializers.py:243 msgid "Unique identifier field" msgstr "" -#: order/serializers.py:250 +#: order/serializers.py:259 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:289 +#: order/serializers.py:297 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:299 +#: order/serializers.py:314 +msgid "Destination location must be specified" +msgstr "" + +#: order/serializers.py:325 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:514 +#: order/serializers.py:569 msgid "Sale price currency" msgstr "" @@ -3307,31 +3343,32 @@ msgstr "" msgid "Print" msgstr "Yazdır" -#: order/templates/order/order_base.html:43 -#: order/templates/order/sales_order_base.html:54 +#: order/templates/order/order_base.html:42 +#: order/templates/order/sales_order_base.html:53 +msgid "Export order to file" +msgstr "Emiri dosya çıkar" + +#: order/templates/order/order_base.html:46 +#: order/templates/order/sales_order_base.html:57 msgid "Edit order information" msgstr "" -#: order/templates/order/order_base.html:51 +#: order/templates/order/order_base.html:54 msgid "Receive items" msgstr "" -#: order/templates/order/order_base.html:64 -msgid "Export order to file" -msgstr "Emiri dosya çıkar" - #: order/templates/order/order_base.html:72 #: order/templates/order/po_navbar.html:12 msgid "Purchase Order Details" msgstr "" #: order/templates/order/order_base.html:77 -#: order/templates/order/sales_order_base.html:79 +#: order/templates/order/sales_order_base.html:84 msgid "Order Reference" msgstr "" #: order/templates/order/order_base.html:82 -#: order/templates/order/sales_order_base.html:84 +#: order/templates/order/sales_order_base.html:89 msgid "Order Status" msgstr "" @@ -3344,16 +3381,6 @@ msgstr "" msgid "Edit Purchase Order" msgstr "" -#: order/templates/order/order_base.html:196 -#: stock/templates/stock/location.html:250 templates/js/translated/order.js:437 -msgid "New Location" -msgstr "Yeni Konum" - -#: order/templates/order/order_base.html:197 -#: stock/templates/stock/location.html:42 templates/js/translated/order.js:438 -msgid "Create new stock location" -msgstr "Yeni stok konumu oluştur" - #: order/templates/order/order_cancel.html:8 msgid "Cancelling this order means that the order and line items will no longer be editable." msgstr "" @@ -3426,6 +3453,7 @@ msgstr "" #: part/templates/part/import_wizard/ajax_match_references.html:42 #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 +#: templates/js/translated/build.js:869 templates/js/translated/order.js:376 msgid "Remove row" msgstr "" @@ -3502,7 +3530,7 @@ msgid "Select existing purchase orders, or create new orders." msgstr "" #: order/templates/order/order_wizard/select_pos.html:31 -#: templates/js/translated/order.js:363 templates/js/translated/order.js:738 +#: templates/js/translated/order.js:694 templates/js/translated/order.js:1084 msgid "Items" msgstr "Ürünler" @@ -3522,7 +3550,7 @@ msgstr "" #: order/templates/order/po_attachments.html:12 #: order/templates/order/po_navbar.html:32 -#: order/templates/order/purchase_order_detail.html:47 +#: order/templates/order/purchase_order_detail.html:56 msgid "Purchase Order Attachments" msgstr "" @@ -3532,7 +3560,7 @@ msgstr "" #: order/templates/order/po_navbar.html:29 #: order/templates/order/po_received_items.html:12 -#: order/templates/order/purchase_order_detail.html:38 +#: order/templates/order/purchase_order_detail.html:47 msgid "Received Items" msgstr "" @@ -3540,14 +3568,22 @@ msgstr "" msgid "Purchase Order Items" msgstr "" -#: order/templates/order/purchase_order_detail.html:23 -#: order/templates/order/purchase_order_detail.html:203 +#: order/templates/order/purchase_order_detail.html:24 +#: order/templates/order/purchase_order_detail.html:212 #: order/templates/order/sales_order_detail.html:23 #: order/templates/order/sales_order_detail.html:177 msgid "Add Line Item" msgstr "" -#: order/templates/order/purchase_order_detail.html:58 +#: order/templates/order/purchase_order_detail.html:30 +msgid "Receive selected items" +msgstr "" + +#: order/templates/order/purchase_order_detail.html:31 +msgid "Receive Items" +msgstr "" + +#: order/templates/order/purchase_order_detail.html:67 #: order/templates/order/sales_order_detail.html:54 msgid "Order Notes" msgstr "Sipariş Notları" @@ -3557,67 +3593,24 @@ msgstr "Sipariş Notları" msgid "Print Order Reports" msgstr "" -#: order/templates/order/receive_parts.html:8 -#, python-format -msgid "Receive outstanding parts for %(order)s - %(desc)s" -msgstr "" - -#: order/templates/order/receive_parts.html:14 part/api.py:54 -#: part/models.py:298 part/templates/part/cat_link.html:7 -#: part/templates/part/category.html:108 part/templates/part/category.html:122 -#: part/templates/part/category_navbar.html:21 -#: part/templates/part/category_navbar.html:24 -#: templates/InvenTree/index.html:102 templates/InvenTree/search.html:114 -#: templates/InvenTree/settings/navbar.html:83 -#: templates/InvenTree/settings/navbar.html:85 -#: templates/js/translated/part.js:1154 templates/navbar.html:29 -#: templates/stats.html:80 templates/stats.html:89 users/models.py:41 -msgid "Parts" -msgstr "Parçalar" - -#: order/templates/order/receive_parts.html:15 -msgid "Fill out number of parts received, the status and destination" -msgstr "" - -#: order/templates/order/receive_parts.html:20 -msgid "Order Code" -msgstr "" - -#: order/templates/order/receive_parts.html:21 -#: part/templates/part/part_base.html:167 templates/js/translated/part.js:949 -msgid "On Order" -msgstr "" - -#: order/templates/order/receive_parts.html:23 -msgid "Receive" -msgstr "" - -#: order/templates/order/receive_parts.html:37 -msgid "Error: Referenced part has been removed" -msgstr "" - -#: order/templates/order/receive_parts.html:68 -msgid "Remove line" -msgstr "" - #: order/templates/order/sales_order_base.html:16 msgid "This Sales Order has not been fully allocated" msgstr "" -#: order/templates/order/sales_order_base.html:66 +#: order/templates/order/sales_order_base.html:70 msgid "Packing List" msgstr "" -#: order/templates/order/sales_order_base.html:74 +#: order/templates/order/sales_order_base.html:79 msgid "Sales Order Details" msgstr "" -#: order/templates/order/sales_order_base.html:100 -#: templates/js/translated/order.js:705 +#: order/templates/order/sales_order_base.html:105 +#: templates/js/translated/order.js:1051 msgid "Customer Reference" msgstr "" -#: order/templates/order/sales_order_base.html:178 +#: order/templates/order/sales_order_base.html:183 msgid "Edit Sales Order" msgstr "" @@ -3636,105 +3629,6 @@ msgstr "" msgid "Sales Order Items" msgstr "" -#: order/templates/order/sales_order_detail.html:226 -#: templates/js/translated/bom.js:394 templates/js/translated/build.js:782 -#: templates/js/translated/build.js:1219 -msgid "Actions" -msgstr "İşlemler" - -#: order/templates/order/sales_order_detail.html:233 -#: templates/js/translated/build.js:668 templates/js/translated/build.js:1030 -msgid "Edit stock allocation" -msgstr "Stok tahsisini düzenle" - -#: order/templates/order/sales_order_detail.html:234 -#: templates/js/translated/build.js:670 templates/js/translated/build.js:1031 -msgid "Delete stock allocation" -msgstr "Stok tahsisini sil" - -#: order/templates/order/sales_order_detail.html:307 -msgid "No matching line items" -msgstr "" - -#: order/templates/order/sales_order_detail.html:337 -msgid "ID" -msgstr "ID" - -#: order/templates/order/sales_order_detail.html:354 -#: templates/js/translated/order.js:481 -msgid "Total" -msgstr "" - -#: order/templates/order/sales_order_detail.html:377 -#: templates/js/translated/order.js:534 templates/js/translated/part.js:1296 -#: templates/js/translated/part.js:1507 -msgid "Unit Price" -msgstr "" - -#: order/templates/order/sales_order_detail.html:384 -#: templates/js/translated/order.js:543 -msgid "Total price" -msgstr "Toplam fiyat" - -#: order/templates/order/sales_order_detail.html:405 -#: templates/js/translated/build.js:733 templates/js/translated/build.js:1026 -msgid "Allocated" -msgstr "" - -#: order/templates/order/sales_order_detail.html:407 -msgid "Fulfilled" -msgstr "" - -#: order/templates/order/sales_order_detail.html:444 -msgid "PO" -msgstr "" - -#: order/templates/order/sales_order_detail.html:474 -msgid "Allocate serial numbers" -msgstr "Seri numaralarını tahsis et" - -#: order/templates/order/sales_order_detail.html:477 -#: templates/js/translated/build.js:796 -msgid "Allocate stock" -msgstr "" - -#: order/templates/order/sales_order_detail.html:480 -msgid "Purchase stock" -msgstr "" - -#: order/templates/order/sales_order_detail.html:484 -#: templates/js/translated/build.js:789 templates/js/translated/build.js:1227 -msgid "Build stock" -msgstr "" - -#: order/templates/order/sales_order_detail.html:487 -#: order/templates/order/sales_order_detail.html:606 -msgid "Calculate price" -msgstr "" - -#: order/templates/order/sales_order_detail.html:490 -#: templates/js/translated/order.js:616 -msgid "Edit line item" -msgstr "" - -#: order/templates/order/sales_order_detail.html:491 -msgid "Delete line item " -msgstr "" - -#: order/templates/order/sales_order_detail.html:519 -#: templates/js/translated/order.js:403 -msgid "Edit Line Item" -msgstr "" - -#: order/templates/order/sales_order_detail.html:529 -#: templates/js/translated/order.js:415 -msgid "Delete Line Item" -msgstr "" - -#: order/templates/order/sales_order_detail.html:612 -msgid "Update Unit Price" -msgstr "" - #: order/templates/order/sales_order_ship.html:10 msgid "This order has not been fully allocated. If the order is marked as shipped, it can no longer be adjusted." msgstr "" @@ -3759,10 +3653,6 @@ msgstr "" msgid "Allocate stock items by serial number" msgstr "Seri numarası ile stok kalemlerini tahsis et" -#: order/templates/order/so_allocation_delete.html:7 -msgid "This action will unallocate the following stock from the Sales Order" -msgstr "Bu işlem Sipariş Emrinden belirtilen stok kalemleri tahsis edemedi" - #: order/templates/order/so_navbar.html:12 msgid "Sales Order Line Items" msgstr "" @@ -3775,149 +3665,129 @@ msgstr "" msgid "Sales Order Attachments" msgstr "" -#: order/views.py:104 +#: order/views.py:103 msgid "Cancel Order" msgstr "Siparişi İptal Et" -#: order/views.py:113 order/views.py:139 +#: order/views.py:112 order/views.py:138 msgid "Confirm order cancellation" msgstr "" -#: order/views.py:116 order/views.py:142 +#: order/views.py:115 order/views.py:141 msgid "Order cannot be cancelled" msgstr "" -#: order/views.py:130 +#: order/views.py:129 msgid "Cancel sales order" msgstr "" -#: order/views.py:156 +#: order/views.py:155 msgid "Issue Order" msgstr "" -#: order/views.py:165 +#: order/views.py:164 msgid "Confirm order placement" msgstr "" -#: order/views.py:175 +#: order/views.py:174 msgid "Purchase order issued" msgstr "" -#: order/views.py:186 +#: order/views.py:185 msgid "Complete Order" msgstr "" -#: order/views.py:202 +#: order/views.py:201 msgid "Confirm order completion" msgstr "" -#: order/views.py:213 +#: order/views.py:212 msgid "Purchase order completed" msgstr "" -#: order/views.py:223 +#: order/views.py:222 msgid "Ship Order" msgstr "" -#: order/views.py:239 +#: order/views.py:238 msgid "Confirm order shipment" msgstr "" -#: order/views.py:245 +#: order/views.py:244 msgid "Could not ship order" msgstr "" -#: order/views.py:292 +#: order/views.py:291 msgid "Match Supplier Parts" msgstr "" -#: order/views.py:480 -msgid "Receive Parts" -msgstr "" - -#: order/views.py:552 -msgid "Items received" -msgstr "" - -#: order/views.py:620 -msgid "Error converting quantity to number" -msgstr "" - -#: order/views.py:626 -msgid "Receive quantity less than zero" -msgstr "" - -#: order/views.py:632 -msgid "No lines specified" -msgstr "" - -#: order/views.py:705 +#: order/views.py:535 msgid "Update prices" msgstr "Fiyatları güncelle" -#: order/views.py:963 +#: order/views.py:793 #, python-brace-format msgid "Ordered {n} parts" msgstr "" -#: order/views.py:1016 +#: order/views.py:846 msgid "Allocate Serial Numbers" msgstr "Seri Numaralarını Tahsis Et" -#: order/views.py:1061 +#: order/views.py:891 #, python-brace-format msgid "Allocated {n} items" msgstr "" -#: order/views.py:1077 +#: order/views.py:907 msgid "Select line item" msgstr "" -#: order/views.py:1108 +#: order/views.py:938 #, python-brace-format msgid "No matching item for serial {serial}" msgstr "{serial} seri numarası için eşleşen öge bulunamadı" -#: order/views.py:1118 +#: order/views.py:948 #, python-brace-format msgid "{serial} is not in stock" msgstr "{serial} stokta yok" -#: order/views.py:1126 +#: order/views.py:956 #, python-brace-format msgid "{serial} already allocated to an order" msgstr "{serial} zaten bir emirde tahsis edilmiş" -#: order/views.py:1180 -msgid "Allocate Stock to Order" -msgstr "" - -#: order/views.py:1254 -msgid "Edit Allocation Quantity" -msgstr "Tahsis Miktarını Düzenle" - -#: order/views.py:1269 -msgid "Remove allocation" -msgstr "Tahsisi Sil" - -#: order/views.py:1341 +#: order/views.py:1072 msgid "Sales order not found" msgstr "" -#: order/views.py:1347 +#: order/views.py:1078 msgid "Price not found" msgstr "" -#: order/views.py:1350 +#: order/views.py:1081 #, python-brace-format msgid "Updated {part} unit-price to {price}" msgstr "" -#: order/views.py:1355 +#: order/views.py:1086 #, python-brace-format msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" +#: part/api.py:54 part/models.py:299 part/templates/part/cat_link.html:7 +#: part/templates/part/category.html:108 part/templates/part/category.html:122 +#: part/templates/part/category_navbar.html:21 +#: part/templates/part/category_navbar.html:24 +#: templates/InvenTree/index.html:102 templates/InvenTree/search.html:114 +#: templates/InvenTree/settings/navbar.html:95 +#: templates/InvenTree/settings/navbar.html:97 +#: templates/js/translated/part.js:1165 templates/navbar.html:29 +#: templates/stats.html:80 templates/stats.html:89 users/models.py:41 +msgid "Parts" +msgstr "Parçalar" + #: part/api.py:700 msgid "Must be greater than zero" msgstr "" @@ -3934,7 +3804,7 @@ msgstr "" msgid "This field is required" msgstr "" -#: part/bom.py:133 part/models.py:75 part/models.py:733 +#: part/bom.py:133 part/models.py:76 part/models.py:734 #: part/templates/part/category.html:75 part/templates/part/part_base.html:290 msgid "Default Location" msgstr "Varsayılan Konum" @@ -3999,7 +3869,7 @@ msgstr "" msgid "Include part supplier data in exported BOM" msgstr "Dışa aktarılan malzeme listesine parça tedarikçisi verilerini dahil edin" -#: part/forms.py:96 part/models.py:2250 +#: part/forms.py:96 part/models.py:2254 msgid "Parent Part" msgstr "" @@ -4043,391 +3913,387 @@ msgstr "Parametre şablonunu tüm kategorilere ekle" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:76 +#: part/models.py:77 msgid "Default location for parts in this category" msgstr "Bu kategori içindeki parçalar için varsayılan konum" -#: part/models.py:79 +#: part/models.py:80 msgid "Default keywords" msgstr "" -#: part/models.py:79 +#: part/models.py:80 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:89 part/models.py:2296 +#: part/models.py:90 part/models.py:2300 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:90 part/templates/part/category.html:32 +#: part/models.py:91 part/templates/part/category.html:32 #: part/templates/part/category.html:103 templates/InvenTree/search.html:127 #: templates/stats.html:84 users/models.py:40 msgid "Part Categories" msgstr "Parça Kategorileri" -#: part/models.py:383 +#: part/models.py:384 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:435 part/models.py:447 +#: part/models.py:436 part/models.py:448 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:544 +#: part/models.py:545 msgid "Next available serial numbers are" msgstr "Sonraki kullanılabilir seri numaraları" -#: part/models.py:548 +#: part/models.py:549 msgid "Next available serial number is" msgstr "Sonraki müsait seri numarası" -#: part/models.py:553 +#: part/models.py:554 msgid "Most recent serial number is" msgstr "En son seri numarası" -#: part/models.py:632 +#: part/models.py:633 msgid "Duplicate IPN not allowed in part settings" msgstr "Yinelenen DPN'ye parça ayarlarında izin verilmiyor" -#: part/models.py:657 +#: part/models.py:658 msgid "Part name" msgstr "Parça adı" -#: part/models.py:664 +#: part/models.py:665 msgid "Is Template" msgstr "Şablon Mu" -#: part/models.py:665 +#: part/models.py:666 msgid "Is this part a template part?" msgstr "Bu parça bir şablon parçası mı?" -#: part/models.py:675 +#: part/models.py:676 msgid "Is this part a variant of another part?" msgstr "Bu parça başka bir parçanın çeşidi mi?" -#: part/models.py:676 +#: part/models.py:677 msgid "Variant Of" msgstr "Çeşidi" -#: part/models.py:682 +#: part/models.py:683 msgid "Part description" msgstr "Parça açıklaması" -#: part/models.py:687 part/templates/part/category.html:82 +#: part/models.py:688 part/templates/part/category.html:82 #: part/templates/part/part_base.html:259 msgid "Keywords" msgstr "Anahtar kelimeler" -#: part/models.py:688 +#: part/models.py:689 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:695 part/models.py:2295 +#: part/models.py:696 part/models.py:2299 #: part/templates/part/set_category.html:15 -#: templates/InvenTree/settings/settings.html:167 -#: templates/js/translated/part.js:916 +#: templates/InvenTree/settings/settings.html:169 +#: templates/js/translated/part.js:927 msgid "Category" msgstr "" -#: part/models.py:696 +#: part/models.py:697 msgid "Part category" msgstr "" -#: part/models.py:701 part/templates/part/part_base.html:235 -#: templates/js/translated/part.js:517 templates/js/translated/part.js:749 +#: part/models.py:702 part/templates/part/part_base.html:235 +#: templates/js/translated/part.js:528 templates/js/translated/part.js:760 msgid "IPN" msgstr "DPN" -#: part/models.py:702 +#: part/models.py:703 msgid "Internal Part Number" msgstr "" -#: part/models.py:708 +#: part/models.py:709 msgid "Part revision or version number" msgstr "Parça revizyon veya versiyon numarası" -#: part/models.py:709 part/templates/part/part_base.html:252 -#: report/models.py:200 templates/js/translated/part.js:521 +#: part/models.py:710 part/templates/part/part_base.html:252 +#: report/models.py:200 templates/js/translated/part.js:532 msgid "Revision" msgstr "Revizyon" -#: part/models.py:731 +#: part/models.py:732 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:778 part/templates/part/part_base.html:297 +#: part/models.py:779 part/templates/part/part_base.html:297 msgid "Default Supplier" msgstr "Varsayılan Tedarikçi" -#: part/models.py:779 +#: part/models.py:780 msgid "Default supplier part" msgstr "Varsayılan tedarikçi parçası" -#: part/models.py:786 +#: part/models.py:787 msgid "Default Expiry" msgstr "" -#: part/models.py:787 +#: part/models.py:788 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:792 +#: part/models.py:793 msgid "Minimum Stock" msgstr "Minimum Stok" -#: part/models.py:793 +#: part/models.py:794 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:800 +#: part/models.py:801 msgid "Stock keeping units for this part" msgstr "" -#: part/models.py:806 +#: part/models.py:807 msgid "Can this part be built from other parts?" msgstr "Bu parça diğer parçalardan yapılabilir mi?" -#: part/models.py:812 +#: part/models.py:813 msgid "Can this part be used to build other parts?" msgstr "Bu parça diğer parçaların yapımında kullanılabilir mi?" -#: part/models.py:818 +#: part/models.py:819 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:823 +#: part/models.py:824 msgid "Can this part be purchased from external suppliers?" msgstr "Bu parça dış tedarikçilerden satın alınabilir mi?" -#: part/models.py:828 +#: part/models.py:829 msgid "Can this part be sold to customers?" msgstr "Bu parça müşterilere satılabilir mi?" -#: part/models.py:832 templates/js/translated/table_filters.js:34 +#: part/models.py:833 templates/js/translated/table_filters.js:34 #: templates/js/translated/table_filters.js:82 #: templates/js/translated/table_filters.js:268 -#: templates/js/translated/table_filters.js:337 +#: templates/js/translated/table_filters.js:346 msgid "Active" msgstr "Aktif" -#: part/models.py:833 +#: part/models.py:834 msgid "Is this part active?" msgstr "Bu parça aktif mi?" -#: part/models.py:838 +#: part/models.py:839 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:843 +#: part/models.py:844 msgid "Part notes - supports Markdown formatting" msgstr "" -#: part/models.py:846 +#: part/models.py:847 msgid "BOM checksum" msgstr "" -#: part/models.py:846 +#: part/models.py:847 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:849 +#: part/models.py:850 msgid "BOM checked by" msgstr "" -#: part/models.py:851 +#: part/models.py:852 msgid "BOM checked date" msgstr "" -#: part/models.py:855 +#: part/models.py:856 msgid "Creation User" msgstr "Oluşturan Kullanıcı" -#: part/models.py:1601 +#: part/models.py:1605 msgid "Sell multiple" msgstr "" -#: part/models.py:2096 +#: part/models.py:2100 msgid "Test templates can only be created for trackable parts" msgstr "Test şablonları sadece takip edilebilir paçalar için oluşturulabilir" -#: part/models.py:2113 +#: part/models.py:2117 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:2133 templates/js/translated/part.js:1205 -#: templates/js/translated/stock.js:556 +#: part/models.py:2137 templates/js/translated/part.js:1216 +#: templates/js/translated/stock.js:535 msgid "Test Name" msgstr "Test Adı" -#: part/models.py:2134 +#: part/models.py:2138 msgid "Enter a name for the test" msgstr "" -#: part/models.py:2139 +#: part/models.py:2143 msgid "Test Description" msgstr "Test Açıklaması" -#: part/models.py:2140 +#: part/models.py:2144 msgid "Enter description for this test" msgstr "" -#: part/models.py:2145 templates/js/translated/part.js:1214 +#: part/models.py:2149 templates/js/translated/part.js:1225 #: templates/js/translated/table_filters.js:254 msgid "Required" msgstr "Gerekli" -#: part/models.py:2146 +#: part/models.py:2150 msgid "Is this test required to pass?" msgstr "Testi geçmesi için bu gerekli mi?" -#: part/models.py:2151 templates/js/translated/part.js:1222 +#: part/models.py:2155 templates/js/translated/part.js:1233 msgid "Requires Value" msgstr "" -#: part/models.py:2152 +#: part/models.py:2156 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:2157 templates/js/translated/part.js:1229 +#: part/models.py:2161 templates/js/translated/part.js:1240 msgid "Requires Attachment" msgstr "" -#: part/models.py:2158 +#: part/models.py:2162 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:2169 +#: part/models.py:2173 #, python-brace-format msgid "Illegal character in template name ({c})" msgstr "" -#: part/models.py:2205 +#: part/models.py:2209 msgid "Parameter template name must be unique" msgstr "Parametre şablon adı benzersiz olmalıdır" -#: part/models.py:2213 +#: part/models.py:2217 msgid "Parameter Name" msgstr "" -#: part/models.py:2220 +#: part/models.py:2224 msgid "Parameter Units" msgstr "" -#: part/models.py:2252 part/models.py:2301 part/models.py:2302 -#: templates/InvenTree/settings/settings.html:162 +#: part/models.py:2256 part/models.py:2305 part/models.py:2306 +#: templates/InvenTree/settings/settings.html:164 msgid "Parameter Template" msgstr "Parametre Şablonu" -#: part/models.py:2254 +#: part/models.py:2258 msgid "Data" msgstr "" -#: part/models.py:2254 +#: part/models.py:2258 msgid "Parameter Value" msgstr "" -#: part/models.py:2306 templates/InvenTree/settings/settings.html:171 +#: part/models.py:2310 templates/InvenTree/settings/settings.html:173 msgid "Default Value" msgstr "" -#: part/models.py:2307 +#: part/models.py:2311 msgid "Default Parameter Value" msgstr "" -#: part/models.py:2341 +#: part/models.py:2362 msgid "Select parent part" msgstr "" -#: part/models.py:2349 +#: part/models.py:2370 msgid "Sub part" msgstr "" -#: part/models.py:2350 +#: part/models.py:2371 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:2356 +#: part/models.py:2377 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:2358 templates/js/translated/bom.js:256 -#: templates/js/translated/bom.js:314 +#: part/models.py:2379 templates/js/translated/bom.js:275 +#: templates/js/translated/bom.js:335 msgid "Optional" msgstr "" -#: part/models.py:2358 +#: part/models.py:2379 msgid "This BOM item is optional" msgstr "" -#: part/models.py:2361 +#: part/models.py:2382 msgid "Overage" msgstr "" -#: part/models.py:2362 +#: part/models.py:2383 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:2365 +#: part/models.py:2386 msgid "BOM item reference" msgstr "" -#: part/models.py:2368 +#: part/models.py:2389 msgid "BOM item notes" msgstr "" -#: part/models.py:2370 +#: part/models.py:2391 msgid "Checksum" msgstr "" -#: part/models.py:2370 +#: part/models.py:2391 msgid "BOM line checksum" msgstr "" -#: part/models.py:2374 templates/js/translated/bom.js:331 -#: templates/js/translated/bom.js:338 +#: part/models.py:2395 templates/js/translated/bom.js:352 +#: templates/js/translated/bom.js:359 #: templates/js/translated/table_filters.js:68 msgid "Inherited" msgstr "" -#: part/models.py:2375 +#: part/models.py:2396 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:2380 templates/js/translated/bom.js:323 +#: part/models.py:2401 templates/js/translated/bom.js:344 msgid "Allow Variants" msgstr "Çeşide İzin Ver" -#: part/models.py:2381 +#: part/models.py:2402 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:2466 stock/models.py:341 +#: part/models.py:2487 stock/models.py:341 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:2475 part/models.py:2477 +#: part/models.py:2496 part/models.py:2498 msgid "Sub part must be specified" msgstr "" -#: part/models.py:2480 -msgid "BOM Item" -msgstr "" - -#: part/models.py:2599 +#: part/models.py:2620 msgid "Part 1" msgstr "" -#: part/models.py:2603 +#: part/models.py:2624 msgid "Part 2" msgstr "" -#: part/models.py:2603 +#: part/models.py:2624 msgid "Select Related Part" msgstr "" -#: part/models.py:2635 +#: part/models.py:2656 msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique" msgstr "" @@ -4578,7 +4444,7 @@ msgstr "" msgid "Create new part" msgstr "" -#: part/templates/part/category.html:131 +#: part/templates/part/category.html:131 templates/js/translated/bom.js:39 msgid "New Part" msgstr "" @@ -4658,7 +4524,7 @@ msgstr "" msgid "Import Parts" msgstr "" -#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:352 +#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:363 msgid "Duplicate Part" msgstr "" @@ -4785,34 +4651,26 @@ msgstr "" msgid "Add Test Result Template" msgstr "" -#: part/templates/part/detail.html:716 -msgid "Edit Test Result Template" -msgstr "" - -#: part/templates/part/detail.html:728 -msgid "Delete Test Result Template" -msgstr "" - -#: part/templates/part/detail.html:784 +#: part/templates/part/detail.html:755 msgid "Edit Part Notes" msgstr "" -#: part/templates/part/detail.html:936 +#: part/templates/part/detail.html:907 #, python-format msgid "Purchase Unit Price - %(currency)s" msgstr "" -#: part/templates/part/detail.html:948 +#: part/templates/part/detail.html:919 #, python-format msgid "Unit Price-Cost Difference - %(currency)s" msgstr "" -#: part/templates/part/detail.html:960 +#: part/templates/part/detail.html:931 #, python-format msgid "Supplier Unit Cost - %(currency)s" msgstr "" -#: part/templates/part/detail.html:1049 +#: part/templates/part/detail.html:1020 #, python-format msgid "Unit Price - %(currency)s" msgstr "" @@ -4874,9 +4732,9 @@ msgstr "" msgid "Part is virtual (not a physical part)" msgstr "" -#: part/templates/part/part_base.html:58 templates/js/translated/company.js:503 -#: templates/js/translated/company.js:759 templates/js/translated/part.js:432 -#: templates/js/translated/part.js:509 +#: part/templates/part/part_base.html:58 templates/js/translated/company.js:504 +#: templates/js/translated/company.js:761 templates/js/translated/part.js:443 +#: templates/js/translated/part.js:520 msgid "Inactive" msgstr "Pasif" @@ -4942,10 +4800,16 @@ msgid "This part is a variant of %(link)s" msgstr "Bu parça %(link)s parçasının bir çeşididir" #: part/templates/part/part_base.html:161 +#: templates/js/translated/model_renderers.js:169 +#: templates/js/translated/order.js:1503 #: templates/js/translated/table_filters.js:166 msgid "In Stock" msgstr "" +#: part/templates/part/part_base.html:167 templates/js/translated/part.js:960 +msgid "On Order" +msgstr "" + #: part/templates/part/part_base.html:174 templates/InvenTree/index.html:186 msgid "Required for Build Orders" msgstr "Yapım İşi Emirleri için Gerekli" @@ -4958,18 +4822,18 @@ msgstr "Satış Emirleri için Gerekli" msgid "Allocated to Orders" msgstr "" -#: part/templates/part/part_base.html:203 templates/js/translated/bom.js:352 +#: part/templates/part/part_base.html:203 templates/js/translated/bom.js:373 msgid "Can Build" msgstr "" -#: part/templates/part/part_base.html:209 templates/js/translated/part.js:765 -#: templates/js/translated/part.js:953 +#: part/templates/part/part_base.html:209 templates/js/translated/part.js:776 +#: templates/js/translated/part.js:964 msgid "Building" msgstr "" #: part/templates/part/part_base.html:223 -#: part/templates/part/part_base.html:524 -#: part/templates/part/part_base.html:550 +#: part/templates/part/part_base.html:531 +#: part/templates/part/part_base.html:557 msgid "Show Part Details" msgstr "" @@ -4977,16 +4841,16 @@ msgstr "" msgid "Latest Serial Number" msgstr "Son Seri Numarası" -#: part/templates/part/part_base.html:396 part/templates/part/prices.html:144 +#: part/templates/part/part_base.html:402 part/templates/part/prices.html:144 msgid "Calculate" msgstr "Hesapla" -#: part/templates/part/part_base.html:439 +#: part/templates/part/part_base.html:445 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:519 -#: part/templates/part/part_base.html:544 +#: part/templates/part/part_base.html:526 +#: part/templates/part/part_base.html:551 msgid "Hide Part Details" msgstr "" @@ -5013,7 +4877,7 @@ msgid "Total Cost" msgstr "Toplam Maliyet" #: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:40 -#: templates/js/translated/bom.js:307 +#: templates/js/translated/bom.js:327 msgid "No supplier pricing available" msgstr "" @@ -5051,32 +4915,39 @@ msgstr "" msgid "Select from existing images" msgstr "" -#: part/templates/part/partial_delete.html:7 +#: part/templates/part/partial_delete.html:9 +#, python-format +msgid "Part '%(full_name)s' cannot be deleted as it is still marked as active.\n" +"
Disable the \"Active\" part attribute and re-try.\n" +" " +msgstr "" + +#: part/templates/part/partial_delete.html:17 #, python-format msgid "Are you sure you want to delete part '%(full_name)s'?" msgstr "" -#: part/templates/part/partial_delete.html:12 +#: part/templates/part/partial_delete.html:22 #, python-format msgid "This part is used in BOMs for %(count)s other parts. If you delete this part, the BOMs for the following parts will be updated" msgstr "" -#: part/templates/part/partial_delete.html:22 +#: part/templates/part/partial_delete.html:32 #, python-format msgid "There are %(count)s stock entries defined for this part. If you delete this part, the following stock entries will also be deleted:" msgstr "" -#: part/templates/part/partial_delete.html:33 +#: part/templates/part/partial_delete.html:43 #, python-format msgid "There are %(count)s manufacturers defined for this part. If you delete this part, the following manufacturer parts will also be deleted:" msgstr "" -#: part/templates/part/partial_delete.html:44 +#: part/templates/part/partial_delete.html:54 #, python-format msgid "There are %(count)s suppliers defined for this part. If you delete this part, the following supplier parts will also be deleted:" msgstr "Bu parçası için tanımlanmış %(count)s tedarikçi bulunmaktadır. Bu parçayı silerseniz, aşağıdaki tedarikçi parçaları da silinecektir:" -#: part/templates/part/partial_delete.html:55 +#: part/templates/part/partial_delete.html:65 #, python-format msgid "There are %(count)s unique parts tracked for '%(full_name)s'. Deleting this part will permanently remove this tracking information." msgstr "" @@ -5109,7 +4980,7 @@ msgstr "" msgid "Calculation parameters" msgstr "" -#: part/templates/part/prices.html:155 templates/js/translated/bom.js:301 +#: part/templates/part/prices.html:155 templates/js/translated/bom.js:321 msgid "Supplier Cost" msgstr "" @@ -5151,8 +5022,9 @@ msgstr "" msgid "Set category for the following parts" msgstr "Aşağıdaki parçalara kategori ayarla" -#: part/templates/part/stock_count.html:7 templates/js/translated/bom.js:278 -#: templates/js/translated/part.js:755 templates/js/translated/part.js:957 +#: part/templates/part/stock_count.html:7 templates/js/translated/bom.js:297 +#: templates/js/translated/model_renderers.js:167 +#: templates/js/translated/part.js:766 templates/js/translated/part.js:968 msgid "No Stock" msgstr "Stok Yok" @@ -5262,7 +5134,7 @@ msgstr "Parça Parametre Şablonu Düzenle" msgid "Delete Part Parameter Template" msgstr "Parça Parametre Şablonu Sil" -#: part/views.py:1502 templates/js/translated/part.js:303 +#: part/views.py:1502 templates/js/translated/part.js:308 msgid "Edit Part Category" msgstr "" @@ -5400,17 +5272,17 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:88 -#: stock/models.py:1807 +#: stock/models.py:1804 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:89 -#: stock/models.py:1813 +#: stock/models.py:1810 msgid "Result" msgstr "" #: report/templates/report/inventree_test_report_base.html:92 -#: templates/js/translated/order.js:353 templates/js/translated/stock.js:1523 +#: templates/js/translated/order.js:684 templates/js/translated/stock.js:1502 msgid "Date" msgstr "" @@ -5422,51 +5294,9 @@ msgstr "" msgid "Fail" msgstr "" -#: stock/api.py:146 -msgid "Request must contain list of stock items" -msgstr "" - -#: stock/api.py:154 -msgid "Improperly formatted data" -msgstr "" - -#: stock/api.py:162 -msgid "Each entry must contain a valid integer primary-key" -msgstr "" - -#: stock/api.py:168 -msgid "Primary key does not match valid stock item" -msgstr "" - -#: stock/api.py:178 -msgid "Invalid quantity value" -msgstr "" - -#: stock/api.py:183 -msgid "Quantity must not be less than zero" -msgstr "" - -#: stock/api.py:211 -#, python-brace-format -msgid "Updated stock for {n} items" -msgstr "{n} öge için stok güncellendi" - -#: stock/api.py:247 stock/api.py:280 -msgid "Specified quantity exceeds stock quantity" -msgstr "" - -#: stock/api.py:270 -msgid "Valid location must be specified" -msgstr "" - -#: stock/api.py:290 -#, python-brace-format -msgid "Moved {n} parts to {loc}" -msgstr "" - #: stock/forms.py:79 stock/forms.py:307 stock/models.py:556 #: stock/templates/stock/item_base.html:395 -#: templates/js/translated/stock.js:967 +#: templates/js/translated/stock.js:946 msgid "Expiry Date" msgstr "" @@ -5678,38 +5508,54 @@ msgstr "Seri numaraları zaten mevcut: {exists}" msgid "StockItem cannot be moved as it is not in stock" msgstr "Stok kalemi stokta olmadığı için taşınamaz" -#: stock/models.py:1727 +#: stock/models.py:1724 msgid "Entry notes" msgstr "" -#: stock/models.py:1784 +#: stock/models.py:1781 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:1790 +#: stock/models.py:1787 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:1808 +#: stock/models.py:1805 msgid "Test name" msgstr "" -#: stock/models.py:1814 templates/js/translated/table_filters.js:244 +#: stock/models.py:1811 templates/js/translated/table_filters.js:244 msgid "Test result" msgstr "" -#: stock/models.py:1820 +#: stock/models.py:1817 msgid "Test output value" msgstr "" -#: stock/models.py:1827 +#: stock/models.py:1824 msgid "Test result attachment" msgstr "" -#: stock/models.py:1833 +#: stock/models.py:1830 msgid "Test notes" msgstr "" +#: stock/serializers.py:424 +msgid "StockItem primary key value" +msgstr "" + +#: stock/serializers.py:452 +msgid "Stock transaction notes" +msgstr "" + +#: stock/serializers.py:462 +msgid "A list of stock items must be provided" +msgstr "" + +#: stock/serializers.py:554 +msgid "Destination stock location" +msgstr "" + #: stock/templates/stock/item.html:17 msgid "Stock Tracking Information" msgstr "" @@ -5747,7 +5593,7 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:125 stock/views.py:534 +#: stock/templates/stock/item.html:125 stock/views.py:511 msgid "Install Stock Item" msgstr "" @@ -5910,7 +5756,7 @@ msgid "next page" msgstr "" #: stock/templates/stock/item_base.html:303 -#: templates/js/translated/build.js:651 +#: templates/js/translated/build.js:658 msgid "No location set" msgstr "Konum ayarlanmadı" @@ -5937,7 +5783,7 @@ msgid "This StockItem expires on %(item.expiry_date)s" msgstr "Bu stok kaleminin süresi %(item.expiry_date)s tarihinde sona erecek" #: stock/templates/stock/item_base.html:408 -#: templates/js/translated/stock.js:980 +#: templates/js/translated/stock.js:959 msgid "Last Updated" msgstr "" @@ -6019,6 +5865,10 @@ msgstr "Bu konumun sahipleri listesinde değilsiniz. Bu stok konumu düzenleneme msgid "All stock items" msgstr "" +#: stock/templates/stock/location.html:42 +msgid "Create new stock location" +msgstr "Yeni stok konumu oluştur" + #: stock/templates/stock/location.html:55 msgid "Check-in Items" msgstr "" @@ -6058,7 +5908,7 @@ msgstr "Alt konumlar" msgid "Stock Details" msgstr "" -#: stock/templates/stock/location.html:129 templates/InvenTree/search.html:279 +#: stock/templates/stock/location.html:129 templates/InvenTree/search.html:196 #: templates/stats.html:97 users/models.py:42 msgid "Stock Locations" msgstr "Stok Konumları" @@ -6071,6 +5921,10 @@ msgstr "Yazdırma İşlemleri" msgid "Print labels" msgstr "Etiketleri yazdır" +#: stock/templates/stock/location.html:250 +msgid "New Location" +msgstr "Yeni Konum" + #: stock/templates/stock/location.html:251 msgid "Create new location" msgstr "Yeni konum oluştur" @@ -6111,7 +5965,7 @@ msgstr "" msgid "The following stock items will be uninstalled" msgstr "" -#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:932 +#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:909 msgid "Convert Stock Item" msgstr "Stok Kalemine Dönüştür" @@ -6132,104 +5986,104 @@ msgstr "Bu işlem kolayca geri alınamaz" msgid "Are you sure you want to delete this stock tracking entry?" msgstr "" -#: stock/views.py:181 +#: stock/views.py:158 msgid "Edit Stock Location" msgstr "Stok konumunu düzenle" -#: stock/views.py:288 stock/views.py:911 stock/views.py:1033 -#: stock/views.py:1398 +#: stock/views.py:265 stock/views.py:888 stock/views.py:1010 +#: stock/views.py:1375 msgid "Owner is required (ownership control is enabled)" msgstr "Sahip gerekli (sahip kontrolü etkinleştirildi)" -#: stock/views.py:303 +#: stock/views.py:280 msgid "Stock Location QR code" msgstr "Stok Konumu QR Kodu" -#: stock/views.py:322 +#: stock/views.py:299 msgid "Assign to Customer" msgstr "" -#: stock/views.py:331 +#: stock/views.py:308 msgid "Customer must be specified" msgstr "" -#: stock/views.py:355 +#: stock/views.py:332 msgid "Return to Stock" msgstr "" -#: stock/views.py:364 +#: stock/views.py:341 msgid "Specify a valid location" msgstr "Geçerli bir konum belirtiniz" -#: stock/views.py:375 +#: stock/views.py:352 msgid "Stock item returned from customer" msgstr "" -#: stock/views.py:386 +#: stock/views.py:363 msgid "Delete All Test Data" msgstr "" -#: stock/views.py:403 +#: stock/views.py:380 msgid "Confirm test data deletion" msgstr "" -#: stock/views.py:508 +#: stock/views.py:485 msgid "Stock Item QR Code" msgstr "" -#: stock/views.py:683 +#: stock/views.py:660 msgid "Uninstall Stock Items" msgstr "" -#: stock/views.py:780 templates/js/translated/stock.js:353 +#: stock/views.py:757 templates/js/translated/stock.js:321 msgid "Confirm stock adjustment" msgstr "Stok ayarlamasını onayla" -#: stock/views.py:791 +#: stock/views.py:768 msgid "Uninstalled stock items" msgstr "" -#: stock/views.py:813 +#: stock/views.py:790 msgid "Edit Stock Item" msgstr "" -#: stock/views.py:959 +#: stock/views.py:936 msgid "Create new Stock Location" msgstr "Yeni Stok konumu oluştur" -#: stock/views.py:1050 +#: stock/views.py:1027 msgid "Serialize Stock" msgstr "Stoku Seri Numarala" -#: stock/views.py:1143 templates/js/translated/build.js:392 +#: stock/views.py:1120 msgid "Create new Stock Item" msgstr "" -#: stock/views.py:1285 +#: stock/views.py:1262 msgid "Duplicate Stock Item" msgstr "" -#: stock/views.py:1367 +#: stock/views.py:1344 msgid "Quantity cannot be negative" msgstr "" -#: stock/views.py:1467 +#: stock/views.py:1444 msgid "Delete Stock Location" msgstr "Stok Konumunu Sil" -#: stock/views.py:1480 +#: stock/views.py:1457 msgid "Delete Stock Item" msgstr "" -#: stock/views.py:1491 +#: stock/views.py:1468 msgid "Delete Stock Tracking Entry" msgstr "" -#: stock/views.py:1498 +#: stock/views.py:1475 msgid "Edit Stock Tracking Entry" msgstr "" -#: stock/views.py:1507 +#: stock/views.py:1484 msgid "Add Stock Tracking Entry" msgstr "" @@ -6313,14 +6167,6 @@ msgstr "" msgid "Enter a search query" msgstr "" -#: templates/InvenTree/search.html:268 templates/js/translated/stock.js:699 -msgid "Shipped to customer" -msgstr "" - -#: templates/InvenTree/search.html:271 templates/js/translated/stock.js:709 -msgid "No stock location set" -msgstr "Stok konumu ayarlanmadı" - #: templates/InvenTree/settings/barcode.html:8 msgid "Barcode Settings" msgstr "" @@ -6365,6 +6211,14 @@ msgstr "" msgid "Setting" msgstr "" +#: templates/InvenTree/settings/login.html:9 +msgid "Login Settings" +msgstr "" + +#: templates/InvenTree/settings/login.html:22 templates/account/signup.html:5 +msgid "Signup" +msgstr "" + #: templates/InvenTree/settings/navbar.html:12 #: templates/InvenTree/settings/user_settings.html:9 msgid "User Settings" @@ -6382,7 +6236,7 @@ msgstr "" #: templates/InvenTree/settings/navbar.html:27 #: templates/InvenTree/settings/navbar.html:29 -#: templates/js/translated/tables.js:366 templates/search_form.html:6 +#: templates/js/translated/tables.js:375 templates/search_form.html:6 #: templates/search_form.html:8 msgid "Search" msgstr "" @@ -6397,38 +6251,48 @@ msgstr "" msgid "Reports" msgstr "" -#: templates/InvenTree/settings/navbar.html:46 -#: templates/InvenTree/settings/navbar.html:48 -#: templates/InvenTree/settings/settings.html:8 templates/navbar.html:94 +#: templates/InvenTree/settings/navbar.html:45 +#: templates/InvenTree/settings/navbar.html:47 +msgid "Forms" +msgstr "" + +#: templates/InvenTree/settings/navbar.html:52 +#: templates/InvenTree/settings/navbar.html:54 +#: templates/InvenTree/settings/settings.html:8 templates/navbar.html:90 msgid "Settings" msgstr "" -#: templates/InvenTree/settings/navbar.html:56 +#: templates/InvenTree/settings/navbar.html:62 msgid "InvenTree Settings" msgstr "" -#: templates/InvenTree/settings/navbar.html:59 -#: templates/InvenTree/settings/navbar.html:61 templates/stats.html:9 +#: templates/InvenTree/settings/navbar.html:65 +#: templates/InvenTree/settings/navbar.html:67 templates/stats.html:9 msgid "Server" msgstr "" -#: templates/InvenTree/settings/navbar.html:65 -#: templates/InvenTree/settings/navbar.html:67 -msgid "Barcodes" -msgstr "" - #: templates/InvenTree/settings/navbar.html:71 -#: templates/InvenTree/settings/navbar.html:73 -msgid "Currencies" +#: templates/InvenTree/settings/navbar.html:73 templates/navbar.html:87 +msgid "Login" msgstr "" #: templates/InvenTree/settings/navbar.html:77 #: templates/InvenTree/settings/navbar.html:79 -msgid "Reporting" +msgid "Barcodes" +msgstr "" + +#: templates/InvenTree/settings/navbar.html:83 +#: templates/InvenTree/settings/navbar.html:85 +msgid "Currencies" msgstr "" #: templates/InvenTree/settings/navbar.html:89 #: templates/InvenTree/settings/navbar.html:91 +msgid "Reporting" +msgstr "" + +#: templates/InvenTree/settings/navbar.html:101 +#: templates/InvenTree/settings/navbar.html:103 msgid "Categories" msgstr "" @@ -6469,21 +6333,21 @@ msgstr "" msgid "Edit setting" msgstr "" -#: templates/InvenTree/settings/settings.html:152 +#: templates/InvenTree/settings/settings.html:154 msgid "No category parameter templates found" msgstr "Kategori parametre şablonu bulunamadı" -#: templates/InvenTree/settings/settings.html:174 -#: templates/InvenTree/settings/settings.html:273 +#: templates/InvenTree/settings/settings.html:176 +#: templates/InvenTree/settings/settings.html:275 msgid "Edit Template" msgstr "Şablonu Düzenle" -#: templates/InvenTree/settings/settings.html:175 -#: templates/InvenTree/settings/settings.html:274 +#: templates/InvenTree/settings/settings.html:177 +#: templates/InvenTree/settings/settings.html:276 msgid "Delete Template" msgstr "Şablonu Sil" -#: templates/InvenTree/settings/settings.html:253 +#: templates/InvenTree/settings/settings.html:255 msgid "No part parameter templates found" msgstr "Parça parametre şablonu bulunamadı" @@ -6495,70 +6359,140 @@ msgstr "" msgid "Stock Settings" msgstr "" -#: templates/InvenTree/settings/user.html:9 +#: templates/InvenTree/settings/user.html:11 msgid "Account Settings" msgstr "" -#: templates/InvenTree/settings/user.html:15 +#: templates/InvenTree/settings/user.html:19 #: templates/js/translated/helpers.js:26 msgid "Edit" msgstr "" -#: templates/InvenTree/settings/user.html:17 +#: templates/InvenTree/settings/user.html:21 +#: templates/account/password_reset_from_key.html:4 +#: templates/account/password_reset_from_key.html:7 msgid "Change Password" msgstr "" -#: templates/InvenTree/settings/user.html:24 -#: templates/registration/login.html:58 +#: templates/InvenTree/settings/user.html:28 msgid "Username" msgstr "" -#: templates/InvenTree/settings/user.html:28 +#: templates/InvenTree/settings/user.html:32 msgid "First Name" msgstr "" -#: templates/InvenTree/settings/user.html:32 +#: templates/InvenTree/settings/user.html:36 msgid "Last Name" msgstr "" -#: templates/InvenTree/settings/user.html:36 -msgid "Email Address" -msgstr "E-Posta Adresi" - #: templates/InvenTree/settings/user.html:42 +msgid "E-Mail" +msgstr "" + +#: templates/InvenTree/settings/user.html:47 +msgid "The following e-mail addresses are associated with your account:" +msgstr "" + +#: templates/InvenTree/settings/user.html:61 +msgid "Verified" +msgstr "" + +#: templates/InvenTree/settings/user.html:63 +msgid "Unverified" +msgstr "" + +#: templates/InvenTree/settings/user.html:65 +msgid "Primary" +msgstr "" + +#: templates/InvenTree/settings/user.html:71 +msgid "Make Primary" +msgstr "" + +#: templates/InvenTree/settings/user.html:72 +msgid "Re-send Verification" +msgstr "" + +#: templates/InvenTree/settings/user.html:73 +#: templates/InvenTree/settings/user.html:130 +msgid "Remove" +msgstr "" + +#: templates/InvenTree/settings/user.html:80 +msgid "Warning:" +msgstr "" + +#: templates/InvenTree/settings/user.html:81 +msgid "You currently do not have any e-mail address set up. You should really add an e-mail address so you can receive notifications, reset your password, etc." +msgstr "" + +#: templates/InvenTree/settings/user.html:88 +msgid "Add E-mail Address" +msgstr "" + +#: templates/InvenTree/settings/user.html:93 +msgid "Add E-mail" +msgstr "" + +#: templates/InvenTree/settings/user.html:100 +msgid "Social Accounts" +msgstr "" + +#: templates/InvenTree/settings/user.html:105 +msgid "You can sign in to your account using any of the following third party accounts:" +msgstr "" + +#: templates/InvenTree/settings/user.html:138 +msgid "You currently have no social network accounts connected to this account." +msgstr "" + +#: templates/InvenTree/settings/user.html:142 +msgid "Add a 3rd Party Account" +msgstr "" + +#: templates/InvenTree/settings/user.html:153 msgid "Theme Settings" msgstr "Tema Ayarları" -#: templates/InvenTree/settings/user.html:63 +#: templates/InvenTree/settings/user.html:174 msgid "Set Theme" msgstr "Tema Seç" -#: templates/InvenTree/settings/user.html:70 +#: templates/InvenTree/settings/user.html:181 msgid "Language Settings" msgstr "Dil Ayarları" -#: templates/InvenTree/settings/user.html:89 +#: templates/InvenTree/settings/user.html:200 #, python-format msgid "%(lang_translated)s%% translated" msgstr "" -#: templates/InvenTree/settings/user.html:91 +#: templates/InvenTree/settings/user.html:202 msgid "No translations available" msgstr "" -#: templates/InvenTree/settings/user.html:98 +#: templates/InvenTree/settings/user.html:209 msgid "Set Language" msgstr "Dili Ayarla" -#: templates/InvenTree/settings/user.html:103 +#: templates/InvenTree/settings/user.html:214 msgid "Help the translation efforts!" msgstr "" -#: templates/InvenTree/settings/user.html:104 +#: templates/InvenTree/settings/user.html:215 #, python-format msgid "Native language translation of the InvenTree web application is community contributed via crowdin. Contributions are welcomed and encouraged." msgstr "" +#: templates/InvenTree/settings/user.html:223 +msgid "Do you really want to remove the selected e-mail address?" +msgstr "" + +#: templates/InvenTree/settings/user_forms.html:9 +msgid "Form Settings" +msgstr "" + #: templates/InvenTree/settings/user_homepage.html:9 msgid "Home Page Settings" msgstr "Ana Sayfa Ayarları" @@ -6641,11 +6575,108 @@ msgstr "sürüm bilgisini kopyala" #: templates/about.html:107 templates/js/translated/modals.js:50 #: templates/js/translated/modals.js:584 templates/js/translated/modals.js:678 -#: templates/js/translated/modals.js:971 templates/modals.html:29 +#: templates/js/translated/modals.js:982 templates/modals.html:29 #: templates/modals.html:54 msgid "Close" msgstr "Kapat" +#: templates/account/email_confirm.html:6 +#: templates/account/email_confirm.html:10 +msgid "Confirm E-mail Address" +msgstr "" + +#: templates/account/email_confirm.html:16 +#, python-format +msgid "Please confirm that %(email)s is an e-mail address for user %(user_display)s." +msgstr "" + +#: templates/account/email_confirm.html:27 +#, python-format +msgid "This e-mail confirmation link expired or is invalid. Please issue a new e-mail confirmation request." +msgstr "" + +#: templates/account/login.html:5 templates/account/login.html:14 +#: templates/account/login.html:36 +msgid "Sign In" +msgstr "" + +#: templates/account/login.html:19 +#, python-format +msgid "Please sign in with one\n" +"of your existing third party accounts or sign up\n" +"for a account and sign in below:" +msgstr "" + +#: templates/account/login.html:23 +#, python-format +msgid "If you have not created an account yet, then please\n" +"sign up first." +msgstr "" + +#: templates/account/login.html:38 +msgid "Forgot Password?" +msgstr "" + +#: templates/account/login.html:45 +msgid "or use SSO" +msgstr "" + +#: templates/account/logout.html:5 templates/account/logout.html:8 +#: templates/account/logout.html:17 +msgid "Sign Out" +msgstr "" + +#: templates/account/logout.html:10 +msgid "Are you sure you want to sign out?" +msgstr "" + +#: templates/account/password_reset.html:5 +#: templates/account/password_reset.html:12 +msgid "Password Reset" +msgstr "" + +#: templates/account/password_reset.html:18 +msgid "Forgotten your password? Enter your e-mail address below, and we'll send you an e-mail allowing you to reset it." +msgstr "" + +#: templates/account/password_reset.html:23 +msgid "Reset My Password" +msgstr "" + +#: templates/account/password_reset.html:27 templates/account/signup.html:36 +msgid "This function is currently disabled. Please contact an administrator." +msgstr "" + +#: templates/account/password_reset_from_key.html:7 +msgid "Bad Token" +msgstr "" + +#: templates/account/password_reset_from_key.html:11 +#, python-format +msgid "The password reset link was invalid, possibly because it has already been used. Please request a new password reset." +msgstr "" + +#: templates/account/password_reset_from_key.html:17 +msgid "change password" +msgstr "" + +#: templates/account/password_reset_from_key.html:20 +msgid "Your password is now changed." +msgstr "" + +#: templates/account/signup.html:11 templates/account/signup.html:22 +msgid "Sign Up" +msgstr "" + +#: templates/account/signup.html:13 +#, python-format +msgid "Already have an account? Then please sign in." +msgstr "" + +#: templates/account/signup.html:27 +msgid "Or use a SSO-provider for signup" +msgstr "" + #: templates/image_download.html:8 msgid "Specify URL for downloading image" msgstr "" @@ -6675,7 +6706,7 @@ msgid "Select Test Report Template" msgstr "Test Raporu Şablonu Seç" #: templates/js/report.js:98 templates/js/translated/label.js:29 -#: templates/js/translated/report.js:118 templates/js/translated/stock.js:313 +#: templates/js/translated/report.js:118 templates/js/translated/stock.js:297 msgid "Select Stock Items" msgstr "" @@ -6707,8 +6738,8 @@ msgstr "" msgid "No report templates found which match selected build(s)" msgstr "Seçili yapım işleri için rapor şablonu bulunamadı" -#: templates/js/report.js:205 templates/js/translated/label.js:134 -#: templates/js/translated/report.js:225 +#: templates/js/report.js:205 templates/js/translated/build.js:948 +#: templates/js/translated/label.js:134 templates/js/translated/report.js:225 msgid "Select Parts" msgstr "Parçaları Seçin" @@ -6741,11 +6772,11 @@ msgstr "" msgid "Sales Order(s) must be selected before printing report" msgstr "" -#: templates/js/translated/api.js:174 templates/js/translated/modals.js:1041 +#: templates/js/translated/api.js:174 templates/js/translated/modals.js:1052 msgid "No Response" msgstr "Cevap Yok" -#: templates/js/translated/api.js:175 templates/js/translated/modals.js:1042 +#: templates/js/translated/api.js:175 templates/js/translated/modals.js:1053 msgid "No response from the InvenTree server" msgstr "" @@ -6757,35 +6788,35 @@ msgstr "" msgid "API request returned error code 400" msgstr "" -#: templates/js/translated/api.js:186 templates/js/translated/modals.js:1051 +#: templates/js/translated/api.js:186 templates/js/translated/modals.js:1062 msgid "Error 401: Not Authenticated" msgstr "" -#: templates/js/translated/api.js:187 templates/js/translated/modals.js:1052 +#: templates/js/translated/api.js:187 templates/js/translated/modals.js:1063 msgid "Authentication credentials not supplied" msgstr "" -#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1056 +#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1067 msgid "Error 403: Permission Denied" msgstr "" -#: templates/js/translated/api.js:192 templates/js/translated/modals.js:1057 +#: templates/js/translated/api.js:192 templates/js/translated/modals.js:1068 msgid "You do not have the required permissions to access this function" msgstr "Bu fonksiyona erişmek için gerekli izinlere sahip değilsiniz" -#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1061 +#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1072 msgid "Error 404: Resource Not Found" msgstr "" -#: templates/js/translated/api.js:197 templates/js/translated/modals.js:1062 +#: templates/js/translated/api.js:197 templates/js/translated/modals.js:1073 msgid "The requested resource could not be located on the server" msgstr "" -#: templates/js/translated/api.js:201 templates/js/translated/modals.js:1066 +#: templates/js/translated/api.js:201 templates/js/translated/modals.js:1077 msgid "Error 408: Timeout" msgstr "" -#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1067 +#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1078 msgid "Connection timeout while requesting data from server" msgstr "" @@ -6842,7 +6873,7 @@ msgid "Unknown response from server" msgstr "" #: templates/js/translated/barcode.js:141 -#: templates/js/translated/modals.js:1031 +#: templates/js/translated/modals.js:1042 msgid "Invalid server response" msgstr "" @@ -6870,7 +6901,7 @@ msgstr "" msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:398 templates/js/translated/stock.js:289 +#: templates/js/translated/barcode.js:398 templates/js/translated/stock.js:273 msgid "Remove stock item" msgstr "" @@ -6912,115 +6943,181 @@ msgstr "Konuma Kaydet" msgid "Barcode does not match a valid location" msgstr "Barkod geçerli bir konumla eşleşmiyor" -#: templates/js/translated/bom.js:215 templates/js/translated/build.js:1169 +#: templates/js/translated/bom.js:234 templates/js/translated/build.js:1495 msgid "Open subassembly" msgstr "" -#: templates/js/translated/bom.js:287 +#: templates/js/translated/bom.js:288 templates/js/translated/build.js:744 +#: templates/js/translated/build.js:1345 templates/js/translated/build.js:1522 +msgid "Available" +msgstr "Mevcut" + +#: templates/js/translated/bom.js:307 msgid "Purchase Price Range" msgstr "" -#: templates/js/translated/bom.js:294 +#: templates/js/translated/bom.js:314 msgid "Purchase Price Average" msgstr "" -#: templates/js/translated/bom.js:342 templates/js/translated/bom.js:428 +#: templates/js/translated/bom.js:363 templates/js/translated/bom.js:449 msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:402 +#: templates/js/translated/bom.js:415 templates/js/translated/build.js:798 +#: templates/js/translated/build.js:1545 templates/js/translated/order.js:1285 +msgid "Actions" +msgstr "İşlemler" + +#: templates/js/translated/bom.js:423 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:404 +#: templates/js/translated/bom.js:425 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:406 templates/js/translated/bom.js:569 +#: templates/js/translated/bom.js:427 templates/js/translated/bom.js:590 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:408 templates/js/translated/bom.js:554 +#: templates/js/translated/bom.js:429 templates/js/translated/bom.js:575 msgid "Delete BOM Item" msgstr "" -#: templates/js/translated/bom.js:499 templates/js/translated/build.js:483 -#: templates/js/translated/build.js:1267 +#: templates/js/translated/bom.js:520 templates/js/translated/build.js:485 +#: templates/js/translated/build.js:1593 msgid "No BOM items found" msgstr "" -#: templates/js/translated/build.js:69 +#: templates/js/translated/build.js:71 msgid "Edit Build Order" msgstr "" -#: templates/js/translated/build.js:95 +#: templates/js/translated/build.js:105 msgid "Create Build Order" msgstr "" -#: templates/js/translated/build.js:127 -msgid "Auto-allocate stock items to this output" +#: templates/js/translated/build.js:138 +msgid "Allocate stock items to this build output" msgstr "" -#: templates/js/translated/build.js:135 +#: templates/js/translated/build.js:146 msgid "Unallocate stock from build output" msgstr "" -#: templates/js/translated/build.js:145 +#: templates/js/translated/build.js:155 msgid "Complete build output" msgstr "" -#: templates/js/translated/build.js:154 +#: templates/js/translated/build.js:164 msgid "Delete build output" msgstr "" -#: templates/js/translated/build.js:249 +#: templates/js/translated/build.js:265 msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:287 templates/js/translated/order.js:813 +#: templates/js/translated/build.js:303 templates/js/translated/order.js:1159 msgid "Location not specified" msgstr "" -#: templates/js/translated/build.js:391 templates/stock_table.html:20 -msgid "New Stock Item" +#: templates/js/translated/build.js:675 templates/js/translated/build.js:1356 +#: templates/js/translated/order.js:1292 +msgid "Edit stock allocation" +msgstr "Stok tahsisini düzenle" + +#: templates/js/translated/build.js:677 templates/js/translated/build.js:1357 +#: templates/js/translated/order.js:1293 +msgid "Delete stock allocation" +msgstr "Stok tahsisini sil" + +#: templates/js/translated/build.js:695 +msgid "Edit Allocation" msgstr "" -#: templates/js/translated/build.js:702 +#: templates/js/translated/build.js:705 +msgid "Remove Allocation" +msgstr "" + +#: templates/js/translated/build.js:718 msgid "Required Part" msgstr "Gerekli Parça" -#: templates/js/translated/build.js:723 +#: templates/js/translated/build.js:739 msgid "Quantity Per" msgstr "" -#: templates/js/translated/build.js:793 templates/js/translated/build.js:1231 +#: templates/js/translated/build.js:749 templates/js/translated/build.js:975 +#: templates/js/translated/build.js:1352 templates/js/translated/order.js:1514 +msgid "Allocated" +msgstr "" + +#: templates/js/translated/build.js:805 templates/js/translated/build.js:1553 +#: templates/js/translated/order.js:1567 +msgid "Build stock" +msgstr "" + +#: templates/js/translated/build.js:809 templates/js/translated/build.js:1557 #: templates/stock_table.html:59 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:846 +#: templates/js/translated/build.js:812 templates/js/translated/order.js:1560 +msgid "Allocate stock" +msgstr "" + +#: templates/js/translated/build.js:880 +msgid "Specify stock allocation quantity" +msgstr "" + +#: templates/js/translated/build.js:949 +msgid "You must select at least one part to allocate" +msgstr "" + +#: templates/js/translated/build.js:963 +msgid "Select source location (leave blank to take from all locations)" +msgstr "" + +#: templates/js/translated/build.js:992 +msgid "Confirm stock allocation" +msgstr "Stok tahsisini onayla" + +#: templates/js/translated/build.js:993 +msgid "Allocate Stock Items to Build Order" +msgstr "" + +#: templates/js/translated/build.js:1004 +msgid "No matching stock locations" +msgstr "" + +#: templates/js/translated/build.js:1048 +msgid "No matching stock items" +msgstr "" + +#: templates/js/translated/build.js:1172 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:863 templates/js/translated/part.js:845 -#: templates/js/translated/part.js:1123 templates/js/translated/stock.js:783 -#: templates/js/translated/stock.js:1477 +#: templates/js/translated/build.js:1189 templates/js/translated/part.js:856 +#: templates/js/translated/part.js:1134 templates/js/translated/stock.js:762 +#: templates/js/translated/stock.js:1456 msgid "Select" msgstr "" -#: templates/js/translated/build.js:883 +#: templates/js/translated/build.js:1209 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:944 templates/js/translated/stock.js:1696 +#: templates/js/translated/build.js:1270 templates/js/translated/stock.js:1675 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:956 +#: templates/js/translated/build.js:1282 msgid "No information" msgstr "" -#: templates/js/translated/build.js:1007 +#: templates/js/translated/build.js:1333 msgid "No parts allocated for" msgstr "" @@ -7040,7 +7137,7 @@ msgstr "" msgid "Delete Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:164 templates/js/translated/order.js:86 +#: templates/js/translated/company.js:164 templates/js/translated/order.js:89 msgid "Add Supplier" msgstr "" @@ -7084,53 +7181,53 @@ msgstr "" msgid "Delete Manufacturer Parts" msgstr "" -#: templates/js/translated/company.js:475 +#: templates/js/translated/company.js:476 msgid "No manufacturer parts found" msgstr "" -#: templates/js/translated/company.js:495 -#: templates/js/translated/company.js:751 templates/js/translated/part.js:416 -#: templates/js/translated/part.js:501 +#: templates/js/translated/company.js:496 +#: templates/js/translated/company.js:753 templates/js/translated/part.js:427 +#: templates/js/translated/part.js:512 msgid "Template part" msgstr "Şablon Parça" -#: templates/js/translated/company.js:499 -#: templates/js/translated/company.js:755 templates/js/translated/part.js:420 -#: templates/js/translated/part.js:505 +#: templates/js/translated/company.js:500 +#: templates/js/translated/company.js:757 templates/js/translated/part.js:431 +#: templates/js/translated/part.js:516 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:626 templates/js/translated/part.js:593 +#: templates/js/translated/company.js:627 templates/js/translated/part.js:604 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:663 templates/js/translated/part.js:635 +#: templates/js/translated/company.js:664 templates/js/translated/part.js:646 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:664 templates/js/translated/part.js:636 +#: templates/js/translated/company.js:665 templates/js/translated/part.js:647 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:683 templates/js/translated/part.js:653 +#: templates/js/translated/company.js:684 templates/js/translated/part.js:664 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:694 templates/js/translated/part.js:665 +#: templates/js/translated/company.js:695 templates/js/translated/part.js:676 msgid "Delete Parameter" msgstr "" -#: templates/js/translated/company.js:731 +#: templates/js/translated/company.js:733 msgid "No supplier parts found" msgstr "" #: templates/js/translated/filters.js:178 -#: templates/js/translated/filters.js:402 +#: templates/js/translated/filters.js:407 msgid "true" msgstr "doğru" #: templates/js/translated/filters.js:182 -#: templates/js/translated/filters.js:403 +#: templates/js/translated/filters.js:408 msgid "false" msgstr "yanlış" @@ -7138,19 +7235,19 @@ msgstr "yanlış" msgid "Select filter" msgstr "" -#: templates/js/translated/filters.js:279 +#: templates/js/translated/filters.js:284 msgid "Reload data" msgstr "" -#: templates/js/translated/filters.js:281 +#: templates/js/translated/filters.js:286 msgid "Add new filter" msgstr "" -#: templates/js/translated/filters.js:284 +#: templates/js/translated/filters.js:289 msgid "Clear all filters" msgstr "" -#: templates/js/translated/filters.js:312 +#: templates/js/translated/filters.js:317 msgid "Create filter" msgstr "" @@ -7175,16 +7272,20 @@ msgstr "" msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:889 templates/modals.html:21 +#: templates/js/translated/forms.js:968 templates/modals.html:21 #: templates/modals.html:47 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1379 +#: templates/js/translated/forms.js:1323 +msgid "No results found" +msgstr "" + +#: templates/js/translated/forms.js:1525 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:1593 +#: templates/js/translated/forms.js:1742 msgid "Clear input" msgstr "" @@ -7247,7 +7348,7 @@ msgid "Cancel" msgstr "" #: templates/js/translated/modals.js:77 templates/js/translated/modals.js:119 -#: templates/js/translated/modals.js:677 templates/js/translated/modals.js:970 +#: templates/js/translated/modals.js:677 templates/js/translated/modals.js:981 #: templates/modals.html:30 templates/modals.html:55 msgid "Submit" msgstr "" @@ -7272,31 +7373,31 @@ msgstr "" msgid "Loading Data" msgstr "" -#: templates/js/translated/modals.js:922 +#: templates/js/translated/modals.js:933 msgid "Invalid response from server" msgstr "" -#: templates/js/translated/modals.js:922 +#: templates/js/translated/modals.js:933 msgid "Form data missing from server response" msgstr "" -#: templates/js/translated/modals.js:934 +#: templates/js/translated/modals.js:945 msgid "Error posting form data" msgstr "" -#: templates/js/translated/modals.js:1031 +#: templates/js/translated/modals.js:1042 msgid "JSON response missing form data" msgstr "" -#: templates/js/translated/modals.js:1046 +#: templates/js/translated/modals.js:1057 msgid "Error 400: Bad Request" msgstr "" -#: templates/js/translated/modals.js:1047 +#: templates/js/translated/modals.js:1058 msgid "Server returned error code 400" msgstr "" -#: templates/js/translated/modals.js:1070 +#: templates/js/translated/modals.js:1081 msgid "Error requesting form data" msgstr "" @@ -7304,70 +7405,195 @@ msgstr "" msgid "Company ID" msgstr "" -#: templates/js/translated/model_renderers.js:82 +#: templates/js/translated/model_renderers.js:90 +msgid "Stock ID" +msgstr "" + +#: templates/js/translated/model_renderers.js:125 msgid "Location ID" msgstr "" -#: templates/js/translated/model_renderers.js:99 +#: templates/js/translated/model_renderers.js:142 msgid "Build ID" msgstr "" -#: templates/js/translated/model_renderers.js:119 +#: templates/js/translated/model_renderers.js:177 msgid "Part ID" msgstr "" -#: templates/js/translated/model_renderers.js:171 +#: templates/js/translated/model_renderers.js:231 +msgid "Order ID" +msgstr "" + +#: templates/js/translated/model_renderers.js:251 msgid "Category ID" msgstr "" -#: templates/js/translated/model_renderers.js:208 +#: templates/js/translated/model_renderers.js:288 msgid "Manufacturer Part ID" msgstr "" -#: templates/js/translated/model_renderers.js:237 +#: templates/js/translated/model_renderers.js:317 msgid "Supplier Part ID" msgstr "" -#: templates/js/translated/order.js:45 +#: templates/js/translated/order.js:48 msgid "Add Customer" msgstr "" -#: templates/js/translated/order.js:70 +#: templates/js/translated/order.js:73 msgid "Create Sales Order" msgstr "" -#: templates/js/translated/order.js:295 +#: templates/js/translated/order.js:207 +msgid "Export Order" +msgstr "" + +#: templates/js/translated/order.js:210 templates/js/translated/stock.js:96 +msgid "Format" +msgstr "" + +#: templates/js/translated/order.js:211 templates/js/translated/stock.js:97 +msgid "Select file format" +msgstr "" + +#: templates/js/translated/order.js:299 +msgid "Select Line Items" +msgstr "" + +#: templates/js/translated/order.js:300 +msgid "At least one line item must be selected" +msgstr "" + +#: templates/js/translated/order.js:325 +msgid "Quantity to receive" +msgstr "" + +#: templates/js/translated/order.js:359 templates/js/translated/stock.js:1343 +msgid "Stock Status" +msgstr "" + +#: templates/js/translated/order.js:426 +msgid "Order Code" +msgstr "" + +#: templates/js/translated/order.js:427 +msgid "Ordered" +msgstr "" + +#: templates/js/translated/order.js:429 +msgid "Receive" +msgstr "" + +#: templates/js/translated/order.js:448 +msgid "Confirm receipt of items" +msgstr "" + +#: templates/js/translated/order.js:449 +msgid "Receive Purchase Order Items" +msgstr "" + +#: templates/js/translated/order.js:626 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/order.js:320 templates/js/translated/order.js:682 +#: templates/js/translated/order.js:651 templates/js/translated/order.js:1028 msgid "Order is overdue" msgstr "" -#: templates/js/translated/order.js:452 +#: templates/js/translated/order.js:749 templates/js/translated/order.js:1602 +msgid "Edit Line Item" +msgstr "" + +#: templates/js/translated/order.js:761 templates/js/translated/order.js:1613 +msgid "Delete Line Item" +msgstr "" + +#: templates/js/translated/order.js:800 msgid "No line items found" msgstr "" -#: templates/js/translated/order.js:617 +#: templates/js/translated/order.js:827 templates/js/translated/order.js:1432 +msgid "Total" +msgstr "" + +#: templates/js/translated/order.js:880 templates/js/translated/order.js:1457 +#: templates/js/translated/part.js:1343 templates/js/translated/part.js:1554 +msgid "Unit Price" +msgstr "" + +#: templates/js/translated/order.js:889 templates/js/translated/order.js:1464 +msgid "Total price" +msgstr "Toplam fiyat" + +#: templates/js/translated/order.js:962 templates/js/translated/order.js:1573 +msgid "Edit line item" +msgstr "" + +#: templates/js/translated/order.js:963 msgid "Delete line item" msgstr "" -#: templates/js/translated/order.js:621 +#: templates/js/translated/order.js:967 msgid "Receive line item" msgstr "" -#: templates/js/translated/order.js:658 +#: templates/js/translated/order.js:1004 msgid "No sales orders found" msgstr "" -#: templates/js/translated/order.js:696 +#: templates/js/translated/order.js:1042 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/order.js:774 +#: templates/js/translated/order.js:1120 msgid "No sales order allocations found" msgstr "" +#: templates/js/translated/order.js:1213 +msgid "Edit Stock Allocation" +msgstr "" + +#: templates/js/translated/order.js:1231 +msgid "Delete Stock Allocation" +msgstr "" + +#: templates/js/translated/order.js:1273 +msgid "Stock location not specified" +msgstr "" + +#: templates/js/translated/order.js:1514 +msgid "Fulfilled" +msgstr "" + +#: templates/js/translated/order.js:1557 +msgid "Allocate serial numbers" +msgstr "Seri numaralarını tahsis et" + +#: templates/js/translated/order.js:1563 +msgid "Purchase stock" +msgstr "" + +#: templates/js/translated/order.js:1570 templates/js/translated/order.js:1725 +msgid "Calculate price" +msgstr "" + +#: templates/js/translated/order.js:1574 +msgid "Delete line item " +msgstr "" + +#: templates/js/translated/order.js:1673 +msgid "Allocate Stock Item" +msgstr "" + +#: templates/js/translated/order.js:1733 +msgid "Update Unit Price" +msgstr "" + +#: templates/js/translated/order.js:1747 +msgid "No matching line items" +msgstr "" + #: templates/js/translated/part.js:49 msgid "Part Attributes" msgstr "" @@ -7388,396 +7614,396 @@ msgstr "" msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:159 +#: templates/js/translated/part.js:164 msgid "Create Initial Stock" msgstr "" -#: templates/js/translated/part.js:160 +#: templates/js/translated/part.js:165 msgid "Create an initial stock item for this part" msgstr "" -#: templates/js/translated/part.js:167 +#: templates/js/translated/part.js:172 msgid "Initial Stock Quantity" msgstr "" -#: templates/js/translated/part.js:168 +#: templates/js/translated/part.js:173 msgid "Specify initial stock quantity for this part" msgstr "" -#: templates/js/translated/part.js:175 templates/js/translated/stock.js:330 +#: templates/js/translated/part.js:180 msgid "Select destination stock location" msgstr "" -#: templates/js/translated/part.js:186 +#: templates/js/translated/part.js:191 msgid "Copy Category Parameters" msgstr "" -#: templates/js/translated/part.js:187 +#: templates/js/translated/part.js:192 msgid "Copy parameter templates from selected part category" msgstr "" -#: templates/js/translated/part.js:195 +#: templates/js/translated/part.js:200 msgid "Add Supplier Data" msgstr "" -#: templates/js/translated/part.js:196 +#: templates/js/translated/part.js:201 msgid "Create initial supplier data for this part" msgstr "" -#: templates/js/translated/part.js:252 +#: templates/js/translated/part.js:257 msgid "Copy Image" msgstr "" -#: templates/js/translated/part.js:253 +#: templates/js/translated/part.js:258 msgid "Copy image from original part" msgstr "" -#: templates/js/translated/part.js:260 +#: templates/js/translated/part.js:265 msgid "Copy BOM" msgstr "" -#: templates/js/translated/part.js:261 +#: templates/js/translated/part.js:266 msgid "Copy bill of materials from original part" msgstr "" -#: templates/js/translated/part.js:268 +#: templates/js/translated/part.js:273 msgid "Copy Parameters" msgstr "" -#: templates/js/translated/part.js:269 +#: templates/js/translated/part.js:274 msgid "Copy parameter data from original part" msgstr "" -#: templates/js/translated/part.js:282 +#: templates/js/translated/part.js:287 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:323 +#: templates/js/translated/part.js:331 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:408 templates/js/translated/part.js:493 +#: templates/js/translated/part.js:419 templates/js/translated/part.js:504 msgid "Trackable part" msgstr "" -#: templates/js/translated/part.js:412 templates/js/translated/part.js:497 +#: templates/js/translated/part.js:423 templates/js/translated/part.js:508 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:424 +#: templates/js/translated/part.js:435 msgid "Starred part" msgstr "" -#: templates/js/translated/part.js:428 +#: templates/js/translated/part.js:439 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:543 +#: templates/js/translated/part.js:554 msgid "No variants found" msgstr "Çeşit bulunamadı" -#: templates/js/translated/part.js:732 templates/js/translated/part.js:994 +#: templates/js/translated/part.js:743 templates/js/translated/part.js:1005 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:921 +#: templates/js/translated/part.js:932 msgid "No category" msgstr "" -#: templates/js/translated/part.js:944 -#: templates/js/translated/table_filters.js:350 +#: templates/js/translated/part.js:955 +#: templates/js/translated/table_filters.js:359 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:1148 templates/js/translated/stock.js:1501 +#: templates/js/translated/part.js:1159 templates/js/translated/stock.js:1480 msgid "Path" msgstr "" -#: templates/js/translated/part.js:1191 +#: templates/js/translated/part.js:1202 msgid "No test templates matching query" msgstr "Sorgu ile eşleşen test şablonu bulunamadı" -#: templates/js/translated/part.js:1242 templates/js/translated/stock.js:514 +#: templates/js/translated/part.js:1253 templates/js/translated/stock.js:493 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:1243 templates/js/translated/stock.js:515 +#: templates/js/translated/part.js:1254 templates/js/translated/stock.js:494 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:1249 +#: templates/js/translated/part.js:1260 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:1274 +#: templates/js/translated/part.js:1282 +msgid "Edit Test Result Template" +msgstr "" + +#: templates/js/translated/part.js:1296 +msgid "Delete Test Result Template" +msgstr "" + +#: templates/js/translated/part.js:1321 #, python-brace-format msgid "No ${human_name} information found" msgstr "" -#: templates/js/translated/part.js:1329 +#: templates/js/translated/part.js:1376 #, python-brace-format msgid "Edit ${human_name}" msgstr "" -#: templates/js/translated/part.js:1330 +#: templates/js/translated/part.js:1377 #, python-brace-format msgid "Delete ${human_name}" msgstr "" -#: templates/js/translated/part.js:1431 +#: templates/js/translated/part.js:1478 msgid "Single Price" msgstr "" -#: templates/js/translated/part.js:1450 +#: templates/js/translated/part.js:1497 msgid "Single Price Difference" msgstr "" -#: templates/js/translated/stock.js:66 +#: templates/js/translated/stock.js:63 msgid "Parent stock location" msgstr "" -#: templates/js/translated/stock.js:96 +#: templates/js/translated/stock.js:93 msgid "Export Stock" msgstr "" -#: templates/js/translated/stock.js:99 -msgid "Format" -msgstr "" - -#: templates/js/translated/stock.js:100 -msgid "Select file format" -msgstr "" - -#: templates/js/translated/stock.js:124 +#: templates/js/translated/stock.js:104 msgid "Include Sublocations" msgstr "" -#: templates/js/translated/stock.js:125 +#: templates/js/translated/stock.js:105 msgid "Include stock items in sublocations" msgstr "" -#: templates/js/translated/stock.js:167 +#: templates/js/translated/stock.js:147 msgid "Transfer Stock" msgstr "" -#: templates/js/translated/stock.js:168 +#: templates/js/translated/stock.js:148 msgid "Move" msgstr "" -#: templates/js/translated/stock.js:174 +#: templates/js/translated/stock.js:154 msgid "Count Stock" msgstr "" -#: templates/js/translated/stock.js:175 +#: templates/js/translated/stock.js:155 msgid "Count" msgstr "" -#: templates/js/translated/stock.js:179 +#: templates/js/translated/stock.js:159 msgid "Remove Stock" msgstr "" -#: templates/js/translated/stock.js:180 +#: templates/js/translated/stock.js:160 msgid "Take" msgstr "" -#: templates/js/translated/stock.js:184 +#: templates/js/translated/stock.js:164 msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:185 users/models.py:190 +#: templates/js/translated/stock.js:165 users/models.py:195 msgid "Add" msgstr "" -#: templates/js/translated/stock.js:189 templates/stock_table.html:63 +#: templates/js/translated/stock.js:169 templates/stock_table.html:63 msgid "Delete Stock" msgstr "" -#: templates/js/translated/stock.js:278 +#: templates/js/translated/stock.js:258 msgid "Quantity cannot be adjusted for serialized stock" msgstr "" -#: templates/js/translated/stock.js:278 +#: templates/js/translated/stock.js:258 msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:314 +#: templates/js/translated/stock.js:298 msgid "You must select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:339 -msgid "Stock transaction notes" -msgstr "" - -#: templates/js/translated/stock.js:477 +#: templates/js/translated/stock.js:456 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:479 +#: templates/js/translated/stock.js:458 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:484 +#: templates/js/translated/stock.js:463 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:510 +#: templates/js/translated/stock.js:489 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:536 +#: templates/js/translated/stock.js:515 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:584 +#: templates/js/translated/stock.js:563 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:691 +#: templates/js/translated/stock.js:670 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:695 +#: templates/js/translated/stock.js:674 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:703 +#: templates/js/translated/stock.js:678 +msgid "Shipped to customer" +msgstr "" + +#: templates/js/translated/stock.js:682 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:865 +#: templates/js/translated/stock.js:688 +msgid "No stock location set" +msgstr "Stok konumu ayarlanmadı" + +#: templates/js/translated/stock.js:844 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:870 +#: templates/js/translated/stock.js:849 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:873 +#: templates/js/translated/stock.js:852 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:877 +#: templates/js/translated/stock.js:856 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:879 +#: templates/js/translated/stock.js:858 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:883 +#: templates/js/translated/stock.js:862 msgid "Stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:887 +#: templates/js/translated/stock.js:866 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:894 +#: templates/js/translated/stock.js:873 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:896 +#: templates/js/translated/stock.js:875 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:898 +#: templates/js/translated/stock.js:877 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:902 +#: templates/js/translated/stock.js:881 #: templates/js/translated/table_filters.js:161 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:956 +#: templates/js/translated/stock.js:935 msgid "Stocktake" msgstr "" -#: templates/js/translated/stock.js:1029 +#: templates/js/translated/stock.js:1008 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:1067 +#: templates/js/translated/stock.js:1046 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:1088 templates/js/translated/stock.js:1136 +#: templates/js/translated/stock.js:1067 templates/js/translated/stock.js:1115 msgid "items" msgstr "" -#: templates/js/translated/stock.js:1176 +#: templates/js/translated/stock.js:1155 msgid "batches" msgstr "" -#: templates/js/translated/stock.js:1203 +#: templates/js/translated/stock.js:1182 msgid "locations" msgstr "konumlar" -#: templates/js/translated/stock.js:1205 +#: templates/js/translated/stock.js:1184 msgid "Undefined location" msgstr "Tanımsız konum" -#: templates/js/translated/stock.js:1364 -msgid "Stock Status" -msgstr "" - -#: templates/js/translated/stock.js:1379 +#: templates/js/translated/stock.js:1358 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:1393 +#: templates/js/translated/stock.js:1372 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:1394 +#: templates/js/translated/stock.js:1373 msgid "Status code must be selected" msgstr "" -#: templates/js/translated/stock.js:1533 +#: templates/js/translated/stock.js:1512 msgid "Invalid date" msgstr "" -#: templates/js/translated/stock.js:1580 +#: templates/js/translated/stock.js:1559 msgid "Location no longer exists" msgstr "Konum artık yok" -#: templates/js/translated/stock.js:1599 +#: templates/js/translated/stock.js:1578 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:1618 +#: templates/js/translated/stock.js:1597 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:1636 +#: templates/js/translated/stock.js:1615 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:1659 +#: templates/js/translated/stock.js:1638 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:1667 +#: templates/js/translated/stock.js:1646 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:1708 +#: templates/js/translated/stock.js:1687 msgid "Edit tracking entry" msgstr "" -#: templates/js/translated/stock.js:1709 +#: templates/js/translated/stock.js:1688 msgid "Delete tracking entry" msgstr "" -#: templates/js/translated/stock.js:1833 +#: templates/js/translated/stock.js:1812 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:1856 +#: templates/js/translated/stock.js:1835 msgid "Serial" msgstr "Seri No" -#: templates/js/translated/stock.js:1884 +#: templates/js/translated/stock.js:1863 msgid "Uninstall Stock Item" msgstr "" @@ -7808,7 +8034,7 @@ msgstr "Konumları dahil et" #: templates/js/translated/table_filters.js:103 #: templates/js/translated/table_filters.js:104 -#: templates/js/translated/table_filters.js:327 +#: templates/js/translated/table_filters.js:336 msgid "Include subcategories" msgstr "" @@ -7850,7 +8076,7 @@ msgid "Batch code" msgstr "" #: templates/js/translated/table_filters.js:141 -#: templates/js/translated/table_filters.js:317 +#: templates/js/translated/table_filters.js:326 msgid "Active parts" msgstr "" @@ -7935,89 +8161,89 @@ msgstr "" msgid "Build status" msgstr "" -#: templates/js/translated/table_filters.js:282 -#: templates/js/translated/table_filters.js:299 +#: templates/js/translated/table_filters.js:291 +#: templates/js/translated/table_filters.js:308 msgid "Order status" msgstr "" -#: templates/js/translated/table_filters.js:287 -#: templates/js/translated/table_filters.js:304 +#: templates/js/translated/table_filters.js:296 +#: templates/js/translated/table_filters.js:313 msgid "Outstanding" msgstr "" -#: templates/js/translated/table_filters.js:328 +#: templates/js/translated/table_filters.js:337 msgid "Include parts in subcategories" msgstr "Alt kategorilerdeki parçaları dahil et" -#: templates/js/translated/table_filters.js:332 +#: templates/js/translated/table_filters.js:341 msgid "Has IPN" msgstr "DPN Var" -#: templates/js/translated/table_filters.js:333 +#: templates/js/translated/table_filters.js:342 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:338 +#: templates/js/translated/table_filters.js:347 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:346 +#: templates/js/translated/table_filters.js:355 msgid "Stock available" msgstr "" -#: templates/js/translated/table_filters.js:362 +#: templates/js/translated/table_filters.js:371 msgid "Starred" msgstr "" -#: templates/js/translated/table_filters.js:374 +#: templates/js/translated/table_filters.js:383 msgid "Purchasable" msgstr "" -#: templates/js/translated/tables.js:357 +#: templates/js/translated/tables.js:366 msgid "Loading data" msgstr "" -#: templates/js/translated/tables.js:360 +#: templates/js/translated/tables.js:369 msgid "rows per page" msgstr "" -#: templates/js/translated/tables.js:363 +#: templates/js/translated/tables.js:372 msgid "Showing" msgstr "" -#: templates/js/translated/tables.js:363 +#: templates/js/translated/tables.js:372 msgid "to" msgstr "" -#: templates/js/translated/tables.js:363 +#: templates/js/translated/tables.js:372 msgid "of" msgstr "" -#: templates/js/translated/tables.js:363 +#: templates/js/translated/tables.js:372 msgid "rows" msgstr "" -#: templates/js/translated/tables.js:369 +#: templates/js/translated/tables.js:378 msgid "No matching results" msgstr "" -#: templates/js/translated/tables.js:372 +#: templates/js/translated/tables.js:381 msgid "Hide/Show pagination" msgstr "" -#: templates/js/translated/tables.js:375 +#: templates/js/translated/tables.js:384 msgid "Refresh" msgstr "" -#: templates/js/translated/tables.js:378 +#: templates/js/translated/tables.js:387 msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:381 +#: templates/js/translated/tables.js:390 msgid "Columns" msgstr "" -#: templates/js/translated/tables.js:384 +#: templates/js/translated/tables.js:393 msgid "All" msgstr "" @@ -8033,19 +8259,15 @@ msgstr "" msgid "Sell" msgstr "" -#: templates/navbar.html:87 users/models.py:39 +#: templates/navbar.html:83 users/models.py:39 msgid "Admin" msgstr "" -#: templates/navbar.html:89 +#: templates/navbar.html:85 msgid "Logout" msgstr "" -#: templates/navbar.html:91 templates/registration/login.html:89 -msgid "Login" -msgstr "" - -#: templates/navbar.html:114 +#: templates/navbar.html:106 msgid "About InvenTree" msgstr "" @@ -8053,68 +8275,12 @@ msgstr "" msgid "QR data not provided" msgstr "" -#: templates/registration/logged_out.html:50 -msgid "You have been logged out" +#: templates/registration/logged_out.html:6 +msgid "You were logged out successfully." msgstr "" -#: templates/registration/logged_out.html:51 -#: templates/registration/password_reset_complete.html:51 -#: templates/registration/password_reset_done.html:58 -msgid "Return to login screen" -msgstr "" - -#: templates/registration/login.html:64 -msgid "Enter username" -msgstr "" - -#: templates/registration/login.html:70 -msgid "Password" -msgstr "" - -#: templates/registration/login.html:83 -msgid "Username / password combination is incorrect" -msgstr "" - -#: templates/registration/login.html:95 -#: templates/registration/password_reset_form.html:51 -msgid "Forgotten your password?" -msgstr "" - -#: templates/registration/login.html:95 -msgid "Click here to reset" -msgstr "" - -#: templates/registration/password_reset_complete.html:50 -msgid "Password reset complete" -msgstr "" - -#: templates/registration/password_reset_confirm.html:52 -#: templates/registration/password_reset_confirm.html:56 -msgid "Change password" -msgstr "" - -#: templates/registration/password_reset_confirm.html:60 -msgid "The password reset link was invalid, possibly because it has already been used. Please request a new password reset." -msgstr "" - -#: templates/registration/password_reset_done.html:51 -msgid "We've emailed you instructions for setting your password, if an account exists with the email you entered. You should receive them shortly." -msgstr "" - -#: templates/registration/password_reset_done.html:54 -msgid "If you don't receive an email, please make sure you've entered the address you registered with, and check your spam folder." -msgstr "" - -#: templates/registration/password_reset_form.html:52 -msgid "Enter your email address below." -msgstr "" - -#: templates/registration/password_reset_form.html:53 -msgid "An email will be sent with password reset instructions." -msgstr "" - -#: templates/registration/password_reset_form.html:58 -msgid "Send email" +#: templates/registration/logged_out.html:8 +msgid "Log in again" msgstr "" #: templates/stats.html:13 @@ -8169,6 +8335,10 @@ msgstr "" msgid "Export Stock Information" msgstr "" +#: templates/stock_table.html:20 +msgid "New Stock Item" +msgstr "" + #: templates/stock_table.html:27 msgid "Barcode Actions" msgstr "Barkod İşlemleri" @@ -8249,35 +8419,35 @@ msgstr "" msgid "Important dates" msgstr "" -#: users/models.py:177 +#: users/models.py:182 msgid "Permission set" msgstr "" -#: users/models.py:185 +#: users/models.py:190 msgid "Group" msgstr "" -#: users/models.py:188 +#: users/models.py:193 msgid "View" msgstr "" -#: users/models.py:188 +#: users/models.py:193 msgid "Permission to view items" msgstr "" -#: users/models.py:190 +#: users/models.py:195 msgid "Permission to add items" msgstr "" -#: users/models.py:192 +#: users/models.py:197 msgid "Change" msgstr "" -#: users/models.py:192 +#: users/models.py:197 msgid "Permissions to edit items" msgstr "" -#: users/models.py:194 +#: users/models.py:199 msgid "Permission to delete items" msgstr "" diff --git a/InvenTree/locale/vi/LC_MESSAGES/django.po b/InvenTree/locale/vi/LC_MESSAGES/django.po index 49924e132a..c8e6c91052 100644 --- a/InvenTree/locale/vi/LC_MESSAGES/django.po +++ b/InvenTree/locale/vi/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-09-12 13:15+0000\n" -"PO-Revision-Date: 2021-09-12 13:44\n" +"POT-Creation-Date: 2021-10-11 06:21+0000\n" +"PO-Revision-Date: 2021-10-11 06:28\n" "Last-Translator: \n" "Language-Team: Vietnamese\n" "Language: vi_VN\n" @@ -33,48 +33,61 @@ msgstr "" msgid "Enter date" msgstr "" -#: InvenTree/forms.py:111 build/forms.py:102 build/forms.py:123 -#: build/forms.py:145 build/forms.py:169 build/forms.py:185 build/forms.py:227 -#: order/forms.py:30 order/forms.py:41 order/forms.py:52 order/forms.py:63 -#: order/forms.py:74 part/forms.py:108 templates/js/translated/forms.js:564 +#: InvenTree/forms.py:116 build/forms.py:102 build/forms.py:123 +#: build/forms.py:145 build/forms.py:173 build/forms.py:215 order/forms.py:27 +#: order/forms.py:38 order/forms.py:49 order/forms.py:60 order/forms.py:71 +#: part/forms.py:108 templates/account/email_confirm.html:20 +#: templates/js/translated/forms.js:564 msgid "Confirm" msgstr "" -#: InvenTree/forms.py:127 +#: InvenTree/forms.py:132 msgid "Confirm delete" msgstr "" -#: InvenTree/forms.py:128 +#: InvenTree/forms.py:133 msgid "Confirm item deletion" msgstr "" -#: InvenTree/forms.py:160 templates/registration/login.html:76 +#: InvenTree/forms.py:164 msgid "Enter password" msgstr "" -#: InvenTree/forms.py:161 +#: InvenTree/forms.py:165 msgid "Enter new password" msgstr "" -#: InvenTree/forms.py:168 +#: InvenTree/forms.py:172 msgid "Confirm password" msgstr "" -#: InvenTree/forms.py:169 +#: InvenTree/forms.py:173 msgid "Confirm new password" msgstr "" -#: InvenTree/forms.py:201 +#: InvenTree/forms.py:205 msgid "Select Category" msgstr "" +#: InvenTree/forms.py:226 +msgid "E-mail (again)" +msgstr "" + +#: InvenTree/forms.py:230 +msgid "E-mail address confirmation" +msgstr "" + +#: InvenTree/forms.py:250 +msgid "You must type the same email each time." +msgstr "" + #: InvenTree/helpers.py:401 #, python-brace-format msgid "Duplicate serial: {n}" msgstr "" -#: InvenTree/helpers.py:408 order/models.py:315 order/models.py:430 -#: stock/views.py:1363 +#: InvenTree/helpers.py:408 order/models.py:315 order/models.py:437 +#: stock/views.py:1340 msgid "Invalid quantity provided" msgstr "" @@ -102,7 +115,7 @@ msgstr "" msgid "Number of unique serial number ({s}) must match quantity ({q})" msgstr "" -#: InvenTree/models.py:66 stock/models.py:1826 +#: InvenTree/models.py:66 stock/models.py:1823 msgid "Attachment" msgstr "" @@ -118,10 +131,10 @@ msgstr "" msgid "File comment" msgstr "" -#: InvenTree/models.py:75 InvenTree/models.py:76 common/models.py:993 -#: common/models.py:994 part/models.py:2051 +#: InvenTree/models.py:75 InvenTree/models.py:76 common/models.py:1055 +#: common/models.py:1056 part/models.py:2055 #: report/templates/report/inventree_test_report_base.html:91 -#: templates/js/translated/stock.js:1690 +#: templates/js/translated/stock.js:1669 msgid "User" msgstr "" @@ -158,37 +171,34 @@ msgstr "" msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:200 InvenTree/models.py:201 company/models.py:414 -#: label/models.py:112 part/models.py:658 part/models.py:2212 +#: InvenTree/models.py:200 InvenTree/models.py:201 company/models.py:415 +#: label/models.py:112 part/models.py:659 part/models.py:2216 #: part/templates/part/part_base.html:241 report/models.py:181 -#: templates/InvenTree/search.html:137 templates/InvenTree/search.html:289 -#: templates/js/translated/company.js:636 templates/js/translated/part.js:466 -#: templates/js/translated/part.js:603 templates/js/translated/part.js:1130 -#: templates/js/translated/stock.js:1483 +#: templates/js/translated/company.js:637 templates/js/translated/part.js:477 +#: templates/js/translated/part.js:614 templates/js/translated/part.js:1141 +#: templates/js/translated/stock.js:1462 msgid "Name" msgstr "" -#: InvenTree/models.py:207 build/models.py:187 -#: build/templates/build/detail.html:24 company/models.py:353 -#: company/models.py:569 company/templates/company/manufacturer_part.html:76 +#: InvenTree/models.py:207 build/models.py:189 +#: build/templates/build/detail.html:24 company/models.py:354 +#: company/models.py:570 company/templates/company/manufacturer_part.html:76 #: company/templates/company/supplier_part.html:75 label/models.py:119 -#: order/models.py:158 part/models.py:681 +#: order/models.py:158 part/models.py:682 #: part/templates/part/part_base.html:246 #: part/templates/part/set_category.html:14 report/models.py:194 #: report/models.py:551 report/models.py:590 #: report/templates/report/inventree_build_order_base.html:118 -#: templates/InvenTree/search.html:144 templates/InvenTree/search.html:224 -#: templates/InvenTree/search.html:296 #: templates/InvenTree/settings/header.html:9 -#: templates/js/translated/bom.js:230 templates/js/translated/build.js:891 -#: templates/js/translated/build.js:1179 templates/js/translated/company.js:344 -#: templates/js/translated/company.js:546 -#: templates/js/translated/company.js:834 templates/js/translated/order.js:341 -#: templates/js/translated/order.js:486 templates/js/translated/order.js:710 -#: templates/js/translated/part.js:525 templates/js/translated/part.js:713 -#: templates/js/translated/part.js:902 templates/js/translated/part.js:1142 -#: templates/js/translated/part.js:1210 templates/js/translated/stock.js:840 -#: templates/js/translated/stock.js:1495 templates/js/translated/stock.js:1540 +#: templates/js/translated/bom.js:249 templates/js/translated/build.js:1217 +#: templates/js/translated/build.js:1505 templates/js/translated/company.js:344 +#: templates/js/translated/company.js:547 +#: templates/js/translated/company.js:836 templates/js/translated/order.js:672 +#: templates/js/translated/order.js:832 templates/js/translated/order.js:1056 +#: templates/js/translated/part.js:536 templates/js/translated/part.js:724 +#: templates/js/translated/part.js:913 templates/js/translated/part.js:1153 +#: templates/js/translated/part.js:1221 templates/js/translated/stock.js:819 +#: templates/js/translated/stock.js:1474 templates/js/translated/stock.js:1519 msgid "Description" msgstr "" @@ -200,7 +210,7 @@ msgstr "" msgid "parent" msgstr "" -#: InvenTree/serializers.py:55 part/models.py:2454 +#: InvenTree/serializers.py:55 part/models.py:2475 msgid "Must be a valid number" msgstr "" @@ -208,75 +218,75 @@ msgstr "" msgid "Filename" msgstr "" -#: InvenTree/settings.py:523 +#: InvenTree/settings.py:529 msgid "German" msgstr "" -#: InvenTree/settings.py:524 +#: InvenTree/settings.py:530 msgid "Greek" msgstr "" -#: InvenTree/settings.py:525 +#: InvenTree/settings.py:531 msgid "English" msgstr "" -#: InvenTree/settings.py:526 +#: InvenTree/settings.py:532 msgid "Spanish" msgstr "" -#: InvenTree/settings.py:527 +#: InvenTree/settings.py:533 msgid "French" msgstr "" -#: InvenTree/settings.py:528 +#: InvenTree/settings.py:534 msgid "Hebrew" msgstr "" -#: InvenTree/settings.py:529 +#: InvenTree/settings.py:535 msgid "Italian" msgstr "" -#: InvenTree/settings.py:530 +#: InvenTree/settings.py:536 msgid "Japanese" msgstr "" -#: InvenTree/settings.py:531 +#: InvenTree/settings.py:537 msgid "Korean" msgstr "" -#: InvenTree/settings.py:532 +#: InvenTree/settings.py:538 msgid "Dutch" msgstr "" -#: InvenTree/settings.py:533 +#: InvenTree/settings.py:539 msgid "Norwegian" msgstr "" -#: InvenTree/settings.py:534 +#: InvenTree/settings.py:540 msgid "Polish" msgstr "" -#: InvenTree/settings.py:535 +#: InvenTree/settings.py:541 msgid "Russian" msgstr "" -#: InvenTree/settings.py:536 +#: InvenTree/settings.py:542 msgid "Swedish" msgstr "" -#: InvenTree/settings.py:537 +#: InvenTree/settings.py:543 msgid "Thai" msgstr "" -#: InvenTree/settings.py:538 +#: InvenTree/settings.py:544 msgid "Turkish" msgstr "" -#: InvenTree/settings.py:539 +#: InvenTree/settings.py:545 msgid "Vietnamese" msgstr "" -#: InvenTree/settings.py:540 +#: InvenTree/settings.py:546 msgid "Chinese" msgstr "" @@ -321,7 +331,7 @@ msgid "Returned" msgstr "" #: InvenTree/status_codes.py:146 -#: order/templates/order/sales_order_base.html:126 +#: order/templates/order/sales_order_base.html:131 msgid "Shipped" msgstr "" @@ -461,27 +471,27 @@ msgstr "" msgid "Overage must be an integer value or a percentage" msgstr "" -#: InvenTree/views.py:610 +#: InvenTree/views.py:616 msgid "Delete Item" msgstr "" -#: InvenTree/views.py:659 +#: InvenTree/views.py:665 msgid "Check box to confirm item deletion" msgstr "" -#: InvenTree/views.py:674 templates/InvenTree/settings/user.html:14 +#: InvenTree/views.py:680 templates/InvenTree/settings/user.html:18 msgid "Edit User Information" msgstr "" -#: InvenTree/views.py:685 templates/InvenTree/settings/user.html:18 +#: InvenTree/views.py:691 templates/InvenTree/settings/user.html:22 msgid "Set Password" msgstr "" -#: InvenTree/views.py:704 +#: InvenTree/views.py:710 msgid "Password fields must match" msgstr "" -#: InvenTree/views.py:910 templates/navbar.html:105 +#: InvenTree/views.py:954 templates/navbar.html:97 msgid "System Information" msgstr "" @@ -525,6 +535,10 @@ msgstr "" msgid "Barcode associated with StockItem" msgstr "" +#: build/api.py:213 +msgid "Matching build order does not exist" +msgstr "" + #: build/forms.py:37 msgid "Build Order reference" msgstr "" @@ -536,33 +550,28 @@ msgstr "" #: build/forms.py:42 build/templates/build/build_base.html:146 #: build/templates/build/detail.html:124 #: order/templates/order/order_base.html:124 -#: order/templates/order/sales_order_base.html:119 +#: order/templates/order/sales_order_base.html:124 #: report/templates/report/inventree_build_order_base.html:126 -#: templates/js/translated/build.js:962 templates/js/translated/order.js:358 -#: templates/js/translated/order.js:728 +#: templates/js/translated/build.js:1288 templates/js/translated/order.js:689 +#: templates/js/translated/order.js:1074 msgid "Target Date" msgstr "" -#: build/forms.py:43 build/models.py:277 +#: build/forms.py:43 build/models.py:279 msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/forms.py:48 build/forms.py:90 build/forms.py:266 build/models.py:1402 +#: build/forms.py:48 build/forms.py:90 build/models.py:1281 #: build/templates/build/allocation_card.html:23 -#: build/templates/build/auto_allocate.html:17 #: build/templates/build/build_base.html:133 -#: build/templates/build/detail.html:34 common/models.py:1025 +#: build/templates/build/detail.html:34 common/models.py:1087 #: company/forms.py:42 company/templates/company/supplier_part.html:226 -#: order/forms.py:120 order/forms.py:142 order/forms.py:159 order/models.py:712 -#: order/models.py:964 order/templates/order/order_wizard/match_parts.html:30 -#: order/templates/order/order_wizard/select_parts.html:34 -#: order/templates/order/sales_order_detail.html:201 -#: order/templates/order/sales_order_detail.html:208 -#: order/templates/order/sales_order_detail.html:293 -#: order/templates/order/sales_order_detail.html:365 part/forms.py:249 -#: part/forms.py:265 part/forms.py:281 part/models.py:2356 +#: order/forms.py:101 order/forms.py:123 order/models.py:720 +#: order/models.py:982 order/templates/order/order_wizard/match_parts.html:30 +#: order/templates/order/order_wizard/select_parts.html:34 part/forms.py:249 +#: part/forms.py:265 part/forms.py:281 part/models.py:2377 #: part/templates/part/bom_upload/match_parts.html:31 -#: part/templates/part/detail.html:973 part/templates/part/detail.html:1059 +#: part/templates/part/detail.html:944 part/templates/part/detail.html:1030 #: part/templates/part/part_pricing.html:16 #: report/templates/report/inventree_build_order_base.html:114 #: report/templates/report/inventree_po_report.html:91 @@ -570,14 +579,16 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:77 #: stock/forms.py:140 stock/templates/stock/item_base.html:269 #: stock/templates/stock/stock_adjust.html:18 -#: templates/js/translated/barcode.js:386 templates/js/translated/bom.js:245 -#: templates/js/translated/build.js:298 templates/js/translated/build.js:629 -#: templates/js/translated/build.js:1189 -#: templates/js/translated/model_renderers.js:59 -#: templates/js/translated/order.js:522 templates/js/translated/order.js:824 -#: templates/js/translated/part.js:1317 templates/js/translated/part.js:1440 -#: templates/js/translated/part.js:1518 templates/js/translated/stock.js:1675 -#: templates/js/translated/stock.js:1850 +#: templates/js/translated/barcode.js:386 templates/js/translated/bom.js:264 +#: templates/js/translated/build.js:314 templates/js/translated/build.js:638 +#: templates/js/translated/build.js:977 templates/js/translated/build.js:1515 +#: templates/js/translated/model_renderers.js:74 +#: templates/js/translated/order.js:868 templates/js/translated/order.js:1170 +#: templates/js/translated/order.js:1248 templates/js/translated/order.js:1255 +#: templates/js/translated/order.js:1344 templates/js/translated/order.js:1444 +#: templates/js/translated/part.js:1364 templates/js/translated/part.js:1487 +#: templates/js/translated/part.js:1565 templates/js/translated/stock.js:1654 +#: templates/js/translated/stock.js:1829 msgid "Quantity" msgstr "" @@ -589,7 +600,7 @@ msgstr "" msgid "Enter quantity for build output" msgstr "" -#: build/forms.py:95 order/forms.py:114 stock/forms.py:83 +#: build/forms.py:95 order/forms.py:95 stock/forms.py:83 msgid "Serial Numbers" msgstr "" @@ -609,246 +620,238 @@ msgstr "" msgid "Confirm unallocation of stock" msgstr "" -#: build/forms.py:169 -msgid "Confirm stock allocation" -msgstr "" - -#: build/forms.py:186 +#: build/forms.py:174 msgid "Mark build as complete" msgstr "" -#: build/forms.py:210 build/templates/build/auto_allocate.html:18 -#: order/serializers.py:216 order/serializers.py:275 stock/forms.py:280 +#: build/forms.py:198 order/serializers.py:217 order/serializers.py:284 +#: stock/forms.py:280 stock/serializers.py:553 #: stock/templates/stock/item_base.html:299 #: stock/templates/stock/stock_adjust.html:17 -#: templates/InvenTree/search.html:260 templates/js/translated/barcode.js:385 -#: templates/js/translated/barcode.js:555 templates/js/translated/build.js:283 -#: templates/js/translated/build.js:643 templates/js/translated/order.js:809 -#: templates/js/translated/part.js:174 templates/js/translated/stock.js:203 -#: templates/js/translated/stock.js:329 templates/js/translated/stock.js:942 -#: templates/js/translated/stock.js:1567 +#: templates/js/translated/barcode.js:385 +#: templates/js/translated/barcode.js:555 templates/js/translated/build.js:299 +#: templates/js/translated/build.js:650 templates/js/translated/order.js:347 +#: templates/js/translated/order.js:1155 templates/js/translated/order.js:1263 +#: templates/js/translated/order.js:1269 templates/js/translated/part.js:179 +#: templates/js/translated/stock.js:183 templates/js/translated/stock.js:921 +#: templates/js/translated/stock.js:1546 msgid "Location" msgstr "" -#: build/forms.py:211 +#: build/forms.py:199 msgid "Location of completed parts" msgstr "" -#: build/forms.py:215 build/templates/build/build_base.html:138 -#: build/templates/build/detail.html:62 order/models.py:555 -#: order/serializers.py:230 order/templates/order/receive_parts.html:24 -#: stock/templates/stock/item_base.html:422 templates/InvenTree/search.html:252 -#: templates/js/translated/barcode.js:141 templates/js/translated/build.js:925 -#: templates/js/translated/order.js:345 templates/js/translated/order.js:715 -#: templates/js/translated/stock.js:917 templates/js/translated/stock.js:1644 -#: templates/js/translated/stock.js:1866 +#: build/forms.py:203 build/templates/build/build_base.html:138 +#: build/templates/build/detail.html:62 order/models.py:563 +#: order/serializers.py:238 stock/templates/stock/item_base.html:422 +#: templates/js/translated/barcode.js:141 templates/js/translated/build.js:1251 +#: templates/js/translated/order.js:430 templates/js/translated/order.js:676 +#: templates/js/translated/order.js:1061 templates/js/translated/stock.js:896 +#: templates/js/translated/stock.js:1623 templates/js/translated/stock.js:1845 msgid "Status" msgstr "" -#: build/forms.py:216 +#: build/forms.py:204 msgid "Build output stock status" msgstr "" -#: build/forms.py:223 +#: build/forms.py:211 msgid "Confirm incomplete" msgstr "" -#: build/forms.py:224 +#: build/forms.py:212 msgid "Confirm completion with incomplete stock allocation" msgstr "" -#: build/forms.py:227 +#: build/forms.py:215 msgid "Confirm build completion" msgstr "" -#: build/forms.py:252 +#: build/forms.py:240 msgid "Confirm cancel" msgstr "" -#: build/forms.py:252 build/views.py:65 +#: build/forms.py:240 build/views.py:65 msgid "Confirm build cancellation" msgstr "" -#: build/forms.py:266 -msgid "Select quantity of stock to allocate" -msgstr "" - -#: build/models.py:113 +#: build/models.py:115 msgid "Invalid choice for parent build" msgstr "" -#: build/models.py:117 build/templates/build/build_base.html:9 +#: build/models.py:119 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:73 #: report/templates/report/inventree_build_order_base.html:106 -#: templates/js/translated/build.js:260 +#: templates/js/translated/build.js:276 msgid "Build Order" msgstr "" -#: build/models.py:118 build/templates/build/index.html:8 +#: build/models.py:120 build/templates/build/index.html:8 #: build/templates/build/index.html:15 #: order/templates/order/sales_order_detail.html:34 #: order/templates/order/so_navbar.html:19 #: order/templates/order/so_navbar.html:22 part/templates/part/navbar.html:50 #: part/templates/part/navbar.html:53 templates/InvenTree/index.html:229 -#: templates/InvenTree/search.html:185 -#: templates/InvenTree/settings/navbar.html:101 -#: templates/InvenTree/settings/navbar.html:103 users/models.py:44 +#: templates/InvenTree/search.html:171 +#: templates/InvenTree/settings/navbar.html:113 +#: templates/InvenTree/settings/navbar.html:115 users/models.py:44 msgid "Build Orders" msgstr "" -#: build/models.py:178 +#: build/models.py:180 msgid "Build Order Reference" msgstr "" -#: build/models.py:179 order/models.py:246 order/models.py:539 -#: order/models.py:719 order/templates/order/sales_order_detail.html:360 -#: part/models.py:2365 part/templates/part/bom_upload/match_parts.html:30 +#: build/models.py:181 order/models.py:246 order/models.py:547 +#: order/models.py:727 part/models.py:2386 +#: part/templates/part/bom_upload/match_parts.html:30 #: report/templates/report/inventree_po_report.html:92 #: report/templates/report/inventree_so_report.html:92 -#: templates/js/translated/bom.js:237 templates/js/translated/build.js:718 -#: templates/js/translated/build.js:1183 templates/js/translated/order.js:517 +#: templates/js/translated/bom.js:256 templates/js/translated/build.js:734 +#: templates/js/translated/build.js:1509 templates/js/translated/order.js:863 +#: templates/js/translated/order.js:1438 msgid "Reference" msgstr "" -#: build/models.py:190 +#: build/models.py:192 msgid "Brief description of the build" msgstr "" -#: build/models.py:199 build/templates/build/build_base.html:163 +#: build/models.py:201 build/templates/build/build_base.html:163 #: build/templates/build/detail.html:80 msgid "Parent Build" msgstr "" -#: build/models.py:200 +#: build/models.py:202 msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:205 build/templates/build/auto_allocate.html:16 -#: build/templates/build/build_base.html:128 -#: build/templates/build/detail.html:29 company/models.py:704 -#: order/models.py:772 order/models.py:837 -#: order/templates/order/order_wizard/select_parts.html:32 -#: order/templates/order/receive_parts.html:19 -#: order/templates/order/sales_order_detail.html:345 part/models.py:297 -#: part/models.py:1996 part/models.py:2012 part/models.py:2031 -#: part/models.py:2049 part/models.py:2128 part/models.py:2250 -#: part/models.py:2340 part/templates/part/detail.html:199 +#: build/models.py:207 build/templates/build/build_base.html:128 +#: build/templates/build/detail.html:29 company/models.py:705 +#: order/models.py:780 order/models.py:851 +#: order/templates/order/order_wizard/select_parts.html:32 part/models.py:298 +#: part/models.py:2000 part/models.py:2016 part/models.py:2035 +#: part/models.py:2053 part/models.py:2132 part/models.py:2254 +#: part/models.py:2361 part/templates/part/detail.html:199 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/set_category.html:13 #: report/templates/report/inventree_build_order_base.html:110 #: report/templates/report/inventree_po_report.html:90 #: report/templates/report/inventree_so_report.html:90 -#: templates/InvenTree/search.html:112 templates/InvenTree/search.html:210 -#: templates/js/translated/barcode.js:384 templates/js/translated/bom.js:203 -#: templates/js/translated/build.js:609 templates/js/translated/build.js:896 -#: templates/js/translated/build.js:1156 templates/js/translated/company.js:487 -#: templates/js/translated/company.js:743 templates/js/translated/order.js:471 -#: templates/js/translated/part.js:694 templates/js/translated/part.js:864 -#: templates/js/translated/stock.js:201 templates/js/translated/stock.js:797 -#: templates/js/translated/stock.js:1838 +#: templates/InvenTree/search.html:112 templates/js/translated/barcode.js:384 +#: templates/js/translated/bom.js:222 templates/js/translated/build.js:611 +#: templates/js/translated/build.js:974 templates/js/translated/build.js:1222 +#: templates/js/translated/build.js:1482 templates/js/translated/company.js:488 +#: templates/js/translated/company.js:745 templates/js/translated/order.js:425 +#: templates/js/translated/order.js:817 templates/js/translated/order.js:1422 +#: templates/js/translated/part.js:705 templates/js/translated/part.js:875 +#: templates/js/translated/stock.js:181 templates/js/translated/stock.js:776 +#: templates/js/translated/stock.js:1817 msgid "Part" msgstr "" -#: build/models.py:213 +#: build/models.py:215 msgid "Select part to build" msgstr "" -#: build/models.py:218 +#: build/models.py:220 msgid "Sales Order Reference" msgstr "" -#: build/models.py:222 +#: build/models.py:224 msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:227 +#: build/models.py:229 templates/js/translated/build.js:962 msgid "Source Location" msgstr "" -#: build/models.py:231 +#: build/models.py:233 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "" -#: build/models.py:236 +#: build/models.py:238 msgid "Destination Location" msgstr "" -#: build/models.py:240 +#: build/models.py:242 msgid "Select location where the completed items will be stored" msgstr "" -#: build/models.py:244 +#: build/models.py:246 msgid "Build Quantity" msgstr "" -#: build/models.py:247 +#: build/models.py:249 msgid "Number of stock items to build" msgstr "" -#: build/models.py:251 +#: build/models.py:253 msgid "Completed items" msgstr "" -#: build/models.py:253 +#: build/models.py:255 msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:257 part/templates/part/part_base.html:198 +#: build/models.py:259 part/templates/part/part_base.html:198 msgid "Build Status" msgstr "" -#: build/models.py:261 +#: build/models.py:263 msgid "Build status code" msgstr "" -#: build/models.py:265 stock/models.py:513 +#: build/models.py:267 stock/models.py:513 msgid "Batch Code" msgstr "" -#: build/models.py:269 +#: build/models.py:271 msgid "Batch code for this build output" msgstr "" -#: build/models.py:272 order/models.py:162 part/models.py:853 -#: part/templates/part/part_base.html:272 templates/js/translated/order.js:723 +#: build/models.py:274 order/models.py:162 part/models.py:854 +#: part/templates/part/part_base.html:272 templates/js/translated/order.js:1069 msgid "Creation Date" msgstr "" -#: build/models.py:276 order/models.py:561 +#: build/models.py:278 order/models.py:569 msgid "Target completion date" msgstr "" -#: build/models.py:280 order/models.py:288 templates/js/translated/build.js:967 +#: build/models.py:282 order/models.py:288 +#: templates/js/translated/build.js:1293 msgid "Completion Date" msgstr "" -#: build/models.py:286 +#: build/models.py:288 msgid "completed by" msgstr "" -#: build/models.py:294 templates/js/translated/build.js:938 +#: build/models.py:296 templates/js/translated/build.js:1264 msgid "Issued by" msgstr "" -#: build/models.py:295 +#: build/models.py:297 msgid "User who issued this build order" msgstr "" -#: build/models.py:303 build/templates/build/build_base.html:184 +#: build/models.py:305 build/templates/build/build_base.html:184 #: build/templates/build/detail.html:108 order/models.py:176 #: order/templates/order/order_base.html:138 -#: order/templates/order/sales_order_base.html:140 part/models.py:857 +#: order/templates/order/sales_order_base.html:145 part/models.py:858 #: report/templates/report/inventree_build_order_base.html:159 -#: templates/js/translated/build.js:950 +#: templates/js/translated/build.js:1276 msgid "Responsible" msgstr "" -#: build/models.py:304 +#: build/models.py:306 msgid "User responsible for this build order" msgstr "" -#: build/models.py:309 build/templates/build/detail.html:94 +#: build/models.py:311 build/templates/build/detail.html:94 #: company/templates/company/manufacturer_part.html:83 #: company/templates/company/supplier_part.html:82 #: part/templates/part/part_base.html:266 stock/models.py:507 @@ -856,140 +859,157 @@ msgstr "" msgid "External Link" msgstr "" -#: build/models.py:310 part/models.py:715 stock/models.py:509 +#: build/models.py:312 part/models.py:716 stock/models.py:509 msgid "Link to external URL" msgstr "" -#: build/models.py:314 build/templates/build/navbar.html:52 -#: company/models.py:141 company/models.py:576 +#: build/models.py:316 build/templates/build/navbar.html:52 +#: company/models.py:142 company/models.py:577 #: company/templates/company/navbar.html:69 #: company/templates/company/navbar.html:72 order/models.py:180 -#: order/models.py:721 order/templates/order/po_navbar.html:38 +#: order/models.py:729 order/templates/order/po_navbar.html:38 #: order/templates/order/po_navbar.html:41 -#: order/templates/order/sales_order_detail.html:440 #: order/templates/order/so_navbar.html:33 -#: order/templates/order/so_navbar.html:36 part/models.py:842 +#: order/templates/order/so_navbar.html:36 part/models.py:843 #: part/templates/part/detail.html:105 part/templates/part/navbar.html:120 #: part/templates/part/navbar.html:123 #: report/templates/report/inventree_build_order_base.html:173 #: stock/forms.py:138 stock/forms.py:250 stock/forms.py:282 stock/models.py:579 -#: stock/models.py:1726 stock/models.py:1832 +#: stock/models.py:1723 stock/models.py:1829 stock/serializers.py:451 #: stock/templates/stock/navbar.html:57 templates/js/translated/barcode.js:59 -#: templates/js/translated/bom.js:385 templates/js/translated/company.js:839 -#: templates/js/translated/order.js:604 templates/js/translated/stock.js:338 -#: templates/js/translated/stock.js:580 templates/js/translated/stock.js:1061 +#: templates/js/translated/bom.js:406 templates/js/translated/company.js:841 +#: templates/js/translated/order.js:950 templates/js/translated/order.js:1540 +#: templates/js/translated/stock.js:559 templates/js/translated/stock.js:1040 msgid "Notes" msgstr "" -#: build/models.py:315 +#: build/models.py:317 msgid "Extra build notes" msgstr "" -#: build/models.py:792 +#: build/models.py:714 msgid "No build output specified" msgstr "" -#: build/models.py:795 +#: build/models.py:717 msgid "Build output is already completed" msgstr "" -#: build/models.py:798 +#: build/models.py:720 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:1208 -msgid "BuildItem must be unique for build, stock_item and install_into" -msgstr "" - -#: build/models.py:1233 +#: build/models.py:1102 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1237 +#: build/models.py:1111 #, python-brace-format -msgid "Allocated quantity ({n}) must not exceed available quantity ({q})" +msgid "Allocated quantity ({q}) must not execed available stock quantity ({a})" msgstr "" -#: build/models.py:1244 order/models.py:938 -msgid "StockItem is over-allocated" +#: build/models.py:1121 +msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1248 order/models.py:941 +#: build/models.py:1127 order/models.py:955 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1252 +#: build/models.py:1133 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1312 -#, python-brace-format -msgid "Selected stock item not found in BOM for part '{p}'" +#: build/models.py:1191 +msgid "Selected stock item not found in BOM" msgstr "" -#: build/models.py:1372 stock/templates/stock/item_base.html:331 -#: templates/InvenTree/search.html:183 templates/js/translated/build.js:869 +#: build/models.py:1251 stock/templates/stock/item_base.html:331 +#: templates/InvenTree/search.html:169 templates/js/translated/build.js:1195 #: templates/navbar.html:35 msgid "Build" msgstr "" -#: build/models.py:1373 +#: build/models.py:1252 msgid "Build to allocate parts" msgstr "" -#: build/models.py:1389 stock/templates/stock/item_base.html:8 +#: build/models.py:1268 build/serializers.py:151 +#: stock/templates/stock/item_base.html:8 #: stock/templates/stock/item_base.html:31 #: stock/templates/stock/item_base.html:353 #: stock/templates/stock/stock_adjust.html:16 -#: templates/js/translated/build.js:271 templates/js/translated/build.js:276 -#: templates/js/translated/build.js:1012 templates/js/translated/order.js:797 -#: templates/js/translated/order.js:802 templates/js/translated/stock.js:1626 +#: templates/js/translated/build.js:287 templates/js/translated/build.js:292 +#: templates/js/translated/build.js:976 templates/js/translated/build.js:1338 +#: templates/js/translated/order.js:1143 templates/js/translated/order.js:1148 +#: templates/js/translated/stock.js:1605 msgid "Stock Item" msgstr "" -#: build/models.py:1390 +#: build/models.py:1269 msgid "Source stock item" msgstr "" -#: build/models.py:1403 +#: build/models.py:1282 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1411 +#: build/models.py:1290 msgid "Install into" msgstr "" -#: build/models.py:1412 +#: build/models.py:1291 msgid "Destination stock item" msgstr "" +#: build/serializers.py:133 part/models.py:2501 +msgid "BOM Item" +msgstr "" + +#: build/serializers.py:142 +msgid "bom_item.part must point to the same part as the build order" +msgstr "" + +#: build/serializers.py:157 +msgid "Item must be in stock" +msgstr "" + +#: build/serializers.py:171 order/models.py:313 order/serializers.py:231 +#: stock/models.py:351 stock/models.py:1072 +msgid "Quantity must be greater than zero" +msgstr "" + +#: build/serializers.py:180 +msgid "Build Output" +msgstr "" + +#: build/serializers.py:213 +#, python-brace-format +msgid "Available quantity ({q}) exceeded" +msgstr "" + +#: build/serializers.py:219 +msgid "Build output must be specified for allocation of tracked parts" +msgstr "" + +#: build/serializers.py:226 +msgid "Build output cannot be specified for allocation of untracked parts" +msgstr "" + +#: build/serializers.py:254 +msgid "Allocation items must be provided" +msgstr "" + #: build/templates/build/allocation_card.html:21 #: build/templates/build/complete_output.html:46 -#: order/templates/order/sales_order_detail.html:206 -#: order/templates/order/sales_order_detail.html:291 #: report/templates/report/inventree_test_report_base.html:75 #: stock/models.py:501 stock/templates/stock/item_base.html:251 -#: templates/js/translated/build.js:627 -#: templates/js/translated/model_renderers.js:57 +#: templates/js/translated/build.js:636 +#: templates/js/translated/model_renderers.js:72 +#: templates/js/translated/order.js:1253 templates/js/translated/order.js:1342 msgid "Serial Number" msgstr "" -#: build/templates/build/auto_allocate.html:9 -msgid "Automatically Allocate Stock" -msgstr "" - -#: build/templates/build/auto_allocate.html:10 -msgid "The following stock items will be allocated to the specified build output" -msgstr "" - -#: build/templates/build/auto_allocate.html:37 -msgid "No stock items found that can be automatically allocated to this build" -msgstr "" - -#: build/templates/build/auto_allocate.html:39 -msgid "Stock items will have to be manually allocated" -msgstr "" - #: build/templates/build/build_base.html:18 #, python-format msgid "This Build Order is allocated to Sales Order %(link)s" @@ -1033,10 +1053,10 @@ msgstr "" #: order/templates/order/order_base.html:32 #: order/templates/order/order_base.html:86 #: order/templates/order/sales_order_base.html:43 -#: order/templates/order/sales_order_base.html:88 +#: order/templates/order/sales_order_base.html:93 #: templates/js/translated/table_filters.js:272 -#: templates/js/translated/table_filters.js:291 -#: templates/js/translated/table_filters.js:308 +#: templates/js/translated/table_filters.js:300 +#: templates/js/translated/table_filters.js:317 msgid "Overdue" msgstr "" @@ -1086,14 +1106,14 @@ msgid "Progress" msgstr "" #: build/templates/build/build_base.html:170 -#: build/templates/build/detail.html:87 order/models.py:835 +#: build/templates/build/detail.html:87 order/models.py:848 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:35 #: order/templates/order/sales_order_ship.html:25 #: report/templates/report/inventree_build_order_base.html:136 #: report/templates/report/inventree_so_report.html:77 #: stock/templates/stock/item_base.html:293 -#: templates/js/translated/order.js:670 +#: templates/js/translated/order.js:1016 msgid "Sales Order" msgstr "" @@ -1171,28 +1191,6 @@ msgstr "" msgid "The following items will be created" msgstr "" -#: build/templates/build/create_build_item.html:7 -msgid "Select a stock item to allocate to the selected build output" -msgstr "" - -#: build/templates/build/create_build_item.html:11 -#, python-format -msgid "The allocated stock will be installed into the following build output:
%(output)s" -msgstr "" - -#: build/templates/build/create_build_item.html:17 -#, python-format -msgid "No stock available for %(part)s" -msgstr "" - -#: build/templates/build/delete_build_item.html:8 -msgid "Are you sure you want to unallocate this stock?" -msgstr "" - -#: build/templates/build/delete_build_item.html:11 -msgid "The selected stock will be unallocated from the build output" -msgstr "" - #: build/templates/build/detail.html:38 msgid "Stock Source" msgstr "" @@ -1201,9 +1199,8 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/forms.py:88 order/models.py:794 -#: order/templates/order/receive_parts.html:25 stock/forms.py:134 -#: templates/js/translated/order.js:593 +#: build/templates/build/detail.html:49 order/models.py:802 stock/forms.py:134 +#: templates/js/translated/order.js:431 templates/js/translated/order.js:939 msgid "Destination" msgstr "" @@ -1213,7 +1210,7 @@ msgstr "" #: build/templates/build/detail.html:73 #: stock/templates/stock/item_base.html:317 -#: templates/js/translated/stock.js:931 templates/js/translated/stock.js:1873 +#: templates/js/translated/stock.js:910 templates/js/translated/stock.js:1852 #: templates/js/translated/table_filters.js:129 #: templates/js/translated/table_filters.js:211 msgid "Batch" @@ -1221,8 +1218,8 @@ msgstr "" #: build/templates/build/detail.html:119 #: order/templates/order/order_base.html:111 -#: order/templates/order/sales_order_base.html:113 -#: templates/js/translated/build.js:933 +#: order/templates/order/sales_order_base.html:118 +#: templates/js/translated/build.js:1259 msgid "Created" msgstr "" @@ -1230,7 +1227,8 @@ msgstr "" msgid "No target date set" msgstr "" -#: build/templates/build/detail.html:135 templates/js/translated/build.js:911 +#: build/templates/build/detail.html:135 templates/js/translated/build.js:1237 +#: templates/js/translated/table_filters.js:282 msgid "Completed" msgstr "" @@ -1250,15 +1248,16 @@ msgstr "" msgid "Allocate stock to build" msgstr "" -#: build/templates/build/detail.html:173 -msgid "Auto Allocate" +#: build/templates/build/detail.html:173 build/templates/build/navbar.html:20 +#: build/templates/build/navbar.html:23 +msgid "Allocate Stock" msgstr "" -#: build/templates/build/detail.html:175 templates/js/translated/build.js:801 +#: build/templates/build/detail.html:175 templates/js/translated/build.js:817 msgid "Unallocate stock" msgstr "" -#: build/templates/build/detail.html:176 build/views.py:318 build/views.py:638 +#: build/templates/build/detail.html:176 build/views.py:257 msgid "Unallocate Stock" msgstr "" @@ -1268,7 +1267,7 @@ msgstr "" #: build/templates/build/detail.html:180 #: company/templates/company/detail.html:32 -#: company/templates/company/detail.html:72 order/views.py:679 +#: company/templates/company/detail.html:72 order/views.py:509 #: part/templates/part/category.html:140 msgid "Order Parts" msgstr "" @@ -1282,38 +1281,42 @@ msgid "Untracked stock has not been fully allocated for this Build Order" msgstr "" #: build/templates/build/detail.html:197 +msgid "Allocate selected items" +msgstr "" + +#: build/templates/build/detail.html:209 msgid "This Build Order does not have any associated untracked BOM items" msgstr "" -#: build/templates/build/detail.html:206 +#: build/templates/build/detail.html:218 msgid "Incomplete Build Outputs" msgstr "" -#: build/templates/build/detail.html:211 +#: build/templates/build/detail.html:223 msgid "Create new build output" msgstr "" -#: build/templates/build/detail.html:212 +#: build/templates/build/detail.html:224 msgid "Create New Output" msgstr "" -#: build/templates/build/detail.html:225 +#: build/templates/build/detail.html:237 msgid "Create a new build output" msgstr "" -#: build/templates/build/detail.html:226 +#: build/templates/build/detail.html:238 msgid "No incomplete build outputs remain." msgstr "" -#: build/templates/build/detail.html:227 +#: build/templates/build/detail.html:239 msgid "Create a new build output using the button above" msgstr "" -#: build/templates/build/detail.html:235 +#: build/templates/build/detail.html:247 msgid "Completed Build Outputs" msgstr "" -#: build/templates/build/detail.html:246 build/templates/build/navbar.html:42 +#: build/templates/build/detail.html:258 build/templates/build/navbar.html:42 #: build/templates/build/navbar.html:45 order/templates/order/po_navbar.html:35 #: order/templates/order/sales_order_detail.html:43 #: order/templates/order/so_navbar.html:29 part/templates/part/detail.html:173 @@ -1323,15 +1326,15 @@ msgstr "" msgid "Attachments" msgstr "" -#: build/templates/build/detail.html:257 +#: build/templates/build/detail.html:269 msgid "Build Notes" msgstr "" -#: build/templates/build/detail.html:261 build/templates/build/detail.html:398 +#: build/templates/build/detail.html:273 build/templates/build/detail.html:414 #: company/templates/company/detail.html:169 #: company/templates/company/detail.html:196 -#: order/templates/order/purchase_order_detail.html:62 -#: order/templates/order/purchase_order_detail.html:95 +#: order/templates/order/purchase_order_detail.html:71 +#: order/templates/order/purchase_order_detail.html:104 #: order/templates/order/sales_order_detail.html:58 #: order/templates/order/sales_order_detail.html:85 #: part/templates/part/detail.html:109 stock/templates/stock/item.html:103 @@ -1339,39 +1342,48 @@ msgstr "" msgid "Edit Notes" msgstr "" -#: build/templates/build/detail.html:357 +#: build/templates/build/detail.html:373 #: order/templates/order/po_attachments.html:79 -#: order/templates/order/purchase_order_detail.html:157 +#: order/templates/order/purchase_order_detail.html:166 #: order/templates/order/sales_order_detail.html:146 -#: part/templates/part/detail.html:920 stock/templates/stock/item.html:253 +#: part/templates/part/detail.html:891 stock/templates/stock/item.html:253 #: templates/attachment_table.html:6 msgid "Add Attachment" msgstr "" -#: build/templates/build/detail.html:376 +#: build/templates/build/detail.html:392 #: order/templates/order/po_attachments.html:51 -#: order/templates/order/purchase_order_detail.html:129 +#: order/templates/order/purchase_order_detail.html:138 #: order/templates/order/sales_order_detail.html:119 -#: part/templates/part/detail.html:874 stock/templates/stock/item.html:221 +#: part/templates/part/detail.html:845 stock/templates/stock/item.html:221 msgid "Edit Attachment" msgstr "" -#: build/templates/build/detail.html:383 +#: build/templates/build/detail.html:399 #: order/templates/order/po_attachments.html:58 -#: order/templates/order/purchase_order_detail.html:136 +#: order/templates/order/purchase_order_detail.html:145 #: order/templates/order/sales_order_detail.html:125 -#: part/templates/part/detail.html:883 stock/templates/stock/item.html:230 +#: part/templates/part/detail.html:854 stock/templates/stock/item.html:230 +#: templates/js/translated/order.js:1230 msgid "Confirm Delete Operation" msgstr "" -#: build/templates/build/detail.html:384 +#: build/templates/build/detail.html:400 #: order/templates/order/po_attachments.html:59 -#: order/templates/order/purchase_order_detail.html:137 +#: order/templates/order/purchase_order_detail.html:146 #: order/templates/order/sales_order_detail.html:126 -#: part/templates/part/detail.html:884 stock/templates/stock/item.html:231 +#: part/templates/part/detail.html:855 stock/templates/stock/item.html:231 msgid "Delete Attachment" msgstr "" +#: build/templates/build/detail.html:443 +msgid "Allocation Complete" +msgstr "" + +#: build/templates/build/detail.html:444 +msgid "All untracked stock items have been allocated" +msgstr "" + #: build/templates/build/edit_build_item.html:7 msgid "Alter the quantity of stock allocated to the build output" msgstr "" @@ -1401,15 +1413,10 @@ msgid "Build Order Details" msgstr "" #: build/templates/build/navbar.html:15 order/templates/order/po_navbar.html:15 -#: templates/js/translated/stock.js:1555 +#: templates/js/translated/stock.js:1534 msgid "Details" msgstr "" -#: build/templates/build/navbar.html:20 build/templates/build/navbar.html:23 -#: build/views.py:90 -msgid "Allocate Stock" -msgstr "" - #: build/templates/build/navbar.html:28 build/templates/build/navbar.html:31 msgid "Build Outputs" msgstr "" @@ -1434,120 +1441,82 @@ msgstr "" msgid "Build was cancelled" msgstr "" -#: build/views.py:137 -msgid "Allocated stock to build output" -msgstr "" - -#: build/views.py:149 +#: build/views.py:88 msgid "Create Build Output" msgstr "" -#: build/views.py:167 +#: build/views.py:106 msgid "Maximum output quantity is " msgstr "" -#: build/views.py:183 stock/views.py:1389 +#: build/views.py:122 stock/views.py:1366 msgid "Serial numbers already exist" msgstr "" -#: build/views.py:192 +#: build/views.py:131 msgid "Serial numbers required for trackable build output" msgstr "" -#: build/views.py:258 +#: build/views.py:197 msgid "Delete Build Output" msgstr "" -#: build/views.py:279 build/views.py:369 +#: build/views.py:218 build/views.py:308 msgid "Confirm unallocation of build stock" msgstr "" -#: build/views.py:280 build/views.py:370 stock/views.py:404 +#: build/views.py:219 build/views.py:309 stock/views.py:381 msgid "Check the confirmation box" msgstr "" -#: build/views.py:292 +#: build/views.py:231 msgid "Build output does not match build" msgstr "" -#: build/views.py:294 build/views.py:495 +#: build/views.py:233 build/views.py:434 msgid "Build output must be specified" msgstr "" -#: build/views.py:306 +#: build/views.py:245 msgid "Build output deleted" msgstr "" -#: build/views.py:404 +#: build/views.py:343 msgid "Complete Build Order" msgstr "" -#: build/views.py:410 +#: build/views.py:349 msgid "Build order cannot be completed - incomplete outputs remain" msgstr "" -#: build/views.py:421 +#: build/views.py:360 msgid "Completed build order" msgstr "" -#: build/views.py:437 +#: build/views.py:376 msgid "Complete Build Output" msgstr "" -#: build/views.py:479 +#: build/views.py:418 msgid "Invalid stock status value selected" msgstr "" -#: build/views.py:486 +#: build/views.py:425 msgid "Quantity to complete cannot exceed build output quantity" msgstr "" -#: build/views.py:492 +#: build/views.py:431 msgid "Confirm completion of incomplete build" msgstr "" -#: build/views.py:591 +#: build/views.py:530 msgid "Build output completed" msgstr "" -#: build/views.py:628 +#: build/views.py:567 msgid "Delete Build Order" msgstr "" -#: build/views.py:643 -msgid "Removed parts from build allocation" -msgstr "" - -#: build/views.py:655 -msgid "Allocate stock to build output" -msgstr "" - -#: build/views.py:698 -msgid "Item must be currently in stock" -msgstr "" - -#: build/views.py:704 -msgid "Stock item is over-allocated" -msgstr "" - -#: build/views.py:705 templates/js/translated/bom.js:269 -#: templates/js/translated/build.js:728 templates/js/translated/build.js:1019 -#: templates/js/translated/build.js:1196 -msgid "Available" -msgstr "" - -#: build/views.py:707 -msgid "Stock item must be selected" -msgstr "" - -#: build/views.py:870 -msgid "Edit Stock Allocation" -msgstr "" - -#: build/views.py:874 -msgid "Updated Build Item" -msgstr "" - #: common/files.py:67 msgid "Unsupported file format: {ext.upper()}" msgstr "" @@ -1585,7 +1554,7 @@ msgstr "" msgid "Select {name} file to upload" msgstr "" -#: common/models.py:308 common/models.py:839 common/models.py:986 +#: common/models.py:308 common/models.py:887 common/models.py:1048 msgid "Settings key (must be unique - case insensitive" msgstr "" @@ -1625,7 +1594,7 @@ msgstr "" msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:522 company/models.py:99 company/models.py:100 +#: common/models.py:522 company/models.py:100 company/models.py:101 msgid "Company name" msgstr "" @@ -1721,9 +1690,9 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:603 part/models.py:2252 report/models.py:187 +#: common/models.py:603 part/models.py:2256 report/models.py:187 #: stock/forms.py:224 templates/js/translated/table_filters.js:38 -#: templates/js/translated/table_filters.js:342 +#: templates/js/translated/table_filters.js:351 msgid "Template" msgstr "" @@ -1731,9 +1700,9 @@ msgstr "" msgid "Parts are templates by default" msgstr "" -#: common/models.py:610 part/models.py:805 +#: common/models.py:610 part/models.py:806 #: templates/js/translated/table_filters.js:146 -#: templates/js/translated/table_filters.js:354 +#: templates/js/translated/table_filters.js:363 msgid "Assembly" msgstr "" @@ -1741,8 +1710,8 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:617 part/models.py:811 -#: templates/js/translated/table_filters.js:358 +#: common/models.py:617 part/models.py:812 +#: templates/js/translated/table_filters.js:367 msgid "Component" msgstr "" @@ -1750,7 +1719,7 @@ msgstr "" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:624 part/models.py:822 +#: common/models.py:624 part/models.py:823 msgid "Purchaseable" msgstr "" @@ -1758,8 +1727,8 @@ msgstr "" msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:631 part/models.py:827 -#: templates/js/translated/table_filters.js:366 +#: common/models.py:631 part/models.py:828 +#: templates/js/translated/table_filters.js:375 msgid "Salable" msgstr "" @@ -1767,9 +1736,9 @@ msgstr "" msgid "Parts are salable by default" msgstr "" -#: common/models.py:638 part/models.py:817 +#: common/models.py:638 part/models.py:818 #: templates/js/translated/table_filters.js:46 -#: templates/js/translated/table_filters.js:370 +#: templates/js/translated/table_filters.js:379 msgid "Trackable" msgstr "" @@ -1777,7 +1746,7 @@ msgstr "" msgid "Parts are trackable by default" msgstr "" -#: common/models.py:645 part/models.py:837 +#: common/models.py:645 part/models.py:838 #: part/templates/part/part_base.html:66 #: templates/js/translated/table_filters.js:42 msgid "Virtual" @@ -1787,392 +1756,464 @@ msgstr "" msgid "Parts are virtual by default" msgstr "" -#: common/models.py:653 -msgid "Show Quantity in Forms" -msgstr "" - -#: common/models.py:654 -msgid "Display available part quantity in some forms" -msgstr "" - -#: common/models.py:660 +#: common/models.py:652 msgid "Show Import in Views" msgstr "" -#: common/models.py:661 +#: common/models.py:653 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:667 +#: common/models.py:659 msgid "Show Price in Forms" msgstr "" -#: common/models.py:668 +#: common/models.py:660 msgid "Display part price in some forms" msgstr "" -#: common/models.py:674 +#: common/models.py:671 +msgid "Show Price in BOM" +msgstr "" + +#: common/models.py:672 +msgid "Include pricing information in BOM tables" +msgstr "" + +#: common/models.py:678 msgid "Show related parts" msgstr "" -#: common/models.py:675 +#: common/models.py:679 msgid "Display related parts for a part" msgstr "" -#: common/models.py:681 +#: common/models.py:685 msgid "Create initial stock" msgstr "" -#: common/models.py:682 +#: common/models.py:686 msgid "Create initial stock on part creation" msgstr "" -#: common/models.py:688 +#: common/models.py:692 msgid "Internal Prices" msgstr "" -#: common/models.py:689 +#: common/models.py:693 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:695 +#: common/models.py:699 msgid "Internal Price as BOM-Price" msgstr "" -#: common/models.py:696 +#: common/models.py:700 msgid "Use the internal price (if set) in BOM-price calculations" msgstr "" -#: common/models.py:702 templates/stats.html:25 +#: common/models.py:706 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:703 +#: common/models.py:707 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:709 +#: common/models.py:713 msgid "Page Size" msgstr "" -#: common/models.py:710 +#: common/models.py:714 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:720 +#: common/models.py:724 msgid "Test Reports" msgstr "" -#: common/models.py:721 +#: common/models.py:725 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:727 +#: common/models.py:731 msgid "Stock Expiry" msgstr "" -#: common/models.py:728 +#: common/models.py:732 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:734 +#: common/models.py:738 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:735 +#: common/models.py:739 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:741 +#: common/models.py:745 msgid "Stock Stale Time" msgstr "" -#: common/models.py:742 +#: common/models.py:746 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:744 +#: common/models.py:748 msgid "days" msgstr "" -#: common/models.py:749 +#: common/models.py:753 msgid "Build Expired Stock" msgstr "" -#: common/models.py:750 +#: common/models.py:754 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:756 +#: common/models.py:760 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:757 +#: common/models.py:761 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:763 +#: common/models.py:767 msgid "Group by Part" msgstr "" -#: common/models.py:764 +#: common/models.py:768 msgid "Group stock items by part reference in table views" msgstr "" -#: common/models.py:770 +#: common/models.py:774 msgid "Build Order Reference Prefix" msgstr "" -#: common/models.py:771 +#: common/models.py:775 msgid "Prefix value for build order reference" msgstr "" -#: common/models.py:776 +#: common/models.py:780 msgid "Build Order Reference Regex" msgstr "" -#: common/models.py:777 +#: common/models.py:781 msgid "Regular expression pattern for matching build order reference" msgstr "" -#: common/models.py:781 +#: common/models.py:785 msgid "Sales Order Reference Prefix" msgstr "" -#: common/models.py:782 +#: common/models.py:786 msgid "Prefix value for sales order reference" msgstr "" -#: common/models.py:787 +#: common/models.py:791 msgid "Purchase Order Reference Prefix" msgstr "" -#: common/models.py:788 +#: common/models.py:792 msgid "Prefix value for purchase order reference" msgstr "" -#: common/models.py:794 +#: common/models.py:798 msgid "Enable build" msgstr "" -#: common/models.py:795 +#: common/models.py:799 msgid "Enable build functionality in InvenTree interface" msgstr "" -#: common/models.py:800 +#: common/models.py:804 msgid "Enable buy" msgstr "" -#: common/models.py:801 +#: common/models.py:805 msgid "Enable buy functionality in InvenTree interface" msgstr "" -#: common/models.py:806 +#: common/models.py:810 msgid "Enable sell" msgstr "" -#: common/models.py:807 +#: common/models.py:811 msgid "Enable sell functionality in InvenTree interface" msgstr "" -#: common/models.py:812 +#: common/models.py:816 msgid "Enable stock" msgstr "" -#: common/models.py:813 +#: common/models.py:817 msgid "Enable stock functionality in InvenTree interface" msgstr "" -#: common/models.py:818 +#: common/models.py:822 msgid "Enable SO" msgstr "" -#: common/models.py:819 +#: common/models.py:823 msgid "Enable SO functionality in InvenTree interface" msgstr "" -#: common/models.py:824 +#: common/models.py:828 msgid "Enable PO" msgstr "" -#: common/models.py:825 +#: common/models.py:829 msgid "Enable PO functionality in InvenTree interface" msgstr "" -#: common/models.py:850 +#: common/models.py:836 +msgid "Enable password forgot" +msgstr "" + +#: common/models.py:837 +msgid "Enable password forgot function on the login-pages" +msgstr "" + +#: common/models.py:842 +msgid "Enable registration" +msgstr "" + +#: common/models.py:843 +msgid "Enable self-registration for users on the login-pages" +msgstr "" + +#: common/models.py:848 +msgid "Enable SSO" +msgstr "" + +#: common/models.py:849 +msgid "Enable SSO on the login-pages" +msgstr "" + +#: common/models.py:854 +msgid "E-Mail required" +msgstr "" + +#: common/models.py:855 +msgid "Require user to supply mail on signup" +msgstr "" + +#: common/models.py:860 +msgid "Auto-fill SSO users" +msgstr "" + +#: common/models.py:861 +msgid "Automatically fill out user-details from SSO account-data" +msgstr "" + +#: common/models.py:866 +msgid "Mail twice" +msgstr "" + +#: common/models.py:867 +msgid "On signup ask users twice for their mail" +msgstr "" + +#: common/models.py:872 +msgid "Password twice" +msgstr "" + +#: common/models.py:873 +msgid "On signup ask users twice for their password" +msgstr "" + +#: common/models.py:898 msgid "Show starred parts" msgstr "" -#: common/models.py:851 +#: common/models.py:899 msgid "Show starred parts on the homepage" msgstr "" -#: common/models.py:856 +#: common/models.py:904 msgid "Show latest parts" msgstr "" -#: common/models.py:857 +#: common/models.py:905 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:862 +#: common/models.py:910 msgid "Recent Part Count" msgstr "" -#: common/models.py:863 +#: common/models.py:911 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:869 +#: common/models.py:917 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:870 +#: common/models.py:918 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:875 +#: common/models.py:923 msgid "Show recent stock changes" msgstr "" -#: common/models.py:876 +#: common/models.py:924 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:881 +#: common/models.py:929 msgid "Recent Stock Count" msgstr "" -#: common/models.py:882 +#: common/models.py:930 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:887 +#: common/models.py:935 msgid "Show low stock" msgstr "" -#: common/models.py:888 +#: common/models.py:936 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:893 +#: common/models.py:941 msgid "Show depleted stock" msgstr "" -#: common/models.py:894 +#: common/models.py:942 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:899 +#: common/models.py:947 msgid "Show needed stock" msgstr "" -#: common/models.py:900 +#: common/models.py:948 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:905 +#: common/models.py:953 msgid "Show expired stock" msgstr "" -#: common/models.py:906 +#: common/models.py:954 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:911 +#: common/models.py:959 msgid "Show stale stock" msgstr "" -#: common/models.py:912 +#: common/models.py:960 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:917 +#: common/models.py:965 msgid "Show pending builds" msgstr "" -#: common/models.py:918 +#: common/models.py:966 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:923 +#: common/models.py:971 msgid "Show overdue builds" msgstr "" -#: common/models.py:924 +#: common/models.py:972 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:929 +#: common/models.py:977 msgid "Show outstanding POs" msgstr "" -#: common/models.py:930 +#: common/models.py:978 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:935 +#: common/models.py:983 msgid "Show overdue POs" msgstr "" -#: common/models.py:936 +#: common/models.py:984 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:941 +#: common/models.py:989 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:942 +#: common/models.py:990 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:947 +#: common/models.py:995 msgid "Show overdue SOs" msgstr "" -#: common/models.py:948 +#: common/models.py:996 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:954 +#: common/models.py:1002 msgid "Inline label display" msgstr "" -#: common/models.py:955 +#: common/models.py:1003 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:961 +#: common/models.py:1009 msgid "Inline report display" msgstr "" -#: common/models.py:962 +#: common/models.py:1010 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:968 +#: common/models.py:1016 msgid "Search Preview Results" msgstr "" -#: common/models.py:969 +#: common/models.py:1017 msgid "Number of results to show in search preview window" msgstr "" -#: common/models.py:1026 company/forms.py:43 +#: common/models.py:1023 +msgid "Show Quantity in Forms" +msgstr "" + +#: common/models.py:1024 +msgid "Display available part quantity in some forms" +msgstr "" + +#: common/models.py:1030 +msgid "Escape Key Closes Forms" +msgstr "" + +#: common/models.py:1031 +msgid "Use the escape key to close modal forms" +msgstr "" + +#: common/models.py:1088 company/forms.py:43 msgid "Price break quantity" msgstr "" -#: common/models.py:1033 company/templates/company/supplier_part.html:231 -#: templates/js/translated/part.js:1322 +#: common/models.py:1095 company/templates/company/supplier_part.html:231 +#: templates/js/translated/part.js:1369 msgid "Price" msgstr "" -#: common/models.py:1034 +#: common/models.py:1096 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1127 +#: common/models.py:1189 msgid "Default" msgstr "" @@ -2199,7 +2240,7 @@ msgstr "" #: common/views.py:213 order/templates/order/order_wizard/po_upload.html:42 #: order/templates/order/po_navbar.html:19 #: order/templates/order/po_navbar.html:22 -#: order/templates/order/purchase_order_detail.html:26 order/views.py:290 +#: order/templates/order/purchase_order_detail.html:27 order/views.py:289 #: part/templates/part/bom_upload/upload_file.html:65 #: part/templates/part/import_wizard/part_upload.html:45 part/views.py:268 #: part/views.py:882 @@ -2207,7 +2248,7 @@ msgid "Upload File" msgstr "" #: common/views.py:214 order/templates/order/order_wizard/match_fields.html:52 -#: order/views.py:291 part/templates/part/bom_upload/match_fields.html:52 +#: order/views.py:290 part/templates/part/bom_upload/match_fields.html:52 #: part/templates/part/import_wizard/ajax_match_fields.html:45 #: part/templates/part/import_wizard/match_fields.html:52 part/views.py:269 #: part/views.py:883 @@ -2246,249 +2287,249 @@ msgstr "" msgid "Image URL" msgstr "" -#: company/models.py:104 +#: company/models.py:105 msgid "Company description" msgstr "" -#: company/models.py:105 +#: company/models.py:106 msgid "Description of the company" msgstr "" -#: company/models.py:111 company/templates/company/company_base.html:70 +#: company/models.py:112 company/templates/company/company_base.html:70 #: templates/js/translated/company.js:348 msgid "Website" msgstr "" -#: company/models.py:112 +#: company/models.py:113 msgid "Company website URL" msgstr "" -#: company/models.py:116 company/templates/company/company_base.html:88 +#: company/models.py:117 company/templates/company/company_base.html:88 msgid "Address" msgstr "" -#: company/models.py:117 +#: company/models.py:118 msgid "Company address" msgstr "" -#: company/models.py:120 +#: company/models.py:121 msgid "Phone number" msgstr "" -#: company/models.py:121 +#: company/models.py:122 msgid "Contact phone number" msgstr "" -#: company/models.py:124 company/templates/company/company_base.html:102 +#: company/models.py:125 company/templates/company/company_base.html:102 msgid "Email" msgstr "" -#: company/models.py:124 +#: company/models.py:125 msgid "Contact email address" msgstr "" -#: company/models.py:127 company/templates/company/company_base.html:109 +#: company/models.py:128 company/templates/company/company_base.html:109 msgid "Contact" msgstr "" -#: company/models.py:128 +#: company/models.py:129 msgid "Point of contact" msgstr "" -#: company/models.py:130 company/models.py:347 company/models.py:563 -#: order/models.py:160 part/models.py:714 +#: company/models.py:131 company/models.py:348 company/models.py:564 +#: order/models.py:160 part/models.py:715 #: report/templates/report/inventree_build_order_base.html:165 -#: templates/js/translated/company.js:535 -#: templates/js/translated/company.js:823 templates/js/translated/part.js:972 +#: templates/js/translated/company.js:536 +#: templates/js/translated/company.js:825 templates/js/translated/part.js:983 msgid "Link" msgstr "" -#: company/models.py:130 +#: company/models.py:131 msgid "Link to external company information" msgstr "" -#: company/models.py:138 part/models.py:724 +#: company/models.py:139 part/models.py:725 msgid "Image" msgstr "" -#: company/models.py:143 +#: company/models.py:144 msgid "is customer" msgstr "" -#: company/models.py:143 +#: company/models.py:144 msgid "Do you sell items to this company?" msgstr "" -#: company/models.py:145 +#: company/models.py:146 msgid "is supplier" msgstr "" -#: company/models.py:145 +#: company/models.py:146 msgid "Do you purchase items from this company?" msgstr "" -#: company/models.py:147 +#: company/models.py:148 msgid "is manufacturer" msgstr "" -#: company/models.py:147 +#: company/models.py:148 msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:151 company/serializers.py:264 -#: company/templates/company/company_base.html:76 stock/serializers.py:155 +#: company/models.py:152 company/serializers.py:264 +#: company/templates/company/company_base.html:76 stock/serializers.py:158 msgid "Currency" msgstr "" -#: company/models.py:154 +#: company/models.py:155 msgid "Default currency used for this company" msgstr "" -#: company/models.py:319 company/models.py:534 stock/models.py:454 +#: company/models.py:320 company/models.py:535 stock/models.py:454 #: stock/templates/stock/item_base.html:237 msgid "Base Part" msgstr "" -#: company/models.py:323 company/models.py:538 order/views.py:1082 +#: company/models.py:324 company/models.py:539 order/views.py:912 msgid "Select part" msgstr "" -#: company/models.py:334 company/templates/company/company_base.html:116 +#: company/models.py:335 company/templates/company/company_base.html:116 #: company/templates/company/manufacturer_part.html:89 #: company/templates/company/supplier_part.html:98 part/bom.py:170 -#: part/bom.py:241 stock/templates/stock/item_base.html:366 +#: part/bom.py:247 stock/templates/stock/item_base.html:366 #: templates/js/translated/company.js:332 -#: templates/js/translated/company.js:512 -#: templates/js/translated/company.js:794 templates/js/translated/part.js:222 +#: templates/js/translated/company.js:513 +#: templates/js/translated/company.js:796 templates/js/translated/part.js:227 msgid "Manufacturer" msgstr "" -#: company/models.py:335 templates/js/translated/part.js:223 +#: company/models.py:336 templates/js/translated/part.js:228 msgid "Select manufacturer" msgstr "" -#: company/models.py:341 company/templates/company/manufacturer_part.html:93 +#: company/models.py:342 company/templates/company/manufacturer_part.html:93 #: company/templates/company/supplier_part.html:106 part/bom.py:171 -#: part/bom.py:242 templates/js/translated/company.js:528 -#: templates/js/translated/company.js:812 templates/js/translated/order.js:505 -#: templates/js/translated/part.js:233 +#: part/bom.py:248 templates/js/translated/company.js:529 +#: templates/js/translated/company.js:814 templates/js/translated/order.js:851 +#: templates/js/translated/part.js:238 msgid "MPN" msgstr "" -#: company/models.py:342 templates/js/translated/part.js:234 +#: company/models.py:343 templates/js/translated/part.js:239 msgid "Manufacturer Part Number" msgstr "" -#: company/models.py:348 +#: company/models.py:349 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:354 +#: company/models.py:355 msgid "Manufacturer part description" msgstr "" -#: company/models.py:408 company/models.py:557 +#: company/models.py:409 company/models.py:558 #: company/templates/company/manufacturer_part.html:6 #: company/templates/company/manufacturer_part.html:23 #: stock/templates/stock/item_base.html:376 msgid "Manufacturer Part" msgstr "" -#: company/models.py:415 +#: company/models.py:416 msgid "Parameter name" msgstr "" -#: company/models.py:421 +#: company/models.py:422 #: report/templates/report/inventree_test_report_base.html:90 -#: stock/models.py:1819 templates/InvenTree/settings/header.html:8 -#: templates/js/translated/company.js:642 templates/js/translated/part.js:612 -#: templates/js/translated/stock.js:576 +#: stock/models.py:1816 templates/InvenTree/settings/header.html:8 +#: templates/js/translated/company.js:643 templates/js/translated/part.js:623 +#: templates/js/translated/stock.js:555 msgid "Value" msgstr "" -#: company/models.py:422 +#: company/models.py:423 msgid "Parameter value" msgstr "" -#: company/models.py:428 part/models.py:799 part/models.py:2220 -#: templates/js/translated/company.js:648 templates/js/translated/part.js:618 +#: company/models.py:429 part/models.py:800 part/models.py:2224 +#: templates/js/translated/company.js:649 templates/js/translated/part.js:629 msgid "Units" msgstr "" -#: company/models.py:429 +#: company/models.py:430 msgid "Parameter units" msgstr "" -#: company/models.py:501 +#: company/models.py:502 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:544 company/templates/company/company_base.html:121 +#: company/models.py:545 company/templates/company/company_base.html:121 #: company/templates/company/supplier_part.html:88 order/models.py:260 #: order/templates/order/order_base.html:92 #: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:175 -#: part/bom.py:286 stock/templates/stock/item_base.html:383 +#: part/bom.py:292 stock/templates/stock/item_base.html:383 #: templates/js/translated/company.js:336 -#: templates/js/translated/company.js:768 templates/js/translated/order.js:328 -#: templates/js/translated/part.js:203 +#: templates/js/translated/company.js:770 templates/js/translated/order.js:659 +#: templates/js/translated/part.js:208 msgid "Supplier" msgstr "" -#: company/models.py:545 templates/js/translated/part.js:204 +#: company/models.py:546 templates/js/translated/part.js:209 msgid "Select supplier" msgstr "" -#: company/models.py:550 company/templates/company/supplier_part.html:92 -#: part/bom.py:176 part/bom.py:287 templates/js/translated/order.js:492 -#: templates/js/translated/part.js:214 +#: company/models.py:551 company/templates/company/supplier_part.html:92 +#: part/bom.py:176 part/bom.py:293 templates/js/translated/order.js:838 +#: templates/js/translated/part.js:219 msgid "SKU" msgstr "" -#: company/models.py:551 templates/js/translated/part.js:215 +#: company/models.py:552 templates/js/translated/part.js:220 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:558 +#: company/models.py:559 msgid "Select manufacturer part" msgstr "" -#: company/models.py:564 +#: company/models.py:565 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:570 +#: company/models.py:571 msgid "Supplier part description" msgstr "" -#: company/models.py:575 company/templates/company/supplier_part.html:120 -#: part/models.py:2368 report/templates/report/inventree_po_report.html:93 +#: company/models.py:576 company/templates/company/supplier_part.html:120 +#: part/models.py:2389 report/templates/report/inventree_po_report.html:93 #: report/templates/report/inventree_so_report.html:93 msgid "Note" msgstr "" -#: company/models.py:579 part/models.py:1599 +#: company/models.py:580 part/models.py:1603 msgid "base cost" msgstr "" -#: company/models.py:579 part/models.py:1599 +#: company/models.py:580 part/models.py:1603 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:581 company/templates/company/supplier_part.html:113 +#: company/models.py:582 company/templates/company/supplier_part.html:113 #: stock/models.py:478 stock/templates/stock/item_base.html:324 -#: templates/js/translated/company.js:844 templates/js/translated/stock.js:1057 +#: templates/js/translated/company.js:846 templates/js/translated/stock.js:1036 msgid "Packaging" msgstr "" -#: company/models.py:581 +#: company/models.py:582 msgid "Part packaging" msgstr "" -#: company/models.py:583 part/models.py:1601 +#: company/models.py:584 part/models.py:1605 msgid "multiple" msgstr "" -#: company/models.py:583 +#: company/models.py:584 msgid "Order multiple" msgstr "" @@ -2502,7 +2543,7 @@ msgstr "" #: company/templates/company/company_base.html:9 #: company/templates/company/company_base.html:35 -#: templates/InvenTree/search.html:304 templates/js/translated/company.js:321 +#: templates/InvenTree/search.html:208 templates/js/translated/company.js:321 msgid "Company" msgstr "" @@ -2517,7 +2558,7 @@ msgid "Download image from URL" msgstr "" #: company/templates/company/company_base.html:46 -#: templates/js/translated/order.js:117 +#: templates/js/translated/order.js:120 msgid "Create Purchase Order" msgstr "" @@ -2542,22 +2583,22 @@ msgstr "" msgid "Phone" msgstr "" -#: company/templates/company/company_base.html:126 order/models.py:550 -#: order/templates/order/sales_order_base.html:94 stock/models.py:496 +#: company/templates/company/company_base.html:126 order/models.py:558 +#: order/templates/order/sales_order_base.html:99 stock/models.py:496 #: stock/models.py:497 stock/templates/stock/item_base.html:276 -#: templates/js/translated/company.js:328 templates/js/translated/order.js:692 -#: templates/js/translated/stock.js:1608 +#: templates/js/translated/company.js:328 templates/js/translated/order.js:1038 +#: templates/js/translated/stock.js:1587 msgid "Customer" msgstr "" -#: company/templates/company/company_base.html:193 -#: part/templates/part/part_base.html:418 +#: company/templates/company/company_base.html:199 +#: part/templates/part/part_base.html:424 msgid "Upload Image" msgstr "" #: company/templates/company/detail.html:14 #: company/templates/company/manufacturer_part_navbar.html:18 -#: templates/InvenTree/search.html:164 +#: templates/InvenTree/search.html:150 msgid "Supplier Parts" msgstr "" @@ -2597,7 +2638,7 @@ msgstr "" msgid "Delete Parts" msgstr "" -#: company/templates/company/detail.html:54 templates/InvenTree/search.html:149 +#: company/templates/company/detail.html:54 templates/InvenTree/search.html:135 msgid "Manufacturer Parts" msgstr "" @@ -2620,9 +2661,9 @@ msgstr "" #: order/templates/order/purchase_orders.html:13 #: part/templates/part/detail.html:50 part/templates/part/navbar.html:82 #: part/templates/part/navbar.html:85 templates/InvenTree/index.html:260 -#: templates/InvenTree/search.html:325 -#: templates/InvenTree/settings/navbar.html:107 -#: templates/InvenTree/settings/navbar.html:109 templates/navbar.html:44 +#: templates/InvenTree/search.html:229 +#: templates/InvenTree/settings/navbar.html:119 +#: templates/InvenTree/settings/navbar.html:121 templates/navbar.html:44 #: users/models.py:45 msgid "Purchase Orders" msgstr "" @@ -2644,9 +2685,9 @@ msgstr "" #: order/templates/order/sales_orders.html:13 #: part/templates/part/detail.html:71 part/templates/part/navbar.html:91 #: part/templates/part/navbar.html:94 templates/InvenTree/index.html:291 -#: templates/InvenTree/search.html:345 -#: templates/InvenTree/settings/navbar.html:113 -#: templates/InvenTree/settings/navbar.html:115 templates/navbar.html:55 +#: templates/InvenTree/search.html:249 +#: templates/InvenTree/settings/navbar.html:125 +#: templates/InvenTree/settings/navbar.html:127 templates/navbar.html:55 #: users/models.py:46 msgid "Sales Orders" msgstr "" @@ -2664,7 +2705,7 @@ msgstr "" #: company/templates/company/detail.html:147 #: company/templates/company/navbar.html:61 #: company/templates/company/navbar.html:64 -#: templates/js/translated/build.js:620 +#: templates/js/translated/build.js:622 msgid "Assigned Stock" msgstr "" @@ -2696,12 +2737,12 @@ msgid "Order part" msgstr "" #: company/templates/company/manufacturer_part.html:45 -#: templates/js/translated/company.js:560 +#: templates/js/translated/company.js:561 msgid "Edit manufacturer part" msgstr "" #: company/templates/company/manufacturer_part.html:49 -#: templates/js/translated/company.js:561 +#: templates/js/translated/company.js:562 msgid "Delete manufacturer part" msgstr "" @@ -2718,7 +2759,7 @@ msgstr "" #: company/templates/company/manufacturer_part_navbar.html:21 #: company/views.py:49 part/templates/part/navbar.html:75 #: part/templates/part/navbar.html:78 part/templates/part/prices.html:163 -#: templates/InvenTree/search.html:316 templates/navbar.html:41 +#: templates/InvenTree/search.html:220 templates/navbar.html:41 msgid "Suppliers" msgstr "" @@ -2732,7 +2773,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:239 #: part/templates/part/detail.html:214 part/templates/part/detail.html:294 #: part/templates/part/detail.html:317 templates/js/translated/company.js:424 -#: templates/js/translated/helpers.js:31 users/models.py:194 +#: templates/js/translated/helpers.js:31 users/models.py:199 msgid "Delete" msgstr "" @@ -2758,7 +2799,7 @@ msgid "Delete parameters" msgstr "" #: company/templates/company/manufacturer_part.html:176 -#: part/templates/part/detail.html:834 +#: part/templates/part/detail.html:805 msgid "Add Parameter" msgstr "" @@ -2777,16 +2818,15 @@ msgstr "" #: company/templates/company/manufacturer_part_navbar.html:29 #: company/templates/company/navbar.html:39 #: company/templates/company/supplier_part_navbar.html:15 -#: part/templates/part/navbar.html:38 stock/api.py:54 +#: part/templates/part/navbar.html:38 stock/api.py:52 #: stock/templates/stock/loc_link.html:7 stock/templates/stock/location.html:36 #: stock/templates/stock/stock_app_base.html:10 -#: templates/InvenTree/index.html:150 templates/InvenTree/search.html:196 -#: templates/InvenTree/search.html:232 -#: templates/InvenTree/settings/navbar.html:95 -#: templates/InvenTree/settings/navbar.html:97 -#: templates/js/translated/part.js:529 templates/js/translated/part.js:758 -#: templates/js/translated/part.js:934 templates/js/translated/stock.js:202 -#: templates/js/translated/stock.js:850 templates/navbar.html:32 +#: templates/InvenTree/index.html:150 templates/InvenTree/search.html:182 +#: templates/InvenTree/settings/navbar.html:107 +#: templates/InvenTree/settings/navbar.html:109 +#: templates/js/translated/part.js:540 templates/js/translated/part.js:769 +#: templates/js/translated/part.js:945 templates/js/translated/stock.js:182 +#: templates/js/translated/stock.js:829 templates/navbar.html:32 msgid "Stock" msgstr "" @@ -2815,7 +2855,7 @@ msgstr "" #: stock/templates/stock/location.html:148 #: stock/templates/stock/location_navbar.html:18 #: stock/templates/stock/location_navbar.html:21 -#: templates/InvenTree/search.html:198 templates/js/translated/stock.js:1507 +#: templates/InvenTree/search.html:184 templates/js/translated/stock.js:1486 #: templates/stats.html:93 templates/stats.html:102 users/models.py:43 msgid "Stock Items" msgstr "" @@ -2823,17 +2863,17 @@ msgstr "" #: company/templates/company/supplier_part.html:7 #: company/templates/company/supplier_part.html:24 stock/models.py:463 #: stock/templates/stock/item_base.html:388 -#: templates/js/translated/company.js:784 templates/js/translated/stock.js:1014 +#: templates/js/translated/company.js:786 templates/js/translated/stock.js:993 msgid "Supplier Part" msgstr "" #: company/templates/company/supplier_part.html:44 -#: templates/js/translated/company.js:857 +#: templates/js/translated/company.js:859 msgid "Edit supplier part" msgstr "" #: company/templates/company/supplier_part.html:48 -#: templates/js/translated/company.js:858 +#: templates/js/translated/company.js:860 msgid "Delete supplier part" msgstr "" @@ -2900,7 +2940,7 @@ msgid "New Supplier" msgstr "" #: company/views.py:55 part/templates/part/prices.html:167 -#: templates/InvenTree/search.html:306 templates/navbar.html:42 +#: templates/InvenTree/search.html:210 templates/navbar.html:42 msgid "Manufacturers" msgstr "" @@ -2908,7 +2948,7 @@ msgstr "" msgid "New Manufacturer" msgstr "" -#: company/views.py:61 templates/InvenTree/search.html:336 +#: company/views.py:61 templates/InvenTree/search.html:240 #: templates/navbar.html:53 msgid "Customers" msgstr "" @@ -3011,36 +3051,32 @@ msgstr "" msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" -#: order/api.py:302 -msgid "Destination location must be specified" +#: order/api.py:250 +msgid "Matching purchase order does not exist" msgstr "" -#: order/forms.py:30 order/templates/order/order_base.html:47 +#: order/forms.py:27 order/templates/order/order_base.html:50 msgid "Place order" msgstr "" -#: order/forms.py:41 order/templates/order/order_base.html:54 +#: order/forms.py:38 order/templates/order/order_base.html:57 msgid "Mark order as complete" msgstr "" -#: order/forms.py:52 order/forms.py:63 order/templates/order/order_base.html:59 -#: order/templates/order/sales_order_base.html:61 +#: order/forms.py:49 order/forms.py:60 order/templates/order/order_base.html:62 +#: order/templates/order/sales_order_base.html:64 msgid "Cancel order" msgstr "" -#: order/forms.py:74 order/templates/order/sales_order_base.html:58 +#: order/forms.py:71 order/templates/order/sales_order_base.html:61 msgid "Ship order" msgstr "" -#: order/forms.py:89 -msgid "Set all received parts listed above to this location (if left blank, use \"Destination\" column value in above table)" -msgstr "" - -#: order/forms.py:116 +#: order/forms.py:97 msgid "Enter stock item serial numbers" msgstr "" -#: order/forms.py:122 +#: order/forms.py:103 msgid "Enter quantity of stock items" msgstr "" @@ -3064,11 +3100,11 @@ msgstr "" msgid "Order notes" msgstr "" -#: order/models.py:247 order/models.py:540 +#: order/models.py:247 order/models.py:548 msgid "Order reference" msgstr "" -#: order/models.py:252 order/models.py:555 +#: order/models.py:252 order/models.py:563 msgid "Purchase order status" msgstr "" @@ -3077,7 +3113,7 @@ msgid "Company from which the items are being ordered" msgstr "" #: order/models.py:264 order/templates/order/order_base.html:98 -#: templates/js/translated/order.js:337 +#: templates/js/translated/order.js:668 msgid "Supplier Reference" msgstr "" @@ -3109,190 +3145,190 @@ msgstr "" msgid "Date order was completed" msgstr "" -#: order/models.py:313 stock/models.py:351 stock/models.py:1072 -msgid "Quantity must be greater than zero" -msgstr "" - #: order/models.py:318 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:421 -msgid "Lines can only be received against an order marked as 'Placed'" -msgstr "" - -#: order/models.py:425 +#: order/models.py:428 msgid "Quantity must be an integer" msgstr "" -#: order/models.py:427 +#: order/models.py:432 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:551 +#: order/models.py:559 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:557 +#: order/models.py:565 msgid "Customer Reference " msgstr "" -#: order/models.py:557 +#: order/models.py:565 msgid "Customer order reference code" msgstr "" -#: order/models.py:562 +#: order/models.py:570 msgid "Target date for order completion. Order will be overdue after this date." msgstr "" -#: order/models.py:565 templates/js/translated/order.js:733 +#: order/models.py:573 templates/js/translated/order.js:1079 msgid "Shipment Date" msgstr "" -#: order/models.py:572 +#: order/models.py:580 msgid "shipped by" msgstr "" -#: order/models.py:616 +#: order/models.py:624 msgid "SalesOrder cannot be shipped as it is not currently pending" msgstr "" -#: order/models.py:713 +#: order/models.py:721 msgid "Item quantity" msgstr "" -#: order/models.py:719 +#: order/models.py:727 msgid "Line item reference" msgstr "" -#: order/models.py:721 +#: order/models.py:729 msgid "Line item notes" msgstr "" -#: order/models.py:751 order/models.py:835 templates/js/translated/order.js:785 +#: order/models.py:759 order/models.py:847 +#: templates/js/translated/order.js:1131 msgid "Order" msgstr "" -#: order/models.py:752 order/templates/order/order_base.html:9 +#: order/models.py:760 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:24 #: report/templates/report/inventree_po_report.html:77 #: stock/templates/stock/item_base.html:338 -#: templates/js/translated/order.js:306 templates/js/translated/stock.js:991 -#: templates/js/translated/stock.js:1589 +#: templates/js/translated/order.js:637 templates/js/translated/stock.js:970 +#: templates/js/translated/stock.js:1568 msgid "Purchase Order" msgstr "" -#: order/models.py:773 +#: order/models.py:781 msgid "Supplier part" msgstr "" -#: order/models.py:780 order/templates/order/order_base.html:131 -#: order/templates/order/receive_parts.html:22 -#: order/templates/order/sales_order_base.html:133 -#: templates/js/translated/order.js:573 +#: order/models.py:788 order/templates/order/order_base.html:131 +#: order/templates/order/sales_order_base.html:138 +#: templates/js/translated/order.js:428 templates/js/translated/order.js:919 msgid "Received" msgstr "" -#: order/models.py:781 +#: order/models.py:789 msgid "Number of items received" msgstr "" -#: order/models.py:788 part/templates/part/prices.html:176 stock/models.py:588 -#: stock/serializers.py:147 stock/templates/stock/item_base.html:345 -#: templates/js/translated/stock.js:1045 +#: order/models.py:796 part/templates/part/prices.html:176 stock/models.py:588 +#: stock/serializers.py:150 stock/templates/stock/item_base.html:345 +#: templates/js/translated/stock.js:1024 msgid "Purchase Price" msgstr "" -#: order/models.py:789 +#: order/models.py:797 msgid "Unit purchase price" msgstr "" -#: order/models.py:797 +#: order/models.py:805 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:843 part/templates/part/part_pricing.html:112 +#: order/models.py:857 part/templates/part/part_pricing.html:112 #: part/templates/part/prices.html:116 part/templates/part/prices.html:284 msgid "Sale Price" msgstr "" -#: order/models.py:844 +#: order/models.py:858 msgid "Unit sale price" msgstr "" -#: order/models.py:923 order/models.py:925 +#: order/models.py:937 order/models.py:939 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:929 +#: order/models.py:943 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:931 +#: order/models.py:945 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:934 +#: order/models.py:948 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:944 +#: order/models.py:952 +msgid "StockItem is over-allocated" +msgstr "" + +#: order/models.py:958 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:949 +#: order/models.py:966 msgid "Line" msgstr "" -#: order/models.py:960 +#: order/models.py:978 msgid "Item" msgstr "" -#: order/models.py:961 +#: order/models.py:979 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:964 +#: order/models.py:982 msgid "Enter stock allocation quantity" msgstr "" -#: order/serializers.py:166 +#: order/serializers.py:167 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:201 +#: order/serializers.py:202 msgid "Line Item" msgstr "" -#: order/serializers.py:207 +#: order/serializers.py:208 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:217 order/serializers.py:276 +#: order/serializers.py:218 order/serializers.py:285 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:234 +#: order/serializers.py:242 msgid "Barcode Hash" msgstr "" -#: order/serializers.py:235 +#: order/serializers.py:243 msgid "Unique identifier field" msgstr "" -#: order/serializers.py:250 +#: order/serializers.py:259 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:289 +#: order/serializers.py:297 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:299 +#: order/serializers.py:314 +msgid "Destination location must be specified" +msgstr "" + +#: order/serializers.py:325 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:514 +#: order/serializers.py:569 msgid "Sale price currency" msgstr "" @@ -3307,31 +3343,32 @@ msgstr "" msgid "Print" msgstr "" -#: order/templates/order/order_base.html:43 -#: order/templates/order/sales_order_base.html:54 +#: order/templates/order/order_base.html:42 +#: order/templates/order/sales_order_base.html:53 +msgid "Export order to file" +msgstr "" + +#: order/templates/order/order_base.html:46 +#: order/templates/order/sales_order_base.html:57 msgid "Edit order information" msgstr "" -#: order/templates/order/order_base.html:51 +#: order/templates/order/order_base.html:54 msgid "Receive items" msgstr "" -#: order/templates/order/order_base.html:64 -msgid "Export order to file" -msgstr "" - #: order/templates/order/order_base.html:72 #: order/templates/order/po_navbar.html:12 msgid "Purchase Order Details" msgstr "" #: order/templates/order/order_base.html:77 -#: order/templates/order/sales_order_base.html:79 +#: order/templates/order/sales_order_base.html:84 msgid "Order Reference" msgstr "" #: order/templates/order/order_base.html:82 -#: order/templates/order/sales_order_base.html:84 +#: order/templates/order/sales_order_base.html:89 msgid "Order Status" msgstr "" @@ -3344,16 +3381,6 @@ msgstr "" msgid "Edit Purchase Order" msgstr "" -#: order/templates/order/order_base.html:196 -#: stock/templates/stock/location.html:250 templates/js/translated/order.js:437 -msgid "New Location" -msgstr "" - -#: order/templates/order/order_base.html:197 -#: stock/templates/stock/location.html:42 templates/js/translated/order.js:438 -msgid "Create new stock location" -msgstr "" - #: order/templates/order/order_cancel.html:8 msgid "Cancelling this order means that the order and line items will no longer be editable." msgstr "" @@ -3426,6 +3453,7 @@ msgstr "" #: part/templates/part/import_wizard/ajax_match_references.html:42 #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 +#: templates/js/translated/build.js:869 templates/js/translated/order.js:376 msgid "Remove row" msgstr "" @@ -3502,7 +3530,7 @@ msgid "Select existing purchase orders, or create new orders." msgstr "" #: order/templates/order/order_wizard/select_pos.html:31 -#: templates/js/translated/order.js:363 templates/js/translated/order.js:738 +#: templates/js/translated/order.js:694 templates/js/translated/order.js:1084 msgid "Items" msgstr "" @@ -3522,7 +3550,7 @@ msgstr "" #: order/templates/order/po_attachments.html:12 #: order/templates/order/po_navbar.html:32 -#: order/templates/order/purchase_order_detail.html:47 +#: order/templates/order/purchase_order_detail.html:56 msgid "Purchase Order Attachments" msgstr "" @@ -3532,7 +3560,7 @@ msgstr "" #: order/templates/order/po_navbar.html:29 #: order/templates/order/po_received_items.html:12 -#: order/templates/order/purchase_order_detail.html:38 +#: order/templates/order/purchase_order_detail.html:47 msgid "Received Items" msgstr "" @@ -3540,14 +3568,22 @@ msgstr "" msgid "Purchase Order Items" msgstr "" -#: order/templates/order/purchase_order_detail.html:23 -#: order/templates/order/purchase_order_detail.html:203 +#: order/templates/order/purchase_order_detail.html:24 +#: order/templates/order/purchase_order_detail.html:212 #: order/templates/order/sales_order_detail.html:23 #: order/templates/order/sales_order_detail.html:177 msgid "Add Line Item" msgstr "" -#: order/templates/order/purchase_order_detail.html:58 +#: order/templates/order/purchase_order_detail.html:30 +msgid "Receive selected items" +msgstr "" + +#: order/templates/order/purchase_order_detail.html:31 +msgid "Receive Items" +msgstr "" + +#: order/templates/order/purchase_order_detail.html:67 #: order/templates/order/sales_order_detail.html:54 msgid "Order Notes" msgstr "" @@ -3557,67 +3593,24 @@ msgstr "" msgid "Print Order Reports" msgstr "" -#: order/templates/order/receive_parts.html:8 -#, python-format -msgid "Receive outstanding parts for %(order)s - %(desc)s" -msgstr "" - -#: order/templates/order/receive_parts.html:14 part/api.py:54 -#: part/models.py:298 part/templates/part/cat_link.html:7 -#: part/templates/part/category.html:108 part/templates/part/category.html:122 -#: part/templates/part/category_navbar.html:21 -#: part/templates/part/category_navbar.html:24 -#: templates/InvenTree/index.html:102 templates/InvenTree/search.html:114 -#: templates/InvenTree/settings/navbar.html:83 -#: templates/InvenTree/settings/navbar.html:85 -#: templates/js/translated/part.js:1154 templates/navbar.html:29 -#: templates/stats.html:80 templates/stats.html:89 users/models.py:41 -msgid "Parts" -msgstr "" - -#: order/templates/order/receive_parts.html:15 -msgid "Fill out number of parts received, the status and destination" -msgstr "" - -#: order/templates/order/receive_parts.html:20 -msgid "Order Code" -msgstr "" - -#: order/templates/order/receive_parts.html:21 -#: part/templates/part/part_base.html:167 templates/js/translated/part.js:949 -msgid "On Order" -msgstr "" - -#: order/templates/order/receive_parts.html:23 -msgid "Receive" -msgstr "" - -#: order/templates/order/receive_parts.html:37 -msgid "Error: Referenced part has been removed" -msgstr "" - -#: order/templates/order/receive_parts.html:68 -msgid "Remove line" -msgstr "" - #: order/templates/order/sales_order_base.html:16 msgid "This Sales Order has not been fully allocated" msgstr "" -#: order/templates/order/sales_order_base.html:66 +#: order/templates/order/sales_order_base.html:70 msgid "Packing List" msgstr "" -#: order/templates/order/sales_order_base.html:74 +#: order/templates/order/sales_order_base.html:79 msgid "Sales Order Details" msgstr "" -#: order/templates/order/sales_order_base.html:100 -#: templates/js/translated/order.js:705 +#: order/templates/order/sales_order_base.html:105 +#: templates/js/translated/order.js:1051 msgid "Customer Reference" msgstr "" -#: order/templates/order/sales_order_base.html:178 +#: order/templates/order/sales_order_base.html:183 msgid "Edit Sales Order" msgstr "" @@ -3636,105 +3629,6 @@ msgstr "" msgid "Sales Order Items" msgstr "" -#: order/templates/order/sales_order_detail.html:226 -#: templates/js/translated/bom.js:394 templates/js/translated/build.js:782 -#: templates/js/translated/build.js:1219 -msgid "Actions" -msgstr "" - -#: order/templates/order/sales_order_detail.html:233 -#: templates/js/translated/build.js:668 templates/js/translated/build.js:1030 -msgid "Edit stock allocation" -msgstr "" - -#: order/templates/order/sales_order_detail.html:234 -#: templates/js/translated/build.js:670 templates/js/translated/build.js:1031 -msgid "Delete stock allocation" -msgstr "" - -#: order/templates/order/sales_order_detail.html:307 -msgid "No matching line items" -msgstr "" - -#: order/templates/order/sales_order_detail.html:337 -msgid "ID" -msgstr "" - -#: order/templates/order/sales_order_detail.html:354 -#: templates/js/translated/order.js:481 -msgid "Total" -msgstr "" - -#: order/templates/order/sales_order_detail.html:377 -#: templates/js/translated/order.js:534 templates/js/translated/part.js:1296 -#: templates/js/translated/part.js:1507 -msgid "Unit Price" -msgstr "" - -#: order/templates/order/sales_order_detail.html:384 -#: templates/js/translated/order.js:543 -msgid "Total price" -msgstr "" - -#: order/templates/order/sales_order_detail.html:405 -#: templates/js/translated/build.js:733 templates/js/translated/build.js:1026 -msgid "Allocated" -msgstr "" - -#: order/templates/order/sales_order_detail.html:407 -msgid "Fulfilled" -msgstr "" - -#: order/templates/order/sales_order_detail.html:444 -msgid "PO" -msgstr "" - -#: order/templates/order/sales_order_detail.html:474 -msgid "Allocate serial numbers" -msgstr "" - -#: order/templates/order/sales_order_detail.html:477 -#: templates/js/translated/build.js:796 -msgid "Allocate stock" -msgstr "" - -#: order/templates/order/sales_order_detail.html:480 -msgid "Purchase stock" -msgstr "" - -#: order/templates/order/sales_order_detail.html:484 -#: templates/js/translated/build.js:789 templates/js/translated/build.js:1227 -msgid "Build stock" -msgstr "" - -#: order/templates/order/sales_order_detail.html:487 -#: order/templates/order/sales_order_detail.html:606 -msgid "Calculate price" -msgstr "" - -#: order/templates/order/sales_order_detail.html:490 -#: templates/js/translated/order.js:616 -msgid "Edit line item" -msgstr "" - -#: order/templates/order/sales_order_detail.html:491 -msgid "Delete line item " -msgstr "" - -#: order/templates/order/sales_order_detail.html:519 -#: templates/js/translated/order.js:403 -msgid "Edit Line Item" -msgstr "" - -#: order/templates/order/sales_order_detail.html:529 -#: templates/js/translated/order.js:415 -msgid "Delete Line Item" -msgstr "" - -#: order/templates/order/sales_order_detail.html:612 -msgid "Update Unit Price" -msgstr "" - #: order/templates/order/sales_order_ship.html:10 msgid "This order has not been fully allocated. If the order is marked as shipped, it can no longer be adjusted." msgstr "" @@ -3759,10 +3653,6 @@ msgstr "" msgid "Allocate stock items by serial number" msgstr "" -#: order/templates/order/so_allocation_delete.html:7 -msgid "This action will unallocate the following stock from the Sales Order" -msgstr "" - #: order/templates/order/so_navbar.html:12 msgid "Sales Order Line Items" msgstr "" @@ -3775,149 +3665,129 @@ msgstr "" msgid "Sales Order Attachments" msgstr "" -#: order/views.py:104 +#: order/views.py:103 msgid "Cancel Order" msgstr "" -#: order/views.py:113 order/views.py:139 +#: order/views.py:112 order/views.py:138 msgid "Confirm order cancellation" msgstr "" -#: order/views.py:116 order/views.py:142 +#: order/views.py:115 order/views.py:141 msgid "Order cannot be cancelled" msgstr "" -#: order/views.py:130 +#: order/views.py:129 msgid "Cancel sales order" msgstr "" -#: order/views.py:156 +#: order/views.py:155 msgid "Issue Order" msgstr "" -#: order/views.py:165 +#: order/views.py:164 msgid "Confirm order placement" msgstr "" -#: order/views.py:175 +#: order/views.py:174 msgid "Purchase order issued" msgstr "" -#: order/views.py:186 +#: order/views.py:185 msgid "Complete Order" msgstr "" -#: order/views.py:202 +#: order/views.py:201 msgid "Confirm order completion" msgstr "" -#: order/views.py:213 +#: order/views.py:212 msgid "Purchase order completed" msgstr "" -#: order/views.py:223 +#: order/views.py:222 msgid "Ship Order" msgstr "" -#: order/views.py:239 +#: order/views.py:238 msgid "Confirm order shipment" msgstr "" -#: order/views.py:245 +#: order/views.py:244 msgid "Could not ship order" msgstr "" -#: order/views.py:292 +#: order/views.py:291 msgid "Match Supplier Parts" msgstr "" -#: order/views.py:480 -msgid "Receive Parts" -msgstr "" - -#: order/views.py:552 -msgid "Items received" -msgstr "" - -#: order/views.py:620 -msgid "Error converting quantity to number" -msgstr "" - -#: order/views.py:626 -msgid "Receive quantity less than zero" -msgstr "" - -#: order/views.py:632 -msgid "No lines specified" -msgstr "" - -#: order/views.py:705 +#: order/views.py:535 msgid "Update prices" msgstr "" -#: order/views.py:963 +#: order/views.py:793 #, python-brace-format msgid "Ordered {n} parts" msgstr "" -#: order/views.py:1016 +#: order/views.py:846 msgid "Allocate Serial Numbers" msgstr "" -#: order/views.py:1061 +#: order/views.py:891 #, python-brace-format msgid "Allocated {n} items" msgstr "" -#: order/views.py:1077 +#: order/views.py:907 msgid "Select line item" msgstr "" -#: order/views.py:1108 +#: order/views.py:938 #, python-brace-format msgid "No matching item for serial {serial}" msgstr "" -#: order/views.py:1118 +#: order/views.py:948 #, python-brace-format msgid "{serial} is not in stock" msgstr "" -#: order/views.py:1126 +#: order/views.py:956 #, python-brace-format msgid "{serial} already allocated to an order" msgstr "" -#: order/views.py:1180 -msgid "Allocate Stock to Order" -msgstr "" - -#: order/views.py:1254 -msgid "Edit Allocation Quantity" -msgstr "" - -#: order/views.py:1269 -msgid "Remove allocation" -msgstr "" - -#: order/views.py:1341 +#: order/views.py:1072 msgid "Sales order not found" msgstr "" -#: order/views.py:1347 +#: order/views.py:1078 msgid "Price not found" msgstr "" -#: order/views.py:1350 +#: order/views.py:1081 #, python-brace-format msgid "Updated {part} unit-price to {price}" msgstr "" -#: order/views.py:1355 +#: order/views.py:1086 #, python-brace-format msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" +#: part/api.py:54 part/models.py:299 part/templates/part/cat_link.html:7 +#: part/templates/part/category.html:108 part/templates/part/category.html:122 +#: part/templates/part/category_navbar.html:21 +#: part/templates/part/category_navbar.html:24 +#: templates/InvenTree/index.html:102 templates/InvenTree/search.html:114 +#: templates/InvenTree/settings/navbar.html:95 +#: templates/InvenTree/settings/navbar.html:97 +#: templates/js/translated/part.js:1165 templates/navbar.html:29 +#: templates/stats.html:80 templates/stats.html:89 users/models.py:41 +msgid "Parts" +msgstr "" + #: part/api.py:700 msgid "Must be greater than zero" msgstr "" @@ -3934,7 +3804,7 @@ msgstr "" msgid "This field is required" msgstr "" -#: part/bom.py:133 part/models.py:75 part/models.py:733 +#: part/bom.py:133 part/models.py:76 part/models.py:734 #: part/templates/part/category.html:75 part/templates/part/part_base.html:290 msgid "Default Location" msgstr "" @@ -3999,7 +3869,7 @@ msgstr "" msgid "Include part supplier data in exported BOM" msgstr "" -#: part/forms.py:96 part/models.py:2250 +#: part/forms.py:96 part/models.py:2254 msgid "Parent Part" msgstr "" @@ -4043,391 +3913,387 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:76 +#: part/models.py:77 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:79 +#: part/models.py:80 msgid "Default keywords" msgstr "" -#: part/models.py:79 +#: part/models.py:80 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:89 part/models.py:2296 +#: part/models.py:90 part/models.py:2300 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:90 part/templates/part/category.html:32 +#: part/models.py:91 part/templates/part/category.html:32 #: part/templates/part/category.html:103 templates/InvenTree/search.html:127 #: templates/stats.html:84 users/models.py:40 msgid "Part Categories" msgstr "" -#: part/models.py:383 +#: part/models.py:384 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:435 part/models.py:447 +#: part/models.py:436 part/models.py:448 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:544 +#: part/models.py:545 msgid "Next available serial numbers are" msgstr "" -#: part/models.py:548 +#: part/models.py:549 msgid "Next available serial number is" msgstr "" -#: part/models.py:553 +#: part/models.py:554 msgid "Most recent serial number is" msgstr "" -#: part/models.py:632 +#: part/models.py:633 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:657 +#: part/models.py:658 msgid "Part name" msgstr "" -#: part/models.py:664 +#: part/models.py:665 msgid "Is Template" msgstr "" -#: part/models.py:665 +#: part/models.py:666 msgid "Is this part a template part?" msgstr "" -#: part/models.py:675 +#: part/models.py:676 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:676 +#: part/models.py:677 msgid "Variant Of" msgstr "" -#: part/models.py:682 +#: part/models.py:683 msgid "Part description" msgstr "" -#: part/models.py:687 part/templates/part/category.html:82 +#: part/models.py:688 part/templates/part/category.html:82 #: part/templates/part/part_base.html:259 msgid "Keywords" msgstr "" -#: part/models.py:688 +#: part/models.py:689 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:695 part/models.py:2295 +#: part/models.py:696 part/models.py:2299 #: part/templates/part/set_category.html:15 -#: templates/InvenTree/settings/settings.html:167 -#: templates/js/translated/part.js:916 +#: templates/InvenTree/settings/settings.html:169 +#: templates/js/translated/part.js:927 msgid "Category" msgstr "" -#: part/models.py:696 +#: part/models.py:697 msgid "Part category" msgstr "" -#: part/models.py:701 part/templates/part/part_base.html:235 -#: templates/js/translated/part.js:517 templates/js/translated/part.js:749 +#: part/models.py:702 part/templates/part/part_base.html:235 +#: templates/js/translated/part.js:528 templates/js/translated/part.js:760 msgid "IPN" msgstr "" -#: part/models.py:702 +#: part/models.py:703 msgid "Internal Part Number" msgstr "" -#: part/models.py:708 +#: part/models.py:709 msgid "Part revision or version number" msgstr "" -#: part/models.py:709 part/templates/part/part_base.html:252 -#: report/models.py:200 templates/js/translated/part.js:521 +#: part/models.py:710 part/templates/part/part_base.html:252 +#: report/models.py:200 templates/js/translated/part.js:532 msgid "Revision" msgstr "" -#: part/models.py:731 +#: part/models.py:732 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:778 part/templates/part/part_base.html:297 +#: part/models.py:779 part/templates/part/part_base.html:297 msgid "Default Supplier" msgstr "" -#: part/models.py:779 +#: part/models.py:780 msgid "Default supplier part" msgstr "" -#: part/models.py:786 +#: part/models.py:787 msgid "Default Expiry" msgstr "" -#: part/models.py:787 +#: part/models.py:788 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:792 +#: part/models.py:793 msgid "Minimum Stock" msgstr "" -#: part/models.py:793 +#: part/models.py:794 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:800 +#: part/models.py:801 msgid "Stock keeping units for this part" msgstr "" -#: part/models.py:806 +#: part/models.py:807 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:812 +#: part/models.py:813 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:818 +#: part/models.py:819 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:823 +#: part/models.py:824 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:828 +#: part/models.py:829 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:832 templates/js/translated/table_filters.js:34 +#: part/models.py:833 templates/js/translated/table_filters.js:34 #: templates/js/translated/table_filters.js:82 #: templates/js/translated/table_filters.js:268 -#: templates/js/translated/table_filters.js:337 +#: templates/js/translated/table_filters.js:346 msgid "Active" msgstr "" -#: part/models.py:833 +#: part/models.py:834 msgid "Is this part active?" msgstr "" -#: part/models.py:838 +#: part/models.py:839 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:843 +#: part/models.py:844 msgid "Part notes - supports Markdown formatting" msgstr "" -#: part/models.py:846 +#: part/models.py:847 msgid "BOM checksum" msgstr "" -#: part/models.py:846 +#: part/models.py:847 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:849 +#: part/models.py:850 msgid "BOM checked by" msgstr "" -#: part/models.py:851 +#: part/models.py:852 msgid "BOM checked date" msgstr "" -#: part/models.py:855 +#: part/models.py:856 msgid "Creation User" msgstr "" -#: part/models.py:1601 +#: part/models.py:1605 msgid "Sell multiple" msgstr "" -#: part/models.py:2096 +#: part/models.py:2100 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:2113 +#: part/models.py:2117 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:2133 templates/js/translated/part.js:1205 -#: templates/js/translated/stock.js:556 +#: part/models.py:2137 templates/js/translated/part.js:1216 +#: templates/js/translated/stock.js:535 msgid "Test Name" msgstr "" -#: part/models.py:2134 +#: part/models.py:2138 msgid "Enter a name for the test" msgstr "" -#: part/models.py:2139 +#: part/models.py:2143 msgid "Test Description" msgstr "" -#: part/models.py:2140 +#: part/models.py:2144 msgid "Enter description for this test" msgstr "" -#: part/models.py:2145 templates/js/translated/part.js:1214 +#: part/models.py:2149 templates/js/translated/part.js:1225 #: templates/js/translated/table_filters.js:254 msgid "Required" msgstr "" -#: part/models.py:2146 +#: part/models.py:2150 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:2151 templates/js/translated/part.js:1222 +#: part/models.py:2155 templates/js/translated/part.js:1233 msgid "Requires Value" msgstr "" -#: part/models.py:2152 +#: part/models.py:2156 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:2157 templates/js/translated/part.js:1229 +#: part/models.py:2161 templates/js/translated/part.js:1240 msgid "Requires Attachment" msgstr "" -#: part/models.py:2158 +#: part/models.py:2162 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:2169 +#: part/models.py:2173 #, python-brace-format msgid "Illegal character in template name ({c})" msgstr "" -#: part/models.py:2205 +#: part/models.py:2209 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:2213 +#: part/models.py:2217 msgid "Parameter Name" msgstr "" -#: part/models.py:2220 +#: part/models.py:2224 msgid "Parameter Units" msgstr "" -#: part/models.py:2252 part/models.py:2301 part/models.py:2302 -#: templates/InvenTree/settings/settings.html:162 +#: part/models.py:2256 part/models.py:2305 part/models.py:2306 +#: templates/InvenTree/settings/settings.html:164 msgid "Parameter Template" msgstr "" -#: part/models.py:2254 +#: part/models.py:2258 msgid "Data" msgstr "" -#: part/models.py:2254 +#: part/models.py:2258 msgid "Parameter Value" msgstr "" -#: part/models.py:2306 templates/InvenTree/settings/settings.html:171 +#: part/models.py:2310 templates/InvenTree/settings/settings.html:173 msgid "Default Value" msgstr "" -#: part/models.py:2307 +#: part/models.py:2311 msgid "Default Parameter Value" msgstr "" -#: part/models.py:2341 +#: part/models.py:2362 msgid "Select parent part" msgstr "" -#: part/models.py:2349 +#: part/models.py:2370 msgid "Sub part" msgstr "" -#: part/models.py:2350 +#: part/models.py:2371 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:2356 +#: part/models.py:2377 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:2358 templates/js/translated/bom.js:256 -#: templates/js/translated/bom.js:314 +#: part/models.py:2379 templates/js/translated/bom.js:275 +#: templates/js/translated/bom.js:335 msgid "Optional" msgstr "" -#: part/models.py:2358 +#: part/models.py:2379 msgid "This BOM item is optional" msgstr "" -#: part/models.py:2361 +#: part/models.py:2382 msgid "Overage" msgstr "" -#: part/models.py:2362 +#: part/models.py:2383 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:2365 +#: part/models.py:2386 msgid "BOM item reference" msgstr "" -#: part/models.py:2368 +#: part/models.py:2389 msgid "BOM item notes" msgstr "" -#: part/models.py:2370 +#: part/models.py:2391 msgid "Checksum" msgstr "" -#: part/models.py:2370 +#: part/models.py:2391 msgid "BOM line checksum" msgstr "" -#: part/models.py:2374 templates/js/translated/bom.js:331 -#: templates/js/translated/bom.js:338 +#: part/models.py:2395 templates/js/translated/bom.js:352 +#: templates/js/translated/bom.js:359 #: templates/js/translated/table_filters.js:68 msgid "Inherited" msgstr "" -#: part/models.py:2375 +#: part/models.py:2396 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:2380 templates/js/translated/bom.js:323 +#: part/models.py:2401 templates/js/translated/bom.js:344 msgid "Allow Variants" msgstr "" -#: part/models.py:2381 +#: part/models.py:2402 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:2466 stock/models.py:341 +#: part/models.py:2487 stock/models.py:341 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:2475 part/models.py:2477 +#: part/models.py:2496 part/models.py:2498 msgid "Sub part must be specified" msgstr "" -#: part/models.py:2480 -msgid "BOM Item" -msgstr "" - -#: part/models.py:2599 +#: part/models.py:2620 msgid "Part 1" msgstr "" -#: part/models.py:2603 +#: part/models.py:2624 msgid "Part 2" msgstr "" -#: part/models.py:2603 +#: part/models.py:2624 msgid "Select Related Part" msgstr "" -#: part/models.py:2635 +#: part/models.py:2656 msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique" msgstr "" @@ -4578,7 +4444,7 @@ msgstr "" msgid "Create new part" msgstr "" -#: part/templates/part/category.html:131 +#: part/templates/part/category.html:131 templates/js/translated/bom.js:39 msgid "New Part" msgstr "" @@ -4658,7 +4524,7 @@ msgstr "" msgid "Import Parts" msgstr "" -#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:352 +#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:363 msgid "Duplicate Part" msgstr "" @@ -4785,34 +4651,26 @@ msgstr "" msgid "Add Test Result Template" msgstr "" -#: part/templates/part/detail.html:716 -msgid "Edit Test Result Template" -msgstr "" - -#: part/templates/part/detail.html:728 -msgid "Delete Test Result Template" -msgstr "" - -#: part/templates/part/detail.html:784 +#: part/templates/part/detail.html:755 msgid "Edit Part Notes" msgstr "" -#: part/templates/part/detail.html:936 +#: part/templates/part/detail.html:907 #, python-format msgid "Purchase Unit Price - %(currency)s" msgstr "" -#: part/templates/part/detail.html:948 +#: part/templates/part/detail.html:919 #, python-format msgid "Unit Price-Cost Difference - %(currency)s" msgstr "" -#: part/templates/part/detail.html:960 +#: part/templates/part/detail.html:931 #, python-format msgid "Supplier Unit Cost - %(currency)s" msgstr "" -#: part/templates/part/detail.html:1049 +#: part/templates/part/detail.html:1020 #, python-format msgid "Unit Price - %(currency)s" msgstr "" @@ -4874,9 +4732,9 @@ msgstr "" msgid "Part is virtual (not a physical part)" msgstr "" -#: part/templates/part/part_base.html:58 templates/js/translated/company.js:503 -#: templates/js/translated/company.js:759 templates/js/translated/part.js:432 -#: templates/js/translated/part.js:509 +#: part/templates/part/part_base.html:58 templates/js/translated/company.js:504 +#: templates/js/translated/company.js:761 templates/js/translated/part.js:443 +#: templates/js/translated/part.js:520 msgid "Inactive" msgstr "" @@ -4942,10 +4800,16 @@ msgid "This part is a variant of %(link)s" msgstr "" #: part/templates/part/part_base.html:161 +#: templates/js/translated/model_renderers.js:169 +#: templates/js/translated/order.js:1503 #: templates/js/translated/table_filters.js:166 msgid "In Stock" msgstr "" +#: part/templates/part/part_base.html:167 templates/js/translated/part.js:960 +msgid "On Order" +msgstr "" + #: part/templates/part/part_base.html:174 templates/InvenTree/index.html:186 msgid "Required for Build Orders" msgstr "" @@ -4958,18 +4822,18 @@ msgstr "" msgid "Allocated to Orders" msgstr "" -#: part/templates/part/part_base.html:203 templates/js/translated/bom.js:352 +#: part/templates/part/part_base.html:203 templates/js/translated/bom.js:373 msgid "Can Build" msgstr "" -#: part/templates/part/part_base.html:209 templates/js/translated/part.js:765 -#: templates/js/translated/part.js:953 +#: part/templates/part/part_base.html:209 templates/js/translated/part.js:776 +#: templates/js/translated/part.js:964 msgid "Building" msgstr "" #: part/templates/part/part_base.html:223 -#: part/templates/part/part_base.html:524 -#: part/templates/part/part_base.html:550 +#: part/templates/part/part_base.html:531 +#: part/templates/part/part_base.html:557 msgid "Show Part Details" msgstr "" @@ -4977,16 +4841,16 @@ msgstr "" msgid "Latest Serial Number" msgstr "" -#: part/templates/part/part_base.html:396 part/templates/part/prices.html:144 +#: part/templates/part/part_base.html:402 part/templates/part/prices.html:144 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:439 +#: part/templates/part/part_base.html:445 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:519 -#: part/templates/part/part_base.html:544 +#: part/templates/part/part_base.html:526 +#: part/templates/part/part_base.html:551 msgid "Hide Part Details" msgstr "" @@ -5013,7 +4877,7 @@ msgid "Total Cost" msgstr "" #: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:40 -#: templates/js/translated/bom.js:307 +#: templates/js/translated/bom.js:327 msgid "No supplier pricing available" msgstr "" @@ -5051,32 +4915,39 @@ msgstr "" msgid "Select from existing images" msgstr "" -#: part/templates/part/partial_delete.html:7 +#: part/templates/part/partial_delete.html:9 +#, python-format +msgid "Part '%(full_name)s' cannot be deleted as it is still marked as active.\n" +"
Disable the \"Active\" part attribute and re-try.\n" +" " +msgstr "" + +#: part/templates/part/partial_delete.html:17 #, python-format msgid "Are you sure you want to delete part '%(full_name)s'?" msgstr "" -#: part/templates/part/partial_delete.html:12 +#: part/templates/part/partial_delete.html:22 #, python-format msgid "This part is used in BOMs for %(count)s other parts. If you delete this part, the BOMs for the following parts will be updated" msgstr "" -#: part/templates/part/partial_delete.html:22 +#: part/templates/part/partial_delete.html:32 #, python-format msgid "There are %(count)s stock entries defined for this part. If you delete this part, the following stock entries will also be deleted:" msgstr "" -#: part/templates/part/partial_delete.html:33 +#: part/templates/part/partial_delete.html:43 #, python-format msgid "There are %(count)s manufacturers defined for this part. If you delete this part, the following manufacturer parts will also be deleted:" msgstr "" -#: part/templates/part/partial_delete.html:44 +#: part/templates/part/partial_delete.html:54 #, python-format msgid "There are %(count)s suppliers defined for this part. If you delete this part, the following supplier parts will also be deleted:" msgstr "" -#: part/templates/part/partial_delete.html:55 +#: part/templates/part/partial_delete.html:65 #, python-format msgid "There are %(count)s unique parts tracked for '%(full_name)s'. Deleting this part will permanently remove this tracking information." msgstr "" @@ -5109,7 +4980,7 @@ msgstr "" msgid "Calculation parameters" msgstr "" -#: part/templates/part/prices.html:155 templates/js/translated/bom.js:301 +#: part/templates/part/prices.html:155 templates/js/translated/bom.js:321 msgid "Supplier Cost" msgstr "" @@ -5151,8 +5022,9 @@ msgstr "" msgid "Set category for the following parts" msgstr "" -#: part/templates/part/stock_count.html:7 templates/js/translated/bom.js:278 -#: templates/js/translated/part.js:755 templates/js/translated/part.js:957 +#: part/templates/part/stock_count.html:7 templates/js/translated/bom.js:297 +#: templates/js/translated/model_renderers.js:167 +#: templates/js/translated/part.js:766 templates/js/translated/part.js:968 msgid "No Stock" msgstr "" @@ -5262,7 +5134,7 @@ msgstr "" msgid "Delete Part Parameter Template" msgstr "" -#: part/views.py:1502 templates/js/translated/part.js:303 +#: part/views.py:1502 templates/js/translated/part.js:308 msgid "Edit Part Category" msgstr "" @@ -5400,17 +5272,17 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:88 -#: stock/models.py:1807 +#: stock/models.py:1804 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:89 -#: stock/models.py:1813 +#: stock/models.py:1810 msgid "Result" msgstr "" #: report/templates/report/inventree_test_report_base.html:92 -#: templates/js/translated/order.js:353 templates/js/translated/stock.js:1523 +#: templates/js/translated/order.js:684 templates/js/translated/stock.js:1502 msgid "Date" msgstr "" @@ -5422,51 +5294,9 @@ msgstr "" msgid "Fail" msgstr "" -#: stock/api.py:146 -msgid "Request must contain list of stock items" -msgstr "" - -#: stock/api.py:154 -msgid "Improperly formatted data" -msgstr "" - -#: stock/api.py:162 -msgid "Each entry must contain a valid integer primary-key" -msgstr "" - -#: stock/api.py:168 -msgid "Primary key does not match valid stock item" -msgstr "" - -#: stock/api.py:178 -msgid "Invalid quantity value" -msgstr "" - -#: stock/api.py:183 -msgid "Quantity must not be less than zero" -msgstr "" - -#: stock/api.py:211 -#, python-brace-format -msgid "Updated stock for {n} items" -msgstr "" - -#: stock/api.py:247 stock/api.py:280 -msgid "Specified quantity exceeds stock quantity" -msgstr "" - -#: stock/api.py:270 -msgid "Valid location must be specified" -msgstr "" - -#: stock/api.py:290 -#, python-brace-format -msgid "Moved {n} parts to {loc}" -msgstr "" - #: stock/forms.py:79 stock/forms.py:307 stock/models.py:556 #: stock/templates/stock/item_base.html:395 -#: templates/js/translated/stock.js:967 +#: templates/js/translated/stock.js:946 msgid "Expiry Date" msgstr "" @@ -5678,38 +5508,54 @@ msgstr "" msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:1727 +#: stock/models.py:1724 msgid "Entry notes" msgstr "" -#: stock/models.py:1784 +#: stock/models.py:1781 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:1790 +#: stock/models.py:1787 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:1808 +#: stock/models.py:1805 msgid "Test name" msgstr "" -#: stock/models.py:1814 templates/js/translated/table_filters.js:244 +#: stock/models.py:1811 templates/js/translated/table_filters.js:244 msgid "Test result" msgstr "" -#: stock/models.py:1820 +#: stock/models.py:1817 msgid "Test output value" msgstr "" -#: stock/models.py:1827 +#: stock/models.py:1824 msgid "Test result attachment" msgstr "" -#: stock/models.py:1833 +#: stock/models.py:1830 msgid "Test notes" msgstr "" +#: stock/serializers.py:424 +msgid "StockItem primary key value" +msgstr "" + +#: stock/serializers.py:452 +msgid "Stock transaction notes" +msgstr "" + +#: stock/serializers.py:462 +msgid "A list of stock items must be provided" +msgstr "" + +#: stock/serializers.py:554 +msgid "Destination stock location" +msgstr "" + #: stock/templates/stock/item.html:17 msgid "Stock Tracking Information" msgstr "" @@ -5747,7 +5593,7 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:125 stock/views.py:534 +#: stock/templates/stock/item.html:125 stock/views.py:511 msgid "Install Stock Item" msgstr "" @@ -5910,7 +5756,7 @@ msgid "next page" msgstr "" #: stock/templates/stock/item_base.html:303 -#: templates/js/translated/build.js:651 +#: templates/js/translated/build.js:658 msgid "No location set" msgstr "" @@ -5937,7 +5783,7 @@ msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:408 -#: templates/js/translated/stock.js:980 +#: templates/js/translated/stock.js:959 msgid "Last Updated" msgstr "" @@ -6019,6 +5865,10 @@ msgstr "" msgid "All stock items" msgstr "" +#: stock/templates/stock/location.html:42 +msgid "Create new stock location" +msgstr "" + #: stock/templates/stock/location.html:55 msgid "Check-in Items" msgstr "" @@ -6058,7 +5908,7 @@ msgstr "" msgid "Stock Details" msgstr "" -#: stock/templates/stock/location.html:129 templates/InvenTree/search.html:279 +#: stock/templates/stock/location.html:129 templates/InvenTree/search.html:196 #: templates/stats.html:97 users/models.py:42 msgid "Stock Locations" msgstr "" @@ -6071,6 +5921,10 @@ msgstr "" msgid "Print labels" msgstr "" +#: stock/templates/stock/location.html:250 +msgid "New Location" +msgstr "" + #: stock/templates/stock/location.html:251 msgid "Create new location" msgstr "" @@ -6111,7 +5965,7 @@ msgstr "" msgid "The following stock items will be uninstalled" msgstr "" -#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:932 +#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:909 msgid "Convert Stock Item" msgstr "" @@ -6132,104 +5986,104 @@ msgstr "" msgid "Are you sure you want to delete this stock tracking entry?" msgstr "" -#: stock/views.py:181 +#: stock/views.py:158 msgid "Edit Stock Location" msgstr "" -#: stock/views.py:288 stock/views.py:911 stock/views.py:1033 -#: stock/views.py:1398 +#: stock/views.py:265 stock/views.py:888 stock/views.py:1010 +#: stock/views.py:1375 msgid "Owner is required (ownership control is enabled)" msgstr "" -#: stock/views.py:303 +#: stock/views.py:280 msgid "Stock Location QR code" msgstr "" -#: stock/views.py:322 +#: stock/views.py:299 msgid "Assign to Customer" msgstr "" -#: stock/views.py:331 +#: stock/views.py:308 msgid "Customer must be specified" msgstr "" -#: stock/views.py:355 +#: stock/views.py:332 msgid "Return to Stock" msgstr "" -#: stock/views.py:364 +#: stock/views.py:341 msgid "Specify a valid location" msgstr "" -#: stock/views.py:375 +#: stock/views.py:352 msgid "Stock item returned from customer" msgstr "" -#: stock/views.py:386 +#: stock/views.py:363 msgid "Delete All Test Data" msgstr "" -#: stock/views.py:403 +#: stock/views.py:380 msgid "Confirm test data deletion" msgstr "" -#: stock/views.py:508 +#: stock/views.py:485 msgid "Stock Item QR Code" msgstr "" -#: stock/views.py:683 +#: stock/views.py:660 msgid "Uninstall Stock Items" msgstr "" -#: stock/views.py:780 templates/js/translated/stock.js:353 +#: stock/views.py:757 templates/js/translated/stock.js:321 msgid "Confirm stock adjustment" msgstr "" -#: stock/views.py:791 +#: stock/views.py:768 msgid "Uninstalled stock items" msgstr "" -#: stock/views.py:813 +#: stock/views.py:790 msgid "Edit Stock Item" msgstr "" -#: stock/views.py:959 +#: stock/views.py:936 msgid "Create new Stock Location" msgstr "" -#: stock/views.py:1050 +#: stock/views.py:1027 msgid "Serialize Stock" msgstr "" -#: stock/views.py:1143 templates/js/translated/build.js:392 +#: stock/views.py:1120 msgid "Create new Stock Item" msgstr "" -#: stock/views.py:1285 +#: stock/views.py:1262 msgid "Duplicate Stock Item" msgstr "" -#: stock/views.py:1367 +#: stock/views.py:1344 msgid "Quantity cannot be negative" msgstr "" -#: stock/views.py:1467 +#: stock/views.py:1444 msgid "Delete Stock Location" msgstr "" -#: stock/views.py:1480 +#: stock/views.py:1457 msgid "Delete Stock Item" msgstr "" -#: stock/views.py:1491 +#: stock/views.py:1468 msgid "Delete Stock Tracking Entry" msgstr "" -#: stock/views.py:1498 +#: stock/views.py:1475 msgid "Edit Stock Tracking Entry" msgstr "" -#: stock/views.py:1507 +#: stock/views.py:1484 msgid "Add Stock Tracking Entry" msgstr "" @@ -6313,14 +6167,6 @@ msgstr "" msgid "Enter a search query" msgstr "" -#: templates/InvenTree/search.html:268 templates/js/translated/stock.js:699 -msgid "Shipped to customer" -msgstr "" - -#: templates/InvenTree/search.html:271 templates/js/translated/stock.js:709 -msgid "No stock location set" -msgstr "" - #: templates/InvenTree/settings/barcode.html:8 msgid "Barcode Settings" msgstr "" @@ -6365,6 +6211,14 @@ msgstr "" msgid "Setting" msgstr "" +#: templates/InvenTree/settings/login.html:9 +msgid "Login Settings" +msgstr "" + +#: templates/InvenTree/settings/login.html:22 templates/account/signup.html:5 +msgid "Signup" +msgstr "" + #: templates/InvenTree/settings/navbar.html:12 #: templates/InvenTree/settings/user_settings.html:9 msgid "User Settings" @@ -6382,7 +6236,7 @@ msgstr "" #: templates/InvenTree/settings/navbar.html:27 #: templates/InvenTree/settings/navbar.html:29 -#: templates/js/translated/tables.js:366 templates/search_form.html:6 +#: templates/js/translated/tables.js:375 templates/search_form.html:6 #: templates/search_form.html:8 msgid "Search" msgstr "" @@ -6397,38 +6251,48 @@ msgstr "" msgid "Reports" msgstr "" -#: templates/InvenTree/settings/navbar.html:46 -#: templates/InvenTree/settings/navbar.html:48 -#: templates/InvenTree/settings/settings.html:8 templates/navbar.html:94 +#: templates/InvenTree/settings/navbar.html:45 +#: templates/InvenTree/settings/navbar.html:47 +msgid "Forms" +msgstr "" + +#: templates/InvenTree/settings/navbar.html:52 +#: templates/InvenTree/settings/navbar.html:54 +#: templates/InvenTree/settings/settings.html:8 templates/navbar.html:90 msgid "Settings" msgstr "" -#: templates/InvenTree/settings/navbar.html:56 +#: templates/InvenTree/settings/navbar.html:62 msgid "InvenTree Settings" msgstr "" -#: templates/InvenTree/settings/navbar.html:59 -#: templates/InvenTree/settings/navbar.html:61 templates/stats.html:9 +#: templates/InvenTree/settings/navbar.html:65 +#: templates/InvenTree/settings/navbar.html:67 templates/stats.html:9 msgid "Server" msgstr "" -#: templates/InvenTree/settings/navbar.html:65 -#: templates/InvenTree/settings/navbar.html:67 -msgid "Barcodes" -msgstr "" - #: templates/InvenTree/settings/navbar.html:71 -#: templates/InvenTree/settings/navbar.html:73 -msgid "Currencies" +#: templates/InvenTree/settings/navbar.html:73 templates/navbar.html:87 +msgid "Login" msgstr "" #: templates/InvenTree/settings/navbar.html:77 #: templates/InvenTree/settings/navbar.html:79 -msgid "Reporting" +msgid "Barcodes" +msgstr "" + +#: templates/InvenTree/settings/navbar.html:83 +#: templates/InvenTree/settings/navbar.html:85 +msgid "Currencies" msgstr "" #: templates/InvenTree/settings/navbar.html:89 #: templates/InvenTree/settings/navbar.html:91 +msgid "Reporting" +msgstr "" + +#: templates/InvenTree/settings/navbar.html:101 +#: templates/InvenTree/settings/navbar.html:103 msgid "Categories" msgstr "" @@ -6469,21 +6333,21 @@ msgstr "" msgid "Edit setting" msgstr "" -#: templates/InvenTree/settings/settings.html:152 +#: templates/InvenTree/settings/settings.html:154 msgid "No category parameter templates found" msgstr "" -#: templates/InvenTree/settings/settings.html:174 -#: templates/InvenTree/settings/settings.html:273 +#: templates/InvenTree/settings/settings.html:176 +#: templates/InvenTree/settings/settings.html:275 msgid "Edit Template" msgstr "" -#: templates/InvenTree/settings/settings.html:175 -#: templates/InvenTree/settings/settings.html:274 +#: templates/InvenTree/settings/settings.html:177 +#: templates/InvenTree/settings/settings.html:276 msgid "Delete Template" msgstr "" -#: templates/InvenTree/settings/settings.html:253 +#: templates/InvenTree/settings/settings.html:255 msgid "No part parameter templates found" msgstr "" @@ -6495,70 +6359,140 @@ msgstr "" msgid "Stock Settings" msgstr "" -#: templates/InvenTree/settings/user.html:9 +#: templates/InvenTree/settings/user.html:11 msgid "Account Settings" msgstr "" -#: templates/InvenTree/settings/user.html:15 +#: templates/InvenTree/settings/user.html:19 #: templates/js/translated/helpers.js:26 msgid "Edit" msgstr "" -#: templates/InvenTree/settings/user.html:17 +#: templates/InvenTree/settings/user.html:21 +#: templates/account/password_reset_from_key.html:4 +#: templates/account/password_reset_from_key.html:7 msgid "Change Password" msgstr "" -#: templates/InvenTree/settings/user.html:24 -#: templates/registration/login.html:58 +#: templates/InvenTree/settings/user.html:28 msgid "Username" msgstr "" -#: templates/InvenTree/settings/user.html:28 +#: templates/InvenTree/settings/user.html:32 msgid "First Name" msgstr "" -#: templates/InvenTree/settings/user.html:32 +#: templates/InvenTree/settings/user.html:36 msgid "Last Name" msgstr "" -#: templates/InvenTree/settings/user.html:36 -msgid "Email Address" +#: templates/InvenTree/settings/user.html:42 +msgid "E-Mail" msgstr "" -#: templates/InvenTree/settings/user.html:42 -msgid "Theme Settings" +#: templates/InvenTree/settings/user.html:47 +msgid "The following e-mail addresses are associated with your account:" +msgstr "" + +#: templates/InvenTree/settings/user.html:61 +msgid "Verified" msgstr "" #: templates/InvenTree/settings/user.html:63 +msgid "Unverified" +msgstr "" + +#: templates/InvenTree/settings/user.html:65 +msgid "Primary" +msgstr "" + +#: templates/InvenTree/settings/user.html:71 +msgid "Make Primary" +msgstr "" + +#: templates/InvenTree/settings/user.html:72 +msgid "Re-send Verification" +msgstr "" + +#: templates/InvenTree/settings/user.html:73 +#: templates/InvenTree/settings/user.html:130 +msgid "Remove" +msgstr "" + +#: templates/InvenTree/settings/user.html:80 +msgid "Warning:" +msgstr "" + +#: templates/InvenTree/settings/user.html:81 +msgid "You currently do not have any e-mail address set up. You should really add an e-mail address so you can receive notifications, reset your password, etc." +msgstr "" + +#: templates/InvenTree/settings/user.html:88 +msgid "Add E-mail Address" +msgstr "" + +#: templates/InvenTree/settings/user.html:93 +msgid "Add E-mail" +msgstr "" + +#: templates/InvenTree/settings/user.html:100 +msgid "Social Accounts" +msgstr "" + +#: templates/InvenTree/settings/user.html:105 +msgid "You can sign in to your account using any of the following third party accounts:" +msgstr "" + +#: templates/InvenTree/settings/user.html:138 +msgid "You currently have no social network accounts connected to this account." +msgstr "" + +#: templates/InvenTree/settings/user.html:142 +msgid "Add a 3rd Party Account" +msgstr "" + +#: templates/InvenTree/settings/user.html:153 +msgid "Theme Settings" +msgstr "" + +#: templates/InvenTree/settings/user.html:174 msgid "Set Theme" msgstr "" -#: templates/InvenTree/settings/user.html:70 +#: templates/InvenTree/settings/user.html:181 msgid "Language Settings" msgstr "" -#: templates/InvenTree/settings/user.html:89 +#: templates/InvenTree/settings/user.html:200 #, python-format msgid "%(lang_translated)s%% translated" msgstr "" -#: templates/InvenTree/settings/user.html:91 +#: templates/InvenTree/settings/user.html:202 msgid "No translations available" msgstr "" -#: templates/InvenTree/settings/user.html:98 +#: templates/InvenTree/settings/user.html:209 msgid "Set Language" msgstr "" -#: templates/InvenTree/settings/user.html:103 +#: templates/InvenTree/settings/user.html:214 msgid "Help the translation efforts!" msgstr "" -#: templates/InvenTree/settings/user.html:104 +#: templates/InvenTree/settings/user.html:215 #, python-format msgid "Native language translation of the InvenTree web application is community contributed via crowdin. Contributions are welcomed and encouraged." msgstr "" +#: templates/InvenTree/settings/user.html:223 +msgid "Do you really want to remove the selected e-mail address?" +msgstr "" + +#: templates/InvenTree/settings/user_forms.html:9 +msgid "Form Settings" +msgstr "" + #: templates/InvenTree/settings/user_homepage.html:9 msgid "Home Page Settings" msgstr "" @@ -6641,11 +6575,108 @@ msgstr "" #: templates/about.html:107 templates/js/translated/modals.js:50 #: templates/js/translated/modals.js:584 templates/js/translated/modals.js:678 -#: templates/js/translated/modals.js:971 templates/modals.html:29 +#: templates/js/translated/modals.js:982 templates/modals.html:29 #: templates/modals.html:54 msgid "Close" msgstr "" +#: templates/account/email_confirm.html:6 +#: templates/account/email_confirm.html:10 +msgid "Confirm E-mail Address" +msgstr "" + +#: templates/account/email_confirm.html:16 +#, python-format +msgid "Please confirm that %(email)s is an e-mail address for user %(user_display)s." +msgstr "" + +#: templates/account/email_confirm.html:27 +#, python-format +msgid "This e-mail confirmation link expired or is invalid. Please issue a new e-mail confirmation request." +msgstr "" + +#: templates/account/login.html:5 templates/account/login.html:14 +#: templates/account/login.html:36 +msgid "Sign In" +msgstr "" + +#: templates/account/login.html:19 +#, python-format +msgid "Please sign in with one\n" +"of your existing third party accounts or sign up\n" +"for a account and sign in below:" +msgstr "" + +#: templates/account/login.html:23 +#, python-format +msgid "If you have not created an account yet, then please\n" +"sign up first." +msgstr "" + +#: templates/account/login.html:38 +msgid "Forgot Password?" +msgstr "" + +#: templates/account/login.html:45 +msgid "or use SSO" +msgstr "" + +#: templates/account/logout.html:5 templates/account/logout.html:8 +#: templates/account/logout.html:17 +msgid "Sign Out" +msgstr "" + +#: templates/account/logout.html:10 +msgid "Are you sure you want to sign out?" +msgstr "" + +#: templates/account/password_reset.html:5 +#: templates/account/password_reset.html:12 +msgid "Password Reset" +msgstr "" + +#: templates/account/password_reset.html:18 +msgid "Forgotten your password? Enter your e-mail address below, and we'll send you an e-mail allowing you to reset it." +msgstr "" + +#: templates/account/password_reset.html:23 +msgid "Reset My Password" +msgstr "" + +#: templates/account/password_reset.html:27 templates/account/signup.html:36 +msgid "This function is currently disabled. Please contact an administrator." +msgstr "" + +#: templates/account/password_reset_from_key.html:7 +msgid "Bad Token" +msgstr "" + +#: templates/account/password_reset_from_key.html:11 +#, python-format +msgid "The password reset link was invalid, possibly because it has already been used. Please request a new password reset." +msgstr "" + +#: templates/account/password_reset_from_key.html:17 +msgid "change password" +msgstr "" + +#: templates/account/password_reset_from_key.html:20 +msgid "Your password is now changed." +msgstr "" + +#: templates/account/signup.html:11 templates/account/signup.html:22 +msgid "Sign Up" +msgstr "" + +#: templates/account/signup.html:13 +#, python-format +msgid "Already have an account? Then please sign in." +msgstr "" + +#: templates/account/signup.html:27 +msgid "Or use a SSO-provider for signup" +msgstr "" + #: templates/image_download.html:8 msgid "Specify URL for downloading image" msgstr "" @@ -6675,7 +6706,7 @@ msgid "Select Test Report Template" msgstr "" #: templates/js/report.js:98 templates/js/translated/label.js:29 -#: templates/js/translated/report.js:118 templates/js/translated/stock.js:313 +#: templates/js/translated/report.js:118 templates/js/translated/stock.js:297 msgid "Select Stock Items" msgstr "" @@ -6707,8 +6738,8 @@ msgstr "" msgid "No report templates found which match selected build(s)" msgstr "" -#: templates/js/report.js:205 templates/js/translated/label.js:134 -#: templates/js/translated/report.js:225 +#: templates/js/report.js:205 templates/js/translated/build.js:948 +#: templates/js/translated/label.js:134 templates/js/translated/report.js:225 msgid "Select Parts" msgstr "" @@ -6741,11 +6772,11 @@ msgstr "" msgid "Sales Order(s) must be selected before printing report" msgstr "" -#: templates/js/translated/api.js:174 templates/js/translated/modals.js:1041 +#: templates/js/translated/api.js:174 templates/js/translated/modals.js:1052 msgid "No Response" msgstr "" -#: templates/js/translated/api.js:175 templates/js/translated/modals.js:1042 +#: templates/js/translated/api.js:175 templates/js/translated/modals.js:1053 msgid "No response from the InvenTree server" msgstr "" @@ -6757,35 +6788,35 @@ msgstr "" msgid "API request returned error code 400" msgstr "" -#: templates/js/translated/api.js:186 templates/js/translated/modals.js:1051 +#: templates/js/translated/api.js:186 templates/js/translated/modals.js:1062 msgid "Error 401: Not Authenticated" msgstr "" -#: templates/js/translated/api.js:187 templates/js/translated/modals.js:1052 +#: templates/js/translated/api.js:187 templates/js/translated/modals.js:1063 msgid "Authentication credentials not supplied" msgstr "" -#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1056 +#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1067 msgid "Error 403: Permission Denied" msgstr "" -#: templates/js/translated/api.js:192 templates/js/translated/modals.js:1057 +#: templates/js/translated/api.js:192 templates/js/translated/modals.js:1068 msgid "You do not have the required permissions to access this function" msgstr "" -#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1061 +#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1072 msgid "Error 404: Resource Not Found" msgstr "" -#: templates/js/translated/api.js:197 templates/js/translated/modals.js:1062 +#: templates/js/translated/api.js:197 templates/js/translated/modals.js:1073 msgid "The requested resource could not be located on the server" msgstr "" -#: templates/js/translated/api.js:201 templates/js/translated/modals.js:1066 +#: templates/js/translated/api.js:201 templates/js/translated/modals.js:1077 msgid "Error 408: Timeout" msgstr "" -#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1067 +#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1078 msgid "Connection timeout while requesting data from server" msgstr "" @@ -6842,7 +6873,7 @@ msgid "Unknown response from server" msgstr "" #: templates/js/translated/barcode.js:141 -#: templates/js/translated/modals.js:1031 +#: templates/js/translated/modals.js:1042 msgid "Invalid server response" msgstr "" @@ -6870,7 +6901,7 @@ msgstr "" msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:398 templates/js/translated/stock.js:289 +#: templates/js/translated/barcode.js:398 templates/js/translated/stock.js:273 msgid "Remove stock item" msgstr "" @@ -6912,115 +6943,181 @@ msgstr "" msgid "Barcode does not match a valid location" msgstr "" -#: templates/js/translated/bom.js:215 templates/js/translated/build.js:1169 +#: templates/js/translated/bom.js:234 templates/js/translated/build.js:1495 msgid "Open subassembly" msgstr "" -#: templates/js/translated/bom.js:287 +#: templates/js/translated/bom.js:288 templates/js/translated/build.js:744 +#: templates/js/translated/build.js:1345 templates/js/translated/build.js:1522 +msgid "Available" +msgstr "" + +#: templates/js/translated/bom.js:307 msgid "Purchase Price Range" msgstr "" -#: templates/js/translated/bom.js:294 +#: templates/js/translated/bom.js:314 msgid "Purchase Price Average" msgstr "" -#: templates/js/translated/bom.js:342 templates/js/translated/bom.js:428 +#: templates/js/translated/bom.js:363 templates/js/translated/bom.js:449 msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:402 +#: templates/js/translated/bom.js:415 templates/js/translated/build.js:798 +#: templates/js/translated/build.js:1545 templates/js/translated/order.js:1285 +msgid "Actions" +msgstr "" + +#: templates/js/translated/bom.js:423 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:404 +#: templates/js/translated/bom.js:425 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:406 templates/js/translated/bom.js:569 +#: templates/js/translated/bom.js:427 templates/js/translated/bom.js:590 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:408 templates/js/translated/bom.js:554 +#: templates/js/translated/bom.js:429 templates/js/translated/bom.js:575 msgid "Delete BOM Item" msgstr "" -#: templates/js/translated/bom.js:499 templates/js/translated/build.js:483 -#: templates/js/translated/build.js:1267 +#: templates/js/translated/bom.js:520 templates/js/translated/build.js:485 +#: templates/js/translated/build.js:1593 msgid "No BOM items found" msgstr "" -#: templates/js/translated/build.js:69 +#: templates/js/translated/build.js:71 msgid "Edit Build Order" msgstr "" -#: templates/js/translated/build.js:95 +#: templates/js/translated/build.js:105 msgid "Create Build Order" msgstr "" -#: templates/js/translated/build.js:127 -msgid "Auto-allocate stock items to this output" +#: templates/js/translated/build.js:138 +msgid "Allocate stock items to this build output" msgstr "" -#: templates/js/translated/build.js:135 +#: templates/js/translated/build.js:146 msgid "Unallocate stock from build output" msgstr "" -#: templates/js/translated/build.js:145 +#: templates/js/translated/build.js:155 msgid "Complete build output" msgstr "" -#: templates/js/translated/build.js:154 +#: templates/js/translated/build.js:164 msgid "Delete build output" msgstr "" -#: templates/js/translated/build.js:249 +#: templates/js/translated/build.js:265 msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:287 templates/js/translated/order.js:813 +#: templates/js/translated/build.js:303 templates/js/translated/order.js:1159 msgid "Location not specified" msgstr "" -#: templates/js/translated/build.js:391 templates/stock_table.html:20 -msgid "New Stock Item" +#: templates/js/translated/build.js:675 templates/js/translated/build.js:1356 +#: templates/js/translated/order.js:1292 +msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/build.js:702 +#: templates/js/translated/build.js:677 templates/js/translated/build.js:1357 +#: templates/js/translated/order.js:1293 +msgid "Delete stock allocation" +msgstr "" + +#: templates/js/translated/build.js:695 +msgid "Edit Allocation" +msgstr "" + +#: templates/js/translated/build.js:705 +msgid "Remove Allocation" +msgstr "" + +#: templates/js/translated/build.js:718 msgid "Required Part" msgstr "" -#: templates/js/translated/build.js:723 +#: templates/js/translated/build.js:739 msgid "Quantity Per" msgstr "" -#: templates/js/translated/build.js:793 templates/js/translated/build.js:1231 +#: templates/js/translated/build.js:749 templates/js/translated/build.js:975 +#: templates/js/translated/build.js:1352 templates/js/translated/order.js:1514 +msgid "Allocated" +msgstr "" + +#: templates/js/translated/build.js:805 templates/js/translated/build.js:1553 +#: templates/js/translated/order.js:1567 +msgid "Build stock" +msgstr "" + +#: templates/js/translated/build.js:809 templates/js/translated/build.js:1557 #: templates/stock_table.html:59 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:846 +#: templates/js/translated/build.js:812 templates/js/translated/order.js:1560 +msgid "Allocate stock" +msgstr "" + +#: templates/js/translated/build.js:880 +msgid "Specify stock allocation quantity" +msgstr "" + +#: templates/js/translated/build.js:949 +msgid "You must select at least one part to allocate" +msgstr "" + +#: templates/js/translated/build.js:963 +msgid "Select source location (leave blank to take from all locations)" +msgstr "" + +#: templates/js/translated/build.js:992 +msgid "Confirm stock allocation" +msgstr "" + +#: templates/js/translated/build.js:993 +msgid "Allocate Stock Items to Build Order" +msgstr "" + +#: templates/js/translated/build.js:1004 +msgid "No matching stock locations" +msgstr "" + +#: templates/js/translated/build.js:1048 +msgid "No matching stock items" +msgstr "" + +#: templates/js/translated/build.js:1172 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:863 templates/js/translated/part.js:845 -#: templates/js/translated/part.js:1123 templates/js/translated/stock.js:783 -#: templates/js/translated/stock.js:1477 +#: templates/js/translated/build.js:1189 templates/js/translated/part.js:856 +#: templates/js/translated/part.js:1134 templates/js/translated/stock.js:762 +#: templates/js/translated/stock.js:1456 msgid "Select" msgstr "" -#: templates/js/translated/build.js:883 +#: templates/js/translated/build.js:1209 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:944 templates/js/translated/stock.js:1696 +#: templates/js/translated/build.js:1270 templates/js/translated/stock.js:1675 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:956 +#: templates/js/translated/build.js:1282 msgid "No information" msgstr "" -#: templates/js/translated/build.js:1007 +#: templates/js/translated/build.js:1333 msgid "No parts allocated for" msgstr "" @@ -7040,7 +7137,7 @@ msgstr "" msgid "Delete Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:164 templates/js/translated/order.js:86 +#: templates/js/translated/company.js:164 templates/js/translated/order.js:89 msgid "Add Supplier" msgstr "" @@ -7084,53 +7181,53 @@ msgstr "" msgid "Delete Manufacturer Parts" msgstr "" -#: templates/js/translated/company.js:475 +#: templates/js/translated/company.js:476 msgid "No manufacturer parts found" msgstr "" -#: templates/js/translated/company.js:495 -#: templates/js/translated/company.js:751 templates/js/translated/part.js:416 -#: templates/js/translated/part.js:501 +#: templates/js/translated/company.js:496 +#: templates/js/translated/company.js:753 templates/js/translated/part.js:427 +#: templates/js/translated/part.js:512 msgid "Template part" msgstr "" -#: templates/js/translated/company.js:499 -#: templates/js/translated/company.js:755 templates/js/translated/part.js:420 -#: templates/js/translated/part.js:505 +#: templates/js/translated/company.js:500 +#: templates/js/translated/company.js:757 templates/js/translated/part.js:431 +#: templates/js/translated/part.js:516 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:626 templates/js/translated/part.js:593 +#: templates/js/translated/company.js:627 templates/js/translated/part.js:604 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:663 templates/js/translated/part.js:635 +#: templates/js/translated/company.js:664 templates/js/translated/part.js:646 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:664 templates/js/translated/part.js:636 +#: templates/js/translated/company.js:665 templates/js/translated/part.js:647 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:683 templates/js/translated/part.js:653 +#: templates/js/translated/company.js:684 templates/js/translated/part.js:664 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:694 templates/js/translated/part.js:665 +#: templates/js/translated/company.js:695 templates/js/translated/part.js:676 msgid "Delete Parameter" msgstr "" -#: templates/js/translated/company.js:731 +#: templates/js/translated/company.js:733 msgid "No supplier parts found" msgstr "" #: templates/js/translated/filters.js:178 -#: templates/js/translated/filters.js:402 +#: templates/js/translated/filters.js:407 msgid "true" msgstr "" #: templates/js/translated/filters.js:182 -#: templates/js/translated/filters.js:403 +#: templates/js/translated/filters.js:408 msgid "false" msgstr "" @@ -7138,19 +7235,19 @@ msgstr "" msgid "Select filter" msgstr "" -#: templates/js/translated/filters.js:279 +#: templates/js/translated/filters.js:284 msgid "Reload data" msgstr "" -#: templates/js/translated/filters.js:281 +#: templates/js/translated/filters.js:286 msgid "Add new filter" msgstr "" -#: templates/js/translated/filters.js:284 +#: templates/js/translated/filters.js:289 msgid "Clear all filters" msgstr "" -#: templates/js/translated/filters.js:312 +#: templates/js/translated/filters.js:317 msgid "Create filter" msgstr "" @@ -7175,16 +7272,20 @@ msgstr "" msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:889 templates/modals.html:21 +#: templates/js/translated/forms.js:968 templates/modals.html:21 #: templates/modals.html:47 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1379 +#: templates/js/translated/forms.js:1323 +msgid "No results found" +msgstr "" + +#: templates/js/translated/forms.js:1525 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:1593 +#: templates/js/translated/forms.js:1742 msgid "Clear input" msgstr "" @@ -7247,7 +7348,7 @@ msgid "Cancel" msgstr "" #: templates/js/translated/modals.js:77 templates/js/translated/modals.js:119 -#: templates/js/translated/modals.js:677 templates/js/translated/modals.js:970 +#: templates/js/translated/modals.js:677 templates/js/translated/modals.js:981 #: templates/modals.html:30 templates/modals.html:55 msgid "Submit" msgstr "" @@ -7272,31 +7373,31 @@ msgstr "" msgid "Loading Data" msgstr "" -#: templates/js/translated/modals.js:922 +#: templates/js/translated/modals.js:933 msgid "Invalid response from server" msgstr "" -#: templates/js/translated/modals.js:922 +#: templates/js/translated/modals.js:933 msgid "Form data missing from server response" msgstr "" -#: templates/js/translated/modals.js:934 +#: templates/js/translated/modals.js:945 msgid "Error posting form data" msgstr "" -#: templates/js/translated/modals.js:1031 +#: templates/js/translated/modals.js:1042 msgid "JSON response missing form data" msgstr "" -#: templates/js/translated/modals.js:1046 +#: templates/js/translated/modals.js:1057 msgid "Error 400: Bad Request" msgstr "" -#: templates/js/translated/modals.js:1047 +#: templates/js/translated/modals.js:1058 msgid "Server returned error code 400" msgstr "" -#: templates/js/translated/modals.js:1070 +#: templates/js/translated/modals.js:1081 msgid "Error requesting form data" msgstr "" @@ -7304,70 +7405,195 @@ msgstr "" msgid "Company ID" msgstr "" -#: templates/js/translated/model_renderers.js:82 +#: templates/js/translated/model_renderers.js:90 +msgid "Stock ID" +msgstr "" + +#: templates/js/translated/model_renderers.js:125 msgid "Location ID" msgstr "" -#: templates/js/translated/model_renderers.js:99 +#: templates/js/translated/model_renderers.js:142 msgid "Build ID" msgstr "" -#: templates/js/translated/model_renderers.js:119 +#: templates/js/translated/model_renderers.js:177 msgid "Part ID" msgstr "" -#: templates/js/translated/model_renderers.js:171 +#: templates/js/translated/model_renderers.js:231 +msgid "Order ID" +msgstr "" + +#: templates/js/translated/model_renderers.js:251 msgid "Category ID" msgstr "" -#: templates/js/translated/model_renderers.js:208 +#: templates/js/translated/model_renderers.js:288 msgid "Manufacturer Part ID" msgstr "" -#: templates/js/translated/model_renderers.js:237 +#: templates/js/translated/model_renderers.js:317 msgid "Supplier Part ID" msgstr "" -#: templates/js/translated/order.js:45 +#: templates/js/translated/order.js:48 msgid "Add Customer" msgstr "" -#: templates/js/translated/order.js:70 +#: templates/js/translated/order.js:73 msgid "Create Sales Order" msgstr "" -#: templates/js/translated/order.js:295 +#: templates/js/translated/order.js:207 +msgid "Export Order" +msgstr "" + +#: templates/js/translated/order.js:210 templates/js/translated/stock.js:96 +msgid "Format" +msgstr "" + +#: templates/js/translated/order.js:211 templates/js/translated/stock.js:97 +msgid "Select file format" +msgstr "" + +#: templates/js/translated/order.js:299 +msgid "Select Line Items" +msgstr "" + +#: templates/js/translated/order.js:300 +msgid "At least one line item must be selected" +msgstr "" + +#: templates/js/translated/order.js:325 +msgid "Quantity to receive" +msgstr "" + +#: templates/js/translated/order.js:359 templates/js/translated/stock.js:1343 +msgid "Stock Status" +msgstr "" + +#: templates/js/translated/order.js:426 +msgid "Order Code" +msgstr "" + +#: templates/js/translated/order.js:427 +msgid "Ordered" +msgstr "" + +#: templates/js/translated/order.js:429 +msgid "Receive" +msgstr "" + +#: templates/js/translated/order.js:448 +msgid "Confirm receipt of items" +msgstr "" + +#: templates/js/translated/order.js:449 +msgid "Receive Purchase Order Items" +msgstr "" + +#: templates/js/translated/order.js:626 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/order.js:320 templates/js/translated/order.js:682 +#: templates/js/translated/order.js:651 templates/js/translated/order.js:1028 msgid "Order is overdue" msgstr "" -#: templates/js/translated/order.js:452 +#: templates/js/translated/order.js:749 templates/js/translated/order.js:1602 +msgid "Edit Line Item" +msgstr "" + +#: templates/js/translated/order.js:761 templates/js/translated/order.js:1613 +msgid "Delete Line Item" +msgstr "" + +#: templates/js/translated/order.js:800 msgid "No line items found" msgstr "" -#: templates/js/translated/order.js:617 +#: templates/js/translated/order.js:827 templates/js/translated/order.js:1432 +msgid "Total" +msgstr "" + +#: templates/js/translated/order.js:880 templates/js/translated/order.js:1457 +#: templates/js/translated/part.js:1343 templates/js/translated/part.js:1554 +msgid "Unit Price" +msgstr "" + +#: templates/js/translated/order.js:889 templates/js/translated/order.js:1464 +msgid "Total price" +msgstr "" + +#: templates/js/translated/order.js:962 templates/js/translated/order.js:1573 +msgid "Edit line item" +msgstr "" + +#: templates/js/translated/order.js:963 msgid "Delete line item" msgstr "" -#: templates/js/translated/order.js:621 +#: templates/js/translated/order.js:967 msgid "Receive line item" msgstr "" -#: templates/js/translated/order.js:658 +#: templates/js/translated/order.js:1004 msgid "No sales orders found" msgstr "" -#: templates/js/translated/order.js:696 +#: templates/js/translated/order.js:1042 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/order.js:774 +#: templates/js/translated/order.js:1120 msgid "No sales order allocations found" msgstr "" +#: templates/js/translated/order.js:1213 +msgid "Edit Stock Allocation" +msgstr "" + +#: templates/js/translated/order.js:1231 +msgid "Delete Stock Allocation" +msgstr "" + +#: templates/js/translated/order.js:1273 +msgid "Stock location not specified" +msgstr "" + +#: templates/js/translated/order.js:1514 +msgid "Fulfilled" +msgstr "" + +#: templates/js/translated/order.js:1557 +msgid "Allocate serial numbers" +msgstr "" + +#: templates/js/translated/order.js:1563 +msgid "Purchase stock" +msgstr "" + +#: templates/js/translated/order.js:1570 templates/js/translated/order.js:1725 +msgid "Calculate price" +msgstr "" + +#: templates/js/translated/order.js:1574 +msgid "Delete line item " +msgstr "" + +#: templates/js/translated/order.js:1673 +msgid "Allocate Stock Item" +msgstr "" + +#: templates/js/translated/order.js:1733 +msgid "Update Unit Price" +msgstr "" + +#: templates/js/translated/order.js:1747 +msgid "No matching line items" +msgstr "" + #: templates/js/translated/part.js:49 msgid "Part Attributes" msgstr "" @@ -7388,396 +7614,396 @@ msgstr "" msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:159 +#: templates/js/translated/part.js:164 msgid "Create Initial Stock" msgstr "" -#: templates/js/translated/part.js:160 +#: templates/js/translated/part.js:165 msgid "Create an initial stock item for this part" msgstr "" -#: templates/js/translated/part.js:167 +#: templates/js/translated/part.js:172 msgid "Initial Stock Quantity" msgstr "" -#: templates/js/translated/part.js:168 +#: templates/js/translated/part.js:173 msgid "Specify initial stock quantity for this part" msgstr "" -#: templates/js/translated/part.js:175 templates/js/translated/stock.js:330 +#: templates/js/translated/part.js:180 msgid "Select destination stock location" msgstr "" -#: templates/js/translated/part.js:186 +#: templates/js/translated/part.js:191 msgid "Copy Category Parameters" msgstr "" -#: templates/js/translated/part.js:187 +#: templates/js/translated/part.js:192 msgid "Copy parameter templates from selected part category" msgstr "" -#: templates/js/translated/part.js:195 +#: templates/js/translated/part.js:200 msgid "Add Supplier Data" msgstr "" -#: templates/js/translated/part.js:196 +#: templates/js/translated/part.js:201 msgid "Create initial supplier data for this part" msgstr "" -#: templates/js/translated/part.js:252 +#: templates/js/translated/part.js:257 msgid "Copy Image" msgstr "" -#: templates/js/translated/part.js:253 +#: templates/js/translated/part.js:258 msgid "Copy image from original part" msgstr "" -#: templates/js/translated/part.js:260 +#: templates/js/translated/part.js:265 msgid "Copy BOM" msgstr "" -#: templates/js/translated/part.js:261 +#: templates/js/translated/part.js:266 msgid "Copy bill of materials from original part" msgstr "" -#: templates/js/translated/part.js:268 +#: templates/js/translated/part.js:273 msgid "Copy Parameters" msgstr "" -#: templates/js/translated/part.js:269 +#: templates/js/translated/part.js:274 msgid "Copy parameter data from original part" msgstr "" -#: templates/js/translated/part.js:282 +#: templates/js/translated/part.js:287 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:323 +#: templates/js/translated/part.js:331 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:408 templates/js/translated/part.js:493 +#: templates/js/translated/part.js:419 templates/js/translated/part.js:504 msgid "Trackable part" msgstr "" -#: templates/js/translated/part.js:412 templates/js/translated/part.js:497 +#: templates/js/translated/part.js:423 templates/js/translated/part.js:508 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:424 +#: templates/js/translated/part.js:435 msgid "Starred part" msgstr "" -#: templates/js/translated/part.js:428 +#: templates/js/translated/part.js:439 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:543 +#: templates/js/translated/part.js:554 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:732 templates/js/translated/part.js:994 +#: templates/js/translated/part.js:743 templates/js/translated/part.js:1005 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:921 +#: templates/js/translated/part.js:932 msgid "No category" msgstr "" -#: templates/js/translated/part.js:944 -#: templates/js/translated/table_filters.js:350 +#: templates/js/translated/part.js:955 +#: templates/js/translated/table_filters.js:359 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:1148 templates/js/translated/stock.js:1501 +#: templates/js/translated/part.js:1159 templates/js/translated/stock.js:1480 msgid "Path" msgstr "" -#: templates/js/translated/part.js:1191 +#: templates/js/translated/part.js:1202 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:1242 templates/js/translated/stock.js:514 +#: templates/js/translated/part.js:1253 templates/js/translated/stock.js:493 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:1243 templates/js/translated/stock.js:515 +#: templates/js/translated/part.js:1254 templates/js/translated/stock.js:494 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:1249 +#: templates/js/translated/part.js:1260 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:1274 +#: templates/js/translated/part.js:1282 +msgid "Edit Test Result Template" +msgstr "" + +#: templates/js/translated/part.js:1296 +msgid "Delete Test Result Template" +msgstr "" + +#: templates/js/translated/part.js:1321 #, python-brace-format msgid "No ${human_name} information found" msgstr "" -#: templates/js/translated/part.js:1329 +#: templates/js/translated/part.js:1376 #, python-brace-format msgid "Edit ${human_name}" msgstr "" -#: templates/js/translated/part.js:1330 +#: templates/js/translated/part.js:1377 #, python-brace-format msgid "Delete ${human_name}" msgstr "" -#: templates/js/translated/part.js:1431 +#: templates/js/translated/part.js:1478 msgid "Single Price" msgstr "" -#: templates/js/translated/part.js:1450 +#: templates/js/translated/part.js:1497 msgid "Single Price Difference" msgstr "" -#: templates/js/translated/stock.js:66 +#: templates/js/translated/stock.js:63 msgid "Parent stock location" msgstr "" -#: templates/js/translated/stock.js:96 +#: templates/js/translated/stock.js:93 msgid "Export Stock" msgstr "" -#: templates/js/translated/stock.js:99 -msgid "Format" -msgstr "" - -#: templates/js/translated/stock.js:100 -msgid "Select file format" -msgstr "" - -#: templates/js/translated/stock.js:124 +#: templates/js/translated/stock.js:104 msgid "Include Sublocations" msgstr "" -#: templates/js/translated/stock.js:125 +#: templates/js/translated/stock.js:105 msgid "Include stock items in sublocations" msgstr "" -#: templates/js/translated/stock.js:167 +#: templates/js/translated/stock.js:147 msgid "Transfer Stock" msgstr "" -#: templates/js/translated/stock.js:168 +#: templates/js/translated/stock.js:148 msgid "Move" msgstr "" -#: templates/js/translated/stock.js:174 +#: templates/js/translated/stock.js:154 msgid "Count Stock" msgstr "" -#: templates/js/translated/stock.js:175 +#: templates/js/translated/stock.js:155 msgid "Count" msgstr "" -#: templates/js/translated/stock.js:179 +#: templates/js/translated/stock.js:159 msgid "Remove Stock" msgstr "" -#: templates/js/translated/stock.js:180 +#: templates/js/translated/stock.js:160 msgid "Take" msgstr "" -#: templates/js/translated/stock.js:184 +#: templates/js/translated/stock.js:164 msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:185 users/models.py:190 +#: templates/js/translated/stock.js:165 users/models.py:195 msgid "Add" msgstr "" -#: templates/js/translated/stock.js:189 templates/stock_table.html:63 +#: templates/js/translated/stock.js:169 templates/stock_table.html:63 msgid "Delete Stock" msgstr "" -#: templates/js/translated/stock.js:278 +#: templates/js/translated/stock.js:258 msgid "Quantity cannot be adjusted for serialized stock" msgstr "" -#: templates/js/translated/stock.js:278 +#: templates/js/translated/stock.js:258 msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:314 +#: templates/js/translated/stock.js:298 msgid "You must select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:339 -msgid "Stock transaction notes" -msgstr "" - -#: templates/js/translated/stock.js:477 +#: templates/js/translated/stock.js:456 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:479 +#: templates/js/translated/stock.js:458 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:484 +#: templates/js/translated/stock.js:463 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:510 +#: templates/js/translated/stock.js:489 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:536 +#: templates/js/translated/stock.js:515 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:584 +#: templates/js/translated/stock.js:563 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:691 +#: templates/js/translated/stock.js:670 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:695 +#: templates/js/translated/stock.js:674 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:703 +#: templates/js/translated/stock.js:678 +msgid "Shipped to customer" +msgstr "" + +#: templates/js/translated/stock.js:682 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:865 +#: templates/js/translated/stock.js:688 +msgid "No stock location set" +msgstr "" + +#: templates/js/translated/stock.js:844 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:870 +#: templates/js/translated/stock.js:849 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:873 +#: templates/js/translated/stock.js:852 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:877 +#: templates/js/translated/stock.js:856 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:879 +#: templates/js/translated/stock.js:858 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:883 +#: templates/js/translated/stock.js:862 msgid "Stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:887 +#: templates/js/translated/stock.js:866 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:894 +#: templates/js/translated/stock.js:873 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:896 +#: templates/js/translated/stock.js:875 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:898 +#: templates/js/translated/stock.js:877 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:902 +#: templates/js/translated/stock.js:881 #: templates/js/translated/table_filters.js:161 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:956 +#: templates/js/translated/stock.js:935 msgid "Stocktake" msgstr "" -#: templates/js/translated/stock.js:1029 +#: templates/js/translated/stock.js:1008 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:1067 +#: templates/js/translated/stock.js:1046 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:1088 templates/js/translated/stock.js:1136 +#: templates/js/translated/stock.js:1067 templates/js/translated/stock.js:1115 msgid "items" msgstr "" -#: templates/js/translated/stock.js:1176 +#: templates/js/translated/stock.js:1155 msgid "batches" msgstr "" -#: templates/js/translated/stock.js:1203 +#: templates/js/translated/stock.js:1182 msgid "locations" msgstr "" -#: templates/js/translated/stock.js:1205 +#: templates/js/translated/stock.js:1184 msgid "Undefined location" msgstr "" -#: templates/js/translated/stock.js:1364 -msgid "Stock Status" -msgstr "" - -#: templates/js/translated/stock.js:1379 +#: templates/js/translated/stock.js:1358 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:1393 +#: templates/js/translated/stock.js:1372 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:1394 +#: templates/js/translated/stock.js:1373 msgid "Status code must be selected" msgstr "" -#: templates/js/translated/stock.js:1533 +#: templates/js/translated/stock.js:1512 msgid "Invalid date" msgstr "" -#: templates/js/translated/stock.js:1580 +#: templates/js/translated/stock.js:1559 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:1599 +#: templates/js/translated/stock.js:1578 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:1618 +#: templates/js/translated/stock.js:1597 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:1636 +#: templates/js/translated/stock.js:1615 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:1659 +#: templates/js/translated/stock.js:1638 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:1667 +#: templates/js/translated/stock.js:1646 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:1708 +#: templates/js/translated/stock.js:1687 msgid "Edit tracking entry" msgstr "" -#: templates/js/translated/stock.js:1709 +#: templates/js/translated/stock.js:1688 msgid "Delete tracking entry" msgstr "" -#: templates/js/translated/stock.js:1833 +#: templates/js/translated/stock.js:1812 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:1856 +#: templates/js/translated/stock.js:1835 msgid "Serial" msgstr "" -#: templates/js/translated/stock.js:1884 +#: templates/js/translated/stock.js:1863 msgid "Uninstall Stock Item" msgstr "" @@ -7808,7 +8034,7 @@ msgstr "" #: templates/js/translated/table_filters.js:103 #: templates/js/translated/table_filters.js:104 -#: templates/js/translated/table_filters.js:327 +#: templates/js/translated/table_filters.js:336 msgid "Include subcategories" msgstr "" @@ -7850,7 +8076,7 @@ msgid "Batch code" msgstr "" #: templates/js/translated/table_filters.js:141 -#: templates/js/translated/table_filters.js:317 +#: templates/js/translated/table_filters.js:326 msgid "Active parts" msgstr "" @@ -7935,89 +8161,89 @@ msgstr "" msgid "Build status" msgstr "" -#: templates/js/translated/table_filters.js:282 -#: templates/js/translated/table_filters.js:299 +#: templates/js/translated/table_filters.js:291 +#: templates/js/translated/table_filters.js:308 msgid "Order status" msgstr "" -#: templates/js/translated/table_filters.js:287 -#: templates/js/translated/table_filters.js:304 +#: templates/js/translated/table_filters.js:296 +#: templates/js/translated/table_filters.js:313 msgid "Outstanding" msgstr "" -#: templates/js/translated/table_filters.js:328 +#: templates/js/translated/table_filters.js:337 msgid "Include parts in subcategories" msgstr "" -#: templates/js/translated/table_filters.js:332 +#: templates/js/translated/table_filters.js:341 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:333 +#: templates/js/translated/table_filters.js:342 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:338 +#: templates/js/translated/table_filters.js:347 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:346 +#: templates/js/translated/table_filters.js:355 msgid "Stock available" msgstr "" -#: templates/js/translated/table_filters.js:362 +#: templates/js/translated/table_filters.js:371 msgid "Starred" msgstr "" -#: templates/js/translated/table_filters.js:374 +#: templates/js/translated/table_filters.js:383 msgid "Purchasable" msgstr "" -#: templates/js/translated/tables.js:357 +#: templates/js/translated/tables.js:366 msgid "Loading data" msgstr "" -#: templates/js/translated/tables.js:360 +#: templates/js/translated/tables.js:369 msgid "rows per page" msgstr "" -#: templates/js/translated/tables.js:363 +#: templates/js/translated/tables.js:372 msgid "Showing" msgstr "" -#: templates/js/translated/tables.js:363 +#: templates/js/translated/tables.js:372 msgid "to" msgstr "" -#: templates/js/translated/tables.js:363 +#: templates/js/translated/tables.js:372 msgid "of" msgstr "" -#: templates/js/translated/tables.js:363 +#: templates/js/translated/tables.js:372 msgid "rows" msgstr "" -#: templates/js/translated/tables.js:369 +#: templates/js/translated/tables.js:378 msgid "No matching results" msgstr "" -#: templates/js/translated/tables.js:372 +#: templates/js/translated/tables.js:381 msgid "Hide/Show pagination" msgstr "" -#: templates/js/translated/tables.js:375 +#: templates/js/translated/tables.js:384 msgid "Refresh" msgstr "" -#: templates/js/translated/tables.js:378 +#: templates/js/translated/tables.js:387 msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:381 +#: templates/js/translated/tables.js:390 msgid "Columns" msgstr "" -#: templates/js/translated/tables.js:384 +#: templates/js/translated/tables.js:393 msgid "All" msgstr "" @@ -8033,19 +8259,15 @@ msgstr "" msgid "Sell" msgstr "" -#: templates/navbar.html:87 users/models.py:39 +#: templates/navbar.html:83 users/models.py:39 msgid "Admin" msgstr "" -#: templates/navbar.html:89 +#: templates/navbar.html:85 msgid "Logout" msgstr "" -#: templates/navbar.html:91 templates/registration/login.html:89 -msgid "Login" -msgstr "" - -#: templates/navbar.html:114 +#: templates/navbar.html:106 msgid "About InvenTree" msgstr "" @@ -8053,68 +8275,12 @@ msgstr "" msgid "QR data not provided" msgstr "" -#: templates/registration/logged_out.html:50 -msgid "You have been logged out" +#: templates/registration/logged_out.html:6 +msgid "You were logged out successfully." msgstr "" -#: templates/registration/logged_out.html:51 -#: templates/registration/password_reset_complete.html:51 -#: templates/registration/password_reset_done.html:58 -msgid "Return to login screen" -msgstr "" - -#: templates/registration/login.html:64 -msgid "Enter username" -msgstr "" - -#: templates/registration/login.html:70 -msgid "Password" -msgstr "" - -#: templates/registration/login.html:83 -msgid "Username / password combination is incorrect" -msgstr "" - -#: templates/registration/login.html:95 -#: templates/registration/password_reset_form.html:51 -msgid "Forgotten your password?" -msgstr "" - -#: templates/registration/login.html:95 -msgid "Click here to reset" -msgstr "" - -#: templates/registration/password_reset_complete.html:50 -msgid "Password reset complete" -msgstr "" - -#: templates/registration/password_reset_confirm.html:52 -#: templates/registration/password_reset_confirm.html:56 -msgid "Change password" -msgstr "" - -#: templates/registration/password_reset_confirm.html:60 -msgid "The password reset link was invalid, possibly because it has already been used. Please request a new password reset." -msgstr "" - -#: templates/registration/password_reset_done.html:51 -msgid "We've emailed you instructions for setting your password, if an account exists with the email you entered. You should receive them shortly." -msgstr "" - -#: templates/registration/password_reset_done.html:54 -msgid "If you don't receive an email, please make sure you've entered the address you registered with, and check your spam folder." -msgstr "" - -#: templates/registration/password_reset_form.html:52 -msgid "Enter your email address below." -msgstr "" - -#: templates/registration/password_reset_form.html:53 -msgid "An email will be sent with password reset instructions." -msgstr "" - -#: templates/registration/password_reset_form.html:58 -msgid "Send email" +#: templates/registration/logged_out.html:8 +msgid "Log in again" msgstr "" #: templates/stats.html:13 @@ -8169,6 +8335,10 @@ msgstr "" msgid "Export Stock Information" msgstr "" +#: templates/stock_table.html:20 +msgid "New Stock Item" +msgstr "" + #: templates/stock_table.html:27 msgid "Barcode Actions" msgstr "" @@ -8249,35 +8419,35 @@ msgstr "" msgid "Important dates" msgstr "" -#: users/models.py:177 +#: users/models.py:182 msgid "Permission set" msgstr "" -#: users/models.py:185 +#: users/models.py:190 msgid "Group" msgstr "" -#: users/models.py:188 +#: users/models.py:193 msgid "View" msgstr "" -#: users/models.py:188 +#: users/models.py:193 msgid "Permission to view items" msgstr "" -#: users/models.py:190 +#: users/models.py:195 msgid "Permission to add items" msgstr "" -#: users/models.py:192 +#: users/models.py:197 msgid "Change" msgstr "" -#: users/models.py:192 +#: users/models.py:197 msgid "Permissions to edit items" msgstr "" -#: users/models.py:194 +#: users/models.py:199 msgid "Permission to delete items" msgstr "" diff --git a/InvenTree/locale/zh/LC_MESSAGES/django.po b/InvenTree/locale/zh/LC_MESSAGES/django.po index f3febfab99..89b8b3fadc 100644 --- a/InvenTree/locale/zh/LC_MESSAGES/django.po +++ b/InvenTree/locale/zh/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-09-12 13:15+0000\n" -"PO-Revision-Date: 2021-09-12 13:44\n" +"POT-Creation-Date: 2021-10-11 06:21+0000\n" +"PO-Revision-Date: 2021-10-11 06:29\n" "Last-Translator: \n" "Language-Team: Chinese Simplified\n" "Language: zh_CN\n" @@ -33,48 +33,61 @@ msgstr "未找到指定操作" msgid "Enter date" msgstr "输入日期" -#: InvenTree/forms.py:111 build/forms.py:102 build/forms.py:123 -#: build/forms.py:145 build/forms.py:169 build/forms.py:185 build/forms.py:227 -#: order/forms.py:30 order/forms.py:41 order/forms.py:52 order/forms.py:63 -#: order/forms.py:74 part/forms.py:108 templates/js/translated/forms.js:564 +#: InvenTree/forms.py:116 build/forms.py:102 build/forms.py:123 +#: build/forms.py:145 build/forms.py:173 build/forms.py:215 order/forms.py:27 +#: order/forms.py:38 order/forms.py:49 order/forms.py:60 order/forms.py:71 +#: part/forms.py:108 templates/account/email_confirm.html:20 +#: templates/js/translated/forms.js:564 msgid "Confirm" msgstr "确认" -#: InvenTree/forms.py:127 +#: InvenTree/forms.py:132 msgid "Confirm delete" msgstr "确认删除" -#: InvenTree/forms.py:128 +#: InvenTree/forms.py:133 msgid "Confirm item deletion" msgstr "确认删除" -#: InvenTree/forms.py:160 templates/registration/login.html:76 +#: InvenTree/forms.py:164 msgid "Enter password" msgstr "输入密码" -#: InvenTree/forms.py:161 +#: InvenTree/forms.py:165 msgid "Enter new password" msgstr "输入新密码" -#: InvenTree/forms.py:168 +#: InvenTree/forms.py:172 msgid "Confirm password" msgstr "确认密码" -#: InvenTree/forms.py:169 +#: InvenTree/forms.py:173 msgid "Confirm new password" msgstr "确认新密码" -#: InvenTree/forms.py:201 +#: InvenTree/forms.py:205 msgid "Select Category" msgstr "选择分类" +#: InvenTree/forms.py:226 +msgid "E-mail (again)" +msgstr "" + +#: InvenTree/forms.py:230 +msgid "E-mail address confirmation" +msgstr "" + +#: InvenTree/forms.py:250 +msgid "You must type the same email each time." +msgstr "" + #: InvenTree/helpers.py:401 #, python-brace-format msgid "Duplicate serial: {n}" msgstr "重复的序列号: {n}" -#: InvenTree/helpers.py:408 order/models.py:315 order/models.py:430 -#: stock/views.py:1363 +#: InvenTree/helpers.py:408 order/models.py:315 order/models.py:437 +#: stock/views.py:1340 msgid "Invalid quantity provided" msgstr "提供的数量无效" @@ -102,7 +115,7 @@ msgstr "未找到序列号" msgid "Number of unique serial number ({s}) must match quantity ({q})" msgstr "唯一序列号 ({s}) 必须匹配数量 ({q})" -#: InvenTree/models.py:66 stock/models.py:1826 +#: InvenTree/models.py:66 stock/models.py:1823 msgid "Attachment" msgstr "附件" @@ -118,10 +131,10 @@ msgstr "注释" msgid "File comment" msgstr "文件注释" -#: InvenTree/models.py:75 InvenTree/models.py:76 common/models.py:993 -#: common/models.py:994 part/models.py:2051 +#: InvenTree/models.py:75 InvenTree/models.py:76 common/models.py:1055 +#: common/models.py:1056 part/models.py:2055 #: report/templates/report/inventree_test_report_base.html:91 -#: templates/js/translated/stock.js:1690 +#: templates/js/translated/stock.js:1669 msgid "User" msgstr "用户" @@ -158,37 +171,34 @@ msgstr "重命名文件出错" msgid "Invalid choice" msgstr "选择无效" -#: InvenTree/models.py:200 InvenTree/models.py:201 company/models.py:414 -#: label/models.py:112 part/models.py:658 part/models.py:2212 +#: InvenTree/models.py:200 InvenTree/models.py:201 company/models.py:415 +#: label/models.py:112 part/models.py:659 part/models.py:2216 #: part/templates/part/part_base.html:241 report/models.py:181 -#: templates/InvenTree/search.html:137 templates/InvenTree/search.html:289 -#: templates/js/translated/company.js:636 templates/js/translated/part.js:466 -#: templates/js/translated/part.js:603 templates/js/translated/part.js:1130 -#: templates/js/translated/stock.js:1483 +#: templates/js/translated/company.js:637 templates/js/translated/part.js:477 +#: templates/js/translated/part.js:614 templates/js/translated/part.js:1141 +#: templates/js/translated/stock.js:1462 msgid "Name" msgstr "名称" -#: InvenTree/models.py:207 build/models.py:187 -#: build/templates/build/detail.html:24 company/models.py:353 -#: company/models.py:569 company/templates/company/manufacturer_part.html:76 +#: InvenTree/models.py:207 build/models.py:189 +#: build/templates/build/detail.html:24 company/models.py:354 +#: company/models.py:570 company/templates/company/manufacturer_part.html:76 #: company/templates/company/supplier_part.html:75 label/models.py:119 -#: order/models.py:158 part/models.py:681 +#: order/models.py:158 part/models.py:682 #: part/templates/part/part_base.html:246 #: part/templates/part/set_category.html:14 report/models.py:194 #: report/models.py:551 report/models.py:590 #: report/templates/report/inventree_build_order_base.html:118 -#: templates/InvenTree/search.html:144 templates/InvenTree/search.html:224 -#: templates/InvenTree/search.html:296 #: templates/InvenTree/settings/header.html:9 -#: templates/js/translated/bom.js:230 templates/js/translated/build.js:891 -#: templates/js/translated/build.js:1179 templates/js/translated/company.js:344 -#: templates/js/translated/company.js:546 -#: templates/js/translated/company.js:834 templates/js/translated/order.js:341 -#: templates/js/translated/order.js:486 templates/js/translated/order.js:710 -#: templates/js/translated/part.js:525 templates/js/translated/part.js:713 -#: templates/js/translated/part.js:902 templates/js/translated/part.js:1142 -#: templates/js/translated/part.js:1210 templates/js/translated/stock.js:840 -#: templates/js/translated/stock.js:1495 templates/js/translated/stock.js:1540 +#: templates/js/translated/bom.js:249 templates/js/translated/build.js:1217 +#: templates/js/translated/build.js:1505 templates/js/translated/company.js:344 +#: templates/js/translated/company.js:547 +#: templates/js/translated/company.js:836 templates/js/translated/order.js:672 +#: templates/js/translated/order.js:832 templates/js/translated/order.js:1056 +#: templates/js/translated/part.js:536 templates/js/translated/part.js:724 +#: templates/js/translated/part.js:913 templates/js/translated/part.js:1153 +#: templates/js/translated/part.js:1221 templates/js/translated/stock.js:819 +#: templates/js/translated/stock.js:1474 templates/js/translated/stock.js:1519 msgid "Description" msgstr "描述信息" @@ -200,7 +210,7 @@ msgstr "描述 (可选)" msgid "parent" msgstr "上级项" -#: InvenTree/serializers.py:55 part/models.py:2454 +#: InvenTree/serializers.py:55 part/models.py:2475 msgid "Must be a valid number" msgstr "必须是有效数字" @@ -208,75 +218,75 @@ msgstr "必须是有效数字" msgid "Filename" msgstr "文件名" -#: InvenTree/settings.py:523 +#: InvenTree/settings.py:529 msgid "German" msgstr "德语" -#: InvenTree/settings.py:524 +#: InvenTree/settings.py:530 msgid "Greek" msgstr "希腊语" -#: InvenTree/settings.py:525 +#: InvenTree/settings.py:531 msgid "English" msgstr "英语" -#: InvenTree/settings.py:526 +#: InvenTree/settings.py:532 msgid "Spanish" msgstr "西班牙语" -#: InvenTree/settings.py:527 +#: InvenTree/settings.py:533 msgid "French" msgstr "法语" -#: InvenTree/settings.py:528 +#: InvenTree/settings.py:534 msgid "Hebrew" msgstr "希伯来语" -#: InvenTree/settings.py:529 +#: InvenTree/settings.py:535 msgid "Italian" msgstr "意大利语" -#: InvenTree/settings.py:530 +#: InvenTree/settings.py:536 msgid "Japanese" msgstr "日语" -#: InvenTree/settings.py:531 +#: InvenTree/settings.py:537 msgid "Korean" msgstr "韩语" -#: InvenTree/settings.py:532 +#: InvenTree/settings.py:538 msgid "Dutch" msgstr "荷兰语" -#: InvenTree/settings.py:533 +#: InvenTree/settings.py:539 msgid "Norwegian" msgstr "挪威语" -#: InvenTree/settings.py:534 +#: InvenTree/settings.py:540 msgid "Polish" msgstr "波兰语" -#: InvenTree/settings.py:535 +#: InvenTree/settings.py:541 msgid "Russian" msgstr "俄语" -#: InvenTree/settings.py:536 +#: InvenTree/settings.py:542 msgid "Swedish" msgstr "瑞典语" -#: InvenTree/settings.py:537 +#: InvenTree/settings.py:543 msgid "Thai" msgstr "泰语" -#: InvenTree/settings.py:538 +#: InvenTree/settings.py:544 msgid "Turkish" msgstr "土耳其语" -#: InvenTree/settings.py:539 +#: InvenTree/settings.py:545 msgid "Vietnamese" msgstr "越南语" -#: InvenTree/settings.py:540 +#: InvenTree/settings.py:546 msgid "Chinese" msgstr "中文(简体)" @@ -321,17 +331,17 @@ msgid "Returned" msgstr "已退回" #: InvenTree/status_codes.py:146 -#: order/templates/order/sales_order_base.html:126 +#: order/templates/order/sales_order_base.html:131 msgid "Shipped" msgstr "已发货" #: InvenTree/status_codes.py:186 msgid "OK" -msgstr "确定" +msgstr "OK" #: InvenTree/status_codes.py:187 msgid "Attention needed" -msgstr "注意" +msgstr "需要关注" #: InvenTree/status_codes.py:188 msgid "Damaged" @@ -339,11 +349,11 @@ msgstr "破损" #: InvenTree/status_codes.py:189 msgid "Destroyed" -msgstr "销毁" +msgstr "已销毁" #: InvenTree/status_codes.py:191 msgid "Rejected" -msgstr "已拒绝" +msgstr "Rejected" #: InvenTree/status_codes.py:272 msgid "Legacy stock tracking entry" @@ -375,7 +385,7 @@ msgstr "库存手动删除" #: InvenTree/status_codes.py:283 msgid "Location changed" -msgstr "位置已更改" +msgstr "仓储地点已更改" #: InvenTree/status_codes.py:285 msgid "Installed into assembly" @@ -423,7 +433,7 @@ msgstr "收到定购单" #: InvenTree/status_codes.py:315 msgid "Production" -msgstr "产品" +msgstr "生产中" #: InvenTree/validators.py:22 msgid "Not a valid currency code" @@ -431,7 +441,7 @@ msgstr "不是有效的货币代码" #: InvenTree/validators.py:50 msgid "Invalid character in part name" -msgstr "部件名称中存在无效字符" +msgstr "商品名称中存在无效字符" #: InvenTree/validators.py:63 #, python-brace-format @@ -461,27 +471,27 @@ msgstr "备损不能超过 100%" msgid "Overage must be an integer value or a percentage" msgstr "备损必须是整数值或百分比" -#: InvenTree/views.py:610 +#: InvenTree/views.py:616 msgid "Delete Item" msgstr "删除项" -#: InvenTree/views.py:659 +#: InvenTree/views.py:665 msgid "Check box to confirm item deletion" msgstr "选中方框以确认项目删除" -#: InvenTree/views.py:674 templates/InvenTree/settings/user.html:14 +#: InvenTree/views.py:680 templates/InvenTree/settings/user.html:18 msgid "Edit User Information" msgstr "编辑用户信息" -#: InvenTree/views.py:685 templates/InvenTree/settings/user.html:18 +#: InvenTree/views.py:691 templates/InvenTree/settings/user.html:22 msgid "Set Password" msgstr "设置密码" -#: InvenTree/views.py:704 +#: InvenTree/views.py:710 msgid "Password fields must match" msgstr "密码字段必须相匹配。" -#: InvenTree/views.py:910 templates/navbar.html:105 +#: InvenTree/views.py:954 templates/navbar.html:97 msgid "System Information" msgstr "系统信息" @@ -511,11 +521,11 @@ msgstr "条形码已经匹配库存项" #: barcodes/api.py:194 msgid "Barcode already matches StockLocation object" -msgstr "条形码已经匹配库存地对象" +msgstr "条形码已经匹配仓储地对象" #: barcodes/api.py:198 msgid "Barcode already matches Part object" -msgstr "条形码已经匹配部件对象" +msgstr "条形码已经匹配商品对象" #: barcodes/api.py:204 barcodes/api.py:216 msgid "Barcode hash already matches StockItem object" @@ -525,6 +535,10 @@ msgstr "条码哈希值已经匹配库存项目" msgid "Barcode associated with StockItem" msgstr "与库存项关联的条形码" +#: build/api.py:213 +msgid "Matching build order does not exist" +msgstr "" + #: build/forms.py:37 msgid "Build Order reference" msgstr "相关生产订单" @@ -536,33 +550,28 @@ msgstr "订单预计日期" #: build/forms.py:42 build/templates/build/build_base.html:146 #: build/templates/build/detail.html:124 #: order/templates/order/order_base.html:124 -#: order/templates/order/sales_order_base.html:119 +#: order/templates/order/sales_order_base.html:124 #: report/templates/report/inventree_build_order_base.html:126 -#: templates/js/translated/build.js:962 templates/js/translated/order.js:358 -#: templates/js/translated/order.js:728 +#: templates/js/translated/build.js:1288 templates/js/translated/order.js:689 +#: templates/js/translated/order.js:1074 msgid "Target Date" msgstr "预计日期" -#: build/forms.py:43 build/models.py:277 +#: build/forms.py:43 build/models.py:279 msgid "Target date for build completion. Build will be overdue after this date." msgstr "生产完成的目标日期。生产将在此日期之后逾期。" -#: build/forms.py:48 build/forms.py:90 build/forms.py:266 build/models.py:1402 +#: build/forms.py:48 build/forms.py:90 build/models.py:1281 #: build/templates/build/allocation_card.html:23 -#: build/templates/build/auto_allocate.html:17 #: build/templates/build/build_base.html:133 -#: build/templates/build/detail.html:34 common/models.py:1025 +#: build/templates/build/detail.html:34 common/models.py:1087 #: company/forms.py:42 company/templates/company/supplier_part.html:226 -#: order/forms.py:120 order/forms.py:142 order/forms.py:159 order/models.py:712 -#: order/models.py:964 order/templates/order/order_wizard/match_parts.html:30 -#: order/templates/order/order_wizard/select_parts.html:34 -#: order/templates/order/sales_order_detail.html:201 -#: order/templates/order/sales_order_detail.html:208 -#: order/templates/order/sales_order_detail.html:293 -#: order/templates/order/sales_order_detail.html:365 part/forms.py:249 -#: part/forms.py:265 part/forms.py:281 part/models.py:2356 +#: order/forms.py:101 order/forms.py:123 order/models.py:720 +#: order/models.py:982 order/templates/order/order_wizard/match_parts.html:30 +#: order/templates/order/order_wizard/select_parts.html:34 part/forms.py:249 +#: part/forms.py:265 part/forms.py:281 part/models.py:2377 #: part/templates/part/bom_upload/match_parts.html:31 -#: part/templates/part/detail.html:973 part/templates/part/detail.html:1059 +#: part/templates/part/detail.html:944 part/templates/part/detail.html:1030 #: part/templates/part/part_pricing.html:16 #: report/templates/report/inventree_build_order_base.html:114 #: report/templates/report/inventree_po_report.html:91 @@ -570,16 +579,18 @@ msgstr "生产完成的目标日期。生产将在此日期之后逾期。" #: report/templates/report/inventree_test_report_base.html:77 #: stock/forms.py:140 stock/templates/stock/item_base.html:269 #: stock/templates/stock/stock_adjust.html:18 -#: templates/js/translated/barcode.js:386 templates/js/translated/bom.js:245 -#: templates/js/translated/build.js:298 templates/js/translated/build.js:629 -#: templates/js/translated/build.js:1189 -#: templates/js/translated/model_renderers.js:59 -#: templates/js/translated/order.js:522 templates/js/translated/order.js:824 -#: templates/js/translated/part.js:1317 templates/js/translated/part.js:1440 -#: templates/js/translated/part.js:1518 templates/js/translated/stock.js:1675 -#: templates/js/translated/stock.js:1850 +#: templates/js/translated/barcode.js:386 templates/js/translated/bom.js:264 +#: templates/js/translated/build.js:314 templates/js/translated/build.js:638 +#: templates/js/translated/build.js:977 templates/js/translated/build.js:1515 +#: templates/js/translated/model_renderers.js:74 +#: templates/js/translated/order.js:868 templates/js/translated/order.js:1170 +#: templates/js/translated/order.js:1248 templates/js/translated/order.js:1255 +#: templates/js/translated/order.js:1344 templates/js/translated/order.js:1444 +#: templates/js/translated/part.js:1364 templates/js/translated/part.js:1487 +#: templates/js/translated/part.js:1565 templates/js/translated/stock.js:1654 +#: templates/js/translated/stock.js:1829 msgid "Quantity" -msgstr "库存数" +msgstr "数量" #: build/forms.py:49 msgid "Number of items to build" @@ -589,7 +600,7 @@ msgstr "要生产的项目数量" msgid "Enter quantity for build output" msgstr "输入生产产出数量" -#: build/forms.py:95 order/forms.py:114 stock/forms.py:83 +#: build/forms.py:95 order/forms.py:95 stock/forms.py:83 msgid "Serial Numbers" msgstr "序列号" @@ -609,246 +620,238 @@ msgstr "确认删除生产产出" msgid "Confirm unallocation of stock" msgstr "确认取消分配库存" -#: build/forms.py:169 -msgid "Confirm stock allocation" -msgstr "确认库存分配" - -#: build/forms.py:186 +#: build/forms.py:174 msgid "Mark build as complete" msgstr "标记生产已完成" -#: build/forms.py:210 build/templates/build/auto_allocate.html:18 -#: order/serializers.py:216 order/serializers.py:275 stock/forms.py:280 +#: build/forms.py:198 order/serializers.py:217 order/serializers.py:284 +#: stock/forms.py:280 stock/serializers.py:553 #: stock/templates/stock/item_base.html:299 #: stock/templates/stock/stock_adjust.html:17 -#: templates/InvenTree/search.html:260 templates/js/translated/barcode.js:385 -#: templates/js/translated/barcode.js:555 templates/js/translated/build.js:283 -#: templates/js/translated/build.js:643 templates/js/translated/order.js:809 -#: templates/js/translated/part.js:174 templates/js/translated/stock.js:203 -#: templates/js/translated/stock.js:329 templates/js/translated/stock.js:942 -#: templates/js/translated/stock.js:1567 +#: templates/js/translated/barcode.js:385 +#: templates/js/translated/barcode.js:555 templates/js/translated/build.js:299 +#: templates/js/translated/build.js:650 templates/js/translated/order.js:347 +#: templates/js/translated/order.js:1155 templates/js/translated/order.js:1263 +#: templates/js/translated/order.js:1269 templates/js/translated/part.js:179 +#: templates/js/translated/stock.js:183 templates/js/translated/stock.js:921 +#: templates/js/translated/stock.js:1546 msgid "Location" -msgstr "所在地" +msgstr "地点" -#: build/forms.py:211 +#: build/forms.py:199 msgid "Location of completed parts" -msgstr "已完成部件所在地" +msgstr "已完成商品所在仓储地点" -#: build/forms.py:215 build/templates/build/build_base.html:138 -#: build/templates/build/detail.html:62 order/models.py:555 -#: order/serializers.py:230 order/templates/order/receive_parts.html:24 -#: stock/templates/stock/item_base.html:422 templates/InvenTree/search.html:252 -#: templates/js/translated/barcode.js:141 templates/js/translated/build.js:925 -#: templates/js/translated/order.js:345 templates/js/translated/order.js:715 -#: templates/js/translated/stock.js:917 templates/js/translated/stock.js:1644 -#: templates/js/translated/stock.js:1866 +#: build/forms.py:203 build/templates/build/build_base.html:138 +#: build/templates/build/detail.html:62 order/models.py:563 +#: order/serializers.py:238 stock/templates/stock/item_base.html:422 +#: templates/js/translated/barcode.js:141 templates/js/translated/build.js:1251 +#: templates/js/translated/order.js:430 templates/js/translated/order.js:676 +#: templates/js/translated/order.js:1061 templates/js/translated/stock.js:896 +#: templates/js/translated/stock.js:1623 templates/js/translated/stock.js:1845 msgid "Status" msgstr "状态" -#: build/forms.py:216 +#: build/forms.py:204 msgid "Build output stock status" msgstr "生产产出库存状态" -#: build/forms.py:223 +#: build/forms.py:211 msgid "Confirm incomplete" msgstr "确认未完成" -#: build/forms.py:224 +#: build/forms.py:212 msgid "Confirm completion with incomplete stock allocation" msgstr "确认以未完成库存分配方式完成" -#: build/forms.py:227 +#: build/forms.py:215 msgid "Confirm build completion" msgstr "确认生产完成" -#: build/forms.py:252 +#: build/forms.py:240 msgid "Confirm cancel" msgstr "确认取消" -#: build/forms.py:252 build/views.py:65 +#: build/forms.py:240 build/views.py:65 msgid "Confirm build cancellation" msgstr "确认生产取消" -#: build/forms.py:266 -msgid "Select quantity of stock to allocate" -msgstr "选择要分配的库存数量" - -#: build/models.py:113 +#: build/models.py:115 msgid "Invalid choice for parent build" msgstr "上级生产选项无效" -#: build/models.py:117 build/templates/build/build_base.html:9 +#: build/models.py:119 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:73 #: report/templates/report/inventree_build_order_base.html:106 -#: templates/js/translated/build.js:260 +#: templates/js/translated/build.js:276 msgid "Build Order" msgstr "生产订单" -#: build/models.py:118 build/templates/build/index.html:8 +#: build/models.py:120 build/templates/build/index.html:8 #: build/templates/build/index.html:15 #: order/templates/order/sales_order_detail.html:34 #: order/templates/order/so_navbar.html:19 #: order/templates/order/so_navbar.html:22 part/templates/part/navbar.html:50 #: part/templates/part/navbar.html:53 templates/InvenTree/index.html:229 -#: templates/InvenTree/search.html:185 -#: templates/InvenTree/settings/navbar.html:101 -#: templates/InvenTree/settings/navbar.html:103 users/models.py:44 +#: templates/InvenTree/search.html:171 +#: templates/InvenTree/settings/navbar.html:113 +#: templates/InvenTree/settings/navbar.html:115 users/models.py:44 msgid "Build Orders" msgstr "生产订单" -#: build/models.py:178 +#: build/models.py:180 msgid "Build Order Reference" msgstr "相关生产订单" -#: build/models.py:179 order/models.py:246 order/models.py:539 -#: order/models.py:719 order/templates/order/sales_order_detail.html:360 -#: part/models.py:2365 part/templates/part/bom_upload/match_parts.html:30 +#: build/models.py:181 order/models.py:246 order/models.py:547 +#: order/models.py:727 part/models.py:2386 +#: part/templates/part/bom_upload/match_parts.html:30 #: report/templates/report/inventree_po_report.html:92 #: report/templates/report/inventree_so_report.html:92 -#: templates/js/translated/bom.js:237 templates/js/translated/build.js:718 -#: templates/js/translated/build.js:1183 templates/js/translated/order.js:517 +#: templates/js/translated/bom.js:256 templates/js/translated/build.js:734 +#: templates/js/translated/build.js:1509 templates/js/translated/order.js:863 +#: templates/js/translated/order.js:1438 msgid "Reference" msgstr "引用" -#: build/models.py:190 +#: build/models.py:192 msgid "Brief description of the build" msgstr "生产的简短描述." -#: build/models.py:199 build/templates/build/build_base.html:163 +#: build/models.py:201 build/templates/build/build_base.html:163 #: build/templates/build/detail.html:80 msgid "Parent Build" msgstr "上级生产" -#: build/models.py:200 +#: build/models.py:202 msgid "BuildOrder to which this build is allocated" -msgstr "此次生生匹配的订单" +msgstr "此次生产匹配的订单" -#: build/models.py:205 build/templates/build/auto_allocate.html:16 -#: build/templates/build/build_base.html:128 -#: build/templates/build/detail.html:29 company/models.py:704 -#: order/models.py:772 order/models.py:837 -#: order/templates/order/order_wizard/select_parts.html:32 -#: order/templates/order/receive_parts.html:19 -#: order/templates/order/sales_order_detail.html:345 part/models.py:297 -#: part/models.py:1996 part/models.py:2012 part/models.py:2031 -#: part/models.py:2049 part/models.py:2128 part/models.py:2250 -#: part/models.py:2340 part/templates/part/detail.html:199 +#: build/models.py:207 build/templates/build/build_base.html:128 +#: build/templates/build/detail.html:29 company/models.py:705 +#: order/models.py:780 order/models.py:851 +#: order/templates/order/order_wizard/select_parts.html:32 part/models.py:298 +#: part/models.py:2000 part/models.py:2016 part/models.py:2035 +#: part/models.py:2053 part/models.py:2132 part/models.py:2254 +#: part/models.py:2361 part/templates/part/detail.html:199 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/set_category.html:13 #: report/templates/report/inventree_build_order_base.html:110 #: report/templates/report/inventree_po_report.html:90 #: report/templates/report/inventree_so_report.html:90 -#: templates/InvenTree/search.html:112 templates/InvenTree/search.html:210 -#: templates/js/translated/barcode.js:384 templates/js/translated/bom.js:203 -#: templates/js/translated/build.js:609 templates/js/translated/build.js:896 -#: templates/js/translated/build.js:1156 templates/js/translated/company.js:487 -#: templates/js/translated/company.js:743 templates/js/translated/order.js:471 -#: templates/js/translated/part.js:694 templates/js/translated/part.js:864 -#: templates/js/translated/stock.js:201 templates/js/translated/stock.js:797 -#: templates/js/translated/stock.js:1838 +#: templates/InvenTree/search.html:112 templates/js/translated/barcode.js:384 +#: templates/js/translated/bom.js:222 templates/js/translated/build.js:611 +#: templates/js/translated/build.js:974 templates/js/translated/build.js:1222 +#: templates/js/translated/build.js:1482 templates/js/translated/company.js:488 +#: templates/js/translated/company.js:745 templates/js/translated/order.js:425 +#: templates/js/translated/order.js:817 templates/js/translated/order.js:1422 +#: templates/js/translated/part.js:705 templates/js/translated/part.js:875 +#: templates/js/translated/stock.js:181 templates/js/translated/stock.js:776 +#: templates/js/translated/stock.js:1817 msgid "Part" -msgstr "部件" +msgstr "商品" -#: build/models.py:213 +#: build/models.py:215 msgid "Select part to build" -msgstr "选择生产所需部件" +msgstr "选择要生产的商品" -#: build/models.py:218 +#: build/models.py:220 msgid "Sales Order Reference" msgstr "相关销售订单" -#: build/models.py:222 +#: build/models.py:224 msgid "SalesOrder to which this build is allocated" msgstr "此次生产匹配的销售订单" -#: build/models.py:227 +#: build/models.py:229 templates/js/translated/build.js:962 msgid "Source Location" msgstr "来源地点" -#: build/models.py:231 +#: build/models.py:233 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "" -#: build/models.py:236 +#: build/models.py:238 msgid "Destination Location" msgstr "目标地点" -#: build/models.py:240 +#: build/models.py:242 msgid "Select location where the completed items will be stored" -msgstr "选择已完成项目存储的位置" +msgstr "选择已完成项目仓储地点" -#: build/models.py:244 +#: build/models.py:246 msgid "Build Quantity" msgstr "生产数量" -#: build/models.py:247 +#: build/models.py:249 msgid "Number of stock items to build" msgstr "要生产的项目数量" -#: build/models.py:251 +#: build/models.py:253 msgid "Completed items" msgstr "已完成项目" -#: build/models.py:253 +#: build/models.py:255 msgid "Number of stock items which have been completed" msgstr "已完成的库存项目数量" -#: build/models.py:257 part/templates/part/part_base.html:198 +#: build/models.py:259 part/templates/part/part_base.html:198 msgid "Build Status" msgstr "生产状态" -#: build/models.py:261 +#: build/models.py:263 msgid "Build status code" msgstr "生产状态代码" -#: build/models.py:265 stock/models.py:513 +#: build/models.py:267 stock/models.py:513 msgid "Batch Code" msgstr "批量代码" -#: build/models.py:269 +#: build/models.py:271 msgid "Batch code for this build output" msgstr "此生产产出的批量代码" -#: build/models.py:272 order/models.py:162 part/models.py:853 -#: part/templates/part/part_base.html:272 templates/js/translated/order.js:723 +#: build/models.py:274 order/models.py:162 part/models.py:854 +#: part/templates/part/part_base.html:272 templates/js/translated/order.js:1069 msgid "Creation Date" msgstr "创建日期" -#: build/models.py:276 order/models.py:561 +#: build/models.py:278 order/models.py:569 msgid "Target completion date" msgstr "预计完成日期" -#: build/models.py:280 order/models.py:288 templates/js/translated/build.js:967 +#: build/models.py:282 order/models.py:288 +#: templates/js/translated/build.js:1293 msgid "Completion Date" msgstr "完成日期:" -#: build/models.py:286 +#: build/models.py:288 msgid "completed by" msgstr "完成人" -#: build/models.py:294 templates/js/translated/build.js:938 +#: build/models.py:296 templates/js/translated/build.js:1264 msgid "Issued by" msgstr "发布者" -#: build/models.py:295 +#: build/models.py:297 msgid "User who issued this build order" msgstr "发布此生产订单的用户" -#: build/models.py:303 build/templates/build/build_base.html:184 +#: build/models.py:305 build/templates/build/build_base.html:184 #: build/templates/build/detail.html:108 order/models.py:176 #: order/templates/order/order_base.html:138 -#: order/templates/order/sales_order_base.html:140 part/models.py:857 +#: order/templates/order/sales_order_base.html:145 part/models.py:858 #: report/templates/report/inventree_build_order_base.html:159 -#: templates/js/translated/build.js:950 +#: templates/js/translated/build.js:1276 msgid "Responsible" msgstr "责任人" -#: build/models.py:304 +#: build/models.py:306 msgid "User responsible for this build order" msgstr "负责此生产订单的用户" -#: build/models.py:309 build/templates/build/detail.html:94 +#: build/models.py:311 build/templates/build/detail.html:94 #: company/templates/company/manufacturer_part.html:83 #: company/templates/company/supplier_part.html:82 #: part/templates/part/part_base.html:266 stock/models.py:507 @@ -856,140 +859,157 @@ msgstr "负责此生产订单的用户" msgid "External Link" msgstr "外部链接" -#: build/models.py:310 part/models.py:715 stock/models.py:509 +#: build/models.py:312 part/models.py:716 stock/models.py:509 msgid "Link to external URL" msgstr "链接到外部 URL" -#: build/models.py:314 build/templates/build/navbar.html:52 -#: company/models.py:141 company/models.py:576 +#: build/models.py:316 build/templates/build/navbar.html:52 +#: company/models.py:142 company/models.py:577 #: company/templates/company/navbar.html:69 #: company/templates/company/navbar.html:72 order/models.py:180 -#: order/models.py:721 order/templates/order/po_navbar.html:38 +#: order/models.py:729 order/templates/order/po_navbar.html:38 #: order/templates/order/po_navbar.html:41 -#: order/templates/order/sales_order_detail.html:440 #: order/templates/order/so_navbar.html:33 -#: order/templates/order/so_navbar.html:36 part/models.py:842 +#: order/templates/order/so_navbar.html:36 part/models.py:843 #: part/templates/part/detail.html:105 part/templates/part/navbar.html:120 #: part/templates/part/navbar.html:123 #: report/templates/report/inventree_build_order_base.html:173 #: stock/forms.py:138 stock/forms.py:250 stock/forms.py:282 stock/models.py:579 -#: stock/models.py:1726 stock/models.py:1832 +#: stock/models.py:1723 stock/models.py:1829 stock/serializers.py:451 #: stock/templates/stock/navbar.html:57 templates/js/translated/barcode.js:59 -#: templates/js/translated/bom.js:385 templates/js/translated/company.js:839 -#: templates/js/translated/order.js:604 templates/js/translated/stock.js:338 -#: templates/js/translated/stock.js:580 templates/js/translated/stock.js:1061 +#: templates/js/translated/bom.js:406 templates/js/translated/company.js:841 +#: templates/js/translated/order.js:950 templates/js/translated/order.js:1540 +#: templates/js/translated/stock.js:559 templates/js/translated/stock.js:1040 msgid "Notes" msgstr "备注" -#: build/models.py:315 +#: build/models.py:317 msgid "Extra build notes" msgstr "额外的生产备注" -#: build/models.py:792 +#: build/models.py:714 msgid "No build output specified" msgstr "未指定生产产出" -#: build/models.py:795 +#: build/models.py:717 msgid "Build output is already completed" msgstr "生产产出已完成" -#: build/models.py:798 +#: build/models.py:720 msgid "Build output does not match Build Order" msgstr "生产产出与订单不匹配" -#: build/models.py:1208 -msgid "BuildItem must be unique for build, stock_item and install_into" -msgstr "" - -#: build/models.py:1233 +#: build/models.py:1102 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1237 +#: build/models.py:1111 #, python-brace-format -msgid "Allocated quantity ({n}) must not exceed available quantity ({q})" +msgid "Allocated quantity ({q}) must not execed available stock quantity ({a})" msgstr "" -#: build/models.py:1244 order/models.py:938 -msgid "StockItem is over-allocated" -msgstr "" +#: build/models.py:1121 +msgid "Stock item is over-allocated" +msgstr "库存物品分配过度!" -#: build/models.py:1248 order/models.py:941 +#: build/models.py:1127 order/models.py:955 msgid "Allocation quantity must be greater than zero" msgstr "分配数量必须大于0" -#: build/models.py:1252 +#: build/models.py:1133 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1312 -#, python-brace-format -msgid "Selected stock item not found in BOM for part '{p}'" +#: build/models.py:1191 +msgid "Selected stock item not found in BOM" msgstr "" -#: build/models.py:1372 stock/templates/stock/item_base.html:331 -#: templates/InvenTree/search.html:183 templates/js/translated/build.js:869 +#: build/models.py:1251 stock/templates/stock/item_base.html:331 +#: templates/InvenTree/search.html:169 templates/js/translated/build.js:1195 #: templates/navbar.html:35 msgid "Build" msgstr "生产" -#: build/models.py:1373 +#: build/models.py:1252 msgid "Build to allocate parts" msgstr "" -#: build/models.py:1389 stock/templates/stock/item_base.html:8 +#: build/models.py:1268 build/serializers.py:151 +#: stock/templates/stock/item_base.html:8 #: stock/templates/stock/item_base.html:31 #: stock/templates/stock/item_base.html:353 #: stock/templates/stock/stock_adjust.html:16 -#: templates/js/translated/build.js:271 templates/js/translated/build.js:276 -#: templates/js/translated/build.js:1012 templates/js/translated/order.js:797 -#: templates/js/translated/order.js:802 templates/js/translated/stock.js:1626 +#: templates/js/translated/build.js:287 templates/js/translated/build.js:292 +#: templates/js/translated/build.js:976 templates/js/translated/build.js:1338 +#: templates/js/translated/order.js:1143 templates/js/translated/order.js:1148 +#: templates/js/translated/stock.js:1605 msgid "Stock Item" msgstr "库存项" -#: build/models.py:1390 +#: build/models.py:1269 msgid "Source stock item" msgstr "源库存项" -#: build/models.py:1403 +#: build/models.py:1282 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1411 +#: build/models.py:1290 msgid "Install into" +msgstr "安装到" + +#: build/models.py:1291 +msgid "Destination stock item" msgstr "" -#: build/models.py:1412 -msgid "Destination stock item" +#: build/serializers.py:133 part/models.py:2501 +msgid "BOM Item" +msgstr "" + +#: build/serializers.py:142 +msgid "bom_item.part must point to the same part as the build order" +msgstr "" + +#: build/serializers.py:157 +msgid "Item must be in stock" +msgstr "" + +#: build/serializers.py:171 order/models.py:313 order/serializers.py:231 +#: stock/models.py:351 stock/models.py:1072 +msgid "Quantity must be greater than zero" +msgstr "" + +#: build/serializers.py:180 +msgid "Build Output" +msgstr "" + +#: build/serializers.py:213 +#, python-brace-format +msgid "Available quantity ({q}) exceeded" +msgstr "" + +#: build/serializers.py:219 +msgid "Build output must be specified for allocation of tracked parts" +msgstr "" + +#: build/serializers.py:226 +msgid "Build output cannot be specified for allocation of untracked parts" +msgstr "" + +#: build/serializers.py:254 +msgid "Allocation items must be provided" msgstr "" #: build/templates/build/allocation_card.html:21 #: build/templates/build/complete_output.html:46 -#: order/templates/order/sales_order_detail.html:206 -#: order/templates/order/sales_order_detail.html:291 #: report/templates/report/inventree_test_report_base.html:75 #: stock/models.py:501 stock/templates/stock/item_base.html:251 -#: templates/js/translated/build.js:627 -#: templates/js/translated/model_renderers.js:57 +#: templates/js/translated/build.js:636 +#: templates/js/translated/model_renderers.js:72 +#: templates/js/translated/order.js:1253 templates/js/translated/order.js:1342 msgid "Serial Number" msgstr "序列号" -#: build/templates/build/auto_allocate.html:9 -msgid "Automatically Allocate Stock" -msgstr "" - -#: build/templates/build/auto_allocate.html:10 -msgid "The following stock items will be allocated to the specified build output" -msgstr "" - -#: build/templates/build/auto_allocate.html:37 -msgid "No stock items found that can be automatically allocated to this build" -msgstr "" - -#: build/templates/build/auto_allocate.html:39 -msgid "Stock items will have to be manually allocated" -msgstr "" - #: build/templates/build/build_base.html:18 #, python-format msgid "This Build Order is allocated to Sales Order %(link)s" @@ -1010,7 +1030,7 @@ msgstr "" #: build/templates/build/build_base.html:42 msgid "Required build quantity has not yet been completed" -msgstr "" +msgstr "所需生产数量尚未完成" #: build/templates/build/build_base.html:47 msgid "Stock has not been fully allocated to this Build Order" @@ -1033,10 +1053,10 @@ msgstr "管理界面" #: order/templates/order/order_base.html:32 #: order/templates/order/order_base.html:86 #: order/templates/order/sales_order_base.html:43 -#: order/templates/order/sales_order_base.html:88 +#: order/templates/order/sales_order_base.html:93 #: templates/js/translated/table_filters.js:272 -#: templates/js/translated/table_filters.js:291 -#: templates/js/translated/table_filters.js:308 +#: templates/js/translated/table_filters.js:300 +#: templates/js/translated/table_filters.js:317 msgid "Overdue" msgstr "逾期" @@ -1086,14 +1106,14 @@ msgid "Progress" msgstr "生产进度" #: build/templates/build/build_base.html:170 -#: build/templates/build/detail.html:87 order/models.py:835 +#: build/templates/build/detail.html:87 order/models.py:848 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:35 #: order/templates/order/sales_order_ship.html:25 #: report/templates/report/inventree_build_order_base.html:136 #: report/templates/report/inventree_so_report.html:77 #: stock/templates/stock/item_base.html:293 -#: templates/js/translated/order.js:670 +#: templates/js/translated/order.js:1016 msgid "Sales Order" msgstr "销售订单" @@ -1125,7 +1145,7 @@ msgstr "" #: build/templates/build/build_output_create.html:15 msgid "Trackable parts can have serial numbers specified" -msgstr "" +msgstr "可追踪商品可以指定序列号" #: build/templates/build/build_output_create.html:16 msgid "Enter serial numbers to generate multiple single build outputs" @@ -1133,7 +1153,7 @@ msgstr "" #: build/templates/build/cancel.html:5 msgid "Are you sure you wish to cancel this build?" -msgstr "" +msgstr "是否确定取消生产?" #: build/templates/build/complete.html:8 msgid "Build Order is complete" @@ -1153,7 +1173,7 @@ msgstr "所需生产数量尚未完成" #: build/templates/build/complete.html:21 msgid "Required stock has not been fully allocated" -msgstr "" +msgstr "所需库存尚未完全分配" #: build/templates/build/complete_output.html:10 msgid "Stock allocation is complete for this output" @@ -1171,28 +1191,6 @@ msgstr "" msgid "The following items will be created" msgstr "" -#: build/templates/build/create_build_item.html:7 -msgid "Select a stock item to allocate to the selected build output" -msgstr "" - -#: build/templates/build/create_build_item.html:11 -#, python-format -msgid "The allocated stock will be installed into the following build output:
%(output)s" -msgstr "" - -#: build/templates/build/create_build_item.html:17 -#, python-format -msgid "No stock available for %(part)s" -msgstr "" - -#: build/templates/build/delete_build_item.html:8 -msgid "Are you sure you want to unallocate this stock?" -msgstr "" - -#: build/templates/build/delete_build_item.html:11 -msgid "The selected stock will be unallocated from the build output" -msgstr "" - #: build/templates/build/detail.html:38 msgid "Stock Source" msgstr "" @@ -1201,9 +1199,8 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/forms.py:88 order/models.py:794 -#: order/templates/order/receive_parts.html:25 stock/forms.py:134 -#: templates/js/translated/order.js:593 +#: build/templates/build/detail.html:49 order/models.py:802 stock/forms.py:134 +#: templates/js/translated/order.js:431 templates/js/translated/order.js:939 msgid "Destination" msgstr "" @@ -1213,7 +1210,7 @@ msgstr "" #: build/templates/build/detail.html:73 #: stock/templates/stock/item_base.html:317 -#: templates/js/translated/stock.js:931 templates/js/translated/stock.js:1873 +#: templates/js/translated/stock.js:910 templates/js/translated/stock.js:1852 #: templates/js/translated/table_filters.js:129 #: templates/js/translated/table_filters.js:211 msgid "Batch" @@ -1221,8 +1218,8 @@ msgstr "" #: build/templates/build/detail.html:119 #: order/templates/order/order_base.html:111 -#: order/templates/order/sales_order_base.html:113 -#: templates/js/translated/build.js:933 +#: order/templates/order/sales_order_base.html:118 +#: templates/js/translated/build.js:1259 msgid "Created" msgstr "已创建" @@ -1230,35 +1227,37 @@ msgstr "已创建" msgid "No target date set" msgstr "无预计日期" -#: build/templates/build/detail.html:135 templates/js/translated/build.js:911 +#: build/templates/build/detail.html:135 templates/js/translated/build.js:1237 +#: templates/js/translated/table_filters.js:282 msgid "Completed" -msgstr "" +msgstr "已完成" #: build/templates/build/detail.html:139 msgid "Build not complete" -msgstr "" +msgstr "生产未完成" #: build/templates/build/detail.html:150 build/templates/build/navbar.html:35 msgid "Child Build Orders" -msgstr "" +msgstr "子生产订单" #: build/templates/build/detail.html:166 msgid "Allocate Stock to Build" -msgstr "" +msgstr "为生产分配库存" #: build/templates/build/detail.html:172 msgid "Allocate stock to build" -msgstr "" +msgstr "为生产分配库存" -#: build/templates/build/detail.html:173 -msgid "Auto Allocate" -msgstr "" +#: build/templates/build/detail.html:173 build/templates/build/navbar.html:20 +#: build/templates/build/navbar.html:23 +msgid "Allocate Stock" +msgstr "分配库存" -#: build/templates/build/detail.html:175 templates/js/translated/build.js:801 +#: build/templates/build/detail.html:175 templates/js/translated/build.js:817 msgid "Unallocate stock" -msgstr "" +msgstr "未分配库存" -#: build/templates/build/detail.html:176 build/views.py:318 build/views.py:638 +#: build/templates/build/detail.html:176 build/views.py:257 msgid "Unallocate Stock" msgstr "未分配库存" @@ -1268,10 +1267,10 @@ msgstr "订单所需部件" #: build/templates/build/detail.html:180 #: company/templates/company/detail.html:32 -#: company/templates/company/detail.html:72 order/views.py:679 +#: company/templates/company/detail.html:72 order/views.py:509 #: part/templates/part/category.html:140 msgid "Order Parts" -msgstr "订单部件" +msgstr "订购商品" #: build/templates/build/detail.html:186 msgid "Untracked stock has been fully allocated for this Build Order" @@ -1282,38 +1281,42 @@ msgid "Untracked stock has not been fully allocated for this Build Order" msgstr "未跟踪的库存尚未完全分配给此生产订单" #: build/templates/build/detail.html:197 +msgid "Allocate selected items" +msgstr "" + +#: build/templates/build/detail.html:209 msgid "This Build Order does not have any associated untracked BOM items" msgstr "" -#: build/templates/build/detail.html:206 +#: build/templates/build/detail.html:218 msgid "Incomplete Build Outputs" msgstr "未完成的生产产出" -#: build/templates/build/detail.html:211 +#: build/templates/build/detail.html:223 msgid "Create new build output" msgstr "" -#: build/templates/build/detail.html:212 +#: build/templates/build/detail.html:224 msgid "Create New Output" msgstr "" -#: build/templates/build/detail.html:225 +#: build/templates/build/detail.html:237 msgid "Create a new build output" msgstr "" -#: build/templates/build/detail.html:226 +#: build/templates/build/detail.html:238 msgid "No incomplete build outputs remain." msgstr "" -#: build/templates/build/detail.html:227 +#: build/templates/build/detail.html:239 msgid "Create a new build output using the button above" msgstr "" -#: build/templates/build/detail.html:235 +#: build/templates/build/detail.html:247 msgid "Completed Build Outputs" msgstr "" -#: build/templates/build/detail.html:246 build/templates/build/navbar.html:42 +#: build/templates/build/detail.html:258 build/templates/build/navbar.html:42 #: build/templates/build/navbar.html:45 order/templates/order/po_navbar.html:35 #: order/templates/order/sales_order_detail.html:43 #: order/templates/order/so_navbar.html:29 part/templates/part/detail.html:173 @@ -1321,55 +1324,64 @@ msgstr "" #: stock/templates/stock/item.html:88 stock/templates/stock/navbar.html:47 #: stock/templates/stock/navbar.html:50 msgid "Attachments" -msgstr "" +msgstr "附件" -#: build/templates/build/detail.html:257 +#: build/templates/build/detail.html:269 msgid "Build Notes" -msgstr "" +msgstr "生产备注" -#: build/templates/build/detail.html:261 build/templates/build/detail.html:398 +#: build/templates/build/detail.html:273 build/templates/build/detail.html:414 #: company/templates/company/detail.html:169 #: company/templates/company/detail.html:196 -#: order/templates/order/purchase_order_detail.html:62 -#: order/templates/order/purchase_order_detail.html:95 +#: order/templates/order/purchase_order_detail.html:71 +#: order/templates/order/purchase_order_detail.html:104 #: order/templates/order/sales_order_detail.html:58 #: order/templates/order/sales_order_detail.html:85 #: part/templates/part/detail.html:109 stock/templates/stock/item.html:103 #: stock/templates/stock/item.html:188 msgid "Edit Notes" -msgstr "" +msgstr "编辑备注" -#: build/templates/build/detail.html:357 +#: build/templates/build/detail.html:373 #: order/templates/order/po_attachments.html:79 -#: order/templates/order/purchase_order_detail.html:157 +#: order/templates/order/purchase_order_detail.html:166 #: order/templates/order/sales_order_detail.html:146 -#: part/templates/part/detail.html:920 stock/templates/stock/item.html:253 +#: part/templates/part/detail.html:891 stock/templates/stock/item.html:253 #: templates/attachment_table.html:6 msgid "Add Attachment" -msgstr "" +msgstr "添加附件" -#: build/templates/build/detail.html:376 +#: build/templates/build/detail.html:392 #: order/templates/order/po_attachments.html:51 -#: order/templates/order/purchase_order_detail.html:129 +#: order/templates/order/purchase_order_detail.html:138 #: order/templates/order/sales_order_detail.html:119 -#: part/templates/part/detail.html:874 stock/templates/stock/item.html:221 +#: part/templates/part/detail.html:845 stock/templates/stock/item.html:221 msgid "Edit Attachment" -msgstr "" +msgstr "编辑附件" -#: build/templates/build/detail.html:383 +#: build/templates/build/detail.html:399 #: order/templates/order/po_attachments.html:58 -#: order/templates/order/purchase_order_detail.html:136 +#: order/templates/order/purchase_order_detail.html:145 #: order/templates/order/sales_order_detail.html:125 -#: part/templates/part/detail.html:883 stock/templates/stock/item.html:230 +#: part/templates/part/detail.html:854 stock/templates/stock/item.html:230 +#: templates/js/translated/order.js:1230 msgid "Confirm Delete Operation" +msgstr "确认删除操作" + +#: build/templates/build/detail.html:400 +#: order/templates/order/po_attachments.html:59 +#: order/templates/order/purchase_order_detail.html:146 +#: order/templates/order/sales_order_detail.html:126 +#: part/templates/part/detail.html:855 stock/templates/stock/item.html:231 +msgid "Delete Attachment" +msgstr "删除附件" + +#: build/templates/build/detail.html:443 +msgid "Allocation Complete" msgstr "" -#: build/templates/build/detail.html:384 -#: order/templates/order/po_attachments.html:59 -#: order/templates/order/purchase_order_detail.html:137 -#: order/templates/order/sales_order_detail.html:126 -#: part/templates/part/detail.html:884 stock/templates/stock/item.html:231 -msgid "Delete Attachment" +#: build/templates/build/detail.html:444 +msgid "All untracked stock items have been allocated" msgstr "" #: build/templates/build/edit_build_item.html:7 @@ -1378,41 +1390,36 @@ msgstr "" #: build/templates/build/index.html:28 msgid "New Build Order" -msgstr "" +msgstr "新建生产订单" #: build/templates/build/index.html:37 build/templates/build/index.html:38 msgid "Print Build Orders" -msgstr "" +msgstr "打印生产订单" #: build/templates/build/index.html:43 #: order/templates/order/purchase_orders.html:27 #: order/templates/order/sales_orders.html:27 msgid "Display calendar view" -msgstr "" +msgstr "显示日历" #: build/templates/build/index.html:46 #: order/templates/order/purchase_orders.html:30 #: order/templates/order/sales_orders.html:30 msgid "Display list view" -msgstr "" +msgstr "列表视图" #: build/templates/build/navbar.html:12 msgid "Build Order Details" -msgstr "" +msgstr "生产订单详情" #: build/templates/build/navbar.html:15 order/templates/order/po_navbar.html:15 -#: templates/js/translated/stock.js:1555 +#: templates/js/translated/stock.js:1534 msgid "Details" -msgstr "" - -#: build/templates/build/navbar.html:20 build/templates/build/navbar.html:23 -#: build/views.py:90 -msgid "Allocate Stock" -msgstr "" +msgstr "详情" #: build/templates/build/navbar.html:28 build/templates/build/navbar.html:31 msgid "Build Outputs" -msgstr "" +msgstr "生产产出" #: build/templates/build/navbar.html:38 msgid "Child Builds" @@ -1420,137 +1427,99 @@ msgstr "" #: build/templates/build/navbar.html:49 msgid "Build Order Notes" -msgstr "" +msgstr "生产订单备注" #: build/templates/build/unallocate.html:10 msgid "Are you sure you wish to unallocate all stock for this build?" -msgstr "" +msgstr "您确定要取消此生产的所有库存分配?" #: build/templates/build/unallocate.html:12 msgid "All incomplete stock allocations will be removed from the build" -msgstr "" +msgstr "所有未完成的库存分配都将从生产中删除" #: build/views.py:76 msgid "Build was cancelled" -msgstr "" +msgstr "生产已取消" -#: build/views.py:137 -msgid "Allocated stock to build output" -msgstr "" - -#: build/views.py:149 +#: build/views.py:88 msgid "Create Build Output" -msgstr "" +msgstr "创建创建生产产出" -#: build/views.py:167 +#: build/views.py:106 msgid "Maximum output quantity is " -msgstr "" +msgstr "最大产出量是 " -#: build/views.py:183 stock/views.py:1389 +#: build/views.py:122 stock/views.py:1366 msgid "Serial numbers already exist" -msgstr "" +msgstr "序列号已存在" -#: build/views.py:192 +#: build/views.py:131 msgid "Serial numbers required for trackable build output" -msgstr "" +msgstr "可追踪的生产产出需要序列号" -#: build/views.py:258 +#: build/views.py:197 msgid "Delete Build Output" -msgstr "" +msgstr "删除生产产出" -#: build/views.py:279 build/views.py:369 +#: build/views.py:218 build/views.py:308 msgid "Confirm unallocation of build stock" msgstr "" -#: build/views.py:280 build/views.py:370 stock/views.py:404 +#: build/views.py:219 build/views.py:309 stock/views.py:381 msgid "Check the confirmation box" -msgstr "" +msgstr "选中确认框" -#: build/views.py:292 +#: build/views.py:231 msgid "Build output does not match build" -msgstr "" +msgstr "生产产出与生产不匹配" -#: build/views.py:294 build/views.py:495 +#: build/views.py:233 build/views.py:434 msgid "Build output must be specified" -msgstr "" +msgstr "必须指定生成产出" -#: build/views.py:306 +#: build/views.py:245 msgid "Build output deleted" -msgstr "" +msgstr "生产产出已删除" -#: build/views.py:404 +#: build/views.py:343 msgid "Complete Build Order" -msgstr "" +msgstr "生产订单完成" -#: build/views.py:410 +#: build/views.py:349 msgid "Build order cannot be completed - incomplete outputs remain" msgstr "" -#: build/views.py:421 +#: build/views.py:360 msgid "Completed build order" -msgstr "" +msgstr "已完成的生产订单" -#: build/views.py:437 +#: build/views.py:376 msgid "Complete Build Output" msgstr "" -#: build/views.py:479 +#: build/views.py:418 msgid "Invalid stock status value selected" -msgstr "" +msgstr "选定的库存状态值无效" -#: build/views.py:486 +#: build/views.py:425 msgid "Quantity to complete cannot exceed build output quantity" -msgstr "" +msgstr "完成数量不能超过生产产出数量" -#: build/views.py:492 +#: build/views.py:431 msgid "Confirm completion of incomplete build" msgstr "" -#: build/views.py:591 +#: build/views.py:530 msgid "Build output completed" -msgstr "" +msgstr "生产产出已完成" -#: build/views.py:628 +#: build/views.py:567 msgid "Delete Build Order" -msgstr "" - -#: build/views.py:643 -msgid "Removed parts from build allocation" -msgstr "" - -#: build/views.py:655 -msgid "Allocate stock to build output" -msgstr "" - -#: build/views.py:698 -msgid "Item must be currently in stock" -msgstr "" - -#: build/views.py:704 -msgid "Stock item is over-allocated" -msgstr "" - -#: build/views.py:705 templates/js/translated/bom.js:269 -#: templates/js/translated/build.js:728 templates/js/translated/build.js:1019 -#: templates/js/translated/build.js:1196 -msgid "Available" -msgstr "" - -#: build/views.py:707 -msgid "Stock item must be selected" -msgstr "" - -#: build/views.py:870 -msgid "Edit Stock Allocation" -msgstr "" - -#: build/views.py:874 -msgid "Updated Build Item" -msgstr "" +msgstr "删除生产订单" #: common/files.py:67 msgid "Unsupported file format: {ext.upper()}" -msgstr "" +msgstr "不支持的文件格式: {ext.uper()}" #: common/files.py:69 msgid "Error reading file (invalid encoding)" @@ -1585,7 +1554,7 @@ msgstr "" msgid "Select {name} file to upload" msgstr "" -#: common/models.py:308 common/models.py:839 common/models.py:986 +#: common/models.py:308 common/models.py:887 common/models.py:1048 msgid "Settings key (must be unique - case insensitive" msgstr "" @@ -1625,13 +1594,13 @@ msgstr "" msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:522 company/models.py:99 company/models.py:100 +#: common/models.py:522 company/models.py:100 company/models.py:101 msgid "Company name" -msgstr "" +msgstr "公司名称" #: common/models.py:523 msgid "Internal company name" -msgstr "" +msgstr "内部公司名称" #: common/models.py:528 msgid "Base URL" @@ -1663,7 +1632,7 @@ msgstr "" #: common/models.py:550 msgid "Enable barcode scanner support" -msgstr "" +msgstr "启用条形码扫描支持" #: common/models.py:556 msgid "IPN Regex" @@ -1721,510 +1690,582 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:603 part/models.py:2252 report/models.py:187 +#: common/models.py:603 part/models.py:2256 report/models.py:187 #: stock/forms.py:224 templates/js/translated/table_filters.js:38 -#: templates/js/translated/table_filters.js:342 +#: templates/js/translated/table_filters.js:351 msgid "Template" -msgstr "" +msgstr "模板" #: common/models.py:604 msgid "Parts are templates by default" msgstr "" -#: common/models.py:610 part/models.py:805 +#: common/models.py:610 part/models.py:806 #: templates/js/translated/table_filters.js:146 -#: templates/js/translated/table_filters.js:354 +#: templates/js/translated/table_filters.js:363 msgid "Assembly" -msgstr "" +msgstr "组装" #: common/models.py:611 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:617 part/models.py:811 -#: templates/js/translated/table_filters.js:358 +#: common/models.py:617 part/models.py:812 +#: templates/js/translated/table_filters.js:367 msgid "Component" -msgstr "" +msgstr "组件" #: common/models.py:618 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:624 part/models.py:822 +#: common/models.py:624 part/models.py:823 msgid "Purchaseable" -msgstr "" +msgstr "可购买" #: common/models.py:625 msgid "Parts are purchaseable by default" -msgstr "" +msgstr "商品默认可购买" -#: common/models.py:631 part/models.py:827 -#: templates/js/translated/table_filters.js:366 +#: common/models.py:631 part/models.py:828 +#: templates/js/translated/table_filters.js:375 msgid "Salable" -msgstr "" +msgstr "可销售" #: common/models.py:632 msgid "Parts are salable by default" -msgstr "" +msgstr "商品默认可销售" -#: common/models.py:638 part/models.py:817 +#: common/models.py:638 part/models.py:818 #: templates/js/translated/table_filters.js:46 -#: templates/js/translated/table_filters.js:370 +#: templates/js/translated/table_filters.js:379 msgid "Trackable" -msgstr "" +msgstr "可追踪" #: common/models.py:639 msgid "Parts are trackable by default" -msgstr "" +msgstr "商品默认可跟踪" -#: common/models.py:645 part/models.py:837 +#: common/models.py:645 part/models.py:838 #: part/templates/part/part_base.html:66 #: templates/js/translated/table_filters.js:42 msgid "Virtual" -msgstr "" +msgstr "虚拟" #: common/models.py:646 msgid "Parts are virtual by default" -msgstr "" +msgstr "商品默认是虚拟的" + +#: common/models.py:652 +msgid "Show Import in Views" +msgstr "视图中显示导入" #: common/models.py:653 -msgid "Show Quantity in Forms" -msgstr "" +msgid "Display the import wizard in some part views" +msgstr "在一些商品视图中显示导入向导" -#: common/models.py:654 -msgid "Display available part quantity in some forms" -msgstr "" +#: common/models.py:659 +msgid "Show Price in Forms" +msgstr "在表格中显示价格" #: common/models.py:660 -msgid "Show Import in Views" -msgstr "" - -#: common/models.py:661 -msgid "Display the import wizard in some part views" -msgstr "" - -#: common/models.py:667 -msgid "Show Price in Forms" -msgstr "" - -#: common/models.py:668 msgid "Display part price in some forms" +msgstr "以某些表格显示商品价格" + +#: common/models.py:671 +msgid "Show Price in BOM" msgstr "" -#: common/models.py:674 +#: common/models.py:672 +msgid "Include pricing information in BOM tables" +msgstr "" + +#: common/models.py:678 msgid "Show related parts" -msgstr "" +msgstr "显示相关商品" -#: common/models.py:675 +#: common/models.py:679 msgid "Display related parts for a part" msgstr "" -#: common/models.py:681 +#: common/models.py:685 msgid "Create initial stock" -msgstr "" +msgstr "创建初始库存" -#: common/models.py:682 +#: common/models.py:686 msgid "Create initial stock on part creation" msgstr "" -#: common/models.py:688 +#: common/models.py:692 msgid "Internal Prices" -msgstr "" +msgstr "内部价格" -#: common/models.py:689 +#: common/models.py:693 msgid "Enable internal prices for parts" -msgstr "" +msgstr "启用内部商品价格" -#: common/models.py:695 +#: common/models.py:699 msgid "Internal Price as BOM-Price" -msgstr "" +msgstr "内部价格为BOM价格" -#: common/models.py:696 +#: common/models.py:700 msgid "Use the internal price (if set) in BOM-price calculations" -msgstr "" +msgstr "在 BOM价格计算中使用内部价格(如设置)" -#: common/models.py:702 templates/stats.html:25 +#: common/models.py:706 templates/stats.html:25 msgid "Debug Mode" -msgstr "" +msgstr "调试模式" -#: common/models.py:703 +#: common/models.py:707 msgid "Generate reports in debug mode (HTML output)" -msgstr "" +msgstr "在调试模式生成报告(HTML输出)" -#: common/models.py:709 +#: common/models.py:713 msgid "Page Size" -msgstr "" +msgstr "页面大小" -#: common/models.py:710 +#: common/models.py:714 msgid "Default page size for PDF reports" -msgstr "" +msgstr "PDF 报表默认页面大小" -#: common/models.py:720 +#: common/models.py:724 msgid "Test Reports" -msgstr "" +msgstr "测试报表" -#: common/models.py:721 +#: common/models.py:725 msgid "Enable generation of test reports" -msgstr "" +msgstr "启用生成测试报表" -#: common/models.py:727 +#: common/models.py:731 msgid "Stock Expiry" -msgstr "" +msgstr "库存到期" -#: common/models.py:728 +#: common/models.py:732 msgid "Enable stock expiry functionality" -msgstr "" +msgstr "启用库存到期功能" -#: common/models.py:734 +#: common/models.py:738 msgid "Sell Expired Stock" -msgstr "" +msgstr "销售过期库存" -#: common/models.py:735 +#: common/models.py:739 msgid "Allow sale of expired stock" -msgstr "" +msgstr "允许销售过期库存" -#: common/models.py:741 +#: common/models.py:745 msgid "Stock Stale Time" msgstr "" -#: common/models.py:742 +#: common/models.py:746 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:744 +#: common/models.py:748 msgid "days" -msgstr "" +msgstr "天" -#: common/models.py:749 +#: common/models.py:753 msgid "Build Expired Stock" msgstr "" -#: common/models.py:750 +#: common/models.py:754 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:756 +#: common/models.py:760 msgid "Stock Ownership Control" -msgstr "" +msgstr "库存所有权控制" -#: common/models.py:757 +#: common/models.py:761 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:763 +#: common/models.py:767 msgid "Group by Part" -msgstr "" +msgstr "按商品分组" -#: common/models.py:764 +#: common/models.py:768 msgid "Group stock items by part reference in table views" msgstr "" -#: common/models.py:770 +#: common/models.py:774 msgid "Build Order Reference Prefix" -msgstr "" +msgstr "生产订单参考前缀" -#: common/models.py:771 +#: common/models.py:775 msgid "Prefix value for build order reference" msgstr "" -#: common/models.py:776 +#: common/models.py:780 msgid "Build Order Reference Regex" msgstr "" -#: common/models.py:777 +#: common/models.py:781 msgid "Regular expression pattern for matching build order reference" msgstr "" -#: common/models.py:781 +#: common/models.py:785 msgid "Sales Order Reference Prefix" msgstr "" -#: common/models.py:782 +#: common/models.py:786 msgid "Prefix value for sales order reference" msgstr "" -#: common/models.py:787 +#: common/models.py:791 msgid "Purchase Order Reference Prefix" msgstr "" -#: common/models.py:788 +#: common/models.py:792 msgid "Prefix value for purchase order reference" msgstr "" -#: common/models.py:794 +#: common/models.py:798 msgid "Enable build" msgstr "" -#: common/models.py:795 +#: common/models.py:799 msgid "Enable build functionality in InvenTree interface" msgstr "" -#: common/models.py:800 +#: common/models.py:804 msgid "Enable buy" -msgstr "" +msgstr "启用采购" -#: common/models.py:801 +#: common/models.py:805 msgid "Enable buy functionality in InvenTree interface" -msgstr "" +msgstr "在 InventTree 界面中启用采购功能" -#: common/models.py:806 +#: common/models.py:810 msgid "Enable sell" -msgstr "" +msgstr "启用销售" -#: common/models.py:807 +#: common/models.py:811 msgid "Enable sell functionality in InvenTree interface" -msgstr "" +msgstr "在 InventTree 界面中启用销售功能" -#: common/models.py:812 +#: common/models.py:816 msgid "Enable stock" msgstr "" -#: common/models.py:813 +#: common/models.py:817 msgid "Enable stock functionality in InvenTree interface" msgstr "" -#: common/models.py:818 +#: common/models.py:822 msgid "Enable SO" msgstr "" -#: common/models.py:819 +#: common/models.py:823 msgid "Enable SO functionality in InvenTree interface" msgstr "" -#: common/models.py:824 +#: common/models.py:828 msgid "Enable PO" msgstr "" -#: common/models.py:825 +#: common/models.py:829 msgid "Enable PO functionality in InvenTree interface" msgstr "" -#: common/models.py:850 +#: common/models.py:836 +msgid "Enable password forgot" +msgstr "" + +#: common/models.py:837 +msgid "Enable password forgot function on the login-pages" +msgstr "" + +#: common/models.py:842 +msgid "Enable registration" +msgstr "" + +#: common/models.py:843 +msgid "Enable self-registration for users on the login-pages" +msgstr "" + +#: common/models.py:848 +msgid "Enable SSO" +msgstr "" + +#: common/models.py:849 +msgid "Enable SSO on the login-pages" +msgstr "" + +#: common/models.py:854 +msgid "E-Mail required" +msgstr "" + +#: common/models.py:855 +msgid "Require user to supply mail on signup" +msgstr "" + +#: common/models.py:860 +msgid "Auto-fill SSO users" +msgstr "" + +#: common/models.py:861 +msgid "Automatically fill out user-details from SSO account-data" +msgstr "" + +#: common/models.py:866 +msgid "Mail twice" +msgstr "" + +#: common/models.py:867 +msgid "On signup ask users twice for their mail" +msgstr "" + +#: common/models.py:872 +msgid "Password twice" +msgstr "" + +#: common/models.py:873 +msgid "On signup ask users twice for their password" +msgstr "" + +#: common/models.py:898 msgid "Show starred parts" -msgstr "" +msgstr "显示星标商品" -#: common/models.py:851 +#: common/models.py:899 msgid "Show starred parts on the homepage" -msgstr "" +msgstr "在主页上显示星标商品" -#: common/models.py:856 +#: common/models.py:904 msgid "Show latest parts" -msgstr "" +msgstr "显示最近商品" -#: common/models.py:857 +#: common/models.py:905 msgid "Show latest parts on the homepage" -msgstr "" +msgstr "在主页上显示最近商品" -#: common/models.py:862 +#: common/models.py:910 msgid "Recent Part Count" msgstr "" -#: common/models.py:863 +#: common/models.py:911 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:869 +#: common/models.py:917 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:870 +#: common/models.py:918 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:875 +#: common/models.py:923 msgid "Show recent stock changes" msgstr "" -#: common/models.py:876 +#: common/models.py:924 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:881 +#: common/models.py:929 msgid "Recent Stock Count" msgstr "" -#: common/models.py:882 +#: common/models.py:930 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:887 +#: common/models.py:935 msgid "Show low stock" msgstr "" -#: common/models.py:888 +#: common/models.py:936 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:893 +#: common/models.py:941 msgid "Show depleted stock" msgstr "" -#: common/models.py:894 +#: common/models.py:942 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:899 +#: common/models.py:947 msgid "Show needed stock" msgstr "" -#: common/models.py:900 +#: common/models.py:948 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:905 +#: common/models.py:953 msgid "Show expired stock" msgstr "" -#: common/models.py:906 +#: common/models.py:954 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:911 +#: common/models.py:959 msgid "Show stale stock" msgstr "" -#: common/models.py:912 +#: common/models.py:960 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:917 +#: common/models.py:965 msgid "Show pending builds" msgstr "" -#: common/models.py:918 +#: common/models.py:966 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:923 +#: common/models.py:971 msgid "Show overdue builds" -msgstr "" +msgstr "显示逾期生产" -#: common/models.py:924 +#: common/models.py:972 msgid "Show overdue builds on the homepage" -msgstr "" +msgstr "在主页上显示逾期的生产" -#: common/models.py:929 +#: common/models.py:977 msgid "Show outstanding POs" msgstr "" -#: common/models.py:930 +#: common/models.py:978 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:935 +#: common/models.py:983 msgid "Show overdue POs" msgstr "" -#: common/models.py:936 +#: common/models.py:984 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:941 +#: common/models.py:989 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:942 +#: common/models.py:990 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:947 +#: common/models.py:995 msgid "Show overdue SOs" msgstr "" -#: common/models.py:948 +#: common/models.py:996 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:954 +#: common/models.py:1002 msgid "Inline label display" -msgstr "" +msgstr "内嵌标签显示" -#: common/models.py:955 +#: common/models.py:1003 msgid "Display PDF labels in the browser, instead of downloading as a file" -msgstr "" +msgstr "在浏览器中显示 PDF 标签,而不是以文件形式下载" -#: common/models.py:961 +#: common/models.py:1009 msgid "Inline report display" msgstr "" -#: common/models.py:962 +#: common/models.py:1010 msgid "Display PDF reports in the browser, instead of downloading as a file" -msgstr "" +msgstr "在浏览器中显示 PDF 报告,而不是以文件形式下载" -#: common/models.py:968 +#: common/models.py:1016 msgid "Search Preview Results" -msgstr "" +msgstr "搜索预览结果" -#: common/models.py:969 +#: common/models.py:1017 msgid "Number of results to show in search preview window" +msgstr "搜索预览窗口中显示的结果数" + +#: common/models.py:1023 +msgid "Show Quantity in Forms" +msgstr "在表格中显示数量" + +#: common/models.py:1024 +msgid "Display available part quantity in some forms" +msgstr "在某些表格中显示可用的商品数量" + +#: common/models.py:1030 +msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:1026 company/forms.py:43 +#: common/models.py:1031 +msgid "Use the escape key to close modal forms" +msgstr "" + +#: common/models.py:1088 company/forms.py:43 msgid "Price break quantity" msgstr "" -#: common/models.py:1033 company/templates/company/supplier_part.html:231 -#: templates/js/translated/part.js:1322 +#: common/models.py:1095 company/templates/company/supplier_part.html:231 +#: templates/js/translated/part.js:1369 msgid "Price" -msgstr "" +msgstr "价格" -#: common/models.py:1034 +#: common/models.py:1096 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1127 +#: common/models.py:1189 msgid "Default" -msgstr "" +msgstr "默认" #: common/templates/common/edit_setting.html:11 msgid "Current value" -msgstr "" +msgstr "当前数值" #: common/views.py:33 msgid "Change Setting" -msgstr "" +msgstr "更改设置" #: common/views.py:119 msgid "Supplied value is not allowed" -msgstr "" +msgstr "提供的值不被允许" #: common/views.py:128 msgid "Supplied value must be a boolean" -msgstr "" +msgstr "提供的值必须为布尔值" #: common/views.py:138 msgid "Change User Setting" -msgstr "" +msgstr "更改用户设置" #: common/views.py:213 order/templates/order/order_wizard/po_upload.html:42 #: order/templates/order/po_navbar.html:19 #: order/templates/order/po_navbar.html:22 -#: order/templates/order/purchase_order_detail.html:26 order/views.py:290 +#: order/templates/order/purchase_order_detail.html:27 order/views.py:289 #: part/templates/part/bom_upload/upload_file.html:65 #: part/templates/part/import_wizard/part_upload.html:45 part/views.py:268 #: part/views.py:882 msgid "Upload File" -msgstr "" +msgstr "上传文件" #: common/views.py:214 order/templates/order/order_wizard/match_fields.html:52 -#: order/views.py:291 part/templates/part/bom_upload/match_fields.html:52 +#: order/views.py:290 part/templates/part/bom_upload/match_fields.html:52 #: part/templates/part/import_wizard/ajax_match_fields.html:45 #: part/templates/part/import_wizard/match_fields.html:52 part/views.py:269 #: part/views.py:883 msgid "Match Fields" -msgstr "" +msgstr "匹配字段" #: common/views.py:215 msgid "Match Items" -msgstr "" +msgstr "匹配项" #: common/views.py:560 msgid "Fields matching failed" -msgstr "" +msgstr "字段匹配失败" #: common/views.py:615 msgid "Parts imported" -msgstr "" +msgstr "已导入商品" #: common/views.py:637 order/templates/order/order_wizard/match_fields.html:27 #: order/templates/order/order_wizard/match_parts.html:19 @@ -2240,337 +2281,337 @@ msgstr "" #: company/forms.py:24 part/forms.py:46 msgid "URL" -msgstr "" +msgstr "URL" #: company/forms.py:25 part/forms.py:47 msgid "Image URL" -msgstr "" - -#: company/models.py:104 -msgid "Company description" -msgstr "" +msgstr "图片URL" #: company/models.py:105 -msgid "Description of the company" -msgstr "" +msgid "Company description" +msgstr "公司简介" -#: company/models.py:111 company/templates/company/company_base.html:70 +#: company/models.py:106 +msgid "Description of the company" +msgstr "公司简介" + +#: company/models.py:112 company/templates/company/company_base.html:70 #: templates/js/translated/company.js:348 msgid "Website" -msgstr "" +msgstr "网站" -#: company/models.py:112 +#: company/models.py:113 msgid "Company website URL" -msgstr "" +msgstr "公司网站" -#: company/models.py:116 company/templates/company/company_base.html:88 +#: company/models.py:117 company/templates/company/company_base.html:88 msgid "Address" -msgstr "" +msgstr "地址" -#: company/models.py:117 +#: company/models.py:118 msgid "Company address" -msgstr "" - -#: company/models.py:120 -msgid "Phone number" -msgstr "" +msgstr "公司地址" #: company/models.py:121 +msgid "Phone number" +msgstr "电话号码" + +#: company/models.py:122 msgid "Contact phone number" -msgstr "" +msgstr "联系电话" -#: company/models.py:124 company/templates/company/company_base.html:102 +#: company/models.py:125 company/templates/company/company_base.html:102 msgid "Email" -msgstr "" +msgstr "电子邮件" -#: company/models.py:124 +#: company/models.py:125 msgid "Contact email address" -msgstr "" +msgstr "联系人电子邮件" -#: company/models.py:127 company/templates/company/company_base.html:109 +#: company/models.py:128 company/templates/company/company_base.html:109 msgid "Contact" -msgstr "" +msgstr "联系人" -#: company/models.py:128 +#: company/models.py:129 msgid "Point of contact" msgstr "" -#: company/models.py:130 company/models.py:347 company/models.py:563 -#: order/models.py:160 part/models.py:714 +#: company/models.py:131 company/models.py:348 company/models.py:564 +#: order/models.py:160 part/models.py:715 #: report/templates/report/inventree_build_order_base.html:165 -#: templates/js/translated/company.js:535 -#: templates/js/translated/company.js:823 templates/js/translated/part.js:972 +#: templates/js/translated/company.js:536 +#: templates/js/translated/company.js:825 templates/js/translated/part.js:983 msgid "Link" -msgstr "" +msgstr "链接" -#: company/models.py:130 +#: company/models.py:131 msgid "Link to external company information" -msgstr "" +msgstr "链接到外部公司信息" -#: company/models.py:138 part/models.py:724 +#: company/models.py:139 part/models.py:725 msgid "Image" -msgstr "" +msgstr "图片" -#: company/models.py:143 +#: company/models.py:144 msgid "is customer" -msgstr "" +msgstr "是客户" -#: company/models.py:143 +#: company/models.py:144 msgid "Do you sell items to this company?" -msgstr "" +msgstr "您是否向该公司出售商品?" -#: company/models.py:145 +#: company/models.py:146 msgid "is supplier" -msgstr "" +msgstr "是供应商" -#: company/models.py:145 +#: company/models.py:146 msgid "Do you purchase items from this company?" -msgstr "" +msgstr "您是否从该公司采购商品?" -#: company/models.py:147 +#: company/models.py:148 msgid "is manufacturer" -msgstr "" +msgstr "是制造商" -#: company/models.py:147 +#: company/models.py:148 msgid "Does this company manufacture parts?" -msgstr "" +msgstr "该公司制造商品吗?" -#: company/models.py:151 company/serializers.py:264 -#: company/templates/company/company_base.html:76 stock/serializers.py:155 +#: company/models.py:152 company/serializers.py:264 +#: company/templates/company/company_base.html:76 stock/serializers.py:158 msgid "Currency" -msgstr "" +msgstr "货币" -#: company/models.py:154 +#: company/models.py:155 msgid "Default currency used for this company" -msgstr "" +msgstr "该公司使用的默认货币" -#: company/models.py:319 company/models.py:534 stock/models.py:454 +#: company/models.py:320 company/models.py:535 stock/models.py:454 #: stock/templates/stock/item_base.html:237 msgid "Base Part" msgstr "" -#: company/models.py:323 company/models.py:538 order/views.py:1082 +#: company/models.py:324 company/models.py:539 order/views.py:912 msgid "Select part" -msgstr "" +msgstr "选择商品" -#: company/models.py:334 company/templates/company/company_base.html:116 +#: company/models.py:335 company/templates/company/company_base.html:116 #: company/templates/company/manufacturer_part.html:89 #: company/templates/company/supplier_part.html:98 part/bom.py:170 -#: part/bom.py:241 stock/templates/stock/item_base.html:366 +#: part/bom.py:247 stock/templates/stock/item_base.html:366 #: templates/js/translated/company.js:332 -#: templates/js/translated/company.js:512 -#: templates/js/translated/company.js:794 templates/js/translated/part.js:222 +#: templates/js/translated/company.js:513 +#: templates/js/translated/company.js:796 templates/js/translated/part.js:227 msgid "Manufacturer" -msgstr "" +msgstr "制造商" -#: company/models.py:335 templates/js/translated/part.js:223 +#: company/models.py:336 templates/js/translated/part.js:228 msgid "Select manufacturer" -msgstr "" +msgstr "选择制造商" -#: company/models.py:341 company/templates/company/manufacturer_part.html:93 +#: company/models.py:342 company/templates/company/manufacturer_part.html:93 #: company/templates/company/supplier_part.html:106 part/bom.py:171 -#: part/bom.py:242 templates/js/translated/company.js:528 -#: templates/js/translated/company.js:812 templates/js/translated/order.js:505 -#: templates/js/translated/part.js:233 +#: part/bom.py:248 templates/js/translated/company.js:529 +#: templates/js/translated/company.js:814 templates/js/translated/order.js:851 +#: templates/js/translated/part.js:238 msgid "MPN" -msgstr "" +msgstr "MPN" -#: company/models.py:342 templates/js/translated/part.js:234 +#: company/models.py:343 templates/js/translated/part.js:239 msgid "Manufacturer Part Number" -msgstr "" +msgstr "制造商商品编号" -#: company/models.py:348 +#: company/models.py:349 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:354 +#: company/models.py:355 msgid "Manufacturer part description" -msgstr "" +msgstr "制造商商品描述" -#: company/models.py:408 company/models.py:557 +#: company/models.py:409 company/models.py:558 #: company/templates/company/manufacturer_part.html:6 #: company/templates/company/manufacturer_part.html:23 #: stock/templates/stock/item_base.html:376 msgid "Manufacturer Part" -msgstr "" +msgstr "制造商商品" -#: company/models.py:415 +#: company/models.py:416 msgid "Parameter name" -msgstr "" - -#: company/models.py:421 -#: report/templates/report/inventree_test_report_base.html:90 -#: stock/models.py:1819 templates/InvenTree/settings/header.html:8 -#: templates/js/translated/company.js:642 templates/js/translated/part.js:612 -#: templates/js/translated/stock.js:576 -msgid "Value" -msgstr "" +msgstr "参数名称" #: company/models.py:422 +#: report/templates/report/inventree_test_report_base.html:90 +#: stock/models.py:1816 templates/InvenTree/settings/header.html:8 +#: templates/js/translated/company.js:643 templates/js/translated/part.js:623 +#: templates/js/translated/stock.js:555 +msgid "Value" +msgstr "数值" + +#: company/models.py:423 msgid "Parameter value" -msgstr "" +msgstr "参数值" -#: company/models.py:428 part/models.py:799 part/models.py:2220 -#: templates/js/translated/company.js:648 templates/js/translated/part.js:618 +#: company/models.py:429 part/models.py:800 part/models.py:2224 +#: templates/js/translated/company.js:649 templates/js/translated/part.js:629 msgid "Units" -msgstr "" +msgstr "单位" -#: company/models.py:429 +#: company/models.py:430 msgid "Parameter units" -msgstr "" +msgstr "参数单位" -#: company/models.py:501 +#: company/models.py:502 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:544 company/templates/company/company_base.html:121 +#: company/models.py:545 company/templates/company/company_base.html:121 #: company/templates/company/supplier_part.html:88 order/models.py:260 #: order/templates/order/order_base.html:92 #: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:175 -#: part/bom.py:286 stock/templates/stock/item_base.html:383 +#: part/bom.py:292 stock/templates/stock/item_base.html:383 #: templates/js/translated/company.js:336 -#: templates/js/translated/company.js:768 templates/js/translated/order.js:328 -#: templates/js/translated/part.js:203 +#: templates/js/translated/company.js:770 templates/js/translated/order.js:659 +#: templates/js/translated/part.js:208 msgid "Supplier" -msgstr "" +msgstr "供应商" -#: company/models.py:545 templates/js/translated/part.js:204 +#: company/models.py:546 templates/js/translated/part.js:209 msgid "Select supplier" -msgstr "" +msgstr "选择供应商" -#: company/models.py:550 company/templates/company/supplier_part.html:92 -#: part/bom.py:176 part/bom.py:287 templates/js/translated/order.js:492 -#: templates/js/translated/part.js:214 +#: company/models.py:551 company/templates/company/supplier_part.html:92 +#: part/bom.py:176 part/bom.py:293 templates/js/translated/order.js:838 +#: templates/js/translated/part.js:219 msgid "SKU" -msgstr "" +msgstr "SKU" -#: company/models.py:551 templates/js/translated/part.js:215 +#: company/models.py:552 templates/js/translated/part.js:220 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:558 +#: company/models.py:559 msgid "Select manufacturer part" -msgstr "" +msgstr "选择制造商商品" -#: company/models.py:564 +#: company/models.py:565 msgid "URL for external supplier part link" -msgstr "" +msgstr "外部供货商商品链接URL" -#: company/models.py:570 +#: company/models.py:571 msgid "Supplier part description" -msgstr "" +msgstr "供应商商品描述" -#: company/models.py:575 company/templates/company/supplier_part.html:120 -#: part/models.py:2368 report/templates/report/inventree_po_report.html:93 +#: company/models.py:576 company/templates/company/supplier_part.html:120 +#: part/models.py:2389 report/templates/report/inventree_po_report.html:93 #: report/templates/report/inventree_so_report.html:93 msgid "Note" -msgstr "" +msgstr "备注" -#: company/models.py:579 part/models.py:1599 +#: company/models.py:580 part/models.py:1603 msgid "base cost" msgstr "" -#: company/models.py:579 part/models.py:1599 +#: company/models.py:580 part/models.py:1603 msgid "Minimum charge (e.g. stocking fee)" -msgstr "" +msgstr "最低收费(例如库存费)" -#: company/models.py:581 company/templates/company/supplier_part.html:113 +#: company/models.py:582 company/templates/company/supplier_part.html:113 #: stock/models.py:478 stock/templates/stock/item_base.html:324 -#: templates/js/translated/company.js:844 templates/js/translated/stock.js:1057 +#: templates/js/translated/company.js:846 templates/js/translated/stock.js:1036 msgid "Packaging" -msgstr "" +msgstr "打包" -#: company/models.py:581 +#: company/models.py:582 msgid "Part packaging" -msgstr "" +msgstr "商品打包" -#: company/models.py:583 part/models.py:1601 +#: company/models.py:584 part/models.py:1605 msgid "multiple" msgstr "" -#: company/models.py:583 +#: company/models.py:584 msgid "Order multiple" msgstr "" #: company/serializers.py:68 msgid "Default currency used for this supplier" -msgstr "" +msgstr "该公司使用的默认货币" #: company/serializers.py:69 msgid "Currency Code" -msgstr "" +msgstr "货币代码" #: company/templates/company/company_base.html:9 #: company/templates/company/company_base.html:35 -#: templates/InvenTree/search.html:304 templates/js/translated/company.js:321 +#: templates/InvenTree/search.html:208 templates/js/translated/company.js:321 msgid "Company" -msgstr "" +msgstr "公司" #: company/templates/company/company_base.html:25 #: part/templates/part/part_thumb.html:21 msgid "Upload new image" -msgstr "" +msgstr "上传新图片" #: company/templates/company/company_base.html:27 #: part/templates/part/part_thumb.html:23 msgid "Download image from URL" -msgstr "" +msgstr "从 URL 下载图片" #: company/templates/company/company_base.html:46 -#: templates/js/translated/order.js:117 +#: templates/js/translated/order.js:120 msgid "Create Purchase Order" -msgstr "" +msgstr "创建采购订单" #: company/templates/company/company_base.html:51 msgid "Edit company information" -msgstr "" +msgstr "编辑公司信息" #: company/templates/company/company_base.html:56 #: company/templates/company/company_base.html:153 msgid "Delete Company" -msgstr "" +msgstr "删除该公司" #: company/templates/company/company_base.html:64 msgid "Company Details" -msgstr "" +msgstr "公司详细信息" #: company/templates/company/company_base.html:81 msgid "Uses default currency" -msgstr "" +msgstr "使用默认货币" #: company/templates/company/company_base.html:95 msgid "Phone" -msgstr "" +msgstr "电话" -#: company/templates/company/company_base.html:126 order/models.py:550 -#: order/templates/order/sales_order_base.html:94 stock/models.py:496 +#: company/templates/company/company_base.html:126 order/models.py:558 +#: order/templates/order/sales_order_base.html:99 stock/models.py:496 #: stock/models.py:497 stock/templates/stock/item_base.html:276 -#: templates/js/translated/company.js:328 templates/js/translated/order.js:692 -#: templates/js/translated/stock.js:1608 +#: templates/js/translated/company.js:328 templates/js/translated/order.js:1038 +#: templates/js/translated/stock.js:1587 msgid "Customer" -msgstr "" +msgstr "客户" -#: company/templates/company/company_base.html:193 -#: part/templates/part/part_base.html:418 +#: company/templates/company/company_base.html:199 +#: part/templates/part/part_base.html:424 msgid "Upload Image" -msgstr "" +msgstr "上传图片" #: company/templates/company/detail.html:14 #: company/templates/company/manufacturer_part_navbar.html:18 -#: templates/InvenTree/search.html:164 +#: templates/InvenTree/search.html:150 msgid "Supplier Parts" -msgstr "" +msgstr "供应商商品" #: company/templates/company/detail.html:22 #: order/templates/order/order_wizard/select_parts.html:44 msgid "Create new supplier part" -msgstr "" +msgstr "创建新的供应商商品" #: company/templates/company/detail.html:23 #: company/templates/company/manufacturer_part.html:109 #: part/templates/part/detail.html:289 msgid "New Supplier Part" -msgstr "" +msgstr "新建供应商商品" #: company/templates/company/detail.html:27 #: company/templates/company/detail.html:67 @@ -2579,39 +2620,39 @@ msgstr "" #: part/templates/part/category.html:135 part/templates/part/detail.html:292 #: part/templates/part/detail.html:315 msgid "Options" -msgstr "" +msgstr "选项" #: company/templates/company/detail.html:32 #: company/templates/company/detail.html:72 #: part/templates/part/category.html:140 msgid "Order parts" -msgstr "" +msgstr "订购商品" #: company/templates/company/detail.html:35 #: company/templates/company/detail.html:75 msgid "Delete parts" -msgstr "" +msgstr "删除商品" #: company/templates/company/detail.html:35 #: company/templates/company/detail.html:75 msgid "Delete Parts" -msgstr "" +msgstr "删除商品" -#: company/templates/company/detail.html:54 templates/InvenTree/search.html:149 +#: company/templates/company/detail.html:54 templates/InvenTree/search.html:135 msgid "Manufacturer Parts" -msgstr "" +msgstr "制造商商品" #: company/templates/company/detail.html:62 msgid "Create new manufacturer part" -msgstr "" +msgstr "新建制造商商品" #: company/templates/company/detail.html:63 part/templates/part/detail.html:312 msgid "New Manufacturer Part" -msgstr "" +msgstr "新建制造商商品" #: company/templates/company/detail.html:93 msgid "Supplier Stock" -msgstr "" +msgstr "供货商库存" #: company/templates/company/detail.html:102 #: company/templates/company/navbar.html:46 @@ -2620,22 +2661,22 @@ msgstr "" #: order/templates/order/purchase_orders.html:13 #: part/templates/part/detail.html:50 part/templates/part/navbar.html:82 #: part/templates/part/navbar.html:85 templates/InvenTree/index.html:260 -#: templates/InvenTree/search.html:325 -#: templates/InvenTree/settings/navbar.html:107 -#: templates/InvenTree/settings/navbar.html:109 templates/navbar.html:44 +#: templates/InvenTree/search.html:229 +#: templates/InvenTree/settings/navbar.html:119 +#: templates/InvenTree/settings/navbar.html:121 templates/navbar.html:44 #: users/models.py:45 msgid "Purchase Orders" -msgstr "" +msgstr "采购订单" #: company/templates/company/detail.html:108 #: order/templates/order/purchase_orders.html:20 msgid "Create new purchase order" -msgstr "" +msgstr "新建采购订单" #: company/templates/company/detail.html:109 #: order/templates/order/purchase_orders.html:21 msgid "New Purchase Order" -msgstr "" +msgstr "新建采购订单" #: company/templates/company/detail.html:124 #: company/templates/company/navbar.html:55 @@ -2644,97 +2685,97 @@ msgstr "" #: order/templates/order/sales_orders.html:13 #: part/templates/part/detail.html:71 part/templates/part/navbar.html:91 #: part/templates/part/navbar.html:94 templates/InvenTree/index.html:291 -#: templates/InvenTree/search.html:345 -#: templates/InvenTree/settings/navbar.html:113 -#: templates/InvenTree/settings/navbar.html:115 templates/navbar.html:55 +#: templates/InvenTree/search.html:249 +#: templates/InvenTree/settings/navbar.html:125 +#: templates/InvenTree/settings/navbar.html:127 templates/navbar.html:55 #: users/models.py:46 msgid "Sales Orders" -msgstr "" +msgstr "销售订单" #: company/templates/company/detail.html:130 #: order/templates/order/sales_orders.html:20 msgid "Create new sales order" -msgstr "" +msgstr "新建销售订单" #: company/templates/company/detail.html:131 #: order/templates/order/sales_orders.html:21 msgid "New Sales Order" -msgstr "" +msgstr "新建销售订单" #: company/templates/company/detail.html:147 #: company/templates/company/navbar.html:61 #: company/templates/company/navbar.html:64 -#: templates/js/translated/build.js:620 +#: templates/js/translated/build.js:622 msgid "Assigned Stock" msgstr "" #: company/templates/company/detail.html:165 msgid "Company Notes" -msgstr "" +msgstr "公司备注" #: company/templates/company/detail.html:364 #: company/templates/company/manufacturer_part.html:200 #: part/templates/part/detail.html:357 msgid "Delete Supplier Parts?" -msgstr "" +msgstr "删除供应商商品?" #: company/templates/company/detail.html:365 #: company/templates/company/manufacturer_part.html:201 #: part/templates/part/detail.html:358 msgid "All selected supplier parts will be deleted" -msgstr "" +msgstr "删除所有选定的供应商商品" #: company/templates/company/index.html:8 msgid "Supplier List" -msgstr "" +msgstr "供应商列表" #: company/templates/company/manufacturer_part.html:40 #: company/templates/company/supplier_part.html:40 #: company/templates/company/supplier_part.html:146 #: part/templates/part/detail.html:55 part/templates/part/part_base.html:116 msgid "Order part" -msgstr "" +msgstr "订购商品" #: company/templates/company/manufacturer_part.html:45 -#: templates/js/translated/company.js:560 +#: templates/js/translated/company.js:561 msgid "Edit manufacturer part" -msgstr "" +msgstr "编辑制造商商品" #: company/templates/company/manufacturer_part.html:49 -#: templates/js/translated/company.js:561 +#: templates/js/translated/company.js:562 msgid "Delete manufacturer part" -msgstr "" +msgstr "删除生产商商品" #: company/templates/company/manufacturer_part.html:61 msgid "Manufacturer Part Details" -msgstr "" +msgstr "制造商商品详细信息" #: company/templates/company/manufacturer_part.html:66 #: company/templates/company/supplier_part.html:65 msgid "Internal Part" -msgstr "" +msgstr "内部商品" #: company/templates/company/manufacturer_part.html:103 #: company/templates/company/manufacturer_part_navbar.html:21 #: company/views.py:49 part/templates/part/navbar.html:75 #: part/templates/part/navbar.html:78 part/templates/part/prices.html:163 -#: templates/InvenTree/search.html:316 templates/navbar.html:41 +#: templates/InvenTree/search.html:220 templates/navbar.html:41 msgid "Suppliers" -msgstr "" +msgstr "供应商" #: company/templates/company/manufacturer_part.html:114 #: part/templates/part/detail.html:294 msgid "Delete supplier parts" -msgstr "" +msgstr "删除供应商商品" #: company/templates/company/manufacturer_part.html:114 #: company/templates/company/manufacturer_part.html:138 #: company/templates/company/manufacturer_part.html:239 #: part/templates/part/detail.html:214 part/templates/part/detail.html:294 #: part/templates/part/detail.html:317 templates/js/translated/company.js:424 -#: templates/js/translated/helpers.js:31 users/models.py:194 +#: templates/js/translated/helpers.js:31 users/models.py:199 msgid "Delete" -msgstr "" +msgstr "删除" #: company/templates/company/manufacturer_part.html:127 #: company/templates/company/manufacturer_part_navbar.html:11 @@ -2744,70 +2785,69 @@ msgstr "" #: part/templates/part/detail.html:155 part/templates/part/navbar.html:20 #: part/templates/part/navbar.html:23 msgid "Parameters" -msgstr "" +msgstr "参数" #: company/templates/company/manufacturer_part.html:133 #: part/templates/part/detail.html:162 #: templates/InvenTree/settings/category.html:26 #: templates/InvenTree/settings/part.html:63 msgid "New Parameter" -msgstr "" +msgstr "新建参数" #: company/templates/company/manufacturer_part.html:138 msgid "Delete parameters" -msgstr "" +msgstr "删除参数" #: company/templates/company/manufacturer_part.html:176 -#: part/templates/part/detail.html:834 +#: part/templates/part/detail.html:805 msgid "Add Parameter" -msgstr "" +msgstr "添加参数" #: company/templates/company/manufacturer_part.html:224 msgid "Selected parameters will be deleted" -msgstr "" +msgstr "所选参数将被删除" #: company/templates/company/manufacturer_part.html:236 msgid "Delete Parameters" -msgstr "" +msgstr "删除参数" #: company/templates/company/manufacturer_part_navbar.html:26 msgid "Manufacturer Part Stock" -msgstr "" +msgstr "制造商商品库存" #: company/templates/company/manufacturer_part_navbar.html:29 #: company/templates/company/navbar.html:39 #: company/templates/company/supplier_part_navbar.html:15 -#: part/templates/part/navbar.html:38 stock/api.py:54 +#: part/templates/part/navbar.html:38 stock/api.py:52 #: stock/templates/stock/loc_link.html:7 stock/templates/stock/location.html:36 #: stock/templates/stock/stock_app_base.html:10 -#: templates/InvenTree/index.html:150 templates/InvenTree/search.html:196 -#: templates/InvenTree/search.html:232 -#: templates/InvenTree/settings/navbar.html:95 -#: templates/InvenTree/settings/navbar.html:97 -#: templates/js/translated/part.js:529 templates/js/translated/part.js:758 -#: templates/js/translated/part.js:934 templates/js/translated/stock.js:202 -#: templates/js/translated/stock.js:850 templates/navbar.html:32 +#: templates/InvenTree/index.html:150 templates/InvenTree/search.html:182 +#: templates/InvenTree/settings/navbar.html:107 +#: templates/InvenTree/settings/navbar.html:109 +#: templates/js/translated/part.js:540 templates/js/translated/part.js:769 +#: templates/js/translated/part.js:945 templates/js/translated/stock.js:182 +#: templates/js/translated/stock.js:829 templates/navbar.html:32 msgid "Stock" -msgstr "" +msgstr "库存" #: company/templates/company/manufacturer_part_navbar.html:33 msgid "Manufacturer Part Orders" -msgstr "" +msgstr "制造商商品订单" #: company/templates/company/manufacturer_part_navbar.html:36 #: company/templates/company/supplier_part_navbar.html:22 msgid "Orders" -msgstr "" +msgstr "订单" #: company/templates/company/navbar.html:17 #: company/templates/company/navbar.html:20 msgid "Manufactured Parts" -msgstr "" +msgstr "制造商商品" #: company/templates/company/navbar.html:26 #: company/templates/company/navbar.html:29 msgid "Supplied Parts" -msgstr "" +msgstr "供应商商品" #: company/templates/company/navbar.html:36 part/templates/part/navbar.html:35 #: stock/templates/stock/location.html:119 @@ -2815,51 +2855,51 @@ msgstr "" #: stock/templates/stock/location.html:148 #: stock/templates/stock/location_navbar.html:18 #: stock/templates/stock/location_navbar.html:21 -#: templates/InvenTree/search.html:198 templates/js/translated/stock.js:1507 +#: templates/InvenTree/search.html:184 templates/js/translated/stock.js:1486 #: templates/stats.html:93 templates/stats.html:102 users/models.py:43 msgid "Stock Items" -msgstr "" +msgstr "库存项" #: company/templates/company/supplier_part.html:7 #: company/templates/company/supplier_part.html:24 stock/models.py:463 #: stock/templates/stock/item_base.html:388 -#: templates/js/translated/company.js:784 templates/js/translated/stock.js:1014 +#: templates/js/translated/company.js:786 templates/js/translated/stock.js:993 msgid "Supplier Part" -msgstr "" +msgstr "供应商商品" #: company/templates/company/supplier_part.html:44 -#: templates/js/translated/company.js:857 +#: templates/js/translated/company.js:859 msgid "Edit supplier part" -msgstr "" +msgstr "编辑供应商商品" #: company/templates/company/supplier_part.html:48 -#: templates/js/translated/company.js:858 +#: templates/js/translated/company.js:860 msgid "Delete supplier part" -msgstr "" +msgstr "删除供应商商品" #: company/templates/company/supplier_part.html:60 msgid "Supplier Part Details" -msgstr "" +msgstr "供应商商品详细信息" #: company/templates/company/supplier_part.html:131 #: company/templates/company/supplier_part_navbar.html:12 msgid "Supplier Part Stock" -msgstr "" +msgstr "供货商商品库存" #: company/templates/company/supplier_part.html:140 #: company/templates/company/supplier_part_navbar.html:19 msgid "Supplier Part Orders" -msgstr "" +msgstr "供应商商品订单" #: company/templates/company/supplier_part.html:147 #: part/templates/part/detail.html:56 msgid "Order Part" -msgstr "" +msgstr "订购商品" #: company/templates/company/supplier_part.html:158 #: part/templates/part/navbar.html:67 part/templates/part/prices.html:7 msgid "Pricing Information" -msgstr "" +msgstr "价格信息" #: company/templates/company/supplier_part.html:164 #: company/templates/company/supplier_part.html:265 @@ -2889,106 +2929,106 @@ msgstr "" #: company/templates/company/supplier_part_navbar.html:26 msgid "Supplier Part Pricing" -msgstr "" +msgstr "供应商商品价格" #: company/templates/company/supplier_part_navbar.html:29 msgid "Pricing" -msgstr "" +msgstr "定价" #: company/views.py:50 msgid "New Supplier" -msgstr "" +msgstr "新增供应商" #: company/views.py:55 part/templates/part/prices.html:167 -#: templates/InvenTree/search.html:306 templates/navbar.html:42 +#: templates/InvenTree/search.html:210 templates/navbar.html:42 msgid "Manufacturers" -msgstr "" +msgstr "制造商" #: company/views.py:56 msgid "New Manufacturer" -msgstr "" +msgstr "新建制造商" -#: company/views.py:61 templates/InvenTree/search.html:336 +#: company/views.py:61 templates/InvenTree/search.html:240 #: templates/navbar.html:53 msgid "Customers" -msgstr "" +msgstr "客户信息" #: company/views.py:62 msgid "New Customer" -msgstr "" +msgstr "新建客户" #: company/views.py:69 msgid "Companies" -msgstr "" +msgstr "公司" #: company/views.py:70 msgid "New Company" -msgstr "" +msgstr "新建公司信息" #: company/views.py:129 part/views.py:608 msgid "Download Image" -msgstr "" +msgstr "下载图片" #: company/views.py:158 part/views.py:640 msgid "Image size exceeds maximum allowable size for download" -msgstr "" +msgstr "图像大小超过下载允许的最大尺寸" #: company/views.py:165 part/views.py:647 #, python-brace-format msgid "Invalid response: {code}" -msgstr "" +msgstr "无效响应: {code}" #: company/views.py:174 part/views.py:656 msgid "Supplied URL is not a valid image file" -msgstr "" +msgstr "提供的 URL 不是一个有效的图片文件" #: label/api.py:57 report/api.py:201 msgid "No valid objects provided to template" -msgstr "" +msgstr "没有为模板提供有效对象" #: label/models.py:113 msgid "Label name" -msgstr "" +msgstr "标签名称" #: label/models.py:120 msgid "Label description" -msgstr "" +msgstr "标签说明" #: label/models.py:127 stock/forms.py:167 msgid "Label" -msgstr "" +msgstr "标签" #: label/models.py:128 msgid "Label template file" -msgstr "" +msgstr "标签模板文件" #: label/models.py:134 report/models.py:298 msgid "Enabled" -msgstr "" +msgstr "已启用" #: label/models.py:135 msgid "Label template is enabled" -msgstr "" +msgstr "标签模板已启用" #: label/models.py:140 msgid "Width [mm]" -msgstr "" +msgstr "宽度 [mm]" #: label/models.py:141 msgid "Label width, specified in mm" -msgstr "" +msgstr "标注宽度,以毫米为单位。" #: label/models.py:147 msgid "Height [mm]" -msgstr "" +msgstr "高度 [mm]" #: label/models.py:148 msgid "Label height, specified in mm" -msgstr "" +msgstr "标注高度,以毫米为单位。" #: label/models.py:154 report/models.py:291 msgid "Filename Pattern" -msgstr "" +msgstr "文件名样式" #: label/models.py:155 msgid "Pattern for generating label filenames" @@ -2996,51 +3036,47 @@ msgstr "" #: label/models.py:258 msgid "Query filters (comma-separated list of key=value pairs)," -msgstr "" +msgstr "查询筛选器 (逗号分隔的键值对列表)" #: label/models.py:259 label/models.py:319 label/models.py:366 #: report/models.py:322 report/models.py:457 report/models.py:495 msgid "Filters" -msgstr "" +msgstr "筛选器" #: label/models.py:318 msgid "Query filters (comma-separated list of key=value pairs" -msgstr "" +msgstr "查询筛选器 (逗号分隔的键值对列表" #: label/models.py:365 msgid "Part query filters (comma-separated value of key=value pairs)" +msgstr "商品查询筛选器 (逗号分隔的键值对列表)" + +#: order/api.py:250 +msgid "Matching purchase order does not exist" msgstr "" -#: order/api.py:302 -msgid "Destination location must be specified" -msgstr "" - -#: order/forms.py:30 order/templates/order/order_base.html:47 +#: order/forms.py:27 order/templates/order/order_base.html:50 msgid "Place order" msgstr "" -#: order/forms.py:41 order/templates/order/order_base.html:54 +#: order/forms.py:38 order/templates/order/order_base.html:57 msgid "Mark order as complete" msgstr "" -#: order/forms.py:52 order/forms.py:63 order/templates/order/order_base.html:59 -#: order/templates/order/sales_order_base.html:61 +#: order/forms.py:49 order/forms.py:60 order/templates/order/order_base.html:62 +#: order/templates/order/sales_order_base.html:64 msgid "Cancel order" -msgstr "" +msgstr "取消订单" -#: order/forms.py:74 order/templates/order/sales_order_base.html:58 +#: order/forms.py:71 order/templates/order/sales_order_base.html:61 msgid "Ship order" msgstr "" -#: order/forms.py:89 -msgid "Set all received parts listed above to this location (if left blank, use \"Destination\" column value in above table)" -msgstr "" - -#: order/forms.py:116 +#: order/forms.py:97 msgid "Enter stock item serial numbers" msgstr "" -#: order/forms.py:122 +#: order/forms.py:103 msgid "Enter quantity of stock items" msgstr "" @@ -3058,26 +3094,26 @@ msgstr "" #: order/models.py:175 msgid "User or group responsible for this order" -msgstr "" +msgstr "负责此订单的用户或群组" #: order/models.py:180 msgid "Order notes" msgstr "" -#: order/models.py:247 order/models.py:540 +#: order/models.py:247 order/models.py:548 msgid "Order reference" msgstr "" -#: order/models.py:252 order/models.py:555 +#: order/models.py:252 order/models.py:563 msgid "Purchase order status" msgstr "" #: order/models.py:261 msgid "Company from which the items are being ordered" -msgstr "" +msgstr "订购该商品的公司" #: order/models.py:264 order/templates/order/order_base.html:98 -#: templates/js/translated/order.js:337 +#: templates/js/translated/order.js:668 msgid "Supplier Reference" msgstr "" @@ -3109,190 +3145,190 @@ msgstr "" msgid "Date order was completed" msgstr "" -#: order/models.py:313 stock/models.py:351 stock/models.py:1072 -msgid "Quantity must be greater than zero" -msgstr "" - #: order/models.py:318 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:421 -msgid "Lines can only be received against an order marked as 'Placed'" -msgstr "" - -#: order/models.py:425 +#: order/models.py:428 msgid "Quantity must be an integer" -msgstr "" +msgstr "数量必须是整数" -#: order/models.py:427 +#: order/models.py:432 msgid "Quantity must be a positive number" -msgstr "" +msgstr "数量必须大于0" -#: order/models.py:551 +#: order/models.py:559 msgid "Company to which the items are being sold" -msgstr "" +msgstr "向其出售该商品的公司" -#: order/models.py:557 +#: order/models.py:565 msgid "Customer Reference " msgstr "" -#: order/models.py:557 +#: order/models.py:565 msgid "Customer order reference code" msgstr "" -#: order/models.py:562 +#: order/models.py:570 msgid "Target date for order completion. Order will be overdue after this date." msgstr "" -#: order/models.py:565 templates/js/translated/order.js:733 +#: order/models.py:573 templates/js/translated/order.js:1079 msgid "Shipment Date" msgstr "" -#: order/models.py:572 +#: order/models.py:580 msgid "shipped by" msgstr "" -#: order/models.py:616 +#: order/models.py:624 msgid "SalesOrder cannot be shipped as it is not currently pending" msgstr "" -#: order/models.py:713 +#: order/models.py:721 msgid "Item quantity" msgstr "" -#: order/models.py:719 +#: order/models.py:727 msgid "Line item reference" msgstr "" -#: order/models.py:721 +#: order/models.py:729 msgid "Line item notes" msgstr "" -#: order/models.py:751 order/models.py:835 templates/js/translated/order.js:785 +#: order/models.py:759 order/models.py:847 +#: templates/js/translated/order.js:1131 msgid "Order" msgstr "" -#: order/models.py:752 order/templates/order/order_base.html:9 +#: order/models.py:760 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:24 #: report/templates/report/inventree_po_report.html:77 #: stock/templates/stock/item_base.html:338 -#: templates/js/translated/order.js:306 templates/js/translated/stock.js:991 -#: templates/js/translated/stock.js:1589 +#: templates/js/translated/order.js:637 templates/js/translated/stock.js:970 +#: templates/js/translated/stock.js:1568 msgid "Purchase Order" msgstr "" -#: order/models.py:773 +#: order/models.py:781 msgid "Supplier part" -msgstr "" +msgstr "供应商商品" -#: order/models.py:780 order/templates/order/order_base.html:131 -#: order/templates/order/receive_parts.html:22 -#: order/templates/order/sales_order_base.html:133 -#: templates/js/translated/order.js:573 +#: order/models.py:788 order/templates/order/order_base.html:131 +#: order/templates/order/sales_order_base.html:138 +#: templates/js/translated/order.js:428 templates/js/translated/order.js:919 msgid "Received" msgstr "" -#: order/models.py:781 +#: order/models.py:789 msgid "Number of items received" msgstr "" -#: order/models.py:788 part/templates/part/prices.html:176 stock/models.py:588 -#: stock/serializers.py:147 stock/templates/stock/item_base.html:345 -#: templates/js/translated/stock.js:1045 +#: order/models.py:796 part/templates/part/prices.html:176 stock/models.py:588 +#: stock/serializers.py:150 stock/templates/stock/item_base.html:345 +#: templates/js/translated/stock.js:1024 msgid "Purchase Price" -msgstr "" +msgstr "采购价格" -#: order/models.py:789 +#: order/models.py:797 msgid "Unit purchase price" msgstr "" -#: order/models.py:797 +#: order/models.py:805 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:843 part/templates/part/part_pricing.html:112 +#: order/models.py:857 part/templates/part/part_pricing.html:112 #: part/templates/part/prices.html:116 part/templates/part/prices.html:284 msgid "Sale Price" -msgstr "" +msgstr "销售价格" -#: order/models.py:844 +#: order/models.py:858 msgid "Unit sale price" msgstr "" -#: order/models.py:923 order/models.py:925 +#: order/models.py:937 order/models.py:939 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:929 +#: order/models.py:943 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:931 +#: order/models.py:945 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:934 +#: order/models.py:948 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:944 +#: order/models.py:952 +msgid "StockItem is over-allocated" +msgstr "" + +#: order/models.py:958 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:949 +#: order/models.py:966 msgid "Line" msgstr "" -#: order/models.py:960 +#: order/models.py:978 msgid "Item" msgstr "" -#: order/models.py:961 +#: order/models.py:979 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:964 +#: order/models.py:982 msgid "Enter stock allocation quantity" msgstr "" -#: order/serializers.py:166 +#: order/serializers.py:167 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:201 +#: order/serializers.py:202 msgid "Line Item" msgstr "" -#: order/serializers.py:207 +#: order/serializers.py:208 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:217 order/serializers.py:276 +#: order/serializers.py:218 order/serializers.py:285 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:234 +#: order/serializers.py:242 msgid "Barcode Hash" msgstr "" -#: order/serializers.py:235 +#: order/serializers.py:243 msgid "Unique identifier field" msgstr "" -#: order/serializers.py:250 +#: order/serializers.py:259 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:289 +#: order/serializers.py:297 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:299 +#: order/serializers.py:314 +msgid "Destination location must be specified" +msgstr "" + +#: order/serializers.py:325 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:514 +#: order/serializers.py:569 msgid "Sale price currency" msgstr "" @@ -3307,31 +3343,32 @@ msgstr "" msgid "Print" msgstr "" -#: order/templates/order/order_base.html:43 -#: order/templates/order/sales_order_base.html:54 +#: order/templates/order/order_base.html:42 +#: order/templates/order/sales_order_base.html:53 +msgid "Export order to file" +msgstr "" + +#: order/templates/order/order_base.html:46 +#: order/templates/order/sales_order_base.html:57 msgid "Edit order information" msgstr "" -#: order/templates/order/order_base.html:51 +#: order/templates/order/order_base.html:54 msgid "Receive items" msgstr "" -#: order/templates/order/order_base.html:64 -msgid "Export order to file" -msgstr "" - #: order/templates/order/order_base.html:72 #: order/templates/order/po_navbar.html:12 msgid "Purchase Order Details" msgstr "" #: order/templates/order/order_base.html:77 -#: order/templates/order/sales_order_base.html:79 +#: order/templates/order/sales_order_base.html:84 msgid "Order Reference" msgstr "" #: order/templates/order/order_base.html:82 -#: order/templates/order/sales_order_base.html:84 +#: order/templates/order/sales_order_base.html:89 msgid "Order Status" msgstr "" @@ -3344,16 +3381,6 @@ msgstr "" msgid "Edit Purchase Order" msgstr "" -#: order/templates/order/order_base.html:196 -#: stock/templates/stock/location.html:250 templates/js/translated/order.js:437 -msgid "New Location" -msgstr "" - -#: order/templates/order/order_base.html:197 -#: stock/templates/stock/location.html:42 templates/js/translated/order.js:438 -msgid "Create new stock location" -msgstr "" - #: order/templates/order/order_cancel.html:8 msgid "Cancelling this order means that the order and line items will no longer be editable." msgstr "" @@ -3402,14 +3429,14 @@ msgstr "" #: part/templates/part/import_wizard/ajax_match_fields.html:28 #: part/templates/part/import_wizard/match_fields.html:35 msgid "File Fields" -msgstr "" +msgstr "文件字段" #: order/templates/order/order_wizard/match_fields.html:42 #: part/templates/part/bom_upload/match_fields.html:42 #: part/templates/part/import_wizard/ajax_match_fields.html:35 #: part/templates/part/import_wizard/match_fields.html:42 msgid "Remove column" -msgstr "" +msgstr "移除列" #: order/templates/order/order_wizard/match_fields.html:60 #: part/templates/part/bom_upload/match_fields.html:60 @@ -3426,26 +3453,27 @@ msgstr "" #: part/templates/part/import_wizard/ajax_match_references.html:42 #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 +#: templates/js/translated/build.js:869 templates/js/translated/order.js:376 msgid "Remove row" -msgstr "" +msgstr "移除行" #: order/templates/order/order_wizard/match_parts.html:12 #: part/templates/part/bom_upload/match_parts.html:12 #: part/templates/part/import_wizard/ajax_match_references.html:12 #: part/templates/part/import_wizard/match_references.html:12 msgid "Errors exist in the submitted data" -msgstr "" +msgstr "提交数据中存在错误" #: order/templates/order/order_wizard/match_parts.html:28 #: part/templates/part/bom_upload/match_parts.html:28 #: part/templates/part/import_wizard/ajax_match_references.html:21 #: part/templates/part/import_wizard/match_references.html:28 msgid "Row" -msgstr "" +msgstr "行" #: order/templates/order/order_wizard/match_parts.html:29 msgid "Select Supplier Part" -msgstr "" +msgstr "选择供应商商品" #: order/templates/order/order_wizard/po_upload.html:11 msgid "Upload File for Purchase Order" @@ -3457,7 +3485,7 @@ msgstr "" #: part/templates/part/import_wizard/part_upload.html:21 #, python-format msgid "Step %(step)s of %(count)s" -msgstr "" +msgstr "步骤 %(step)s / %(count)s" #: order/templates/order/order_wizard/po_upload.html:48 msgid "Order is already processed. Files cannot be uploaded." @@ -3465,33 +3493,33 @@ msgstr "" #: order/templates/order/order_wizard/select_parts.html:11 msgid "Step 1 of 2 - Select Part Suppliers" -msgstr "" +msgstr "步骤 1 / 2 - 选择商品供货商" #: order/templates/order/order_wizard/select_parts.html:16 msgid "Select suppliers" -msgstr "" +msgstr "选择供应商" #: order/templates/order/order_wizard/select_parts.html:20 msgid "No purchaseable parts selected" -msgstr "" +msgstr "未选择可购买的商品" #: order/templates/order/order_wizard/select_parts.html:33 msgid "Select Supplier" -msgstr "" +msgstr "选择供应商" #: order/templates/order/order_wizard/select_parts.html:57 msgid "No price" -msgstr "" +msgstr "暂无价格" #: order/templates/order/order_wizard/select_parts.html:65 #, python-format msgid "Select a supplier for %(name)s" -msgstr "" +msgstr "为 %(name)s选择一个供应商" #: order/templates/order/order_wizard/select_parts.html:77 #: part/templates/part/set_category.html:32 msgid "Remove part" -msgstr "" +msgstr "移除商品" #: order/templates/order/order_wizard/select_pos.html:8 msgid "Step 2 of 2 - Select Purchase Orders" @@ -3502,7 +3530,7 @@ msgid "Select existing purchase orders, or create new orders." msgstr "" #: order/templates/order/order_wizard/select_pos.html:31 -#: templates/js/translated/order.js:363 templates/js/translated/order.js:738 +#: templates/js/translated/order.js:694 templates/js/translated/order.js:1084 msgid "Items" msgstr "" @@ -3522,7 +3550,7 @@ msgstr "" #: order/templates/order/po_attachments.html:12 #: order/templates/order/po_navbar.html:32 -#: order/templates/order/purchase_order_detail.html:47 +#: order/templates/order/purchase_order_detail.html:56 msgid "Purchase Order Attachments" msgstr "" @@ -3532,7 +3560,7 @@ msgstr "" #: order/templates/order/po_navbar.html:29 #: order/templates/order/po_received_items.html:12 -#: order/templates/order/purchase_order_detail.html:38 +#: order/templates/order/purchase_order_detail.html:47 msgid "Received Items" msgstr "" @@ -3540,14 +3568,22 @@ msgstr "" msgid "Purchase Order Items" msgstr "" -#: order/templates/order/purchase_order_detail.html:23 -#: order/templates/order/purchase_order_detail.html:203 +#: order/templates/order/purchase_order_detail.html:24 +#: order/templates/order/purchase_order_detail.html:212 #: order/templates/order/sales_order_detail.html:23 #: order/templates/order/sales_order_detail.html:177 msgid "Add Line Item" msgstr "" -#: order/templates/order/purchase_order_detail.html:58 +#: order/templates/order/purchase_order_detail.html:30 +msgid "Receive selected items" +msgstr "" + +#: order/templates/order/purchase_order_detail.html:31 +msgid "Receive Items" +msgstr "" + +#: order/templates/order/purchase_order_detail.html:67 #: order/templates/order/sales_order_detail.html:54 msgid "Order Notes" msgstr "" @@ -3555,69 +3591,26 @@ msgstr "" #: order/templates/order/purchase_orders.html:24 #: order/templates/order/sales_orders.html:24 msgid "Print Order Reports" -msgstr "" - -#: order/templates/order/receive_parts.html:8 -#, python-format -msgid "Receive outstanding parts for %(order)s - %(desc)s" -msgstr "" - -#: order/templates/order/receive_parts.html:14 part/api.py:54 -#: part/models.py:298 part/templates/part/cat_link.html:7 -#: part/templates/part/category.html:108 part/templates/part/category.html:122 -#: part/templates/part/category_navbar.html:21 -#: part/templates/part/category_navbar.html:24 -#: templates/InvenTree/index.html:102 templates/InvenTree/search.html:114 -#: templates/InvenTree/settings/navbar.html:83 -#: templates/InvenTree/settings/navbar.html:85 -#: templates/js/translated/part.js:1154 templates/navbar.html:29 -#: templates/stats.html:80 templates/stats.html:89 users/models.py:41 -msgid "Parts" -msgstr "" - -#: order/templates/order/receive_parts.html:15 -msgid "Fill out number of parts received, the status and destination" -msgstr "" - -#: order/templates/order/receive_parts.html:20 -msgid "Order Code" -msgstr "" - -#: order/templates/order/receive_parts.html:21 -#: part/templates/part/part_base.html:167 templates/js/translated/part.js:949 -msgid "On Order" -msgstr "" - -#: order/templates/order/receive_parts.html:23 -msgid "Receive" -msgstr "" - -#: order/templates/order/receive_parts.html:37 -msgid "Error: Referenced part has been removed" -msgstr "" - -#: order/templates/order/receive_parts.html:68 -msgid "Remove line" -msgstr "" +msgstr "打印订单报表" #: order/templates/order/sales_order_base.html:16 msgid "This Sales Order has not been fully allocated" msgstr "" -#: order/templates/order/sales_order_base.html:66 +#: order/templates/order/sales_order_base.html:70 msgid "Packing List" msgstr "" -#: order/templates/order/sales_order_base.html:74 +#: order/templates/order/sales_order_base.html:79 msgid "Sales Order Details" msgstr "" -#: order/templates/order/sales_order_base.html:100 -#: templates/js/translated/order.js:705 +#: order/templates/order/sales_order_base.html:105 +#: templates/js/translated/order.js:1051 msgid "Customer Reference" msgstr "" -#: order/templates/order/sales_order_base.html:178 +#: order/templates/order/sales_order_base.html:183 msgid "Edit Sales Order" msgstr "" @@ -3626,7 +3619,7 @@ msgstr "" #: part/templates/part/bom_duplicate.html:12 #: stock/templates/stock/stockitem_convert.html:13 msgid "Warning" -msgstr "" +msgstr "警告" #: order/templates/order/sales_order_cancel.html:9 msgid "Cancelling this order means that the order will no longer be editable." @@ -3636,105 +3629,6 @@ msgstr "" msgid "Sales Order Items" msgstr "" -#: order/templates/order/sales_order_detail.html:226 -#: templates/js/translated/bom.js:394 templates/js/translated/build.js:782 -#: templates/js/translated/build.js:1219 -msgid "Actions" -msgstr "" - -#: order/templates/order/sales_order_detail.html:233 -#: templates/js/translated/build.js:668 templates/js/translated/build.js:1030 -msgid "Edit stock allocation" -msgstr "" - -#: order/templates/order/sales_order_detail.html:234 -#: templates/js/translated/build.js:670 templates/js/translated/build.js:1031 -msgid "Delete stock allocation" -msgstr "" - -#: order/templates/order/sales_order_detail.html:307 -msgid "No matching line items" -msgstr "" - -#: order/templates/order/sales_order_detail.html:337 -msgid "ID" -msgstr "" - -#: order/templates/order/sales_order_detail.html:354 -#: templates/js/translated/order.js:481 -msgid "Total" -msgstr "" - -#: order/templates/order/sales_order_detail.html:377 -#: templates/js/translated/order.js:534 templates/js/translated/part.js:1296 -#: templates/js/translated/part.js:1507 -msgid "Unit Price" -msgstr "" - -#: order/templates/order/sales_order_detail.html:384 -#: templates/js/translated/order.js:543 -msgid "Total price" -msgstr "" - -#: order/templates/order/sales_order_detail.html:405 -#: templates/js/translated/build.js:733 templates/js/translated/build.js:1026 -msgid "Allocated" -msgstr "" - -#: order/templates/order/sales_order_detail.html:407 -msgid "Fulfilled" -msgstr "" - -#: order/templates/order/sales_order_detail.html:444 -msgid "PO" -msgstr "" - -#: order/templates/order/sales_order_detail.html:474 -msgid "Allocate serial numbers" -msgstr "" - -#: order/templates/order/sales_order_detail.html:477 -#: templates/js/translated/build.js:796 -msgid "Allocate stock" -msgstr "" - -#: order/templates/order/sales_order_detail.html:480 -msgid "Purchase stock" -msgstr "" - -#: order/templates/order/sales_order_detail.html:484 -#: templates/js/translated/build.js:789 templates/js/translated/build.js:1227 -msgid "Build stock" -msgstr "" - -#: order/templates/order/sales_order_detail.html:487 -#: order/templates/order/sales_order_detail.html:606 -msgid "Calculate price" -msgstr "" - -#: order/templates/order/sales_order_detail.html:490 -#: templates/js/translated/order.js:616 -msgid "Edit line item" -msgstr "" - -#: order/templates/order/sales_order_detail.html:491 -msgid "Delete line item " -msgstr "" - -#: order/templates/order/sales_order_detail.html:519 -#: templates/js/translated/order.js:403 -msgid "Edit Line Item" -msgstr "" - -#: order/templates/order/sales_order_detail.html:529 -#: templates/js/translated/order.js:415 -msgid "Delete Line Item" -msgstr "" - -#: order/templates/order/sales_order_detail.html:612 -msgid "Update Unit Price" -msgstr "" - #: order/templates/order/sales_order_ship.html:10 msgid "This order has not been fully allocated. If the order is marked as shipped, it can no longer be adjusted." msgstr "" @@ -3759,10 +3653,6 @@ msgstr "" msgid "Allocate stock items by serial number" msgstr "" -#: order/templates/order/so_allocation_delete.html:7 -msgid "This action will unallocate the following stock from the Sales Order" -msgstr "" - #: order/templates/order/so_navbar.html:12 msgid "Sales Order Line Items" msgstr "" @@ -3775,181 +3665,161 @@ msgstr "" msgid "Sales Order Attachments" msgstr "" -#: order/views.py:104 +#: order/views.py:103 msgid "Cancel Order" -msgstr "" +msgstr "取消订单" -#: order/views.py:113 order/views.py:139 +#: order/views.py:112 order/views.py:138 msgid "Confirm order cancellation" -msgstr "" +msgstr "确认取消订单" -#: order/views.py:116 order/views.py:142 +#: order/views.py:115 order/views.py:141 msgid "Order cannot be cancelled" -msgstr "" +msgstr "无法取消订单" -#: order/views.py:130 +#: order/views.py:129 msgid "Cancel sales order" -msgstr "" +msgstr "取消销售订单" -#: order/views.py:156 +#: order/views.py:155 msgid "Issue Order" msgstr "" -#: order/views.py:165 +#: order/views.py:164 msgid "Confirm order placement" msgstr "" -#: order/views.py:175 +#: order/views.py:174 msgid "Purchase order issued" msgstr "" -#: order/views.py:186 +#: order/views.py:185 msgid "Complete Order" msgstr "" -#: order/views.py:202 +#: order/views.py:201 msgid "Confirm order completion" msgstr "" -#: order/views.py:213 +#: order/views.py:212 msgid "Purchase order completed" msgstr "" -#: order/views.py:223 +#: order/views.py:222 msgid "Ship Order" msgstr "" -#: order/views.py:239 +#: order/views.py:238 msgid "Confirm order shipment" msgstr "" -#: order/views.py:245 +#: order/views.py:244 msgid "Could not ship order" msgstr "" -#: order/views.py:292 +#: order/views.py:291 msgid "Match Supplier Parts" msgstr "" -#: order/views.py:480 -msgid "Receive Parts" -msgstr "" - -#: order/views.py:552 -msgid "Items received" -msgstr "" - -#: order/views.py:620 -msgid "Error converting quantity to number" -msgstr "" - -#: order/views.py:626 -msgid "Receive quantity less than zero" -msgstr "" - -#: order/views.py:632 -msgid "No lines specified" -msgstr "" - -#: order/views.py:705 +#: order/views.py:535 msgid "Update prices" msgstr "" -#: order/views.py:963 +#: order/views.py:793 #, python-brace-format msgid "Ordered {n} parts" msgstr "" -#: order/views.py:1016 +#: order/views.py:846 msgid "Allocate Serial Numbers" msgstr "" -#: order/views.py:1061 +#: order/views.py:891 #, python-brace-format msgid "Allocated {n} items" msgstr "" -#: order/views.py:1077 +#: order/views.py:907 msgid "Select line item" msgstr "" -#: order/views.py:1108 +#: order/views.py:938 #, python-brace-format msgid "No matching item for serial {serial}" msgstr "" -#: order/views.py:1118 +#: order/views.py:948 #, python-brace-format msgid "{serial} is not in stock" msgstr "" -#: order/views.py:1126 +#: order/views.py:956 #, python-brace-format msgid "{serial} already allocated to an order" msgstr "" -#: order/views.py:1180 -msgid "Allocate Stock to Order" -msgstr "" - -#: order/views.py:1254 -msgid "Edit Allocation Quantity" -msgstr "" - -#: order/views.py:1269 -msgid "Remove allocation" -msgstr "" - -#: order/views.py:1341 +#: order/views.py:1072 msgid "Sales order not found" msgstr "" -#: order/views.py:1347 +#: order/views.py:1078 msgid "Price not found" msgstr "" -#: order/views.py:1350 +#: order/views.py:1081 #, python-brace-format msgid "Updated {part} unit-price to {price}" msgstr "" -#: order/views.py:1355 +#: order/views.py:1086 #, python-brace-format msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" +#: part/api.py:54 part/models.py:299 part/templates/part/cat_link.html:7 +#: part/templates/part/category.html:108 part/templates/part/category.html:122 +#: part/templates/part/category_navbar.html:21 +#: part/templates/part/category_navbar.html:24 +#: templates/InvenTree/index.html:102 templates/InvenTree/search.html:114 +#: templates/InvenTree/settings/navbar.html:95 +#: templates/InvenTree/settings/navbar.html:97 +#: templates/js/translated/part.js:1165 templates/navbar.html:29 +#: templates/stats.html:80 templates/stats.html:89 users/models.py:41 +msgid "Parts" +msgstr "商品" + #: part/api.py:700 msgid "Must be greater than zero" -msgstr "" +msgstr "必须大于0" #: part/api.py:704 msgid "Must be a valid quantity" -msgstr "" +msgstr "必须是有效的数量" #: part/api.py:719 msgid "Specify location for initial part stock" -msgstr "" +msgstr "指定初始初始商品仓储地点" #: part/api.py:750 part/api.py:754 part/api.py:769 part/api.py:773 msgid "This field is required" -msgstr "" +msgstr "此字段为必填" -#: part/bom.py:133 part/models.py:75 part/models.py:733 +#: part/bom.py:133 part/models.py:76 part/models.py:734 #: part/templates/part/category.html:75 part/templates/part/part_base.html:290 msgid "Default Location" -msgstr "" +msgstr "默认仓储地点" #: part/bom.py:134 part/templates/part/part_base.html:156 msgid "Available Stock" -msgstr "" +msgstr "可用库存" #: part/forms.py:63 msgid "File Format" -msgstr "" +msgstr "文件格式" #: part/forms.py:63 msgid "Select output file format" -msgstr "" +msgstr "选择输出文件格式" #: part/forms.py:65 msgid "Cascading" @@ -3961,7 +3831,7 @@ msgstr "" #: part/forms.py:67 msgid "Levels" -msgstr "" +msgstr "等级" #: part/forms.py:67 msgid "Select maximum number of BOM levels to export (0 = all levels)" @@ -3969,37 +3839,37 @@ msgstr "" #: part/forms.py:69 msgid "Include Parameter Data" -msgstr "" +msgstr "包含参数数据" #: part/forms.py:69 msgid "Include part parameters data in exported BOM" -msgstr "" +msgstr "在导出的BOM 中包含商品参数" #: part/forms.py:71 msgid "Include Stock Data" -msgstr "" +msgstr "包括库存数据" #: part/forms.py:71 msgid "Include part stock data in exported BOM" -msgstr "" +msgstr "在导出 BOM 中包括库存数据" #: part/forms.py:73 msgid "Include Manufacturer Data" -msgstr "" +msgstr "包括制造商数据" #: part/forms.py:73 msgid "Include part manufacturer data in exported BOM" -msgstr "" +msgstr "在导出 BOM 中包含制造商数据" #: part/forms.py:75 msgid "Include Supplier Data" -msgstr "" +msgstr "包含供应商数据" #: part/forms.py:75 msgid "Include part supplier data in exported BOM" -msgstr "" +msgstr "在导出 BOM 中包含供应商数据" -#: part/forms.py:96 part/models.py:2250 +#: part/forms.py:96 part/models.py:2254 msgid "Parent Part" msgstr "" @@ -4021,7 +3891,7 @@ msgstr "" #: part/forms.py:127 msgid "Confirm that the BOM is correct" -msgstr "" +msgstr "确认BOM 正确" #: part/forms.py:170 msgid "Related Part" @@ -4029,7 +3899,7 @@ msgstr "" #: part/forms.py:177 msgid "Select part category" -msgstr "" +msgstr "选择类别" #: part/forms.py:226 msgid "Add parameter template to same level categories" @@ -4043,391 +3913,387 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:76 +#: part/models.py:77 msgid "Default location for parts in this category" -msgstr "" +msgstr "此类别商品的默认仓储地点" -#: part/models.py:79 +#: part/models.py:80 msgid "Default keywords" msgstr "" -#: part/models.py:79 +#: part/models.py:80 msgid "Default keywords for parts in this category" -msgstr "" +msgstr "此类别商品的默认关键字" -#: part/models.py:89 part/models.py:2296 +#: part/models.py:90 part/models.py:2300 #: part/templates/part/part_app_base.html:10 msgid "Part Category" -msgstr "" +msgstr "商品类别" -#: part/models.py:90 part/templates/part/category.html:32 +#: part/models.py:91 part/templates/part/category.html:32 #: part/templates/part/category.html:103 templates/InvenTree/search.html:127 #: templates/stats.html:84 users/models.py:40 msgid "Part Categories" -msgstr "" +msgstr "商品类别" -#: part/models.py:383 +#: part/models.py:384 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:435 part/models.py:447 +#: part/models.py:436 part/models.py:448 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:544 +#: part/models.py:545 msgid "Next available serial numbers are" msgstr "" -#: part/models.py:548 +#: part/models.py:549 msgid "Next available serial number is" msgstr "" -#: part/models.py:553 +#: part/models.py:554 msgid "Most recent serial number is" msgstr "" -#: part/models.py:632 +#: part/models.py:633 msgid "Duplicate IPN not allowed in part settings" -msgstr "" +msgstr "在商品设置中不允许重复的IPN" -#: part/models.py:657 +#: part/models.py:658 msgid "Part name" -msgstr "" +msgstr "商品名称" -#: part/models.py:664 +#: part/models.py:665 msgid "Is Template" msgstr "" -#: part/models.py:665 +#: part/models.py:666 msgid "Is this part a template part?" msgstr "" -#: part/models.py:675 +#: part/models.py:676 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:676 +#: part/models.py:677 msgid "Variant Of" msgstr "" -#: part/models.py:682 +#: part/models.py:683 msgid "Part description" -msgstr "" +msgstr "商品描述" -#: part/models.py:687 part/templates/part/category.html:82 +#: part/models.py:688 part/templates/part/category.html:82 #: part/templates/part/part_base.html:259 msgid "Keywords" -msgstr "" +msgstr "关键词" -#: part/models.py:688 +#: part/models.py:689 msgid "Part keywords to improve visibility in search results" -msgstr "" +msgstr "提高搜索结果可见性的关键字" -#: part/models.py:695 part/models.py:2295 +#: part/models.py:696 part/models.py:2299 #: part/templates/part/set_category.html:15 -#: templates/InvenTree/settings/settings.html:167 -#: templates/js/translated/part.js:916 +#: templates/InvenTree/settings/settings.html:169 +#: templates/js/translated/part.js:927 msgid "Category" -msgstr "" +msgstr "类别" -#: part/models.py:696 +#: part/models.py:697 msgid "Part category" -msgstr "" +msgstr "商品类别" -#: part/models.py:701 part/templates/part/part_base.html:235 -#: templates/js/translated/part.js:517 templates/js/translated/part.js:749 +#: part/models.py:702 part/templates/part/part_base.html:235 +#: templates/js/translated/part.js:528 templates/js/translated/part.js:760 msgid "IPN" msgstr "" -#: part/models.py:702 +#: part/models.py:703 msgid "Internal Part Number" -msgstr "" +msgstr "内部商品编号" -#: part/models.py:708 +#: part/models.py:709 msgid "Part revision or version number" -msgstr "" +msgstr "商品版本号" -#: part/models.py:709 part/templates/part/part_base.html:252 -#: report/models.py:200 templates/js/translated/part.js:521 +#: part/models.py:710 part/templates/part/part_base.html:252 +#: report/models.py:200 templates/js/translated/part.js:532 msgid "Revision" msgstr "" -#: part/models.py:731 +#: part/models.py:732 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:778 part/templates/part/part_base.html:297 +#: part/models.py:779 part/templates/part/part_base.html:297 msgid "Default Supplier" msgstr "" -#: part/models.py:779 +#: part/models.py:780 msgid "Default supplier part" -msgstr "" +msgstr "默认供应商商品" -#: part/models.py:786 +#: part/models.py:787 msgid "Default Expiry" msgstr "" -#: part/models.py:787 +#: part/models.py:788 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:792 -msgid "Minimum Stock" -msgstr "" - #: part/models.py:793 +msgid "Minimum Stock" +msgstr "最低库存" + +#: part/models.py:794 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:800 +#: part/models.py:801 msgid "Stock keeping units for this part" msgstr "" -#: part/models.py:806 +#: part/models.py:807 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:812 +#: part/models.py:813 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:818 +#: part/models.py:819 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:823 +#: part/models.py:824 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:828 +#: part/models.py:829 msgid "Can this part be sold to customers?" -msgstr "" +msgstr "此商品可以销售给客户吗?" -#: part/models.py:832 templates/js/translated/table_filters.js:34 +#: part/models.py:833 templates/js/translated/table_filters.js:34 #: templates/js/translated/table_filters.js:82 #: templates/js/translated/table_filters.js:268 -#: templates/js/translated/table_filters.js:337 +#: templates/js/translated/table_filters.js:346 msgid "Active" msgstr "" -#: part/models.py:833 +#: part/models.py:834 msgid "Is this part active?" msgstr "" -#: part/models.py:838 +#: part/models.py:839 msgid "Is this a virtual part, such as a software product or license?" -msgstr "" +msgstr "这是一个虚拟商品,如软件产品或许可证吗?" -#: part/models.py:843 +#: part/models.py:844 msgid "Part notes - supports Markdown formatting" msgstr "" -#: part/models.py:846 +#: part/models.py:847 msgid "BOM checksum" msgstr "" -#: part/models.py:846 +#: part/models.py:847 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:849 +#: part/models.py:850 msgid "BOM checked by" msgstr "" -#: part/models.py:851 +#: part/models.py:852 msgid "BOM checked date" msgstr "" -#: part/models.py:855 +#: part/models.py:856 msgid "Creation User" -msgstr "" +msgstr "新建用户" -#: part/models.py:1601 +#: part/models.py:1605 msgid "Sell multiple" msgstr "" -#: part/models.py:2096 +#: part/models.py:2100 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:2113 +#: part/models.py:2117 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:2133 templates/js/translated/part.js:1205 -#: templates/js/translated/stock.js:556 +#: part/models.py:2137 templates/js/translated/part.js:1216 +#: templates/js/translated/stock.js:535 msgid "Test Name" msgstr "" -#: part/models.py:2134 +#: part/models.py:2138 msgid "Enter a name for the test" msgstr "" -#: part/models.py:2139 +#: part/models.py:2143 msgid "Test Description" msgstr "" -#: part/models.py:2140 +#: part/models.py:2144 msgid "Enter description for this test" msgstr "" -#: part/models.py:2145 templates/js/translated/part.js:1214 +#: part/models.py:2149 templates/js/translated/part.js:1225 #: templates/js/translated/table_filters.js:254 msgid "Required" msgstr "" -#: part/models.py:2146 +#: part/models.py:2150 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:2151 templates/js/translated/part.js:1222 +#: part/models.py:2155 templates/js/translated/part.js:1233 msgid "Requires Value" msgstr "" -#: part/models.py:2152 +#: part/models.py:2156 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:2157 templates/js/translated/part.js:1229 +#: part/models.py:2161 templates/js/translated/part.js:1240 msgid "Requires Attachment" msgstr "" -#: part/models.py:2158 +#: part/models.py:2162 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:2169 +#: part/models.py:2173 #, python-brace-format msgid "Illegal character in template name ({c})" msgstr "" -#: part/models.py:2205 +#: part/models.py:2209 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:2213 +#: part/models.py:2217 msgid "Parameter Name" msgstr "" -#: part/models.py:2220 +#: part/models.py:2224 msgid "Parameter Units" msgstr "" -#: part/models.py:2252 part/models.py:2301 part/models.py:2302 -#: templates/InvenTree/settings/settings.html:162 +#: part/models.py:2256 part/models.py:2305 part/models.py:2306 +#: templates/InvenTree/settings/settings.html:164 msgid "Parameter Template" -msgstr "" +msgstr "参数模板" -#: part/models.py:2254 +#: part/models.py:2258 msgid "Data" msgstr "" -#: part/models.py:2254 +#: part/models.py:2258 msgid "Parameter Value" msgstr "" -#: part/models.py:2306 templates/InvenTree/settings/settings.html:171 +#: part/models.py:2310 templates/InvenTree/settings/settings.html:173 msgid "Default Value" -msgstr "" +msgstr "默认值" -#: part/models.py:2307 +#: part/models.py:2311 msgid "Default Parameter Value" msgstr "" -#: part/models.py:2341 +#: part/models.py:2362 msgid "Select parent part" msgstr "" -#: part/models.py:2349 +#: part/models.py:2370 msgid "Sub part" msgstr "" -#: part/models.py:2350 +#: part/models.py:2371 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:2356 +#: part/models.py:2377 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:2358 templates/js/translated/bom.js:256 -#: templates/js/translated/bom.js:314 +#: part/models.py:2379 templates/js/translated/bom.js:275 +#: templates/js/translated/bom.js:335 msgid "Optional" -msgstr "" +msgstr "可选项" -#: part/models.py:2358 +#: part/models.py:2379 msgid "This BOM item is optional" msgstr "" -#: part/models.py:2361 +#: part/models.py:2382 msgid "Overage" msgstr "" -#: part/models.py:2362 +#: part/models.py:2383 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:2365 +#: part/models.py:2386 msgid "BOM item reference" msgstr "" -#: part/models.py:2368 +#: part/models.py:2389 msgid "BOM item notes" msgstr "" -#: part/models.py:2370 +#: part/models.py:2391 msgid "Checksum" msgstr "" -#: part/models.py:2370 +#: part/models.py:2391 msgid "BOM line checksum" msgstr "" -#: part/models.py:2374 templates/js/translated/bom.js:331 -#: templates/js/translated/bom.js:338 +#: part/models.py:2395 templates/js/translated/bom.js:352 +#: templates/js/translated/bom.js:359 #: templates/js/translated/table_filters.js:68 msgid "Inherited" -msgstr "" +msgstr "继承项" -#: part/models.py:2375 +#: part/models.py:2396 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:2380 templates/js/translated/bom.js:323 +#: part/models.py:2401 templates/js/translated/bom.js:344 msgid "Allow Variants" msgstr "" -#: part/models.py:2381 +#: part/models.py:2402 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:2466 stock/models.py:341 +#: part/models.py:2487 stock/models.py:341 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:2475 part/models.py:2477 +#: part/models.py:2496 part/models.py:2498 msgid "Sub part must be specified" msgstr "" -#: part/models.py:2480 -msgid "BOM Item" -msgstr "" - -#: part/models.py:2599 +#: part/models.py:2620 msgid "Part 1" msgstr "" -#: part/models.py:2603 +#: part/models.py:2624 msgid "Part 2" msgstr "" -#: part/models.py:2603 +#: part/models.py:2624 msgid "Select Related Part" msgstr "" -#: part/models.py:2635 +#: part/models.py:2656 msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique" msgstr "" @@ -4492,7 +4358,7 @@ msgstr "" #: part/templates/part/bom_upload/match_parts.html:29 msgid "Select Part" -msgstr "" +msgstr "选择商品" #: part/templates/part/bom_upload/upload_file.html:13 #: part/templates/part/bom_upload/upload_file.html:16 @@ -4517,7 +4383,7 @@ msgstr "" #: part/templates/part/bom_upload/upload_file.html:49 msgid "Each part must already exist in the database" -msgstr "" +msgstr "每个商品必须已经存在于数据库" #: part/templates/part/bom_validate.html:6 #, python-format @@ -4530,124 +4396,124 @@ msgstr "" #: part/templates/part/category.html:33 msgid "All parts" -msgstr "" +msgstr "所有商品" #: part/templates/part/category.html:38 msgid "Create new part category" -msgstr "" +msgstr "新建商品类别" #: part/templates/part/category.html:44 msgid "Edit part category" -msgstr "" +msgstr "编辑商品类别" #: part/templates/part/category.html:49 msgid "Delete part category" -msgstr "" +msgstr "删除类别" #: part/templates/part/category.html:59 part/templates/part/category.html:98 msgid "Category Details" -msgstr "" +msgstr "类别详细信息" #: part/templates/part/category.html:64 msgid "Category Path" -msgstr "" +msgstr "类别路径" #: part/templates/part/category.html:69 msgid "Category Description" -msgstr "" +msgstr "类别说明" #: part/templates/part/category.html:88 part/templates/part/category.html:175 #: part/templates/part/category_navbar.html:14 #: part/templates/part/category_navbar.html:17 msgid "Subcategories" -msgstr "" +msgstr "子类别" #: part/templates/part/category.html:93 msgid "Parts (Including subcategories)" -msgstr "" +msgstr "商品 (包括子类别)" #: part/templates/part/category.html:126 msgid "Export Part Data" -msgstr "" +msgstr "导出商品数据" #: part/templates/part/category.html:127 part/templates/part/category.html:142 msgid "Export" -msgstr "" +msgstr "导出" #: part/templates/part/category.html:130 msgid "Create new part" -msgstr "" +msgstr "新建商品" -#: part/templates/part/category.html:131 +#: part/templates/part/category.html:131 templates/js/translated/bom.js:39 msgid "New Part" -msgstr "" +msgstr "新商品" #: part/templates/part/category.html:138 msgid "Set category" -msgstr "" +msgstr "设置类别" #: part/templates/part/category.html:138 msgid "Set Category" -msgstr "" +msgstr "设置类别" #: part/templates/part/category.html:141 msgid "Print Labels" -msgstr "" +msgstr "打印标签" #: part/templates/part/category.html:142 msgid "Export Data" -msgstr "" +msgstr "导出数据" #: part/templates/part/category.html:146 msgid "View list display" -msgstr "" +msgstr "列表视图" #: part/templates/part/category.html:149 msgid "View grid display" -msgstr "" +msgstr "网格视图" #: part/templates/part/category.html:165 msgid "Part Parameters" -msgstr "" +msgstr "商品参数" #: part/templates/part/category.html:254 msgid "Create Part Category" -msgstr "" +msgstr "创建商品类别" #: part/templates/part/category.html:281 msgid "Create Part" -msgstr "" +msgstr "创建商品" #: part/templates/part/category_delete.html:5 msgid "Are you sure you want to delete category" -msgstr "" +msgstr "您确定要删除此类别吗?" #: part/templates/part/category_delete.html:8 #, python-format msgid "This category contains %(count)s child categories" -msgstr "" +msgstr "此类别包含 %(count)s 个子类别" #: part/templates/part/category_delete.html:9 msgid "If this category is deleted, these child categories will be moved to the" -msgstr "" +msgstr "如果删除此类别,则这些子类别将被移动到以下位置:" #: part/templates/part/category_delete.html:11 msgid "category" -msgstr "" +msgstr "类别" #: part/templates/part/category_delete.html:13 msgid "top level Parts category" -msgstr "" +msgstr "顶层商品类别" #: part/templates/part/category_delete.html:25 #, python-format msgid "This category contains %(count)s parts" -msgstr "" +msgstr "此类别包含 %(count)s 个商品" #: part/templates/part/category_delete.html:27 #, python-format msgid "If this category is deleted, these parts will be moved to the parent category %(path)s" -msgstr "" +msgstr "如果删除此类别,这些商品将移至其父类别 %(path)s" #: part/templates/part/category_delete.html:29 msgid "If this category is deleted, these parts will be moved to the top-level category Teile" @@ -4656,11 +4522,11 @@ msgstr "" #: part/templates/part/category_navbar.html:29 #: part/templates/part/category_navbar.html:32 msgid "Import Parts" -msgstr "" +msgstr "导入商品" -#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:352 +#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:363 msgid "Duplicate Part" -msgstr "" +msgstr "复制部件" #: part/templates/part/copy_part.html:10 #, python-format @@ -4684,7 +4550,7 @@ msgstr "" #: part/templates/part/detail.html:16 msgid "Part Stock" -msgstr "" +msgstr "商品库存" #: part/templates/part/detail.html:21 #, python-format @@ -4759,15 +4625,15 @@ msgstr "" #: part/templates/part/detail.html:283 msgid "Part Suppliers" -msgstr "" +msgstr "商品供应商" #: part/templates/part/detail.html:305 msgid "Part Manufacturers" -msgstr "" +msgstr "商品制造商" #: part/templates/part/detail.html:317 msgid "Delete manufacturer parts" -msgstr "" +msgstr "删除制造商商品" #: part/templates/part/detail.html:502 msgid "Delete selected BOM items?" @@ -4785,34 +4651,26 @@ msgstr "" msgid "Add Test Result Template" msgstr "" -#: part/templates/part/detail.html:716 -msgid "Edit Test Result Template" -msgstr "" - -#: part/templates/part/detail.html:728 -msgid "Delete Test Result Template" -msgstr "" - -#: part/templates/part/detail.html:784 +#: part/templates/part/detail.html:755 msgid "Edit Part Notes" -msgstr "" +msgstr "编辑商品注释" -#: part/templates/part/detail.html:936 +#: part/templates/part/detail.html:907 #, python-format msgid "Purchase Unit Price - %(currency)s" msgstr "" -#: part/templates/part/detail.html:948 +#: part/templates/part/detail.html:919 #, python-format msgid "Unit Price-Cost Difference - %(currency)s" msgstr "" -#: part/templates/part/detail.html:960 +#: part/templates/part/detail.html:931 #, python-format msgid "Supplier Unit Cost - %(currency)s" msgstr "" -#: part/templates/part/detail.html:1049 +#: part/templates/part/detail.html:1020 #, python-format msgid "Unit Price - %(currency)s" msgstr "" @@ -4824,7 +4682,7 @@ msgstr "" #: part/templates/part/import_wizard/part_upload.html:14 msgid "Import Parts from File" -msgstr "" +msgstr "从文件导入商品" #: part/templates/part/navbar.html:30 msgid "Variants" @@ -4844,7 +4702,7 @@ msgstr "" #: part/templates/part/part_app_base.html:12 msgid "Part List" -msgstr "" +msgstr "商品列表" #: part/templates/part/part_base.html:35 msgid "Part is a template part (variants can be made from this part)" @@ -4852,11 +4710,11 @@ msgstr "" #: part/templates/part/part_base.html:38 msgid "Part can be assembled from other parts" -msgstr "" +msgstr "商品可以由其他部件组装" #: part/templates/part/part_base.html:41 msgid "Part can be used in assemblies" -msgstr "" +msgstr "商品可以用于组装成品" #: part/templates/part/part_base.html:44 msgid "Part stock is tracked by serial number" @@ -4864,25 +4722,25 @@ msgstr "" #: part/templates/part/part_base.html:47 msgid "Part can be purchased from external suppliers" -msgstr "" +msgstr "商品可以从外部供应商处购买" #: part/templates/part/part_base.html:50 msgid "Part can be sold to customers" -msgstr "" +msgstr "商品可以销售给客户" #: part/templates/part/part_base.html:57 part/templates/part/part_base.html:65 msgid "Part is virtual (not a physical part)" -msgstr "" +msgstr "商品是虚拟的(不是实体零件)" -#: part/templates/part/part_base.html:58 templates/js/translated/company.js:503 -#: templates/js/translated/company.js:759 templates/js/translated/part.js:432 -#: templates/js/translated/part.js:509 +#: part/templates/part/part_base.html:58 templates/js/translated/company.js:504 +#: templates/js/translated/company.js:761 templates/js/translated/part.js:443 +#: templates/js/translated/part.js:520 msgid "Inactive" msgstr "" #: part/templates/part/part_base.html:73 msgid "Star this part" -msgstr "" +msgstr "标记此商品" #: part/templates/part/part_base.html:80 #: stock/templates/stock/item_base.html:75 @@ -4900,7 +4758,7 @@ msgstr "" #: stock/templates/stock/item_base.html:93 #: stock/templates/stock/location.html:54 msgid "Print Label" -msgstr "" +msgstr "打印标签" #: part/templates/part/part_base.html:89 msgid "Show pricing information" @@ -4914,7 +4772,7 @@ msgstr "" #: part/templates/part/part_base.html:102 msgid "Count part stock" -msgstr "" +msgstr "清点商品库存" #: part/templates/part/part_base.html:108 msgid "Transfer part stock" @@ -4926,15 +4784,15 @@ msgstr "" #: part/templates/part/part_base.html:128 msgid "Duplicate part" -msgstr "" +msgstr "重复的商品" #: part/templates/part/part_base.html:131 msgid "Edit part" -msgstr "" +msgstr "编辑商品" #: part/templates/part/part_base.html:134 msgid "Delete part" -msgstr "" +msgstr "删除商品" #: part/templates/part/part_base.html:146 #, python-format @@ -4942,10 +4800,16 @@ msgid "This part is a variant of %(link)s" msgstr "" #: part/templates/part/part_base.html:161 +#: templates/js/translated/model_renderers.js:169 +#: templates/js/translated/order.js:1503 #: templates/js/translated/table_filters.js:166 msgid "In Stock" msgstr "" +#: part/templates/part/part_base.html:167 templates/js/translated/part.js:960 +msgid "On Order" +msgstr "" + #: part/templates/part/part_base.html:174 templates/InvenTree/index.html:186 msgid "Required for Build Orders" msgstr "" @@ -4958,37 +4822,37 @@ msgstr "" msgid "Allocated to Orders" msgstr "" -#: part/templates/part/part_base.html:203 templates/js/translated/bom.js:352 +#: part/templates/part/part_base.html:203 templates/js/translated/bom.js:373 msgid "Can Build" msgstr "" -#: part/templates/part/part_base.html:209 templates/js/translated/part.js:765 -#: templates/js/translated/part.js:953 +#: part/templates/part/part_base.html:209 templates/js/translated/part.js:776 +#: templates/js/translated/part.js:964 msgid "Building" msgstr "" #: part/templates/part/part_base.html:223 -#: part/templates/part/part_base.html:524 -#: part/templates/part/part_base.html:550 +#: part/templates/part/part_base.html:531 +#: part/templates/part/part_base.html:557 msgid "Show Part Details" -msgstr "" +msgstr "显示商品详细信息" #: part/templates/part/part_base.html:283 msgid "Latest Serial Number" msgstr "" -#: part/templates/part/part_base.html:396 part/templates/part/prices.html:144 +#: part/templates/part/part_base.html:402 part/templates/part/prices.html:144 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:439 +#: part/templates/part/part_base.html:445 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:519 -#: part/templates/part/part_base.html:544 +#: part/templates/part/part_base.html:526 +#: part/templates/part/part_base.html:551 msgid "Hide Part Details" -msgstr "" +msgstr "隐藏商品详细信息" #: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:21 msgid "Supplier Pricing" @@ -5013,7 +4877,7 @@ msgid "Total Cost" msgstr "" #: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:40 -#: templates/js/translated/bom.js:307 +#: templates/js/translated/bom.js:327 msgid "No supplier pricing available" msgstr "" @@ -5032,7 +4896,7 @@ msgstr "" #: part/templates/part/part_pricing.html:81 part/templates/part/prices.html:86 msgid "Note: BOM pricing is incomplete for this part" -msgstr "" +msgstr "注:此商品BOM价格不完整。" #: part/templates/part/part_pricing.html:88 part/templates/part/prices.html:93 msgid "No BOM pricing available" @@ -5045,38 +4909,45 @@ msgstr "" #: part/templates/part/part_pricing.html:128 #: part/templates/part/prices.html:134 msgid "No pricing information is available for this part." -msgstr "" +msgstr "此商品无价格信息可用。" #: part/templates/part/part_thumb.html:20 msgid "Select from existing images" msgstr "" -#: part/templates/part/partial_delete.html:7 +#: part/templates/part/partial_delete.html:9 #, python-format -msgid "Are you sure you want to delete part '%(full_name)s'?" +msgid "Part '%(full_name)s' cannot be deleted as it is still marked as active.\n" +"
Disable the \"Active\" part attribute and re-try.\n" +" " msgstr "" -#: part/templates/part/partial_delete.html:12 +#: part/templates/part/partial_delete.html:17 +#, python-format +msgid "Are you sure you want to delete part '%(full_name)s'?" +msgstr "您确定要删除商品 '%(full_name)s '吗?" + +#: part/templates/part/partial_delete.html:22 #, python-format msgid "This part is used in BOMs for %(count)s other parts. If you delete this part, the BOMs for the following parts will be updated" msgstr "" -#: part/templates/part/partial_delete.html:22 +#: part/templates/part/partial_delete.html:32 #, python-format msgid "There are %(count)s stock entries defined for this part. If you delete this part, the following stock entries will also be deleted:" msgstr "" -#: part/templates/part/partial_delete.html:33 +#: part/templates/part/partial_delete.html:43 #, python-format msgid "There are %(count)s manufacturers defined for this part. If you delete this part, the following manufacturer parts will also be deleted:" msgstr "" -#: part/templates/part/partial_delete.html:44 +#: part/templates/part/partial_delete.html:54 #, python-format msgid "There are %(count)s suppliers defined for this part. If you delete this part, the following supplier parts will also be deleted:" msgstr "" -#: part/templates/part/partial_delete.html:55 +#: part/templates/part/partial_delete.html:65 #, python-format msgid "There are %(count)s unique parts tracked for '%(full_name)s'. Deleting this part will permanently remove this tracking information." msgstr "" @@ -5109,7 +4980,7 @@ msgstr "" msgid "Calculation parameters" msgstr "" -#: part/templates/part/prices.html:155 templates/js/translated/bom.js:301 +#: part/templates/part/prices.html:155 templates/js/translated/bom.js:321 msgid "Supplier Cost" msgstr "" @@ -5149,10 +5020,11 @@ msgstr "" #: part/templates/part/set_category.html:9 msgid "Set category for the following parts" -msgstr "" +msgstr "为以下商品设置类别" -#: part/templates/part/stock_count.html:7 templates/js/translated/bom.js:278 -#: templates/js/translated/part.js:755 templates/js/translated/part.js:957 +#: part/templates/part/stock_count.html:7 templates/js/translated/bom.js:297 +#: templates/js/translated/model_renderers.js:167 +#: templates/js/translated/part.js:766 templates/js/translated/part.js:968 msgid "No Stock" msgstr "" @@ -5183,12 +5055,12 @@ msgstr "" #: part/views.py:160 msgid "Set Part Category" -msgstr "" +msgstr "设置商品类别" #: part/views.py:210 #, python-brace-format msgid "Set category for {n} parts" -msgstr "" +msgstr "为 {n} 个商品设置类别" #: part/views.py:270 msgid "Match References" @@ -5200,19 +5072,19 @@ msgstr "" #: part/views.py:585 msgid "Part QR Code" -msgstr "" +msgstr "商品二维码" #: part/views.py:687 msgid "Select Part Image" -msgstr "" +msgstr "选择商品图像" #: part/views.py:713 msgid "Updated part image" -msgstr "" +msgstr "更新商品图像" #: part/views.py:716 msgid "Part image not found" -msgstr "" +msgstr "未找到商品图像" #: part/views.py:728 msgid "Duplicate BOM" @@ -5236,19 +5108,19 @@ msgstr "" #: part/views.py:884 msgid "Match Parts" -msgstr "" +msgstr "匹配商品" #: part/views.py:1272 msgid "Confirm Part Deletion" -msgstr "" +msgstr "确认删除商品" #: part/views.py:1279 msgid "Part was deleted" -msgstr "" +msgstr "商品已删除" #: part/views.py:1288 msgid "Part Pricing" -msgstr "" +msgstr "商品价格" #: part/views.py:1437 msgid "Create Part Parameter Template" @@ -5262,29 +5134,29 @@ msgstr "" msgid "Delete Part Parameter Template" msgstr "" -#: part/views.py:1502 templates/js/translated/part.js:303 +#: part/views.py:1502 templates/js/translated/part.js:308 msgid "Edit Part Category" -msgstr "" +msgstr "编辑商品类别" #: part/views.py:1540 msgid "Delete Part Category" -msgstr "" +msgstr "删除商品类别" #: part/views.py:1546 msgid "Part category was deleted" -msgstr "" +msgstr "商品类别已删除" #: part/views.py:1555 msgid "Create Category Parameter Template" -msgstr "" +msgstr "创建类别参数模板" #: part/views.py:1656 msgid "Edit Category Parameter Template" -msgstr "" +msgstr "编辑类别参数模板" #: part/views.py:1712 msgid "Delete Category Parameter Template" -msgstr "" +msgstr "删除类别参数模板" #: part/views.py:1734 msgid "Added new price break" @@ -5344,7 +5216,7 @@ msgstr "" #: report/models.py:423 msgid "Part Filters" -msgstr "" +msgstr "商品过滤器" #: report/models.py:424 msgid "Part query filters (comma-separated list of key=value pairs" @@ -5400,17 +5272,17 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:88 -#: stock/models.py:1807 +#: stock/models.py:1804 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:89 -#: stock/models.py:1813 +#: stock/models.py:1810 msgid "Result" msgstr "" #: report/templates/report/inventree_test_report_base.html:92 -#: templates/js/translated/order.js:353 templates/js/translated/stock.js:1523 +#: templates/js/translated/order.js:684 templates/js/translated/stock.js:1502 msgid "Date" msgstr "" @@ -5422,51 +5294,9 @@ msgstr "" msgid "Fail" msgstr "" -#: stock/api.py:146 -msgid "Request must contain list of stock items" -msgstr "" - -#: stock/api.py:154 -msgid "Improperly formatted data" -msgstr "" - -#: stock/api.py:162 -msgid "Each entry must contain a valid integer primary-key" -msgstr "" - -#: stock/api.py:168 -msgid "Primary key does not match valid stock item" -msgstr "" - -#: stock/api.py:178 -msgid "Invalid quantity value" -msgstr "" - -#: stock/api.py:183 -msgid "Quantity must not be less than zero" -msgstr "" - -#: stock/api.py:211 -#, python-brace-format -msgid "Updated stock for {n} items" -msgstr "" - -#: stock/api.py:247 stock/api.py:280 -msgid "Specified quantity exceeds stock quantity" -msgstr "" - -#: stock/api.py:270 -msgid "Valid location must be specified" -msgstr "" - -#: stock/api.py:290 -#, python-brace-format -msgid "Moved {n} parts to {loc}" -msgstr "" - #: stock/forms.py:79 stock/forms.py:307 stock/models.py:556 #: stock/templates/stock/item_base.html:395 -#: templates/js/translated/stock.js:967 +#: templates/js/translated/stock.js:946 msgid "Expiry Date" msgstr "" @@ -5533,7 +5363,7 @@ msgstr "" #: stock/models.py:358 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" -msgstr "" +msgstr "商品类型 ('{pf}') 必须是 {pe}" #: stock/models.py:368 stock/models.py:377 msgid "Quantity must be 1 for item with a serial number" @@ -5569,7 +5399,7 @@ msgstr "" #: stock/models.py:469 stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" -msgstr "" +msgstr "仓储地点" #: stock/models.py:472 msgid "Where is this stock item located?" @@ -5678,38 +5508,54 @@ msgstr "" msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:1727 +#: stock/models.py:1724 msgid "Entry notes" msgstr "" -#: stock/models.py:1784 +#: stock/models.py:1781 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:1790 +#: stock/models.py:1787 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:1808 +#: stock/models.py:1805 msgid "Test name" msgstr "" -#: stock/models.py:1814 templates/js/translated/table_filters.js:244 +#: stock/models.py:1811 templates/js/translated/table_filters.js:244 msgid "Test result" msgstr "" -#: stock/models.py:1820 +#: stock/models.py:1817 msgid "Test output value" msgstr "" -#: stock/models.py:1827 +#: stock/models.py:1824 msgid "Test result attachment" msgstr "" -#: stock/models.py:1833 +#: stock/models.py:1830 msgid "Test notes" msgstr "" +#: stock/serializers.py:424 +msgid "StockItem primary key value" +msgstr "" + +#: stock/serializers.py:452 +msgid "Stock transaction notes" +msgstr "" + +#: stock/serializers.py:462 +msgid "A list of stock items must be provided" +msgstr "" + +#: stock/serializers.py:554 +msgid "Destination stock location" +msgstr "" + #: stock/templates/stock/item.html:17 msgid "Stock Tracking Information" msgstr "" @@ -5747,7 +5593,7 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:125 stock/views.py:534 +#: stock/templates/stock/item.html:125 stock/views.py:511 msgid "Install Stock Item" msgstr "" @@ -5865,7 +5711,7 @@ msgstr "" #: stock/templates/stock/item_base.html:180 msgid "This stock item is in production and cannot be edited." -msgstr "" +msgstr "此库存项目正在生产中,无法编辑。" #: stock/templates/stock/item_base.html:181 msgid "Edit the stock item from the build view." @@ -5910,9 +5756,9 @@ msgid "next page" msgstr "" #: stock/templates/stock/item_base.html:303 -#: templates/js/translated/build.js:651 +#: templates/js/translated/build.js:658 msgid "No location set" -msgstr "" +msgstr "未设置仓储地点" #: stock/templates/stock/item_base.html:310 msgid "Barcode Identifier" @@ -5937,7 +5783,7 @@ msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:408 -#: templates/js/translated/stock.js:980 +#: templates/js/translated/stock.js:959 msgid "Last Updated" msgstr "" @@ -6013,39 +5859,43 @@ msgstr "" #: stock/templates/stock/location.html:20 msgid "You are not in the list of owners of this location. This stock location cannot be edited." -msgstr "" +msgstr "您不在此仓储地的所有者列表中,无法编辑此仓储地。" #: stock/templates/stock/location.html:37 msgid "All stock items" msgstr "" +#: stock/templates/stock/location.html:42 +msgid "Create new stock location" +msgstr "新建仓储地点" + #: stock/templates/stock/location.html:55 msgid "Check-in Items" msgstr "" #: stock/templates/stock/location.html:83 msgid "Location actions" -msgstr "" +msgstr "仓储地操作" #: stock/templates/stock/location.html:85 msgid "Edit location" -msgstr "" +msgstr "编辑仓储地" #: stock/templates/stock/location.html:87 msgid "Delete location" -msgstr "" +msgstr "删除仓储地" #: stock/templates/stock/location.html:99 msgid "Location Details" -msgstr "" +msgstr "仓储地详细信息" #: stock/templates/stock/location.html:104 msgid "Location Path" -msgstr "" +msgstr "仓储地路径" #: stock/templates/stock/location.html:109 msgid "Location Description" -msgstr "" +msgstr "仓储地描述信息" #: stock/templates/stock/location.html:114 #: stock/templates/stock/location.html:155 @@ -6058,26 +5908,30 @@ msgstr "" msgid "Stock Details" msgstr "" -#: stock/templates/stock/location.html:129 templates/InvenTree/search.html:279 +#: stock/templates/stock/location.html:129 templates/InvenTree/search.html:196 #: templates/stats.html:97 users/models.py:42 msgid "Stock Locations" -msgstr "" +msgstr "仓储地点" #: stock/templates/stock/location.html:162 templates/stock_table.html:37 msgid "Printing Actions" -msgstr "" +msgstr "打印操作" #: stock/templates/stock/location.html:166 templates/stock_table.html:41 msgid "Print labels" -msgstr "" +msgstr "打印标签" + +#: stock/templates/stock/location.html:250 +msgid "New Location" +msgstr "新建仓储地点" #: stock/templates/stock/location.html:251 msgid "Create new location" -msgstr "" +msgstr "新建仓储地点" #: stock/templates/stock/location_delete.html:7 msgid "Are you sure you want to delete this stock location?" -msgstr "" +msgstr "确实要删除此仓储地点吗?" #: stock/templates/stock/navbar.html:11 msgid "Stock Item Tracking" @@ -6111,7 +5965,7 @@ msgstr "" msgid "The following stock items will be uninstalled" msgstr "" -#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:932 +#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:909 msgid "Convert Stock Item" msgstr "" @@ -6132,104 +5986,104 @@ msgstr "" msgid "Are you sure you want to delete this stock tracking entry?" msgstr "" -#: stock/views.py:181 +#: stock/views.py:158 msgid "Edit Stock Location" -msgstr "" +msgstr "编辑仓储地点" -#: stock/views.py:288 stock/views.py:911 stock/views.py:1033 -#: stock/views.py:1398 +#: stock/views.py:265 stock/views.py:888 stock/views.py:1010 +#: stock/views.py:1375 msgid "Owner is required (ownership control is enabled)" msgstr "" -#: stock/views.py:303 +#: stock/views.py:280 msgid "Stock Location QR code" -msgstr "" +msgstr "仓储地点二维码" -#: stock/views.py:322 +#: stock/views.py:299 msgid "Assign to Customer" msgstr "" -#: stock/views.py:331 +#: stock/views.py:308 msgid "Customer must be specified" msgstr "" -#: stock/views.py:355 +#: stock/views.py:332 msgid "Return to Stock" msgstr "" -#: stock/views.py:364 +#: stock/views.py:341 msgid "Specify a valid location" -msgstr "" +msgstr "指定一个有效仓储地点" -#: stock/views.py:375 +#: stock/views.py:352 msgid "Stock item returned from customer" msgstr "" -#: stock/views.py:386 +#: stock/views.py:363 msgid "Delete All Test Data" msgstr "" -#: stock/views.py:403 +#: stock/views.py:380 msgid "Confirm test data deletion" msgstr "" -#: stock/views.py:508 +#: stock/views.py:485 msgid "Stock Item QR Code" msgstr "" -#: stock/views.py:683 +#: stock/views.py:660 msgid "Uninstall Stock Items" msgstr "" -#: stock/views.py:780 templates/js/translated/stock.js:353 +#: stock/views.py:757 templates/js/translated/stock.js:321 msgid "Confirm stock adjustment" msgstr "" -#: stock/views.py:791 +#: stock/views.py:768 msgid "Uninstalled stock items" msgstr "" -#: stock/views.py:813 +#: stock/views.py:790 msgid "Edit Stock Item" msgstr "" -#: stock/views.py:959 +#: stock/views.py:936 msgid "Create new Stock Location" -msgstr "" +msgstr "新建仓储地点" -#: stock/views.py:1050 +#: stock/views.py:1027 msgid "Serialize Stock" msgstr "" -#: stock/views.py:1143 templates/js/translated/build.js:392 +#: stock/views.py:1120 msgid "Create new Stock Item" msgstr "" -#: stock/views.py:1285 +#: stock/views.py:1262 msgid "Duplicate Stock Item" msgstr "" -#: stock/views.py:1367 +#: stock/views.py:1344 msgid "Quantity cannot be negative" msgstr "" -#: stock/views.py:1467 +#: stock/views.py:1444 msgid "Delete Stock Location" -msgstr "" +msgstr "删除仓储地点" -#: stock/views.py:1480 +#: stock/views.py:1457 msgid "Delete Stock Item" msgstr "" -#: stock/views.py:1491 +#: stock/views.py:1468 msgid "Delete Stock Tracking Entry" msgstr "" -#: stock/views.py:1498 +#: stock/views.py:1475 msgid "Edit Stock Tracking Entry" msgstr "" -#: stock/views.py:1507 +#: stock/views.py:1484 msgid "Add Stock Tracking Entry" msgstr "" @@ -6255,11 +6109,11 @@ msgstr "" #: templates/InvenTree/index.html:105 msgid "Starred Parts" -msgstr "" +msgstr "已加星标商品" #: templates/InvenTree/index.html:115 msgid "Latest Parts" -msgstr "" +msgstr "最近商品" #: templates/InvenTree/index.html:126 msgid "BOM Waiting Validation" @@ -6313,49 +6167,41 @@ msgstr "" msgid "Enter a search query" msgstr "" -#: templates/InvenTree/search.html:268 templates/js/translated/stock.js:699 -msgid "Shipped to customer" -msgstr "" - -#: templates/InvenTree/search.html:271 templates/js/translated/stock.js:709 -msgid "No stock location set" -msgstr "" - #: templates/InvenTree/settings/barcode.html:8 msgid "Barcode Settings" -msgstr "" +msgstr "条形码设置" #: templates/InvenTree/settings/build.html:8 msgid "Build Order Settings" -msgstr "" +msgstr "生产订单设置" #: templates/InvenTree/settings/category.html:7 msgid "Category Settings" -msgstr "" +msgstr "类别设置" #: templates/InvenTree/settings/currencies.html:8 msgid "Currency Settings" -msgstr "" +msgstr "货币设置" #: templates/InvenTree/settings/currencies.html:23 msgid "Base Currency" -msgstr "" +msgstr "基础货币" #: templates/InvenTree/settings/currencies.html:27 msgid "Exchange Rates" -msgstr "" +msgstr "汇率" #: templates/InvenTree/settings/currencies.html:37 msgid "Last Update" -msgstr "" +msgstr "上次更新" #: templates/InvenTree/settings/currencies.html:43 msgid "Never" -msgstr "" +msgstr "从不" #: templates/InvenTree/settings/currencies.html:48 msgid "Update Now" -msgstr "" +msgstr "立即更新" #: templates/InvenTree/settings/global.html:9 msgid "Server Settings" @@ -6363,213 +6209,301 @@ msgstr "" #: templates/InvenTree/settings/header.html:7 msgid "Setting" +msgstr "设置" + +#: templates/InvenTree/settings/login.html:9 +msgid "Login Settings" +msgstr "" + +#: templates/InvenTree/settings/login.html:22 templates/account/signup.html:5 +msgid "Signup" msgstr "" #: templates/InvenTree/settings/navbar.html:12 #: templates/InvenTree/settings/user_settings.html:9 msgid "User Settings" -msgstr "" +msgstr "用户设置" #: templates/InvenTree/settings/navbar.html:15 #: templates/InvenTree/settings/navbar.html:17 msgid "Account" -msgstr "" +msgstr "帐户" #: templates/InvenTree/settings/navbar.html:21 #: templates/InvenTree/settings/navbar.html:23 msgid "Home Page" -msgstr "" +msgstr "主页" #: templates/InvenTree/settings/navbar.html:27 #: templates/InvenTree/settings/navbar.html:29 -#: templates/js/translated/tables.js:366 templates/search_form.html:6 +#: templates/js/translated/tables.js:375 templates/search_form.html:6 #: templates/search_form.html:8 msgid "Search" -msgstr "" +msgstr "搜索" #: templates/InvenTree/settings/navbar.html:33 #: templates/InvenTree/settings/navbar.html:35 msgid "Labels" -msgstr "" +msgstr "标签" #: templates/InvenTree/settings/navbar.html:39 #: templates/InvenTree/settings/navbar.html:41 msgid "Reports" +msgstr "报表" + +#: templates/InvenTree/settings/navbar.html:45 +#: templates/InvenTree/settings/navbar.html:47 +msgid "Forms" msgstr "" -#: templates/InvenTree/settings/navbar.html:46 -#: templates/InvenTree/settings/navbar.html:48 -#: templates/InvenTree/settings/settings.html:8 templates/navbar.html:94 +#: templates/InvenTree/settings/navbar.html:52 +#: templates/InvenTree/settings/navbar.html:54 +#: templates/InvenTree/settings/settings.html:8 templates/navbar.html:90 msgid "Settings" -msgstr "" +msgstr "设置" -#: templates/InvenTree/settings/navbar.html:56 +#: templates/InvenTree/settings/navbar.html:62 msgid "InvenTree Settings" -msgstr "" +msgstr "InventTree 设置" -#: templates/InvenTree/settings/navbar.html:59 -#: templates/InvenTree/settings/navbar.html:61 templates/stats.html:9 +#: templates/InvenTree/settings/navbar.html:65 +#: templates/InvenTree/settings/navbar.html:67 templates/stats.html:9 msgid "Server" msgstr "" -#: templates/InvenTree/settings/navbar.html:65 -#: templates/InvenTree/settings/navbar.html:67 -msgid "Barcodes" -msgstr "" - #: templates/InvenTree/settings/navbar.html:71 -#: templates/InvenTree/settings/navbar.html:73 -msgid "Currencies" +#: templates/InvenTree/settings/navbar.html:73 templates/navbar.html:87 +msgid "Login" msgstr "" #: templates/InvenTree/settings/navbar.html:77 #: templates/InvenTree/settings/navbar.html:79 -msgid "Reporting" -msgstr "" +msgid "Barcodes" +msgstr "条形码" + +#: templates/InvenTree/settings/navbar.html:83 +#: templates/InvenTree/settings/navbar.html:85 +msgid "Currencies" +msgstr "币种" #: templates/InvenTree/settings/navbar.html:89 #: templates/InvenTree/settings/navbar.html:91 +msgid "Reporting" +msgstr "报表" + +#: templates/InvenTree/settings/navbar.html:101 +#: templates/InvenTree/settings/navbar.html:103 msgid "Categories" -msgstr "" +msgstr "类别管理" #: templates/InvenTree/settings/part.html:7 msgid "Part Settings" -msgstr "" +msgstr "商品设置" #: templates/InvenTree/settings/part.html:12 msgid "Part Options" -msgstr "" +msgstr "商品选项" #: templates/InvenTree/settings/part.html:43 msgid "Part Import" -msgstr "" +msgstr "商品导入" #: templates/InvenTree/settings/part.html:46 msgid "Import Part" -msgstr "" +msgstr "导入商品" #: templates/InvenTree/settings/part.html:59 msgid "Part Parameter Templates" -msgstr "" +msgstr "商品参数模板" #: templates/InvenTree/settings/po.html:9 msgid "Purchase Order Settings" -msgstr "" +msgstr "采购订单设置" #: templates/InvenTree/settings/report.html:10 #: templates/InvenTree/settings/user_reports.html:9 msgid "Report Settings" -msgstr "" +msgstr "报表设置" #: templates/InvenTree/settings/setting.html:29 msgid "No value set" -msgstr "" +msgstr "未设置值" #: templates/InvenTree/settings/setting.html:41 msgid "Edit setting" -msgstr "" +msgstr "编辑设置" -#: templates/InvenTree/settings/settings.html:152 +#: templates/InvenTree/settings/settings.html:154 msgid "No category parameter templates found" -msgstr "" +msgstr "未找到类别参数模板" -#: templates/InvenTree/settings/settings.html:174 -#: templates/InvenTree/settings/settings.html:273 +#: templates/InvenTree/settings/settings.html:176 +#: templates/InvenTree/settings/settings.html:275 msgid "Edit Template" -msgstr "" +msgstr "编辑模板" -#: templates/InvenTree/settings/settings.html:175 -#: templates/InvenTree/settings/settings.html:274 +#: templates/InvenTree/settings/settings.html:177 +#: templates/InvenTree/settings/settings.html:276 msgid "Delete Template" -msgstr "" +msgstr "删除模板" -#: templates/InvenTree/settings/settings.html:253 +#: templates/InvenTree/settings/settings.html:255 msgid "No part parameter templates found" -msgstr "" +msgstr "未找到商品参数模板" #: templates/InvenTree/settings/so.html:7 msgid "Sales Order Settings" -msgstr "" +msgstr "销售订单设置" #: templates/InvenTree/settings/stock.html:7 msgid "Stock Settings" -msgstr "" +msgstr "库存设置" -#: templates/InvenTree/settings/user.html:9 +#: templates/InvenTree/settings/user.html:11 msgid "Account Settings" -msgstr "" +msgstr "帐户设置" -#: templates/InvenTree/settings/user.html:15 +#: templates/InvenTree/settings/user.html:19 #: templates/js/translated/helpers.js:26 msgid "Edit" -msgstr "" +msgstr "编辑" -#: templates/InvenTree/settings/user.html:17 +#: templates/InvenTree/settings/user.html:21 +#: templates/account/password_reset_from_key.html:4 +#: templates/account/password_reset_from_key.html:7 msgid "Change Password" -msgstr "" - -#: templates/InvenTree/settings/user.html:24 -#: templates/registration/login.html:58 -msgid "Username" -msgstr "" +msgstr "更改密码" #: templates/InvenTree/settings/user.html:28 -msgid "First Name" -msgstr "" +msgid "Username" +msgstr "用户名" #: templates/InvenTree/settings/user.html:32 -msgid "Last Name" -msgstr "" +msgid "First Name" +msgstr "名字" #: templates/InvenTree/settings/user.html:36 -msgid "Email Address" -msgstr "" +msgid "Last Name" +msgstr "姓氏" #: templates/InvenTree/settings/user.html:42 -msgid "Theme Settings" +msgid "E-Mail" +msgstr "" + +#: templates/InvenTree/settings/user.html:47 +msgid "The following e-mail addresses are associated with your account:" +msgstr "" + +#: templates/InvenTree/settings/user.html:61 +msgid "Verified" msgstr "" #: templates/InvenTree/settings/user.html:63 +msgid "Unverified" +msgstr "" + +#: templates/InvenTree/settings/user.html:65 +msgid "Primary" +msgstr "" + +#: templates/InvenTree/settings/user.html:71 +msgid "Make Primary" +msgstr "" + +#: templates/InvenTree/settings/user.html:72 +msgid "Re-send Verification" +msgstr "" + +#: templates/InvenTree/settings/user.html:73 +#: templates/InvenTree/settings/user.html:130 +msgid "Remove" +msgstr "" + +#: templates/InvenTree/settings/user.html:80 +msgid "Warning:" +msgstr "" + +#: templates/InvenTree/settings/user.html:81 +msgid "You currently do not have any e-mail address set up. You should really add an e-mail address so you can receive notifications, reset your password, etc." +msgstr "" + +#: templates/InvenTree/settings/user.html:88 +msgid "Add E-mail Address" +msgstr "" + +#: templates/InvenTree/settings/user.html:93 +msgid "Add E-mail" +msgstr "" + +#: templates/InvenTree/settings/user.html:100 +msgid "Social Accounts" +msgstr "" + +#: templates/InvenTree/settings/user.html:105 +msgid "You can sign in to your account using any of the following third party accounts:" +msgstr "" + +#: templates/InvenTree/settings/user.html:138 +msgid "You currently have no social network accounts connected to this account." +msgstr "" + +#: templates/InvenTree/settings/user.html:142 +msgid "Add a 3rd Party Account" +msgstr "" + +#: templates/InvenTree/settings/user.html:153 +msgid "Theme Settings" +msgstr "主题设置" + +#: templates/InvenTree/settings/user.html:174 msgid "Set Theme" -msgstr "" +msgstr "设置主题" -#: templates/InvenTree/settings/user.html:70 +#: templates/InvenTree/settings/user.html:181 msgid "Language Settings" -msgstr "" +msgstr "语言设置" -#: templates/InvenTree/settings/user.html:89 +#: templates/InvenTree/settings/user.html:200 #, python-format msgid "%(lang_translated)s%% translated" -msgstr "" +msgstr "%(lang_translated)s%% 已翻译" -#: templates/InvenTree/settings/user.html:91 +#: templates/InvenTree/settings/user.html:202 msgid "No translations available" -msgstr "" +msgstr "无可用翻译" -#: templates/InvenTree/settings/user.html:98 +#: templates/InvenTree/settings/user.html:209 msgid "Set Language" -msgstr "" +msgstr "设置语言" -#: templates/InvenTree/settings/user.html:103 +#: templates/InvenTree/settings/user.html:214 msgid "Help the translation efforts!" -msgstr "" +msgstr "帮助翻译工作!" -#: templates/InvenTree/settings/user.html:104 +#: templates/InvenTree/settings/user.html:215 #, python-format msgid "Native language translation of the InvenTree web application is community contributed via crowdin. Contributions are welcomed and encouraged." +msgstr "InventTree web 应用程序的本地语言翻译是 社区通过crowdin贡献。欢迎并鼓励提交信息。" + +#: templates/InvenTree/settings/user.html:223 +msgid "Do you really want to remove the selected e-mail address?" +msgstr "" + +#: templates/InvenTree/settings/user_forms.html:9 +msgid "Form Settings" msgstr "" #: templates/InvenTree/settings/user_homepage.html:9 msgid "Home Page Settings" -msgstr "" +msgstr "主页设置" #: templates/InvenTree/settings/user_labels.html:9 msgid "Label Settings" -msgstr "" +msgstr "标签设置" #: templates/InvenTree/settings/user_search.html:9 msgid "Search Settings" -msgstr "" +msgstr "搜索设置" #: templates/about.html:13 msgid "InvenTree Version Information" @@ -6641,11 +6575,108 @@ msgstr "" #: templates/about.html:107 templates/js/translated/modals.js:50 #: templates/js/translated/modals.js:584 templates/js/translated/modals.js:678 -#: templates/js/translated/modals.js:971 templates/modals.html:29 +#: templates/js/translated/modals.js:982 templates/modals.html:29 #: templates/modals.html:54 msgid "Close" msgstr "" +#: templates/account/email_confirm.html:6 +#: templates/account/email_confirm.html:10 +msgid "Confirm E-mail Address" +msgstr "" + +#: templates/account/email_confirm.html:16 +#, python-format +msgid "Please confirm that %(email)s is an e-mail address for user %(user_display)s." +msgstr "" + +#: templates/account/email_confirm.html:27 +#, python-format +msgid "This e-mail confirmation link expired or is invalid. Please issue a new e-mail confirmation request." +msgstr "" + +#: templates/account/login.html:5 templates/account/login.html:14 +#: templates/account/login.html:36 +msgid "Sign In" +msgstr "" + +#: templates/account/login.html:19 +#, python-format +msgid "Please sign in with one\n" +"of your existing third party accounts or sign up\n" +"for a account and sign in below:" +msgstr "" + +#: templates/account/login.html:23 +#, python-format +msgid "If you have not created an account yet, then please\n" +"sign up first." +msgstr "" + +#: templates/account/login.html:38 +msgid "Forgot Password?" +msgstr "" + +#: templates/account/login.html:45 +msgid "or use SSO" +msgstr "" + +#: templates/account/logout.html:5 templates/account/logout.html:8 +#: templates/account/logout.html:17 +msgid "Sign Out" +msgstr "" + +#: templates/account/logout.html:10 +msgid "Are you sure you want to sign out?" +msgstr "" + +#: templates/account/password_reset.html:5 +#: templates/account/password_reset.html:12 +msgid "Password Reset" +msgstr "" + +#: templates/account/password_reset.html:18 +msgid "Forgotten your password? Enter your e-mail address below, and we'll send you an e-mail allowing you to reset it." +msgstr "" + +#: templates/account/password_reset.html:23 +msgid "Reset My Password" +msgstr "" + +#: templates/account/password_reset.html:27 templates/account/signup.html:36 +msgid "This function is currently disabled. Please contact an administrator." +msgstr "" + +#: templates/account/password_reset_from_key.html:7 +msgid "Bad Token" +msgstr "" + +#: templates/account/password_reset_from_key.html:11 +#, python-format +msgid "The password reset link was invalid, possibly because it has already been used. Please request a new password reset." +msgstr "" + +#: templates/account/password_reset_from_key.html:17 +msgid "change password" +msgstr "" + +#: templates/account/password_reset_from_key.html:20 +msgid "Your password is now changed." +msgstr "" + +#: templates/account/signup.html:11 templates/account/signup.html:22 +msgid "Sign Up" +msgstr "" + +#: templates/account/signup.html:13 +#, python-format +msgid "Already have an account? Then please sign in." +msgstr "" + +#: templates/account/signup.html:27 +msgid "Or use a SSO-provider for signup" +msgstr "" + #: templates/image_download.html:8 msgid "Specify URL for downloading image" msgstr "" @@ -6675,13 +6706,13 @@ msgid "Select Test Report Template" msgstr "" #: templates/js/report.js:98 templates/js/translated/label.js:29 -#: templates/js/translated/report.js:118 templates/js/translated/stock.js:313 +#: templates/js/translated/report.js:118 templates/js/translated/stock.js:297 msgid "Select Stock Items" -msgstr "" +msgstr "选择库存项" #: templates/js/report.js:99 templates/js/translated/report.js:119 msgid "Stock item(s) must be selected before printing reports" -msgstr "" +msgstr "在打印报表之前必须选择库存项目" #: templates/js/report.js:116 templates/js/report.js:169 #: templates/js/report.js:223 templates/js/report.js:277 @@ -6689,7 +6720,7 @@ msgstr "" #: templates/js/translated/report.js:189 templates/js/translated/report.js:243 #: templates/js/translated/report.js:297 templates/js/translated/report.js:351 msgid "No Reports Found" -msgstr "" +msgstr "没有找到报表" #: templates/js/report.js:117 templates/js/translated/report.js:137 msgid "No report templates found which match selected stock item(s)" @@ -6701,20 +6732,20 @@ msgstr "" #: templates/js/report.js:153 templates/js/translated/report.js:173 msgid "Build(s) must be selected before printing reports" -msgstr "" +msgstr "打印报表前必须选择Build(s)" #: templates/js/report.js:170 templates/js/translated/report.js:190 msgid "No report templates found which match selected build(s)" msgstr "" -#: templates/js/report.js:205 templates/js/translated/label.js:134 -#: templates/js/translated/report.js:225 +#: templates/js/report.js:205 templates/js/translated/build.js:948 +#: templates/js/translated/label.js:134 templates/js/translated/report.js:225 msgid "Select Parts" -msgstr "" +msgstr "选择商品" #: templates/js/report.js:206 templates/js/translated/report.js:226 msgid "Part(s) must be selected before printing reports" -msgstr "" +msgstr "打印报表前必须选择商品" #: templates/js/report.js:224 templates/js/translated/report.js:244 msgid "No report templates found which match selected part(s)" @@ -6741,11 +6772,11 @@ msgstr "" msgid "Sales Order(s) must be selected before printing report" msgstr "" -#: templates/js/translated/api.js:174 templates/js/translated/modals.js:1041 +#: templates/js/translated/api.js:174 templates/js/translated/modals.js:1052 msgid "No Response" msgstr "" -#: templates/js/translated/api.js:175 templates/js/translated/modals.js:1042 +#: templates/js/translated/api.js:175 templates/js/translated/modals.js:1053 msgid "No response from the InvenTree server" msgstr "" @@ -6757,35 +6788,35 @@ msgstr "" msgid "API request returned error code 400" msgstr "" -#: templates/js/translated/api.js:186 templates/js/translated/modals.js:1051 +#: templates/js/translated/api.js:186 templates/js/translated/modals.js:1062 msgid "Error 401: Not Authenticated" msgstr "" -#: templates/js/translated/api.js:187 templates/js/translated/modals.js:1052 +#: templates/js/translated/api.js:187 templates/js/translated/modals.js:1063 msgid "Authentication credentials not supplied" msgstr "" -#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1056 +#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1067 msgid "Error 403: Permission Denied" msgstr "" -#: templates/js/translated/api.js:192 templates/js/translated/modals.js:1057 +#: templates/js/translated/api.js:192 templates/js/translated/modals.js:1068 msgid "You do not have the required permissions to access this function" msgstr "" -#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1061 +#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1072 msgid "Error 404: Resource Not Found" msgstr "" -#: templates/js/translated/api.js:197 templates/js/translated/modals.js:1062 +#: templates/js/translated/api.js:197 templates/js/translated/modals.js:1073 msgid "The requested resource could not be located on the server" msgstr "" -#: templates/js/translated/api.js:201 templates/js/translated/modals.js:1066 +#: templates/js/translated/api.js:201 templates/js/translated/modals.js:1077 msgid "Error 408: Timeout" msgstr "" -#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1067 +#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1078 msgid "Connection timeout while requesting data from server" msgstr "" @@ -6819,11 +6850,11 @@ msgstr "" #: templates/js/translated/barcode.js:32 msgid "Enter barcode data" -msgstr "" +msgstr "输入条形码数据" #: templates/js/translated/barcode.js:36 msgid "Barcode" -msgstr "" +msgstr "条形码" #: templates/js/translated/barcode.js:54 msgid "Enter optional notes for stock transfer" @@ -6842,7 +6873,7 @@ msgid "Unknown response from server" msgstr "" #: templates/js/translated/barcode.js:141 -#: templates/js/translated/modals.js:1031 +#: templates/js/translated/modals.js:1042 msgid "Invalid server response" msgstr "" @@ -6852,7 +6883,7 @@ msgstr "" #: templates/js/translated/barcode.js:281 templates/navbar.html:65 msgid "Scan Barcode" -msgstr "" +msgstr "扫描条形码" #: templates/js/translated/barcode.js:292 msgid "No URL in response" @@ -6870,7 +6901,7 @@ msgstr "" msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:398 templates/js/translated/stock.js:289 +#: templates/js/translated/barcode.js:398 templates/js/translated/stock.js:273 msgid "Remove stock item" msgstr "" @@ -6912,157 +6943,223 @@ msgstr "" msgid "Barcode does not match a valid location" msgstr "" -#: templates/js/translated/bom.js:215 templates/js/translated/build.js:1169 +#: templates/js/translated/bom.js:234 templates/js/translated/build.js:1495 msgid "Open subassembly" msgstr "" -#: templates/js/translated/bom.js:287 +#: templates/js/translated/bom.js:288 templates/js/translated/build.js:744 +#: templates/js/translated/build.js:1345 templates/js/translated/build.js:1522 +msgid "Available" +msgstr "空闲" + +#: templates/js/translated/bom.js:307 msgid "Purchase Price Range" msgstr "" -#: templates/js/translated/bom.js:294 +#: templates/js/translated/bom.js:314 msgid "Purchase Price Average" msgstr "" -#: templates/js/translated/bom.js:342 templates/js/translated/bom.js:428 +#: templates/js/translated/bom.js:363 templates/js/translated/bom.js:449 msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:402 +#: templates/js/translated/bom.js:415 templates/js/translated/build.js:798 +#: templates/js/translated/build.js:1545 templates/js/translated/order.js:1285 +msgid "Actions" +msgstr "" + +#: templates/js/translated/bom.js:423 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:404 +#: templates/js/translated/bom.js:425 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:406 templates/js/translated/bom.js:569 +#: templates/js/translated/bom.js:427 templates/js/translated/bom.js:590 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:408 templates/js/translated/bom.js:554 +#: templates/js/translated/bom.js:429 templates/js/translated/bom.js:575 msgid "Delete BOM Item" msgstr "" -#: templates/js/translated/bom.js:499 templates/js/translated/build.js:483 -#: templates/js/translated/build.js:1267 +#: templates/js/translated/bom.js:520 templates/js/translated/build.js:485 +#: templates/js/translated/build.js:1593 msgid "No BOM items found" msgstr "" -#: templates/js/translated/build.js:69 +#: templates/js/translated/build.js:71 msgid "Edit Build Order" msgstr "" -#: templates/js/translated/build.js:95 +#: templates/js/translated/build.js:105 msgid "Create Build Order" msgstr "" -#: templates/js/translated/build.js:127 -msgid "Auto-allocate stock items to this output" +#: templates/js/translated/build.js:138 +msgid "Allocate stock items to this build output" msgstr "" -#: templates/js/translated/build.js:135 +#: templates/js/translated/build.js:146 msgid "Unallocate stock from build output" msgstr "" -#: templates/js/translated/build.js:145 +#: templates/js/translated/build.js:155 msgid "Complete build output" msgstr "" -#: templates/js/translated/build.js:154 +#: templates/js/translated/build.js:164 msgid "Delete build output" msgstr "" -#: templates/js/translated/build.js:249 +#: templates/js/translated/build.js:265 msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:287 templates/js/translated/order.js:813 +#: templates/js/translated/build.js:303 templates/js/translated/order.js:1159 msgid "Location not specified" +msgstr "未指定仓储地点" + +#: templates/js/translated/build.js:675 templates/js/translated/build.js:1356 +#: templates/js/translated/order.js:1292 +msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/build.js:391 templates/stock_table.html:20 -msgid "New Stock Item" +#: templates/js/translated/build.js:677 templates/js/translated/build.js:1357 +#: templates/js/translated/order.js:1293 +msgid "Delete stock allocation" msgstr "" -#: templates/js/translated/build.js:702 +#: templates/js/translated/build.js:695 +msgid "Edit Allocation" +msgstr "" + +#: templates/js/translated/build.js:705 +msgid "Remove Allocation" +msgstr "" + +#: templates/js/translated/build.js:718 msgid "Required Part" msgstr "" -#: templates/js/translated/build.js:723 +#: templates/js/translated/build.js:739 msgid "Quantity Per" msgstr "" -#: templates/js/translated/build.js:793 templates/js/translated/build.js:1231 +#: templates/js/translated/build.js:749 templates/js/translated/build.js:975 +#: templates/js/translated/build.js:1352 templates/js/translated/order.js:1514 +msgid "Allocated" +msgstr "" + +#: templates/js/translated/build.js:805 templates/js/translated/build.js:1553 +#: templates/js/translated/order.js:1567 +msgid "Build stock" +msgstr "" + +#: templates/js/translated/build.js:809 templates/js/translated/build.js:1557 #: templates/stock_table.html:59 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:846 +#: templates/js/translated/build.js:812 templates/js/translated/order.js:1560 +msgid "Allocate stock" +msgstr "" + +#: templates/js/translated/build.js:880 +msgid "Specify stock allocation quantity" +msgstr "" + +#: templates/js/translated/build.js:949 +msgid "You must select at least one part to allocate" +msgstr "" + +#: templates/js/translated/build.js:963 +msgid "Select source location (leave blank to take from all locations)" +msgstr "" + +#: templates/js/translated/build.js:992 +msgid "Confirm stock allocation" +msgstr "确认库存分配" + +#: templates/js/translated/build.js:993 +msgid "Allocate Stock Items to Build Order" +msgstr "" + +#: templates/js/translated/build.js:1004 +msgid "No matching stock locations" +msgstr "" + +#: templates/js/translated/build.js:1048 +msgid "No matching stock items" +msgstr "" + +#: templates/js/translated/build.js:1172 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:863 templates/js/translated/part.js:845 -#: templates/js/translated/part.js:1123 templates/js/translated/stock.js:783 -#: templates/js/translated/stock.js:1477 +#: templates/js/translated/build.js:1189 templates/js/translated/part.js:856 +#: templates/js/translated/part.js:1134 templates/js/translated/stock.js:762 +#: templates/js/translated/stock.js:1456 msgid "Select" msgstr "" -#: templates/js/translated/build.js:883 +#: templates/js/translated/build.js:1209 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:944 templates/js/translated/stock.js:1696 +#: templates/js/translated/build.js:1270 templates/js/translated/stock.js:1675 msgid "No user information" -msgstr "" +msgstr "没有用户信息" -#: templates/js/translated/build.js:956 +#: templates/js/translated/build.js:1282 msgid "No information" msgstr "" -#: templates/js/translated/build.js:1007 +#: templates/js/translated/build.js:1333 msgid "No parts allocated for" msgstr "" #: templates/js/translated/company.js:65 msgid "Add Manufacturer" -msgstr "" +msgstr "添加制造商" #: templates/js/translated/company.js:78 templates/js/translated/company.js:176 msgid "Add Manufacturer Part" -msgstr "" +msgstr "添加制造商商品" #: templates/js/translated/company.js:99 msgid "Edit Manufacturer Part" -msgstr "" +msgstr "编辑制造商商品" #: templates/js/translated/company.js:108 msgid "Delete Manufacturer Part" -msgstr "" +msgstr "删除制造商商品" -#: templates/js/translated/company.js:164 templates/js/translated/order.js:86 +#: templates/js/translated/company.js:164 templates/js/translated/order.js:89 msgid "Add Supplier" -msgstr "" +msgstr "添加供应商" #: templates/js/translated/company.js:192 msgid "Add Supplier Part" -msgstr "" +msgstr "添加供应商商品" #: templates/js/translated/company.js:207 msgid "Edit Supplier Part" -msgstr "" +msgstr "编辑供应商商品" #: templates/js/translated/company.js:217 msgid "Delete Supplier Part" -msgstr "" +msgstr "删除供应商商品" #: templates/js/translated/company.js:264 msgid "Edit Company" -msgstr "" +msgstr "编辑公司信息" #: templates/js/translated/company.js:285 msgid "Add new Company" -msgstr "" +msgstr "增加新的公司信息" #: templates/js/translated/company.js:362 msgid "Parts Supplied" @@ -7074,7 +7171,7 @@ msgstr "" #: templates/js/translated/company.js:385 msgid "No company information found" -msgstr "" +msgstr "未找到该公司信息" #: templates/js/translated/company.js:404 msgid "The following manufacturer parts will be deleted" @@ -7082,75 +7179,75 @@ msgstr "" #: templates/js/translated/company.js:421 msgid "Delete Manufacturer Parts" -msgstr "" +msgstr "删除制造商商品" -#: templates/js/translated/company.js:475 +#: templates/js/translated/company.js:476 msgid "No manufacturer parts found" msgstr "" -#: templates/js/translated/company.js:495 -#: templates/js/translated/company.js:751 templates/js/translated/part.js:416 -#: templates/js/translated/part.js:501 +#: templates/js/translated/company.js:496 +#: templates/js/translated/company.js:753 templates/js/translated/part.js:427 +#: templates/js/translated/part.js:512 msgid "Template part" msgstr "" -#: templates/js/translated/company.js:499 -#: templates/js/translated/company.js:755 templates/js/translated/part.js:420 -#: templates/js/translated/part.js:505 +#: templates/js/translated/company.js:500 +#: templates/js/translated/company.js:757 templates/js/translated/part.js:431 +#: templates/js/translated/part.js:516 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:626 templates/js/translated/part.js:593 +#: templates/js/translated/company.js:627 templates/js/translated/part.js:604 msgid "No parameters found" -msgstr "" +msgstr "无指定参数" -#: templates/js/translated/company.js:663 templates/js/translated/part.js:635 +#: templates/js/translated/company.js:664 templates/js/translated/part.js:646 msgid "Edit parameter" -msgstr "" +msgstr "编辑参数" -#: templates/js/translated/company.js:664 templates/js/translated/part.js:636 +#: templates/js/translated/company.js:665 templates/js/translated/part.js:647 msgid "Delete parameter" -msgstr "" +msgstr "删除参数" -#: templates/js/translated/company.js:683 templates/js/translated/part.js:653 +#: templates/js/translated/company.js:684 templates/js/translated/part.js:664 msgid "Edit Parameter" -msgstr "" +msgstr "编辑参数" -#: templates/js/translated/company.js:694 templates/js/translated/part.js:665 +#: templates/js/translated/company.js:695 templates/js/translated/part.js:676 msgid "Delete Parameter" -msgstr "" +msgstr "删除参数" -#: templates/js/translated/company.js:731 +#: templates/js/translated/company.js:733 msgid "No supplier parts found" -msgstr "" +msgstr "未找到供应商商品" #: templates/js/translated/filters.js:178 -#: templates/js/translated/filters.js:402 +#: templates/js/translated/filters.js:407 msgid "true" msgstr "" #: templates/js/translated/filters.js:182 -#: templates/js/translated/filters.js:403 +#: templates/js/translated/filters.js:408 msgid "false" msgstr "" #: templates/js/translated/filters.js:204 msgid "Select filter" -msgstr "" +msgstr "选择筛选项" -#: templates/js/translated/filters.js:279 +#: templates/js/translated/filters.js:284 msgid "Reload data" msgstr "" -#: templates/js/translated/filters.js:281 +#: templates/js/translated/filters.js:286 msgid "Add new filter" msgstr "" -#: templates/js/translated/filters.js:284 +#: templates/js/translated/filters.js:289 msgid "Clear all filters" msgstr "" -#: templates/js/translated/filters.js:312 +#: templates/js/translated/filters.js:317 msgid "Create filter" msgstr "" @@ -7175,16 +7272,20 @@ msgstr "" msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:889 templates/modals.html:21 +#: templates/js/translated/forms.js:968 templates/modals.html:21 #: templates/modals.html:47 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1379 +#: templates/js/translated/forms.js:1323 +msgid "No results found" +msgstr "" + +#: templates/js/translated/forms.js:1525 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:1593 +#: templates/js/translated/forms.js:1742 msgid "Clear input" msgstr "" @@ -7198,56 +7299,56 @@ msgstr "" #: templates/js/translated/label.js:30 msgid "Stock item(s) must be selected before printing labels" -msgstr "" +msgstr "打印标签前必须选择库存项目" #: templates/js/translated/label.js:48 templates/js/translated/label.js:98 #: templates/js/translated/label.js:153 msgid "No Labels Found" -msgstr "" +msgstr "未找到标签" #: templates/js/translated/label.js:49 msgid "No labels found which match selected stock item(s)" -msgstr "" +msgstr "没有找到与选定的库存项匹配的标签" #: templates/js/translated/label.js:80 msgid "Select Stock Locations" -msgstr "" +msgstr "选择仓储地点" #: templates/js/translated/label.js:81 msgid "Stock location(s) must be selected before printing labels" -msgstr "" +msgstr "打印标签前必须选择仓储地点" #: templates/js/translated/label.js:99 msgid "No labels found which match selected stock location(s)" -msgstr "" +msgstr "没有找到匹配选定库存地点的标签" #: templates/js/translated/label.js:135 msgid "Part(s) must be selected before printing labels" -msgstr "" +msgstr "打印标签前必须选择商品" #: templates/js/translated/label.js:154 msgid "No labels found which match the selected part(s)" -msgstr "" +msgstr "没有找到与所选商品相匹配的标签" #: templates/js/translated/label.js:228 msgid "stock items selected" -msgstr "" +msgstr "已选择库存项" #: templates/js/translated/label.js:236 msgid "Select Label" -msgstr "" +msgstr "选择标签" #: templates/js/translated/label.js:251 msgid "Select Label Template" -msgstr "" +msgstr "选择标签模板" #: templates/js/translated/modals.js:76 templates/js/translated/modals.js:120 #: templates/js/translated/modals.js:610 msgid "Cancel" -msgstr "" +msgstr "取消" #: templates/js/translated/modals.js:77 templates/js/translated/modals.js:119 -#: templates/js/translated/modals.js:677 templates/js/translated/modals.js:970 +#: templates/js/translated/modals.js:677 templates/js/translated/modals.js:981 #: templates/modals.html:30 templates/modals.html:55 msgid "Submit" msgstr "" @@ -7272,113 +7373,238 @@ msgstr "" msgid "Loading Data" msgstr "" -#: templates/js/translated/modals.js:922 +#: templates/js/translated/modals.js:933 msgid "Invalid response from server" msgstr "" -#: templates/js/translated/modals.js:922 +#: templates/js/translated/modals.js:933 msgid "Form data missing from server response" msgstr "" -#: templates/js/translated/modals.js:934 +#: templates/js/translated/modals.js:945 msgid "Error posting form data" msgstr "" -#: templates/js/translated/modals.js:1031 +#: templates/js/translated/modals.js:1042 msgid "JSON response missing form data" msgstr "" -#: templates/js/translated/modals.js:1046 +#: templates/js/translated/modals.js:1057 msgid "Error 400: Bad Request" msgstr "" -#: templates/js/translated/modals.js:1047 +#: templates/js/translated/modals.js:1058 msgid "Server returned error code 400" msgstr "" -#: templates/js/translated/modals.js:1070 +#: templates/js/translated/modals.js:1081 msgid "Error requesting form data" msgstr "" #: templates/js/translated/model_renderers.js:40 msgid "Company ID" +msgstr "公司ID" + +#: templates/js/translated/model_renderers.js:90 +msgid "Stock ID" msgstr "" -#: templates/js/translated/model_renderers.js:82 +#: templates/js/translated/model_renderers.js:125 msgid "Location ID" msgstr "" -#: templates/js/translated/model_renderers.js:99 +#: templates/js/translated/model_renderers.js:142 msgid "Build ID" msgstr "" -#: templates/js/translated/model_renderers.js:119 +#: templates/js/translated/model_renderers.js:177 msgid "Part ID" +msgstr "商品ID" + +#: templates/js/translated/model_renderers.js:231 +msgid "Order ID" msgstr "" -#: templates/js/translated/model_renderers.js:171 +#: templates/js/translated/model_renderers.js:251 msgid "Category ID" -msgstr "" +msgstr "类别 ID" -#: templates/js/translated/model_renderers.js:208 +#: templates/js/translated/model_renderers.js:288 msgid "Manufacturer Part ID" -msgstr "" +msgstr "制造商商品ID" -#: templates/js/translated/model_renderers.js:237 +#: templates/js/translated/model_renderers.js:317 msgid "Supplier Part ID" -msgstr "" +msgstr "供应商商品ID" -#: templates/js/translated/order.js:45 +#: templates/js/translated/order.js:48 msgid "Add Customer" msgstr "" -#: templates/js/translated/order.js:70 +#: templates/js/translated/order.js:73 msgid "Create Sales Order" msgstr "" -#: templates/js/translated/order.js:295 +#: templates/js/translated/order.js:207 +msgid "Export Order" +msgstr "" + +#: templates/js/translated/order.js:210 templates/js/translated/stock.js:96 +msgid "Format" +msgstr "" + +#: templates/js/translated/order.js:211 templates/js/translated/stock.js:97 +msgid "Select file format" +msgstr "" + +#: templates/js/translated/order.js:299 +msgid "Select Line Items" +msgstr "" + +#: templates/js/translated/order.js:300 +msgid "At least one line item must be selected" +msgstr "" + +#: templates/js/translated/order.js:325 +msgid "Quantity to receive" +msgstr "" + +#: templates/js/translated/order.js:359 templates/js/translated/stock.js:1343 +msgid "Stock Status" +msgstr "" + +#: templates/js/translated/order.js:426 +msgid "Order Code" +msgstr "订单编码" + +#: templates/js/translated/order.js:427 +msgid "Ordered" +msgstr "" + +#: templates/js/translated/order.js:429 +msgid "Receive" +msgstr "" + +#: templates/js/translated/order.js:448 +msgid "Confirm receipt of items" +msgstr "" + +#: templates/js/translated/order.js:449 +msgid "Receive Purchase Order Items" +msgstr "" + +#: templates/js/translated/order.js:626 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/order.js:320 templates/js/translated/order.js:682 +#: templates/js/translated/order.js:651 templates/js/translated/order.js:1028 msgid "Order is overdue" msgstr "" -#: templates/js/translated/order.js:452 +#: templates/js/translated/order.js:749 templates/js/translated/order.js:1602 +msgid "Edit Line Item" +msgstr "" + +#: templates/js/translated/order.js:761 templates/js/translated/order.js:1613 +msgid "Delete Line Item" +msgstr "" + +#: templates/js/translated/order.js:800 msgid "No line items found" msgstr "" -#: templates/js/translated/order.js:617 +#: templates/js/translated/order.js:827 templates/js/translated/order.js:1432 +msgid "Total" +msgstr "" + +#: templates/js/translated/order.js:880 templates/js/translated/order.js:1457 +#: templates/js/translated/part.js:1343 templates/js/translated/part.js:1554 +msgid "Unit Price" +msgstr "单价" + +#: templates/js/translated/order.js:889 templates/js/translated/order.js:1464 +msgid "Total price" +msgstr "" + +#: templates/js/translated/order.js:962 templates/js/translated/order.js:1573 +msgid "Edit line item" +msgstr "" + +#: templates/js/translated/order.js:963 msgid "Delete line item" msgstr "" -#: templates/js/translated/order.js:621 +#: templates/js/translated/order.js:967 msgid "Receive line item" msgstr "" -#: templates/js/translated/order.js:658 +#: templates/js/translated/order.js:1004 msgid "No sales orders found" msgstr "" -#: templates/js/translated/order.js:696 +#: templates/js/translated/order.js:1042 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/order.js:774 +#: templates/js/translated/order.js:1120 msgid "No sales order allocations found" msgstr "" +#: templates/js/translated/order.js:1213 +msgid "Edit Stock Allocation" +msgstr "" + +#: templates/js/translated/order.js:1231 +msgid "Delete Stock Allocation" +msgstr "" + +#: templates/js/translated/order.js:1273 +msgid "Stock location not specified" +msgstr "" + +#: templates/js/translated/order.js:1514 +msgid "Fulfilled" +msgstr "" + +#: templates/js/translated/order.js:1557 +msgid "Allocate serial numbers" +msgstr "" + +#: templates/js/translated/order.js:1563 +msgid "Purchase stock" +msgstr "" + +#: templates/js/translated/order.js:1570 templates/js/translated/order.js:1725 +msgid "Calculate price" +msgstr "" + +#: templates/js/translated/order.js:1574 +msgid "Delete line item " +msgstr "" + +#: templates/js/translated/order.js:1673 +msgid "Allocate Stock Item" +msgstr "" + +#: templates/js/translated/order.js:1733 +msgid "Update Unit Price" +msgstr "" + +#: templates/js/translated/order.js:1747 +msgid "No matching line items" +msgstr "" + #: templates/js/translated/part.js:49 msgid "Part Attributes" -msgstr "" +msgstr "商品属性" #: templates/js/translated/part.js:53 msgid "Part Creation Options" -msgstr "" +msgstr "商品创建选项" #: templates/js/translated/part.js:57 msgid "Part Duplication Options" -msgstr "" +msgstr "商品重复选项" #: templates/js/translated/part.js:61 msgid "Supplier Options" @@ -7386,404 +7612,404 @@ msgstr "" #: templates/js/translated/part.js:75 msgid "Add Part Category" -msgstr "" +msgstr "增加商品类别" -#: templates/js/translated/part.js:159 +#: templates/js/translated/part.js:164 msgid "Create Initial Stock" msgstr "" -#: templates/js/translated/part.js:160 +#: templates/js/translated/part.js:165 msgid "Create an initial stock item for this part" msgstr "" -#: templates/js/translated/part.js:167 +#: templates/js/translated/part.js:172 msgid "Initial Stock Quantity" msgstr "" -#: templates/js/translated/part.js:168 +#: templates/js/translated/part.js:173 msgid "Specify initial stock quantity for this part" msgstr "" -#: templates/js/translated/part.js:175 templates/js/translated/stock.js:330 +#: templates/js/translated/part.js:180 msgid "Select destination stock location" msgstr "" -#: templates/js/translated/part.js:186 +#: templates/js/translated/part.js:191 msgid "Copy Category Parameters" -msgstr "" +msgstr "复制类别参数" -#: templates/js/translated/part.js:187 +#: templates/js/translated/part.js:192 msgid "Copy parameter templates from selected part category" msgstr "" -#: templates/js/translated/part.js:195 +#: templates/js/translated/part.js:200 msgid "Add Supplier Data" msgstr "" -#: templates/js/translated/part.js:196 +#: templates/js/translated/part.js:201 msgid "Create initial supplier data for this part" msgstr "" -#: templates/js/translated/part.js:252 +#: templates/js/translated/part.js:257 msgid "Copy Image" msgstr "" -#: templates/js/translated/part.js:253 +#: templates/js/translated/part.js:258 msgid "Copy image from original part" msgstr "" -#: templates/js/translated/part.js:260 +#: templates/js/translated/part.js:265 msgid "Copy BOM" msgstr "" -#: templates/js/translated/part.js:261 +#: templates/js/translated/part.js:266 msgid "Copy bill of materials from original part" msgstr "" -#: templates/js/translated/part.js:268 +#: templates/js/translated/part.js:273 msgid "Copy Parameters" msgstr "" -#: templates/js/translated/part.js:269 +#: templates/js/translated/part.js:274 msgid "Copy parameter data from original part" msgstr "" -#: templates/js/translated/part.js:282 +#: templates/js/translated/part.js:287 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:323 +#: templates/js/translated/part.js:331 msgid "Edit Part" -msgstr "" +msgstr "编辑商品" -#: templates/js/translated/part.js:408 templates/js/translated/part.js:493 +#: templates/js/translated/part.js:419 templates/js/translated/part.js:504 msgid "Trackable part" -msgstr "" +msgstr "可追溯商品" -#: templates/js/translated/part.js:412 templates/js/translated/part.js:497 +#: templates/js/translated/part.js:423 templates/js/translated/part.js:508 msgid "Virtual part" -msgstr "" +msgstr "虚拟商品" -#: templates/js/translated/part.js:424 +#: templates/js/translated/part.js:435 msgid "Starred part" -msgstr "" +msgstr "已标记商品" -#: templates/js/translated/part.js:428 +#: templates/js/translated/part.js:439 msgid "Salable part" -msgstr "" +msgstr "可销售商品" -#: templates/js/translated/part.js:543 +#: templates/js/translated/part.js:554 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:732 templates/js/translated/part.js:994 +#: templates/js/translated/part.js:743 templates/js/translated/part.js:1005 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:921 +#: templates/js/translated/part.js:932 msgid "No category" -msgstr "" +msgstr "没有分类" -#: templates/js/translated/part.js:944 -#: templates/js/translated/table_filters.js:350 +#: templates/js/translated/part.js:955 +#: templates/js/translated/table_filters.js:359 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:1148 templates/js/translated/stock.js:1501 +#: templates/js/translated/part.js:1159 templates/js/translated/stock.js:1480 msgid "Path" msgstr "" -#: templates/js/translated/part.js:1191 +#: templates/js/translated/part.js:1202 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:1242 templates/js/translated/stock.js:514 +#: templates/js/translated/part.js:1253 templates/js/translated/stock.js:493 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:1243 templates/js/translated/stock.js:515 +#: templates/js/translated/part.js:1254 templates/js/translated/stock.js:494 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:1249 +#: templates/js/translated/part.js:1260 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:1274 +#: templates/js/translated/part.js:1282 +msgid "Edit Test Result Template" +msgstr "" + +#: templates/js/translated/part.js:1296 +msgid "Delete Test Result Template" +msgstr "" + +#: templates/js/translated/part.js:1321 #, python-brace-format msgid "No ${human_name} information found" msgstr "" -#: templates/js/translated/part.js:1329 +#: templates/js/translated/part.js:1376 #, python-brace-format msgid "Edit ${human_name}" msgstr "" -#: templates/js/translated/part.js:1330 +#: templates/js/translated/part.js:1377 #, python-brace-format msgid "Delete ${human_name}" msgstr "" -#: templates/js/translated/part.js:1431 +#: templates/js/translated/part.js:1478 msgid "Single Price" msgstr "" -#: templates/js/translated/part.js:1450 +#: templates/js/translated/part.js:1497 msgid "Single Price Difference" msgstr "" -#: templates/js/translated/stock.js:66 +#: templates/js/translated/stock.js:63 msgid "Parent stock location" msgstr "" -#: templates/js/translated/stock.js:96 +#: templates/js/translated/stock.js:93 msgid "Export Stock" msgstr "" -#: templates/js/translated/stock.js:99 -msgid "Format" -msgstr "" - -#: templates/js/translated/stock.js:100 -msgid "Select file format" -msgstr "" - -#: templates/js/translated/stock.js:124 +#: templates/js/translated/stock.js:104 msgid "Include Sublocations" msgstr "" -#: templates/js/translated/stock.js:125 +#: templates/js/translated/stock.js:105 msgid "Include stock items in sublocations" msgstr "" -#: templates/js/translated/stock.js:167 +#: templates/js/translated/stock.js:147 msgid "Transfer Stock" msgstr "" -#: templates/js/translated/stock.js:168 +#: templates/js/translated/stock.js:148 msgid "Move" msgstr "" -#: templates/js/translated/stock.js:174 +#: templates/js/translated/stock.js:154 msgid "Count Stock" msgstr "" -#: templates/js/translated/stock.js:175 +#: templates/js/translated/stock.js:155 msgid "Count" msgstr "" -#: templates/js/translated/stock.js:179 +#: templates/js/translated/stock.js:159 msgid "Remove Stock" msgstr "" -#: templates/js/translated/stock.js:180 +#: templates/js/translated/stock.js:160 msgid "Take" msgstr "" -#: templates/js/translated/stock.js:184 +#: templates/js/translated/stock.js:164 msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:185 users/models.py:190 +#: templates/js/translated/stock.js:165 users/models.py:195 msgid "Add" -msgstr "" +msgstr "添加" -#: templates/js/translated/stock.js:189 templates/stock_table.html:63 +#: templates/js/translated/stock.js:169 templates/stock_table.html:63 msgid "Delete Stock" msgstr "" -#: templates/js/translated/stock.js:278 +#: templates/js/translated/stock.js:258 msgid "Quantity cannot be adjusted for serialized stock" msgstr "" -#: templates/js/translated/stock.js:278 +#: templates/js/translated/stock.js:258 msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:314 +#: templates/js/translated/stock.js:298 msgid "You must select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:339 -msgid "Stock transaction notes" -msgstr "" - -#: templates/js/translated/stock.js:477 +#: templates/js/translated/stock.js:456 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:479 +#: templates/js/translated/stock.js:458 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:484 +#: templates/js/translated/stock.js:463 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:510 +#: templates/js/translated/stock.js:489 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:536 +#: templates/js/translated/stock.js:515 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:584 +#: templates/js/translated/stock.js:563 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:691 +#: templates/js/translated/stock.js:670 msgid "In production" -msgstr "" +msgstr "正在生产" -#: templates/js/translated/stock.js:695 +#: templates/js/translated/stock.js:674 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:703 +#: templates/js/translated/stock.js:678 +msgid "Shipped to customer" +msgstr "" + +#: templates/js/translated/stock.js:682 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:865 -msgid "Stock item is in production" -msgstr "" +#: templates/js/translated/stock.js:688 +msgid "No stock location set" +msgstr "未设置仓储地点" -#: templates/js/translated/stock.js:870 +#: templates/js/translated/stock.js:844 +msgid "Stock item is in production" +msgstr "库存品正在生产" + +#: templates/js/translated/stock.js:849 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:873 +#: templates/js/translated/stock.js:852 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:877 +#: templates/js/translated/stock.js:856 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:879 +#: templates/js/translated/stock.js:858 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:883 +#: templates/js/translated/stock.js:862 msgid "Stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:887 +#: templates/js/translated/stock.js:866 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:894 +#: templates/js/translated/stock.js:873 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:896 +#: templates/js/translated/stock.js:875 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:898 +#: templates/js/translated/stock.js:877 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:902 +#: templates/js/translated/stock.js:881 #: templates/js/translated/table_filters.js:161 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:956 +#: templates/js/translated/stock.js:935 msgid "Stocktake" msgstr "" -#: templates/js/translated/stock.js:1029 +#: templates/js/translated/stock.js:1008 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:1067 +#: templates/js/translated/stock.js:1046 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:1088 templates/js/translated/stock.js:1136 +#: templates/js/translated/stock.js:1067 templates/js/translated/stock.js:1115 msgid "items" msgstr "" -#: templates/js/translated/stock.js:1176 +#: templates/js/translated/stock.js:1155 msgid "batches" msgstr "" -#: templates/js/translated/stock.js:1203 +#: templates/js/translated/stock.js:1182 msgid "locations" msgstr "" -#: templates/js/translated/stock.js:1205 +#: templates/js/translated/stock.js:1184 msgid "Undefined location" msgstr "" -#: templates/js/translated/stock.js:1364 -msgid "Stock Status" -msgstr "" - -#: templates/js/translated/stock.js:1379 +#: templates/js/translated/stock.js:1358 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:1393 +#: templates/js/translated/stock.js:1372 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:1394 +#: templates/js/translated/stock.js:1373 msgid "Status code must be selected" msgstr "" -#: templates/js/translated/stock.js:1533 +#: templates/js/translated/stock.js:1512 msgid "Invalid date" msgstr "" -#: templates/js/translated/stock.js:1580 +#: templates/js/translated/stock.js:1559 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:1599 +#: templates/js/translated/stock.js:1578 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:1618 +#: templates/js/translated/stock.js:1597 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:1636 +#: templates/js/translated/stock.js:1615 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:1659 +#: templates/js/translated/stock.js:1638 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:1667 +#: templates/js/translated/stock.js:1646 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:1708 +#: templates/js/translated/stock.js:1687 msgid "Edit tracking entry" msgstr "" -#: templates/js/translated/stock.js:1709 +#: templates/js/translated/stock.js:1688 msgid "Delete tracking entry" msgstr "" -#: templates/js/translated/stock.js:1833 +#: templates/js/translated/stock.js:1812 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:1856 +#: templates/js/translated/stock.js:1835 msgid "Serial" msgstr "" -#: templates/js/translated/stock.js:1884 +#: templates/js/translated/stock.js:1863 msgid "Uninstall Stock Item" msgstr "" #: templates/js/translated/table_filters.js:56 msgid "Trackable Part" -msgstr "" +msgstr "可追溯商品" #: templates/js/translated/table_filters.js:60 msgid "Assembled Part" @@ -7808,7 +8034,7 @@ msgstr "" #: templates/js/translated/table_filters.js:103 #: templates/js/translated/table_filters.js:104 -#: templates/js/translated/table_filters.js:327 +#: templates/js/translated/table_filters.js:336 msgid "Include subcategories" msgstr "" @@ -7850,7 +8076,7 @@ msgid "Batch code" msgstr "" #: templates/js/translated/table_filters.js:141 -#: templates/js/translated/table_filters.js:317 +#: templates/js/translated/table_filters.js:326 msgid "Active parts" msgstr "" @@ -7884,11 +8110,11 @@ msgstr "" #: templates/js/translated/table_filters.js:171 msgid "In Production" -msgstr "" +msgstr "正在生产" #: templates/js/translated/table_filters.js:172 msgid "Show items which are in production" -msgstr "" +msgstr "显示正在生产的项目" #: templates/js/translated/table_filters.js:176 msgid "Include Variants" @@ -7933,91 +8159,91 @@ msgstr "" #: templates/js/translated/table_filters.js:263 msgid "Build status" -msgstr "" +msgstr "生产状态" -#: templates/js/translated/table_filters.js:282 -#: templates/js/translated/table_filters.js:299 +#: templates/js/translated/table_filters.js:291 +#: templates/js/translated/table_filters.js:308 msgid "Order status" msgstr "" -#: templates/js/translated/table_filters.js:287 -#: templates/js/translated/table_filters.js:304 +#: templates/js/translated/table_filters.js:296 +#: templates/js/translated/table_filters.js:313 msgid "Outstanding" msgstr "" -#: templates/js/translated/table_filters.js:328 +#: templates/js/translated/table_filters.js:337 msgid "Include parts in subcategories" msgstr "" -#: templates/js/translated/table_filters.js:332 +#: templates/js/translated/table_filters.js:341 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:333 +#: templates/js/translated/table_filters.js:342 msgid "Part has internal part number" -msgstr "" +msgstr "商品有内部编号" -#: templates/js/translated/table_filters.js:338 +#: templates/js/translated/table_filters.js:347 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:346 +#: templates/js/translated/table_filters.js:355 msgid "Stock available" msgstr "" -#: templates/js/translated/table_filters.js:362 +#: templates/js/translated/table_filters.js:371 msgid "Starred" msgstr "" -#: templates/js/translated/table_filters.js:374 +#: templates/js/translated/table_filters.js:383 msgid "Purchasable" msgstr "" -#: templates/js/translated/tables.js:357 +#: templates/js/translated/tables.js:366 msgid "Loading data" msgstr "" -#: templates/js/translated/tables.js:360 +#: templates/js/translated/tables.js:369 msgid "rows per page" msgstr "" -#: templates/js/translated/tables.js:363 +#: templates/js/translated/tables.js:372 msgid "Showing" msgstr "" -#: templates/js/translated/tables.js:363 +#: templates/js/translated/tables.js:372 msgid "to" msgstr "" -#: templates/js/translated/tables.js:363 +#: templates/js/translated/tables.js:372 msgid "of" msgstr "" -#: templates/js/translated/tables.js:363 +#: templates/js/translated/tables.js:372 msgid "rows" msgstr "" -#: templates/js/translated/tables.js:369 +#: templates/js/translated/tables.js:378 msgid "No matching results" msgstr "" -#: templates/js/translated/tables.js:372 +#: templates/js/translated/tables.js:381 msgid "Hide/Show pagination" msgstr "" -#: templates/js/translated/tables.js:375 +#: templates/js/translated/tables.js:384 msgid "Refresh" msgstr "" -#: templates/js/translated/tables.js:378 +#: templates/js/translated/tables.js:387 msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:381 +#: templates/js/translated/tables.js:390 msgid "Columns" msgstr "" -#: templates/js/translated/tables.js:384 +#: templates/js/translated/tables.js:393 msgid "All" msgstr "" @@ -8027,25 +8253,21 @@ msgstr "" #: templates/navbar.html:39 msgid "Buy" -msgstr "" +msgstr "采购" #: templates/navbar.html:51 msgid "Sell" -msgstr "" +msgstr "销售" -#: templates/navbar.html:87 users/models.py:39 +#: templates/navbar.html:83 users/models.py:39 msgid "Admin" -msgstr "" +msgstr "管理员" -#: templates/navbar.html:89 +#: templates/navbar.html:85 msgid "Logout" msgstr "" -#: templates/navbar.html:91 templates/registration/login.html:89 -msgid "Login" -msgstr "" - -#: templates/navbar.html:114 +#: templates/navbar.html:106 msgid "About InvenTree" msgstr "" @@ -8053,68 +8275,12 @@ msgstr "" msgid "QR data not provided" msgstr "" -#: templates/registration/logged_out.html:50 -msgid "You have been logged out" +#: templates/registration/logged_out.html:6 +msgid "You were logged out successfully." msgstr "" -#: templates/registration/logged_out.html:51 -#: templates/registration/password_reset_complete.html:51 -#: templates/registration/password_reset_done.html:58 -msgid "Return to login screen" -msgstr "" - -#: templates/registration/login.html:64 -msgid "Enter username" -msgstr "" - -#: templates/registration/login.html:70 -msgid "Password" -msgstr "" - -#: templates/registration/login.html:83 -msgid "Username / password combination is incorrect" -msgstr "" - -#: templates/registration/login.html:95 -#: templates/registration/password_reset_form.html:51 -msgid "Forgotten your password?" -msgstr "" - -#: templates/registration/login.html:95 -msgid "Click here to reset" -msgstr "" - -#: templates/registration/password_reset_complete.html:50 -msgid "Password reset complete" -msgstr "" - -#: templates/registration/password_reset_confirm.html:52 -#: templates/registration/password_reset_confirm.html:56 -msgid "Change password" -msgstr "" - -#: templates/registration/password_reset_confirm.html:60 -msgid "The password reset link was invalid, possibly because it has already been used. Please request a new password reset." -msgstr "" - -#: templates/registration/password_reset_done.html:51 -msgid "We've emailed you instructions for setting your password, if an account exists with the email you entered. You should receive them shortly." -msgstr "" - -#: templates/registration/password_reset_done.html:54 -msgid "If you don't receive an email, please make sure you've entered the address you registered with, and check your spam folder." -msgstr "" - -#: templates/registration/password_reset_form.html:52 -msgid "Enter your email address below." -msgstr "" - -#: templates/registration/password_reset_form.html:53 -msgid "An email will be sent with password reset instructions." -msgstr "" - -#: templates/registration/password_reset_form.html:58 -msgid "Send email" +#: templates/registration/logged_out.html:8 +msgid "Log in again" msgstr "" #: templates/stats.html:13 @@ -8159,23 +8325,27 @@ msgstr "" #: templates/stats.html:63 msgid "Email Settings" -msgstr "" +msgstr "电子邮件设置" #: templates/stats.html:66 msgid "Email settings not configured" -msgstr "" +msgstr "电子邮件设置未配置" #: templates/stock_table.html:14 msgid "Export Stock Information" msgstr "" +#: templates/stock_table.html:20 +msgid "New Stock Item" +msgstr "" + #: templates/stock_table.html:27 msgid "Barcode Actions" msgstr "" #: templates/stock_table.html:43 msgid "Print test reports" -msgstr "" +msgstr "打印测试报表" #: templates/stock_table.html:50 msgid "Stock Options" @@ -8219,65 +8389,65 @@ msgstr "" #: templates/yesnolabel.html:4 msgid "Yes" -msgstr "" +msgstr "确定" #: templates/yesnolabel.html:6 msgid "No" -msgstr "" +msgstr "取消" #: users/admin.py:64 msgid "Users" -msgstr "" +msgstr "用户" #: users/admin.py:65 msgid "Select which users are assigned to this group" -msgstr "" +msgstr "选择分配给该组的用户" #: users/admin.py:187 msgid "The following users are members of multiple groups:" -msgstr "" +msgstr "以下用户是多个群组的成员:" #: users/admin.py:210 msgid "Personal info" -msgstr "" +msgstr "个人资料" #: users/admin.py:211 msgid "Permissions" -msgstr "" +msgstr "权限" #: users/admin.py:214 msgid "Important dates" -msgstr "" +msgstr "重要日期" -#: users/models.py:177 +#: users/models.py:182 msgid "Permission set" -msgstr "" - -#: users/models.py:185 -msgid "Group" -msgstr "" - -#: users/models.py:188 -msgid "View" -msgstr "" - -#: users/models.py:188 -msgid "Permission to view items" -msgstr "" +msgstr "权限设置" #: users/models.py:190 +msgid "Group" +msgstr "群组" + +#: users/models.py:193 +msgid "View" +msgstr "视图" + +#: users/models.py:193 +msgid "Permission to view items" +msgstr "查看项目权限" + +#: users/models.py:195 msgid "Permission to add items" -msgstr "" +msgstr "添加项目权限" -#: users/models.py:192 +#: users/models.py:197 msgid "Change" -msgstr "" +msgstr "更改" -#: users/models.py:192 +#: users/models.py:197 msgid "Permissions to edit items" -msgstr "" +msgstr "编辑项目权限" -#: users/models.py:194 +#: users/models.py:199 msgid "Permission to delete items" -msgstr "" +msgstr "删除项目权限" diff --git a/InvenTree/part/templates/part/detail.html b/InvenTree/part/templates/part/detail.html index d240b53601..80762e437a 100644 --- a/InvenTree/part/templates/part/detail.html +++ b/InvenTree/part/templates/part/detail.html @@ -552,6 +552,7 @@ fields: fields, method: 'POST', title: '{% trans "Create BOM Item" %}', + focus: 'sub_part', onSuccess: function() { $('#bom-table').bootstrapTable('refresh'); } diff --git a/InvenTree/part/templatetags/inventree_extras.py b/InvenTree/part/templatetags/inventree_extras.py index ce4ead853a..dab7be6eb9 100644 --- a/InvenTree/part/templatetags/inventree_extras.py +++ b/InvenTree/part/templatetags/inventree_extras.py @@ -351,6 +351,12 @@ def object_link(url_name, pk, ref): return mark_safe('{}'.format(ref_url, ref)) +@register.simple_tag() +def mail_configured(): + """ Return if mail is configured """ + return bool(settings.EMAIL_HOST) + + class I18nStaticNode(StaticNode): """ custom StaticNode diff --git a/InvenTree/stock/templates/stock/item_base.html b/InvenTree/stock/templates/stock/item_base.html index 3addeacde2..798802ab81 100644 --- a/InvenTree/stock/templates/stock/item_base.html +++ b/InvenTree/stock/templates/stock/item_base.html @@ -583,16 +583,6 @@ $("#stock-delete").click(function () { ); }); -{% if item.in_stock %} - -$("#stock-assign-to-customer").click(function() { - launchModalForm("{% url 'stock-item-assign' item.id %}", - { - reload: true, - } - ); -}); - {% if item.part.can_convert %} $("#stock-convert").click(function() { launchModalForm("{% url 'stock-item-convert' item.id %}", @@ -603,6 +593,16 @@ $("#stock-convert").click(function() { }); {% endif %} + +{% if item.in_stock %} +$("#stock-assign-to-customer").click(function() { + launchModalForm("{% url 'stock-item-assign' item.id %}", + { + reload: true, + } + ); +}); + $("#stock-move").click(function() { itemAdjust("move"); }); diff --git a/InvenTree/templates/InvenTree/settings/login.html b/InvenTree/templates/InvenTree/settings/login.html new file mode 100644 index 0000000000..289f87a3c9 --- /dev/null +++ b/InvenTree/templates/InvenTree/settings/login.html @@ -0,0 +1,31 @@ +{% extends "panel.html" %} +{% load i18n %} +{% load inventree_extras %} + +{% block label %}login{% endblock %} + + +{% block heading %} +{% trans "Login Settings" %} +{% endblock %} + +{% block content %} + + + {% include "InvenTree/settings/header.html" %} + + {% include "InvenTree/settings/setting.html" with key="LOGIN_ENABLE_REG" icon="fa-info-circle" %} + {% include "InvenTree/settings/setting.html" with key="LOGIN_ENABLE_SSO" icon="fa-info-circle" %} + {% include "InvenTree/settings/setting.html" with key="LOGIN_ENABLE_PWD_FORGOT" icon="fa-info-circle" %} + {% include "InvenTree/settings/setting.html" with key="LOGIN_MAIL_REQUIRED" icon="fa-info-circle" %} + + + + + {% include "InvenTree/settings/setting.html" with key="LOGIN_SIGNUP_MAIL_TWICE" icon="fa-info-circle" %} + {% include "InvenTree/settings/setting.html" with key="LOGIN_SIGNUP_PWD_TWICE" icon="fa-info-circle" %} + {% include "InvenTree/settings/setting.html" with key="LOGIN_SIGNUP_SSO_AUTO" icon="fa-info-circle" %} + +
{% trans 'Signup' %}
+ +{% endblock %} diff --git a/InvenTree/templates/InvenTree/settings/navbar.html b/InvenTree/templates/InvenTree/settings/navbar.html index 095e616f5d..58673d6618 100644 --- a/InvenTree/templates/InvenTree/settings/navbar.html +++ b/InvenTree/templates/InvenTree/settings/navbar.html @@ -68,6 +68,12 @@ +
  • + + {% trans "Login" %} + +
  • +
  • {% trans "Barcodes" %} diff --git a/InvenTree/templates/InvenTree/settings/settings.html b/InvenTree/templates/InvenTree/settings/settings.html index 50ed436fd6..cdc1279620 100644 --- a/InvenTree/templates/InvenTree/settings/settings.html +++ b/InvenTree/templates/InvenTree/settings/settings.html @@ -25,6 +25,7 @@ {% if user.is_staff %} {% include "InvenTree/settings/global.html" %} +{% include "InvenTree/settings/login.html" %} {% include "InvenTree/settings/barcode.html" %} {% include "InvenTree/settings/currencies.html" %} {% include "InvenTree/settings/report.html" %} diff --git a/InvenTree/templates/InvenTree/settings/user.html b/InvenTree/templates/InvenTree/settings/user.html index 922e9ebc79..569b218b43 100644 --- a/InvenTree/templates/InvenTree/settings/user.html +++ b/InvenTree/templates/InvenTree/settings/user.html @@ -2,6 +2,8 @@ {% load i18n %} {% load inventree_extras %} +{% load socialaccount %} +{% load crispy_forms_tags %} {% block label %}account{% endblock %} @@ -10,6 +12,8 @@ {% endblock %} {% block content %} +{% mail_configured as mail_conf %} +
    {% trans "Edit" %} @@ -32,12 +36,119 @@ {% trans "Last Name" %} {{ user.last_name }} - - {% trans "Email Address" %} - {{ user.email }} - +
    +

    {% trans "E-Mail" %}

    +
    + +
    + {% if user.emailaddress_set.all %} +

    {% trans 'The following e-mail addresses are associated with your account:' %}

    + + + + {% else %} +

    {% trans 'Warning:'%} + {% trans "You currently do not have any e-mail address set up. You should really add an e-mail address so you can receive notifications, reset your password, etc." %} +

    + + {% endif %} + + {% if can_add_email %} +
    +

    {% trans "Add E-mail Address" %}

    + +
    + {% csrf_token %} + {{ add_email_form|crispy }} + +
    + {% endif %} +
    +
    + +
    +

    {% trans "Social Accounts" %}

    +
    + +
    + {% if social_form.accounts %} +

    {% blocktrans %}You can sign in to your account using any of the following third party accounts:{% endblocktrans %}

    + + +
    + {% csrf_token %} + +
    + {% if social_form.non_field_errors %} +
    {{ social_form.non_field_errors }}
    + {% endif %} + + {% for base_account in social_form.accounts %} + {% with base_account.get_provider_account as account %} +
    + +
    + {% endwith %} + {% endfor %} + +
    + +
    + +
    + +
    + + {% else %} +

    {% trans 'You currently have no social network accounts connected to this account.' %}

    + {% endif %} + +
    +

    {% trans 'Add a 3rd Party Account' %}

    +
    + {% include "socialaccount/snippets/provider_list.html" with process="connect" %} +
    + {% include "socialaccount/snippets/login_extra.html" %} +
    + +
    + +

    {% trans "Theme Settings" %}

    @@ -105,4 +216,18 @@
    +{% endblock %} + +{% block js_ready %} +(function() { + var message = "{% trans 'Do you really want to remove the selected e-mail address?' %}"; + var actions = document.getElementsByName('action_remove'); + if (actions.length) { + actions[0].addEventListener("click", function(e) { + if (! confirm(message)) { + e.preventDefault(); + } + }); + } +})(); {% endblock %} \ No newline at end of file diff --git a/InvenTree/templates/InvenTree/settings/user_forms.html b/InvenTree/templates/InvenTree/settings/user_forms.html index 121a0c7143..f5eecc574b 100644 --- a/InvenTree/templates/InvenTree/settings/user_forms.html +++ b/InvenTree/templates/InvenTree/settings/user_forms.html @@ -14,6 +14,7 @@
    + {% include "InvenTree/settings/setting.html" with key="FORMS_CLOSE_USING_ESCAPE" icon="fa-window-close" user_setting=True %} {% include "InvenTree/settings/setting.html" with key="PART_SHOW_QUANTITY_IN_FORMS" icon="fa-hashtag" user_setting=True %}
    diff --git a/InvenTree/templates/about.html b/InvenTree/templates/about.html index aaa14adce5..0744d6be8f 100644 --- a/InvenTree/templates/about.html +++ b/InvenTree/templates/about.html @@ -83,7 +83,7 @@ {% trans "Mobile App" %} -
    https://inventree.readthedocs.io/en/latest/app/app + {% inventree_docs_url %}/app/app diff --git a/InvenTree/templates/registration/password_reset_form.html b/InvenTree/templates/account/base.html similarity index 52% rename from InvenTree/templates/registration/password_reset_form.html rename to InvenTree/templates/account/base.html index 865a74ca1a..97ccec4bc5 100644 --- a/InvenTree/templates/registration/password_reset_form.html +++ b/InvenTree/templates/account/base.html @@ -1,6 +1,5 @@ {% load static %} {% load i18n %} -{% load crispy_forms_tags %} {% load inventree_extras %} @@ -12,57 +11,79 @@ + + - - - - - + - - {% inventree_title %} + {% inventree_title %} | {% block head_title %}{% endblock %} + +{% block extra_head %} +{% endblock %} + -
    + {% block extra_body %} + {% endblock %} - \ No newline at end of file + {% include 'notification.html' %} + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/InvenTree/templates/account/email_confirm.html b/InvenTree/templates/account/email_confirm.html new file mode 100644 index 0000000000..12b041f710 --- /dev/null +++ b/InvenTree/templates/account/email_confirm.html @@ -0,0 +1,31 @@ +{% extends "account/base.html" %} + +{% load i18n %} +{% load account %} + +{% block head_title %}{% trans "Confirm E-mail Address" %}{% endblock %} + + +{% block content %} +

    {% trans "Confirm E-mail Address" %}

    + +{% if confirmation %} + +{% user_display confirmation.email_address.user as user_display %} + +

    {% blocktrans with confirmation.email_address.email as email %}Please confirm that {{ email }} is an e-mail address for user {{ user_display }}.{% endblocktrans %}

    + +
    +{% csrf_token %} + +
    + +{% else %} + +{% url 'account_email' as email_url %} + +

    {% blocktrans %}This e-mail confirmation link expired or is invalid. Please issue a new e-mail confirmation request.{% endblocktrans %}

    + +{% endif %} + +{% endblock %} diff --git a/InvenTree/templates/account/login.html b/InvenTree/templates/account/login.html new file mode 100644 index 0000000000..d925867eb7 --- /dev/null +++ b/InvenTree/templates/account/login.html @@ -0,0 +1,52 @@ +{% extends "account/base.html" %} + +{% load i18n account socialaccount crispy_forms_tags inventree_extras %} + +{% block head_title %}{% trans "Sign In" %}{% endblock %} + +{% block content %} + +{% settings_value 'LOGIN_ENABLE_REG' as enable_reg %} +{% settings_value 'LOGIN_ENABLE_PWD_FORGOT' as enable_pwd_forgot %} +{% settings_value 'LOGIN_ENABLE_SSO' as enable_sso %} +{% mail_configured as mail_conf %} + +

    {% trans "Sign In" %}

    + +{% if enable_reg %} +{% get_providers as socialaccount_providers %} +{% if socialaccount_providers %} +

    {% blocktrans with site.name as site_name %}Please sign in with one +of your existing third party accounts or sign up +for a account and sign in below:{% endblocktrans %}

    +{% else %} +

    {% blocktrans %}If you have not created an account yet, then please +sign up first.{% endblocktrans %}

    +{% endif %} +{% endif %} + + + +{% if enable_sso %} +
    +

    {% trans 'or use SSO' %}

    +
    + {% include "socialaccount/snippets/provider_list.html" with process="login" %} +
    +{% include "socialaccount/snippets/login_extra.html" %} +{% endif %} + +{% endblock %} diff --git a/InvenTree/templates/account/logout.html b/InvenTree/templates/account/logout.html new file mode 100644 index 0000000000..58d32e4ab8 --- /dev/null +++ b/InvenTree/templates/account/logout.html @@ -0,0 +1,21 @@ +{% extends "account/base.html" %} + +{% load i18n %} + +{% block head_title %}{% trans "Sign Out" %}{% endblock %} + +{% block content %} +

    {% trans "Sign Out" %}

    + +

    {% trans 'Are you sure you want to sign out?' %}

    + +
    + {% csrf_token %} + {% if redirect_field_value %} + + {% endif %} + +
    + + +{% endblock %} diff --git a/InvenTree/templates/account/password_reset.html b/InvenTree/templates/account/password_reset.html new file mode 100644 index 0000000000..2cfb45a716 --- /dev/null +++ b/InvenTree/templates/account/password_reset.html @@ -0,0 +1,30 @@ +{% extends "account/base.html" %} + +{% load i18n account crispy_forms_tags inventree_extras %} + +{% block head_title %}{% trans "Password Reset" %}{% endblock %} + +{% block content %} + +{% settings_value 'LOGIN_ENABLE_PWD_FORGOT' as enable_pwd_forgot %} +{% mail_configured as mail_conf %} + +

    {% trans "Password Reset" %}

    + {% if user.is_authenticated %} + {% include "account/snippets/already_logged_in.html" %} + {% endif %} + + {% if mail_conf and enable_pwd_forgot %} +

    {% trans "Forgotten your password? Enter your e-mail address below, and we'll send you an e-mail allowing you to reset it." %}

    + +
    + {% csrf_token %} + {{ form|crispy }} + +
    + {% else %} +
    +

    {% trans "This function is currently disabled. Please contact an administrator." %}

    +
    + {% endif %} +{% endblock %} diff --git a/InvenTree/templates/account/password_reset_from_key.html b/InvenTree/templates/account/password_reset_from_key.html new file mode 100644 index 0000000000..f9fa339983 --- /dev/null +++ b/InvenTree/templates/account/password_reset_from_key.html @@ -0,0 +1,23 @@ +{% extends "account/base.html" %} + +{% load i18n crispy_forms_tags %} +{% block head_title %}{% trans "Change Password" %}{% endblock %} + +{% block content %} +

    {% if token_fail %}{% trans "Bad Token" %}{% else %}{% trans "Change Password" %}{% endif %}

    + + {% if token_fail %} + {% url 'account_reset_password' as passwd_reset_url %} +

    {% blocktrans %}The password reset link was invalid, possibly because it has already been used. Please request a new password reset.{% endblocktrans %}

    + {% else %} + {% if form %} +
    + {% csrf_token %} + {{ form|crispy }} + +
    + {% else %} +

    {% trans 'Your password is now changed.' %}

    + {% endif %} + {% endif %} +{% endblock %} diff --git a/InvenTree/templates/account/signup.html b/InvenTree/templates/account/signup.html new file mode 100644 index 0000000000..f2972ba30b --- /dev/null +++ b/InvenTree/templates/account/signup.html @@ -0,0 +1,40 @@ +{% extends "account/base.html" %} + +{% load i18n crispy_forms_tags inventree_extras %} + +{% block head_title %}{% trans "Signup" %}{% endblock %} + +{% block content %} +{% settings_value 'LOGIN_ENABLE_REG' as enable_reg %} +{% settings_value 'LOGIN_ENABLE_SSO' as enable_sso %} + +

    {% trans "Sign Up" %}

    + +

    {% blocktrans %}Already have an account? Then please sign in.{% endblocktrans %}

    + +{% if enable_reg %} + + +{% if enable_sso %} +
    +

    {% trans 'Or use a SSO-provider for signup' %}

    +
    + {% include "socialaccount/snippets/provider_list.html" with process="login" %} +
    +{% include "socialaccount/snippets/login_extra.html" %} +{% endif %} + +{% else %} +
    +

    {% trans "This function is currently disabled. Please contact an administrator." %}

    +
    +{% endif %} + +{% endblock %} diff --git a/InvenTree/templates/js/dynamic/inventree.js b/InvenTree/templates/js/dynamic/inventree.js index 1821c5ef70..0324d72e3c 100644 --- a/InvenTree/templates/js/dynamic/inventree.js +++ b/InvenTree/templates/js/dynamic/inventree.js @@ -177,6 +177,11 @@ function inventreeDocReady() { 'ui-autocomplete': 'dropdown-menu search-menu', }, }); + + // Generate brand-icons + $('.brand-icon').each(function(i, obj) { + loadBrandIcon($(this), $(this).attr('brand_name')); + }); } function isFileTransfer(transfer) { @@ -275,3 +280,13 @@ function inventreeLoad(name, defaultValue) { return value; } } + +function loadBrandIcon(element, name) { + // check if icon exists + var icon = window.FontAwesome.icon({prefix: 'fab', iconName: name}); + + if (icon) { + // add icon to button + element.addClass('fab fa-' + name); + } +} diff --git a/InvenTree/templates/js/translated/bom.js b/InvenTree/templates/js/translated/bom.js index ec37f71d15..3524bc5c40 100644 --- a/InvenTree/templates/js/translated/bom.js +++ b/InvenTree/templates/js/translated/bom.js @@ -35,6 +35,18 @@ function bomItemFields() { hidden: true, }, sub_part: { + secondary: { + title: '{% trans "New Part" %}', + fields: function() { + var fields = partFields(); + + // Set to a "component" part + fields.component.value = true; + + return fields; + }, + groups: partGroups(), + } }, quantity: {}, reference: {}, @@ -576,6 +588,7 @@ function loadBomTable(table, options) { constructForm(`/api/bom/${pk}/`, { fields: fields, title: '{% trans "Edit BOM Item" %}', + focus: 'sub_part', onSuccess: function() { reloadBomTable(table); } diff --git a/InvenTree/templates/js/translated/modals.js b/InvenTree/templates/js/translated/modals.js index 96e41fd6ec..f9658df559 100644 --- a/InvenTree/templates/js/translated/modals.js +++ b/InvenTree/templates/js/translated/modals.js @@ -43,7 +43,7 @@ function createNewModal(options={}) { }); var html = ` -
  • {% trans "Admin" %}
  • {% endif %} -
  • {% trans "Logout" %}
  • +
  • {% trans "Logout" %}
  • {% else %} -
  • {% trans "Login" %}
  • +
  • {% trans "Login" %}
  • {% endif %}
  • {% trans "Settings" %}
  • diff --git a/InvenTree/templates/registration/logged_out.html b/InvenTree/templates/registration/logged_out.html index 703e077f35..8b018fa7b4 100644 --- a/InvenTree/templates/registration/logged_out.html +++ b/InvenTree/templates/registration/logged_out.html @@ -1,59 +1,10 @@ -{% load static %} +{% extends "registration/logged_out.html" %} {% load i18n %} -{% load crispy_forms_tags %} -{% load inventree_extras %} - - - +{% block content %} - - - +

    {% translate "You were logged out successfully." %}

    - - - - - - +

    {% translate 'Log in again' %}

    - - - - - - - - {% inventree_title %} - - - - - - - - \ No newline at end of file +{% endblock %} diff --git a/InvenTree/templates/registration/login.html b/InvenTree/templates/registration/login.html deleted file mode 100644 index 7ea6668958..0000000000 --- a/InvenTree/templates/registration/login.html +++ /dev/null @@ -1,105 +0,0 @@ -{% load static %} -{% load i18n %} -{% load inventree_extras %} - - - - - - - - - - - - - - - - - - - - - - - - {% inventree_title %} - - - - - - - - - - \ No newline at end of file diff --git a/InvenTree/templates/registration/password_reset_complete.html b/InvenTree/templates/registration/password_reset_complete.html deleted file mode 100644 index f332e23d0e..0000000000 --- a/InvenTree/templates/registration/password_reset_complete.html +++ /dev/null @@ -1,59 +0,0 @@ -{% load static %} -{% load i18n %} -{% load crispy_forms_tags %} -{% load inventree_extras %} - - - - - - - - - - - - - - - - - - - - - - - - {% inventree_title %} - - - - - - - - \ No newline at end of file diff --git a/InvenTree/templates/registration/password_reset_confirm.html b/InvenTree/templates/registration/password_reset_confirm.html deleted file mode 100644 index cede63f770..0000000000 --- a/InvenTree/templates/registration/password_reset_confirm.html +++ /dev/null @@ -1,69 +0,0 @@ -{% load static %} -{% load i18n %} -{% load crispy_forms_tags %} -{% load inventree_extras %} - - - - - - - - - - - - - - - - - - - - - - - - {% inventree_title %} - - - - - - - - \ No newline at end of file diff --git a/InvenTree/templates/registration/password_reset_done.html b/InvenTree/templates/registration/password_reset_done.html deleted file mode 100644 index a097e518dd..0000000000 --- a/InvenTree/templates/registration/password_reset_done.html +++ /dev/null @@ -1,65 +0,0 @@ -{% load static %} -{% load i18n %} -{% load crispy_forms_tags %} -{% load inventree_extras %} - - - - - - - - - - - - - - - - - - - - - - - - {% inventree_title %} - - - - - - - - \ No newline at end of file diff --git a/InvenTree/templates/socialaccount/snippets/provider_list.html b/InvenTree/templates/socialaccount/snippets/provider_list.html new file mode 100644 index 0000000000..268134b35f --- /dev/null +++ b/InvenTree/templates/socialaccount/snippets/provider_list.html @@ -0,0 +1,17 @@ +{% load socialaccount %} + +{% get_providers as socialaccount_providers %} + +{% for provider in socialaccount_providers %} +{% if provider.id == "openid" %} +{% for brand in provider.get_brands %} + {{brand.name}} +{% endfor %} +{% endif %} + {{provider.name}} +{% endfor %} diff --git a/InvenTree/templates/stats.html b/InvenTree/templates/stats.html index 2d2a9ccbf7..df42576923 100644 --- a/InvenTree/templates/stats.html +++ b/InvenTree/templates/stats.html @@ -51,7 +51,7 @@ {% trans "Background Worker" %} - + {% trans "Background worker not running" %} @@ -62,7 +62,7 @@ {% trans "Email Settings" %} - + {% trans "Email settings not configured" %} diff --git a/InvenTree/users/models.py b/InvenTree/users/models.py index 179a70ed74..8a417a050d 100644 --- a/InvenTree/users/models.py +++ b/InvenTree/users/models.py @@ -67,7 +67,12 @@ class RuleSet(models.Model): 'report_billofmaterialsreport', 'report_purchaseorderreport', 'report_salesorderreport', - + 'account_emailaddress', + 'account_emailconfirmation', + 'sites_site', + 'socialaccount_socialaccount', + 'socialaccount_socialapp', + 'socialaccount_socialtoken', ], 'part_category': [ 'part_partcategory', diff --git a/ci/check_version_number.py b/ci/check_version_number.py index ca2dbd71c7..a338798a0c 100644 --- a/ci/check_version_number.py +++ b/ci/check_version_number.py @@ -9,6 +9,7 @@ import sys import re import os import argparse +import requests if __name__ == '__main__': @@ -16,9 +17,14 @@ if __name__ == '__main__': version_file = os.path.join(here, '..', 'InvenTree', 'InvenTree', 'version.py') + version = None + with open(version_file, 'r') as f: - results = re.findall(r'INVENTREE_SW_VERSION = "(.*)"', f.read()) + text = f.read() + + # Extract the InvenTree software version + results = re.findall(r'INVENTREE_SW_VERSION = "(.*)"', text) if not len(results) == 1: print(f"Could not find INVENTREE_SW_VERSION in {version_file}") @@ -26,6 +32,8 @@ if __name__ == '__main__': version = results[0] + print(f"InvenTree Version: '{version}'") + parser = argparse.ArgumentParser() parser.add_argument('-t', '--tag', help='Compare against specified version tag', action='store') parser.add_argument('-r', '--release', help='Check that this is a release version', action='store_true') @@ -57,6 +65,8 @@ if __name__ == '__main__': e.g. "0.5 dev" """ + print(f"Checking development branch") + pattern = "^\d+(\.\d+)+ dev$" result = re.match(pattern, version) @@ -71,6 +81,8 @@ if __name__ == '__main__': e.g. "0.5.1" """ + print(f"Checking release branch") + pattern = "^\d+(\.\d+)+$" result = re.match(pattern, version) @@ -84,4 +96,4 @@ if __name__ == '__main__': print(f"Release tag '{args.tag}' does not match INVENTREE_SW_VERSION '{version}'") sys.exit(1) -sys.exit(0) \ No newline at end of file +sys.exit(0) diff --git a/docker/Dockerfile b/docker/Dockerfile index e4ebbc1b4b..f2aa590ad1 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -68,7 +68,9 @@ RUN apk add --no-cache git make bash \ # PostgreSQL support postgresql postgresql-contrib postgresql-dev libpq \ # MySQL/MariaDB support - mariadb-connector-c mariadb-dev mariadb-client + mariadb-connector-c mariadb-dev mariadb-client \ + # Required for python cryptography support + rust cargo # Install required base-level python packages COPY requirements.txt requirements.txt diff --git a/requirements.txt b/requirements.txt index 68eb6797e5..24786cbd7a 100644 --- a/requirements.txt +++ b/requirements.txt @@ -35,5 +35,6 @@ python-barcode[images]==0.13.1 # Barcode generator qrcode[pil]==6.1 # QR code generator django-q==1.3.4 # Background task scheduling django-formtools==2.3 # Form wizard tools +django-allauth==0.45.0 # SSO for external providers via OpenID inventree # Install the latest version of the InvenTree API python library